• Coly Li's avatar
    bcache: fix input overflow to sequential_cutoff · 70e8b1e0
    Coly Li authored
    [ Upstream commit 8c27a395 ]
    
    People may set sequential_cutoff of a cached device via sysfs file,
    but current code does not check input value overflow. E.g. if value
    4294967295 (UINT_MAX) is written to file sequential_cutoff, its value
    is 4GB, but if 4294967296 (UINT_MAX + 1) is written into, its value
    will be 0. This is an unexpected behavior.
    
    This patch replaces d_strtoi_h() by sysfs_strtoul_clamp() to convert
    input string to unsigned integer value, and limit its range in
    [0, UINT_MAX]. Then the input overflow can be fixed.
    Signed-off-by: default avatarColy Li <colyli@suse.de>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    70e8b1e0
sysfs.c 22.6 KB