<?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 context-analysis.rst</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>c17ee635fd3a482b2ad2bf5e269755c2eae5f25e - Merge drm/drm-fixes into drm-misc-fixes</title>
        <link>http://opengrok.net:8080/history/linux/Documentation/dev-tools/context-analysis.rst#c17ee635fd3a482b2ad2bf5e269755c2eae5f25e</link>
        <description>Merge drm/drm-fixes into drm-misc-fixes7.0-rc1 was just released, let&apos;s merge it to kick the new release cycle.Signed-off-by: Maxime Ripard &lt;mripard@kernel.org&gt;

            List of files:
            /linux/Documentation/dev-tools/context-analysis.rst</description>
        <pubDate>Mon, 23 Feb 2026 09:09:45 +0000</pubDate>
        <dc:creator>Maxime Ripard &lt;mripard@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>0923fd0419a1a2c8846e15deacac11b619e996d9 - Merge tag &apos;locking-core-2026-02-08&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
        <link>http://opengrok.net:8080/history/linux/Documentation/dev-tools/context-analysis.rst#0923fd0419a1a2c8846e15deacac11b619e996d9</link>
        <description>Merge tag &apos;locking-core-2026-02-08&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tipPull locking updates from Ingo Molnar: &quot;Lock debugging:   - Implement compiler-driven static analysis locking context checking,     using the upcoming Clang 22 compiler&apos;s context analysis features     (Marco Elver)     We removed Sparse context analysis support, because prior to     removal even a defconfig kernel produced 1,700+ context tracking     Sparse warnings, the overwhelming majority of which are false     positives. On an allmodconfig kernel the number of false positive     context tracking Sparse warnings grows to over 5,200... On the plus     side of the balance actual locking bugs found by Sparse context     analysis is also rather ... sparse: I found only 3 such commits in     the last 3 years. So the rate of false positives and the     maintenance overhead is rather high and there appears to be no     active policy in place to achieve a zero-warnings baseline to move     the annotations &amp; fixers to developers who introduce new code.     Clang context analysis is more complete and more aggressive in     trying to find bugs, at least in principle. Plus it has a different     model to enabling it: it&apos;s enabled subsystem by subsystem, which     results in zero warnings on all relevant kernel builds (as far as     our testing managed to cover it). Which allowed us to enable it by     default, similar to other compiler warnings, with the expectation     that there are no warnings going forward. This enforces a     zero-warnings baseline on clang-22+ builds (Which are still limited     in distribution, admittedly)     Hopefully the Clang approach can lead to a more maintainable     zero-warnings status quo and policy, with more and more subsystems     and drivers enabling the feature. Context tracking can be enabled     for all kernel code via WARN_CONTEXT_ANALYSIS_ALL=y (default     disabled), but this will generate a lot of false positives.     ( Having said that, Sparse support could still be added back,       if anyone is interested - the removal patch is still       relatively straightforward to revert at this stage. )  Rust integration updates: (Alice Ryhl, Fujita Tomonori, Boqun Feng)    - Add support for Atomic&lt;i8/i16/bool&gt; and replace most Rust native      AtomicBool usages with Atomic&lt;bool&gt;    - Clean up LockClassKey and improve its documentation    - Add missing Send and Sync trait implementation for SetOnce    - Make ARef Unpin as it is supposed to be    - Add __rust_helper to a few Rust helpers as a preparation for      helper LTO    - Inline various lock related functions to avoid additional function      calls  WW mutexes:    - Extend ww_mutex tests and other test-ww_mutex updates (John      Stultz)  Misc fixes and cleanups:    - rcu: Mark lockdep_assert_rcu_helper() __always_inline (Arnd      Bergmann)    - locking/local_lock: Include more missing headers (Peter Zijlstra)    - seqlock: fix scoped_seqlock_read kernel-doc (Randy Dunlap)    - rust: sync: Replace `kernel::c_str!` with C-Strings (Tamir      Duberstein)&quot;* tag &apos;locking-core-2026-02-08&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (90 commits)  locking/rwlock: Fix write_trylock_irqsave() with CONFIG_INLINE_WRITE_TRYLOCK  rcu: Mark lockdep_assert_rcu_helper() __always_inline  compiler-context-analysis: Remove __assume_ctx_lock from initializers  tomoyo: Use scoped init guard  crypto: Use scoped init guard  kcov: Use scoped init guard  compiler-context-analysis: Introduce scoped init guards  cleanup: Make __DEFINE_LOCK_GUARD handle commas in initializers  seqlock: fix scoped_seqlock_read kernel-doc  tools: Update context analysis macros in compiler_types.h  rust: sync: Replace `kernel::c_str!` with C-Strings  rust: sync: Inline various lock related methods  rust: helpers: Move #define __rust_helper out of atomic.c  rust: wait: Add __rust_helper to helpers  rust: time: Add __rust_helper to helpers  rust: task: Add __rust_helper to helpers  rust: sync: Add __rust_helper to helpers  rust: refcount: Add __rust_helper to helpers  rust: rcu: Add __rust_helper to helpers  rust: processor: Add __rust_helper to helpers  ...

            List of files:
            /linux/Documentation/dev-tools/context-analysis.rst</description>
        <pubDate>Tue, 10 Feb 2026 20:28:44 +0000</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>d084a73714f818ce509022e1aa9483cabf797c16 - compiler-context-analysis: Introduce scoped init guards</title>
        <link>http://opengrok.net:8080/history/linux/Documentation/dev-tools/context-analysis.rst#d084a73714f818ce509022e1aa9483cabf797c16</link>
        <description>compiler-context-analysis: Introduce scoped init guardsAdd scoped init guard definitions for common synchronization primitivessupported by context analysis.The scoped init guards treat the context as active within initializationscope of the underlying context lock, given initialization impliesexclusive access to the underlying object. This allows initialization ofguarded members without disabling context analysis, while documentinginitialization from subsequent usage.The documentation is updated with the new recommendation. Where scopedinit guards are not provided or cannot be implemented (ww_mutex omittedfor lack of multi-arg guard initializers), the alternative is to justdisable context analysis where guarded members are initialized.Suggested-by: Peter Zijlstra &lt;peterz@infradead.org&gt;Signed-off-by: Marco Elver &lt;elver@google.com&gt;Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Link: https://lore.kernel.org/all/20251212095943.GM3911114@noisy.programming.kicks-ass.net/Link: https://patch.msgid.link/20260119094029.1344361-3-elver@google.com

            List of files:
            /linux/Documentation/dev-tools/context-analysis.rst</description>
        <pubDate>Mon, 19 Jan 2026 09:05:52 +0000</pubDate>
        <dc:creator>Marco Elver &lt;elver@google.com&gt;</dc:creator>
    </item>
