lkml.org 
[lkml]   [2021]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [syzbot] KASAN: stack-out-of-bounds Read in iov_iter_revert
    On Wed, 15 Dec 2021, Pavel Begunkov wrote:

    > On 12/15/21 08:06, Lee Jones wrote:
    > > On Tue, 09 Nov 2021, Lee Jones wrote:
    > >
    > > > On Mon, 08 Nov 2021, Jens Axboe wrote:
    > > > > On 11/8/21 8:29 AM, Pavel Begunkov wrote:
    > > > > > On 11/3/21 17:01, Lee Jones wrote:
    > > > > > > Good afternoon Pavel,
    > > > > > >
    > > > > > > > syzbot has tested the proposed patch and the reproducer did not trigger any issue:
    > > > > > > >
    > > > > > > > Reported-and-tested-by: syzbot+9671693590ef5aad8953@syzkaller.appspotmail.com
    > > > > > > >
    > > > > > > > Tested on:
    > > > > > > >
    > > > > > > > commit: bff2c168 io_uring: don't retry with truncated iter
    > > > > > > > git tree: https://github.com/isilence/linux.git truncate
    > > > > > > > kernel config: https://syzkaller.appspot.com/x/.config?x=730106bfb5bf8ace
    > > > > > > > dashboard link: https://syzkaller.appspot.com/bug?extid=9671693590ef5aad8953
    > > > > > > > compiler: Debian clang version 11.0.1-2, GNU ld (GNU Binutils for Debian) 2.35.1
    > > > > > > >
    > > > > > > > Note: testing is done by a robot and is best-effort only.
    > > > > > >
    > > > > > > As you can see in the 'dashboard link' above this bug also affects
    > > > > > > android-5-10 which is currently based on v5.10.75.
    > > > > > >
    > > > > > > I see that the back-port of this patch failed in v5.10.y:
    > > > > > >
    > > > > > > https://lore.kernel.org/stable/163152589512611@kroah.com/
    > > > > > >
    > > > > > > And after solving the build-error by back-porting both:
    > > > > > >
    > > > > > > 2112ff5ce0c11 iov_iter: track truncated size
    > > > > > > 89c2b3b749182 io_uring: reexpand under-reexpanded iters
    > > > > > >
    > > > > > > I now see execution tripping the WARN() in iov_iter_revert():
    > > > > > >
    > > > > > > if (WARN_ON(unroll > MAX_RW_COUNT))
    > > > > > > return
    > > > > > >
    > > > > > > Am I missing any additional patches required to fix stable/v5.10.y?
    > > > > >
    > > > > > Is it the same syz test? There was a couple more patches for
    > > > > > IORING_SETUP_IOPOLL, but strange if that's not the case.
    > > > > >
    > > > > >
    > > > > > fwiw, Jens decided to replace it with another mechanism shortly
    > > > > > after, so it may be a better idea to backport those. Jens,
    > > > > > what do you think?
    > > > > >
    > > > > >
    > > > > > commit 8fb0f47a9d7acf620d0fd97831b69da9bc5e22ed
    > > > > > Author: Jens Axboe <axboe@kernel.dk>
    > > > > > Date: Fri Sep 10 11:18:36 2021 -0600
    > > > > >
    > > > > > iov_iter: add helper to save iov_iter state
    > > > > >
    > > > > > commit cd65869512ab5668a5d16f789bc4da1319c435c4
    > > > > > Author: Jens Axboe <axboe@kernel.dk>
    > > > > > Date: Fri Sep 10 11:19:14 2021 -0600
    > > > > >
    > > > > > io_uring: use iov_iter state save/restore helpers
    > > > >
    > > > > Yes, I think backporting based on the save/restore setup is the
    > > > > sanest way by far.
    > > >
    > > > Would you be kind enough to attempt to send these patches to Stable?
    > > >
    > > > When I tried to back-port them, the second one gave me trouble. And
    > > > without the in depth knowledge of the driver/subsystem that you guys
    > > > have, I found it almost impossible to resolve all of the conflicts:
    > >
    > > Any movement on this chaps?
    > >
    > > Not sure I am able to do this back-port without your help.
    >
    > Apologies, slipped from my attention, we'll backport it,
    > and thanks for the reminder

    Excellent. Thanks Pavel.

    --
    Lee Jones [李琼斯]
    Senior Technical Lead - Developer Services
    Linaro.org │ Open source software for Arm SoCs
    Follow Linaro: Facebook | Twitter | Blog

    \
     
     \ /
      Last update: 2021-12-16 18:03    [W:2.580 / U:0.124 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site