From: Patrick Steinhardt Date: Thu, 21 Apr 2022 05:24:17 +0000 (+1000) Subject: mm: Drop unused unloading of modules on OOM X-Git-Tag: grub-2.12-rc1~326 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=139fd9b134a01e0b5fe0ebefafa7f48d1ffb6d60;p=thirdparty%2Fgrub.git mm: Drop unused unloading of modules on OOM In grub_memalign(), there's a commented section which would allow for unloading of unneeded modules in case where there is not enough free memory available to satisfy a request. Given that this code is never compiled in, let's remove it together with grub_dl_unload_unneeded(). Signed-off-by: Patrick Steinhardt Signed-off-by: Daniel Axtens Reviewed-by: Daniel Kiper Tested-by: Patrick Steinhardt --- diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c index b1d3a103e..e447fd0fa 100644 --- a/grub-core/kern/dl.c +++ b/grub-core/kern/dl.c @@ -811,23 +811,3 @@ grub_dl_unload (grub_dl_t mod) grub_free (mod); return 1; } - -/* Unload unneeded modules. */ -void -grub_dl_unload_unneeded (void) -{ - /* Because grub_dl_remove modifies the list of modules, this - implementation is tricky. */ - grub_dl_t p = grub_dl_head; - - while (p) - { - if (grub_dl_unload (p)) - { - p = grub_dl_head; - continue; - } - - p = p->next; - } -} diff --git a/grub-core/kern/mm.c b/grub-core/kern/mm.c index 43d4e609f..e859772ab 100644 --- a/grub-core/kern/mm.c +++ b/grub-core/kern/mm.c @@ -444,14 +444,6 @@ grub_memalign (grub_size_t align, grub_size_t size) count++; goto again; -#if 0 - case 1: - /* Unload unneeded modules. */ - grub_dl_unload_unneeded (); - count++; - goto again; -#endif - default: break; } diff --git a/include/grub/dl.h b/include/grub/dl.h index d0f4115fe..acb4d4232 100644 --- a/include/grub/dl.h +++ b/include/grub/dl.h @@ -203,7 +203,6 @@ grub_dl_t EXPORT_FUNC(grub_dl_load) (const char *name); grub_dl_t grub_dl_load_core (void *addr, grub_size_t size); grub_dl_t EXPORT_FUNC(grub_dl_load_core_noinit) (void *addr, grub_size_t size); int EXPORT_FUNC(grub_dl_unload) (grub_dl_t mod); -extern void grub_dl_unload_unneeded (void); extern int EXPORT_FUNC(grub_dl_ref) (grub_dl_t mod); extern int EXPORT_FUNC(grub_dl_unref) (grub_dl_t mod); extern int EXPORT_FUNC(grub_dl_ref_count) (grub_dl_t mod);