<item>
        <title>e4588c25c9d122b5847b88e18b184404b6959160 - compiler-context-analysis: Remove __cond_lock() function-like helper</title>
        <link>http://opengrok.net:8080/history/linux/Documentation/dev-tools/context-analysis.rst#e4588c25c9d122b5847b88e18b184404b6959160</link>
        <description>compiler-context-analysis: Remove __cond_lock() function-like helperAs discussed in [1], removing __cond_lock() will improve the readabilityof trylock code. Now that Sparse context tracking support has beenremoved, we can also remove __cond_lock().Change existing APIs to either drop __cond_lock() completely, or makeuse of the __cond_acquires() function attribute instead.In particular, spinlock and rwlock implementations required switchingover to inline helpers rather than statement-expressions for theirtrylock_* variants.Suggested-by: Peter Zijlstra &lt;peterz@infradead.org&gt;Signed-off-by: Marco Elver &lt;elver@google.com&gt;Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Link: https://lore.kernel.org/all/20250207082832.GU7145@noisy.programming.kicks-ass.net/ [1]Link: https://patch.msgid.link/20251219154418.3592607-25-elver@google.com

            List of files:
            /linux/Documentation/dev-tools/context-analysis.rst</description>
        <pubDate>Fri, 19 Dec 2025 15:40:13 +0000</pubDate>
        <dc:creator>Marco Elver &lt;elver@google.com&gt;</dc:creator>
    </item>
