|
Bugzilla – Full Text Bug Listing |
| Summary: | LTP test ioctl02.c failed: ioctl TCSETA TCGETA inconsistent. | ||
|---|---|---|---|
| Product: | [openSUSE] PUBLIC SUSE Linux Enterprise Server 15 SP6 | Reporter: | WEI GAO <wegao> |
| Component: | Kernel | Assignee: | Kernel Bugs <kernel-bugs> |
| Status: | RESOLVED INVALID | QA Contact: | |
| Severity: | Normal | ||
| Priority: | P3 - Medium | CC: | eugenio.paolantonio, martin.doucha, msuchanek, petr.vorel, tiwai, wegao |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PowerPC-64 | ||
| OS: | Other | ||
| URL: | https://openqa.suse.de/tests/12799195/modules/ioctl02/steps/7 | ||
| See Also: | https://bugzilla.suse.com/show_bug.cgi?id=1217134 | ||
| Whiteboard: | |||
| Found By: | openQA | Services Priority: | |
| Business Priority: | Blocker: | Yes | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
WEI GAO
2023-11-14 23:33:01 UTC
Is it specific to powerpc, or can it be generically? Also, is it a regression? A bit more details please. (In reply to Takashi Iwai from comment #1) > Is it specific to powerpc, or can it be generically? > ONLY happen on powerpc, such as x86 result is pass. > Also, is it a regression? A bit more details please. Not regression. I move case manually run on 15sp5, issue still exist. FYI the problem started with this LTP change [1]: which caused ppc64le specific failure (on any kernel version): ioctl02.c:162: TFAIL: lflag has incorrect value. 40612 later change, which added struct termios [2] caused failing it on ppc64le (again, on any kernel version): ioctl02.c:80: TINFO: Testing termios variant ioctl02.c:141: TBROK: ioctl(3,(v->tcset),...) failed: ENOTTY (25) [1] https://github.com/linux-test-project/ltp/commit/73dcf173c [2] https://github.com/linux-test-project/ltp/commit/0ec2164 I suppose similarly as for ioctl01.c (#1217134) glibc ppc64le specific handling of TCSETS (and TCGETS) in sysdeps/unix/sysv/linux/powerpc/internal-ioctl.h causes ENOTTY. I wonder how to workaround it. Both failures (wrong c_lflag value and ENOTTY error) turn out to be a test issue. The c_lflag value bug was due to NOFLSH bit not fitting into unsigned short on PPC64LE. It was stripped during TCSETS by typecast but included in the TCGETS check. The ENOTTY was caused by including the wrong struct termios definition (and possibly also wrong TCSETS constant) from <termios.h>. The correct definition is in <asm/termbits.h>. Patch sent to LTP upstream. |