Bug 407931
| Summary: | NULL pointer dereference: hotplug before vdso initialization during initrd | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Warren Togami <wtogami> |
| Component: | kernel | Assignee: | Kernel Maintainer List <kernel-maint> |
| Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | low | Docs Contact: | |
| Priority: | low | ||
| Version: | 8 | ||
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2009-01-09 05:23:48 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Warren Togami
2007-12-02 17:10:28 UTC
http://fedorapeople.org/~wtogami/temp/mkinitrd-kernel-oops/ SRPM and x86_64 build of mkinitrd that exposes this kernel bug. If you are running a different arch, simply rebuild the SRPM. So far I only know it happens on my x86_64 laptop, I haven't tested it on i386 yet. http://wtogami.livejournal.com/21452.html You can follow instructions from here in order to safely use the above experimental mkinitrd to expose this bug. Note that the system DOES boot even with the kernel oopses. It *is* a bug in this experimental mkinitrd, but according to hpa and riel this is a genuine kernel bug. Here are more debug tips: 1) yum install busybox Then mkinitrd will pull in busybox into the initrd so you have more utilities to use while debugging from the initrd shell. 2) Remove "quiet" and add "verbose shell" to your kernel args. This will display everything that is run as it happens, and drop to a shell before it boots the system. "busybox dmesg" Another thing... It isn't clear exactly where the kernel oops occurs or what initrd or nash is doing at the time of the oops. Because if you let it boot into the OS, then subsequently use dmesg, then you see the oopses after "Freeing initrd memory". But if you use "shell" arg and drop into the shell before it boots your system, you see the kernel oopses earlier during the initrd. I am a bit confused by this. pages is NULL here, implying vma->vm_private_data was NULL:
static struct page *special_mapping_nopage(struct vm_area_struct *vma,
unsigned long address, int *type)
{
struct page **pages;
BUG_ON(address < vma->vm_start || address >= vma->vm_end);
address -= vma->vm_start;
for (pages = vma->vm_private_data; address > 0 && *pages; ++pages)
address -= PAGE_SIZE;
===> if (*pages) {
struct page *page = *pages;
get_page(page);
return page;
}
return NOPAGE_SIGBUS;
}
Does booting with kernel option 'vdso=0' make any difference? vdso=0 avoids this kernel oops! hotplug is apparently being run before the vdso is initialized. Workaround: don't put an executable called /sbin/hotplug in the initrd. This message is a reminder that Fedora 8 is nearing its end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 8. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '8'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 8's end of life. Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 8 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug to the applicable version. If you are unable to change the version, please add a comment here and someone will do it for you. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping Fedora 8 changed to end-of-life (EOL) status on 2009-01-07. Fedora 8 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. Thank you for reporting this bug and we are sorry it could not be fixed. |