<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/next/linux-next.git/tools/testing/selftests/rseq, branch master</title>
<subtitle>The linux-next integration testing tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/atom?h=master</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/'/>
<updated>2026-07-10T12:27:31+00:00</updated>
<entry>
<title>Merge branch 'master' of https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git</title>
<updated>2026-07-10T12:27:31+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2026-07-10T12:27:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=80ff0483db1a6fcbd7bb007397491581de883c34'/>
<id>urn:sha1:80ff0483db1a6fcbd7bb007397491581de883c34</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch into tip/master: 'locking/futex'</title>
<updated>2026-07-10T10:17:48+00:00</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@kernel.org</email>
</author>
<published>2026-07-10T10:17:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=c45389b2a6319577e98cfe0cf7d2dcf3f0bba701'/>
<id>urn:sha1:c45389b2a6319577e98cfe0cf7d2dcf3f0bba701</id>
<content type='text'>
 # New commits in locking/futex:
    157a9b22ff76 ("selftests/futex: Use thread synchronization helpers instead of usleep()")
    86620fb9d37b ("selftests/futex: Provide thread creation and synchronization helpers")
    50c121e5a57a ("selftests/futex: Dynamically skip unsupported tests")
    90a0286c7d35 ("selftests/futex: Add FUTEX_LOCK_PI owner-exiting coverage")
    553bd67a9032 ("selftests/futex: Migrate robust_list to harness")
    4f22ba7eee3e ("selftests/futex: Migrate futex_priv_hash to harness")
    9b19fbb3a6c5 ("selftests/futex: Migrate futex_numa_mpol to harness")
    7fe733f11215 ("selftests/futex: Migrate futex_requeue_pi_signal_restart to harness")
    4559deb73828 ("selftests/futex: Migrate futex_requeue_pi_mismatched_ops to harness")
    b7d837c2d49e ("selftests/futex: Migrate futex_requeue_pi to harness")
    d0f7df9bb778 ("selftests/futex: Migrate futex_requeue to harness")
    78834d8b9c99 ("selftests/futex: Migrate futex_wait_uninitialized_heap to harness")
    dccef66d850b ("selftests/futex: Migrate futex_wait_private_mapped_file to harness")
    0d65d1abb5e4 ("selftests/futex: Migrate futex_wait to harness")
    a894f6f40332 ("selftests/futex: Correct validation logic in waitv")
    e531301dd8fa ("selftests/futex: Migrate functional tests to harness")
    dfa2f2378fb1 ("selftests/futex: Remove static keyword from 'head'")
    4903ab0c83f0 ("futex: Remove unnecessary NULL check before kvfree()")
    d7b2769f8dba ("selftests/rseq: Replace glibc-specific __GNUC_PREREQ with portable check")

Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>selftests/rseq: Fix a building error for riscv arch</title>
<updated>2026-07-08T16:59:14+00:00</updated>
<author>
<name>Hui Wang</name>
<email>hui.wang@canonical.com</email>
</author>
<published>2026-07-07T08:23:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=a2ac823d8a228e392bc6a79ea63b550ab84a55b2'/>
<id>urn:sha1:a2ac823d8a228e392bc6a79ea63b550ab84a55b2</id>
<content type='text'>
RISC-V rseq selftests include asm/fence.h from tools/arch/riscv,
but the rseq Makefile only adds tools/include in the CFLAGS, this
results in the building failure both for native and cross build:

    In file included from rseq.h:131,
                     from rseq.c:37:
    rseq-riscv.h:11:10: fatal error: asm/fence.h: No such file or directory

To fix it, add the matching tools/arch/$(ARCH)/include path in the
CFLAGS and derive ARCH from SUBARCH for standalone native builds where
ARCH is not set.

Fixes: c92786e179e0 ("KVM: riscv: selftests: Use the existing RISCV_FENCE macro in `rseq-riscv.h`")
Cc: stable@vger.kernel.org
Signed-off-by: Hui Wang &lt;hui.wang@canonical.com&gt;
Link: https://patch.msgid.link/20260707082348.36896-1-hui.wang@canonical.com
Signed-off-by: Paul Walmsley &lt;pjw@kernel.org&gt;</content>
</entry>
<entry>
<title>selftests/rseq: Fix spelling of accommodate</title>
<updated>2026-07-05T20:13:53+00:00</updated>
<author>
<name>Ding Junlin</name>
<email>1746193727@qq.com</email>
</author>
<published>2026-07-05T15:47:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=7148c0a02e09994cfede32bf0b63f3ef9724f6f5'/>
<id>urn:sha1:7148c0a02e09994cfede32bf0b63f3ef9724f6f5</id>
<content type='text'>
It's spelled with two 'm'.

Signed-off-by: Ding Junlin &lt;1746193727@qq.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Reviewed-by: Paul E. McKenney &lt;paulmck@kernel.org&gt;
Link: https://patch.msgid.link/tencent_BAB26179A92C5CE28657C0451540E6EE4B05@qq.com
</content>
</entry>
<entry>
<title>selftests/rseq: Replace glibc-specific __GNUC_PREREQ with portable check</title>
<updated>2026-07-02T22:15:01+00:00</updated>
<author>
<name>Hisam Mehboob</name>
<email>hisamshar@gmail.com</email>
</author>
<published>2026-06-18T19:37:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=d7b2769f8dba3e5f40d2a8a11988812d51160b17'/>
<id>urn:sha1:d7b2769f8dba3e5f40d2a8a11988812d51160b17</id>
<content type='text'>
Building the rseq selftests against musl libc fails because musl's
&lt;features.h&gt; does not provide the glibc-specific __GNUC_PREREQ macro:

  error: missing binary operator before token '('

