)]}'
{
  "log": [
    {
      "commit": "4a26e7032d7d57c998598c08a034872d6f0d3945",
      "tree": "0b2f0b2508c4cbdaa05b4cec2b77e8bfc846945a",
      "parents": [
        "dcd8637edb873bd940e6aa82417dfb33ae980778",
        "b0a848f4a47a91a6b4d9a9fd739d047254df5a91"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 21:33:01 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 21:33:01 2025 -0800"
      },
      "message": "Merge tag \u0027core-bugs-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull bug handling infrastructure updates from Ingo Molnar:\n \"Core updates:\n\n   - Improve WARN(), which has vararg printf like arguments, to work\n     with the x86 #UD based WARN-optimizing infrastructure by hiding the\n     format in the bug_table and replacing this first argument with the\n     address of the bug-table entry, while making the actual function\n     that\u0027s called a UD1 instruction (Peter Zijlstra)\n\n   - Introduce the CONFIG_DEBUG_BUGVERBOSE_DETAILED Kconfig switch (Ingo\n     Molnar, s390 support by Heiko Carstens)\n\n  Fixes and cleanups:\n\n   - bugs/s390: Remove private WARN_ON() implementation (Heiko Carstens)\n\n   - \u003casm/bugs.h\u003e: Make i386 use GENERIC_BUG_RELATIVE_POINTERS (Peter\n     Zijlstra)\"\n\n* tag \u0027core-bugs-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (31 commits)\n  x86/bugs: Make i386 use GENERIC_BUG_RELATIVE_POINTERS\n  x86/bug: Fix BUG_FORMAT vs KASLR\n  x86_64/bug: Inline the UD1\n  x86/bug: Implement WARN_ONCE()\n  x86_64/bug: Implement __WARN_printf()\n  x86/bug: Use BUG_FORMAT for DEBUG_BUGVERBOSE_DETAILED\n  x86/bug: Add BUG_FORMAT basics\n  bug: Allow architectures to provide __WARN_printf()\n  bug: Implement WARN_ON() using __WARN_FLAGS()\n  bug: Add report_bug_entry()\n  bug: Add BUG_FORMAT_ARGS infrastructure\n  bug: Clean up CONFIG_GENERIC_BUG_RELATIVE_POINTERS\n  bug: Add BUG_FORMAT infrastructure\n  x86: Rework __bug_table helpers\n  bugs/s390: Remove private WARN_ON() implementation\n  bugs/core: Reorganize fields in the first line of WARNING output, add -\u003ecomm[] output\n  bugs/sh: Concatenate \u0027cond_str\u0027 with \u0027__FILE__\u0027 in __WARN_FLAGS(), to extend WARN_ON/BUG_ON output\n  bugs/parisc: Concatenate \u0027cond_str\u0027 with \u0027__FILE__\u0027 in __WARN_FLAGS(), to extend WARN_ON/BUG_ON output\n  bugs/riscv: Concatenate \u0027cond_str\u0027 with \u0027__FILE__\u0027 in __BUG_FLAGS(), to extend WARN_ON/BUG_ON output\n  bugs/riscv: Pass in \u0027cond_str\u0027 to __BUG_FLAGS()\n  ...\n"
    },
    {
      "commit": "dcd8637edb873bd940e6aa82417dfb33ae980778",
      "tree": "6de52669a1e868094ed7e50fd1edfa44e3e7c2cb",
      "parents": [
        "e7d81c1ed665e72c55ae5cf2d7601c09842b4013",
        "ced37e9ceae50e4cb6cd058963bd315ec9afa651"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 21:31:02 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 21:31:02 2025 -0800"
      },
      "message": "Merge tag \u0027x86-core-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core x86 updates from Ingo Molnar:\n\n - x86/alternatives: Drop unnecessary test after call to\n   alt_replace_call() (Juergen Gross)\n\n - x86/dumpstack: Prevent KASAN false positive warnings in\n   __show_regs() (Tengda Wu)\n\n* tag \u0027x86-core-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/dumpstack: Prevent KASAN false positive warnings in __show_regs()\n  x86/alternative: Drop not needed test after call of alt_replace_call()\n"
    },
    {
      "commit": "e7d81c1ed665e72c55ae5cf2d7601c09842b4013",
      "tree": "1826abfc28a9f3518f127fe321ea3ed64844e55f",
      "parents": [
        "de2f75d55ef85861ffc81c7583e0715453eb7235",
        "780813d7018067f2796f023b56b51385970be460"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 21:28:23 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 21:28:23 2025 -0800"
      },
      "message": "Merge tag \u0027x86-build-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 math-emu fix from Ingo Molnar:\n \"A single fix for an ancient prototype in the math-emu code, by Arnd\n  Bergmann\"\n\n* tag \u0027x86-build-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/math-emu: Fix div_Xsig() prototype\n"
    },
    {
      "commit": "de2f75d55ef85861ffc81c7583e0715453eb7235",
      "tree": "9256bc83e02b97dff5a6209329b16992afd243d4",
      "parents": [
        "6d2c10e889db596938bb7b4d3cdd42d67208439a",
        "ed4f9638d905a97cebd49ecea85cc9b706b73761"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 21:26:35 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 21:26:35 2025 -0800"
      },
      "message": "Merge tag \u0027x86-apic-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 apic updates from Ingo Molnar:\n\n - x86/apic: Fix the frequency in apic\u003dverbose log output (Julian\n   Stecklina)\n\n - Simplify mp_irqdomain_alloc() slightly (Christophe JAILLET)\n\n* tag \u0027x86-apic-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/apic: Fix frequency in apic\u003dverbose log output\n  x86/ioapic: Simplify mp_irqdomain_alloc() slightly\n"
    },
    {
      "commit": "6d2c10e889db596938bb7b4d3cdd42d67208439a",
      "tree": "c8adec6da2f3c89e60bf30397c7ebff7ee85e288",
      "parents": [
        "6c26fbe8c9d3e932dce6afe2505b19b4b261cae9",
        "c04507ac500e2cc8048000c2a849588227554e06"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 21:04:45 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 21:04:45 2025 -0800"
      },
      "message": "Merge tag \u0027sched-core-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler updates from Ingo Molnar:\n \"Scalability and load-balancing improvements:\n\n   - Enable scheduler feature NEXT_BUDDY (Mel Gorman)\n\n   - Reimplement NEXT_BUDDY to align with EEVDF goals (Mel Gorman)\n\n   - Skip sched_balance_running cmpxchg when balance is not due (Tim\n     Chen)\n\n   - Implement generic code for architecture specific sched domain NUMA\n     distances (Tim Chen)\n\n   - Optimize the NUMA distances of the sched-domains builds of Intel\n     Granite Rapids (GNR) and Clearwater Forest (CWF) platforms (Tim\n     Chen)\n\n   - Implement proportional newidle balance: a randomized algorithm that\n     runs newidle balancing proportional to its success rate. (Peter\n     Zijlstra)\n\n  Scheduler infrastructure changes:\n\n   - Implement the \u0027sched_change\u0027 scoped_guard() pattern for the entire\n     scheduler (Peter Zijlstra)\n\n   - More broadly utilize the sched_change guard (Peter Zijlstra)\n\n   - Add support to pick functions to take runqueue-flags (Joel\n     Fernandes)\n\n   - Provide and use set_need_resched_current() (Peter Zijlstra)\n\n  Fair scheduling enhancements:\n\n   - Forfeit vruntime on yield (Fernand Sieber)\n\n   - Only update stats for allowed CPUs when looking for dst group (Adam\n     Li)\n\n  CPU-core scheduling enhancements:\n\n   - Optimize core cookie matching check (Fernand Sieber)\n\n  Deadline scheduler fixes:\n\n   - Only set free_cpus for online runqueues (Doug Berger)\n\n   - Fix dl_server time accounting (Peter Zijlstra)\n\n   - Fix dl_server stop condition (Peter Zijlstra)\n\n  Proxy scheduling fixes:\n\n   - Yield the donor task (Fernand Sieber)\n\n  Fixes and cleanups:\n\n   - Fix do_set_cpus_allowed() locking (Peter Zijlstra)\n\n   - Fix migrate_disable_switch() locking (Peter Zijlstra)\n\n   - Remove double update_rq_clock() in __set_cpus_allowed_ptr_locked()\n     (Hao Jia)\n\n   - Increase sched_tick_remote timeout (Phil Auld)\n\n   - sched/deadline: Use cpumask_weight_and() in dl_bw_cpus() (Shrikanth\n     Hegde)\n\n   - sched/deadline: Clean up select_task_rq_dl() (Shrikanth Hegde)\"\n\n* tag \u0027sched-core-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)\n  sched: Provide and use set_need_resched_current()\n  sched/fair: Proportional newidle balance\n  sched/fair: Small cleanup to update_newidle_cost()\n  sched/fair: Small cleanup to sched_balance_newidle()\n  sched/fair: Revert max_newidle_lb_cost bump\n  sched/fair: Reimplement NEXT_BUDDY to align with EEVDF goals\n  sched/fair: Enable scheduler feature NEXT_BUDDY\n  sched: Increase sched_tick_remote timeout\n  sched/fair: Have SD_SERIALIZE affect newidle balancing\n  sched/fair: Skip sched_balance_running cmpxchg when balance is not due\n  sched/deadline: Minor cleanup in select_task_rq_dl()\n  sched/deadline: Use cpumask_weight_and() in dl_bw_cpus\n  sched/deadline: Document dl_server\n  sched/deadline: Fix dl_server stop condition\n  sched/deadline: Fix dl_server time accounting\n  sched/core: Remove double update_rq_clock() in __set_cpus_allowed_ptr_locked()\n  sched/eevdf: Fix min_vruntime vs avg_vruntime\n  sched/core: Add comment explaining force-idle vruntime snapshots\n  sched/core: Optimize core cookie matching check\n  sched/proxy: Yield the donor task\n  ...\n"
    },
    {
      "commit": "6c26fbe8c9d3e932dce6afe2505b19b4b261cae9",
      "tree": "81cc40ecd2cde95b1b37937cf270cc0fa3832c43",
      "parents": [
        "63e6995005be8ceb8a1d56a18df1a1a40c28356d",
        "9929dffce5ed7e2988e0274f4db98035508b16d9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 20:42:01 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 20:42:01 2025 -0800"
      },
      "message": "Merge tag \u0027perf-core-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull performance events updates from Ingo Molnar:\n \"Callchain support:\n\n   - Add support for deferred user-space stack unwinding for perf,\n     enabled on x86. (Peter Zijlstra, Steven Rostedt)\n\n   - unwind_user/x86: Enable frame pointer unwinding on x86 (Josh\n     Poimboeuf)\n\n  x86 PMU support and infrastructure:\n\n   - x86/insn: Simplify for_each_insn_prefix() (Peter Zijlstra)\n\n   - x86/insn,uprobes,alternative: Unify insn_is_nop() (Peter Zijlstra)\n\n  Intel PMU driver:\n\n   - Large series to prepare for and implement architectural PEBS\n     support for Intel platforms such as Clearwater Forest (CWF) and\n     Panther Lake (PTL). (Dapeng Mi, Kan Liang)\n\n   - Check dynamic constraints (Kan Liang)\n\n   - Optimize PEBS extended config (Peter Zijlstra)\n\n   - cstates:\n      - Remove PC3 support from LunarLake (Zhang Rui)\n      - Add Pantherlake support (Zhang Rui)\n      - Clearwater Forest support (Zide Chen)\n\n  AMD PMU driver:\n\n   - x86/amd: Check event before enable to avoid GPF (George Kennedy)\n\n  Fixes and cleanups:\n\n   - task_work: Fix NMI race condition (Peter Zijlstra)\n\n   - perf/x86: Fix NULL event access and potential PEBS record loss\n     (Dapeng Mi)\n\n   - Misc other fixes and cleanups (Dapeng Mi, Ingo Molnar, Peter\n     Zijlstra)\"\n\n* tag \u0027perf-core-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (38 commits)\n  perf/x86/intel: Fix and clean up intel_pmu_drain_arch_pebs() type use\n  perf/x86/intel: Optimize PEBS extended config\n  perf/x86/intel: Check PEBS dyn_constraints\n  perf/x86/intel: Add a check for dynamic constraints\n  perf/x86/intel: Add counter group support for arch-PEBS\n  perf/x86/intel: Setup PEBS data configuration and enable legacy groups\n  perf/x86/intel: Update dyn_constraint base on PEBS event precise level\n  perf/x86/intel: Allocate arch-PEBS buffer and initialize PEBS_BASE MSR\n  perf/x86/intel: Process arch-PEBS records or record fragments\n  perf/x86/intel/ds: Factor out PEBS group processing code to functions\n  perf/x86/intel/ds: Factor out PEBS record processing code to functions\n  perf/x86/intel: Initialize architectural PEBS\n  perf/x86/intel: Correct large PEBS flag check\n  perf/x86/intel: Replace x86_pmu.drain_pebs calling with static call\n  perf/x86: Fix NULL event access and potential PEBS record loss\n  perf/x86: Remove redundant is_x86_event() prototype\n  entry,unwind/deferred: Fix unwind_reset_info() placement\n  unwind_user/x86: Fix arch\u003dum build\n  perf: Support deferred user unwind\n  unwind_user/x86: Teach FP unwind about start of function\n  ...\n"
    },
    {
      "commit": "63e6995005be8ceb8a1d56a18df1a1a40c28356d",
      "tree": "9dc6af0e1ab47710fe21cf7cfd95b1d28b6bec27",
      "parents": [
        "b53440f8e5a1466870d7a1d255e0f9966e0041fb",
        "6ec33db1aaf06a76fb063610e668f8e12f32ebbf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 20:18:59 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 20:18:59 2025 -0800"
      },
      "message": "Merge tag \u0027objtool-core-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull objtool updates from Ingo Molnar:\n\n - klp-build livepatch module generation (Josh Poimboeuf)\n\n   Introduce new objtool features and a klp-build script to generate\n   livepatch modules using a source .patch as input.\n\n   This builds on concepts from the longstanding out-of-tree kpatch\n   project which began in 2012 and has been used for many years to\n   generate livepatch modules for production kernels. However, this is a\n   complete rewrite which incorporates hard-earned lessons from 12+\n   years of maintaining kpatch.\n\n   Key improvements compared to kpatch-build:\n\n    - Integrated with objtool: Leverages objtool\u0027s existing control-flow\n      graph analysis to help detect changed functions.\n\n    - Works on vmlinux.o: Supports late-linked objects, making it\n      compatible with LTO, IBT, and similar.\n\n    - Simplified code base: ~3k fewer lines of code.\n\n    - Upstream: No more out-of-tree #ifdef hacks, far less cruft.\n\n    - Cleaner internals: Vastly simplified logic for\n      symbol/section/reloc inclusion and special section extraction.\n\n    - Robust __LINE__ macro handling: Avoids false positive binary diffs\n      caused by the __LINE__ macro by introducing a fix-patch-lines\n      script which injects #line directives into the source .patch to\n      preserve the original line numbers at compile time.\n\n - Disassemble code with libopcodes instead of running objdump\n   (Alexandre Chartre)\n\n - Disassemble support (-d option to objtool) by Alexandre Chartre,\n   which supports the decoding of various Linux kernel code generation\n   specials such as alternatives:\n\n      17ef:  sched_balance_find_dst_group+0x62f                 mov    0x34(%r9),%edx\n      17f3:  sched_balance_find_dst_group+0x633               | \u003calternative.17f3\u003e             | X86_FEATURE_POPCNT\n      17f3:  sched_balance_find_dst_group+0x633               | call   0x17f8 \u003c__sw_hweight64\u003e | popcnt %rdi,%rax\n      17f8:  sched_balance_find_dst_group+0x638                 cmp    %eax,%edx\n\n   ... jump table alternatives:\n\n      1895:  sched_use_asym_prio+0x5                            test   $0x8,%ch\n      1898:  sched_use_asym_prio+0x8                            je     0x18a9 \u003csched_use_asym_prio+0x19\u003e\n      189a:  sched_use_asym_prio+0xa                          | \u003cjump_table.189a\u003e                        | JUMP\n      189a:  sched_use_asym_prio+0xa                          | jmp    0x18ae \u003csched_use_asym_prio+0x1e\u003e | nop2\n      189c:  sched_use_asym_prio+0xc                            mov    $0x1,%eax\n      18a1:  sched_use_asym_prio+0x11                           and    $0x80,%ecx\n\n   ... exception table alternatives:\n\n    native_read_msr:\n      5b80:  native_read_msr+0x0                                                     mov    %edi,%ecx\n      5b82:  native_read_msr+0x2                                                   | \u003cex_table.5b82\u003e | EXCEPTION\n      5b82:  native_read_msr+0x2                                                   | rdmsr           | resume at 0x5b84 \u003cnative_read_msr+0x4\u003e\n      5b84:  native_read_msr+0x4                                                     shl    $0x20,%rdx\n\n   .... x86 feature flag decoding (also see the X86_FEATURE_POPCNT\n        example in sched_balance_find_dst_group() above):\n\n      2faaf:  start_thread_common.constprop.0+0x1f                                    jne    0x2fba4 \u003cstart_thread_common.constprop.0+0x114\u003e\n      2fab5:  start_thread_common.constprop.0+0x25                                  | \u003calternative.2fab5\u003e                  | X86_FEATURE_ALWAYS                                  | X86_BUG_NULL_SEG\n      2fab5:  start_thread_common.constprop.0+0x25                                  | jmp    0x2faba \u003c.altinstr_aux+0x2f4\u003e | jmp    0x4b0 \u003cstart_thread_common.constprop.0+0x3f\u003e | nop5\n      2faba:  start_thread_common.constprop.0+0x2a                                    mov    $0x2b,%eax\n\n   ... NOP sequence shortening:\n\n      1048e2:  snapshot_write_finalize+0xc2                                            je     0x104917 \u003csnapshot_write_finalize+0xf7\u003e\n      1048e4:  snapshot_write_finalize+0xc4                                            nop6\n      1048ea:  snapshot_write_finalize+0xca                                            nop11\n      1048f5:  snapshot_write_finalize+0xd5                                            nop11\n      104900:  snapshot_write_finalize+0xe0                                            mov    %rax,%rcx\n      104903:  snapshot_write_finalize+0xe3                                            mov    0x10(%rdx),%rax\n\n   ... and much more.\n\n - Function validation tracing support (Alexandre Chartre)\n\n - Various -ffunction-sections fixes (Josh Poimboeuf)\n\n - Clang AutoFDO (Automated Feedback-Directed Optimizations) support\n   (Josh Poimboeuf)\n\n - Misc fixes and cleanups (Borislav Petkov, Chen Ni, Dylan Hatch, Ingo\n   Molnar, John Wang, Josh Poimboeuf, Pankaj Raghav, Peter Zijlstra,\n   Thorsten Blum)\n\n* tag \u0027objtool-core-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (129 commits)\n  objtool: Fix segfault on unknown alternatives\n  objtool: Build with disassembly can fail when including bdf.h\n  objtool: Trim trailing NOPs in alternative\n  objtool: Add wide output for disassembly\n  objtool: Compact output for alternatives with one instruction\n  objtool: Improve naming of group alternatives\n  objtool: Add Function to get the name of a CPU feature\n  objtool: Provide access to feature and flags of group alternatives\n  objtool: Fix address references in alternatives\n  objtool: Disassemble jump table alternatives\n  objtool: Disassemble exception table alternatives\n  objtool: Print addresses with alternative instructions\n  objtool: Disassemble group alternatives\n  objtool: Print headers for alternatives\n  objtool: Preserve alternatives order\n  objtool: Add the --disas\u003d\u003cfunction-pattern\u003e action\n  objtool: Do not validate IBT for .return_sites and .call_sites\n  objtool: Improve tracing of alternative instructions\n  objtool: Add functions to better name alternatives\n  objtool: Identify the different types of alternatives\n  ...\n"
    },
    {
      "commit": "b53440f8e5a1466870d7a1d255e0f9966e0041fb",
      "tree": "72dd9cb31730d6fd3fea65ca49ba6b29009637b8",
      "parents": [
        "1b5dd29869b1e63f7e5c37d7552e2dcf22de3c26",
        "43decb6b628eb033a1b6188e5018773c0d38be1d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 19:50:58 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 19:50:58 2025 -0800"
      },
      "message": "Merge tag \u0027locking-core-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull locking updates from Ingo Molnar:\n \"Mutexes:\n\n   - Redo __mutex_init() to reduce generated code size (Sebastian\n     Andrzej Siewior)\n\n  Seqlocks:\n\n   - Introduce scoped_seqlock_read() (Peter Zijlstra)\n\n   - Change thread_group_cputime() to use scoped_seqlock_read() (Oleg\n     Nesterov)\n\n   - Change do_task_stat() to use scoped_seqlock_read() (Oleg Nesterov)\n\n   - Change do_io_accounting() to use scoped_seqlock_read() (Oleg\n     Nesterov)\n\n   - Fix the incorrect documentation of read_seqbegin_or_lock() /\n     need_seqretry() (Oleg Nesterov)\n\n   - Allow KASAN to fail optimizing (Peter Zijlstra)\n\n  Local lock updates:\n\n   - Fix all kernel-doc warnings (Randy Dunlap)\n\n   - Add the \u003clinux/local_lock*.h\u003e headers to MAINTAINERS (Sebastian\n     Andrzej Siewior)\n\n   - Reduce the risk of shadowing via s/l/__l/ and s/tl/__tl/ (Vincent\n     Mailhol)\n\n  Lock debugging:\n\n   - spinlock/debug: Fix data-race in do_raw_write_lock (Alexander\n     Sverdlin)\n\n  Atomic primitives infrastructure:\n\n   - atomic: Skip alignment check for try_cmpxchg() old arg (Arnd\n     Bergmann)\n\n  Rust runtime integration:\n\n   - sync: atomic: Enable generated Atomic\u003cT\u003e usage (Boqun Feng)\n\n   - sync: atomic: Implement Debug for Atomic\u003cDebug\u003e (Boqun Feng)\n\n   - debugfs: Remove Rust native atomics and replace them with Linux\n     versions (Boqun Feng)\n\n   - debugfs: Implement Reader for Mutex\u003cT\u003e only when T is Unpin (Boqun\n     Feng)\n\n   - lock: guard: Add T: Unpin bound to DerefMut (Daniel Almeida)\n\n   - lock: Pin the inner data (Daniel Almeida)\n\n   - lock: Add a Pin\u003c\u0026mut T\u003e accessor (Daniel Almeida)\"\n\n* tag \u0027locking-core-2025-12-01\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  locking/local_lock: Fix all kernel-doc warnings\n  locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce the risk of shadowing\n  locking/local_lock: Add the \u003clinux/local_lock*.h\u003e headers to MAINTAINERS\n  locking/mutex: Redo __mutex_init() to reduce generated code size\n  rust: debugfs: Replace the usage of Rust native atomics\n  rust: sync: atomic: Implement Debug for Atomic\u003cDebug\u003e\n  rust: sync: atomic: Make Atomic*Ops pub(crate)\n  seqlock: Allow KASAN to fail optimizing\n  rust: debugfs: Implement Reader for Mutex\u003cT\u003e only when T is Unpin\n  seqlock: Change do_io_accounting() to use scoped_seqlock_read()\n  seqlock: Change do_task_stat() to use scoped_seqlock_read()\n  seqlock: Change thread_group_cputime() to use scoped_seqlock_read()\n  seqlock: Introduce scoped_seqlock_read()\n  documentation: seqlock: fix the wrong documentation of read_seqbegin_or_lock/need_seqretry\n  atomic: Skip alignment check for try_cmpxchg() old arg\n  rust: lock: Add a Pin\u003c\u0026mut T\u003e accessor\n  rust: lock: Pin the inner data\n  rust: lock: guard: Add T: Unpin bound to DerefMut\n  locking/spinlock/debug: Fix data-race in do_raw_write_lock\n"
    },
    {
      "commit": "1b5dd29869b1e63f7e5c37d7552e2dcf22de3c26",
      "tree": "11785d66fcfc49273da7448bb28fcb64238c2afd",
      "parents": [
        "ffbf700df204dd25a48a19979a126e37f5dd1e6a",
        "0512bf9701f339c8fee2cc82b6fc35f0a8f6be7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 17:32:07 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 17:32:07 2025 -0800"
      },
      "message": "Merge tag \u0027vfs-6.19-rc1.fd_prepare.fs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull fd prepare updates from Christian Brauner:\n \"This adds the FD_ADD() and FD_PREPARE() primitive. They simplify the\n  common pattern of get_unused_fd_flags() + create file + fd_install()\n  that is used extensively throughout the kernel and currently requires\n  cumbersome cleanup paths.\n\n  FD_ADD() - For simple cases where a file is installed immediately:\n\n      fd \u003d FD_ADD(O_CLOEXEC, vfio_device_open_file(device));\n      if (fd \u003c 0)\n          vfio_device_put_registration(device);\n      return fd;\n\n  FD_PREPARE() - For cases requiring access to the fd or file, or\n  additional work before publishing:\n\n      FD_PREPARE(fdf, O_CLOEXEC, sync_file-\u003efile);\n      if (fdf.err) {\n          fput(sync_file-\u003efile);\n          return fdf.err;\n      }\n\n      data.fence \u003d fd_prepare_fd(fdf);\n      if (copy_to_user((void __user *)arg, \u0026data, sizeof(data)))\n          return -EFAULT;\n\n      return fd_publish(fdf);\n\n  The primitives are centered around struct fd_prepare. FD_PREPARE()\n  encapsulates all allocation and cleanup logic and must be followed by\n  a call to fd_publish() which associates the fd with the file and\n  installs it into the caller\u0027s fdtable. If fd_publish() isn\u0027t called,\n  both are deallocated automatically. FD_ADD() is a shorthand that does\n  fd_publish() immediately and never exposes the struct to the caller.\n\n  I\u0027ve implemented this in a way that it\u0027s compatible with the cleanup\n  infrastructure while also being usable separately. IOW, it\u0027s centered\n  around struct fd_prepare which is aliased to class_fd_prepare_t and so\n  we can make use of all the basica guard infrastructure\"\n\n* tag \u0027vfs-6.19-rc1.fd_prepare.fs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (42 commits)\n  io_uring: convert io_create_mock_file() to FD_PREPARE()\n  file: convert replace_fd() to FD_PREPARE()\n  vfio: convert vfio_group_ioctl_get_device_fd() to FD_ADD()\n  tty: convert ptm_open_peer() to FD_ADD()\n  ntsync: convert ntsync_obj_get_fd() to FD_PREPARE()\n  media: convert media_request_alloc() to FD_PREPARE()\n  hv: convert mshv_ioctl_create_partition() to FD_ADD()\n  gpio: convert linehandle_create() to FD_PREPARE()\n  pseries: port papr_rtas_setup_file_interface() to FD_ADD()\n  pseries: convert papr_platform_dump_create_handle() to FD_ADD()\n  spufs: convert spufs_gang_open() to FD_PREPARE()\n  papr-hvpipe: convert papr_hvpipe_dev_create_handle() to FD_PREPARE()\n  spufs: convert spufs_context_open() to FD_PREPARE()\n  net/socket: convert __sys_accept4_file() to FD_ADD()\n  net/socket: convert sock_map_fd() to FD_ADD()\n  net/kcm: convert kcm_ioctl() to FD_PREPARE()\n  net/handshake: convert handshake_nl_accept_doit() to FD_PREPARE()\n  secretmem: convert memfd_secret() to FD_ADD()\n  memfd: convert memfd_create() to FD_ADD()\n  bpf: convert bpf_token_create() to FD_PREPARE()\n  ...\n"
    },
    {
      "commit": "ffbf700df204dd25a48a19979a126e37f5dd1e6a",
      "tree": "d92bf07cda161c226d90baef25423faa65a8acbf",
      "parents": [
        "d0deeb803cd65c41c37ac106063c46c51d5d43ab",
        "922a6f34c1756d2b0c35d9b2d915b8af19e85965"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 16:38:21 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 16:38:21 2025 -0800"
      },
      "message": "Merge tag \u0027vfs-6.19-rc1.autofs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull autofs update from Christian Brauner:\n \"Prevent futile mount triggers in private mount namespaces.\n\n  Fix a problematic loop in autofs when a mount namespace contains\n  autofs mounts that are propagation private and there is no\n  namespace-specific automount daemon to handle possible automounting.\n\n  Previously, attempted path resolution would loop until MAXSYMLINKS was\n  reached before failing, causing significant noise in the log.\n\n The fix adds a check in autofs -\u003ed_automount() so that the VFS can\n immediately return EPERM in this case. Since the mount is propagation\n private, EPERM is the most appropriate error code\"\n\n* tag \u0027vfs-6.19-rc1.autofs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:\n  autofs: dont trigger mount if it cant succeed\n"
    },
    {
      "commit": "d0deeb803cd65c41c37ac106063c46c51d5d43ab",
      "tree": "5ed8daa4b88c3bfe05ba8460b8aa41554c354eb2",
      "parents": [
        "a8058f8442df3150fa58154672f4a62a13e833e5",
        "2579e21be532457742d4100bbda1c2a5b81cbdef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 16:31:21 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 16:31:21 2025 -0800"
      },
      "message": "Merge tag \u0027vfs-6.19-rc1.ovl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull overlayfs cred guard conversion from Christian Brauner:\n \"This converts all of overlayfs to use credential guards, eliminating\n  manual credential management throughout the filesystem.\n\n  Credential guard conversion:\n\n   - Convert all of overlayfs to use credential guards, replacing the\n     manual ovl_override_creds()/ovl_revert_creds() pattern with scoped\n     guards.\n\n     This makes credential handling visually explicit and eliminates a\n     class of potential bugs from mismatched override/revert calls.\n\n     (1) Basic credential guard (with_ovl_creds)\n     (2) Creator credential guard (ovl_override_creator_creds):\n\n         Introduced a specialized guard for file creation operations\n         that handles the two-phase credential override (mounter\n         credentials, then fs{g,u}id override). The new pattern is much\n         clearer:\n\n         with_ovl_creds(dentry-\u003ed_sb) {\n                 scoped_class(prepare_creds_ovl, cred, dentry, inode, mode) {\n                         if (IS_ERR(cred))\n                                 return PTR_ERR(cred);\n                         /* creation operations */\n                 }\n         }\n\n     (3) Copy-up credential guard (ovl_cu_creds):\n\n         Introduced a specialized guard for copy-up operations,\n         simplifying the previous struct ovl_cu_creds helper and\n         associated functions.\n\n         Ported ovl_copy_up_workdir() and ovl_copy_up_tmpfile() to this\n         pattern.\n\n  Cleanups:\n\n   - Remove ovl_revert_creds() after all callers converted to guards\n\n   - Remove struct ovl_cu_creds and associated functions\n\n   - Drop ovl_setup_cred_for_create() after conversion\n\n   - Refactor ovl_fill_super(), ovl_lookup(), ovl_iterate(),\n     ovl_rename() for cleaner credential guard scope\n\n   - Introduce struct ovl_renamedata to simplify rename handling\n\n   - Don\u0027t override credentials for ovl_check_whiteouts() (unnecessary)\n\n   - Remove unneeded semicolon\"\n\n* tag \u0027vfs-6.19-rc1.ovl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (54 commits)\n  ovl: remove unneeded semicolon\n  ovl: remove struct ovl_cu_creds and associated functions\n  ovl: port ovl_copy_up_tmpfile() to cred guard\n  ovl: mark *_cu_creds() as unused temporarily\n  ovl: port ovl_copy_up_workdir() to cred guard\n  ovl: add copy up credential guard\n  ovl: drop ovl_setup_cred_for_create()\n  ovl: port ovl_create_or_link() to new ovl_override_creator_creds cleanup guard\n  ovl: mark ovl_setup_cred_for_create() as unused temporarily\n  ovl: reflow ovl_create_or_link()\n  ovl: port ovl_create_tmpfile() to new ovl_override_creator_creds cleanup guard\n  ovl: add ovl_override_creator_creds cred guard\n  ovl: remove ovl_revert_creds()\n  ovl: port ovl_fill_super() to cred guard\n  ovl: refactor ovl_fill_super()\n  ovl: port ovl_lower_positive() to cred guard\n  ovl: port ovl_lookup() to cred guard\n  ovl: refactor ovl_lookup()\n  ovl: port ovl_copyfile() to cred guard\n  ovl: port ovl_rename() to cred guard\n  ...\n"
    },
    {
      "commit": "a8058f8442df3150fa58154672f4a62a13e833e5",
      "tree": "a35d60f6e1861614a5227f9667287a447adc9291",
      "parents": [
        "db74a7d02ae244ec0552d18f51054f9ae0d921ad",
        "eeec741ee0df36e79a847bb5423f9eef4ed96071"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 16:13:46 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 16:13:46 2025 -0800"
      },
      "message": "Merge tag \u0027vfs-6.19-rc1.directory.locking\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull directory locking updates from Christian Brauner:\n \"This contains the work to add centralized APIs for directory locking\n  operations.\n\n  This series is part of a larger effort to change directory operation\n  locking to allow multiple concurrent operations in a directory. The\n  ultimate goal is to lock the target dentry(s) rather than the whole\n  parent directory.\n\n  To help with changing the locking protocol, this series centralizes\n  locking and lookup in new helper functions. The helpers establish a\n  pattern where it is the dentry that is being locked and unlocked\n  (currently the lock is held on dentry-\u003ed_parent-\u003ed_inode, but that can\n  change in the future).\n\n  This also changes vfs_mkdir() to unlock the parent on failure, as well\n  as dput()ing the dentry. This allows end_creating() to only require\n  the target dentry (which may be IS_ERR() after vfs_mkdir()), not the\n  parent\"\n\n* tag \u0027vfs-6.19-rc1.directory.locking\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:\n  nfsd: fix end_creating() conversion\n  VFS: introduce end_creating_keep()\n  VFS: change vfs_mkdir() to unlock on failure.\n  ecryptfs: use new start_creating/start_removing APIs\n  Add start_renaming_two_dentries()\n  VFS/ovl/smb: introduce start_renaming_dentry()\n  VFS/nfsd/ovl: introduce start_renaming() and end_renaming()\n  VFS: add start_creating_killable() and start_removing_killable()\n  VFS: introduce start_removing_dentry()\n  smb/server: use end_removing_noperm for for target of smb2_create_link()\n  VFS: introduce start_creating_noperm() and start_removing_noperm()\n  VFS/nfsd/cachefiles/ovl: introduce start_removing() and end_removing()\n  VFS/nfsd/cachefiles/ovl: add start_creating() and end_creating()\n  VFS: tidy up do_unlinkat()\n  VFS: introduce start_dirop() and end_dirop()\n  debugfs: rename end_creating() to debugfs_end_creating()\n"
    },
    {
      "commit": "db74a7d02ae244ec0552d18f51054f9ae0d921ad",
      "tree": "5f5de7b84f050774b6ae8593e2535be03c9aeaa6",
      "parents": [
        "4664fb427c8fd0080f40109f5e2b2090a6fb0c84",
        "4be9e04ebf75a5c4478c1c6295e2122e5dc98f5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 15:34:41 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 15:34:41 2025 -0800"
      },
      "message": "Merge tag \u0027vfs-6.19-rc1.directory.delegations\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull directory delegations update from Christian Brauner:\n \"This contains the work for recall-only directory delegations for\n  knfsd.\n\n  Add support for simple, recallable-only directory delegations. This\n  was decided at the fall NFS Bakeathon where the NFS client and server\n  maintainers discussed how to merge directory delegation support.\n\n  The approach starts with recallable-only delegations for several reasons:\n\n   1. RFC8881 has gaps that are being addressed in RFC8881bis. In\n      particular, it requires directory position information for\n      CB_NOTIFY callbacks, which is difficult to implement properly\n      under Linux. The spec is being extended to allow that information\n      to be omitted.\n\n   2. Client-side support for CB_NOTIFY still lags. The client side\n      involves heuristics about when to request a delegation.\n\n   3. Early indication shows simple, recallable-only delegations can\n      help performance. Anna Schumaker mentioned seeing a multi-minute\n      speedup in xfstests runs with them enabled.\n\n  With these changes, userspace can also request a read lease on a\n  directory that will be recalled on conflicting accesses. This may be\n  useful for applications like Samba. Users can disable leases\n  altogether via the fs.leases-enable sysctl if needed.\n\n  VFS changes:\n\n   - Dedicated Type for Delegations\n\n     Introduce struct delegated_inode to track inodes that may have\n     delegations that need to be broken. This replaces the previous\n     approach of passing raw inode pointers through the delegation\n     breaking code paths, providing better type safety and clearer\n     semantics for the delegation machinery.\n\n   - Break parent directory delegations in open(..., O_CREAT) codepath\n\n   - Allow mkdir to wait for delegation break on parent\n\n   - Allow rmdir to wait for delegation break on parent\n\n   - Add try_break_deleg calls for parents to vfs_link(), vfs_rename(),\n     and vfs_unlink()\n\n   - Make vfs_create(), vfs_mknod(), and vfs_symlink() break delegations\n     on parent directory\n\n   - Clean up argument list for vfs_create()\n\n   - Expose delegation support to userland\n\n  Filelock changes:\n\n   - Make lease_alloc() take a flags argument\n\n   - Rework the __break_lease API to use flags\n\n   - Add struct delegated_inode\n\n   - Push the S_ISREG check down to -\u003esetlease handlers\n\n   - Lift the ban on directory leases in generic_setlease\n\n  NFSD changes:\n\n   - Allow filecache to hold S_IFDIR files\n\n   - Allow DELEGRETURN on directories\n\n   - Wire up GET_DIR_DELEGATION handling\n\n  Fixes:\n\n   - Fix kernel-doc warnings in __fcntl_getlease\n\n   - Add needed headers for new struct delegation definition\"\n\n* tag \u0027vfs-6.19-rc1.directory.delegations\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:\n  vfs: add needed headers for new struct delegation definition\n  filelock: __fcntl_getlease: fix kernel-doc warnings\n  vfs: expose delegation support to userland\n  nfsd: wire up GET_DIR_DELEGATION handling\n  nfsd: allow DELEGRETURN on directories\n  nfsd: allow filecache to hold S_IFDIR files\n  filelock: lift the ban on directory leases in generic_setlease\n  vfs: make vfs_symlink break delegations on parent dir\n  vfs: make vfs_mknod break delegations on parent directory\n  vfs: make vfs_create break delegations on parent directory\n  vfs: clean up argument list for vfs_create()\n  vfs: break parent dir delegations in open(..., O_CREAT) codepath\n  vfs: allow rmdir to wait for delegation break on parent\n  vfs: allow mkdir to wait for delegation break on parent\n  vfs: add try_break_deleg calls for parents to vfs_{link,rename,unlink}\n  filelock: push the S_ISREG check down to -\u003esetlease handlers\n  filelock: add struct delegated_inode\n  filelock: rework the __break_lease API to use flags\n  filelock: make lease_alloc() take a flags argument\n"
    },
    {
      "commit": "4664fb427c8fd0080f40109f5e2b2090a6fb0c84",
      "tree": "194e3ffbe9775535ebe843b954c25734b941a4cd",
      "parents": [
        "978d337c2ed6e5313ee426871a410eddc796ccfd",
        "0d534518ce87317e884dbd1485111b0f1606a194"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 15:22:40 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 15:22:40 2025 -0800"
      },
      "message": "Merge tag \u0027vfs-6.19-rc1.minix\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull minix fixes from Christian Brauner:\n \"Fix two syzbot corruption bugs in the minix filesystem.\n\n  Syzbot fuzzes filesystems by trying to mount and manipulate\n  deliberately corrupted images. This should not lead to BUG_ONs and\n  WARN_ONs for easy to detect corruptions.\n\n   - Add error handling to minix filesystem for inode corruption\n     detection, enabling the filesystem to report such corruptions\n     cleanly.\n\n   - Fix a drop_nlink warning in minix_rmdir() triggered by corrupted\n     directory link counts.\n\n   - Fix a drop_nlink warning in minix_rename() triggered by corrupted\n     inode link counts\"\n\n* tag \u0027vfs-6.19-rc1.minix\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:\n  Fix a drop_nlink warning in minix_rename\n  Fix a drop_nlink warning in minix_rmdir\n  Add error handling to minix filesystem for inode corruption detection\n"
    },
    {
      "commit": "978d337c2ed6e5313ee426871a410eddc796ccfd",
      "tree": "b12791ca01da7a745ed8728f43462fabfeecf352",
      "parents": [
        "afdf0fb340948a8c0f581ed1dc42828af89b80b6",
        "73fd0dba0beb1d2d1695ee5452eac8dfabce3f9e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 14:39:03 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 14:39:03 2025 -0800"
      },
      "message": "Merge tag \u0027vfs-6.19-rc1.guards\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull superblock lock guard updates from Christian Brauner:\n \"This starts the work of introducing guards for superblock related\n  locks.\n\n  Introduce super_write_guard for scoped superblock write protection.\n\n  This provides a guard-based alternative to the manual sb_start_write()\n  and sb_end_write() pattern, allowing the compiler to automatically\n  handle the cleanup\"\n\n* tag \u0027vfs-6.19-rc1.guards\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:\n  xfs: use super write guard in xfs_file_ioctl()\n  open: use super write guard in do_ftruncate()\n  btrfs: use super write guard in relocating_repair_kthread()\n  ext4: use super write guard in write_mmp_block()\n  btrfs: use super write guard in sb_start_write()\n  btrfs: use super write guard btrfs_run_defrag_inode()\n  btrfs: use super write guard in btrfs_reclaim_bgs_work()\n  fs: add super_write_guard\n"
    },
    {
      "commit": "afdf0fb340948a8c0f581ed1dc42828af89b80b6",
      "tree": "aedc3946c80e6125506290c186981c77518535f1",
      "parents": [
        "1d18101a644e6ece450d5b0a93f21a71a21b6222",
        "dca3aa666fbd71118905d88bb1c353881002b647"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 14:18:01 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 14:18:01 2025 -0800"
      },
      "message": "Merge tag \u0027vfs-6.19-rc1.fs_header\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull fs header updates from Christian Brauner:\n \"This contains initial work to start splitting up fs.h.\n\n  Begin the long-overdue work of splitting up the monolithic fs.h\n  header. The header has grown to over 3000 lines and includes types and\n  functions for many different subsystems, making it difficult to\n  navigate and causing excessive compilation dependencies.\n\n  This series introduces new focused headers for superblock-related\n  code:\n\n   - Rename fs_types.h to fs_dirent.h to better reflect its actual\n     content (directory entry types)\n\n   - Add fs/super_types.h containing superblock type definitions\n\n   - Add fs/super.h containing superblock function declarations\n\n  This is the first step in a longer effort to modularize the VFS\n  headers.\n\n  Cleanups:\n\n   - Inode Field Layout Optimization (Mateusz Guzik)\n\n     Move inode fields used during fast path lookup closer together to\n     improve cache locality during path resolution.\n\n   - current_umask() Optimization (Mateusz Guzik)\n\n     Inline current_umask() and move it to fs_struct.h. This improves\n     performance by avoiding function call overhead for this\n     frequently-used function, and places it in a more appropriate\n     header since it operates on fs_struct\"\n\n* tag \u0027vfs-6.19-rc1.fs_header\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:\n  fs: move inode fields used during fast path lookup closer together\n  fs: inline current_umask() and move it to fs_struct.h\n  fs: add fs/super.h header\n  fs: add fs/super_types.h header\n  fs: rename fs_types.h to fs_dirent.h\n"
    },
    {
      "commit": "1d18101a644e6ece450d5b0a93f21a71a21b6222",
      "tree": "1b4470c3b046837e8f3f94ca7436056824376875",
      "parents": [
        "f2e74ecfba1b0d407f04b671a240cc65e309e529",
        "c8e00cdc7425d5c60fd1ce6e7f71e5fb1b236991"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 13:45:41 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 13:45:41 2025 -0800"
      },
      "message": "Merge tag \u0027kernel-6.19-rc1.cred\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull cred guard updates from Christian Brauner:\n \"This contains substantial credential infrastructure improvements\n  adding guard-based credential management that simplifies code and\n  eliminates manual reference counting in many subsystems.\n\n  Features:\n\n   - Kernel Credential Guards\n\n     Add with_kernel_creds() and scoped_with_kernel_creds() guards that\n     allow using the kernel credentials without allocating and copying\n     them. This was requested by Linus after seeing repeated\n     prepare_kernel_creds() calls that duplicate the kernel credentials\n     only to drop them again later.\n\n     The new guards completely avoid the allocation and never expose the\n     temporary variable to hold the kernel credentials anywhere in\n     callers.\n\n   - Generic Credential Guards\n\n     Add scoped_with_creds() guards for the common override_creds() and\n     revert_creds() pattern. This builds on earlier work that made\n     override_creds()/revert_creds() completely reference count free.\n\n   - Prepare Credential Guards\n\n     Add prepare credential guards for the more complex pattern of\n     preparing a new set of credentials and overriding the current\n     credentials with them:\n      - prepare_creds()\n      - modify new creds\n      - override_creds()\n      - revert_creds()\n      - put_cred()\n\n  Cleanups:\n\n   - Make init_cred static since it should not be directly accessed\n\n   - Add kernel_cred() helper to properly access the kernel credentials\n\n   - Fix scoped_class() macro that was introduced two cycles ago\n\n   - coredump: split out do_coredump() from vfs_coredump() for cleaner\n     credential handling\n\n   - coredump: move revert_cred() before coredump_cleanup()\n\n   - coredump: mark struct mm_struct as const\n\n   - coredump: pass struct linux_binfmt as const\n\n   - sev-dev: use guard for path\"\n\n* tag \u0027kernel-6.19-rc1.cred\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (36 commits)\n  trace: use override credential guard\n  trace: use prepare credential guard\n  coredump: use override credential guard\n  coredump: use prepare credential guard\n  coredump: split out do_coredump() from vfs_coredump()\n  coredump: mark struct mm_struct as const\n  coredump: pass struct linux_binfmt as const\n  coredump: move revert_cred() before coredump_cleanup()\n  sev-dev: use override credential guards\n  sev-dev: use prepare credential guard\n  sev-dev: use guard for path\n  cred: add prepare credential guard\n  net/dns_resolver: use credential guards in dns_query()\n  cgroup: use credential guards in cgroup_attach_permissions()\n  act: use credential guards in acct_write_process()\n  smb: use credential guards in cifs_get_spnego_key()\n  nfs: use credential guards in nfs_idmap_get_key()\n  nfs: use credential guards in nfs_local_call_write()\n  nfs: use credential guards in nfs_local_call_read()\n  erofs: use credential guards\n  ...\n"
    },
    {
      "commit": "f2e74ecfba1b0d407f04b671a240cc65e309e529",
      "tree": "127d6d64e1e4e94f969124009c0248f87fde5227",
      "parents": [
        "212c4053a1502e5117d8cbbbd1c15579ce1839bb",
        "37d369fa97cc0774ea4eab726d16bcb5fbe3a104"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 10:26:38 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 10:26:38 2025 -0800"
      },
      "message": "Merge tag \u0027vfs-6.19-rc1.folio\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull folio updates from Christian Brauner:\n \"Add a new folio_next_pos() helper function that returns the file\n  position of the first byte after the current folio. This is a common\n  operation in filesystems when needing to know the end of the current\n  folio.\n\n  The helper is lifted from btrfs which already had its own version, and\n  is now used across multiple filesystems and subsystems:\n   - btrfs\n   - buffer\n   - ext4\n   - f2fs\n   - gfs2\n   - iomap\n   - netfs\n   - xfs\n   - mm\n\n  This fixes a long-standing bug in ocfs2 on 32-bit systems with files\n  larger than 2GiB. Presumably this is not a common configuration, but\n  the fix is backported anyway. The other filesystems did not have bugs,\n  they were just mildly inefficient.\n\n  This also introduce uoff_t as the unsigned version of loff_t. A recent\n  commit inadvertently changed a comparison from being unsigned (on\n  64-bit systems) to being signed (which it had always been on 32-bit\n  systems), leading to sporadic fstests failures.\n\n  Generally file sizes are restricted to being a signed integer, but in\n  places where -1 is passed to indicate \"up to the end of the file\", it\n  is convenient to have an unsigned type to ensure comparisons are\n  always unsigned regardless of architecture\"\n\n* tag \u0027vfs-6.19-rc1.folio\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:\n  fs: Add uoff_t\n  mm: Use folio_next_pos()\n  xfs: Use folio_next_pos()\n  netfs: Use folio_next_pos()\n  iomap: Use folio_next_pos()\n  gfs2: Use folio_next_pos()\n  f2fs: Use folio_next_pos()\n  ext4: Use folio_next_pos()\n  buffer: Use folio_next_pos()\n  btrfs: Use folio_next_pos()\n  filemap: Add folio_next_pos()\n"
    },
    {
      "commit": "212c4053a1502e5117d8cbbbd1c15579ce1839bb",
      "tree": "3cde8f505314577d9261ef45585e949298f46b0e",
      "parents": [
        "415d34b92c1f921a9ff3c38f56319cbc5536f642",
        "390d967653e17205f0e519f691b7d6be0a05ff45"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 10:17:39 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 10:17:39 2025 -0800"
      },
      "message": "Merge tag \u0027vfs-6.19-rc1.coredump\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull pidfd and coredump updates from Christian Brauner:\n \"Features:\n\n   - Expose coredump signal via pidfd\n\n     Expose the signal that caused the coredump through the pidfd\n     interface. The recent changes to rework coredump handling to rely\n     on unix sockets are in the process of being used in systemd. The\n     previous systemd coredump container interface requires the coredump\n     file descriptor and basic information including the signal number\n     to be sent to the container. This means the signal number needs to\n     be available before sending the coredump to the container.\n\n   - Add supported_mask field to pidfd\n\n     Add a new supported_mask field to struct pidfd_info that indicates\n     which information fields are supported by the running kernel. This\n     allows userspace to detect feature availability without relying on\n     error codes or kernel version checks.\n\n  Cleanups:\n\n   - Drop struct pidfs_exit_info and prepare to drop exit_info pointer,\n     simplifying the internal publication mechanism for exit and\n     coredump information retrievable via the pidfd ioctl\n\n   - Use guard() for task_lock in pidfs\n\n   - Reduce wait_pidfd lock scope\n\n   - Add missing PIDFD_INFO_SIZE_VER1 constant\n\n   - Add missing BUILD_BUG_ON() assert on struct pidfd_info\n\n  Fixes:\n\n   - Fix PIDFD_INFO_COREDUMP handling\n\n  Selftests:\n\n   - Split out coredump socket tests and common helpers into separate\n     files for better organization\n\n   - Fix userspace coredump client detection issues\n\n   - Handle edge-triggered epoll correctly\n\n   - Ignore ENOSPC errors in tests\n\n   - Add debug logging to coredump socket tests, socket protocol tests,\n     and test helpers\n\n   - Add tests for PIDFD_INFO_COREDUMP_SIGNAL\n\n   - Add tests for supported_mask field\n\n   - Update pidfd header for selftests\"\n\n* tag \u0027vfs-6.19-rc1.coredump\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (23 commits)\n  pidfs: reduce wait_pidfd lock scope\n  selftests/coredump: add second PIDFD_INFO_COREDUMP_SIGNAL test\n  selftests/coredump: add first PIDFD_INFO_COREDUMP_SIGNAL test\n  selftests/coredump: ignore ENOSPC errors\n  selftests/coredump: add debug logging to coredump socket protocol tests\n  selftests/coredump: add debug logging to coredump socket tests\n  selftests/coredump: add debug logging to test helpers\n  selftests/coredump: handle edge-triggered epoll correctly\n  selftests/coredump: fix userspace coredump client detection\n  selftests/coredump: fix userspace client detection\n  selftests/coredump: split out coredump socket tests\n  selftests/coredump: split out common helpers\n  selftests/pidfd: add second supported_mask test\n  selftests/pidfd: add first supported_mask test\n  selftests/pidfd: update pidfd header\n  pidfs: expose coredump signal\n  pidfs: drop struct pidfs_exit_info\n  pidfs: prepare to drop exit_info pointer\n  pidfd: add a new supported_mask field\n  pidfs: add missing BUILD_BUG_ON() assert on struct pidfd_info\n  ...\n"
    },
    {
      "commit": "415d34b92c1f921a9ff3c38f56319cbc5536f642",
      "tree": "461dc8621de93dcc175f8bef9233a41d1a47e23f",
      "parents": [
        "ebaeabfa5ab711a9b69b686d58329e258fdae75f",
        "a71e4f103aed69e7a11ea913312726bb194c76ee"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 09:47:41 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 09:47:41 2025 -0800"
      },
      "message": "Merge tag \u0027namespace-6.19-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull namespace updates from Christian Brauner:\n \"This contains substantial namespace infrastructure changes including a new\n  system call, active reference counting, and extensive header cleanups.\n  The branch depends on the shared kbuild branch for -fms-extensions support.\n\n  Features:\n\n   - listns() system call\n\n     Add a new listns() system call that allows userspace to iterate\n     through namespaces in the system. This provides a programmatic\n     interface to discover and inspect namespaces, addressing\n     longstanding limitations:\n\n     Currently, there is no direct way for userspace to enumerate\n     namespaces. Applications must resort to scanning /proc/*/ns/ across\n     all processes, which is:\n      - Inefficient - requires iterating over all processes\n      - Incomplete - misses namespaces not attached to any running\n        process but kept alive by file descriptors, bind mounts, or\n        parent references\n      - Permission-heavy - requires access to /proc for many processes\n      - No ordering or ownership information\n      - No filtering per namespace type\n\n     The listns() system call solves these problems:\n\n       ssize_t listns(const struct ns_id_req *req, u64 *ns_ids,\n                      size_t nr_ns_ids, unsigned int flags);\n\n       struct ns_id_req {\n             __u32 size;\n             __u32 spare;\n             __u64 ns_id;\n             struct /* listns */ {\n                     __u32 ns_type;\n                     __u32 spare2;\n                     __u64 user_ns_id;\n             };\n       };\n\n     Features include:\n      - Pagination support for large namespace sets\n      - Filtering by namespace type (MNT_NS, NET_NS, USER_NS, etc.)\n      - Filtering by owning user namespace\n      - Permission checks respecting namespace isolation\n\n   - Active Reference Counting\n\n     Introduce an active reference count that tracks namespace\n     visibility to userspace. A namespace is visible in the following\n     cases:\n      - The namespace is in use by a task\n      - The namespace is persisted through a VFS object (namespace file\n        descriptor or bind-mount)\n      - The namespace is a hierarchical type and is the parent of child\n        namespaces\n\n     The active reference count does not regulate lifetime (that\u0027s still\n     done by the normal reference count) - it only regulates visibility\n     to namespace file handles and listns().\n\n     This prevents resurrection of namespaces that are pinned only for\n     internal kernel reasons (e.g., user namespaces held by\n     file-\u003ef_cred, lazy TLB references on idle CPUs, etc.) which should\n     not be accessible via (1)-(3).\n\n   - Unified Namespace Tree\n\n     Introduce a unified tree structure for all namespaces with:\n      - Fixed IDs assigned to initial namespaces\n      - Lookup based solely on inode number\n      - Maintained list of owned namespaces per user namespace\n      - Simplified rbtree comparison helpers\n\n   Cleanups\n\n    - Header Reorganization:\n      - Move namespace types into separate header (ns_common_types.h)\n      - Decouple nstree from ns_common header\n      - Move nstree types into separate header\n      - Switch to new ns_tree_{node,root} structures with helper functions\n      - Use guards for ns_tree_lock\n\n   - Initial Namespace Reference Count Optimization\n      - Make all reference counts on initial namespaces a nop to avoid\n        pointless cacheline ping-pong for namespaces that can never go\n        away\n      - Drop custom reference count initialization for initial namespaces\n      - Add NS_COMMON_INIT() macro and use it for all namespaces\n      - pid: rely on common reference count behavior\n\n   - Miscellaneous Cleanups\n      - Rename exit_task_namespaces() to exit_nsproxy_namespaces()\n      - Rename is_initial_namespace() and make argument const\n      - Use boolean to indicate anonymous mount namespace\n      - Simplify owner list iteration in nstree\n      - nsfs: raise SB_I_NODEV, SB_I_NOEXEC, and DCACHE_DONTCACHE explicitly\n      - nsfs: use inode_just_drop()\n      - pidfs: raise DCACHE_DONTCACHE explicitly\n      - pidfs: simplify PIDFD_GET__NAMESPACE ioctls\n      - libfs: allow to specify s_d_flags\n      - cgroup: add cgroup namespace to tree after owner is set\n      - nsproxy: fix free_nsproxy() and simplify create_new_namespaces()\n\n  Fixes:\n\n   - setns(pidfd, ...) race condition\n\n     Fix a subtle race when using pidfds with setns(). When the target\n     task exits after prepare_nsset() but before commit_nsset(), the\n     namespace\u0027s active reference count might have been dropped. If\n     setns() then installs the namespaces, it would bump the active\n     reference count from zero without taking the required reference on\n     the owner namespace, leading to underflow when later decremented.\n\n     The fix resurrects the ownership chain if necessary - if the caller\n     succeeded in grabbing passive references, the setns() should\n     succeed even if the target task exits or gets reaped.\n\n   - Return EFAULT on put_user() error instead of success\n\n   - Make sure references are dropped outside of RCU lock (some\n     namespaces like mount namespace sleep when putting the last\n     reference)\n\n   - Don\u0027t skip active reference count initialization for network\n     namespace\n\n   - Add asserts for active refcount underflow\n\n   - Add asserts for initial namespace reference counts (both passive\n     and active)\n\n   - ipc: enable is_ns_init_id() assertions\n\n   - Fix kernel-doc comments for internal nstree functions\n\n   - Selftests\n      - 15 active reference count tests\n      - 9 listns() functionality tests\n      - 7 listns() permission tests\n      - 12 inactive namespace resurrection tests\n      - 3 threaded active reference count tests\n      - commit_creds() active reference tests\n      - Pagination and stress tests\n      - EFAULT handling test\n      - nsid tests fixes\"\n\n* tag \u0027namespace-6.19-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (103 commits)\n  pidfs: simplify PIDFD_GET_\u003ctype\u003e_NAMESPACE ioctls\n  nstree: fix kernel-doc comments for internal functions\n  nsproxy: fix free_nsproxy() and simplify create_new_namespaces()\n  selftests/namespaces: fix nsid tests\n  ns: drop custom reference count initialization for initial namespaces\n  pid: rely on common reference count behavior\n  ns: add asserts for initial namespace active reference counts\n  ns: add asserts for initial namespace reference counts\n  ns: make all reference counts on initial namespace a nop\n  ipc: enable is_ns_init_id() assertions\n  fs: use boolean to indicate anonymous mount namespace\n  ns: rename is_initial_namespace()\n  ns: make is_initial_namespace() argument const\n  nstree: use guards for ns_tree_lock\n  nstree: simplify owner list iteration\n  nstree: switch to new structures\n  nstree: add helper to operate on struct ns_tree_{node,root}\n  nstree: move nstree types into separate header\n  nstree: decouple from ns_common header\n  ns: move namespace types into separate header\n  ...\n"
    },
    {
      "commit": "ebaeabfa5ab711a9b69b686d58329e258fdae75f",
      "tree": "c4b0915701c65abed0bc3fe9f351f42daaaa9089",
      "parents": [
        "9368f0f9419cde028a6e58331065900ff089bc36",
        "4952f35f0545f3b53dab8d5fd727c4827c2a2778"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 09:20:51 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 09:20:51 2025 -0800"
      },
      "message": "Merge tag \u0027vfs-6.19-rc1.writeback\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull writeback updates from Christian Brauner:\n \"Features:\n\n   - Allow file systems to increase the minimum writeback chunk size.\n\n     The relatively low minimal writeback size of 4MiB means that\n     written back inodes on rotational media are switched a lot. Besides\n     introducing additional seeks, this also can lead to extreme file\n     fragmentation on zoned devices when a lot of files are cached\n     relative to the available writeback bandwidth.\n\n     This adds a superblock field that allows the file system to\n     override the default size, and sets it to the zone size for zoned\n     XFS.\n\n   - Add logging for slow writeback when it exceeds\n     sysctl_hung_task_timeout_secs. This helps identify tasks waiting\n     for a long time and pinpoint potential issues. Recording the\n     starting jiffies is also useful when debugging a crashed vmcore.\n\n   - Wake up waiting tasks when finishing the writeback of a chunk\n\n  Cleanups:\n\n   - filemap_* writeback interface cleanups.\n\n     Adding filemap_fdatawrite_wbc ended up being a mistake, as all but\n     the original btrfs caller should be using better high level\n     interfaces instead.\n\n     This series removes all these low-level interfaces, switches btrfs\n     to a more specific interface, and cleans up other too low-level\n     interfaces. With this the writeback_control that is passed to the\n     writeback code is only initialized in three places.\n\n   - Remove __filemap_fdatawrite, __filemap_fdatawrite_range, and\n     filemap_fdatawrite_wbc\n\n   - Add filemap_flush_nr helper for btrfs\n\n   - Push struct writeback_control into start_delalloc_inodes in btrfs\n\n   - Rename filemap_fdatawrite_range_kick to filemap_flush_range\n\n   - Stop opencoding filemap_fdatawrite_range in 9p, ocfs2, and mm\n\n   - Make wbc_to_tag() inline and use it in fs\"\n\n* tag \u0027vfs-6.19-rc1.writeback\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:\n  fs: Make wbc_to_tag() inline and use it in fs.\n  xfs: set s_min_writeback_pages for zoned file systems\n  writeback: allow the file system to override MIN_WRITEBACK_PAGES\n  writeback: cleanup writeback_chunk_size\n  mm: rename filemap_fdatawrite_range_kick to filemap_flush_range\n  mm: remove __filemap_fdatawrite_range\n  mm: remove filemap_fdatawrite_wbc\n  mm: remove __filemap_fdatawrite\n  mm,btrfs: add a filemap_flush_nr helper\n  btrfs: push struct writeback_control into start_delalloc_inodes\n  btrfs: use the local tmp_inode variable in start_delalloc_inodes\n  ocfs2: don\u0027t opencode filemap_fdatawrite_range in ocfs2_journal_submit_inode_data_buffers\n  9p: don\u0027t opencode filemap_fdatawrite_range in v9fs_mmap_vm_close\n  mm: don\u0027t opencode filemap_fdatawrite_range in filemap_invalidate_inode\n  writeback: Add logging for slow writeback (exceeds sysctl_hung_task_timeout_secs)\n  writeback: Wake up waiting tasks when finishing the writeback of a chunk.\n"
    },
    {
      "commit": "9368f0f9419cde028a6e58331065900ff089bc36",
      "tree": "b7e3a8910f9493e8422cd661e1375e5421a91bf0",
      "parents": [
        "b04b2e7a61830cabd00c6f95308a8e2f5d82fa52",
        "ca0d620b0afae20a7bcd5182606eba6860b2dbf2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 09:02:34 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 09:02:34 2025 -0800"
      },
      "message": "Merge tag \u0027vfs-6.19-rc1.inode\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull vfs inode updates from Christian Brauner:\n \"Features:\n\n   - Hide inode-\u003ei_state behind accessors. Open-coded accesses prevent\n     asserting they are done correctly. One obvious aspect is locking,\n     but significantly more can be checked. For example it can be\n     detected when the code is clearing flags which are already missing,\n     or is setting flags when it is illegal (e.g., I_FREEING when\n     -\u003ei_count \u003e 0)\n\n   - Provide accessors for -\u003ei_state, converts all filesystems using\n     coccinelle and manual conversions (btrfs, ceph, smb, f2fs, gfs2,\n     overlayfs, nilfs2, xfs), and makes plain -\u003ei_state access fail to\n     compile\n\n   - Rework I_NEW handling to operate without fences, simplifying the\n     code after the accessor infrastructure is in place\n\n  Cleanups:\n\n   - Move wait_on_inode() from writeback.h to fs.h\n\n   - Spell out fenced -\u003ei_state accesses with explicit smp_wmb/smp_rmb\n     for clarity\n\n   - Cosmetic fixes to LRU handling\n\n   - Push list presence check into inode_io_list_del()\n\n   - Touch up predicts in __d_lookup_rcu()\n\n   - ocfs2: retire ocfs2_drop_inode() and I_WILL_FREE usage\n\n   - Assert on -\u003ei_count in iput_final()\n\n   - Assert -\u003ei_lock held in __iget()\n\n  Fixes:\n\n   - Add missing fences to I_NEW handling\"\n\n* tag \u0027vfs-6.19-rc1.inode\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (22 commits)\n  dcache: touch up predicts in __d_lookup_rcu()\n  fs: push list presence check into inode_io_list_del()\n  fs: cosmetic fixes to lru handling\n  fs: rework I_NEW handling to operate without fences\n  fs: make plain -\u003ei_state access fail to compile\n  xfs: use the new -\u003ei_state accessors\n  nilfs2: use the new -\u003ei_state accessors\n  overlayfs: use the new -\u003ei_state accessors\n  gfs2: use the new -\u003ei_state accessors\n  f2fs: use the new -\u003ei_state accessors\n  smb: use the new -\u003ei_state accessors\n  ceph: use the new -\u003ei_state accessors\n  btrfs: use the new -\u003ei_state accessors\n  Manual conversion to use -\u003ei_state accessors of all places not covered by coccinelle\n  Coccinelle-based conversion to use -\u003ei_state accessors\n  fs: provide accessors for -\u003ei_state\n  fs: spell out fenced -\u003ei_state accesses with explicit smp_wmb/smp_rmb\n  fs: move wait_on_inode() from writeback.h to fs.h\n  fs: add missing fences to I_NEW handling\n  ocfs2: retire ocfs2_drop_inode() and I_WILL_FREE usage\n  ...\n"
    },
    {
      "commit": "b04b2e7a61830cabd00c6f95308a8e2f5d82fa52",
      "tree": "a228d66ed097ffd37e05e4bcc4d37337be731d46",
      "parents": [
        "1885cdbfbb51ede3637166c895d0b8040c9899cc",
        "ebf8538979101ef879742dcfaf04b684f5461e12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 08:44:26 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 08:44:26 2025 -0800"
      },
      "message": "Merge tag \u0027vfs-6.19-rc1.misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull misc vfs updates from Christian Brauner:\n \"Features:\n\n   - Cheaper MAY_EXEC handling for path lookup. This elides MAY_WRITE\n     permission checks during path lookup and adds the\n     IOP_FASTPERM_MAY_EXEC flag so filesystems like btrfs can avoid\n     expensive permission work.\n\n   - Hide dentry_cache behind runtime const machinery.\n\n   - Add German Maglione as virtiofs co-maintainer.\n\n  Cleanups:\n\n   - Tidy up and inline step_into() and walk_component() for improved\n     code generation.\n\n   - Re-enable IOCB_NOWAIT writes to files. This refactors file\n     timestamp update logic, fixing a layering bypass in btrfs when\n     updating timestamps on device files and improving FMODE_NOCMTIME\n     handling in VFS now that nfsd started using it.\n\n   - Path lookup optimizations extracting slowpaths into dedicated\n     routines and adding branch prediction hints for mntput_no_expire(),\n     fd_install(), lookup_slow(), and various other hot paths.\n\n   - Enable clang\u0027s -fms-extensions flag, requiring a JFS rename to\n     avoid conflicts.\n\n   - Remove spurious exports in fs/file_attr.c.\n\n   - Stop duplicating union pipe_index declaration. This depends on the\n     shared kbuild branch that brings in -fms-extensions support which\n     is merged into this branch.\n\n   - Use MD5 library instead of crypto_shash in ecryptfs.\n\n   - Use largest_zero_folio() in iomap_dio_zero().\n\n   - Replace simple_strtol/strtoul with kstrtoint/kstrtouint in init and\n     initrd code.\n\n   - Various typo fixes.\n\n  Fixes:\n\n   - Fix emergency sync for btrfs. Btrfs requires an explicit sync_fs()\n     call with wait \u003d\u003d 1 to commit super blocks. The emergency sync path\n     never passed this, leaving btrfs data uncommitted during emergency\n     sync.\n\n   - Use local kmap in watch_queue\u0027s post_one_notification().\n\n   - Add hint prints in sb_set_blocksize() for LBS dependency on THP\"\n\n* tag \u0027vfs-6.19-rc1.misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (35 commits)\n  MAINTAINERS: add German Maglione as virtiofs co-maintainer\n  fs: inline step_into() and walk_component()\n  fs: tidy up step_into() \u0026 friends before inlining\n  orangefs: use inode_update_timestamps directly\n  btrfs: fix the comment on btrfs_update_time\n  btrfs: use vfs_utimes to update file timestamps\n  fs: export vfs_utimes\n  fs: lift the FMODE_NOCMTIME check into file_update_time_flags\n  fs: refactor file timestamp update logic\n  include/linux/fs.h: trivial fix: regualr -\u003e regular\n  fs/splice.c: trivial fix: pipes -\u003e pipe\u0027s\n  fs: mark lookup_slow() as noinline\n  fs: add predicts based on nd-\u003edepth\n  fs: move mntput_no_expire() slowpath into a dedicated routine\n  fs: remove spurious exports in fs/file_attr.c\n  watch_queue: Use local kmap in post_one_notification()\n  fs: touch up predicts in path lookup\n  fs: move fd_install() slowpath into a dedicated routine and provide commentary\n  fs: hide dentry_cache behind runtime const machinery\n  fs: touch predicts in do_dentry_open()\n  ...\n"
    },
    {
      "commit": "1885cdbfbb51ede3637166c895d0b8040c9899cc",
      "tree": "257c3f32cff62bff6a3acfe8c76d39981cc52faa",
      "parents": [
        "7d0a66e4bb9081d75c82ec4957c50034cb0ea449",
        "7fd8720dff2d9c70cf5a1a13b7513af01952ec02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 08:14:00 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 08:14:00 2025 -0800"
      },
      "message": "Merge tag \u0027vfs-6.19-rc1.iomap\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull iomap updates from Christian Brauner:\n \"FUSE iomap Support for Buffered Reads:\n\n    This adds iomap support for FUSE buffered reads and readahead. This\n    enables granular uptodate tracking with large folios so only\n    non-uptodate portions need to be read. Also fixes a race condition\n    with large folios + writeback cache that could cause data corruption\n    on partial writes followed by reads.\n\n     - Refactored iomap read/readahead bio logic into helpers\n     - Added caller-provided callbacks for read operations\n     - Moved buffered IO bio logic into new file\n     - FUSE now uses iomap for read_folio and readahead\n\n  Zero Range Folio Batch Support:\n\n    Add folio batch support for iomap_zero_range() to handle dirty\n    folios over unwritten mappings. Fix raciness issues where dirty data\n    could be lost during zero range operations.\n\n     - filemap_get_folios_tag_range() helper for dirty folio lookup\n     - Optional zero range dirty folio processing\n     - XFS fills dirty folios on zero range of unwritten mappings\n     - Removed old partial EOF zeroing optimization\n\n  DIO Write Completions from Interrupt Context:\n\n    Restore pre-iomap behavior where pure overwrite completions run\n    inline rather than being deferred to workqueue. Reduces context\n    switches for high-performance workloads like ScyllaDB.\n\n     - Removed unused IOCB_DIO_CALLER_COMP code\n     - Error completions always run in user context (fixes zonefs)\n     - Reworked REQ_FUA selection logic\n     - Inverted IOMAP_DIO_INLINE_COMP to IOMAP_DIO_OFFLOAD_COMP\n\n  Buffered IO Cleanups:\n\n    Some performance and code clarity improvements:\n\n     - Replace manual bitmap scanning with find_next_bit()\n     - Simplify read skip logic for writes\n     - Optimize pending async writeback accounting\n     - Better variable naming\n     - Documentation for iomap_finish_folio_write() requirements\n\n  Misaligned Vectors for Zoned XFS:\n\n    Enables sub-block aligned vectors in XFS always-COW mode for zoned\n    devices via new IOMAP_DIO_FSBLOCK_ALIGNED flag.\n\n  Bug Fixes:\n\n     - Allocate s_dio_done_wq for async reads (fixes syzbot report after\n       error completion changes)\n     - Fix iomap_read_end() for already uptodate folios (regression fix)\"\n\n* tag \u0027vfs-6.19-rc1.iomap\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (40 commits)\n  iomap: allocate s_dio_done_wq for async reads as well\n  iomap: fix iomap_read_end() for already uptodate folios\n  iomap: invert the polarity of IOMAP_DIO_INLINE_COMP\n  iomap: support write completions from interrupt context\n  iomap: rework REQ_FUA selection\n  iomap: always run error completions in user context\n  fs, iomap: remove IOCB_DIO_CALLER_COMP\n  iomap: use find_next_bit() for uptodate bitmap scanning\n  iomap: use find_next_bit() for dirty bitmap scanning\n  iomap: simplify when reads can be skipped for writes\n  iomap: simplify -\u003eread_folio_range() error handling for reads\n  iomap: optimize pending async writeback accounting\n  docs: document iomap writeback\u0027s iomap_finish_folio_write() requirement\n  iomap: account for unaligned end offsets when truncating read range\n  iomap: rename bytes_pending/bytes_accounted to bytes_submitted/bytes_not_submitted\n  xfs: support sub-block aligned vectors in always COW mode\n  iomap: add IOMAP_DIO_FSBLOCK_ALIGNED flag\n  xfs: error tag to force zeroing on debug kernels\n  iomap: remove old partial eof zeroing optimization\n  xfs: fill dirty folios on zero range of unwritten mappings\n  ...\n"
    },
    {
      "commit": "6ec33db1aaf06a76fb063610e668f8e12f32ebbf",
      "tree": "0aaf477b1e67a97bde3171664ded5bc2c3d8cbdf",
      "parents": [
        "59bfa6408214b6533d8691715cf5459e89b45b89"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Dec 01 10:42:27 2025 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Dec 01 10:42:27 2025 +0100"
      },
      "message": "objtool: Fix segfault on unknown alternatives\n\nSo \u0027objtool --link -d vmlinux.o\u0027 gets surprised by this endbr64+endbr64 pattern\nin ___bpf_prog_run():\n\n\t___bpf_prog_run:\n\t1e7680:  ___bpf_prog_run+0x0                                                     push   %r12\n\t1e7682:  ___bpf_prog_run+0x2                                                     mov    %rdi,%r12\n\t1e7685:  ___bpf_prog_run+0x5                                                     push   %rbp\n\t1e7686:  ___bpf_prog_run+0x6                                                     xor    %ebp,%ebp\n\t1e7688:  ___bpf_prog_run+0x8                                                     push   %rbx\n\t1e7689:  ___bpf_prog_run+0x9                                                     mov    %rsi,%rbx\n\t1e768c:  ___bpf_prog_run+0xc                                                     movzbl (%rbx),%esi\n\t1e768f:  ___bpf_prog_run+0xf                                                     movzbl %sil,%edx\n\t1e7693:  ___bpf_prog_run+0x13                                                    mov    %esi,%eax\n\t1e7695:  ___bpf_prog_run+0x15                                                    mov    0x0(,%rdx,8),%rdx\n\t1e769d:  ___bpf_prog_run+0x1d                                                    jmp    0x1e76a2 \u003c__x86_indirect_thunk_rdx\u003e\n\t1e76a2:  ___bpf_prog_run+0x22                                                    endbr64\n\t1e76a6:  ___bpf_prog_run+0x26                                                    endbr64\n\t1e76aa:  ___bpf_prog_run+0x2a                                                    mov    0x4(%rbx),%edx\n\nAnd crashes due to blindly dereferencing alt-\u003einsn-\u003ealt_group.\n\nBail out on NULL -\u003ealt_group, which produces this warning and continues\nwith the disassembly, instead of a segfault:\n\n  .git/O/vmlinux.o: warning: objtool: \u003calternative.1e769d\u003e: failed to disassemble alternative\n\nCc: Alexandre Chartre \u003calexandre.chartre@oracle.com\u003e\nCc: Peter Zijlstra (Intel) \u003cpeterz@infradead.org\u003e\nCc: Josh Poimboeuf \u003cjpoimboe@kernel.org\u003e\nCc: linux-kernel@vger.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "43decb6b628eb033a1b6188e5018773c0d38be1d",
      "tree": "38541f715cdd470670425c0a9ba0f9cb5557851e",
      "parents": [
        "719e357fc09c63238956eb7cd546627f9e050640"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@infradead.org",
        "time": "Thu Nov 27 22:59:25 2025 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Dec 01 06:56:16 2025 +0100"
      },
      "message": "locking/local_lock: Fix all kernel-doc warnings\n\nModify kernel-doc comments in local_lock.h to prevent warnings:\n\n  Warning: include/linux/local_lock.h:9 function parameter \u0027lock\u0027 not described in \u0027local_lock_init\u0027\n  Warning: include/linux/local_lock.h:56 function parameter \u0027lock\u0027 not described in \u0027local_trylock_init\u0027\n  Warning: include/linux/local_lock.h:56 expecting prototype for local_lock_init(). Prototype was for local_trylock_init() instead\n\nSigned-off-by: Randy Dunlap \u003crdunlap@infradead.org\u003e\nSigned-off-by: Peter Zijlstra (Intel) \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nLink: https://patch.msgid.link/20251128065925.917917-1-rdunlap@infradead.org\n"
    },
    {
      "commit": "719e357fc09c63238956eb7cd546627f9e050640",
      "tree": "0e5e4e656e0bf61a76ebf5545cfbab16f0e9d1e6",
      "parents": [
        "52ed746147140e30419ee852c1916531b4ef9b0a"
      ],
      "author": {
        "name": "Vincent Mailhol",
        "email": "mailhol@kernel.org",
        "time": "Thu Nov 27 15:41:40 2025 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Dec 01 06:56:16 2025 +0100"
      },
      "message": "locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce the risk of shadowing\n\nThe Linux kernel coding style advises to avoid common variable\nnames in function-like macros to reduce the risk of namespace\ncollisions.\n\nThroughout local_lock_internal.h, several macros use the rather common\nvariable names \u0027l\u0027 and \u0027tl\u0027. This already resulted in an actual\ncollision: the __local_lock_acquire() function like macro is currently\nshadowing the parameter \u0027l\u0027 of the:\n\n  class_##_name##_t class_##_name##_constructor(_type *l)\n\nfunction factory from \u003clinux/cleanup.h\u003e.\n\nRename the variable \u0027l\u0027 to \u0027__l\u0027 and the variable \u0027tl\u0027 to \u0027__tl\u0027\nthroughout the file to fix the current namespace collision and\nto prevent future ones.\n\n[ bigeasy: Rebase, update all l and tl instances in macros ]\n\nSigned-off-by: Vincent Mailhol \u003cmailhol@kernel.org\u003e\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra (Intel) \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Waiman Long \u003clongman@redhat.com\u003e\nLink: https://patch.msgid.link/20251127144140.215722-3-bigeasy@linutronix.de\n"
    },
    {
      "commit": "52ed746147140e30419ee852c1916531b4ef9b0a",
      "tree": "ce653b88d5265ce68f8628612ea86ec4e1aa4e1c",
      "parents": [
        "51d7a054521de7085783a9a1ba15c3530863409a"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Thu Nov 27 15:41:39 2025 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Dec 01 06:56:10 2025 +0100"
      },
      "message": "locking/local_lock: Add the \u003clinux/local_lock*.h\u003e headers to MAINTAINERS\n\nThe local_lock_t was never added to the MAINTAINERS file since its\ninclusion.\n\nAdd local_lock_t to the locking primitives section.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra (Intel) \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Waiman Long \u003clongman@redhat.com\u003e\nLink: https://patch.msgid.link/20251127144140.215722-2-bigeasy@linutronix.de\n"
    },
    {
      "commit": "51d7a054521de7085783a9a1ba15c3530863409a",
      "tree": "8390bf7fd24ec364b4af0150a4e74703e5f618ec",
      "parents": [
        "f74cf399e02e24c544b0bd4b1fe8fa2c5ae30b18"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Wed Nov 05 15:23:50 2025 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Dec 01 06:51:57 2025 +0100"
      },
      "message": "locking/mutex: Redo __mutex_init() to reduce generated code size\n\nmutex_init() invokes __mutex_init() providing the name of the lock and\na pointer to a the lock class. With LOCKDEP enabled this information is\nuseful but without LOCKDEP it not used at all. Passing the pointer\ninformation of the lock class might be considered negligible but the\nname of the lock is passed as well and the string is stored. This\ninformation is wasting storage.\n\nSplit __mutex_init() into a _genereic() variant doing the initialisation\nof the lock and a _lockdep() version which does _genereic() plus the\nlockdep bits. Restrict the lockdep version to lockdep enabled builds\nallowing the compiler to remove the unused parameter.\n\nThis results in the following size reduction:\n\n        text     data       bss        dec  filename\n  | 30237599  8161430   1176624   39575653  vmlinux.defconfig\n  | 30233269  8149142   1176560   39558971  vmlinux.defconfig.patched\n     -4.2KiB   -12KiB\n\n  | 32455099  8471098  12934684   53860881  vmlinux.defconfig.lockdep\n  | 32455100  8471098  12934684   53860882  vmlinux.defconfig.patched.lockdep\n\n  | 27152407  7191822   2068040   36412269  vmlinux.defconfig.preempt_rt\n  | 27145937  7183630   2067976   36397543  vmlinux.defconfig.patched.preempt_rt\n     -6.3KiB    -8KiB\n\n  | 29382020  7505742  13784608   50672370  vmlinux.defconfig.preempt_rt.lockdep\n  | 29376229  7505742  13784544   50666515  vmlinux.defconfig.patched.preempt_rt.lockdep\n     -5.6KiB\n\n[peterz: folded fix from boqun]\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Boqun Feng \u003cboqun.feng@gmail.com\u003e\nSigned-off-by: Peter Zijlstra (Intel) \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nReviewed-by: Waiman Long \u003clongman@redhat.com\u003e\nLink: https://lkml.kernel.org/r/20251125145425.68319-1-boqun.feng@gmail.com\nLink: https://patch.msgid.link/20251105142350.Tfeevs2N@linutronix.de\n"
    },
    {
      "commit": "7d0a66e4bb9081d75c82ec4957c50034cb0ea449",
      "tree": "61e7217a84de6106ad5cc06aa62164e1862d2bdc",
      "parents": [
        "e69c7c175115c51c7f95394fc55425a395b3af59"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 14:42:10 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 14:42:10 2025 -0800"
      },
      "message": "Linux 6.18\n"
    },
    {
      "commit": "e69c7c175115c51c7f95394fc55425a395b3af59",
      "tree": "eda96dee5b666e2cba563107d8546a85cada2ac6",
      "parents": [
        "6bda50f4333fa61c07f04f790fdd4e2c9f4ca610",
        "c7418164b463056bf4327b6a2abe638b78250f13"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 08:47:10 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 08:47:10 2025 -0800"
      },
      "message": "Merge tag \u0027timers_urgent_for_v6.18_rc8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer fix from Borislav Petkov:\n\n - Have timekeeping aux clocks sysfs interface setup function return an\n   error code on failure instead of success\n\n* tag \u0027timers_urgent_for_v6.18_rc8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  timekeeping: Fix error code in tk_aux_sysfs_init()\n"
    },
    {
      "commit": "6bda50f4333fa61c07f04f790fdd4e2c9f4ca610",
      "tree": "f87e3105d67989e66964dcd4c08144cf999850e7",
      "parents": [
        "19eef1d98eeda3745df35839190b7d4a4adea656",
        "841ecc979b18d3227fad5e2d6a1e6f92688776b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 29 15:15:14 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 29 15:15:14 2025 -0800"
      },
      "message": "Merge tag \u0027mips-fixes_6.18_2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux\n\nPull MIPS fix from Thomas Bogendoerfer:\n \"Fix TLB unification for cores with more than 64 TLB entries\"\n\n* tag \u0027mips-fixes_6.18_2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:\n  MIPS: mm: kmalloc tlb_vpn array to avoid stack overflow\n"
    },
    {
      "commit": "841ecc979b18d3227fad5e2d6a1e6f92688776b5",
      "tree": "a9e37859e45da68bdad9a19eaea3b3c25b78563e",
      "parents": [
        "ac3fd01e4c1efce8f2c054cdeb2ddd2fc0fb150d"
      ],
      "author": {
        "name": "Thomas Bogendoerfer",
        "email": "tsbogend@alpha.franken.de",
        "time": "Fri Nov 28 16:53:46 2025 +0000"
      },
      "committer": {
        "name": "Thomas Bogendoerfer",
        "email": "tsbogend@alpha.franken.de",
        "time": "Sat Nov 29 13:36:05 2025 +0100"
      },
      "message": "MIPS: mm: kmalloc tlb_vpn array to avoid stack overflow\n\nOwing to Config4.MMUSizeExt and VTLB/FTLB MMU features later MIPSr2+\ncores can have more than 64 TLB entries.  Therefore allocate an array\nfor uniquification instead of placing too an small array on the stack.\n\nFixes: 35ad7e181541 (\"MIPS: mm: tlb-r4k: Uniquify TLB entries on init\")\nCo-developed-by: Maciej W. Rozycki \u003cmacro@orcam.me.uk\u003e\nSigned-off-by: Maciej W. Rozycki \u003cmacro@orcam.me.uk\u003e\nCc: stable@vger.kernel.org # v6.17+: 9f048fa48740: MIPS: mm: Prevent a TLB shutdown on initial uniquification\nCc: stable@vger.kernel.org # v6.17+\nTested-by: Gregory CLEMENT \u003cgregory.clement@bootlin.com\u003e\nTested-by: Klara Modin \u003cklarasmodin@gmail.com\u003e\nSigned-off-by: Thomas Bogendoerfer \u003ctsbogend@alpha.franken.de\u003e\n"
    },
    {
      "commit": "19eef1d98eeda3745df35839190b7d4a4adea656",
      "tree": "8d0b29825fa335ad0b98a8fc9e09d34d87d5e96b",
      "parents": [
        "e6640487845061255af9614ec0a192e4fafa486e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Nov 29 00:40:11 2025 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 16:48:18 2025 -0800"
      },
      "message": "afs: Fix uninit var in afs_alloc_anon_key()\n\nFix an uninitialised variable (key) in afs_alloc_anon_key() by setting it\nto cell-\u003eanonymous_key.  Without this change, the error check may return a\nfalse failure with a bad error number.\n\nMost of the time this is unlikely to happen because the first encounter\nwith afs_alloc_anon_key() will usually be from (auto)mount, for which all\nsubsequent operations must wait - apart from other (auto)mounts.  Once the\ncall-\u003eanonymous_key is allocated, all further calls to afs_request_key()\nwill skip the call to afs_alloc_anon_key() for that cell.\n\nFixes: d27c71257825 (\"afs: Fix delayed allocation of a cell\u0027s anonymous key\")\nReported-by: Paulo Alcantra \u003cpc@manguebit.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: Paulo Alcantara \u003cpc@manguebit.org\u003e\ncc: Marc Dionne \u003cmarc.dionne@auristor.com\u003e\ncc: syzbot+41c68824eefb67cdf00c@syzkaller.appspotmail.com\ncc: linux-afs@lists.infradead.org\ncc: linux-fsdevel@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6640487845061255af9614ec0a192e4fafa486e",
      "tree": "39cb744281ad49ea6fba0310683d0c340381e32f",
      "parents": [
        "82ebd4e32029f299011a6ef68d96f5ddcea0723a",
        "40ad64ac25bb736740f895d99a4aebbda9b80991"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 14:08:09 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 14:08:09 2025 -0800"
      },
      "message": "Merge tag \u0027spi-fix-v6.18-rc7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi\n\nPull spi fixes from Mark Brown:\n \"A disappointingly large set of device specific fixes that have built\n  up since I\u0027ve been a bit tardy with sending a pull requests as people\n  kept sending me new new fixes.\n\n  The bcm63xx and lpspi issues could lead to corruption so the fixes are\n  fairly important for the affected parts, the other issues should all\n  be relatively minor\"\n\n* tag \u0027spi-fix-v6.18-rc7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:\n  spi: nxp-fspi: Propagate fwnode in ACPI case as well\n  spi: tegra114: remove Kconfig dependency on TEGRA20_APB_DMA\n  spi: amlogic-spifc-a1: Handle devm_pm_runtime_enable() errors\n  spi: spi-fsl-lpspi: fix watermark truncation caused by type cast\n  spi: cadence-quadspi: Fix cqspi_probe() error handling for runtime pm\n  spi: bcm63xx: fix premature CS deassertion on RX-only transactions\n  spi: spi-cadence-quadspi: Remove duplicate pm_runtime_put_autosuspend() call\n  spi: spi-cadence-quadspi: Enable pm runtime earlier to avoid imbalance\n"
    },
    {
      "commit": "82ebd4e32029f299011a6ef68d96f5ddcea0723a",
      "tree": "a9f7a54f25e42ec6a417368a3e5ab6dcc98794bc",
      "parents": [
        "9917bf8e7f5a9efbab844cf06cfd8da8eb7e13b6",
        "8684229e19c4185d53d6fb7004d733907c865a91"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 14:06:05 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 14:06:05 2025 -0800"
      },
      "message": "Merge tag \u0027regulator-fix-v6.18-rc7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator\n\nPull regulator fixes from Mark Brown:\n \"A couple of fixes for incorrect device descriptions in the rtq2208\n  driver\"\n\n* tag \u0027regulator-fix-v6.18-rc7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:\n  regulator: rtq2208: Correct LDO2 logic judgment bits\n  regulator: rtq2208: Correct buck group2 phase mapping logic\n"
    },
    {
      "commit": "9917bf8e7f5a9efbab844cf06cfd8da8eb7e13b6",
      "tree": "a390d32ccf610e7929e58fad97ee5ff5e42662c4",
      "parents": [
        "f3b17337b943949d0f3d12835d10d866210aeee8",
        "f6dc5a36195d3f5be769f60d6987150192dfb099"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 12:42:11 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 12:42:11 2025 -0800"
      },
      "message": "Merge tag \u0027io_uring-6.18-20251128\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux\n\nPull io_uring fixes from Jens Axboe:\n\n - Ensure that vectored registered buffer imports ties the lifetime of\n   those to the zero-copy send notification, not the parent request\n\n - Fix a bug introduced in this merge window, with the introduction of\n   mixed sized CQE support\n\n* tag \u0027io_uring-6.18-20251128\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux:\n  io_uring: fix mixed cqe overflow handling\n  io_uring/net: ensure vectored buffer node import is tied to notification\n"
    },
    {
      "commit": "f3b17337b943949d0f3d12835d10d866210aeee8",
      "tree": "1eab6626c88ea639473bf6d522e008c903679466",
      "parents": [
        "7fa0d7744c28267142287a75134de58790999e72",
        "d27c71257825dced46104eefe42e4d9964bd032e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 10:01:24 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 10:01:24 2025 -0800"
      },
      "message": "Merge tag \u0027vfs-6.18-rc8.fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs\n\nPull vfs fixes from Christian Brauner:\n\n - afs: Fix delayed allocation of a cell\u0027s anonymous key\n\n   The allocation of a cell\u0027s anonymous key is done in a background\n   thread along with other cell setup such as doing a DNS upcall. The\n   normal key lookup tries to use the key description on the anonymous\n   authentication key as the reference for request_key() - but it may\n   not yet be set, causing an oops\n\n - ovl: fail ovl_lock_rename_workdir() if either target is unhashed\n\n   As well as checking that the parent hasn\u0027t changed after getting the\n   lock, the code needs to check that the dentry hasn\u0027t been unhashed.\n   Otherwise overlayfs might try to rename something that has been\n   removed\n\n - namespace: fix a reference leak in grab_requested_mnt_ns\n\n   lookup_mnt_ns() already takes a reference on mnt_ns, and so\n   grab_requested_mnt_ns() doesn\u0027t need to take an extra reference\n\n* tag \u0027vfs-6.18-rc8.fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:\n  afs: Fix delayed allocation of a cell\u0027s anonymous key\n  ovl: fail ovl_lock_rename_workdir() if either target is unhashed\n  fs/namespace: fix reference leak in grab_requested_mnt_ns\n"
    },
    {
      "commit": "7fa0d7744c28267142287a75134de58790999e72",
      "tree": "3005f185ddd899780bd3645adf6b8d473f6e486b",
      "parents": [
        "6cf62f0174de64e4161e301bb0ed52e198ce25dc",
        "3ecfcf34f0992d11e5eb2458a2108b3320c61ba4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 09:57:31 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 09:57:31 2025 -0800"
      },
      "message": "Merge tag \u0027soc-fixes-6.18-4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc\n\nPull SoC fixes from Arnd Bergmann:\n \"A few last minute fixes came in this week:\n\n   - interrupt and gpio numbers in foud separate i.MX8 specific\n     devicetree files were wrong\n\n   - The vector length property in the C906 CPU description used the\n     wrong unit\n\n   - Two bugs with uninitialized stack variables in the tee subsystem\n\n   - Alexander Stein now maintains additional devicetree files\"\n\n* tag \u0027soc-fixes-6.18-4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:\n  riscv: dts: allwinner: d1: fix vlenb property\n  MAINTAINERS: Add entry for TQ-Systems AM335 device trees\n  tee: qcomtee: initialize result before use in release worker\n  arm64: dts: imx8qm-mek: fix mux-controller select/enable-gpios polarity\n  tee: qcomtee: fix uninitialized pointers with free attribute\n  ARM: dts: nxp: imx6ul: correct SAI3 interrupt line\n  arm64: dts: imx8dxl-ss-conn: swap interrupts number of eqos\n  arm64: dts: imx8dxl: Correct pcie-ep interrupt number\n"
    },
    {
      "commit": "6cf62f0174de64e4161e301bb0ed52e198ce25dc",
      "tree": "f697250b484083386113e8d1d3e8aaa3cd36f76d",
      "parents": [
        "dabf127d641e43d5fbb72a1f48209818349db7ef",
        "03bc4831ef064e114328dea906101cff7c6fb8b3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 09:44:48 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 09:44:48 2025 -0800"
      },
      "message": "Merge tag \u0027char-misc-6.18-rc8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc\n\nPull char / misc / IIO fixes from Greg KH:\n \"Here are some much-delayed char/misc/iio driver fixes for 6.18-rc8.\n\n  Fixes in here include:\n\n   - lots of iio driver bugfixes for reported issues.\n\n   - counter driver bugfix\n\n   - slimbus driver bugfix\n\n   - mei tiny bugfix\n\n   - nvmem layout uevent bugfix\n\n  All of these have been in linux-next for a while, but due to travel on\n  my side, I haven\u0027t had a chance to get them to you\"\n\n* tag \u0027char-misc-6.18-rc8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (23 commits)\n  nvmem: layouts: fix nvmem_layout_bus_uevent\n  iio: accel: bmc150: Fix irq assumption regression\n  most: usb: fix double free on late probe failure\n  slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves\n  firmware: stratix10-svc: fix bug in saving controller data\n  mei: fix error flow in probe\n  iio: st_lsm6dsx: Fixed calibrated timestamp calculation\n  iio: humditiy: hdc3020: fix units for thresholds and hysteresis\n  iio: humditiy: hdc3020: fix units for temperature and humidity measurement\n  iio: imu: st_lsm6dsx: fix array size for st_lsm6dsx_settings fields\n  iio: accel: fix ADXL355 startup race condition\n  iio: adc: ad7124: fix temperature channel\n  iio:common:ssp_sensors: Fix an error handling path ssp_probe()\n  iio: adc: ad7280a: fix ad7280_store_balance_timer()\n  iio: buffer-dmaengine: enable .get_dma_dev()\n  iio: buffer-dma: support getting the DMA channel\n  iio: buffer: support getting dma channel from the buffer\n  iio: pressure: bmp280: correct meas_time_us calculation\n  iio: adc: stm32-dfsdm: fix st,adc-alt-channel property handling\n  iio: adc: ad7380: fix SPI offload trigger rate\n  ...\n"
    },
    {
      "commit": "dabf127d641e43d5fbb72a1f48209818349db7ef",
      "tree": "0db4788f6376b39c5d1c3f266acea52643a4408e",
      "parents": [
        "5d324e5159d9e6a1e6678007ce3f24e569650db6",
        "2bf95a9bcb50002ca9d47403d60aedaeb2e19abe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 09:16:20 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 09:16:20 2025 -0800"
      },
      "message": "Merge tag \u0027tty-6.18-rc8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty\n\nPull serial driver fixes from Greg KH:\n \"Here are two serial driver fixes for reported issues for 6.18-rc8.\n\n  These are:\n\n   - fix for a much reported symbol build loop that broke the build for\n     some kernel configurations\n\n   - amba-pl011 driver bugfix for a reported issue\n\n  Both have been in linux next (the last for weeks, the first for a\n  shorter amount of time), with no reported issues\"\n\n* tag \u0027tty-6.18-rc8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:\n  serial: 8250: Fix 8250_rsa symbol loop\n  serial: amba-pl011: prefer dma_mapping_error() over explicit address checking\n"
    },
    {
      "commit": "5d324e5159d9e6a1e6678007ce3f24e569650db6",
      "tree": "cbdb974120a5f26c551072014ba5ab3fd2e6a61f",
      "parents": [
        "24a84ea4eef6ec6245e1efdc64764d60d17321bb",
        "74851fbb6d647304f8a7dc491434d3a335ef4b8d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 09:12:40 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 09:12:40 2025 -0800"
      },
      "message": "Merge tag \u0027usb-6.18-rc8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb\n\nPull USB/Thunderbolt fixes from Greg KH:\n \"Here are some last-minutes USB and Thunderbolt driver fixes and new\n  device ids for 6.18-rc8. Included in here are:\n\n   - usb storage quirk fixup\n\n   - xhci driver fixes for reported issues\n\n   - usb gadget driver fixes\n\n   - dwc3 driver fixes\n\n   - UAS driver fixup\n\n   - thunderbolt new device ids\n\n   - usb-serial driver new ids\n\n  All of these have been in linux-next with no reported issues, many for\n  many weeks\"\n\n* tag \u0027usb-6.18-rc8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (21 commits)\n  usb: gadget: renesas_usbf: Handle devm_pm_runtime_enable() errors\n  USB: storage: Remove subclass and protocol overrides from Novatek quirk\n  usb: uas: fix urb unmapping issue when the uas device is remove during ongoing data transfer\n  usb: dwc3: Fix race condition between concurrent dwc3_remove_requests() call paths\n  xhci: dbgtty: fix device unregister\n  usb: storage: sddr55: Reject out-of-bound new_pba\n  USB: serial: option: add support for Rolling RW101R-GL\n  usb: typec: ucsi: psy: Set max current to zero when disconnected\n  usb: gadget: f_eem: Fix memory leak in eem_unwrap\n  usb: dwc3: pci: Sort out the Intel device IDs\n  usb: dwc3: pci: add support for the Intel Nova Lake -S\n  drivers/usb/dwc3: fix PCI parent check\n  usb: storage: Fix memory leak in USB bulk transport\n  xhci: sideband: Fix race condition in sideband unregister\n  xhci: dbgtty: Fix data corruption when transmitting data form DbC to host\n  xhci: fix stale flag preventig URBs after link state error is cleared\n  USB: serial: ftdi_sio: add support for u-blox EVK-M101\n  usb: cdns3: Fix double resource release in cdns3_pci_probe\n  usb: gadget: udc: fix use-after-free in usb_gadget_state_work\n  usb: renesas_usbhs: Fix synchronous external abort on unbind\n  ...\n"
    },
    {
      "commit": "24a84ea4eef6ec6245e1efdc64764d60d17321bb",
      "tree": "6e962208454ce59b006c8865e17955a4b5ac66b7",
      "parents": [
        "4331989728da4e868fcda75bde872d032f5ce6ac",
        "e3cee98f2fcc2234be7813c0e55a7f7a5e77aaf2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 09:09:33 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 09:09:33 2025 -0800"
      },
      "message": "Merge tag \u0027mailbox-fixes-v6.18-rc7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox\n\nPull mailbox fixes from Jassi Brar:\n\n - omap: check for pending msgs only when mbox is exclusive\n\n - mailbox-test: debugfs_create_dir error checking\n\n - mtk:\n     - cmdq: fix DMA address handling\n     - gpueb: Add missing \u0027static\u0027 to mailbox ops struct\n\n - pcc: don\u0027t zero error register\n\n - th1520: fix clock imbalance on probe failure\n\n* tag \u0027mailbox-fixes-v6.18-rc7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox:\n  mailbox: th1520: fix clock imbalance on probe failure\n  mailbox: pcc: don\u0027t zero error register\n  mailbox: mtk-gpueb: Add missing \u0027static\u0027 to mailbox ops struct\n  mailbox: mtk-cmdq: Refine DMA address handling for the command buffer\n  mailbox: mailbox-test: Fix debugfs_create_dir error checking\n  mailbox: omap-mailbox: Check for pending msgs only when mbox is exclusive\n"
    },
    {
      "commit": "3ecfcf34f0992d11e5eb2458a2108b3320c61ba4",
      "tree": "168af3a321808723abcd5115c8e20a17e411fac7",
      "parents": [
        "a6737fe620315db4a47d577703d516cdea960991",
        "9f393d8e757f79060baf4b2e703bd6b2d0d8d323"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Nov 28 17:37:13 2025 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Nov 28 17:37:13 2025 +0100"
      },
      "message": "Merge tag \u0027sunxi-fixes-for-6.18\u0027 of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/fixes\n\nAllwinner fixes for 6.18\n\nJust one fix to correct the \"thead,vlenb\" property for the RISC-V based\nD1 SoC family.\n\n* tag \u0027sunxi-fixes-for-6.18\u0027 of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:\n  riscv: dts: allwinner: d1: fix vlenb property\n"
    },
    {
      "commit": "a6737fe620315db4a47d577703d516cdea960991",
      "tree": "e51ef53ff070fd24a9871bb9f52001d213c9a5d0",
      "parents": [
        "fe7cdcd1bacec3a54ec94131292b5c883cec50cf",
        "517d066dc080fc297f1ab5e8c6fda7c59d48ef8d"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Nov 21 22:14:04 2025 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Nov 28 17:36:52 2025 +0100"
      },
      "message": "Merge tag \u0027omap-for-v6.19/maintainers-signed\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap into arm/fixes\n\nMAINTAINERS: Add entry for TQ-Systems AM335 device trees\n\n* tag \u0027omap-for-v6.19/maintainers-signed\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap:\n  MAINTAINERS: Add entry for TQ-Systems AM335 device trees\n"
    },
    {
      "commit": "4331989728da4e868fcda75bde872d032f5ce6ac",
      "tree": "40c3aca46921f9bd85c91e33e0c29f60f64498b5",
      "parents": [
        "f849f26f77205e25f6ad0b9011b1b68a560d35ff",
        "747528729c9b6733839f9c95f300d5bef95ee52c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 08:20:14 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 08:20:14 2025 -0800"
      },
      "message": "Merge tag \u0027mmc-v6.18-rc2-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc\n\nPull MMC fix from Ulf Hansson:\n\n - sdhci-of-dwcmshc: Fix reset handling for some variants\n\n* tag \u0027mmc-v6.18-rc2-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:\n  mmc: sdhci-of-dwcmshc: Promote the th1520 reset handling to ip level\n"
    },
    {
      "commit": "f849f26f77205e25f6ad0b9011b1b68a560d35ff",
      "tree": "d19e745f2bbfa91b2074eff192f77f9822fa73af",
      "parents": [
        "e538109ac71d801d26776af5f3c54f548296c29c",
        "c98c99d5dbdf9fb0063650594edfd7d49b5f4e29"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 08:08:02 2025 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 28 08:08:02 2025 -0800"
      },
      "message": "Merge tag \u0027pmdomain-v6.18-rc6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm\n\nPull pmdomain fixes from Ulf Hansson:\n\n - mediatek: Fix spinlock recursion in probe\n\n - tegra: Use GENPD_FLAG_NO_STAY_ON to restore old behaviour\n\n* tag \u0027pmdomain-v6.18-rc6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm:\n  pmdomain: tegra: Add GENPD_FLAG_NO_STAY_ON flag\n  pmdomains: mtk-pm-domains: Fix spinlock recursion in probe\n"
    },
    {
      "commit": "e3cee98f2fcc2234be7813c0e55a7f7a5e77aaf2",
      "tree": "ee6c5d21fba8bb6ec03aea8658ee25e0c712dc3f",
      "parents": [
        "ff0e4d4c97c94af34cc9cad37b5a5cdbe597a3b0"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "johan@kernel.org",
        "time": "Fri Oct 17 07:54:14 2025 +0200"
      },
      "committer": {
        "name": "Jassi Brar",
        "email": "jassisinghbrar@gmail.com",
        "time": "Fri Nov 28 09:47:44 2025 -0600"
      },
      "message": "mailbox: th1520: fix clock imbalance on probe failure\n\nThe purpose of the devm_add_action_or_reset() helper is to call the\naction function in case adding an action ever fails so drop the clock\ndisable from the error path to avoid disabling the clocks twice.\n\nFixes: 5d4d263e1c6b (\"mailbox: Introduce support for T-head TH1520 Mailbox driver\")\nCc: Michal Wilczynski \u003cm.wilczynski@samsung.com\u003e\nSigned-off-by: Johan Hovold \u003cjohan@kernel.org\u003e\nReviewed-by: Michal Wilczynski \u003cm.wilczynski@samsung.com\u003e\nSigned-off-by: Jassi Brar \u003cjassisinghbrar@gmail.com\u003e\n"
    },
    {
      "commit": "ff0e4d4c97c94af34cc9cad37b5a5cdbe597a3b0",
      "tree": "e11d8ce81d4ed1e58bc775401fe5642267200548",
      "parents": [
        "094b53ecaa3ef227f9c800f8de90a9b44f1c1bb4"
      ],
      "author": {
        "name": "Jamie Iles",
        "email": "jamie.iles@oss.qualcomm.com",
        "time": "Wed Nov 05 14:42:29 2025 +0000"
      },
      "committer": {
        "name": "Jassi Brar",
        "email": "jassisinghbrar@gmail.com",
        "time": "Fri Nov 28 09:31:53 2025 -0600"
      },
      "message": "mailbox: pcc: don\u0027t zero error register\n\nThe error status mask for a type 3/4 subspace is used for reading the\nerror status, and the bitwise inverse is used for clearing the error\nwith the intent being to preserve any of the non-error bits.  However,\nwe were previously applying the mask to extract the status and then\napplying the inverse to the result which ended up clearing all bits.\n\nInstead, store the inverse mask in the preserve mask and then use that\non the original value read from the error status so that only the error\nis cleared.\n\nFixes: c45ded7e1135 (\"mailbox: pcc: Add support for PCCT extended PCC subspaces(type 3/4)\")\nSigned-off-by: Jamie Iles \u003cjamie.iles@oss.qualcomm.com\u003e\nSigned-off-by: Punit Agrawal \u003cpunit.agrawal@oss.qualcomm.com\u003e\nSigned-off-by: Jassi Brar \u003cjassisinghbrar@gmail.com\u003e\n"
    },
    {
      "commit": "094b53ecaa3ef227f9c800f8de90a9b44f1c1bb4",
      "tree": "d42011d4945d70f78c613f5d14e4f60b7ff92c30",
      "parents": [
        "a195c7ccfb7a21b8118139835e25936ec8722596"
      ],
      "author": {
        "name": "Nicolas Frattaroli",
        "email": "nicolas.frattaroli@collabora.com",
        "time": "Mon Oct 13 10:09:01 2025 +0200"
      },
      "committer": {
        "name": "Jassi Brar",
        "email": "jassisinghbrar@gmail.com",
        "time": "Fri Nov 28 09:31:53 2025 -0600"
      },
      "message": "mailbox: mtk-gpueb: Add missing \u0027static\u0027 to mailbox ops struct\n\nmtk_gpueb_mbox_ops should be declared static. However, due to its const\nnature, this specifier was missed, as it compiled fine without it and\nwith no warning by the compiler.\n\narc-linux-gcc (GCC) 12.5.0 doesn\u0027t seem to like it however, so add the\nstatic to fix that.\n\nReported-by: kernel test robot \u003clkp@intel.com\u003e\nCloses: https://lore.kernel.org/oe-kbuild-all/202510100629.3nGvrhEU-lkp@intel.com/\nFixes: dbca0eabb821 (\"mailbox: add MediaTek GPUEB IPI mailbox\")\nSigned-off-by: Nicolas Frattaroli \u003cnicolas.frattaroli@collabora.com\u003e\nReviewed-by: AngeloGioacchino Del Regno \u003cangelogioacchino.delregno@collabora.com\u003e\nSigned-off-by: Jassi Brar \u003cjassisinghbrar@gmail.com\u003e\n"
    },
    {
      "commit": "a195c7ccfb7a21b8118139835e25936ec8722596",
      "tree": "11c4b59ec59d236f3fdc1340341124ef21a51fc1",
      "parents": [
        "3acf1028f5003731977f750a7070f3321a9cb740"
      ],
      "author": {
        "name": "Jason-JH Lin",
        "email": "jason-jh.lin@mediatek.com",
        "time": "Thu Oct 23 01:16:30 2025 +0800"
      },
      "committer": {
        "name": "Jassi Brar",
        "email": "jassisinghbrar@gmail.com",
        "time": "Fri Nov 28 09:31:53 2025 -0600"
      },
      "message": "mailbox: mtk-cmdq: Refine DMA address handling for the command buffer\n\nGCE can only fetch the command buffer address from a 32-bit register.\nSome SoCs support a 35-bit command buffer address for GCE, which\nrequires a right shift of 3 bits before setting the address into\nthe 32-bit register. A comment has been added to the header of\ncmdq_get_shift_pa() to explain this requirement.\n\nTo prevent the GCE command buffer address from being DMA mapped beyond\nits supported bit range, the DMA bit mask for the device is set during\ninitialization.\n\nAdditionally, to ensure the correct shift is applied when setting or\nreading the register that stores the GCE command buffer address,\nnew APIs, cmdq_convert_gce_addr() and cmdq_revert_gce_addr(), have\nbeen introduced for consistent operations on this register.\n\nThe variable type for the command buffer address has been standardized\nto dma_addr_t to prevent handling issues caused by type mismatches.\n\nFixes: 0858fde496f8 (\"mailbox: cmdq: variablize address shift in platform\")\nSigned-off-by: Jason-JH Lin \u003cjason-jh.lin@mediatek.com\u003e\nReviewed-by: AngeloGioacchino Del Regno \u003cangelogioacchino.delregno@collabora.com\u003e\nSigned-off-by: Jassi Brar \u003cjassisinghbrar@gmail.com\u003e\n"
    },
    {
      "commit": "3acf1028f5003731977f750a7070f3321a9cb740",
      "tree": "ee621fe6c53cfed3ab0b3eeb777f9cfbef79ab85",
      "parents": [
        "060e4e835f9394816584942511f22d771f05100c"
      ],
      "author": {
        "name": "Haotian Zhang",
        "email": "vulab@iscas.ac.cn",
        "time": "Thu Nov 20 10:40:39 2025 +0800"
      },
      "committer": {
        "name": "Jassi Brar",
        "email": "jassisinghbrar@gmail.com",
        "time": "Fri Nov 28 09:31:52 2025 -0600"
      },
      "message": "mailbox: mailbox-test: Fix debugfs_create_dir error checking\n\nThe debugfs_create_dir() function returns ERR_PTR() on error, not NULL.\nThe current null-check fails to catch errors.\n\nUse IS_ERR() to correctly check for errors.\n\nFixes: 8ea4484d0c2b (\"mailbox: Add generic mechanism for testing Mailbox Controllers\")\nSigned-off-by: Haotian Zhang \u003cvulab@iscas.ac.cn\u003e\nSigned-off-by: Jassi Brar \u003cjassisinghbrar@gmail.com\u003e\n"
    },
    {
      "commit": "060e4e835f9394816584942511f22d771f05100c",
      "tree": "43feb4e5a3681f3e59cff582c36680703916108b",
      "parents": [
        "ac3fd01e4c1efce8f2c054cdeb2ddd2fc0fb150d"
      ],
      "author": {
        "name": "Beleswar Padhi",
        "email": "b-padhi@ti.com",
        "time": "Tue Nov 04 01:41:11 2025 +0530"
      },
      "committer": {
        "name": "Jassi Brar",
        "email": "jassisinghbrar@gmail.com",
        "time": "Fri Nov 28 09:31:52 2025 -0600"
      },
      "message": "mailbox: omap-mailbox: Check for pending msgs only when mbox is exclusive\n\nOn TI K3 devices, the mailbox resides in the Always-On power domain\n(LPSC_main_alwayson) and is shared among multiple processors. The\nmailbox is not solely exclusive to Linux.\n\nCurrently, the suspend path checks all FIFO queues for pending messages\nand blocks suspend if any are present. This behavior is unnecessary for\nK3 devices, since some of the FIFOs are used for RTOS\u003c-\u003eRTOS\ncommunication and are independent of Linux.\n\nFor FIFOs used in Linux\u003c-\u003eRTOS communication, any pending message would\ntrigger an interrupt, which naturally prevents suspend from completing.\nHence, there is no need for the mailbox driver to explicitly check for\npending messages on K3 platforms.\n\nIntroduce a device match flag to indicate whether the mailbox instance\nis exclusive to Linux, and skip the pending message check for\nnon-exclusive instances (such as in K3).\n\nFixes: a49f991e740f (\"arm64: dts: ti: k3-am62-verdin: Add missing cfg for TI IPC Firmware\")\nCloses: https://lore.kernel.org/all/sid7gtg5vay5qgicsl6smnzwg5mnneoa35cempt5ddwjvedaio@hzsgcx6oo74l/\nSigned-off-by: Beleswar Padhi \u003cb-padhi@ti.com\u003e\nTested-by: Hiago De Franco \u003chiago.franco@toradex.com\u003e\nReviewed-by: Andrew Davis \u003cafd@ti.com\u003e\nSigned-off-by: Jassi Brar \u003cjassisinghbrar@gmail.com\u003e\n"
    },
    {
      "commit": "0512bf9701f339c8fee2cc82b6fc35f0a8f6be7a",
      "tree": "496bec84a2cd45dce6520011accdfd180503f849",
      "parents": [
        "3a8660878839faadb4f1a6dd72c3179c1df56787",
        "6fb102291873c6d88b221c476589e65558e3f30c"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Mon Nov 24 13:11:21 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:36 2025 +0100"
      },
      "message": "Merge patch series \"file: FD_{ADD,PREPARE}()\"\n\nChristian Brauner \u003cbrauner@kernel.org\u003e says:\n\nThis now removes roughly double the code that it adds.\n\nI\u0027ve been playing with this to allow for moderately flexible usage of\nthe get_unused_fd_flags() + create file + fd_install() pattern that\u0027s\nused quite extensively and requires cumbersome cleanup paths.\n\nHow callers allocate files is really heterogenous so it\u0027s not really\nconvenient to fold them into a single class. It\u0027s possibe to split them\ninto subclasses like for anon inodes. I think that\u0027s not necessarily\nnice as well. This adds two primitives:\n\n(1) FD_ADD() the simple cases a file is installed:\n\n    fd \u003d FD_ADD(O_CLOEXEC, vfio_device_open_file(device));\n    if (fd \u003c 0)\n            vfio_device_put_registration(device);\n    return fd;\n\n(2) FD_PREPARE() that captures all the cases where access to fd or file\n    or additional work before publishing the fd is needed:\n\n    FD_PREPARE(fdf, O_CLOEXEC, sync_file-\u003efile);\n    if (fdf.err) {\n            fput(sync_file-\u003efile);\n            return fdf.err;\n    }\n\n    data.fence \u003d fd_prepare_fd(fdf);\n    if (copy_to_user((void __user *)arg, \u0026data, sizeof(data)))\n            return -EFAULT;\n\n    return fd_publish(fdf);\n\nI\u0027ve converted all of the easy cases over to it and it gets rid of an\naweful lot of convoluted cleanup logic. There are a bunch of other cases\nthat can also be converted after a bit of massaging.\n\nIt\u0027s centered around a simple struct. FD_PREPARE() encapsulates all of\nallocation and cleanup logic and must be followed by a call to\nfd_publish() which associates the fd with the file and installs it into\nthe callers fdtable. If fd_publish() isn\u0027t called both are deallocated.\nFD_ADD() is a shorthand that does the fd_publish() and never exposes the\nstruct to the caller. That\u0027s often the case when they don\u0027t need access\nto anything after installing the fd.\n\nIt mandates a specific order namely that first we allocate the fd and\nthen instantiate the file. But that shouldn\u0027t be a problem. Nearly\neveryone I\u0027ve converted used this order anyway.\n\nThere\u0027s a bunch of additional cases where it would be easy to convert\nthem to this pattern. For example, the whole sync file stuff in dma\ncurrently returns the containing structure of the file instead of the\nfile itself even though it\u0027s only used to allocate files. Changing that\nwould make it fall into the FD_PREPARE() pattern easily. I\u0027ve not done\nthat work yet.\n\nThere\u0027s room for extending this in a way that wed\u0027d have subclasses for\nsome particularly often use patterns but as I said I\u0027m not even sure\nthat\u0027s worth it.\n\n* patches from https://patch.msgid.link/20251123-work-fd-prepare-v4-0-b6efa1706cfd@kernel.org: (47 commits)\n  kvm: convert kvm_vcpu_ioctl_get_stats_fd() to FD_PREPARE()\n  kvm: convert kvm_arch_supports_gmem_init_shared() to FD_PREPARE()\n  io_uring: convert io_create_mock_file() to FD_PREPARE()\n  file: convert replace_fd() to FD_PREPARE()\n  vfio: convert vfio_group_ioctl_get_device_fd() to FD_PREPARE()\n  tty: convert ptm_open_peer() to FD_PREPARE()\n  ntsync: convert ntsync_obj_get_fd() to FD_PREPARE()\n  media: convert media_request_alloc() to FD_PREPARE()\n  hv: convert mshv_ioctl_create_partition() to FD_PREPARE()\n  gpio: convert linehandle_create() to FD_PREPARE()\n  dma: port sw_sync_ioctl_create_fence() to FD_PREPARE()\n  pseries: port papr_rtas_setup_file_interface() to FD_PREPARE()\n  pseries: convert papr_platform_dump_create_handle() to FD_PREPARE()\n  spufs: convert spufs_gang_open() to FD_PREPARE()\n  papr-hvpipe: convert papr_hvpipe_dev_create_handle() to FD_PREPARE()\n  spufs: convert spufs_context_open() to FD_PREPARE()\n  net/socket: convert __sys_accept4_file() to FD_PREPARE()\n  net/socket: convert sock_map_fd() to FD_PREPARE()\n  net/sctp: convert sctp_getsockopt_peeloff_common() to FD_PREPARE()\n  net/kcm: convert kcm_ioctl() to FD_PREPARE()\n  ...\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-0-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "6fb102291873c6d88b221c476589e65558e3f30c",
      "tree": "496bec84a2cd45dce6520011accdfd180503f849",
      "parents": [
        "99d4f12f174be8a55320b5097b5a09b7801c4e92"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:34:03 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:36 2025 +0100"
      },
      "message": "io_uring: convert io_create_mock_file() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-45-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "99d4f12f174be8a55320b5097b5a09b7801c4e92",
      "tree": "6c0f7b3de9e77b9f28f27b6d9e1950bf6421c9ef",
      "parents": [
        "5f3ea1c201088290f66445b601a21fd89a398f88"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:34:02 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:36 2025 +0100"
      },
      "message": "file: convert replace_fd() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-44-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "5f3ea1c201088290f66445b601a21fd89a398f88",
      "tree": "9fc0d00dc408988b150d9247906b1cfbc8ab90cc",
      "parents": [
        "3fd5edfe1d6fcc67410be753dcb704d8a1d0bfd7"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:34:01 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:36 2025 +0100"
      },
      "message": "vfio: convert vfio_group_ioctl_get_device_fd() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-43-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "3fd5edfe1d6fcc67410be753dcb704d8a1d0bfd7",
      "tree": "90a2fb666c4837663383a8afbafaf167e5eadf42",
      "parents": [
        "af66279a012b2d9a175486a6292d41513ae7b74f"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:34:00 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:36 2025 +0100"
      },
      "message": "tty: convert ptm_open_peer() to FD_ADD()\n\nChristian Brauner \u003cbrauner@kernel.org\u003e says:\n\nThe fix sent in [1] was squashed into this commit.\n\nFixes: https://lore.kernel.org/37ac7af5-584f-4768-a462-4d1071c43eaf@sirena.org.uk [1]\nReported-by: Mark Brown \u003cbroonie@kernel.org\u003e [1]\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e [1]\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-42-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "af66279a012b2d9a175486a6292d41513ae7b74f",
      "tree": "dd6615726380140bf1dcd39d0ae2179eb005a1d3",
      "parents": [
        "6f504cbf108a8e5a1e6e830b2de901fdb4930fdf"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:59 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:36 2025 +0100"
      },
      "message": "ntsync: convert ntsync_obj_get_fd() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-41-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "6f504cbf108a8e5a1e6e830b2de901fdb4930fdf",
      "tree": "f2b7c4b10ff01885fce824fdd937afb3ca544699",
      "parents": [
        "c99dc44562728a568ebbfc3249d6b7d0e9f27165"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:58 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:35 2025 +0100"
      },
      "message": "media: convert media_request_alloc() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-40-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "c99dc44562728a568ebbfc3249d6b7d0e9f27165",
      "tree": "b91fc4f834f7dfd8a1a519df09dfde1bb5e0db1c",
      "parents": [
        "da7e394bf58f94e9783379fef7c7fb4411b03208"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:57 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:35 2025 +0100"
      },
      "message": "hv: convert mshv_ioctl_create_partition() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-39-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "da7e394bf58f94e9783379fef7c7fb4411b03208",
      "tree": "636bdad87ccf7179625d742ac2b1eff3d9051634",
      "parents": [
        "6ae8da4846526e8af1d5132847716de9e6706f37"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Mon Nov 24 13:55:02 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:35 2025 +0100"
      },
      "message": "gpio: convert linehandle_create() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-38-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "6ae8da4846526e8af1d5132847716de9e6706f37",
      "tree": "46815c1ed15de7db6e86863e13d26b11d806a8a2",
      "parents": [
        "274d937006a2f1258f513cca3f8d56fc23466b0e"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:54 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:35 2025 +0100"
      },
      "message": "pseries: port papr_rtas_setup_file_interface() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-36-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "274d937006a2f1258f513cca3f8d56fc23466b0e",
      "tree": "348eb18f317e7dcee36b233d3377456e778a49e1",
      "parents": [
        "0b9d4a6b51d75ca3e9806bf660e147328d645378"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:53 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:35 2025 +0100"
      },
      "message": "pseries: convert papr_platform_dump_create_handle() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-35-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "0b9d4a6b51d75ca3e9806bf660e147328d645378",
      "tree": "85bec3899de9a368beae82a590bf157e04343c4c",
      "parents": [
        "6d3789d347a7af5c4b0b2da3af47b8d9da607ab2"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:52 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:35 2025 +0100"
      },
      "message": "spufs: convert spufs_gang_open() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-34-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "6d3789d347a7af5c4b0b2da3af47b8d9da607ab2",
      "tree": "c8b7ee7584c80fa21ef261e6517a9a05945ea863",
      "parents": [
        "843e7b5c293c112dedeeced1a7088668933d3308"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:51 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:35 2025 +0100"
      },
      "message": "papr-hvpipe: convert papr_hvpipe_dev_create_handle() to FD_PREPARE()\n\nFixes a UAF for src_info as well.\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-33-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "843e7b5c293c112dedeeced1a7088668933d3308",
      "tree": "73461b7135e3e8174e441efefad1b290a69aa88e",
      "parents": [
        "4667d638726cfd78e599c3ad5237cf4d1bf82c74"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:50 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:34 2025 +0100"
      },
      "message": "spufs: convert spufs_context_open() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-32-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "4667d638726cfd78e599c3ad5237cf4d1bf82c74",
      "tree": "5c791c4830344fc6cfad88f5d4b33864e17d1d84",
      "parents": [
        "245f0d1c622b0183ce4f44b3e39aeacf78fae594"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:49 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:34 2025 +0100"
      },
      "message": "net/socket: convert __sys_accept4_file() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-31-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "245f0d1c622b0183ce4f44b3e39aeacf78fae594",
      "tree": "ef86b92239e01c3d0228b648ecf82a5dcb324a8e",
      "parents": [
        "0d52d06a199f5b95a66a3ff0a303a48532e3461f"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:48 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:34 2025 +0100"
      },
      "message": "net/socket: convert sock_map_fd() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-30-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "0d52d06a199f5b95a66a3ff0a303a48532e3461f",
      "tree": "a06318544c607c2711a247803955ea29a1eb3282",
      "parents": [
        "fe67b063f687d8f32c466778aad57508bc1c618a"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:46 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:34 2025 +0100"
      },
      "message": "net/kcm: convert kcm_ioctl() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-28-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "fe67b063f687d8f32c466778aad57508bc1c618a",
      "tree": "8e5a8072c9c8a877ba268d57299952cc36eefc3c",
      "parents": [
        "910c361f9a1f41397b82d679802c1806cdd960fe"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:45 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:34 2025 +0100"
      },
      "message": "net/handshake: convert handshake_nl_accept_doit() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-27-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "910c361f9a1f41397b82d679802c1806cdd960fe",
      "tree": "313699ce3ef6ed58b87a0ee38620dbb1ef801844",
      "parents": [
        "1afcbbe5d65617a3f2f6338effa9e0f21082912b"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:44 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:34 2025 +0100"
      },
      "message": "secretmem: convert memfd_secret() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-26-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "1afcbbe5d65617a3f2f6338effa9e0f21082912b",
      "tree": "beb1807e3be31359690cd3fa1d48bff932dea9bd",
      "parents": [
        "981bec8f698ba19a4d983016c6ccdde30502d07e"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:43 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:34 2025 +0100"
      },
      "message": "memfd: convert memfd_create() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-25-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "981bec8f698ba19a4d983016c6ccdde30502d07e",
      "tree": "75b35cd828bdbab8f96e81ee54167450f2a718b2",
      "parents": [
        "798c2da4906cf969daf422e5d9bde243c452deff"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:42 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:33 2025 +0100"
      },
      "message": "bpf: convert bpf_token_create() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-24-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "798c2da4906cf969daf422e5d9bde243c452deff",
      "tree": "7f9ca492ecff40fca2dbe23e50c5885ef60ee576",
      "parents": [
        "f2573685bd0ccb79cb6b6234461b7f750311b8e7"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:41 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:33 2025 +0100"
      },
      "message": "bpf: convert bpf_iter_new_fd() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-23-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "f2573685bd0ccb79cb6b6234461b7f750311b8e7",
      "tree": "44a6eb7a62176fbacc003f3259902b3fdf299002",
      "parents": [
        "1ad7810c6ddae66b2fcd541672bca10fc3b9bbc0"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:40 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:33 2025 +0100"
      },
      "message": "ipc: convert do_mq_open() to FD_ADD()\n\nChristian Brauner \u003cbrauner@kernel.org\u003e says:\n\nThe fix sent in [1] was squashed into this commit.\n\nFixes: https://lore.kernel.org/c41de645-8234-465f-a3be-f0385e3a163c@sirena.org.uk [1]\nReported-by: Mark Brown \u003cbroonie@kernel.org\u003e [1]\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e [1]\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-22-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "1ad7810c6ddae66b2fcd541672bca10fc3b9bbc0",
      "tree": "9cd357e09ab9cc91dc9f874b7d06422017571597",
      "parents": [
        "7352c6fce34c2e3d902a9bb0af1684c535805e08"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:39 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:33 2025 +0100"
      },
      "message": "exec: convert begin_new_exec() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-21-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "7352c6fce34c2e3d902a9bb0af1684c535805e08",
      "tree": "95c4d0b50272bbfdb6863734afbfa0d48a1eccb4",
      "parents": [
        "34dfce523c907d932d8ea2f849e40203a6368047"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:37 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:33 2025 +0100"
      },
      "message": "af_unix: convert unix_file_open() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-19-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "34dfce523c907d932d8ea2f849e40203a6368047",
      "tree": "49d05fb801798bf9e02b64de75ccf186732b11b5",
      "parents": [
        "993f30468ea1c5f62758dd1ecc561fa7e156d479"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:36 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:33 2025 +0100"
      },
      "message": "dma: convert dma_buf_fd() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-18-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "993f30468ea1c5f62758dd1ecc561fa7e156d479",
      "tree": "5f789abdf191f9d3da1cca879e8f8f5164d79050",
      "parents": [
        "39f6e7581ac56ada39aa823d8112642a57ca10b0"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:35 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:33 2025 +0100"
      },
      "message": "xfs: convert xfs_open_by_handle() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-17-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "39f6e7581ac56ada39aa823d8112642a57ca10b0",
      "tree": "3d56fe907956d2d87029f40976dadb144c9a2481",
      "parents": [
        "14010faa1badae0a8a59b1134490c7aaab49e7a9"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:34 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:33 2025 +0100"
      },
      "message": "userfaultfd: convert new_userfaultfd() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-16-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "14010faa1badae0a8a59b1134490c7aaab49e7a9",
      "tree": "148ed111ed93197c34ab4dee012b698300110d04",
      "parents": [
        "5b755da105e22d9cabfd90edd310e46ecc7fa721"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:33 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:32 2025 +0100"
      },
      "message": "timerfd: convert timerfd_create() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-15-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "5b755da105e22d9cabfd90edd310e46ecc7fa721",
      "tree": "16c3b3d0188bda6ae6fafe18df220b490809b582",
      "parents": [
        "360fbf808a9a0827f44c46b45391c494760737f1"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:32 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:32 2025 +0100"
      },
      "message": "signalfd: convert do_signalfd4() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-14-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "360fbf808a9a0827f44c46b45391c494760737f1",
      "tree": "2335d7e695beb82795edcbf27cebb5bffbd5f45b",
      "parents": [
        "13dce771bbad42da6ecf086446d8ddfd1fce3a1b"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:31 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:32 2025 +0100"
      },
      "message": "open: convert do_sys_openat2() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-13-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "13dce771bbad42da6ecf086446d8ddfd1fce3a1b",
      "tree": "8503b33272cdbb258cb00e713caba565e80b7c73",
      "parents": [
        "0f4288410cef8676d745c776ea9f1cdd710d50ef"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:30 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:32 2025 +0100"
      },
      "message": "eventpoll: convert do_epoll_create() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-12-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "0f4288410cef8676d745c776ea9f1cdd710d50ef",
      "tree": "725e276bf9eaacc824a0255aae07cae4f32368ea",
      "parents": [
        "3d8aefd49aed34d2a3acfdcb10a0af0d0fe94a7c"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:29 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:32 2025 +0100"
      },
      "message": "autofs: convert autofs_dev_ioctl_open_mountpoint() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-11-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "3d8aefd49aed34d2a3acfdcb10a0af0d0fe94a7c",
      "tree": "8bde03cce3f5db79a66709deef931ccb2b3334be",
      "parents": [
        "00de6e244807aa8e9c00cb6ad2976c429058d4ac"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:28 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:32 2025 +0100"
      },
      "message": "nsfs: convert ns_ioctl() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-10-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "00de6e244807aa8e9c00cb6ad2976c429058d4ac",
      "tree": "dd584d87d446abace41a6986406c6edf5f889be0",
      "parents": [
        "7129098f4f7b848ead33ce10214b90716e3fd400"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:27 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:32 2025 +0100"
      },
      "message": "nsfs: convert open_namespace() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-9-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "7129098f4f7b848ead33ce10214b90716e3fd400",
      "tree": "0f360b12385d003e4ee8532dc060854d44f6355e",
      "parents": [
        "05885f41658ce953d22066913414d56aaad36157"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:26 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:31 2025 +0100"
      },
      "message": "fanotify: convert fanotify_init() to FD_PREPARE()\n\nChristian Brauner \u003cbrauner@kernel.org\u003e says:\n\nThe fix sent in [1] was squashed into this commit.\n\nLink: https://lore.kernel.org/20251127201618.2115275-1-kuniyu@google.com [1]\nReported-by: syzbot+321168dfa622eda99689@syzkaller.appspotmail.com\nCloses: https://lore.kernel.org/lkml/6928b121.a70a0220.d98e3.0110.GAE@google.com\nSigned-off-by: Kuniyuki Iwashima \u003ckuniyu@google.com\u003e\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-8-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "05885f41658ce953d22066913414d56aaad36157",
      "tree": "6f3844fec72d1ae9b3041bfbb34419aa3a3ff882",
      "parents": [
        "416b0d16590b1b79d18990e62f5a95f96ec554b7"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:25 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:31 2025 +0100"
      },
      "message": "namespace: convert fsmount() to FD_PREPARE()\n\nChristian Brauner \u003cbrauner@kernel.org\u003e says:\n\nA variant of the fix sent in [1] was squashed into this commit.\n\nLink: https://lore.kernel.org/20251128035149.392402-1-kartikey406@gmail.com [1]\nReported-by: Deepanshu Kartikey \u003ckartikey406@gmail.com\u003e\nReported-by: syzbot+94048264da5715c251f9@syzkaller.appspotmail.com\nTested-by: syzbot+94048264da5715c251f9@syzkaller.appspotmail.com\nCloses: https://syzkaller.appspot.com/bug?extid\u003d94048264da5715c251f9\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-7-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "416b0d16590b1b79d18990e62f5a95f96ec554b7",
      "tree": "0990123ca93b47541c7e5646292e7e339b227fd7",
      "parents": [
        "542a40654342ecefe75e2786c086ac5950d96fa3"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:24 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:31 2025 +0100"
      },
      "message": "namespace: convert open_tree_attr() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-6-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "542a40654342ecefe75e2786c086ac5950d96fa3",
      "tree": "ec29e3c88a0ccecd9a3a5eef09bc9959cfc887cc",
      "parents": [
        "fbe58faa6934812851b50996ce0e9db0eafdd91c"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:23 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:31 2025 +0100"
      },
      "message": "namespace: convert open_tree() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-5-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "fbe58faa6934812851b50996ce0e9db0eafdd91c",
      "tree": "96cf52dce9855032f9156f64a469797c207abb44",
      "parents": [
        "a5fa9ab846b4ebd68302aca32497616c078f34bf"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:22 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:31 2025 +0100"
      },
      "message": "fhandle: convert do_handle_open() to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-4-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "a5fa9ab846b4ebd68302aca32497616c078f34bf",
      "tree": "16860222c727a916f250f3c2e0e9f3a54e487d29",
      "parents": [
        "8797dd560018818464a6a16920ee732bd7e9ab18"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:21 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:31 2025 +0100"
      },
      "message": "eventfd: convert do_eventfd() to FD_PREPARE()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-3-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "8797dd560018818464a6a16920ee732bd7e9ab18",
      "tree": "26f27e140321d304ebcdc19a45737d4665de24d2",
      "parents": [
        "011703a9acd76edc7c85d80dbccb6e50dba53aad"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:20 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:31 2025 +0100"
      },
      "message": "anon_inodes: convert to FD_ADD()\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-2-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "011703a9acd76edc7c85d80dbccb6e50dba53aad",
      "tree": "b9ad398dcbdecad9aedb07fb2a3dfcc4e0bc7aa2",
      "parents": [
        "3a8660878839faadb4f1a6dd72c3179c1df56787"
      ],
      "author": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Sun Nov 23 17:33:19 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 12:42:23 2025 +0100"
      },
      "message": "file: add FD_{ADD,PREPARE}()\n\nI\u0027ve been playing with this to allow for moderately flexible usage of\nthe get_unused_fd_flags() + create file + fd_install() pattern that\u0027s\nused quite extensively.\n\nHow callers allocate files is really heterogenous so it\u0027s not really\nconvenient to fold them into a single class. It\u0027s possibe to split them\ninto subclasses like for anon inodes. I think that\u0027s not necessarily\nnice as well.\n\nMy take is to add two primites:\n(1) FD_ADD() the simple cases a file is installed:\n\n    fd \u003d FD_ADD(O_CLOEXEC, open_file(some, args)));\n    if (fd \u003e\u003d 0)\n            kvm_get_kvm(vcpu-\u003ekvm);\n    return fd;\n\n(2) FD_PREPARE() that captures all the cases where access to fd or file\n    or additional work before publishing the fd is needed:\n\n    FD_PREPARE(fdf, open_flag, file_open_handle(\u0026path, open_flag));\n    if (fdf.err)\n            return fdf.err;\n\n    if (copy_to_user(/* something something */))\n            return -EFAULT;\n\n    return fd_publish(fdf);\n\nI\u0027ve converted all of the easy cases over to it and it gets rid of an\naweful lot of convoluted cleanup logic.\n\nIt\u0027s centered around struct fd_prepare. FD_PREPARE() encapsulates all of\nallocation and cleanup logic and must be followed by a call to\nfd_publish() which associates the fd with the file and installs it into\nthe callers fdtable. If fd_publish() isn\u0027t called both are deallocated.\n\nIt mandates a specific order namely that first we allocate the fd and\nthen instantiate the file. But that shouldn\u0027t be a problem nearly\neveryone I\u0027ve converted uses this exact pattern anyway.\n\nThere\u0027s a bunch of additional cases where it would be easy to convert\nthem to this pattern. For example, the whole sync file stuff in dma\ncurrently retains the containing structure of the file instead of the\nfile itself even though it\u0027s only used to allocate files. Changing that\nwould make it fall into the FD_PREPARE() pattern easily. I\u0027ve not done\nthat work yet.\n\nThere\u0027s room for extending this in a way that wed\u0027d have subclasses for\nsome particularly often use patterns but as I said I\u0027m not even sure\nthat\u0027s worth it.\n\nLink: https://patch.msgid.link/20251123-work-fd-prepare-v4-1-b6efa1706cfd@kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "d27c71257825dced46104eefe42e4d9964bd032e",
      "tree": "76396a8374b2bbe2c36cc0fb1ceb7958ac2e2cc3",
      "parents": [
        "e9c70084a64e51b65bb68f810692a03dc8bedffa"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 28 10:19:05 2025 +0000"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 11:30:10 2025 +0100"
      },
      "message": "afs: Fix delayed allocation of a cell\u0027s anonymous key\n\nThe allocation of a cell\u0027s anonymous key is done in a background thread\nalong with other cell setup such as doing a DNS upcall.  In the reported\nbug, this is triggered by afs_parse_source() parsing the device name given\nto mount() and calling afs_lookup_cell() with the name of the cell.\n\nThe normal key lookup then tries to use the key description on the\nanonymous authentication key as the reference for request_key() - but it\nmay not yet be set and so an oops can happen.\n\nThis has been made more likely to happen by the fix for dynamic lookup\nfailure.\n\nFix this by firstly allocating a reference name and attaching it to the\nafs_cell record when the record is created.  It can share the memory\nallocation with the cell name (unfortunately it can\u0027t just overlap the cell\nname by prepending it with \"afs@\" as the cell name already has a \u0027.\u0027\nprepended for other purposes).  This reference name is then passed to\nrequest_key().\n\nSecondly, the anon key is now allocated on demand at the point a key is\nrequested in afs_request_key() if it is not already allocated.  A mutex is\nused to prevent multiple allocation for a cell.\n\nThirdly, make afs_request_key_rcu() return NULL if the anonymous key isn\u0027t\nyet allocated (if we need it) and then the caller can return -ECHILD to\ndrop out of RCU-mode and afs_request_key() can be called.\n\nNote that the anonymous key is kind of necessary to make the key lookup\ncache work as that doesn\u0027t currently cache a negative lookup, but it\u0027s\nprobably worth some investigation to see if NULL can be used instead.\n\nFixes: 330e2c514823 (\"afs: Fix dynamic lookup to fail on cell lookup failure\")\nReported-by: syzbot+41c68824eefb67cdf00c@syzkaller.appspotmail.com\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nLink: https://patch.msgid.link/800328.1764325145@warthog.procyon.org.uk\ncc: Marc Dionne \u003cmarc.dionne@auristor.com\u003e\ncc: linux-afs@lists.infradead.org\ncc: linux-fsdevel@vger.kernel.org\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "2579e21be532457742d4100bbda1c2a5b81cbdef",
      "tree": "1fb5e4a339085f9eeb3121cf830ff125a0ff3509",
      "parents": [
        "101bf15887c99f4f0c6d60f427333923b07c2bd1"
      ],
      "author": {
        "name": "Chen Ni",
        "email": "nichen@iscas.ac.cn",
        "time": "Tue Nov 18 10:48:00 2025 +0800"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 11:05:52 2025 +0100"
      },
      "message": "ovl: remove unneeded semicolon\n\nRemove unnecessary semicolons reported by Coccinelle/coccicheck and the\nsemantic patch at scripts/coccinelle/misc/semicolon.cocci.\n\nSigned-off-by: Chen Ni \u003cnichen@iscas.ac.cn\u003e\nFixed: 7ab96df840e60 (\"VFS/nfsd/cachefiles/ovl: add start_creating() and end_creating()\")\nSigned-off-by: Amir Goldstein \u003camir73il@gmail.com\u003e\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "4be9e04ebf75a5c4478c1c6295e2122e5dc98f5f",
      "tree": "fa495c8262e0091220433298f25e9468d2ada34f",
      "parents": [
        "01c9c30aae317adc3ae7246f545b2c83b16ff314"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@kernel.org",
        "time": "Fri Nov 28 10:55:09 2025 +0100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 10:55:34 2025 +0100"
      },
      "message": "vfs: add needed headers for new struct delegation definition\n\nThe definition of struct delegation uses stdint.h integer types. Add the\nnecessary headers to ensure that always works.\n\nFixes: 1602bad16d7d (\"vfs: expose delegation support to userland\")\nSigned-off-by: Jeff Layton \u003cjlayton@kernel.org\u003e\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    },
    {
      "commit": "e9c70084a64e51b65bb68f810692a03dc8bedffa",
      "tree": "c60df6e8d321623c713abde42894ee7ebf8e701b",
      "parents": [
        "7b6dcd9bfd869eee7693e45b1817dac8c56e5f86"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neil@brown.name",
        "time": "Fri Nov 28 12:22:35 2025 +1100"
      },
      "committer": {
        "name": "Christian Brauner",
        "email": "brauner@kernel.org",
        "time": "Fri Nov 28 10:42:32 2025 +0100"
      },
      "message": "ovl: fail ovl_lock_rename_workdir() if either target is unhashed\n\nAs well as checking that the parent hasn\u0027t changed after getting the\nlock we need to check that the dentry hasn\u0027t been unhashed.\nOtherwise we might try to rename something that has been removed.\n\nReported-by: syzbot+bfc9a0ccf0de47d04e8c@syzkaller.appspotmail.com\nFixes: d2c995581c7c (\"ovl: Call ovl_create_temp() without lock held.\")\nSigned-off-by: NeilBrown \u003cneil@brown.name\u003e\nLink: https://patch.msgid.link/176429295510.634289.1552337113663461690@noble.neil.brown.name\nTested-by: syzbot+bfc9a0ccf0de47d04e8c@syzkaller.appspotmail.com\nReviewed-by: Amir Goldstein \u003camir73il@gmail.com\u003e\nSigned-off-by: Christian Brauner \u003cbrauner@kernel.org\u003e\n"
    }
  ],
  "next": "ca0d620b0afae20a7bcd5182606eba6860b2dbf2"
}
