android_kernel_xiaomi_sm8350/drivers/md
NeilBrown 5c4c33318d [PATCH] md: fix possible oops when starting a raid0 array
This loop that sets up the hash_table has problems.

Careful examination will show that the last time through, everything but
the first line is pointless.  This is because all it does is change 'cur'
and 'size' and neither of these are used after the loop.  This should ring
warning bells...  That last time through the loop,

        size += conf->strip_zone[cur].size

can index off the end of the strip_zone array.  Depending on what it finds
there, it might exit the loop cleanly, or it might spin going further and
further beyond the array until it hits an unmapped address.

This patch rearranges the code so that the last, pointless, iteration of
the loop never happens.  i.e.  the one statement of the last loop that is
needed is moved the the end of the previous loop - or to before the loop
starts - and the loop counter starts from 1 instead of 0.

Cc: "Don Dupuis" <dondster@gmail.com>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-05-23 10:35:31 -07:00
..
raid6test
.gitignore
bitmap.c [PATCH] mempool: use common mempool kmalloc allocator 2006-03-26 08:56:59 -08:00
dm-bio-list.h
dm-bio-record.h
dm-crypt.c [PATCH] dm: remove SECTOR_FORMAT 2006-03-27 08:44:58 -08:00
dm-emc.c
dm-exception-store.c
dm-hw-handler.c BUG_ON() Conversion in md/dm-hw-handler.c 2006-03-24 18:36:27 +01:00
dm-hw-handler.h
dm-io.c [PATCH] mempool: use common mempool kmalloc allocator 2006-03-26 08:56:59 -08:00
dm-io.h
dm-ioctl.c [PATCH] dm store geometry 2006-03-27 08:44:59 -08:00
dm-linear.c [PATCH] dm: remove SECTOR_FORMAT 2006-03-27 08:44:58 -08:00
dm-log.c [PATCH] device-mapper log bitset: fix big endian find_next_zero_bit 2006-02-02 15:07:13 -08:00
dm-log.h
dm-mpath.c [PATCH] mempool: use mempool_create_slab_pool() 2006-03-26 08:57:00 -08:00
dm-mpath.h
dm-path-selector.c BUG_ON() Conversion in md/dm-path-selector.c 2006-03-26 18:21:58 +02:00
dm-path-selector.h
dm-raid1.c [PATCH] dm: remove SECTOR_FORMAT 2006-03-27 08:44:58 -08:00
dm-round-robin.c
dm-snap.c [PATCH] dm snapshot: fix kcopyd destructor 2006-03-27 08:44:59 -08:00
dm-snap.h
dm-stripe.c [PATCH] dm: remove unnecessary typecast 2006-03-27 08:45:00 -08:00
dm-table.c [PATCH] sem2mutex: drivers/md 2006-03-27 08:45:03 -08:00
dm-target.c BUG_ON() Conversion in md/dm-target.c 2006-04-01 01:08:12 +02:00
dm-zero.c
dm.c [PATCH] sem2mutex: drivers/md 2006-03-27 08:45:03 -08:00
dm.h [PATCH] dm store geometry 2006-03-27 08:44:59 -08:00
faulty.c
Kconfig [PATCH] md: make sure 64bit fields in version-1 metadata are 64-bit aligned 2006-04-11 06:18:30 -07:00
kcopyd.c [PATCH] sem2mutex: drivers/md 2006-03-27 08:45:03 -08:00
kcopyd.h
linear.c
Makefile
md.c [PATCH] md: Fix inverted test for 'repair' directive. 2006-05-21 12:59:17 -07:00
mktables.c
multipath.c [PATCH] mempool: use common mempool kzalloc allocator 2006-03-26 08:56:59 -08:00
raid0.c [PATCH] md: fix possible oops when starting a raid0 array 2006-05-23 10:35:31 -07:00
raid1.c [PATCH] md: Fix 'rdev->nr_pending' count when retrying barrier requests 2006-05-01 18:17:42 -07:00
raid5.c BUG_ON() Conversion in md/raid5.c 2006-04-02 13:31:42 +02:00
raid6.h
raid6algos.c
raid6altivec.uc
raid6int.uc
raid6main.c BUG_ON() Conversion in md/raid6main.c 2006-04-02 13:33:30 +02:00
raid6mmx.c
raid6recov.c
raid6sse1.c
raid6sse2.c
raid6x86.h
raid10.c [PATCH] md: Fixed refcounting/locking when attempting read error correction in raid10 2006-05-01 18:17:42 -07:00
unroll.pl
xor.c