gpio: GPIO_GET_LINEEVENT_IOCTL: Reject invalid line and event flags
authorLars-Peter Clausen <lars@metafoo.de>
Tue, 18 Oct 2016 14:54:06 +0000 (16:54 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 21 Oct 2016 12:48:56 +0000 (14:48 +0200)
commitac7dbb991ee5afc0beacce3a252dcaaa249a7786
tree4c3fba72decc19bae273e070874cfe534e704f83
parente3e847c7f15a27c80f526b2a7a8d4dd7ce0960a0
gpio: GPIO_GET_LINEEVENT_IOCTL: Reject invalid line and event flags

The GPIO_GET_LINEEVENT_IOCTL currently ignores unknown or undefined
linehandle and lineevent flags. From a backwards and forwards compatibility
viewpoint it is highly desirable to reject unknown flags though.

On one hand an application that is using newer flags and is running on
an older kernel has no way to detect if the new flags were handled
correctly if they are silently discarded.

On the other hand an application that (accidentally) passes undefined flags
will run fine on an older kernel, but may break on a newer kernel when
these flags get defined.

Ensure that requests that have undefined flags set are rejected with an
error, rather than silently discarding the undefined flags.

Cc: stable@vger.kernel.org
Fixes: 61f922db7221 ("gpio: userspace ABI for reading GPIO line events")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpiolib.c