f1cd14ae52
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> |
||
---|---|---|
.. | ||
raid6test | ||
.gitignore | ||
bitmap.c | ||
dm-bio-list.h | ||
dm-bio-record.h | ||
dm-crypt.c | ||
dm-delay.c | ||
dm-exception-store.c | ||
dm-io.c | ||
dm-ioctl.c | ||
dm-kcopyd.c | ||
dm-linear.c | ||
dm-log.c | ||
dm-mpath.c | ||
dm-mpath.h | ||
dm-path-selector.c | ||
dm-path-selector.h | ||
dm-raid1.c | ||
dm-region-hash.c | ||
dm-round-robin.c | ||
dm-snap.c | ||
dm-snap.h | ||
dm-stripe.c | ||
dm-table.c | ||
dm-target.c | ||
dm-uevent.c | ||
dm-uevent.h | ||
dm-zero.c | ||
dm.c | ||
dm.h | ||
faulty.c | ||
Kconfig | ||
linear.c | ||
Makefile | ||
md.c | ||
mktables.c | ||
multipath.c | ||
raid0.c | ||
raid1.c | ||
raid5.c | ||
raid6.h | ||
raid6algos.c | ||
raid6altivec.uc | ||
raid6int.uc | ||
raid6mmx.c | ||
raid6recov.c | ||
raid6sse1.c | ||
raid6sse2.c | ||
raid6x86.h | ||
raid10.c | ||
unroll.pl |