linux/drivers/md
Andre Noll f1cd14ae52 md: linear: Fix a division by zero bug for very small arrays.
We currently oops with a divide error on starting a linear software
raid array consisting of at least two very small (< 500K) devices.

The bug is caused by the calculation of the hash table size which
tries to compute sector_div(sz, base) with "base" being zero due to
the small size of the component devices of the array.

Fix this by requiring the hash spacing to be at least one which
implies that also "base" is non-zero.

This bug has existed since about 2.6.14.

Cc: stable@kernel.org
Signed-off-by: Andre Noll <maan@systemlinux.org>
Signed-off-by: NeilBrown <neilb@suse.de>
2008-11-06 19:41:24 +11:00
..
raid6test md: raid6: clean up the style of raid6test/test.c 2008-02-06 10:41:18 -08:00
.gitignore gitignore: misc files 2006-01-01 22:21:50 +01:00
bitmap.c Fix problem with waiting while holding rcu read lock in md/bitmap.c 2008-09-01 12:48:13 +10:00
dm-bio-list.h dm: bio_list macro renaming 2007-10-20 02:01:11 +01:00
dm-bio-record.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-crypt.c dm crypt: remove waitqueue 2008-10-21 17:45:03 +01:00
dm-delay.c dm: remove dm header from targets 2008-10-21 17:44:59 +01:00
dm-exception-store.c dm: remove dm header from targets 2008-10-21 17:44:59 +01:00
dm-io.c dm: remove dm header from targets 2008-10-21 17:44:59 +01:00
dm-ioctl.c [PATCH] introduce fmode_t, do annotations 2008-10-21 07:47:06 -04:00
dm-kcopyd.c dm: remove dm header from targets 2008-10-21 17:44:59 +01:00
dm-linear.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/viro/bdev 2008-10-23 10:23:07 -07:00
dm-log.c dm: remove dm header from targets 2008-10-21 17:44:59 +01:00
dm-mpath.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/viro/bdev 2008-10-23 10:23:07 -07:00
dm-mpath.h dm mpath: remove is_active from struct dm_path 2008-10-10 13:36:58 +01:00
dm-path-selector.c dm: remove dm header from targets 2008-10-21 17:44:59 +01:00
dm-path-selector.h [PATCH] struct path: rename DM's struct path 2006-12-08 08:28:40 -08:00
dm-raid1.c dm raid1: fix do_failures 2008-10-30 13:33:07 +00:00
dm-region-hash.c dm raid1: separate region_hash interface part1 2008-10-21 17:45:06 +01:00
dm-round-robin.c dm: remove dm header from targets 2008-10-21 17:44:59 +01:00
dm-snap.c dm snapshot: wait for chunks in destructor 2008-10-30 13:33:16 +00:00
dm-snap.h dm snapshot: wait for chunks in destructor 2008-10-30 13:33:16 +00:00
dm-stripe.c dm: remove dm header from targets 2008-10-21 17:44:59 +01:00
dm-table.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/viro/bdev 2008-10-23 10:23:07 -07:00
dm-target.c dm: use kzalloc 2007-10-20 02:01:07 +01:00
dm-uevent.c md: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
dm-uevent.h dm: uevent generate events 2007-10-20 02:01:26 +01:00
dm-zero.c dm: remove dm header from targets 2008-10-21 17:44:59 +01:00
dm.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/viro/bdev 2008-10-23 10:23:07 -07:00
dm.h dm: publish array_too_big 2008-10-21 17:44:57 +01:00
faulty.c md: check for memory allocation failure in faulty personality 2008-10-16 14:16:53 +11:00
Kconfig raid, fastboot: hide RAID autodetect option if MD is compiled as a module 2008-10-12 08:25:14 -07:00
linear.c md: linear: Fix a division by zero bug for very small arrays. 2008-11-06 19:41:24 +11:00
Makefile dm raid1: separate region_hash interface part1 2008-10-21 17:45:06 +01:00
md.c md: revert the recent addition of a call to the BLKRRPART ioctl. 2008-11-06 17:28:01 +11:00
mktables.c md: raid6: Fix mktable.c 2008-02-06 10:41:18 -08:00
multipath.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-10-17 09:00:23 -07:00
raid0.c md: Remove unnecessary #includes, #defines, and function declarations. 2008-10-13 11:55:12 +11:00
raid1.c md: build failure due to missing delay.h 2008-10-15 21:57:05 +11:00
raid5.c md: Relax minimum size restrictions on chunk_size. 2008-10-13 11:55:12 +11:00
raid6.h md: Remove unnecessary #includes, #defines, and function declarations. 2008-10-13 11:55:12 +11:00
raid6algos.c drivers/md: use time_before, time_before_eq, etc 2008-04-28 08:58:42 -07:00
raid6altivec.uc [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
raid6int.uc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6mmx.c x86 merge fallout: uml 2007-10-29 07:41:32 -07:00
raid6recov.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6sse1.c x86 merge fallout: uml 2007-10-29 07:41:32 -07:00
raid6sse2.c x86 merge fallout: uml 2007-10-29 07:41:32 -07:00
raid6x86.h x86 merge fallout: uml 2007-10-29 07:41:32 -07:00
raid10.c md: fix bug in raid10 recovery. 2008-11-06 17:28:20 +11:00
unroll.pl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00