Re: [PATCH mm] VFS: seq_file: ensure ->from is valid.

From: Kees Cook
Date: Mon Jul 09 2018 - 14:16:26 EST


On Fri, Jul 6, 2018 at 8:29 PM, NeilBrown <neilb@xxxxxxxx> wrote:
>
> Previous patch ("VFS: simplify seq_file iteration code and interface")
> removed code to set ->from to zero when ->count is zero, as ->from is
> dead at that time. However it didn't ensure ->from was set properly
> whenever ->count becomes non-zero.
> This can only happen when ->show() is called. Of the three places it
> is called one already has ->from set to zero. The other two are
> fixed by setting from to zero after fully flushing the buffer (at which
> point ->count will also be zero).
>
> Reported-by: Jann Horn <jannh@xxxxxxxxxx>
> Signed-off-by: NeilBrown <neilb@xxxxxxxx>

I *think* this solves this report, which looks very much like Jann's reproducer:

https://syzkaller.appspot.com/bug?extid=4b712dce5cbce6700f27

-Kees

--
Kees Cook
Pixel Security