• Coly Li's avatar
    bcache: fix input overflow to cache set sysfs file io_error_halflife · a91fbda4
    Coly Li authored
    Cache set sysfs entry io_error_halflife is used to set c->error_decay.
    c->error_decay is in type unsigned int, and it is converted by
    strtoul_or_return(), therefore overflow to c->error_decay is possible
    for a large input value.
    
    This patch fixes the overflow by using strtoul_safe_clamp() to convert
    input string to an unsigned long value in range [0, UINT_MAX], then
    divides by 88 and set it to c->error_decay.
    Signed-off-by: default avatarColy Li <colyli@suse.de>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    a91fbda4
sysfs.c 27 KB