<item>
        <title>47907461e4f6fcdce8cf91dd164369192deeb7c4 - locking/ww_mutex: Support Clang&apos;s context analysis</title>
        <link>http://opengrok.net:8080/history/linux/Documentation/dev-tools/context-analysis.rst#47907461e4f6fcdce8cf91dd164369192deeb7c4</link>
        <description>locking/ww_mutex: Support Clang&apos;s context analysisAdd support for Clang&apos;s context analysis for ww_mutex.The programming model for ww_mutex is subtly more complex than otherlocking primitives when using ww_acquire_ctx. Encoding the respectivepre-conditions for ww_mutex lock/unlock based on ww_acquire_ctx stateusing Clang&apos;s context analysis makes incorrect use of the API harder.Signed-off-by: Marco Elver &lt;elver@google.com&gt;Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Link: https://patch.msgid.link/20251219154418.3592607-21-elver@google.com

            List of files:
            /linux/Documentation/dev-tools/context-analysis.rst</description>
        <pubDate>Fri, 19 Dec 2025 15:40:09 +0000</pubDate>
        <dc:creator>Marco Elver &lt;elver@google.com&gt;</dc:creator>
    </item>
<item>
        <title>d3febf16dee28a74b01ba43195ee4965edb6208f - locking/local_lock: Support Clang&apos;s context analysis</title>
        <link>http://opengrok.net:8080/history/linux/Documentation/dev-tools/context-analysis.rst#d3febf16dee28a74b01ba43195ee4965edb6208f</link>
        <description>locking/local_lock: Support Clang&apos;s context analysisAdd support for Clang&apos;s context analysis for local_lock_t andlocal_trylock_t.Signed-off-by: Marco Elver &lt;elver@google.com&gt;Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Link: https://patch.msgid.link/20251219154418.3592607-20-elver@google.com

            List of files:
            /linux/Documentation/dev-tools/context-analysis.rst</description>
        <pubDate>Fri, 19 Dec 2025 15:40:08 +0000</pubDate>
        <dc:creator>Marco Elver &lt;elver@google.com&gt;</dc:creator>
    </item>
<item>
        <title>e4fd3be884cf33a42c5bcde087b0722a5b8f25ca - locking/rwsem: Support Clang&apos;s context analysis</title>
        <link>http://opengrok.net:8080/history/linux/Documentation/dev-tools/context-analysis.rst#e4fd3be884cf33a42c5bcde087b0722a5b8f25ca</link>
        <description>locking/rwsem: Support Clang&apos;s context analysisAdd support for Clang&apos;s context analysis for rw_semaphore.Signed-off-by: Marco Elver &lt;elver@google.com&gt;Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Link: https://patch.msgid.link/20251219154418.3592607-18-elver@google.com

            List of files:
            /linux/Documentation/dev-tools/context-analysis.rst</description>
        <pubDate>Fri, 19 Dec 2025 15:40:06 +0000</pubDate>
        <dc:creator>Marco Elver &lt;elver@google.com&gt;</dc:creator>
    </item>
<item>
        <title>f0b7ce22d71810c8c11abcd912fbd6f57c2e9677 - srcu: Support Clang&apos;s context analysis</title>
        <link>http://opengrok.net:8080/history/linux/Documentation/dev-tools/context-analysis.rst#f0b7ce22d71810c8c11abcd912fbd6f57c2e9677</link>
        <description>srcu: Support Clang&apos;s context analysisAdd support for Clang&apos;s context analysis for SRCU.Signed-off-by: Marco Elver &lt;elver@google.com&gt;Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Acked-by: Paul E. McKenney &lt;paulmck@kernel.org&gt;Link: https://patch.msgid.link/20251219154418.3592607-16-elver@google.com

            List of files:
            /linux/Documentation/dev-tools/context-analysis.rst</description>
        <pubDate>Fri, 19 Dec 2025 15:40:04 +0000</pubDate>
        <dc:creator>Marco Elver &lt;elver@google.com&gt;</dc:creator>
    </item>
