mirror of
https://git.yoctoproject.org/poky
synced 2026-04-19 06:32:13 +02:00
module-init-tools: fix depmod caused segfault issue
memset is required after malloc in grab_module, or else random segfault may happen. The fix is from Mark Hatle <mark.hatle@windriver.com>. Upstream bug is reported as: https://bugzilla.kernel.org/show_bug.cgi?id=16528 Signed-off-by: Kevin Tian <kevin.tian@intel.com>
This commit is contained in:
committed by
Richard Purdie
parent
45d237b3bf
commit
f4cb0870ac
@@ -0,0 +1,19 @@
|
||||
# this patch is from Mark Hatle <mark.hatle@windriver.com>, who ran into
|
||||
# a random segfault using the latest module-init-tools (3.12) and finally
|
||||
# trace back to depmod.c:grab_module, which appears that the new malloc(...)
|
||||
# setups up things, but never clears the memory that was just allocated.
|
||||
#
|
||||
# Kevin Tian <kevin.tian@intel.com>, 2010-08-06
|
||||
|
||||
diff --git a/depmod.c b/depmod.c
|
||||
index 647e5e6..46e03e0 100644
|
||||
--- a/depmod.c
|
||||
+++ b/depmod.c
|
||||
@@ -313,6 +313,7 @@ static struct module *grab_module(const char *dirname, const char *filename)
|
||||
|
||||
new = NOFAIL(malloc(sizeof(*new)
|
||||
+ strlen(dirname?:"") + 1 + strlen(filename) + 1));
|
||||
+ memset(new, 0x00, sizeof(*new) + strlen(dirname?:"") + 1 + strlen(filename) + 1);
|
||||
if (dirname)
|
||||
sprintf(new->pathname, "%s/%s", dirname, filename);
|
||||
else
|
||||
@@ -1,5 +1,5 @@
|
||||
require module-init-tools.inc
|
||||
PR = "r0"
|
||||
PR = "r1"
|
||||
inherit cross
|
||||
PROVIDES += "virtual/${TARGET_PREFIX}depmod virtual/${TARGET_PREFIX}depmod-2.6"
|
||||
|
||||
|
||||
@@ -13,7 +13,8 @@ FILES_module-init-tools-insmod-static = "${sbindir}/insmod.static"
|
||||
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/kernel/module-init-tools/module-init-tools-${PV}.tar.bz2 \
|
||||
file://ignore_arch_directory.patch \
|
||||
file://modutils_extension.patch \
|
||||
file://disable_man.patch"
|
||||
file://disable_man.patch \
|
||||
file://grab_module_memset.patch"
|
||||
|
||||
inherit autotools
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
require module-init-tools.inc
|
||||
PR = "r0"
|
||||
PR = "r1"
|
||||
|
||||
# autotools set prefix to /usr, however we want them in /bin and /sbin
|
||||
bindir = "/bin"
|
||||
|
||||
Reference in New Issue
Block a user