Opened 5 years ago

Closed 4 years ago

#12304 closed defect (overcomebyevents)

Packages possibly broken by linux-5.2 headers

Reported by: ken@… Owned by: blfs-book
Priority: normal Milestone: 9.1
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

Although qt, qtwebengine, bluez have already been fixed for the SIOCGSTAMP change in linux-5.2, this is a general ticket (to keep open until we release 9.0) for other packages which might be affected.

Looking through my own local source files (some of which are old), and in the knowledge that firefox https://bugs.gentoo.org/689808 and qemu have been reported to be broken, here is a list of what I found - excepting qt, qtwebengine, bluez.

gcc, glibc - I assume these are false positives defining the ioctl. man-pages - clearly just documentation

strace and valgrind appear to define the values for every linux architecture, so false positives

./compiler-rt-8.0.0.src/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc: _(SIOCGSTAMP, WRITE, timeval_sz);

./compiler-rt-8.0.0.src/lib/sanitizer_common/sanitizer_platform_limits_posix.cc: unsigned IOCTL_SIOCGSTAMP = SIOCGSTAMP;

./compiler-rt-8.0.0.src/lib/sanitizer_common/sanitizer_platform_limits_posix.h: extern unsigned IOCTL_SIOCGSTAMP;

only the second of those should be changed, i.e. ' SIOCGSTAMP;'

./firefox-68.0/media/webrtc/trunk/webrtc/rtc_base/physicalsocketserver.cc: int ret = ioctl(socket, SIOCGSTAMP, &tv_ioctl);

(also in 69-beta)

./NetworkManager-1.16.0/src/systemd/src/libsystemd-network/sd-lldp.c: if (ioctl(fd, SIOCGSTAMPNS, &ts) >= 0)

NOTE: the NS variant (0x8907)

./qemu-3.1.0/linux-user/ioctls.h: IOCTL(SIOCGSTAMP, IOC_R, MK_PTR(MK_STRUCT(STRUCT_timeval)))

./qemu-3.1.0/linux-user/ioctls.h: IOCTL(SIOCGSTAMPNS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_timespec)))

./qemu-3.1.0/linux-user/syscall_defs.h:#define TARGET_SIOCGSTAMP 0x8906 /* Get stamp (timeval) */

./qemu-3.1.0/linux-user/syscall_defs.h:#define TARGET_SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */

NOTE: both plain and NS

./thunderbird-60.7.2/media/webrtc/trunk/webrtc/base/physicalsocketserver.cc: int ret = ioctl(socket, SIOCGSTAMP, &tv_ioctl);

(I know that is definitely the old version, I don't have the current version at the moment)

Change History (16)

in reply to:  description comment:1 by ken@…, 5 years ago

Replying to ken@…:

./compiler-rt-8.0.0.src/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc: _(SIOCGSTAMP, WRITE, timeval_sz);

./compiler-rt-8.0.0.src/lib/sanitizer_common/sanitizer_platform_limits_posix.cc: unsigned IOCTL_SIOCGSTAMP = SIOCGSTAMP;

./compiler-rt-8.0.0.src/lib/sanitizer_common/sanitizer_platform_limits_posix.h: extern unsigned IOCTL_SIOCGSTAMP;

only the second of those should be changed, i.e. ' SIOCGSTAMP;'

Whoops, clearly the first one also needs to be changed.

comment:2 by ken@…, 5 years ago

firefox fixed in r21855 and new xinclude member SIOCGSTAMP.xml added.

comment:3 by Douglas R. Reno, 5 years ago

QtWebEngine fixed at r21859

comment:4 by Douglas R. Reno, 5 years ago

NetworkManager seems to be unaffected by this. Still though, there was an upstream release to fix issues with the Wireshark module and kernel 5.2 that came out this morning, so I'll update it to that while I'm here :-)

comment:5 by Douglas R. Reno, 5 years ago

I have confirmed that Thunderbird is unaffected. However, the page had to be modified because './mach build' was removed accidentally when Tim fixed the problem regarding rust macros. I've since cleaned that up at r21882

comment:6 by Douglas R. Reno, 5 years ago

systemd-networkd fixed at r21912

comment:7 by Douglas R. Reno, 5 years ago

With the changes that we made to glibc in Chapter 6 of LFS, should we close this?

On that note, I can confirm that bluez now works.

in reply to:  7 comment:8 by Bruce Dubbs, 5 years ago

Resolution: fixed
Status: newclosed

Replying to renodr:

With the changes that we made to glibc in Chapter 6 of LFS, should we close this?

Yes. If something else comes up. we can handle that individually. Closing as fixed.

comment:9 by Xi Ruoyao, 4 years ago

Resolution: fixed
Status: closedreopened

We added a sed for glibc to "fix" this issue. The reason was this "fix" had been submitted into Glibc repository. Now with glibc-2.31 released we can see that's not true.

The commit

https://sourceware.org/git/?p=glibc.git;a=commit;h=c1d1e0c9f242f03521ef023a0e2cac071b5f0133

is only in Florian's private branch, never get into master. Reopen because we can't just keep deviating from the upstream.

I'll skip this "fix" in my new LFS build and see what will happen.

comment:10 by Bruce Dubbs, 4 years ago

Milestone: 9.09.1

comment:11 by Xi Ruoyao, 4 years ago

The packages may be affected:

  • systemd
  • NetworkManager
  • qt5
  • qtwebengine
  • bluez
  • firefox
  • qemu

Is there something I missed?

Now I can confirm systemd do not need this "fix" any more. I'll then try NetworkManager and Bluez.

comment:12 by Xi Ruoyao, 4 years ago

NetworkManager, Bluez, and Firefox ruled out. The upstreams have fixed them.

comment:13 by Xi Ruoyao, 4 years ago

qemu fixed in 4.1.0 and later.

comment:14 by Xi Ruoyao, 4 years ago

qtwebengine fixed (at least in current version 5.14.1).

comment:15 by Xi Ruoyao, 4 years ago

qt also fixed in 5.14.1.

comment:16 by Xi Ruoyao, 4 years ago

Resolution: overcomebyevents
Status: reopenedclosed
Note: See TracTickets for help on using tickets.