From 02739e5262e4fb873a11d390596470207565fd88 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Thu, 5 Oct 2006 20:03:15 +0000 Subject: [PATCH] * Apply patch from Chaskiel Grundman to fix kernel panics when loading the kernel module into AMD64 2.6.18 kernels. (Closes: #390653) --- debian/changelog | 4 +++- src/afs/LINUX/osi_probe.c | 9 +++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 90eaa1acf..e31bb8820 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,11 +1,13 @@ openafs (1.4.2~fc4-3) unstable; urgency=low + * Apply patch from Chaskiel Grundman to fix kernel panics when loading + the kernel module into AMD64 2.6.18 kernels. (Closes: #390653) * Apply upstream patch to fix klog segfaults. (Closes: #390940) * The UTS_RELEASE string is no longer found in linux/version.h in 2.6.18, so fall back on looking in config/kernel.release. Thanks to Marcus Watts for the patch. - -- Russ Allbery Wed, 4 Oct 2006 11:52:20 -0700 + -- Russ Allbery Thu, 5 Oct 2006 13:02:50 -0700 openafs (1.4.2~fc4-2) unstable; urgency=low diff --git a/src/afs/LINUX/osi_probe.c b/src/afs/LINUX/osi_probe.c index 20acb39e1..48c7c93ef 100644 --- a/src/afs/LINUX/osi_probe.c +++ b/src/afs/LINUX/osi_probe.c @@ -1009,6 +1009,11 @@ static void *try(probectl *P, tryctl *T, PROBETYPE *aptr, #else ptr = aptr; #endif + if ((unsigned long)ptr < init_mm.start_code || + (unsigned long)ptr > init_mm.end_data) { + continue; + } + ret = check_table(P, ptr); if (ret >= 0) { /* return value is number of entries to skip */ @@ -1113,6 +1118,10 @@ static void *try_harder(probectl *P, PROBETYPE *ptr, unsigned long datalen) printk("<7>osi_probe: %s try_harder\n", P->symbol); #endif for (offset = 0; offset < datalen; offset++, ptr++) { + if ((unsigned long)ptr < init_mm.start_code || + (unsigned long)ptr > init_mm.end_data) { + continue; + } ret = check_table(P, ptr); if (ret >= 0) { /* return value is number of entries to skip */ -- 2.39.5