All of lore.kernel.org
 help / color / mirror / Atom feed
From: Josh Triplett <josh-iaAMLnmF4UmaiuxdJuQwMA@public.gmane.org>
To: Jann Horn <jann-XZ1E9jl8jIdeoWH0uzbU5w@public.gmane.org>
Cc: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Greg Kroah-Hartman
	<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] drivers/char/mem.c: Add /dev/ioports, supporting 16-bit and 32-bit ports
Date: Sun, 11 May 2014 14:05:19 -0700	[thread overview]
Message-ID: <20140511210514.GB6056@thin> (raw)
In-Reply-To: <20140511125006.GA16197-7cfQGs147y6a6lf8Wg2v7Z5kstrrjoWp@public.gmane.org>

On Sun, May 11, 2014 at 02:50:06PM +0200, Jann Horn wrote:
> On Sat, May 10, 2014 at 12:32:46PM -0700, Josh Triplett wrote:
> > On Sat, May 10, 2014 at 09:07:42AM +0200, Jann Horn wrote:
> > > On Fri, May 09, 2014 at 12:19:16PM -0700, Josh Triplett wrote:
> > > > +	if (port > 65535)
> > > > +		return 0;
> > > > +	switch (count) {
> > > [...]
> > > > +	case 4:
> > > > +		if (__put_user(inl(port), buf) < 0)
> > > > +			return -EFAULT;
> > > 
> > > What if I attempt a four-byte read at 65535? That would access four
> > > out-of-bounds bytes, right?
> > 
> > No, it would do an ind instruction on port 65535.
> 
> Yes, on x86. What about other architectures?

That's a good point; on architectures that map I/O to memory, this
device should check port+count rather than port.  Is there a reliable
#define that identifies architectures with that property, other than
CONFIG_X86?

- Josh Triplett

WARNING: multiple messages have this Message-ID (diff)
From: Josh Triplett <josh@joshtriplett.org>
To: Jann Horn <jann@thejh.net>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
	linux-api@vger.kernel.org
Subject: Re: [PATCH] drivers/char/mem.c: Add /dev/ioports, supporting 16-bit and 32-bit ports
Date: Sun, 11 May 2014 14:05:19 -0700	[thread overview]
Message-ID: <20140511210514.GB6056@thin> (raw)
In-Reply-To: <20140511125006.GA16197@debjann.fritz.box>

On Sun, May 11, 2014 at 02:50:06PM +0200, Jann Horn wrote:
> On Sat, May 10, 2014 at 12:32:46PM -0700, Josh Triplett wrote:
> > On Sat, May 10, 2014 at 09:07:42AM +0200, Jann Horn wrote:
> > > On Fri, May 09, 2014 at 12:19:16PM -0700, Josh Triplett wrote:
> > > > +	if (port > 65535)
> > > > +		return 0;
> > > > +	switch (count) {
> > > [...]
> > > > +	case 4:
> > > > +		if (__put_user(inl(port), buf) < 0)
> > > > +			return -EFAULT;
> > > 
> > > What if I attempt a four-byte read at 65535? That would access four
> > > out-of-bounds bytes, right?
> > 
> > No, it would do an ind instruction on port 65535.
> 
> Yes, on x86. What about other architectures?

That's a good point; on architectures that map I/O to memory, this
device should check port+count rather than port.  Is there a reliable
#define that identifies architectures with that property, other than
CONFIG_X86?

- Josh Triplett

  parent reply	other threads:[~2014-05-11 21:05 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-09 19:19 [PATCH] drivers/char/mem.c: Add /dev/ioports, supporting 16-bit and 32-bit ports Josh Triplett
2014-05-09 19:19 ` Josh Triplett
2014-05-09 19:21 ` [PATCH] mem.4, ioports.4: Document /dev/ioports Josh Triplett
2014-05-09 19:21   ` Josh Triplett
2014-05-13  8:27   ` Michael Kerrisk (man-pages)
2014-05-09 19:58 ` [PATCH] drivers/char/mem.c: Add /dev/ioports, supporting 16-bit and 32-bit ports Arnd Bergmann
2014-05-09 19:58   ` Arnd Bergmann
2014-05-09 20:54   ` H. Peter Anvin
2014-05-09 20:54     ` H. Peter Anvin
2014-05-09 21:12     ` Arnd Bergmann
2014-05-09 21:20       ` H. Peter Anvin
2014-05-09 21:20         ` H. Peter Anvin
     [not found]         ` <536D46AD.3070608-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2014-05-09 22:38           ` Josh Triplett
2014-05-09 22:38             ` Josh Triplett
2014-05-13 22:10             ` H. Peter Anvin
     [not found]               ` <53729873.2030805-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2014-05-15 21:56                 ` josh-iaAMLnmF4UmaiuxdJuQwMA
2014-05-15 21:56                   ` josh
2014-05-19 12:36                   ` Arnd Bergmann
2014-05-19 12:36                     ` Arnd Bergmann
2014-05-28 21:41                     ` H. Peter Anvin
2014-05-28 21:41                       ` H. Peter Anvin
     [not found]                       ` <53865820.7010309-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2014-05-29  9:26                         ` Arnd Bergmann
2014-05-29  9:26                           ` Arnd Bergmann
2014-05-29 13:38                           ` H. Peter Anvin
2014-05-29 13:38                             ` H. Peter Anvin
     [not found]                             ` <5387385B.1030203-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2014-05-30 11:32                               ` Arnd Bergmann
2014-05-30 11:32                                 ` Arnd Bergmann
2015-12-22 10:52                                 ` Santosh Shukla
2015-12-22 10:52                                   ` Santosh Shukla
     [not found]                                   ` <CA+iXiiN8xFaiz6DwyLfWRFZ81pJZf=Fv1E60VZC-iSNPswaGEQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-22 21:56                                     ` Arnd Bergmann
2015-12-22 21:56                                       ` Arnd Bergmann
2015-12-22 22:02                                       ` H. Peter Anvin
     [not found]                                         ` <1592CC7D-B2F2-4E8B-BB90-4A20682B1FEE-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2015-12-22 22:11                                           ` Arnd Bergmann
2015-12-22 22:11                                             ` Arnd Bergmann
2015-12-23 11:34                                       ` Santosh Shukla
     [not found]                                         ` <CA+iXiiOsbC0MBaRwc5JgaTVRpdxHub5t2T=LrGaVN1AjKpiJgA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-29 13:28                                           ` Arnd Bergmann
2015-12-29 13:28                                             ` Arnd Bergmann
2015-12-29 15:53                                             ` Santosh Shukla
2015-12-29 15:53                                               ` Santosh Shukla
     [not found]                                               ` <CA+iXiiNKiMz=9BJgu3g=LggXjTv61Uwu+ibNfKeih3rK328LSQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-29 15:55                                                 ` Santosh Shukla
2015-12-29 15:55                                                   ` Santosh Shukla
     [not found]                                                   ` <CA+iXiiM+TrciHROfgTcN01mfGEYuUCvpNRU0Qqgrt56VdCcR8Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-29 16:20                                                     ` Arnd Bergmann
2015-12-29 16:20                                                       ` Arnd Bergmann
2015-12-29 16:30                                                       ` Santosh Shukla
2015-12-29 16:30                                                         ` Santosh Shukla
     [not found]                                                         ` <CAAyOgsYuMWudLgbSNM+QAkSXpU_fp6Ue01r=Ufmf5MXUHMs4UQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-29 17:31                                                           ` Alex Williamson
2015-12-29 17:31                                                             ` Alex Williamson
     [not found]                                                             ` <1451410269.18084.15.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-31  9:33                                                               ` Santosh Shukla
2015-12-31  9:33                                                                 ` Santosh Shukla
     [not found]                                                                 ` <CAAyOgsaxEaQ5+BW6Rwmz4cEuzVUdswZAWyF0OrbdPpXduwESYg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-31 15:41                                                                   ` Alex Williamson
2015-12-31 15:41                                                                     ` Alex Williamson
2016-01-07  9:31                                                                     ` Santosh Shukla
2014-05-10  7:07 ` Jann Horn
2014-05-10  7:07   ` Jann Horn
     [not found]   ` <20140510070742.GE6099-7cfQGs147y6a6lf8Wg2v7Z5kstrrjoWp@public.gmane.org>
2014-05-10 19:32     ` Josh Triplett
2014-05-10 19:32       ` Josh Triplett
2014-05-11 12:50       ` Jann Horn
     [not found]         ` <20140511125006.GA16197-7cfQGs147y6a6lf8Wg2v7Z5kstrrjoWp@public.gmane.org>
2014-05-11 21:05           ` Josh Triplett [this message]
2014-05-11 21:05             ` Josh Triplett
2014-06-01 10:35             ` Maciej W. Rozycki
2014-06-01 10:35               ` Maciej W. Rozycki
2014-06-04 22:59               ` H. Peter Anvin
     [not found]                 ` <538FA4C7.2050206-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2014-06-06  9:02                   ` Maciej W. Rozycki
2014-06-06  9:02                     ` Maciej W. Rozycki
2014-05-10 17:18 ` Greg Kroah-Hartman
2014-05-10 17:18   ` Greg Kroah-Hartman
     [not found]   ` <20140510171845.GA799-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2014-05-10 19:36     ` Josh Triplett
2014-05-10 19:36       ` Josh Triplett

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=20140511210514.GB6056@thin \
    --to=josh-iaamlnmf4umaiuxdjuqwma@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=jann-XZ1E9jl8jIdeoWH0uzbU5w@public.gmane.org \
    --cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.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.