<item>
        <title>fe00f6e84621ad441aa99005f2f0fefd0e5e1a2c - rcu: Support Clang&apos;s context analysis</title>
        <link>http://opengrok.net:8080/history/linux/Documentation/dev-tools/context-analysis.rst#fe00f6e84621ad441aa99005f2f0fefd0e5e1a2c</link>
        <description>rcu: Support Clang&apos;s context analysisImprove the existing annotations to properly support Clang&apos;s contextanalysis.The old annotations distinguished between RCU, RCU_BH, and RCU_SCHED;however, to more easily be able to express that &quot;hold the RCU read lock&quot;without caring if the normal, _bh(), or _sched() variant was used we&apos;dhave to remove the distinction of the latter variants: change the _bh()and _sched() variants to also acquire &quot;RCU&quot;.When (and if) we introduce context locks to denote more generally that&quot;IRQ&quot;, &quot;BH&quot;, &quot;PREEMPT&quot; contexts are disabled, it would make sense toacquire these instead of RCU_BH and RCU_SCHED respectively.The above change also simplified introducing __guarded_by support, whereonly the &quot;RCU&quot; context lock needs to be held: introduce __rcu_guarded,where Clang&apos;s context analysis warns if a pointer is dereferencedwithout any of the RCU locks held, or updated without the appropriatehelpers.The primitives rcu_assign_pointer() and friends are wrapped withcontext_unsafe(), which enforces using them to update RCU-protectedpointers marked with __rcu_guarded.Signed-off-by: Marco Elver &lt;elver@google.com&gt;Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Acked-by: Paul E. McKenney &lt;paulmck@kernel.org&gt;Link: https://patch.msgid.link/20251219154418.3592607-15-elver@google.com

            List of files:
            /linux/Documentation/dev-tools/context-analysis.rst</description>
        <pubDate>Fri, 19 Dec 2025 15:40:03 +0000</pubDate>
        <dc:creator>Marco Elver &lt;elver@google.com&gt;</dc:creator>
    </item>
<item>
        <title>eb7d96a13bf45f86909006a59e7855d8810f020a - bit_spinlock: Support Clang&apos;s context analysis</title>
        <link>http://opengrok.net:8080/history/linux/Documentation/dev-tools/context-analysis.rst#eb7d96a13bf45f86909006a59e7855d8810f020a</link>
        <description>bit_spinlock: Support Clang&apos;s context analysisThe annotations for bit_spinlock.h have simply been using &quot;bitlock&quot; asthe token. For Sparse, that was likely sufficient in most cases. ButClang&apos;s context analysis is more precise, and we need to ensure wecan distinguish different bitlocks.To do so, add a token context, and a macro __bitlock(bitnum, addr)that is used to construct unique per-bitlock tokens.Add the appropriate test.&lt;linux/list_bl.h&gt; is implicitly included through other includes, andrequires 2 annotations to indicate that acquisition (without release)and release (without prior acquisition) of its bitlock is intended.Signed-off-by: Marco Elver &lt;elver@google.com&gt;Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Link: https://patch.msgid.link/20251219154418.3592607-14-elver@google.com

            List of files:
            /linux/Documentation/dev-tools/context-analysis.rst</description>
        <pubDate>Fri, 19 Dec 2025 15:40:02 +0000</pubDate>
        <dc:creator>Marco Elver &lt;elver@google.com&gt;</dc:creator>
    </item>
