[LTP] [PATCH] Use correct ioctl request for termios
Marius Kittler
mkittler@suse.de
Mon Sep 4 16:50:35 CEST 2023
With the termios struct one is supposed to use TCGETS instead of TCGETA,
see `man ioctl_tty`.
Related issue: https://github.com/linux-test-project/ltp/issues/637#issuecomment-1705334874
---
testcases/kernel/syscalls/ioctl/ioctl01.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/testcases/kernel/syscalls/ioctl/ioctl01.c b/testcases/kernel/syscalls/ioctl/ioctl01.c
index 1be38e79d..983208925 100644
--- a/testcases/kernel/syscalls/ioctl/ioctl01.c
+++ b/testcases/kernel/syscalls/ioctl/ioctl01.c
@@ -36,34 +36,35 @@ static struct termios termios;
static struct tcase {
int *fd;
- int request;
+ int request_tio;
+ int request_tios;
struct termio *s_tio;
struct termios *s_tios;
int error;
} tcases[] = {
/* file descriptor is invalid */
- {&bfd, TCGETA, &termio, &termios, EBADF},
+ {&bfd, TCGETA, TCGETS, &termio, &termios, EBADF},
/* termio address is invalid */
- {&fd, TCGETA, (struct termio *)-1, (struct termios *)-1, EFAULT},
- /* command is invalid */
+ {&fd, TCGETA, TCGETS, (struct termio *)-1, (struct termios *)-1, EFAULT},
+ // /* command is invalid */
/* This errno value was changed from EINVAL to ENOTTY
* by kernel commit 07d106d0 and bbb63c51
*/
- {&fd, INVAL_IOCTL, &termio, &termios, ENOTTY},
+ {&fd, INVAL_IOCTL, INVAL_IOCTL, &termio, &termios, ENOTTY},
/* file descriptor is for a regular file */
- {&fd_file, TCGETA, &termio, &termios, ENOTTY},
+ {&fd_file, TCGETA, TCGETS, &termio, &termios, ENOTTY},
/* termio is NULL */
- {&fd, TCGETA, NULL, NULL, EFAULT}
+ {&fd, TCGETA, TCGETS, NULL, NULL, EFAULT}
};
static char *device;
static void verify_ioctl(unsigned int i)
{
- TST_EXP_FAIL(ioctl(*(tcases[i].fd), tcases[i].request, tcases[i].s_tio),
+ TST_EXP_FAIL(ioctl(*(tcases[i].fd), tcases[i].request_tio, tcases[i].s_tio),
tcases[i].error);
- TST_EXP_FAIL(ioctl(*(tcases[i].fd), tcases[i].request, tcases[i].s_tios),
+ TST_EXP_FAIL(ioctl(*(tcases[i].fd), tcases[i].request_tios, tcases[i].s_tios),
tcases[i].error);
}
--
2.41.0
More information about the ltp
mailing list