All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Greg Thelen <gthelen@google.com>
Cc: stable@vger.kernel.org, Peter Zijlstra <peterz@infradead.org>,
	Andi Kleen <ak@linux.intel.com>, Kan Liang <kan.liang@intel.com>,
	Stephane Eranian <eranian@google.com>,
	Pasha Tatashin <pasha.tatashin@soleen.com>
Subject: Re: [PATCH 4.14] perf/core: Avoid put_page() when GUP fails
Date: Tue, 23 Nov 2021 13:31:42 +0100	[thread overview]
Message-ID: <YZzfLmJQKguowfoM@kroah.com> (raw)
In-Reply-To: <20211122171825.1582436-1-gthelen@google.com>

On Mon, Nov 22, 2021 at 09:18:25AM -0800, Greg Thelen wrote:
> commit 4716023a8f6a0f4a28047f14dd7ebdc319606b84 upstream.
> 
> PEBS PERF_SAMPLE_PHYS_ADDR events use perf_virt_to_phys() to convert PMU
> sampled virtual addresses to physical using get_user_page_fast_only()
> and page_to_phys().
> 
> Some get_user_page_fast_only() error cases return false, indicating no
> page reference, but still initialize the output page pointer with an
> unreferenced page. In these error cases perf_virt_to_phys() calls
> put_page(). This causes page reference count underflow, which can lead
> to unintentional page sharing.
> 
> Fix perf_virt_to_phys() to only put_page() if get_user_page_fast_only()
> returns a referenced page.
> 
> Fixes: fc7ce9c74c3ad ("perf/core, x86: Add PERF_SAMPLE_PHYS_ADDR")
> Signed-off-by: Greg Thelen <gthelen@google.com>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
> Link: https://lkml.kernel.org/r/20211111021814.757086-1-gthelen@google.com
> [gthelen: manual backport to 4.14]
> ---
>  kernel/events/core.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)

All now queued up,t hanks.

greg k-h

      reply	other threads:[~2021-11-23 12:31 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-22 17:18 [PATCH 4.14] perf/core: Avoid put_page() when GUP fails Greg Thelen
2021-11-23 12:31 ` Greg KH [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YZzfLmJQKguowfoM@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=ak@linux.intel.com \
    --cc=eranian@google.com \
    --cc=gthelen@google.com \
    --cc=kan.liang@intel.com \
    --cc=pasha.tatashin@soleen.com \
    --cc=peterz@infradead.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.