Description of problem: ioctl TCSBRKP is needed for POSIX tcsendbreak(). But arch/x86_64/ia32 doesn't support TCSBRKP. So x86 application calling tcsendbreak() will fail on x86_64 with compat mode. How reproducible: Always Steps to Reproduce: Run an x86 program calling tcsendbreak() in compat mode. E.g. LTP case ptem01 uses tcsendbreak(), which calls ioctl(3, TCSBRKP, 0x1). Actual results: The call failed. Expected results: The call should succeed.
I'll post the patch later. The solution to add TCSBRKP in arch/x86_64/ia32/ia32_ioctl.c is simple. But better we need discuss with other compat archs to see if it's OK to moving it to compat_ioctl.c.
Created attachment 106465 [details] compat_ioctl_tcsbrkp.patch This patch fixes. It's already sent to community, and will probably go into mainstream soon.
How about including this patch in RHEL4?
Gordon, has this patch been accepted upstream?
I just checked and found the answer is no. It looks like it is dropped somehow. I'm pushing again.
This patch has been in mainline tree: http://linux.bkbits.net:8080/linux-2.5/cset@1.2020.4.114 Please apply.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2005-514.html