[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHk-=wi_on1EAbVi1Q01i7=0_GL=nKmz6s9677YZf74H8=Sw0g@mail.gmail.com>
Date: Thu, 5 Dec 2019 09:24:51 -0800
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: David Howells <dhowells@...hat.com>
Cc: David Sterba <dsterba@...e.cz>,
Rasmus Villemoes <linux@...musvillemoes.dk>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Peter Zijlstra <peterz@...radead.org>, raven@...maw.net,
Christian Brauner <christian@...uner.io>,
keyrings@...r.kernel.org, linux-usb@...r.kernel.org,
linux-block <linux-block@...r.kernel.org>,
LSM List <linux-security-module@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Linux API <linux-api@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [GIT PULL] pipe: Notification queue preparation
On Thu, Dec 5, 2019 at 9:12 AM Linus Torvalds
<torvalds@...ux-foundation.org> wrote:
>
> It would be interesting to hear if somebody else is waiting on the
> read side too.
Looking once more at that commit, I find at least one bug, but I'm
pretty sure that's not the cause of this problem.
DavidH, watch out for things like this:
- for (idx = 0; idx < pipe->nrbufs && rem < len; idx++)
+ for (idx = tail; idx < head && rem < len; idx++)
which is a completely buggy conversion.
You can't compare tail and head with an inequality, it gets the
wraparound case wrong.
But I found only one of those, and it's fuse-specific, plus the
overflow would take a long time to trigger, so I'm pretty sure this
isn't what DavidS is reporting.
Linus
Powered by blists - more mailing lists