[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191204225312.GB3715390@kroah.com>
Date: Wed, 4 Dec 2019 23:53:12 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: Vlastimil Babka <vbabka@...e.cz>
Cc: linux-kernel@...r.kernel.org, stable@...r.kernel.org,
Sasha Levin <sashal@...nel.org>,
Ben Hutchings <ben.hutchings@...ethink.co.uk>
Subject: Re: [PATCH 4.9 105/125] mm, gup: add missing refcount overflow
checks on x86 and s390
On Wed, Dec 04, 2019 at 09:37:11PM +0100, Greg Kroah-Hartman wrote:
> On Wed, Dec 04, 2019 at 07:27:44PM +0100, Vlastimil Babka wrote:
> > On 12/4/19 6:56 PM, Greg Kroah-Hartman wrote:
> > > From: Vlastimil Babka <vbabka@...e.cz>
> > >
> > > The mainline commit 8fde12ca79af ("mm: prevent get_user_pages() from
> > > overflowing page refcount") was backported to 4.9.y stable as commit
> > > 2ed768cfd895. The backport however missed that in 4.9, there are several
> > > arch-specific gup.c versions with fast gup implementations, so these do not
> > > prevent refcount overflow.
> > >
> > > This is partially fixed for x86 in stable-only commit d73af79742e7 ("x86, mm,
> > > gup: prevent get_page() race with munmap in paravirt guest"). This stable-only
> > > commit adds missing parts to x86 version, as well as s390 version, both taken
> > > from the SUSE SLES/openSUSE 4.12-based kernels.
> > >
> > > The remaining architectures with own gup.c are sparc, mips, sh. It's unlikely
> > > the known overflow scenario based on FUSE, which needs 140GB of RAM, is a
> > > problem for those architectures, and I don't feel confident enough to patch
> > > them.
> > >
> > > Signed-off-by: Vlastimil Babka <vbabka@...e.cz>
> > > Signed-off-by: Sasha Levin <sashal@...nel.org>
> >
> > No, this one had a leak bug and I've sent updated version:
> > https://lore.kernel.org/linux-mm/e274291b-054f-2fad-28e8-59fabf312e61@suse.cz/
>
> Ugh. Ok, let me go fix that up...
Now done and I've pushed out a -rc2 with that fix in it.
thanks,
greg k-h
Powered by blists - more mailing lists