[Bug libc/31479] New: Missing #include <sys/rseq.h> in sched_getcpu.c may result in a loss of rseq acceleration

fweimer at redhat dot com sourceware-bugzilla@sourceware.org
Wed Mar 13 10:28:30 GMT 2024


https://sourceware.org/bugzilla/show_bug.cgi?id=31479

            Bug ID: 31479
           Summary: Missing #include <sys/rseq.h> in sched_getcpu.c may
                    result in a loss of rseq acceleration
           Product: glibc
           Version: 2.35
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
          Assignee: unassigned at sourceware dot org
          Reporter: fweimer at redhat dot com
                CC: drepper.fsp at gmail dot com
  Target Milestone: ---

This commit removed #include <sys/rseq.h> from nptl/descr.h:

commit 2c6b4b272e6b4d07303af25709051c3e96288f2d
Author: Florian Weimer <fweimer@redhat.com>
Date:   Fri Jul 21 16:18:18 2023 +0200

    nptl: Unconditionally use a 32-byte rseq area

    If the kernel headers provide a larger struct rseq, we used that
    size as the argument to the rseq system call.  As a result,
    rseq registration would fail on older kernels which only accept
    size 32.

As a result, <sys/rseq.h> may or may not be implicitly included when
sysdeps/unix/sysv/linux/sched_getcpu.c is built. If <sys/rseq.h> is not
included, RSEQ_SIG is not defined, and we do not get rseq acceleration even if
supported on the architecture.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Glibc-bugs mailing list