All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org
Subject: Re: [PATCH v2 3/3] intel_th: msu: Fix an off-by-one in attribute store
Date: Wed, 19 Dec 2018 20:21:51 +0100	[thread overview]
Message-ID: <20181219192151.GA4413@kroah.com> (raw)
In-Reply-To: <20181219151922.44839-4-alexander.shishkin@linux.intel.com>

On Wed, Dec 19, 2018 at 05:19:22PM +0200, Alexander Shishkin wrote:
> The 'nr_pages' attribute of the 'msc' subdevices parses a comma-separated
> list of window sizes, passed from userspace. However, there is a bug in
> the string parsing logic wherein it doesn't exclude the comma character
> from the range of characters as it consumes them. This leads to an
> out-of-bounds access given a sufficiently long list. For example:
> 
> > # echo 8,8,8,8 > /sys/bus/intel_th/devices/0-msc0/nr_pages
> > ==================================================================
> > BUG: KASAN: slab-out-of-bounds in memchr+0x1e/0x40
> > Read of size 1 at addr ffff8803ffcebcd1 by task sh/825
> >
> > CPU: 3 PID: 825 Comm: npktest.sh Tainted: G        W         4.20.0-rc1+
> > Call Trace:
> >  dump_stack+0x7c/0xc0
> >  print_address_description+0x6c/0x23c
> >  ? memchr+0x1e/0x40
> >  kasan_report.cold.5+0x241/0x308
> >  memchr+0x1e/0x40
> >  nr_pages_store+0x203/0xd00 [intel_th_msu]
> 
> Fix this by accounting for the comma character.

Ugh, this is one major reason sysfs files are "one value per file".

You should never have to "parse" a sysfs file for something like this.

It's a bit too late now, but please, never create such a sysfs file
again :(

greg k-h

      reply	other threads:[~2018-12-19 19:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-19 15:19 [PATCH v2 0/3] stm class/intel_th: Fixes for v4.20 Alexander Shishkin
2018-12-19 15:19 ` [PATCH v2 1/3] stm class: Fix a module refcount leak in policy creation error path Alexander Shishkin
2018-12-19 15:19 ` [PATCH v2 2/3] stm class: Add a reference to the SyS-T document Alexander Shishkin
2018-12-19 15:19 ` [PATCH v2 3/3] intel_th: msu: Fix an off-by-one in attribute store Alexander Shishkin
2018-12-19 19:21   ` Greg Kroah-Hartman [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=20181219192151.GA4413@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.poirier@linaro.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.