1
0
Files
linux/mm
Hugh Dickins 14fcc23fdc tmpfs: fix kernel BUG in shmem_delete_inode
SuSE's insserve initscript ordering program hits kernel BUG at mm/shmem.c:814
on 2.6.26.  It's using posix_fadvise on directories, and the shmem_readpage
method added in 2.6.23 is letting POSIX_FADV_WILLNEED allocate useless pages
to a tmpfs directory, incrementing i_blocks count but never decrementing it.

Fix this by assigning shmem_aops (pointing to readpage and writepage and
set_page_dirty) only when it's needed, on a regular file or a long symlink.

Many thanks to Kel for outstanding bugreport and steps to reproduce it.

Reported-by: Kel Modderman <kel@otaku42.de>
Tested-by: Kel Modderman <kel@otaku42.de>
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Cc: <stable@kernel.org>		[2.6.25.x, 2.6.26.x]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-28 16:30:20 -07:00
..
2008-03-19 18:53:35 -07:00
2008-07-19 22:39:46 -07:00
2008-07-26 12:00:01 -07:00
2008-07-24 10:47:17 -07:00
2008-07-26 12:00:06 -07:00
2008-07-25 10:53:37 -07:00
2007-10-20 01:27:18 +02:00
2008-07-26 12:00:06 -07:00
2008-04-28 08:58:18 -07:00
2008-07-24 10:47:17 -07:00
2007-10-18 14:37:31 -07:00
2007-05-21 09:18:19 -07:00
2008-02-05 09:44:19 -08:00
2008-07-26 12:00:06 -07:00
2008-06-12 18:05:41 -07:00
2007-10-20 01:27:18 +02:00
2008-07-26 12:00:06 -07:00
2008-07-04 10:40:04 -07:00
2008-07-26 12:00:12 -07:00
2008-07-26 12:00:06 -07:00
2008-07-26 12:00:07 -07:00
2008-07-26 12:00:06 -07:00
2008-07-24 10:47:14 -07:00