The function bio_trim has offset and size arguments that are declared as int. But it actually expects sector value and the range of int is not enough for bio->bi_iter.bi_size and bio_advance() which is/takes unsigned int. So, let's fix the argument type of bio_trim() and its callers. Patches 1 and 2 fix bio_trim() argument and its caller's argument. Patch 3 is depending on patch 1 and 2 and do some cleanup for btrfs. Changes: - v3: - Introduce BIO_MAX_SECTORS instead of a function local const - Some style fix - v2: - Add WARN_ON and ASSERT to catch overflow values - Change argument type of btrfs_bio_clone_partial() to u64 Chaitanya Kulkarni (2): block: fix arg type of bio_trim() btrfs: fix argument type of btrfs_bio_clone_partial() Naohiro Aota (1): btrfs: drop unnecessary ASSERT from btrfs_submit_direct() block/bio.c | 12 +++++++----- fs/btrfs/extent_io.c | 4 +++- fs/btrfs/extent_io.h | 2 +- fs/btrfs/inode.c | 8 ++++---- include/linux/bio.h | 2 +- include/linux/blk_types.h | 1 + 6 files changed, 17 insertions(+), 12 deletions(-) -- 2.32.0