linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: William Kucharski <william.kucharski@oracle.com>
To: "Isaac J. Manjarres" <isaacm@codeaurora.org>
Cc: David Laight <David.Laight@aculab.com>,
	Kees Cook <keescook@chromium.org>,
	crecklin@redhat.com, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org, psodagud@codeaurora.org,
	tsoni@codeaurora.org, stable@vger.kernel.org
Subject: Re: [PATCH] mm/usercopy: Use memory range to be accessed for wraparound check
Date: Wed, 14 Nov 2018 15:50:05 -0700	[thread overview]
Message-ID: <816A9750-D2A3-4BC8-88A6-41BFAA6A1540@oracle.com> (raw)
In-Reply-To: <50baa4900e55b523f18eea2759f8efae@codeaurora.org>



> On Nov 14, 2018, at 10:32 AM, isaacm@codeaurora.org wrote:
> 
> Thank you and David for your feedback. The check_bogus_address() routine is only invoked from one place in the kernel, which is __check_object_size(). Before invoking check_bogus_address, __check_object_size ensures that n is non-zero, so it is not possible to call this routine with n being 0. Therefore, we shouldn't run into the scenario you described. Also, in the case where we are copying a page's contents into a kernel space buffer and will not have that buffer interacting with userspace at all, this change to that check should still be valid, correct?

Having fixed more than one bug resulting from a "only called in one place" routine later being called elsewhere,
I am wary, but ultimately it's likely not worth the performance hit of a check or BUG_ON().

It's a generic math check for overflow, so it should work with any address.

Reviewed-by: William Kucharski <william.kucharski@oracle.com>

  reply	other threads:[~2018-11-14 22:50 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-14  0:51 [PATCH] mm/usercopy: Use memory range to be accessed for wraparound check Isaac J. Manjarres
2018-11-14 10:35 ` William Kucharski
2018-11-14 11:09   ` David Laight
2018-11-14 11:46     ` William Kucharski
2018-11-14 17:32       ` isaacm
2018-11-14 22:50         ` William Kucharski [this message]
2018-11-14 23:27   ` Kees Cook
2018-11-14 23:32 ` Kees Cook
2018-11-15  7:05 ` Sasha Levin
2019-07-30 17:54 Isaac J. Manjarres
2019-07-31 20:25 ` Kees Cook

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=816A9750-D2A3-4BC8-88A6-41BFAA6A1540@oracle.com \
    --to=william.kucharski@oracle.com \
    --cc=David.Laight@aculab.com \
    --cc=crecklin@redhat.com \
    --cc=isaacm@codeaurora.org \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=psodagud@codeaurora.org \
    --cc=stable@vger.kernel.org \
    --cc=tsoni@codeaurora.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).