Re: [PATCH] drivers/char/mem.c: Add /dev/ioports, supporting 16-bit and 32-bit ports

Arnd Bergmann
2014-05-09T19:58:43Z

On Friday 09 May 2014 12:19:16 Josh Triplett wrote:

> + if (!access_ok(VERIFY_WRITE, buf, count))
> + return -EFAULT;
> + if (port > 65535)
> + return 0;

This should probably test against IO_SPACE_LIMIT, which may be zero,
something larger than 65536 or even ULONG_MAX, depending on the
architecture.

In cases where this IO_SPACE_LIMIT is zero or ULONG_MAX, we should
probably disallow access completely. The former case is for architectures
that don't have any I/O ports, the other is either a mistake, or is
used when inb is defined as readb, and the port numbers are just virtual
addresses.

Arnd