Re: 2.6.21-rc6-mm1

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Nishanth Aravamudan
Date: Monday, April 9, 2007 - 5:50 pm

On 08.04.2007 [14:35:59 -0700], Andrew Morton wrote:

Get this Oops:

Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP: 
 [<ffffffff802f9320>] hugetlbfs_set_page_dirty+0x4/0xc
PGD 414e067 PUD 4198067 PMD 0 
Oops: 0002 [1] SMP 
last sysfs file: devices/system/node/node0/cpumap
CPU 1 
Modules linked in: ipv6 hidp rfcomm l2cap bluetooth sunrpc video button battery asus_acpi ac lp parport_pc parport nvram amd_rng rng_core i2c_amd756 i2c_core
Pid: 6053, comm: readback Not tainted 2.6.21-rc6-mm1-autokern1 #1
RIP: 0010:[<ffffffff802f9320>]  [<ffffffff802f9320>] hugetlbfs_set_page_dirty+0x4/0xc
RSP: 0018:ffff810004145d90  EFLAGS: 00010282
RAX: 0000000000000000 RBX: ffff81003f1ad000 RCX: 000000000000003f
RDX: ffff810004771dc0 RSI: ffff810004145db0 RDI: ffff81003f1ad000
RBP: 8000000007800040 R08: 0000000001258020 R09: ffff81000160ad84
R10: 0000000000000282 R11: ffffffff802f931c R12: ffff8100035db7c0
R13: ffff810003675c38 R14: 00002aaaaae00000 R15: ffff810001022820
FS:  00002ac8d0bd6590(0000) GS:ffff81000160acc0(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000000 CR3: 00000000047b7000 CR4: 00000000000006e0
Process readback (pid: 6053, threadinfo ffff810004144000, task ffff81000177b140)
Stack:  ffffffff80283f95 ffff810004145d98 ffff810004145d98 ffff810000000000
 00002aaaaac00000 ffff810003675c38 00002aaaaae00000 00002aaaaac00000
 ffff8100047b68b8 00000036d5f18000 ffffffff80284060 ffff81003fc066c0
Call Trace:
 [<ffffffff80283f95>] __unmap_hugepage_range+0xcf/0x163
 [<ffffffff80284060>] unmap_hugepage_range+0x37/0x57
 [<ffffffff802761e4>] unmap_vmas+0xf6/0x744
 [<ffffffff8027a197>] exit_mmap+0x78/0xed
 [<ffffffff802313bc>] mmput+0x45/0xb7
 [<ffffffff80236636>] do_exit+0x23d/0x811
 [<ffffffff80236c86>] sys_exit_group+0x0/0xe
 [<ffffffff80209b6e>] system_call+0x7e/0x83


Code: f0 0f ba 28 04 31 c0 c3 48 89 c8 48 c7 c1 5f 9b 2f 80 48 89 
RIP  [<ffffffff802f9320>] hugetlbfs_set_page_dirty+0x4/0xc
 RSP <ffff810004145d90>
CR2: 0000000000000000
Fixing recursive fault but reboot is needed!

<snip>

Steve Fox narrowed it down to between
mm-clean-up-and-kernelify-shrinker-registration.patch (good) and
file-capabilities-accomodate-future-64-bit-caps.patch (bad). Without
testing yet, I'm betting it is:


I am not sure if there are other users of page_private() that were
missed that are also compound pages, but probably the attached will fix
this case?

Thanks,
Nish

Christoph Lameter's rework of the use of private member of struct page
missed the hugetlbfs dirtying function.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>

---
Only compile-tested so far (on x86_64).

diff -urpN 2.6.21-rc6-mm1/fs/hugetlbfs/inode.c 2.6.21-rc6-mm1-dev/fs/hugetlbfs/inode.c
--- 2.6.21-rc6-mm1/fs/hugetlbfs/inode.c	2007-04-09 17:17:16.000000000 -0700
+++ 2.6.21-rc6-mm1-dev/fs/hugetlbfs/inode.c	2007-04-09 17:42:41.000000000 -0700
@@ -450,7 +450,7 @@ static int hugetlbfs_symlink(struct inod
  */
 static int hugetlbfs_set_page_dirty(struct page *page)
 {
-	struct page *head = (struct page *)page_private(page);
+	struct page *head = compound_head(page);
 
 	SetPageDirty(head);
 	return 0;

-- 
Nishanth Aravamudan <nacc@us.ibm.com>
IBM Linux Technology Center
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
2.6.21-rc6-mm1, Andrew Morton, (Sun Apr 8, 2:35 pm)
Re: 2.6.21-rc6-mm1, Borislav Petkov, (Mon Apr 9, 4:13 am)
Re: 2.6.21-rc6-mm1, Rafael J. Wysocki, (Mon Apr 9, 9:08 am)
RE: 2.6.21-rc6-mm1, Pallipadi, Venkatesh, (Mon Apr 9, 9:14 am)
Re: 2.6.21-rc6-mm1, Rafael J. Wysocki, (Mon Apr 9, 10:40 am)
Re: 2.6.21-rc6-mm1, Torsten Kaiser, (Mon Apr 9, 12:03 pm)
Re: 2.6.21-rc6-mm1, Nishanth Aravamudan, (Mon Apr 9, 5:50 pm)
Re: 2.6.21-rc6-mm1, Christoph Lameter, (Mon Apr 9, 5:56 pm)
Re: 2.6.21-rc6-mm1, William Lee Irwin III, (Mon Apr 9, 6:07 pm)
Re: 2.6.21-rc6-mm1 ima &quot;BUG: held lock freed!&quot;, Joseph Fannin, (Tue Apr 10, 4:28 am)
Re: 2.6.21-rc6-mm1, Cornelia Huck, (Tue Apr 10, 5:24 am)
Re: 2.6.21-rc6-mm1, Ananth N Mavinakayan ..., (Tue Apr 10, 5:38 am)
[-mm patch] make struct proc_kpagemap static, Adrian Bunk, (Tue Apr 10, 2:08 pm)
[-mm patch] make kernel/module.c:is_exported() static, Adrian Bunk, (Tue Apr 10, 2:08 pm)
[RFC: -mm patch] fs/ocfs2/: make 3 functions static, Adrian Bunk, (Tue Apr 10, 2:08 pm)
Re: [-mm patch] make struct proc_kpagemap static, Matt Mackall, (Tue Apr 10, 2:09 pm)
Re: 2.6.21-rc6-mm1, Venki Pallipadi, (Tue Apr 10, 3:20 pm)
Re: 2.6.21-rc6-mm1 aacraid not finding device, Steve Fox, (Tue Apr 10, 3:21 pm)
Re: 2.6.21-rc6-mm1, Rafael J. Wysocki, (Wed Apr 11, 12:28 pm)
Re: 2.6.21-rc6-mm1 USB related boot hang, Helge Hafting, (Wed Apr 11, 12:42 pm)
Re: 2.6.21-rc6-mm1 USB related boot hang, Andrew Morton, (Wed Apr 11, 1:43 pm)
Re: 2.6.21-rc6-mm1 USB related boot hang, Helge Hafting, (Wed Apr 11, 4:07 pm)
Re: 2.6.21-rc6-mm1 USB related boot hang, Andrew Morton, (Wed Apr 11, 4:25 pm)
Re: 2.6.21-rc6-mm1 USB related boot hang, Jiri Kosina, (Thu Apr 12, 12:50 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Jiri Kosina, (Thu Apr 12, 1:02 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Helge Hafting, (Thu Apr 12, 4:42 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Jiri Kosina, (Thu Apr 12, 8:31 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Corey Minyard, (Thu Apr 12, 9:01 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Andrew Morton, (Thu Apr 12, 9:47 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Andrew Morton, (Thu Apr 12, 9:55 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Greg KH, (Thu Apr 12, 10:25 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Jiri Kosina, (Thu Apr 12, 10:49 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Greg KH, (Thu Apr 12, 10:58 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Jiri Kosina, (Thu Apr 12, 11:17 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Jiri Kosina, (Thu Apr 12, 11:32 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Helge Hafting, (Thu Apr 12, 11:56 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Helge Hafting, (Thu Apr 12, 12:22 pm)
Re: 2.6.21-rc6-mm1 USB related boot hang, Helge Hafting, (Thu Apr 12, 1:19 pm)
Re: 2.6.21-rc6-mm1 USB related boot hang, Helge Hafting, (Thu Apr 12, 1:25 pm)
Re: 2.6.21-rc6-mm1 USB related boot hang, Corey Minyard, (Thu Apr 12, 2:06 pm)
Re: 2.6.21-rc6-mm1 USB related boot hang, Jiri Kosina, (Thu Apr 12, 4:16 pm)
Re: 2.6.21-rc6-mm1, J.A. , (Tue Apr 24, 1:10 am)
Re: 2.6.21-rc6-mm1, Andrew Morton, (Tue Apr 24, 4:58 am)
Re: 2.6.21-rc6-mm1, J.A. , (Tue Apr 24, 6:43 am)
Re: 2.6.21-rc6-mm1, Andrew Morton, (Tue Apr 24, 10:22 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Helge Hafting, (Wed Apr 25, 2:54 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Jiri Kosina, (Wed Apr 25, 4:28 am)
Re: 2.6.21-rc6-mm1 USB related boot hang, Helge Hafting, (Wed Apr 25, 5:45 am)
Re: 2.6.21-rc6-mm1, J.A. , (Wed Apr 25, 1:50 pm)
start_udev and devpts [Re: 2.6.21-rc6-mm1], J.A. , (Wed Apr 25, 2:39 pm)
Re: 2.6.21-rc6-mm1 USB related boot hang, Helge Hafting, (Thu Apr 26, 11:38 am)