<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>cecc7953 - selftests: Add a test mangling with uc_sigmask</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/testing/selftests/signal/Makefile#cecc7953</link>
        <description>selftests: Add a test mangling with uc_sigmaskThe test is motivated by the following observation:Raise a signal, jump to signal handler. The ucontext_t structure dumpedby kernel to userspace has a uc_sigmask field having the mask of blockedsignals. If you run a fresh minimalistic program doing this, this fieldis empty, even if you block some signals while registering the handlerwith sigaction().Here is what the man-pages have to say:sigaction(2): &quot;sa_mask specifies a mask of signals which should be blocked(i.e., added to the signal mask of the thread in which the signal handleris invoked) during execution of the signal handler. In addition, thesignal which triggered the handler will be blocked, unless the SA_NODEFERflag is used.&quot;signal(7): Under &quot;Execution of signal handlers&quot;, (1.3) implies:&quot;The thread&apos;s current signal mask is accessible via the ucontext_tobject that is pointed to by the third argument of the signal handler.&quot;But, (1.4) states:&quot;Any signals specified in act-&gt;sa_mask when registering the handler withsigprocmask(2) are added to the thread&apos;s signal mask.  The signal beingdelivered is also added to the signal mask, unless SA_NODEFER wasspecified when registering the handler.  These signals are thus blockedwhile the handler executes.&quot;There clearly is no distinction being made in the man pages between&quot;Thread&apos;s signal mask&quot; and ucontext_t; this logically should implythat a signal blocked by populating struct sigaction should be visiblein ucontext_t.Here is what the kernel code does (for Aarch64):do_signal() -&gt; handle_signal() -&gt; sigmask_to_save(), which returns&amp;current-&gt;blocked, is passed to setup_rt_frame() -&gt; setup_sigframe() -&gt;__copy_to_user(). Hence, &amp;current-&gt;blocked is copied to ucontext_texposed to userspace. Returning back to handle_signal(),signal_setup_done() -&gt; signal_delivered() -&gt; sigorsets() andset_current_blocked() are responsible for using information fromstruct ksignal ksig, which was populated through the sigaction()system call in kernel/signal.c:copy_from_user(&amp;new_sa.sa, act, sizeof(new_sa.sa)),to update &amp;current-&gt;blocked; hence, the set of blocked signals for thecurrent thread is updated AFTER the kernel dumps ucontext_t touserspace.Assuming that the above is indeed the intended behaviour, because itsemantically makes sense, since the signals blocked using sigaction()remain blocked only till the execution of the handler, and not in thecontext present before jumping to the handler (but nothing can beconfirmed from the man-pages), this patch introduces a test formangling with uc_sigmask.The test asserts the relation between blocked signal, delivered signal,and ucontext. The ucontext is mangled with, by adding a signal mask toit; on return from the handler, the thread must block the correspondingsignal.In the test description, I have also described signal delivery and blockage,for ease of understanding what the test does.Signed-off-by: Dev Jain &lt;dev.jain@arm.com&gt;Reviewed-by: Mark Brown &lt;broonie@kernel.org&gt;Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/tools/testing/selftests/signal/Makefile</description>
        <pubDate>Wed, 09 Oct 2024 05:14:24 +0000</pubDate>
        <dc:creator>Dev Jain &lt;dev.jain@arm.com&gt;</dc:creator>
    </item>
<item>
        <title>11f0c8e0 - selftests: Rename sigaltstack to generic signal</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/testing/selftests/signal/Makefile#11f0c8e0</link>
        <description>selftests: Rename sigaltstack to generic signalRename sigaltstack to generic signal directory, to allow adding moresignal tests in the future.Signed-off-by: Dev Jain &lt;dev.jain@arm.com&gt;Reviewed-by: Mark Brown &lt;broonie@kernel.org&gt;Acked-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/tools/testing/selftests/signal/Makefile</description>
        <pubDate>Wed, 09 Oct 2024 05:14:23 +0000</pubDate>
        <dc:creator>Dev Jain &lt;dev.jain@arm.com&gt;</dc:creator>
    </item>
</channel>
</rss>
