lkml.org 
[lkml]   [2022]   [Apr]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 104/189] block: fix offset/size check in bio_trim()
    Date
    From: Ming Lei <ming.lei@redhat.com>

    [ Upstream commit 8535c0185d14ea41f0efd6a357961b05daf6687e ]

    Unit of bio->bi_iter.bi_size is bytes, but unit of offset/size
    is sector.

    Fix the above issue in checking offset/size in bio_trim().

    Fixes: e83502ca5f1e ("block: fix argument type of bio_trim()")
    Cc: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
    Signed-off-by: Ming Lei <ming.lei@redhat.com>
    Link: https://lore.kernel.org/r/20220414084443.1736850-1-ming.lei@redhat.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    block/bio.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/block/bio.c b/block/bio.c
    index 25f1ed261100..8906c9856a7d 100644
    --- a/block/bio.c
    +++ b/block/bio.c
    @@ -1552,7 +1552,7 @@ EXPORT_SYMBOL(bio_split);
    void bio_trim(struct bio *bio, sector_t offset, sector_t size)
    {
    if (WARN_ON_ONCE(offset > BIO_MAX_SECTORS || size > BIO_MAX_SECTORS ||
    - offset + size > bio->bi_iter.bi_size))
    + offset + size > bio_sectors(bio)))
    return;

    size <<= 9;
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-04-18 14:51    [W:4.031 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site