Revision 294f6cf48666825d23c9372ef37631232746e40d authored by Timo Warns on 25 February 2011, 22:44:21 UTC, committed by Linus Torvalds on 25 February 2011, 23:07:36 UTC
The kernel automatically evaluates partition tables of storage devices.
The code for evaluating LDM partitions (in fs/partitions/ldm.c) contains
a bug that causes a kernel oops on certain corrupted LDM partitions.  A
kernel subsystem seems to crash, because, after the oops, the kernel no
longer recognizes newly connected storage devices.

The patch changes ldm_parse_vmdb() to Validate the value of vblk_size.

Signed-off-by: Timo Warns <warns@pre-sense.de>
Cc: Eugene Teo <eugeneteo@kernel.sg>
Acked-by: Richard Russon <ldm@flatcap.org>
Cc: Harvey Harrison <harvey.harrison@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 2876592
Raw File
Kconfig.debug
config DEBUG_PAGEALLOC
	bool "Debug page memory allocations"
	depends on DEBUG_KERNEL && ARCH_SUPPORTS_DEBUG_PAGEALLOC
	depends on !HIBERNATION || !PPC && !SPARC
	depends on !KMEMCHECK
	---help---
	  Unmap pages from the kernel linear mapping after free_pages().
	  This results in a large slowdown, but helps to find certain types
	  of memory corruption.

config WANT_PAGE_DEBUG_FLAGS
	bool

config PAGE_POISONING
	bool "Debug page memory allocations"
	depends on DEBUG_KERNEL && !ARCH_SUPPORTS_DEBUG_PAGEALLOC
	depends on !HIBERNATION
	select DEBUG_PAGEALLOC
	select WANT_PAGE_DEBUG_FLAGS
	---help---
	   Fill the pages with poison patterns after free_pages() and verify
	   the patterns before alloc_pages(). This results in a large slowdown,
	   but helps to find certain types of memory corruption.

	   This option cannot be enabled in combination with hibernation as
	   that would result in incorrect warnings of memory corruption after
	   a resume because free pages are not saved to the suspend image.
back to top