• Andre Noll's avatar
    md: linear: Fix a division by zero bug for very small arrays. · f1cd14ae
    Andre Noll authored
    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: default avatarAndre Noll <maan@systemlinux.org>
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    f1cd14ae
linear.c 10.1 KB