<item>
        <title>8f8a55f49cda5fee914bbea1ab5af8df3a6ba8af - locking/seqlock: Support Clang&apos;s context analysis</title>
        <link>http://opengrok.net:8080/history/linux/Documentation/dev-tools/context-analysis.rst#8f8a55f49cda5fee914bbea1ab5af8df3a6ba8af</link>
        <description>locking/seqlock: Support Clang&apos;s context analysisAdd support for Clang&apos;s context analysis for seqlock_t.Signed-off-by: Marco Elver &lt;elver@google.com&gt;Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Link: https://patch.msgid.link/20251219154418.3592607-12-elver@google.com

            List of files:
            /linux/Documentation/dev-tools/context-analysis.rst</description>
        <pubDate>Fri, 19 Dec 2025 15:40:00 +0000</pubDate>
        <dc:creator>Marco Elver &lt;elver@google.com&gt;</dc:creator>
    </item>
<item>
        <title>370f0a345a70fe36d0185abf87c7ee8e70572e06 - locking/mutex: Support Clang&apos;s context analysis</title>
        <link>http://opengrok.net:8080/history/linux/Documentation/dev-tools/context-analysis.rst#370f0a345a70fe36d0185abf87c7ee8e70572e06</link>
        <description>locking/mutex: Support Clang&apos;s context analysisAdd support for Clang&apos;s context analysis for mutex.Signed-off-by: Marco Elver &lt;elver@google.com&gt;Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Link: https://patch.msgid.link/20251219154418.3592607-11-elver@google.com

            List of files:
            /linux/Documentation/dev-tools/context-analysis.rst</description>
        <pubDate>Fri, 19 Dec 2025 15:39:59 +0000</pubDate>
        <dc:creator>Marco Elver &lt;elver@google.com&gt;</dc:creator>
    </item>
<item>
        <title>f16a802d402d735a55731f8c94952b3bbb5ddfe8 - locking/rwlock, spinlock: Support Clang&apos;s context analysis</title>
        <link>http://opengrok.net:8080/history/linux/Documentation/dev-tools/context-analysis.rst#f16a802d402d735a55731f8c94952b3bbb5ddfe8</link>
        <description>locking/rwlock, spinlock: Support Clang&apos;s context analysisAdd support for Clang&apos;s context analysis for raw_spinlock_t,spinlock_t, and rwlock. This wholesale conversion is required becauseall three of them are interdependent.To avoid warnings in constructors, the initialization functions mark alock as acquired when initialized before guarded variables.The test verifies that common patterns do not generate false positives.Signed-off-by: Marco Elver &lt;elver@google.com&gt;Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Link: https://patch.msgid.link/20251219154418.3592607-9-elver@google.com

            List of files:
            /linux/Documentation/dev-tools/context-analysis.rst</description>
        <pubDate>Fri, 19 Dec 2025 15:39:57 +0000</pubDate>
        <dc:creator>Marco Elver &lt;elver@google.com&gt;</dc:creator>
    </item>
<item>
        <title>8f32441d7a532804a8d9e2ae36f9b13c353934d7 - Documentation: Add documentation for Compiler-Based Context Analysis</title>
        <link>http://opengrok.net:8080/history/linux/Documentation/dev-tools/context-analysis.rst#8f32441d7a532804a8d9e2ae36f9b13c353934d7</link>
        <description>Documentation: Add documentation for Compiler-Based Context AnalysisAdds documentation in Documentation/dev-tools/context-analysis.rst, andadds it to the index.Signed-off-by: Marco Elver &lt;elver@google.com&gt;Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Link: https://patch.msgid.link/20251219154418.3592607-5-elver@google.com

            List of files:
            /linux/Documentation/dev-tools/context-analysis.rst</description>
        <pubDate>Fri, 19 Dec 2025 15:39:53 +0000</pubDate>
        <dc:creator>Marco Elver &lt;elver@google.com&gt;</dc:creator>
    </item>
</channel>
</rss>
