OSDN Git Service

bcache: fix input overflow to writeback_delay
authorColy Li <colyli@suse.de>
Sat, 9 Feb 2019 04:53:04 +0000 (12:53 +0800)
committerJens Axboe <axboe@kernel.dk>
Sat, 9 Feb 2019 14:18:32 +0000 (07:18 -0700)
commit369d21a73a241682de019ac5c5209ce3ec627743
treec977a41c6a5ea172c9fc8057615b957ff0b17cb9
parentf5c0b95d2eeb17cf8a81fde0461938d2a79303ab
bcache: fix input overflow to writeback_delay

Sysfs file writeback_delay is used to configure dc->writeback_delay
which is type unsigned int. But bcache code uses sysfs_strtoul() to
convert the input string, therefore it might be overflowed if the input
value is too large. E.g. input value is 4294967296 but indeed 0 is
set to dc->writeback_delay.

This patch uses sysfs_strtoul_clamp() to convert the input string and
set the result value range in [0, UINT_MAX] to avoid such unsigned
integer overflow.

Signed-off-by: Coly Li <colyli@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/md/bcache/sysfs.c