gpio-cdev-uaf.sh also tests linehandle and lineevent file descriptors,
which only exist with CONFIG_GPIO_CDEV_V1. Since commit 7673e4c7f7f9
("Do not enable the v1 uAPI by default") that option is off unless
asked for, and the gpio selftest config doesn't ask for it. Built with
that config, GPIO_GET_LINEHANDLE_IOCTL fails with EINVAL and the test
stops at its second step:
# 2. linehandle
# 2.1. ioctl
# failed to get handle FD
# failed to test handle ioctl
# GPIO gpio-cdev-uaf test FAIL
Add the option to the config.
Fixes: c7f92042d3f3 ("selftests: gpio: Add gpio-cdev-uaf tests")
Assisted-by: LLM
Signed-off-by: Danish Khateeb <[email protected]>
---
Notes:
Tested on v7.3-rc5 (x86_64, KASAN and lockdep, virtme-ng) with a
kernel config merged with tools/testing/selftests/gpio/config:
- current config (GPIO_CDEV_V1 not set): gpio-cdev-uaf.sh fails at
"2.1. ioctl" as above.
- with this patch (GPIO_CDEV_V1=y is the only config change):
gpio-cdev-uaf.sh passes, as does gpio-mockup.sh -t cdev_v1 (with
2/2). No KASAN or lockdep reports.
tools/testing/selftests/gpio/config | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/testing/selftests/gpio/config
b/tools/testing/selftests/gpio/config
index 1287abeaac7e..54cf6484441b 100644
--- a/tools/testing/selftests/gpio/config
+++ b/tools/testing/selftests/gpio/config
@@ -1,5 +1,6 @@
CONFIG_GPIOLIB=y
CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_MOCKUP=m
CONFIG_GPIO_SIM=m
CONFIG_GPIO_AGGREGATOR=m
--
2.55.0