Replace __GNUC_PREREQ(11, 1) with an equivalent check using __GNUC__
and __GNUC_MINOR__ directly.  This pattern is portable across all C
library implementations and is already used elsewhere in the tools/
tree (e.g., tools/include/linux/string.h).

This also allows removing the #include &lt;features.h&gt;, which was only
needed for __GNUC_PREREQ.

Fixes: 886ddfba933f ("selftests/rseq: Introduce thread pointer getters")
Signed-off-by: Hisam Mehboob &lt;hisamshar@gmail.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Link: https://patch.msgid.link/20260618193724.589113-2-hisamshar@gmail.com
</content>
</entry>
<entry>
<title>selftests/rseq: Add config fragment</title>
<updated>2026-06-02T21:20:57+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2026-04-24T12:45:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=5a0daaff6ed9c1177d58b7367451ef9714dac81d'/>
<id>urn:sha1:5a0daaff6ed9c1177d58b7367451ef9714dac81d</id>
<content type='text'>
Currently there is no config fragment for the rseq selftests but there are
a couple of configuration options which are required for running them:

 - CONFIG_RSEQ is required for obvious reasons, it is enabled by default
   but it doesn't hurt to specify it in case the user is usinsg a
   defconfig that disables it.

 - CONFIG_RSEQ_SLICE_EXTENSION is tested by the slice_test test, the
   test will fail without it.

Add a configuration fragment which enables these options, helping encourage
CI systems and people doing manual testing to run the tests with all the
features. This also requires CONFIG_EXPERT since it is a dependency for
slice extension.

Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Link: https://patch.msgid.link/20260424-selftests-rseq-config-fragment-v2-1-a9475996edcb@kernel.org
</content>
</entry>
<entry>
<title>selftests/rseq: Expand for optimized RSEQ ABI v2</title>
<updated>2026-05-06T15:41:08+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@kernel.org</email>
</author>
<published>2026-04-25T12:48:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=e744060076871eebc2647b24420b550ff44b2b65'/>
<id>urn:sha1:e744060076871eebc2647b24420b550ff44b2b65</id>
<content type='text'>
Update the selftests so they are executed for legacy (32 bytes RSEQ region)
and optimized RSEQ ABI v2 mode.

Fixes: d6200245c75e ("rseq: Allow registering RSEQ with slice extension")
Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Reviewed-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;
Tested-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;
Link: https://patch.msgid.link/20260428224428.009121296%40kernel.org
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>selftests/rseq: Validate legacy behavior</title>
<updated>2026-05-06T15:39:01+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@kernel.org</email>
</author>
<published>2026-04-26T15:51:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=fdf4eb632683bfc2840acebe62716cb468d43e10'/>
<id>urn:sha1:fdf4eb632683bfc2840acebe62716cb468d43e10</id>
<content type='text'>
The RSEQ legacy mode behavior requires that the ID fields in the rseq
region are unconditionally updated on every context switch and before
signal delivery even if not required by the ABI specification.

To ensure that this behavior is preserved for legacy users in the future,
add a test which validates that with a sleep() and a signal sent to self.

Provide a run script which prevents GLIBC from registering a RSEQ region,
so that the test can register it's own legacy sized region.

Fixes: 566d8015f7ee ("rseq: Avoid CPU/MM CID updates when no event pending")
Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Reviewed-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;
Tested-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;
Link: https://patch.msgid.link/20260428224427.764705536%40kernel.org
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>selftests/rseq: Make registration flexible for legacy and optimized mode</title>
<updated>2026-05-05T14:03:11+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@kernel.org</email>
</author>
<published>2026-04-26T16:13:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=d97cb2ef0b221b068e90b6058aa97faa0626bdab'/>
<id>urn:sha1:d97cb2ef0b221b068e90b6058aa97faa0626bdab</id>
<content type='text'>
rseq_register_current_thread() either uses the glibc registered RSEQ region
or registers it's own region with the legacy size of 32 bytes.

That worked so far, but becomes a problem when the kernel implements a
distinction between legacy and performance optimized behavior based on the
registration size as that does not allow to test both modes with the self
test suite.

Add two arguments to the function. One to enforce that the registration is
not using libc provided mode and one to tell the registration to use the
legacy size and not the kernel advertised size.

Rename it and make the original one a inline wrapper which preserves the
existing behavior.

Fixes: 566d8015f7ee ("rseq: Avoid CPU/MM CID updates when no event pending")
Signed-off-by: Thomas Gleixner &lt;tglx@kernel.org&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Reviewed-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;
Tested-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;
Link: https://patch.msgid.link/20260428224427.677889423%40kernel.org
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>selftests/rseq: Skip tests if time slice extensions are not available</title>
<updated>2026-05-05T14:03:11+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2026-04-25T13:46:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=02b44d943b3adddc3a15c1da97045e205b7d14c1'/>
<id>urn:sha1:02b44d943b3adddc3a15c1da97045e205b7d14c1</id>
<content type='text'>
Don't fail, skip the test if the extensions are not enabled at compile or
runtime.

Fixes: 830969e7821a ("selftests/rseq: Implement time slice extension test")
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Reviewed-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;
Tested-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;
Link: https://patch.msgid.link/20260428224427.597838491%40kernel.org
Cc: stable@vger.kernel.org
</content>
</entry>
</feed>
