)]}'
{
  "log": [
    {
      "commit": "b5c111f4967ba4fdecdd318923ec7b081e9ef95f",
      "tree": "e6f69eeea923cfeb788dbe78c91bae43c266176b",
      "parents": [
        "1081de1accb2b224516cca7071122c59532d0b22"
      ],
      "author": {
        "name": "Amery Hung",
        "email": "ameryhung@gmail.com",
        "time": "Thu Apr 23 15:23:55 2026 -0700"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Fri Apr 24 11:21:34 2026 -0700"
      },
      "message": "bpf: Fix sk_local_storage diag dumping uninitialized special fields\n\nCall check_and_init_map_value() after the copy_map_value() to zero out\nspecial field regions. diag_get() copies sk_local_storage map values\ninto a netlink message using copy_map_value{_locked}(), which\nintentionally skip special fields. However, the destination buffer from\nnla_reserve_64bit() is not zeroed and the skipped regions contain\nuninitialized skb data can be sent to userspace.\n\nFixes: 1ed4d92458a9 (\"bpf: INET_DIAG support in bpf_sk_storage\")\nSigned-off-by: Amery Hung \u003cameryhung@gmail.com\u003e\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\nLink: https://patch.msgid.link/20260423222356.155387-1-ameryhung@gmail.com\n"
    },
    {
      "commit": "1081de1accb2b224516cca7071122c59532d0b22",
      "tree": "7322af30b97d42787efadbe9423f7cb3f89f912c",
      "parents": [
        "6451d58a355642b612f2bf948ad39108c998ac2a"
      ],
      "author": {
        "name": "Weiming Shi",
        "email": "bestswngs@gmail.com",
        "time": "Thu Apr 23 11:38:32 2026 -0700"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Thu Apr 23 18:27:18 2026 -0700"
      },
      "message": "bpf: Fix NULL pointer dereference in bpf_skb_fib_lookup()\n\nWhen tot_len is not provided by the user, bpf_skb_fib_lookup()\nresolves the FIB result\u0027s output device via dev_get_by_index_rcu()\nto check skb forwardability and fill in mtu_result. The returned\npointer is dereferenced without a NULL check. If the device is\nconcurrently unregistered, dev_get_by_index_rcu() returns NULL and\nis_skb_forwardable() crashes at dev-\u003eflags:\n\n KASAN: null-ptr-deref in range\n  [0x00000000000000b0-0x00000000000000b7]\n Call Trace:\n  is_skb_forwardable (include/linux/netdevice.h:4365)\n  bpf_skb_fib_lookup (net/core/filter.c:6446)\n  bpf_prog_test_run_skb (net/bpf/test_run.c)\n  __sys_bpf (kernel/bpf/syscall.c)\n\nAdd the missing NULL check, returning -ENODEV to be consistent\nwith how bpf_ipv4_fib_lookup() and bpf_ipv6_fib_lookup() handle\nthe same condition.\n\nFixes: 4f74fede40df (\"bpf: Add mtu checking to FIB forwarding helper\")\nReported-by: Xiang Mei \u003cxmei5@asu.edu\u003e\nSigned-off-by: Weiming Shi \u003cbestswngs@gmail.com\u003e\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\nAcked-by: Paul Chaignon \u003cpaul.chaignon@gmail.com\u003e\nLink: https://patch.msgid.link/20260423183831.1325480-2-bestswngs@gmail.com\n"
    },
    {
      "commit": "6451d58a355642b612f2bf948ad39108c998ac2a",
      "tree": "987e5ae1387b3153085258d5af8c11364a326239",
      "parents": [
        "375e4e33c18dfa05c5dfd5f3dfffeb29343dd4c7"
      ],
      "author": {
        "name": "Kuniyuki Iwashima",
        "email": "kuniyu@google.com",
        "time": "Mon Apr 20 19:48:41 2026 +0000"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Thu Apr 23 18:24:02 2026 -0700"
      },
      "message": "sockmap: Fix sk_psock_drop() race vs sock_map_{unhash,close,destroy}().\n\nsyzbot reported a splat in sock_map_destroy() [0], where psock was\nNULL even though sk-\u003esk_prot still pointed to tcp_bpf_prots[][].\n\nThe stack trace shows how badly the path was excercised, see\ninet_release() calls tcp_close(), not sock_map_close() yet, but\nfinally reaching sock_map_destroy().\n\nThe root cause is a lack of synchronisation.\n\nEven if sk_psock_get() fails to bump psock-\u003erefcnt, it does not\nguarantee that sk_psock_drop() has finished, and thus sk-\u003esk_prot\nmight not have been restored to the original one.\n\nCommit 4b4647add7d3 (\"sock_map: avoid race between sock_map_close\nand sk_psock_put\") attempted to address this, but it was insufficient\nfor two reasons.\n\nIt did not cover sock_map_unhash() and sock_map_destroy(), and\nit missed the corner case where sk_psock() is NULL.\n\nOn non-x86 platforms, sk_psock_restore_proto(sk, psock) and\nrcu_assign_sk_user_data(sk, NULL) can be reordered because there\nis no address dependency between sk-\u003esk_prot and sk-\u003esk_user_data.\n\nsk_psock_get() returning NULL implies nothing about sk-\u003esk_prot.\n\nLet\u0027s simply retry sk_psock_get() in the unlikely case.\n\nNote that we cannot avoid loop even if we added memory barrier\nin sk_psock_drop() and sock_map_psock_get_checked().\n\nAlso note that sock_map_destroy() cannot be called from softirq\nwhile sock_map_close() has also been running.\nIt is because sock_map_destroy() requires SOCK_DEAD, so sock_map_destroy()\ncannot happen until sock_map_close() has finished the saved_close()\n(which is tcp_close()).\n\n[0]:\nWARNING: CPU: 1 PID: 8459 at net/core/sock_map.c:1667 sock_map_destroy+0x28b/0x2b0 net/core/sock_map.c:1667\nModules linked in:\nCPU: 1 UID: 0 PID: 8459 Comm: syz.0.1109 Not tainted syzkaller #0 PREEMPT_{RT,(full)}\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025\nRIP: 0010:sock_map_destroy+0x28b/0x2b0 net/core/sock_map.c:1667\nCode: 8b 36 49 83 c6 38 4c 89 f0 48 c1 e8 03 42 80 3c 38 00 74 08 4c 89 f7 e8 93 62 22 f9 4d 8b 3e e9 79 ff ff ff e8 a6 2b c3 f8 90 \u003c0f\u003e 0b 90 eb 9c e8 9b 2b c3 f8 4c 89 e7 be 03 00 00 00 e8 0e 4e bc\nRSP: 0018:ffffc9000d067be8 EFLAGS: 00010293\nRAX: ffffffff88fb30aa RBX: ffff888024832000 RCX: ffff888024283b80\nRDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000\nRBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000\nR10: dffffc0000000000 R11: ffffed100862e946 R12: dffffc0000000000\nR13: ffff888024832000 R14: ffffffff995b2208 R15: ffffffff88fb2e20\nFS:  0000555579a7d500(0000) GS:ffff8881269c2000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\nCR2: 00002000000048c0 CR3: 000000003713a000 CR4: 00000000003526f0\nCall Trace:\n \u003cTASK\u003e\n inet_csk_destroy_sock+0x166/0x3a0 net/ipv4/inet_connection_sock.c:1294\n __tcp_close+0xcc1/0xfd0 net/ipv4/tcp.c:3262\n tcp_close+0x28/0x110 net/ipv4/tcp.c:3274\n inet_release+0x144/0x190 net/ipv4/af_inet.c:435\n __sock_release net/socket.c:649 [inline]\n sock_close+0xc0/0x240 net/socket.c:1439\n __fput+0x45b/0xa80 fs/file_table.c:468\n task_work_run+0x1d4/0x260 kernel/task_work.c:227\n resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]\n exit_to_user_mode_loop+0xec/0x110 kernel/entry/common.c:43\n exit_to_user_mode_prepare include/linux/irq-entry-common.h:225 [inline]\n syscall_exit_to_user_mode_work include/linux/entry-common.h:175 [inline]\n syscall_exit_to_user_mode include/linux/entry-common.h:210 [inline]\n do_syscall_64+0x2bd/0x3b0 arch/x86/entry/syscall_64.c:100\n entry_SYSCALL_64_after_hwframe+0x77/0x7f\nRIP: 0033:0x7f265847ebe9\nCode: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 \u003c48\u003e 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48\nRSP: 002b:00007ffd158dfbd8 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4\nRAX: 0000000000000000 RBX: 000000000002ddb0 RCX: 00007f265847ebe9\nRDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003\nRBP: 00007f26586a7da0 R08: 0000000000000001 R09: 0000000e158dfecf\nR10: 0000001b30a20000 R11: 0000000000000246 R12: 00007f26586a5fac\nR13: 00007f26586a5fa0 R14: ffffffffffffffff R15: 00007ffd158dfcf0\n \u003c/TASK\u003e\n\nFixes: 1aa12bdf1bfb (\"bpf: sockmap, add sock close() hook to remove socks\")\nFixes: b05545e15e1f (\"bpf: sockmap, fix transition through disconnect without close\")\nFixes: d8616ee2affc (\"bpf, sockmap: Fix sk-\u003esk_forward_alloc warn_on in sk_stream_kill_queues\")\nReported-by: syzbot+b0842d38af58376d1fdc@syzkaller.appspotmail.com\nCloses: https://lore.kernel.org/bpf/69cec5ef.050a0220.2dbe29.0009.GAE@google.com/\nSigned-off-by: Kuniyuki Iwashima \u003ckuniyu@google.com\u003e\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\nReviewed-by: Jiayuan Chen \u003cjiayuan.chen@linux.dev\u003e\nLink: https://patch.msgid.link/20260420194846.1089595-1-kuniyu@google.com\n"
    },
    {
      "commit": "375e4e33c18dfa05c5dfd5f3dfffeb29343dd4c7",
      "tree": "69af89c321247f2df1133f872a9ca50c0431c1b5",
      "parents": [
        "cd0eb48b38e42ce77955137f633fb78621933870"
      ],
      "author": {
        "name": "Weiming Shi",
        "email": "bestswngs@gmail.com",
        "time": "Tue Apr 21 23:54:12 2026 -0700"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Thu Apr 23 17:27:12 2026 -0700"
      },
      "message": "bpf: Fix NULL pointer dereference in bpf_sk_storage_clone and diag paths\n\nbpf_selem_unlink_nofail() sets SDATA(selem)-\u003esmap to NULL before\nremoving the selem from the storage hlist. A concurrent RCU reader in\nbpf_sk_storage_clone() can observe the selem still on the list with\nsmap already NULL, causing a NULL pointer dereference.\n\n general protection fault, probably for non-canonical address 0xdffffc000000000a:\n KASAN: null-ptr-deref in range [0x0000000000000050-0x0000000000000057]\n RIP: 0010:bpf_sk_storage_clone+0x1cd/0xaa0 net/core/bpf_sk_storage.c:174\n Call Trace:\n  \u003cIRQ\u003e\n  sk_clone+0xfed/0x1980 net/core/sock.c:2591\n  inet_csk_clone_lock+0x30/0x760 net/ipv4/inet_connection_sock.c:1222\n  tcp_create_openreq_child+0x35/0x2680 net/ipv4/tcp_minisocks.c:571\n  tcp_v4_syn_recv_sock+0x123/0xf90 net/ipv4/tcp_ipv4.c:1729\n  tcp_check_req+0x8e1/0x2580 include/net/tcp.h:855\n  tcp_v4_rcv+0x1845/0x3b80 net/ipv4/tcp_ipv4.c:2347\n\nAdd a NULL check for smap in bpf_sk_storage_clone().\n\nbpf_sk_storage_diag_put_all() has the same issue. Add a NULL check\nand pass the validated smap directly to diag_get(), which is refactored\nto take smap as a parameter instead of reading it internally.\n\nbpf_sk_storage_diag_put() uses diag-\u003emaps[i] which is always valid\nunder its refcount, so diag-\u003emaps[i] is passed directly to diag_get().\n\nFixes: 5d800f87d0a5 (\"bpf: Support lockless unlink when freeing map or local storage\")\nReported-by: Xiang Mei \u003cxmei5@asu.edu\u003e\nAcked-by: Amery Hung \u003cameryhung@gmail.com\u003e\nSigned-off-by: Weiming Shi \u003cbestswngs@gmail.com\u003e\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\nLink: https://patch.msgid.link/20260422065411.1007737-2-bestswngs@gmail.com\n"
    },
    {
      "commit": "cd0eb48b38e42ce77955137f633fb78621933870",
      "tree": "a34a7ef5dbb92baf3780719fb96fc4dca9db02f1",
      "parents": [
        "eb5249b12507246dc959945454cd1be8d7dc3795",
        "2c7e33f1fc2e75fcfb4aa5d840bcd2e8b53c1847"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Wed Apr 22 12:00:23 2026 -0700"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Wed Apr 22 12:59:49 2026 -0700"
      },
      "message": "Merge branch \u0027bpf-reject-tcp_nodelay-in-tcp-header-option\u0027\n\nKaFai Wan says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nbpf: Reject TCP_NODELAY in TCP header option\n\nThis small patchset is about avoid infinite recursion in TCP header option callbacks\nand bpf-tcp-cc callbacks via TCP_NODELAY setsockopt.\n\nv4:\n - Fix the test case for TCP header option callbacks (Martin and Jiayuan)\n - Reject TCP_NODELAY in bpf-tcp-cc callbacks (AI and Martin)\n - Add a test case for bpf-tcp-cc\n\nv3:\n - Remove CONFIG_INET check and add comment (Martin and Jiayuan)\n - Fix the test case (Martin)\n https://lore.kernel.org/bpf/20260417092035.2299913-1-kafai.wan@linux.dev/\n\nv2:\n - Reject TCP_NODELAY in bpf_sock_ops_setsockopt() (AI and Martin)\n https://lore.kernel.org/bpf/20260416112308.1820332-1-kafai.wan@linux.dev/\n\nv1:\n https://lore.kernel.org/bpf/20260414112310.1285783-1-kafai.wan@linux.dev/\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nLink: https://patch.msgid.link/20260421155804.135786-1-kafai.wan@linux.dev\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\n"
    },
    {
      "commit": "2c7e33f1fc2e75fcfb4aa5d840bcd2e8b53c1847",
      "tree": "a34a7ef5dbb92baf3780719fb96fc4dca9db02f1",
      "parents": [
        "52b6b5334924d8f083a2abe8edeface9206e13ee"
      ],
      "author": {
        "name": "KaFai Wan",
        "email": "kafai.wan@linux.dev",
        "time": "Tue Apr 21 23:58:04 2026 +0800"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Wed Apr 22 12:59:49 2026 -0700"
      },
      "message": "selftests/bpf: Verify bpf-tcp-cc rejects TCP_NODELAY\n\nAdd a bpf_tcp_ca selftest for the TCP_NODELAY restriction in\nbpf-tcp-cc.\n\nUpdate bpf_cubic to exercise init() and cwnd_event_tx_start(),\nand check that both callbacks reject bpf_setsockopt(TCP_NODELAY)\nwith -EOPNOTSUPP.\n\nSigned-off-by: KaFai Wan \u003ckafai.wan@linux.dev\u003e\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\nLink: https://patch.msgid.link/20260421155804.135786-5-kafai.wan@linux.dev\n"
    },
    {
      "commit": "52b6b5334924d8f083a2abe8edeface9206e13ee",
      "tree": "9392b499496c8344f84dbb6b57fd172a4b73e143",
      "parents": [
        "54377fcab51f6f1f8807827d3751be42279e1a6a"
      ],
      "author": {
        "name": "KaFai Wan",
        "email": "kafai.wan@linux.dev",
        "time": "Tue Apr 21 23:58:03 2026 +0800"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Wed Apr 22 12:59:49 2026 -0700"
      },
      "message": "selftests/bpf: Test TCP_NODELAY in TCP hdr opt callbacks\n\nAdd a sockops selftest for the TCP_NODELAY restriction in\nBPF_SOCK_OPS_HDR_OPT_LEN_CB and BPF_SOCK_OPS_WRITE_HDR_OPT_CB.\n\nWith BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG enabled,\nbpf_setsockopt(TCP_NODELAY) returns -EOPNOTSUPP from\nBPF_SOCK_OPS_HDR_OPT_LEN_CB and BPF_SOCK_OPS_WRITE_HDR_OPT_CB, avoiding\nunbounded recursion and kernel stack overflow.\n\nOther cases continue to work as before, including\nBPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB.\n\nSigned-off-by: KaFai Wan \u003ckafai.wan@linux.dev\u003e\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\nReviewed-by: Jiayuan Chen \u003cjiayuan.chen@linux.dev\u003e\nLink: https://patch.msgid.link/20260421155804.135786-4-kafai.wan@linux.dev\n"
    },
    {
      "commit": "54377fcab51f6f1f8807827d3751be42279e1a6a",
      "tree": "9701d312b26056ae6154bb69a97e7399777a9dc7",
      "parents": [
        "846c76ecc02973b05ae909dd4248c11bfa277fc1"
      ],
      "author": {
        "name": "KaFai Wan",
        "email": "kafai.wan@linux.dev",
        "time": "Tue Apr 21 23:58:02 2026 +0800"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Wed Apr 22 12:58:57 2026 -0700"
      },
      "message": "bpf: Reject TCP_NODELAY in bpf-tcp-cc\n\nA BPF TCP congestion control program can call bpf_setsockopt() from\nits callbacks. In current kernels, if it calls\nbpf_setsockopt(TCP_NODELAY) from cwnd_event_tx_start(), the call can\nre-enter the TCP transmit path before the outer tcp_transmit_skb()\nhas completed and advanced the send head.\n\nThis can re-trigger CA_EVENT_TX_START and lead to unbounded recursion:\n\n  tcp_transmit_skb()\n    -\u003e tcp_event_data_sent()\n      -\u003e tcp_ca_event(sk, CA_EVENT_TX_START)\n        -\u003e cwnd_event_tx_start()\n          -\u003e bpf_setsockopt(TCP_NODELAY)\n            -\u003e tcp_push_pending_frames()\n              -\u003e tcp_write_xmit()\n                -\u003e tcp_transmit_skb()\n\nThis leads to unbounded recursion and can overflow the kernel stack.\n\nReject TCP_NODELAY with -EOPNOTSUPP for bpf-tcp-cc by introducing\na dedicated setsockopt proto for BPF_PROG_TYPE_STRUCT_OPS TCP\ncongestion control programs. To keep it simple, all tcp-cc ops is\nrejected for TCP_NODELAY.\n\nFixes: 7e41df5dbba2 (\"bpf: Add a few optnames to bpf_setsockopt\")\nSuggested-by: Martin KaFai Lau \u003cmartin.lau@linux.dev\u003e\nSigned-off-by: KaFai Wan \u003ckafai.wan@linux.dev\u003e\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\nReviewed-by: Jiayuan Chen \u003cjiayuan.chen@linux.dev\u003e\nLink: https://patch.msgid.link/20260421155804.135786-3-kafai.wan@linux.dev\n"
    },
    {
      "commit": "846c76ecc02973b05ae909dd4248c11bfa277fc1",
      "tree": "52d28b18b547cfeca697f8ad284906e4245be1ab",
      "parents": [
        "eb5249b12507246dc959945454cd1be8d7dc3795"
      ],
      "author": {
        "name": "KaFai Wan",
        "email": "kafai.wan@linux.dev",
        "time": "Tue Apr 21 23:58:01 2026 +0800"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Wed Apr 22 12:50:26 2026 -0700"
      },
      "message": "bpf: Reject TCP_NODELAY in TCP header option callbacks\n\nA BPF_SOCK_OPS program can enable\nBPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG and then call\nbpf_setsockopt(TCP_NODELAY) from BPF_SOCK_OPS_HDR_OPT_LEN_CB or\nBPF_SOCK_OPS_WRITE_HDR_OPT_CB.\n\nIn these callbacks, bpf_setsockopt(TCP_NODELAY) can reach\n__tcp_sock_set_nodelay(), which can call tcp_push_pending_frames().\n\n\u003eFrom BPF_SOCK_OPS_HDR_OPT_LEN_CB, tcp_push_pending_frames() can call\ntcp_current_mss(), which calls tcp_established_options() and re-enters\nbpf_skops_hdr_opt_len().\n\nBPF_SOCK_OPS_HDR_OPT_LEN_CB\n  -\u003e bpf_setsockopt(TCP_NODELAY)\n    -\u003e tcp_push_pending_frames()\n      -\u003e tcp_current_mss()\n        -\u003e tcp_established_options()\n          -\u003e bpf_skops_hdr_opt_len()\n            -\u003e BPF_SOCK_OPS_HDR_OPT_LEN_CB\n\n\u003eFrom BPF_SOCK_OPS_WRITE_HDR_OPT_CB, tcp_push_pending_frames() can call\ntcp_write_xmit(), which calls tcp_transmit_skb().  That path recomputes\nheader option length through tcp_established_options() and\nbpf_skops_hdr_opt_len() before re-entering bpf_skops_write_hdr_opt().\n\nBPF_SOCK_OPS_WRITE_HDR_OPT_CB\n  -\u003e bpf_setsockopt(TCP_NODELAY)\n    -\u003e tcp_push_pending_frames()\n      -\u003e tcp_write_xmit()\n        -\u003e tcp_transmit_skb()\n          -\u003e tcp_established_options()\n            -\u003e bpf_skops_hdr_opt_len()\n          -\u003e bpf_skops_write_hdr_opt()\n            -\u003e BPF_SOCK_OPS_WRITE_HDR_OPT_CB\n\nThis leads to unbounded recursion and can overflow the kernel stack.\n\nReject TCP_NODELAY with -EOPNOTSUPP in bpf_sock_ops_setsockopt()\nwhen bpf_setsockopt() is called from\nBPF_SOCK_OPS_HDR_OPT_LEN_CB or BPF_SOCK_OPS_WRITE_HDR_OPT_CB.\n\nFixes: 7e41df5dbba2 (\"bpf: Add a few optnames to bpf_setsockopt\")\nCloses: https://lore.kernel.org/bpf/d1d523c9-6901-4454-a183-94462b8f3e4e@std.uestc.edu.cn/\nReported-by: Quan Sun \u003c2022090917019@std.uestc.edu.cn\u003e\nReported-by: Yinhao Hu \u003cdddddd@hust.edu.cn\u003e\nReported-by: Kaiyan Mei \u003cM202472210@hust.edu.cn\u003e\nSigned-off-by: KaFai Wan \u003ckafai.wan@linux.dev\u003e\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\nReviewed-by: Jiayuan Chen \u003cjiayuan.chen@linux.dev\u003e\nLink: https://patch.msgid.link/20260421155804.135786-2-kafai.wan@linux.dev\n"
    },
    {
      "commit": "eb5249b12507246dc959945454cd1be8d7dc3795",
      "tree": "c5c623b19f16c2ad531553203f1c28294f235667",
      "parents": [
        "9055c64567e9fc2a58d9382205bf3082f7bea141",
        "707610bcccbd0327530938e33f3f33211a640a4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 18 11:37:36 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 18 11:37:36 2026 -0700"
      },
      "message": "Merge tag \u0027parisc-for-7.1-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux\n\nPull parisc architecture updates from Helge Deller:\n\n - A fix to make modules on 32-bit parisc architecture work again\n\n - Drop ip_fast_csum() inline assembly to avoid unaligned memory\n   accesses\n\n - Allow to build kernel without 32-bit VDSO\n\n - Reference leak fix in error path in LED driver\n\n* tag \u0027parisc-for-7.1-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:\n  parisc: led: fix reference leak on failed device registration\n  module.lds.S: Fix modules on 32-bit parisc architecture\n  parisc: Allow to build without VDSO32\n  parisc: Include 32-bit VDSO only when building for 32-bit or compat mode\n  parisc: Allow to disable COMPAT mode on 64-bit kernel\n  parisc: Fix default stack size when COMPAT\u003dn\n  parisc: Fix signal code to depend on CONFIG_COMPAT instead of CONFIG_64BIT\n  parisc: is_compat_task() shall return false for COMPAT\u003dn\n  parisc: Avoid compat syscalls when COMPAT\u003dn\n  parisc: _llseek syscall is only available for 32-bit userspace\n  parisc: Drop ip_fast_csum() inline assembly implementation\n  parisc: update outdated comments for renamed ccio_alloc_consistent()\n"
    },
    {
      "commit": "9055c64567e9fc2a58d9382205bf3082f7bea141",
      "tree": "f117802a95dfcc69d8bfbe89b8649eace902e74a",
      "parents": [
        "fba676bd2919ceff5a678c0bd05ab3ac89affaeb",
        "d5759519805c54786c00765ca1303e6d7a0676ca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 18 11:29:14 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 18 11:29:14 2026 -0700"
      },
      "message": "Merge tag \u0027memblock-v7.1-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock\n\nPull memblock updates from Mike Rapoport:\n\n - improve debuggability of reserve_mem kernel parameter handling with\n   print outs in case of a failure and debugfs info showing what was\n   actually reserved\n\n - Make memblock_free_late() and free_reserved_area() use the same core\n   logic for freeing the memory to buddy and ensure it takes care of\n   updating memblock arrays when ARCH_KEEP_MEMBLOCK is enabled.\n\n* tag \u0027memblock-v7.1-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:\n  x86/alternative: delay freeing of smp_locks section\n  memblock: warn when freeing reserved memory before memory map is initialized\n  memblock, treewide: make memblock_free() handle late freeing\n  memblock: make free_reserved_area() update memblock if ARCH_KEEP_MEMBLOCK\u003dy\n  memblock: extract page freeing from free_reserved_area() into a helper\n  memblock: make free_reserved_area() more robust\n  mm: move free_reserved_area() to mm/memblock.c\n  powerpc: opal-core: pair alloc_pages_exact() with free_pages_exact()\n  powerpc: fadump: pair alloc_pages_exact() with free_pages_exact()\n  memblock: reserve_mem: fix end caclulation in reserve_mem_release_by_name()\n  memblock: move reserve_bootmem_range() to memblock.c and make it static\n  memblock: Add reserve_mem debugfs info\n  memblock: Print out errors on reserve_mem parser\n"
    },
    {
      "commit": "fba676bd2919ceff5a678c0bd05ab3ac89affaeb",
      "tree": "98cda44bbe0f88524a8e504b38e5d825da3f011f",
      "parents": [
        "1e769656963e0329b91d32ec76955e077966b603",
        "e336aa3c396ba41fd5a3b818df917a70f39594a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 18 09:44:22 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 18 09:44:22 2026 -0700"
      },
      "message": "Merge tag \u0027i2c-for-7.1-rc1-part1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux\n\nPull i2c updates from Wolfram Sang:\n \"The biggest news in this pull request is that it will start the last\n  cycle of me handling the I2C subsystem. From 7.2. on, I will pass\n  maintainership to Andi Shyti who has been maintaining the I2C drivers\n  for a while now and who has done a great job in doing so.\n\n  We will use this cycle for a hopefully smooth transition. Thanks must\n  go to Andi for stepping up! I will still be around for guidance.\n\n  Updates:\n   - generic cleanups in npcm7xx, qcom-cci, xiic and designware DT\n     bindings\n   - atr: use kzalloc_flex for alias pool allocation\n   - ixp4xx: convert bindings to DT schema\n   - ocores: use read_poll_timeout_atomic() for polling waits\n   - qcom-geni: skip extra TX DMA TRE for single read messages\n   - s3c24xx: validate SMBus block length before using it\n   - spacemit: refactor xfer path and add K1 PIO support\n   - tegra: identify DVC and VI with SoC data variants\n   - tegra: support SoC-specific register offsets\n   - xiic: switch to devres and generic fw properties\n   - xiic: skip input clock setup on non-OF systems\n   - various minor improvements in other drivers\n\n  rtl9300:\n   - add per-SoC callbacks and clock support for RTL9607C\n   - add support for new 50 kHz and 2.5 MHz bus speeds\n   - general refactoring in preparation for RTL9607C support\n\n  New support:\n   - DesignWare GOOG5000 (ACPI HID)\n   - Intel Nova Lake (ACPI ID)\n   - Realtek RTL9607C\n   - SpacemiT K3 binding\n   - Tegra410 register layout support\"\n\n* tag \u0027i2c-for-7.1-rc1-part1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (40 commits)\n  i2c: usbio: Add ACPI device-id for NVL platforms\n  i2c: qcom-geni: Avoid extra TX DMA TRE for single read message in GPI mode\n  i2c: atr: use kzalloc_flex\n  i2c: spacemit: introduce pio for k1\n  i2c: spacemit: move i2c_xfer_msg()\n  i2c: xiic: skip input clock setup on non-OF systems\n  i2c: xiic: use numbered adapter registration\n  i2c: xiic: cosmetic: use resource format specifier in debug log\n  i2c: xiic: cosmetic cleanup\n  i2c: xiic: switch to generic device property accessors\n  i2c: xiic: remove duplicate error message\n  i2c: xiic: switch to devres managed APIs\n  i2c: rtl9300: add RTL9607C i2c controller support\n  i2c: rtl9300: introduce new function properties to driver data\n  i2c: rtl9300: introduce clk struct for upcoming rtl9607 support\n  dt-bindings: i2c: realtek,rtl9301-i2c: extend for clocks and RTL9607C support\n  i2c: rtl9300: introduce a property for 8 bit width reg address\n  i2c: rtl9300: introduce F_BUSY to the reg_fields struct\n  i2c: rtl9300: introduce max length property to driver data\n  i2c: rtl9300: split data_reg into read and write reg\n  ...\n"
    },
    {
      "commit": "1e769656963e0329b91d32ec76955e077966b603",
      "tree": "4b8c2eb03a1c13d127c672f9472c8b8342f4fded",
      "parents": [
        "df8f6181ab57d65a99e61fcfc5be22a42df58642",
        "75c486cb1bcaa1a3ec3a6438498176a3a4998ae4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 18 09:33:54 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 18 09:33:54 2026 -0700"
      },
      "message": "Merge tag \u0027for-linus-7.1-1\u0027 of https://github.com/cminyard/linux-ipmi\n\nPull ipmi updates from Corey Minyard:\n \"Small updates and fixes (mostly to the BMC software):\n\n   - Fix one issue in the host side driver where a kthread can be left\n     running on a specific memory allocation failre at probe time\n\n   - Replace system_wq with system_percpu_wq so system_wq can eventually\n     go away\"\n\n* tag \u0027for-linus-7.1-1\u0027 of https://github.com/cminyard/linux-ipmi:\n  ipmi:ssif: Clean up kthread on errors\n  ipmi:ssif: Remove unnecessary indention\n  ipmi: ssif_bmc: Fix KUnit test link failure when KUNIT\u003dm\n  ipmi: ssif_bmc: add unit test for state machine\n  ipmi: ssif_bmc: change log level to dbg in irq callback\n  ipmi: ssif_bmc: fix message desynchronization after truncated response\n  ipmi: ssif_bmc: fix missing check for copy_to_user() partial failure\n  ipmi: ssif_bmc: cancel response timer on remove\n  ipmi: Replace use of system_wq with system_percpu_wq\n"
    },
    {
      "commit": "df8f6181ab57d65a99e61fcfc5be22a42df58642",
      "tree": "4bd864d81fa8690ecbb9862b4931b9b09cd42a0a",
      "parents": [
        "8541d8f725c673db3bd741947f27974358b2e163",
        "9a683fe0a00d2684ae874fd9eb58e6c1864fdf36"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 18 09:24:56 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 18 09:24:56 2026 -0700"
      },
      "message": "Merge tag \u0027perf-tools-for-v7.1-2026-04-17\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools\n\nPull perf tools updates from Namhyung Kim:\n \"perf report:\n\n   - Add \u0027comm_nodigit\u0027 sort key to combine similar threads that only\n     have different numbers in the comm. In the following example, the\n     \u0027comm_nodigit\u0027 will have samples from all threads starting with\n     \"bpfrb/\" into an entry \"bpfrb/\u003cN\u003e\".\n\n        $ perf report -s comm_nodigit,comm -H\n        ...\n        #\n        #    Overhead  CommandNoDigit / Command\n        # ...........  ........................\n        #\n            20.30%     swapper\n               20.30%     swapper\n            13.37%     chrome\n               13.37%     chrome\n            10.07%     bpfrb/\u003cN\u003e\n                7.47%     bpfrb/0\n                0.70%     bpfrb/1\n                0.47%     bpfrb/3\n                0.46%     bpfrb/2\n                0.25%     bpfrb/4\n                0.23%     bpfrb/5\n                0.20%     bpfrb/6\n                0.14%     bpfrb/10\n                0.07%     bpfrb/7\n\n   - Support flat layout for symfs. The --symfs option is to specify the\n     location of debugging symbol files. The default \u0027hierarchy\u0027 layout\n     would search the symbol file using the same path of the original\n     file under the symfs root. The new \u0027flat\u0027 layout would search only\n     in the root directory.\n\n   - Update \u0027simd\u0027 sort key for ARM SIMD flags to cover ASE/SME and more\n     predicate flags.\n\n  perf stat:\n\n   - Add --pmu-filter option to select specific PMUs. This would be\n     useful when you measure metrics from multiple instance of uncore\n     PMUs with similar names.\n\n        # perf stat -M cpa_p0_avg_bw\n         Performance counter stats for \u0027system wide\u0027:\n\n            19,417,779,115      hisi_sicl0_cpa0/cpa_cycles/      #     0.00 cpa_p0_avg_bw\n                         0      hisi_sicl0_cpa0/cpa_p0_wr_dat/\n                         0      hisi_sicl0_cpa0/cpa_p0_rd_dat_64b/\n                         0      hisi_sicl0_cpa0/cpa_p0_rd_dat_32b/\n            19,417,751,103      hisi_sicl10_cpa0/cpa_cycles/     #     0.00 cpa_p0_avg_bw\n                         0      hisi_sicl10_cpa0/cpa_p0_wr_dat/\n                         0      hisi_sicl10_cpa0/cpa_p0_rd_dat_64b/\n                         0      hisi_sicl10_cpa0/cpa_p0_rd_dat_32b/\n            19,417,730,679      hisi_sicl2_cpa0/cpa_cycles/      #     0.31 cpa_p0_avg_bw\n                75,635,749      hisi_sicl2_cpa0/cpa_p0_wr_dat/\n                18,520,640      hisi_sicl2_cpa0/cpa_p0_rd_dat_64b/\n                         0      hisi_sicl2_cpa0/cpa_p0_rd_dat_32b/\n            19,417,674,227      hisi_sicl8_cpa0/cpa_cycles/      #     0.00 cpa_p0_avg_bw\n                         0      hisi_sicl8_cpa0/cpa_p0_wr_dat/\n                         0      hisi_sicl8_cpa0/cpa_p0_rd_dat_64b/\n                         0      hisi_sicl8_cpa0/cpa_p0_rd_dat_32b/\n\n              19.417734480 seconds time elapsed\n\n     With --pmu-filter, users can select only hisi_sicl2_cpa0 PMU.\n\n        # perf stat --pmu-filter hisi_sicl2_cpa0 -M cpa_p0_avg_bw\n         Performance counter stats for \u0027system wide\u0027:\n\n             6,234,093,559      cpa_cycles                       #     0.60 cpa_p0_avg_bw\n                50,548,465      cpa_p0_wr_dat\n                 7,552,182      cpa_p0_rd_dat_64b\n                         0      cpa_p0_rd_dat_32b\n\n               6.234139320 seconds time elapsed\n\n  Data type profiling:\n\n   - Quality improvements by tracking register state more precisely\n\n   - Ensure array members to get the type\n\n   - Handle more cases for global variables\n\n  Vendor event/metric updates:\n\n   - Update various Intel events and metrics\n\n   - Add NVIDIA Tegra 410 Olympus events\n\n  Internal changes:\n\n   - Verify perf.data header for maliciously crafted files\n\n   - Update perf test to cover more usages and make them robust\n\n   - Move a couple of copied kernel headers not to annoy objtool build\n\n   - Fix a bug in map sorting in name order\n\n   - Remove some unused codes\n\n  Misc:\n\n   - Fix module symbol resolution with non-zero text address\n\n   - Add -t/--threads option to `perf bench mem mmap`\n\n   - Track duration of exit*() syscall by `perf trace -s`\n\n   - Add core.addr2line-timeout and core.addr2line-disable-warn config\n     items\"\n\n* tag \u0027perf-tools-for-v7.1-2026-04-17\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools: (131 commits)\n  perf loongarch: Fix build failure with CONFIG_LIBDW_DWARF_UNWIND\n  perf annotate: Use jump__delete when freeing LoongArch jumps\n  perf test: Fixes for check branch stack sampling\n  perf test: Fix inet_pton probe failure and unroll call graph\n  perf build: fix \"argument list too long\" in second location\n  perf header: Add sanity checks to HEADER_BPF_BTF processing\n  perf header: Sanity check HEADER_BPF_PROG_INFO\n  perf header: Sanity check HEADER_PMU_CAPS\n  perf header: Sanity check HEADER_HYBRID_TOPOLOGY\n  perf header: Sanity check HEADER_CACHE\n  perf header: Sanity check HEADER_GROUP_DESC\n  perf header: Sanity check HEADER_PMU_MAPPINGS\n  perf header: Sanity check HEADER_MEM_TOPOLOGY\n  perf header: Sanity check HEADER_NUMA_TOPOLOGY\n  perf header: Sanity check HEADER_CPU_TOPOLOGY\n  perf header: Sanity check HEADER_NRCPUS and HEADER_CPU_DOMAIN_INFO\n  perf header: Bump up the max number of command line args allowed\n  perf header: Validate nr_domains when reading HEADER_CPU_DOMAIN_INFO\n  perf sample: Fix documentation typo\n  perf arm_spe: Improve SIMD flags setting\n  ...\n"
    },
    {
      "commit": "8541d8f725c673db3bd741947f27974358b2e163",
      "tree": "a1e69d8655620db0043dbddef860b9da13d5f9e6",
      "parents": [
        "a436a0b847c0fef9ead14f99bc03d8adbf66f15b",
        "b2a4fe0960aee9a2c8045cfd26fbeacf30b26efe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 17:57:04 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 17:57:04 2026 -0700"
      },
      "message": "Merge tag \u0027mtd/for-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux\n\nPull MTD updates from Miquel Raynal:\n \"MTD changes:\n\n   - mtdconcat finally makes it in, after several years of being merged\n     and reverted\n\n   - Baikal SoC support is being removed, so MTD bits are being removed\n     as well\n\n   - misc cleanups\n\n  NAND changes:\n\n   - SunXi driver support for new versions of the Allwinner NAND\n     controller.\n\n   - DT-binding improvements and cleanups.\n\n   - A few fixes (Realtek ECC and Winbond SPI NAND), aside with the\n     usual load of misc changes.\n\n  SPI NOR fixes:\n\n   - Enable die erase on MT35XU02GCBA. We knew this flash needed this\n     fixup since 7f77c561e227 (\"mtd: spi-nor: micron-st: add TODO for\n     fixing mt35xu02gcba\") but did not add it due to lack of hardware to\n     test on.\n\n   - Fix locking on some Winbond w25q series flashes.\n\n   - Fix Auto Address Increment (AAI) writes on SST that flashes that\n     start on odd address. The write enable latch needs to be set again\n     after the single byte program\"\n\n* tag \u0027mtd/for-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (44 commits)\n  mtd: spinand: winbond: Declare the QE bit on W25NxxJW\n  mtd: spi-nor: micron-st: Enable die erase support for MT35XU02GCBA\n  mtd: spi-nor: winbond: Fix locking support for w25q256jw\n  mtd: spi-nor: sst: Fix write enable before AAI sequence\n  mtd: spi-nor: winbond: Fix locking support for w25q64jvm\n  mtd: spi-nor: winbond: Fix locking support for w25q256jwm\n  dt-bindings: mtd: mxc-nand: add missing compatible string and ref to nand-controller-legacy.yaml\n  dt-bindings: mtd: gpmi-nand: ref to nand-controller-legacy.yaml\n  dt-bindings: mtd: refactor NAND bindings and add nand-controller-legacy.yaml\n  mtd: spinand: winbond: Clarify when to enable the HS bit\n  mtd: rawnand: sunxi: introduce maximize variable user data length\n  mtd: rawnand: sunxi: fix typos in comments\n  mtd: rawnand: sunxi: change error prone variable name\n  mtd: rawnand: sunxi: remove dead code\n  mtd: rawnand: sunxi: make the code more self-explanatory\n  mtd: rawnand: sunxi: replace hard coded value by a define - take2\n  mtd: rawnand: sunxi: do not count BBM bytes twice\n  mtd: rawnand: sunxi: fix sunxi_nfc_hw_ecc_read_extra_oob\n  mtd: rawnand: sunxi: sunxi_nand_ooblayout_free code clarification\n  mtd: cmdlinepart: use a flexible array member\n  ...\n"
    },
    {
      "commit": "a436a0b847c0fef9ead14f99bc03d8adbf66f15b",
      "tree": "50d39c86b9e5488be26f22686c0a14b50737af5d",
      "parents": [
        "30999ad049158057d55e613c90a8302970540f7a",
        "981fcc5674e67158d24d23e841523eccba19d0e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 17:08:31 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 17:08:31 2026 -0700"
      },
      "message": "Merge tag \u0027ext4_for_linux-7.0-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\nPull ext4 updates from Ted Ts\u0027o:\n\n - Refactor code paths involved with partial block zero-out in\n   prearation for converting ext4 to use iomap for buffered writes\n\n - Remove use of d_alloc() from ext4 in preparation for the deprecation\n   of this interface\n\n - Replace some J_ASSERTS with a journal abort so we can avoid a kernel\n   panic for a localized file system error\n\n - Simplify various code paths in mballoc, move_extent, and fast commit\n\n - Fix rare deadlock in jbd2_journal_cancel_revoke() that can be\n   triggered by generic/013 when blocksize \u003c pagesize\n\n - Fix memory leak when releasing an extended attribute when its value\n   is stored in an ea_inode\n\n - Fix various potential kunit test bugs in fs/ext4/extents.c\n\n - Fix potential out-of-bounds access in check_xattr() with a corrupted\n   file system\n\n - Make the jbd2_inode dirty range tracking safe for lockless reads\n\n - Avoid a WARN_ON when writeback files due to a corrupted file system;\n   we already print an ext4 warning indicatign that data will be lost,\n   so the WARN_ON is not necessary and doesn\u0027t add any new information\n\n* tag \u0027ext4_for_linux-7.0-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (37 commits)\n  jbd2: fix deadlock in jbd2_journal_cancel_revoke()\n  ext4: fix missing brelse() in ext4_xattr_inode_dec_ref_all()\n  ext4: fix possible null-ptr-deref in mbt_kunit_exit()\n  ext4: fix possible null-ptr-deref in extents_kunit_exit()\n  ext4: fix the error handling process in extents_kunit_init).\n  ext4: call deactivate_super() in extents_kunit_exit()\n  ext4: fix miss unlock \u0027sb-\u003es_umount\u0027 in extents_kunit_init()\n  ext4: fix bounds check in check_xattrs() to prevent out-of-bounds access\n  ext4: zero post-EOF partial block before appending write\n  ext4: move pagecache_isize_extended() out of active handle\n  ext4: remove ctime/mtime update from ext4_alloc_file_blocks()\n  ext4: unify SYNC mode checks in fallocate paths\n  ext4: ensure zeroed partial blocks are persisted in SYNC mode\n  ext4: move zero partial block range functions out of active handle\n  ext4: pass allocate range as loff_t to ext4_alloc_file_blocks()\n  ext4: remove handle parameters from zero partial block functions\n  ext4: move ordered data handling out of ext4_block_do_zero_range()\n  ext4: rename ext4_block_zero_page_range() to ext4_block_zero_range()\n  ext4: factor out journalled block zeroing range\n  ext4: rename and extend ext4_block_truncate_page()\n  ...\n"
    },
    {
      "commit": "30999ad049158057d55e613c90a8302970540f7a",
      "tree": "04c2cb7230d3b8fa545ca49678c3ed659ac142a0",
      "parents": [
        "cdd4dc3aebeab43a72ce0bc2b5bab6f0a80b97a5",
        "e61bc5e4d87433c8759e7dc92bb640ef71a8970c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 17:03:43 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 17:03:43 2026 -0700"
      },
      "message": "Merge tag \u0027for-linus-7.1-ofs1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux\n\nPull orangefs updates from Mike Marshall:\n \"Fixes:\n   - validate getxattr response length\n   - don\u0027t overflow the bufmap slot on readahead\n   - fix parsing problem with kernel debug keywords\n\n  Cleanup:\n   - take better advantage of strscpy\n\n  New:\n   - manage bufmap as folios\n   - add usercopy whitelist to orangefs_op_cache\"\n\n* tag \u0027for-linus-7.1-ofs1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:\n  bufmap: manage as folios, V2.\n  orangefs: validate getxattr response length\n  orangefs_readahead: don\u0027t overflow the bufmap slot.\n  debugfs: take better advantage of strscpy.\n  orangefs: add usercopy whitelist to orangefs_op_cache\n  orangefs-debugfs.c: fix parsing problem with kernel debug keywords.\n"
    },
    {
      "commit": "cdd4dc3aebeab43a72ce0bc2b5bab6f0a80b97a5",
      "tree": "197065d85e895df9c8993d79c26a6f3ce0b8f6c9",
      "parents": [
        "eb0d6d97c27c29cd7392c8fd74f46edf7dff7ec2",
        "14f0a13ec79dfa63e143ea45e6530d80bec6e291"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 16:35:49 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 16:35:49 2026 -0700"
      },
      "message": "Merge tag \u0027ntfs-for-7.1-rc1-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/ntfs\n\nPull ntfs resurrection from Namjae Jeon:\n \"Ever since Kari Argillander’s 2022 report [1] regarding the state of\n  the ntfs3 driver, I have spent the last 4 years working to provide\n  full write support and current trends (iomap, no buffer head, folio),\n  enhanced performance, stable maintenance, utility support including\n  fsck for NTFS in Linux.\n\n  This new implementation is built upon the clean foundation of the\n  original read-only NTFS driver, adding:\n\n   - Write support:\n\n     Implemented full write support based on the classic read-only NTFS\n     driver. Added delayed allocation to improve write performance\n     through multi-cluster allocation and reduced fragmentation of the\n     cluster bitmap.\n\n   - iomap conversion:\n\n     Switched buffered IO (reads/writes), direct IO, file extent\n     mapping, readpages, and writepages to use iomap.\n\n   - Remove buffer_head:\n\n     Completely removed buffer_head usage by converting to folios. As a\n     result, the dependency on CONFIG_BUFFER_HEAD has been removed from\n     Kconfig.\n\n   - Stability improvements:\n\n     The new ntfs driver passes 326 xfstests, compared to 273 for ntfs3.\n     All tests passed by ntfs3 are a complete subset of the tests passed\n     by this implementation. Added support for fallocate, idmapped\n     mounts, permissions, and more.\n\n  xfstests Results report:\n\n     Total tests run: 787\n     Passed         : 326\n     Failed         : 38\n     Skipped        : 423\n\n  Failed tests breakdown:\n    - 34 tests require metadata journaling\n    - 4 other tests:\n         094: No unwritten extent concept in NTFS on-disk format\n         563: cgroup v2 aware writeback accounting not supported\n         631: RENAME_WHITEOUT support required\n         787: NFS delegation test\"\n\nLink: https://lore.kernel.org/all/da20d32b-5185-f40b-48b8-2986922d8b25@stargateuniverse.net/ [1]\n\n[ Let\u0027s see if this undead filesystem ends up being of the \"Easter\n  miracle\" kind, or the \"Nosferatu of filesystems\" kind... ]\n\n* tag \u0027ntfs-for-7.1-rc1-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/ntfs: (46 commits)\n  ntfs: remove redundant out-of-bound checks\n  ntfs: add bound checking to ntfs_external_attr_find\n  ntfs: add bound checking to ntfs_attr_find\n  ntfs: fix ignoring unreachable code warnings\n  ntfs: fix inconsistent indenting warnings\n  ntfs: fix variable dereferenced before check warnings\n  ntfs: prefer IS_ERR_OR_NULL() over manual NULL check\n  ntfs: harden ntfs_listxattr against EA entries\n  ntfs: harden ntfs_ea_lookup against malformed EA entries\n  ntfs: check $EA query-length in ntfs_ea_get\n  ntfs: validate WSL EA payload sizes\n  ntfs: fix WSL ea restore condition\n  ntfs: add missing newlines to pr_err() messages\n  ntfs: fix pointer/integer casting warnings\n  ntfs: use -\u003emft_no instead of -\u003ei_ino in prints\n  ntfs: change mft_no type to u64\n  ntfs: select FS_IOMAP in Kconfig\n  ntfs: add MODULE_ALIAS_FS\n  ntfs: reduce stack usage in ntfs_write_mft_block()\n  ntfs: fix sysctl table registration and path\n  ...\n"
    },
    {
      "commit": "eb0d6d97c27c29cd7392c8fd74f46edf7dff7ec2",
      "tree": "faec73a955172291535f227e5f20119292c1ca1c",
      "parents": [
        "12bffaef28820e0b94c644c75708195c61af78f7",
        "e1d486445af3c392628532229f7ce5f5cf7891b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 15:58:22 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 15:58:22 2026 -0700"
      },
      "message": "Merge tag \u0027bpf-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf\n\nPull bpf fixes from Alexei Starovoitov:\n \"Most of the diff stat comes from Xu Kuohai\u0027s fix to emit ENDBR/BTI,\n  since all JITs had to be touched to move constant blinding out and\n  pass bpf_verifier_env in.\n\n   - Fix use-after-free in arena_vm_close on fork (Alexei Starovoitov)\n\n   - Dissociate struct_ops program with map if map_update fails (Amery\n     Hung)\n\n   - Fix out-of-range and off-by-one bugs in arm64 JIT (Daniel Borkmann)\n\n   - Fix precedence bug in convert_bpf_ld_abs alignment check (Daniel\n     Borkmann)\n\n   - Fix arg tracking for imprecise/multi-offset in BPF_ST/STX insns\n     (Eduard Zingerman)\n\n   - Copy token from main to subprogs to fix missing kallsyms (Eduard\n     Zingerman)\n\n   - Prevent double close and leak of btf objects in libbpf (Jiri Olsa)\n\n   - Fix af_unix null-ptr-deref in sockmap (Michal Luczaj)\n\n   - Fix NULL deref in map_kptr_match_type for scalar regs (Mykyta\n     Yatsenko)\n\n   - Avoid unnecessary IPIs. Remove redundant bpf_flush_icache() in\n     arm64 and riscv JITs (Puranjay Mohan)\n\n   - Fix out of bounds access. Validate node_id in arena_alloc_pages()\n     (Puranjay Mohan)\n\n   - Reject BPF-to-BPF calls and callbacks in arm32 JIT (Puranjay Mohan)\n\n   - Refactor all JITs to pass bpf_verifier_env to emit ENDBR/BTI for\n     indirect jump targets on x86-64, arm64 JITs (Xu Kuohai)\n\n   - Allow UTF-8 literals in bpf_bprintf_prepare() (Yihan Ding)\"\n\n* tag \u0027bpf-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: (32 commits)\n  bpf, arm32: Reject BPF-to-BPF calls and callbacks in the JIT\n  bpf: Dissociate struct_ops program with map if map_update fails\n  bpf: Validate node_id in arena_alloc_pages()\n  libbpf: Prevent double close and leak of btf objects\n  selftests/bpf: cover UTF-8 trace_printk output\n  bpf: allow UTF-8 literals in bpf_bprintf_prepare()\n  selftests/bpf: Reject scalar store into kptr slot\n  bpf: Fix NULL deref in map_kptr_match_type for scalar regs\n  bpf: Fix precedence bug in convert_bpf_ld_abs alignment check\n  bpf, arm64: Emit BTI for indirect jump target\n  bpf, x86: Emit ENDBR for indirect jump targets\n  bpf: Add helper to detect indirect jump targets\n  bpf: Pass bpf_verifier_env to JIT\n  bpf: Move constants blinding out of arch-specific JITs\n  bpf, sockmap: Take state lock for af_unix iter\n  bpf, sockmap: Fix af_unix null-ptr-deref in proto update\n  selftests/bpf: Extend bpf_iter_unix to attempt deadlocking\n  bpf, sockmap: Fix af_unix iter deadlock\n  bpf, sockmap: Annotate af_unix sock:: Sk_state data-races\n  selftests/bpf: verify kallsyms entries for token-loaded subprograms\n  ...\n"
    },
    {
      "commit": "12bffaef28820e0b94c644c75708195c61af78f7",
      "tree": "e01b455e6fcee0a29821587da2eac488e0a700a0",
      "parents": [
        "7d672741a5012b0c133847f970eba792430d432d",
        "6c724ce0ec6ed8608917673bbb363b208ce2644c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 15:52:58 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 15:52:58 2026 -0700"
      },
      "message": "Merge tag \u0027cxl-for-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl\n\nPull CXL (Compute Express Link) updates from Dave Jiang:\n \"The significant change of interest is the handling of soft reserved\n  memory conflict between CXL and HMEM. In essence CXL will be the first\n  to claim the soft reserved memory ranges that belongs to CXL and\n  attempt to enumerate them with best effort. If CXL is not able to\n  enumerate the ranges it will punt them to HMEM.\n\n  There are also MAINTAINERS email changes from Dan Williams and\n  Jonathan Cameron\"\n\n* tag \u0027cxl-for-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl: (37 commits)\n  MAINTAINERS: Update Jonathan Cameron\u0027s email address\n  cxl/hdm: Add support for 32 switch decoders\n  MAINTAINERS: Update address for Dan Williams\n  tools/testing/cxl: Enable replay of user regions as auto regions\n  cxl/region: Add a region sysfs interface for region lock status\n  tools/testing/cxl: Test dax_hmem takeover of CXL regions\n  tools/testing/cxl: Simulate auto-assembly failure\n  dax/hmem: Parent dax_hmem devices\n  dax/hmem: Fix singleton confusion between dax_hmem_work and hmem devices\n  dax/hmem: Reduce visibility of dax_cxl coordination symbols\n  cxl/region: Constify cxl_region_resource_contains()\n  cxl/region: Limit visibility of cxl_region_contains_resource()\n  dax/cxl: Fix HMEM dependencies\n  cxl/region: Fix use-after-free from auto assembly failure\n  cxl/core: Check existence of cxl_memdev_state in poison test\n  cxl/core: use cleanup.h for devm_cxl_add_dax_region\n  cxl/core/region: move dax region device logic into region_dax.c\n  cxl/core/region: move pmem region driver logic into region_pmem.c\n  dax/hmem, cxl: Defer and resolve Soft Reserved ownership\n  cxl/region: Add helper to check Soft Reserved containment by CXL regions\n  ...\n"
    },
    {
      "commit": "7d672741a5012b0c133847f970eba792430d432d",
      "tree": "19860daa95a152f1632b636ce88db359e7058bd0",
      "parents": [
        "9cdca336677b4d15579ec462e33c8a330ab3a9de",
        "48f7a50c027dd2abb9e7b8a6ecc8e531d87f2c21"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 15:48:36 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 15:48:36 2026 -0700"
      },
      "message": "Merge tag \u0027stop-machine.2026.04.16a\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu\n\nPull stop-machine update from Paul McKenney:\n\n - kernel-doc updates for stop_machine() and stop_machine_cpuslocked()\n   functions\n\n* tag \u0027stop-machine.2026.04.16a\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:\n  stop_machine: Fix the documentation for a NULL cpus argument\n"
    },
    {
      "commit": "9cdca336677b4d15579ec462e33c8a330ab3a9de",
      "tree": "e46e6f04db9594619094ebefb265113012e60b0e",
      "parents": [
        "ba314ed1bff907321ab4091a4e46c4d9f24b5e39",
        "82bbd447199ff1441031d2eaf9afe041550cf525"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 15:42:01 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 15:42:01 2026 -0700"
      },
      "message": "Merge tag \u0027integrity-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity\n\nPull integrity updates from Mimi Zohar:\n \"There are two main changes, one feature removal, some code cleanup,\n  and a number of bug fixes.\n\n  Main changes:\n   - Detecting secure boot mode was limited to IMA. Make detecting\n     secure boot mode accessible to EVM and other LSMs\n   - IMA sigv3 support was limited to fsverity. Add IMA sigv3 support\n     for IMA regular file hashes and EVM portable signatures\n\n  Remove:\n   - Remove IMA support for asychronous hash calculation originally\n     added for hardware acceleration\n\n  Cleanup:\n   - Remove unnecessary Kconfig CONFIG_MODULE_SIG and CONFIG_KEXEC_SIG\n     tests\n   - Add descriptions of the IMA atomic flags\n\n  Bug fixes:\n   - Like IMA, properly limit EVM \"fix\" mode\n   - Define and call evm_fix_hmac() to update security.evm\n   - Fallback to using i_version to detect file change for filesystems\n     that do not support STATX_CHANGE_COOKIE\n   - Address missing kernel support for configured (new) TPM hash\n     algorithms\n   - Add missing crypto_shash_final() return value\"\n\n* tag \u0027integrity-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:\n  evm: Enforce signatures version 3 with new EVM policy \u0027bit 3\u0027\n  integrity: Allow sigv3 verification on EVM_XATTR_PORTABLE_DIGSIG\n  ima: add support to require IMA sigv3 signatures\n  ima: add regular file data hash signature version 3 support\n  ima: Define asymmetric_verify_v3() to verify IMA sigv3 signatures\n  ima: remove buggy support for asynchronous hashes\n  integrity: Eliminate weak definition of arch_get_secureboot()\n  ima: Add code comments to explain IMA iint cache atomic_flags\n  ima_fs: Correctly create securityfs files for unsupported hash algos\n  ima: check return value of crypto_shash_final() in boot aggregate\n  ima: Define and use a digest_size field in the ima_algo_desc structure\n  powerpc/ima: Drop unnecessary check for CONFIG_MODULE_SIG\n  ima: efi: Drop unnecessary check for CONFIG_MODULE_SIG/CONFIG_KEXEC_SIG\n  ima: fallback to using i_version to detect file change\n  evm: fix security.evm for a file with IMA signature\n  s390: Drop unnecessary CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT\n  evm: Don\u0027t enable fix mode when secure boot is enabled\n  integrity: Make arch_ima_get_secureboot integrity-wide\n"
    },
    {
      "commit": "ba314ed1bff907321ab4091a4e46c4d9f24b5e39",
      "tree": "85e3f95317ac9eb5cda0a24c3c2568c0aa07652f",
      "parents": [
        "3d2d10e1f558be304d747056c01dad2218ddc534",
        "ad5fd5aeb65a4426635cf55ef06c96e60a66e648"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 14:21:40 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 14:21:40 2026 -0700"
      },
      "message": "Merge tag \u0027hwlock-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux\n\nPull hwspinlock updates from Bjorn Andersson:\n \"Remove the unused u8500 hardware spinlock driver, and clean out the\n  hwspinlock_pdata struct as this was the last user of the struct\"\n\n* tag \u0027hwlock-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux:\n  hwspinlock: remove now unused pdata from header file\n  hwspinlock: u8500: delete driver\n"
    },
    {
      "commit": "3d2d10e1f558be304d747056c01dad2218ddc534",
      "tree": "6c27a6ae01715bd45b79d53ebfbc83f2c313dce4",
      "parents": [
        "d65218de87c4bfa879bc453c3050d3851c353dcc",
        "3e2fa997d1e2b651993ae7e81646aadd55470bce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 14:18:55 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 14:18:55 2026 -0700"
      },
      "message": "Merge tag \u0027rpmsg-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux\n\nPull rpmsg updates from Bjorn Andersson:\n \"Mark \u0027data\u0027 argument in rpmsg_send() const, and perculate to related\n  drivers. Replace deprecated class_destroy() with class_unregister()\"\n\n* tag \u0027rpmsg-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux:\n  media: platform: mtk-mdp3: Constify buffer passed to mdp_vpu_sendmsg()\n  ASoC: qcom: Constify GPR packet being send over GPR interface\n  rpmsg: Constify buffer passed to send API\n  remoteproc: mtk_scp: Constify buffer passed to scp_send_ipi()\n  remoteproc: mtk_scp_ipi: Constify buffer passed to scp_ipi_send()\n  drivers: rpmsg: class_destroy() is deprecated\n"
    },
    {
      "commit": "d65218de87c4bfa879bc453c3050d3851c353dcc",
      "tree": "9cb1da9dde5ca1cd95a676f63f7a290edc440926",
      "parents": [
        "e2d10998e4293a27c0389870b5fdf736a71d61ef",
        "56c1ec524284805da0181bc6e9ca656c0091b201"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 14:16:15 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 14:16:15 2026 -0700"
      },
      "message": "Merge tag \u0027rproc-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux\n\nPull remoteproc updates from Bjorn Andersson:\n\n - Move requesting of IRQs in TI Keystone driver to probe time instead\n   of remoteproc start, to allow better handling of errors.\n\n - Introduce support for more than 10 entries in the Qualcomm minidump\n   implementation.\n\n - Add audio DSP remoteproc support for the Qualcomm Eliza platform. Add\n   modem remoteproc support for the Qualcomm MDM9607, MSM8917, MSM8937,\n   and MSM8940 platforms.\n\n - Add list of Qualcomm QMI service ids to the QMI header file, in order\n   to avoid sprinkling them across the various drivers using them.\n   Migrate sysmon to use this constant.\n\n - Fix several issues related to DeviceTree parsing and mailbox handling\n   in the Xilinx R5F remote processor driver.\n\n - Fix incorrect error checks in reserved memory handling and polish the\n   code across i.MX and TI drivers.\n\n* tag \u0027rproc-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux: (35 commits)\n  remoteproc: qcom: pas: Add Eliza ADSP support\n  dt-bindings: remoteproc: qcom,milos-pas: Document Eliza ADSP\n  remoteproc: qcom: Add missing space before closing bracket\n  dt-bindings: remoteproc: qcom: Drop types for firmware-name\n  remoteproc: qcom: Fix minidump out-of-bounds access on subsystems array\n  dt-bindings: remoteproc: k3-r5f: Add memory-region-names\n  dt-bindings: remoteproc: k3-r5f: Split up memory regions\n  remoteproc: use SIZE_MAX in rproc_u64_fit_in_size_t()\n  dt-bindings: remoteproc: qcom,sm8550-pas: Add Glymur CDSP\n  dt-bindings: remoteproc: qcom,sm8550-pas: Add Glymur ADSP\n  remoteproc: xlnx: Release mailbox channels on shutdown\n  remoteproc: sysmon: Use the unified QMI service ID instead of defining it locally\n  remoteproc: xlnx: Only access buffer information if IPI is buffered\n  remoteproc: xlnx: Avoid mailbox setup\n  remoteproc: keystone: Request IRQs in probe()\n  remoteproc: pru: Remove empty remove callback\n  remoteproc: pru: Use rproc_of_parse_firmware() to get firmware name\n  remoteproc: da8xx: Reorder resource fetching in probe()\n  remoteproc: da8xx: Remove unused local struct data\n  remoteproc: da8xx: Use dev_err_probe()\n  ...\n"
    },
    {
      "commit": "e2d10998e4293a27c0389870b5fdf736a71d61ef",
      "tree": "9b2128006576e95d5a6542adf59f4242cd4bb797",
      "parents": [
        "430cc9f42b44d174230f646767e1403699645ec5",
        "a74c2e55ab66519ffa2069ac9ae83cd937bff4c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 14:09:02 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 14:09:02 2026 -0700"
      },
      "message": "Merge tag \u0027devicetree-for-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux\n\nPull devicetree updates from Rob Herring:\n \"DT core:\n\n   - Cleanup of the reserved memory code to keep CMA specifics in CMA\n     code\n\n   - Add and convert several users to new of_machine_get_match() helper\n\n   - Validate nul termination in string properties\n\n   - Update dtc to upstream v1.7.2-69-g53373d135579\n\n   - Limit matching reserved memory devices to /reserved-memory nodes\n\n   - Fix some UAF in unittests\n\n   - Remove Baikal SoC bus driver\n\n   - Fix false DT_SPLIT_BINDING_PATCH checkpatch warning\n\n   - Allow fw_devlink device-tree on x86\n\n   - Fix kerneldoc return description for of_property_count_elems_of_size()\n\n  DT bindings:\n\n   - Add fsl,imx25-aips, fsl,imx25-tcq, qcom,eliza-pdc,\n     qcom,eliza-spmi-pmic-arb, qcom,hawi-imem, qcom,milos-imem,\n     qcom,hawi-pdc, and lg,sw49410 bindings\n\n   - Convert arm,vexpress-scc to DT schema\n\n   - Deprecate Qualcomm generic CPU compatibles. Add Apple M3 CPU cores.\n\n   - Move some dual-link display panels to the dual-link schema\n\n   - Drop mux controller node name constraints\n\n   - Remove Baikal SoC bus bindings\n\n   - Fix a false warning in the thermal trip node binding\"\n\n* tag \u0027devicetree-for-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (39 commits)\n  dt-bindings: display: panel: panel-simple: Add lg,sw49410 compatible\n  dt-bindings: display: ti, am65x-dss: Fix AM62L DSS reg and clock constraints\n  dt-bindings: display: simple: Move Innolux G156HCE-L01 panel to dual-link\n  dt-bindings: display: simple: Move AUO 21.5\" FHD to dual-link\n  dt-bindings: thermal: Fix false warning with \u0027phandle\u0027 in trips nodes\n  of: unittest: fix use-after-free in testdrv_probe()\n  of: unittest: fix use-after-free in of_unittest_changeset()\n  dt-bindings: qcom,pdc: document the Hawi Power Domain Controller\n  dt-bindings: ARM: arm,vexpress-scc: convert to DT schema\n  drivers/of: fdt: validate flat DT string properties before string use\n  drivers/of: fdt: validate stdout-path properties before parsing them\n  dt-bindings: sram: Document qcom,hawi-imem compatible\n  dt-bindings: sram: Allow multiple-word prefixes to sram subnode\n  dt-bindings: sram: Document qcom,milos-imem\n  scripts/dtc: Update to upstream version v1.7.2-69-g53373d135579\n  of: property: Allow fw_devlink device-tree on x86\n  dt-bindings: arm: cpus: Add Apple M3 CPU core compatibles\n  dt-bindings: display: lt8912b: Drop redundant endpoint properties\n  dt-bindings: opp-v2: Fix example 3 CPU reg value\n  dt-bindings: connector: add pd-disable dependency\n  ...\n"
    },
    {
      "commit": "430cc9f42b44d174230f646767e1403699645ec5",
      "tree": "7afe2c4c9c857fac1b2fc25cca620da656308226",
      "parents": [
        "59bd5ae0db22566e2b961742126269c151d587c7",
        "005b25ad11717139ca5c14c9f06c2a60855c2afd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 13:50:10 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 13:50:10 2026 -0700"
      },
      "message": "Merge tag \u0027for-7.1-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/pateldipen1984/linux\n\nPull hte updates from Dipen Patel:\n\n - Add tegra264 HTE driver and dt binding support\n\n - Remove tegra194 SoC Kconfig dependency\n\n - Replace use of system_unbound_wq with system_dfl_wq\n\n* tag \u0027for-7.1-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/pateldipen1984/linux:\n  hte: tegra194: Add Tegra264 GTE support\n  dt-bindings: timestamp: Add Tegra264 support\n  hte: tegra194: remove Kconfig dependency on Tegra194 SoC\n  hte: replace use of system_unbound_wq with system_dfl_wq\n"
    },
    {
      "commit": "b2a4fe0960aee9a2c8045cfd26fbeacf30b26efe",
      "tree": "7fba799dc9d685058c788a00a1becf640569f9c1",
      "parents": [
        "357e460a3099702a904f8b164a13305c34d4385d",
        "7866ce992cf0d3c3b50fe8bf4acb1dbb173a2304"
      ],
      "author": {
        "name": "Miquel Raynal",
        "email": "miquel.raynal@bootlin.com",
        "time": "Fri Apr 17 21:51:05 2026 +0200"
      },
      "committer": {
        "name": "Miquel Raynal",
        "email": "miquel.raynal@bootlin.com",
        "time": "Fri Apr 17 21:51:05 2026 +0200"
      },
      "message": "Merge tag \u0027nand/for-7.1\u0027 into mtd/next\n\nThe main changes happened in the SunXi driver in order to\nsupport new versions of the Allwinner NAND controller.\n\nThere are also some DT-binding improvements and cleanups.\n\nFinally a couple of actual fixes (Realtek ECC and Winbond SPI NAND),\naside with the usual load of misc changes.\n"
    },
    {
      "commit": "357e460a3099702a904f8b164a13305c34d4385d",
      "tree": "4a22fb9edd6fb1dc800d909e25d7ca41878f7170",
      "parents": [
        "b800359a4dfacae983cd01f8c3f1cbb6f4c9f816",
        "cf6788aed0cd911c2e7dded6f28214996dfabc30"
      ],
      "author": {
        "name": "Miquel Raynal",
        "email": "miquel.raynal@bootlin.com",
        "time": "Fri Apr 17 21:50:54 2026 +0200"
      },
      "committer": {
        "name": "Miquel Raynal",
        "email": "miquel.raynal@bootlin.com",
        "time": "Fri Apr 17 21:50:54 2026 +0200"
      },
      "message": "Merge tag \u0027spi-nor/for-7.1\u0027 into mtd/next\n\nSPI NOR changes for 7.1\n\nThere is only a collection of bugfixes this time around, with no notable\nchanges to the core. Some of the more noteworthy bugfixes listed below.\n\n- Enable die erase on MT35XU02GCBA. We knew this flash needed this fixup\nsince 7f77c561e227 (\"mtd: spi-nor: micron-st: add TODO for fixing\nmt35xu02gcba\") but did not add it due to lack of hardware to test on.\n\n- Fix locking on some Winbond w25q series flashes.\n\n- Fix Auto Address Increment (AAI) writes on SST that flashes that start\n  on odd address. The write enable latch needs to be set again after the\n  single byte program.\n"
    },
    {
      "commit": "e1d486445af3c392628532229f7ce5f5cf7891b6",
      "tree": "1cd850e48000cd7af8f394efac3980ad79ee04f5",
      "parents": [
        "f75aeb2de89127052975b1bfade88ac87f164f4a"
      ],
      "author": {
        "name": "Puranjay Mohan",
        "email": "puranjay@kernel.org",
        "time": "Fri Apr 17 07:33:52 2026 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Apr 17 12:05:45 2026 -0700"
      },
      "message": "bpf, arm32: Reject BPF-to-BPF calls and callbacks in the JIT\n\nThe ARM32 BPF JIT does not support BPF-to-BPF function calls\n(BPF_PSEUDO_CALL) or callbacks (BPF_PSEUDO_FUNC), but it does\nnot reject them either.\n\nWhen a program with subprograms is loaded (e.g. libxdp\u0027s XDP\ndispatcher uses __noinline__ subprograms, or any program using\ncallbacks like bpf_loop or bpf_for_each_map_elem), the verifier\ninvokes bpf_jit_subprogs() which calls bpf_int_jit_compile()\nfor each subprogram.\n\nFor BPF_PSEUDO_CALL, since ARM32 does not reject it, the JIT\nsilently emits code using the wrong address computation:\n\n    func \u003d __bpf_call_base + imm\n\nwhere imm is a pc-relative subprogram offset, producing a bogus\nfunction pointer.\n\nFor BPF_PSEUDO_FUNC, the ldimm64 handler ignores src_reg and\nloads the immediate as a normal 64-bit value without error.\n\nIn both cases, build_body() reports success and a JIT image is\nallocated. ARM32 lacks the jit_data/extra_pass mechanism needed\nfor the second JIT pass in bpf_jit_subprogs(). On the second\npass, bpf_int_jit_compile() performs a full fresh compilation,\nallocating a new JIT binary and overwriting prog-\u003ebpf_func. The\nfirst allocation is never freed. bpf_jit_subprogs() then detects\nthe function pointer changed and aborts with -ENOTSUPP, but the\noriginal JIT binary has already been leaked. Each program\nload/unload cycle leaks one JIT binary allocation, as reported\nby kmemleak:\n\n    unreferenced object 0xbf0a1000 (size 4096):\n      backtrace:\n        bpf_jit_binary_alloc+0x64/0xfc\n        bpf_int_jit_compile+0x14c/0x348\n        bpf_jit_subprogs+0x4fc/0xa60\n\nFix this by rejecting both BPF_PSEUDO_CALL in the BPF_CALL\nhandler and BPF_PSEUDO_FUNC in the BPF_LD_IMM64 handler, falling\nthrough to the existing \u0027notyet\u0027 path. This causes build_body()\nto fail before any JIT binary is allocated, so\nbpf_int_jit_compile() returns the original program unjitted.\nbpf_jit_subprogs() then sees !prog-\u003ejited and cleanly falls\nback to the interpreter with no leak.\n\nAcked-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nFixes: 1c2a088a6626 (\"bpf: x64: add JIT support for multi-function programs\")\nReported-by: Jonas Rebmann \u003cjre@pengutronix.de\u003e\nCloses: https://lore.kernel.org/bpf/b63e9174-7a3d-4e22-8294-16df07a4af89@pengutronix.de\nTested-by: Jonas Rebmann \u003cjre@pengutronix.de\u003e\nSigned-off-by: Puranjay Mohan \u003cpuranjay@kernel.org\u003e\nReviewed-by: Emil Tsalapatis \u003cemil@etsalapatis.com\u003e\nLink: https://lore.kernel.org/r/20260417143353.838911-1-puranjay@kernel.org\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "f75aeb2de89127052975b1bfade88ac87f164f4a",
      "tree": "be9421cf81fc95b5df96863c30ada332c1e05a2a",
      "parents": [
        "2845989f2ebaf7848e4eccf9a779daf3156ea0a5"
      ],
      "author": {
        "name": "Amery Hung",
        "email": "ameryhung@gmail.com",
        "time": "Fri Apr 17 10:49:00 2026 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Apr 17 12:04:14 2026 -0700"
      },
      "message": "bpf: Dissociate struct_ops program with map if map_update fails\n\nCurrently, when bpf_struct_ops_map_update_elem() fails, the programs\u0027\nst_ops_assoc will remain set. They may become dangling pointers if the\nmap is freed later, but they will never be dereferenced since the\nstruct_ops attachment did not succeed. However, if one of the programs\nis subsequently attached as part of another struct_ops map, its\nst_ops_assoc will be poisoned even though its old st_ops_assoc was stale\nfrom a failed attachment.\n\nFix the spurious poisoned st_ops_assoc by dissociating struct_ops\nprograms with a map if the attachment fails. Move\nbpf_prog_assoc_struct_ops() to after *plink++ to make sure\nbpf_prog_disassoc_struct_ops() will not miss a program when iterating\nst_map-\u003elinks.\n\nNote that, dissociating a program from a map requires some attention as\nit must not reset a poisoned st_ops_assoc or a st_ops_assoc pointing to\nanother map. The former is already guarded in\nbpf_prog_disassoc_struct_ops(). The latter also will not happen since\nst_ops_assoc of programs in st_map-\u003elinks are set by\nbpf_prog_assoc_struct_ops(), which can only be poisoned or pointing to\nthe current map.\n\nSigned-off-by: Amery Hung \u003cameryhung@gmail.com\u003e\nLink: https://lore.kernel.org/r/20260417174900.2895486-1-ameryhung@gmail.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n\n"
    },
    {
      "commit": "59bd5ae0db22566e2b961742126269c151d587c7",
      "tree": "77f65d922430cfba88e3857cdc9dc7457f8bef4e",
      "parents": [
        "e0dcd2b2a00bf86073264751897b949dd9c02258",
        "98d68b74ebb9d5f145960ff7d96ce8e7a39fb965"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 11:41:33 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 11:41:33 2026 -0700"
      },
      "message": "Merge tag \u0027for-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply\n\nPull power supply and reset updates from Sebastian Reichel:\n \"Power-supply drivers:\n   - S2MU005: new battery fuel gauge driver\n   - macsmc-power: new driver for Apple Silicon\n   - qcom_battmgr: Add support for Glymur and Kaanapali\n   - max17042: add support for max77759\n   - qcom_smbx: allow disabling charging\n   - bd71828: add input current limit support\n   - multiple drivers: use new device managed workqueue allocation\n     function\n   - misc small cleanups and fixes\n\n  Reset core:\n   - Expose sysfs for registered reboot_modes\n\n  Reset drivers\n   - misc small cleanups and fixes\"\n\n* tag \u0027for-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (36 commits)\n  power: supply: qcom_smbx: allow disabling charging\n  power: reset: drop unneeded dependencies on OF_GPIO\n  power: supply: bd71828: add input current limit property\n  dt-bindings: power: reset: cortina,gemini-power-controller: convert to DT schema\n  power: supply: add support for S2MU005 battery fuel gauge device\n  dt-bindings: power: supply: document Samsung S2MU005 battery fuel gauge\n  power: reset: reboot-mode: fix -Wformat-security warning\n  power: supply: ipaq_micro: Simplify with devm\n  power: supply: mt6370: Simplify with devm_alloc_ordered_workqueue()\n  power: supply: max77705: Free allocated workqueue and fix removal order\n  power: supply: max77705: Drop duplicated IRQ error message\n  power: supply: cw2015: Free allocated workqueue\n  power: reset: keystone: Use register_sys_off_handler(SYS_OFF_MODE_RESTART)\n  power: supply: twl4030_madc: Drop unused header includes\n  power: supply: bq24190: Avoid rescheduling after cancelling work\n  power: supply: axp288_charger: Simplify returns of dev_err_probe()\n  power: supply: axp288_charger: Do not cancel work before initializing it\n  power: supply: cpcap-battery: pass static battery cell data from device tree\n  dt-bindings: power: supply: cpcap-battery: document monitored-battery property\n  power: supply: qcom_battmgr: Add support for Glymur and Kaanapali\n  ...\n"
    },
    {
      "commit": "e0dcd2b2a00bf86073264751897b949dd9c02258",
      "tree": "37dfad6568031e8fda5989c8e751446da4822113",
      "parents": [
        "d97e7d7c304f87419921f740743f7baa99f40539",
        "df5ead915b19a6c1fa25f44419f28e1228677b02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 11:32:01 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 11:32:01 2026 -0700"
      },
      "message": "Merge tag \u0027hsi-for-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi\n\nPull HSI updates from Sebastian Reichel:\n\n - use flexible array member for hsi_port in hsi_controller\n\n - misc small fixes\n\n* tag \u0027hsi-for-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:\n  HSI: omap_ssi_port: remove depends on ARM\n  HSI: omap_ssi_port: remove set but unused variables\n  HSI: cmt_speech: fix wrong printf format\n  HSI: omap_ssi_port: remove null check from FAM\n  hsi: hsi_core: use kzalloc_flex\n"
    },
    {
      "commit": "d97e7d7c304f87419921f740743f7baa99f40539",
      "tree": "af6b5ff258e9854490e205fb4ea348e08c6c125f",
      "parents": [
        "87768582a440e7049a04e8af7383b86738d15b38",
        "b8a5774cd49996e8ef83b1637a9b547158f18de9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 11:24:00 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 11:24:00 2026 -0700"
      },
      "message": "Merge tag \u0027hid-for-linus-2026041601\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid\n\nPull HID updates from Jiri Kosina:\n \"Core:\n   - fixed handling of 0-sized reports (Dmitry Torokhov)\n   - convert core code to __free() (Dmitry Torokhov)\n   - support for multiple batteries per HID device (Lucas Zampieri)\n\n  Drivers:\n   - support for rumble effects in winwing driver (Ivan Gorinov)\n   - new support for a variety of Sony Rock Band and Sony DJ Hero\n     Turntable devices (Rosalie Wanders)\n   - new driver for Lenovo Legion Go / S devices (Derek J. Clark)\n   - power management improvements to intel-thc-hid driver (Even Xu)\n\n  ... other assorted cleanups, fixes and device-specific quirks\"\n\n* tag \u0027hid-for-linus-2026041601\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (73 commits)\n  HID: core: clamp report_size in s32ton() to avoid undefined shift\n  HID: logitech-dj: fix wrong detection of bad DJ_SHORT output report\n  HID: logitech-hidpp: fix race condition when accessing stale stack pointer\n  HID: winwing: Enable rumble effects\n  HID: core: do not allow parsing 0-sized reports\n  HID: usbhid: refactor endpoint lookup\n  HID: huawei: fix CD30 keyboard report descriptor issue\n  HID: playstation: validate num_touch_reports in DualShock 4 reports\n  HID: drop \u0027default !EXPERT\u0027 from tristate symbols\n  HID: usbhid: fix deadlock in hid_post_reset()\n  HID: apple: ensure the keyboard backlight is off if suspending\n  HID: quirks: Set ALWAYS_POLL for LOGITECH_BOLT_RECEIVER\n  HID: alps: fix NULL pointer dereference in alps_raw_event()\n  HID: logitech-dj: Prevent REPORT_ID_DJ_SHORT related user initiated OOB write\n  HID: logitech-dj: Standardise hid_report_enum variable nomenclature\n  HID: sony: update module description\n  HID: logitech-hidpp: Check bounds when deleting force-feedback effects\n  HID: sony: add battery status support for Rock Band 4 PS5 guitars\n  HID: sony: fix style issues\n  HID: quirks: update hid-sony supported devices\n  ...\n"
    },
    {
      "commit": "87768582a440e7049a04e8af7383b86738d15b38",
      "tree": "c6490ceb75f0af1ff214b64067fcd29d596f3a53",
      "parents": [
        "d662a710c668a86a39ebaad334d9960a0cc776c2",
        "15818b2cd42df3cc886f4cc46acfab4d072dcacc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 11:12:42 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 11:12:42 2026 -0700"
      },
      "message": "Merge tag \u0027dma-mapping-7.1-2026-04-16\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszyprowski/linux\n\nPull dma-mapping updates from Marek Szyprowski:\n\n - added support for batched cache sync, what improves performance of\n   dma_map/unmap_sg() operations on ARM64 architecture (Barry Song)\n\n - introduced DMA_ATTR_CC_SHARED attribute for explicitly shared memory\n   used in confidential computing (Jiri Pirko)\n\n - refactored spaghetti-like code in drivers/of/of_reserved_mem.c and\n   its clients (Marek Szyprowski, shared branch with device-tree updates\n   to avoid merge conflicts)\n\n - prepared Contiguous Memory Allocator related code for making dma-buf\n   drivers modularized (Maxime Ripard)\n\n - added support for benchmarking dma_map_sg() calls to tools/dma\n   utility (Qinxin Xia)\n\n* tag \u0027dma-mapping-7.1-2026-04-16\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszyprowski/linux: (24 commits)\n  dma-buf: heaps: system: document system_cc_shared heap\n  dma-buf: heaps: system: add system_cc_shared heap for explicitly shared memory\n  dma-mapping: introduce DMA_ATTR_CC_SHARED for shared memory\n  mm: cma: Export cma_alloc(), cma_release() and cma_get_name()\n  dma: contiguous: Export dev_get_cma_area()\n  dma: contiguous: Make dma_contiguous_default_area static\n  dma: contiguous: Make dev_get_cma_area() a proper function\n  dma: contiguous: Turn heap registration logic around\n  of: reserved_mem: rework fdt_init_reserved_mem_node()\n  of: reserved_mem: clarify fdt_scan_reserved_mem*() functions\n  of: reserved_mem: rearrange code a bit\n  of: reserved_mem: replace CMA quirks by generic methods\n  of: reserved_mem: switch to ops based OF_DECLARE()\n  of: reserved_mem: use -ENODEV instead of -ENOENT\n  of: reserved_mem: remove fdt node from the structure\n  dma-mapping: fix false kernel-doc comment marker\n  dma-mapping: Support batch mode for dma_direct_{map,unmap}_sg\n  dma-mapping: Separate DMA sync issuing and completion waiting\n  arm64: Provide dcache_inval_poc_nosync helper\n  arm64: Provide dcache_clean_poc_nosync helper\n  ...\n"
    },
    {
      "commit": "d662a710c668a86a39ebaad334d9960a0cc776c2",
      "tree": "7694a17267609e39de8f6de12e5a7d894d824317",
      "parents": [
        "3f887edd35c63a7092a0babbc6074355ebc57248",
        "b7560798466a07d9c3fb011698e92c335ab28baf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 10:29:01 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 10:29:01 2026 -0700"
      },
      "message": "Merge tag \u0027dmaengine-7.1-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine\n\nPull dmaengine updates from Vinod Koul:\n \"Core:\n   - New devm_of_dma_controller_register() API\n\n  New Support:\n   - Support for RZ/G3L SoC\n   - Loongson Multi-Channel DMA controller support\n   - Conversion of Xilinx AXI DMA binding\n   - DW AXI CV1800B DMA support\n   - Switchtec DMA engine driver\n\n  Updates:\n   - AMD MDB Endpoint and non-LL mode support\n   - DW edma virtual IRQ for interrupt-emulation, cyclic transfers support\"\n\n* tag \u0027dmaengine-7.1-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (65 commits)\n  dmaengine: dw-edma: Add non-LL mode\n  dmaengine: dw-edma: Add AMD MDB Endpoint Support\n  dt-bindings: dmaengine: Fix spelling mistake \"Looongson\" -\u003e \"Looogson\"\n  dmaengine: loongson: Fix spelling mistake \"Looongson\" -\u003e \"Looogson\"\n  dmaengine: loongson: New driver for the Loongson Multi-Channel DMA controller\n  dt-bindings: dmaengine: Add Loongson Multi-Channel DMA controller\n  dmaengine: loongson: loongson2-apb: Simplify locking with guard() and scoped_guard()\n  dmaengine: loongson: loongson2-apb: Convert to devm_clk_get_enabled()\n  dmaengine: loongson: loongson2-apb: Convert to dmaenginem_async_device_register()\n  dmaengine: loongson: New directory for Loongson DMA controllers drivers\n  dt-bindings: dma: xlnx,axi-dma: Convert to DT schema\n  dt-bindings: dma: rz-dmac: Add conditional schema for RZ/G3L\n  dmaengine: sh: rz-dmac: Add device_{pause,resume}() callbacks\n  dmaengine: sh: rz-dmac: Add device_tx_status() callback\n  dmaengine: sh: rz-dmac: Use rz_lmdesc_setup() to invalidate descriptors\n  dmaengine: sh: rz-dmac: Drop unnecessary local_irq_save() call\n  dmaengine: sh: rz-dmac: Drop goto instruction and label\n  dmaengine: sh: rz-dmac: Drop read of CHCTRL register\n  dmaengine: sh: rz_dmac: add RZ/{T2H,N2H} support\n  dt-bindings: dma: renesas,rz-dmac: document RZ/{T2H,N2H}\n  ...\n"
    },
    {
      "commit": "3f887edd35c63a7092a0babbc6074355ebc57248",
      "tree": "a15b5f527b68cd9f26eb0b646f527141713ac367",
      "parents": [
        "65bec0c4ea57b74749a21200031b2350ac238de8",
        "caf08514bbee0736c31d8d4f406e3415cdf726bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 10:22:08 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 10:22:08 2026 -0700"
      },
      "message": "Merge tag \u0027phy-for-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy\n\nPull phy updates from Vinod Koul:\n \"New Support:\n   - Qualcomm Eliza QMP UFS PHY\n   - Canaan K230 USB 2.0 PHY driver\n   - Mediatek mt8167 dsi-phy\n   - Eswin EIC7700 SATA PHY driver\n\n  Updates:\n   - Sorted subsytem Makefile/Kconfig and some kernel-doc udpates\"\n\n* tag \u0027phy-for-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy:\n  dt-bindings: phy: qcom,sc8280xp-qmp-ufs-phy: document the Eliza QMP UFS PHY\n  phy: qcom: m31-eusb2: clear PLL_EN during init\n  phy: eswin: Create eswin directory and add EIC7700 SATA PHY driver\n  dt-bindings: phy: eswin: Document the EIC7700 SoC SATA PHY\n  phy: apple: apple: Use local variable for ioremap return value\n  phy: qcom: qmp-usbc: Simplify check for non-NULL pointer\n  phy: marvell: mmp3-hsic: Avoid re-casting __iomem\n  phy: apple: atc: Make atcphy_dwc3_reset_ops variable static\n  dt-bindings: phy: mediatek,dsi-phy: Add support for mt8167\n  phy: usb: Add driver for Canaan K230 USB 2.0 PHY\n  dt-bindings: phy: Add Canaan K230 USB PHY\n  phy: phy-mtk-tphy: Update names and format of kernel-doc comments\n  phy: Sort the subsystem Kconfig\n  phy: Sort the subsystem Makefile\n  phy: move spacemit pcie driver to its subfolder\n"
    },
    {
      "commit": "65bec0c4ea57b74749a21200031b2350ac238de8",
      "tree": "cc6d2e74146595509f9a3c921e516f8ef90f20bb",
      "parents": [
        "0b6bc3dbe6322b283dfe5786a8e2a13d38f469f8",
        "b8f2d65fec19f3866905ac6ae3deb5c0c9faf162"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 10:16:53 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 10:16:53 2026 -0700"
      },
      "message": "Merge tag \u0027soundwire-7.1-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire\n\nPull soundwire updates from Vinod Koul:\n\n - Core: DP prepare polling for avoiding interrupt deadlock\n\n - AMD clock init and bandwidth refactoring\n\n - Intel more codecs to wake list, clear message on before signaling\n   waiting thread\n\n* tag \u0027soundwire-7.1-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:\n  soundwire: intel_auxdevice: Add cs42l49 to wake_capable_list\n  soundwire: cadence: Clear message complete before signaling waiting thread\n  soundwire: Intel: test bus.bpt_stream before assigning it\n  soundwire: bus: demote UNATTACHED state warnings to dev_dbg()\n  soundwire: stream: Poll for DP prepare to avoid interrupt deadlock\n  soundwire: amd: refactor bandwidth calculation logic\n  soundwire: amd: add clock init control function\n  soundwire: intel_auxdevice: Add CS47L47 to wake_capable_list\n  soundwire: slave: Don\u0027t register devices that are disabled in ACPI\n  soundwire: sdw.h: repair names and format of kernel-doc comments\n"
    },
    {
      "commit": "2845989f2ebaf7848e4eccf9a779daf3156ea0a5",
      "tree": "15e6cccd687d253fc89ecabfb3f9974357b50e67",
      "parents": [
        "380044c40b1636a72fd8f188b5806be6ae564279"
      ],
      "author": {
        "name": "Puranjay Mohan",
        "email": "puranjay@kernel.org",
        "time": "Fri Apr 17 08:21:33 2026 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Apr 17 10:12:55 2026 -0700"
      },
      "message": "bpf: Validate node_id in arena_alloc_pages()\n\narena_alloc_pages() accepts a plain int node_id and forwards it through\nthe entire allocation chain without any bounds checking.\n\nValidate node_id before passing it down the allocation chain in\narena_alloc_pages().\n\nFixes: 317460317a02 (\"bpf: Introduce bpf_arena.\")\nSigned-off-by: Puranjay Mohan \u003cpuranjay@kernel.org\u003e\nReviewed-by: Emil Tsalapatis \u003cemil@etsalapatis.com\u003e\nLink: https://lore.kernel.org/r/20260417152135.1383754-1-puranjay@kernel.org\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n\n"
    },
    {
      "commit": "0b6bc3dbe6322b283dfe5786a8e2a13d38f469f8",
      "tree": "1cf73d0850cb4dba2f291592fccdd44eb9ea8f56",
      "parents": [
        "cb30bf881c5b4ee8b879558a2fce93d7de652955",
        "4245bf4dc58f58b7042c29d7b04d4e403a0379bc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 10:12:11 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 10:12:11 2026 -0700"
      },
      "message": "Merge tag \u0027trace-latency-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace\n\nPull tracing latency update from Steven Rostedt:\n\n - Add TIMERLAT_ALIGN osnoise option\n\n   Add a timer alignment option for timerlat that makes it work like the\n   cyclictest -A option. timelat creates threads to test the latency of\n   the kernel. The alignment option will have these threads trigger at\n   the alignment offsets from each other. Instead of having each thread\n   wake up at the exact same time, if the alignment is set to \"20\" each\n   thread will wake up at 20 microseconds from the previous one.\n\n* tag \u0027trace-latency-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:\n  tracing/osnoise: Add option to align tlat threads\n"
    },
    {
      "commit": "cb30bf881c5b4ee8b879558a2fce93d7de652955",
      "tree": "9f5043063bcf3c3cbdedef428c3d0dd8d3421cad",
      "parents": [
        "c9e03d59483a64967850e6d321b7fc56a957ef83",
        "621a59d8fc678762abc12ad8ad6bf616496fa4d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 09:43:12 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 09:43:12 2026 -0700"
      },
      "message": "Merge tag \u0027trace-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace\n\nPull tracing updates from Steven Rostedt:\n\n - Fix printf format warning for bprintf\n\n   sunrpc uses a trace_printk() that triggers a printf warning during\n   the compile. Move the __printf() attribute around for when debugging\n   is not enabled the warning will go away\n\n - Remove redundant check for EVENT_FILE_FL_FREED in\n   event_filter_write()\n\n   The FREED flag is checked in the call to event_file_file() and then\n   checked again right afterward, which is unneeded\n\n - Clean up event_file_file() and event_file_data() helpers\n\n   These helper functions played a different role in the past, but now\n   with eventfs, the READ_ONCE() isn\u0027t needed. Simplify the code a bit\n   and also add a warning to event_file_data() if the file or its data\n   is not present\n\n - Remove updating file-\u003eprivate_data in tracing open\n\n   All access to the file private data is handled by the helper\n   functions, which do not use file-\u003eprivate_data. Stop updating it on\n   open\n\n - Show ENUM names in function arguments via BTF in function tracing\n\n   When showing the function arguments when func-args option is set for\n   function tracing, if one of the arguments is found to be an enum,\n   show the name of the enum instead of its number\n\n - Add new trace_call__##name() API for tracepoints\n\n   Tracepoints are enabled via static_branch() blocks, where when not\n   enabled, there\u0027s only a nop that is in the code where the execution\n   will just skip over it. When tracing is enabled, the nop is converted\n   to a direct jump to the tracepoint code. Sometimes more calculations\n   are required to be performed to update the parameters of the\n   tracepoint. In this case, trace_##name##_enabled() is called which is\n   a static_branch() that gets enabled only when the tracepoint is\n   enabled. This allows the extra calculations to also be skipped by the\n   nop:\n\n\tif (trace_foo_enabled()) {\n\t\tx \u003d bar();\n\t\ttrace_foo(x);\n\t}\n\n   Where the x\u003dbar() is only performed when foo is enabled. The problem\n   with this approach is that there\u0027s now two static_branch() calls. One\n   for checking if the tracepoint is enabled, and then again to know if\n   the tracepoint should be called. The second one is redundant\n\n   Introduce trace_call__foo() that will call the foo() tracepoint\n   directly without doing a static_branch():\n\n\tif (trace_foo_enabled()) {\n\t\tx \u003d bar();\n\t\ttrace_call__foo();\n\t}\n\n - Update various locations to use the new trace_call__##name() API\n\n - Move snapshot code out of trace.c\n\n   Cleaning up trace.c to not be a \"dump all\", move the snapshot code\n   out of it and into a new trace_snapshot.c file\n\n - Clean up some \"%*.s\" to \"%*s\"\n\n - Allow boot kernel command line options to be called multiple times\n\n   Have options like:\n\n\tftrace_filter\u003dfoo ftrace_filter\u003dbar ftrace_filter\u003dzoo\n\n   Equal to:\n\n\tftrace_filter\u003dfoo,bar,zoo\n\n - Fix ipi_raise event CPU field to be a CPU field\n\n   The ipi_raise target_cpus field is defined as a __bitmask(). There is\n   now a __cpumask() field definition. Update the field to use that\n\n - Have hist_field_name() use a snprintf() and not a series of strcat()\n\n   It\u0027s safer to use snprintf() that a series of strcat()\n\n - Fix tracepoint regfunc balancing\n\n   A tracepoint can define a \"reg\" and \"unreg\" function that gets called\n   before the tracepoint is enabled, and after it is disabled\n   respectively. But on error, after the \"reg\" func is called and the\n   tracepoint is not enabled, the \"unreg\" function is not called to tear\n   down what the \"reg\" function performed\n\n - Fix output that shows what histograms are enabled\n\n   Event variables are displayed incorrectly in the histogram output\n\n   Instead of \"sched.sched_wakeup.$var\", it is showing\n   \"$sched.sched_wakeup.var\" where the \u0027$\u0027 is in the incorrect location\n\n - Some other simple cleanups\n\n* tag \u0027trace-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (24 commits)\n  selftests/ftrace: Add test case for fully-qualified variable references\n  tracing: Fix fully-qualified variable reference printing in histograms\n  tracepoint: balance regfunc() on func_add() failure in tracepoint_add_func()\n  tracing: Rebuild full_name on each hist_field_name() call\n  tracing: Report ipi_raise target CPUs as cpumask\n  tracing: Remove duplicate latency_fsnotify() stub\n  tracing: Preserve repeated trace_trigger boot parameters\n  tracing: Append repeated boot-time tracing parameters\n  tracing: Remove spurious default precision from show_event_trigger/filter formats\n  cpufreq: Use trace_call__##name() at guarded tracepoint call sites\n  tracing: Remove tracing_alloc_snapshot() when snapshot isn\u0027t defined\n  tracing: Move snapshot code out of trace.c and into trace_snapshot.c\n  mm: damon: Use trace_call__##name() at guarded tracepoint call sites\n  btrfs: Use trace_call__##name() at guarded tracepoint call sites\n  spi: Use trace_call__##name() at guarded tracepoint call sites\n  i2c: Use trace_call__##name() at guarded tracepoint call sites\n  kernel: Use trace_call__##name() at guarded tracepoint call sites\n  tracepoint: Add trace_call__##name() API\n  tracing: trace_mmap.h: fix a kernel-doc warning\n  tracing: Pretty-print enum parameters in function arguments\n  ...\n"
    },
    {
      "commit": "c9e03d59483a64967850e6d321b7fc56a957ef83",
      "tree": "583d47e202f11d9d2b4a8881f3b81e3251881ba8",
      "parents": [
        "829000f7894bcb0bfedf5e2c91f277ae3ef72c40",
        "e0a384434ae1bdfb03954c46c464e3dbd3223ad6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 09:18:32 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 09:18:32 2026 -0700"
      },
      "message": "Merge tag \u0027probes-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace\n\nPull fprobe update from Masami Hiramatsu:\n\n - do not zero out unused fgraph_data. This removes unneeded memset of\n   fgraph_data in fprobe entry handler.\n\n* tag \u0027probes-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:\n  tracing: fprobe: do not zero out unused fgraph_data\n"
    },
    {
      "commit": "829000f7894bcb0bfedf5e2c91f277ae3ef72c40",
      "tree": "ea24b8e75b22150e04c8830210a36f961eb9d21d",
      "parents": [
        "d730905bc3c0075275b2d109cd971735274b98c0",
        "6eb255d019b810614c5cbd99b9ef281b7b9361e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 09:14:07 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 09:14:07 2026 -0700"
      },
      "message": "Merge tag \u0027bootconfig-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace\n\nPull bootconfig updates from Masami Hiramatsu:\n \"Minor fixes for handling errors:\n   - fix off-by-one in xbc_verify_tree() next node check\n   - increment xbc_node_num after node init succeeds\n   - validate child node index in xbc_verify_tree()\n\n  Code cleanups (mainly type/attribute changes):\n   - clean up comment typos and bracing\n   - drop redundant memset of xbc_nodes\n   - replace linux/kernel.h with specific includes\n   - narrow flag parameter type from uint32_t to uint16_t\n   - constify xbc_calc_checksum() data parameter\n   - fix signed comparison in xbc_node_get_data()\n   - use size_t for strlen result in xbc_node_match_prefix()\n   - use signed type for offset in xbc_init_node()\n   - use size_t for key length tracking in xbc_verify_tree()\n   - change xbc_node_index() return type to uint16_t\"\n\n* tag \u0027bootconfig-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:\n  lib/bootconfig: change xbc_node_index() return type to uint16_t\n  lib/bootconfig: use size_t for key length tracking in xbc_verify_tree()\n  lib/bootconfig: use signed type for offset in xbc_init_node()\n  lib/bootconfig: use size_t for strlen result in xbc_node_match_prefix()\n  lib/bootconfig: fix signed comparison in xbc_node_get_data()\n  lib/bootconfig: validate child node index in xbc_verify_tree()\n  lib/bootconfig: replace linux/kernel.h with specific includes\n  bootconfig: constify xbc_calc_checksum() data parameter\n  lib/bootconfig: drop redundant memset of xbc_nodes\n  lib/bootconfig: increment xbc_node_num after node init succeeds\n  lib/bootconfig: fix off-by-one in xbc_verify_tree() next node check\n  lib/bootconfig: narrow flag parameter type from uint32_t to uint16_t\n  lib/bootconfig: clean up comment typos and bracing\n"
    },
    {
      "commit": "d730905bc3c0075275b2d109cd971735274b98c0",
      "tree": "b7e06f8b9e345d401d653495745cefc9f918e284",
      "parents": [
        "a10e80be6343cbdaabe80f82cbd640fe3772d102",
        "15513eefac7ca68602e9de9853f5e671bf7b4eef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 08:53:23 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 08:53:23 2026 -0700"
      },
      "message": "Merge tag \u0027mips_7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux\n\nPull MIPS updates from Thomas Bogendoerfer:\n\n - Support for Mobileye EyeQ6Lplus\n\n - Cleanups and fixes\n\n* tag \u0027mips_7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (30 commits)\n  MIPS/mtd: Handle READY GPIO in generic NAND platform data\n  MIPS/input: Move RB532 button to GPIO descriptors\n  MIPS: validate DT bootargs before appending them\n  MIPS: Alchemy: Remove unused forward declaration\n  MAINTAINERS: Mobileye: Add EyeQ6Lplus files\n  MIPS: config: add eyeq6lplus_defconfig\n  MIPS: Add Mobileye EyeQ6Lplus evaluation board dts\n  MIPS: Add Mobileye EyeQ6Lplus SoC dtsi\n  clk: eyeq: Add Mobileye EyeQ6Lplus OLB\n  clk: eyeq: Adjust PLL accuracy computation\n  clk: eyeq: Skip post-divisor when computing PLL frequency\n  pinctrl: eyeq5: Add Mobileye EyeQ6Lplus OLB\n  pinctrl: eyeq5: Use match data\n  reset: eyeq: Add Mobileye EyeQ6Lplus OLB\n  MIPS: Add Mobileye EyeQ6Lplus support\n  dt-bindings: soc: mobileye: Add EyeQ6Lplus OLB\n  dt-bindings: mips: Add Mobileye EyeQ6Lplus SoC\n  MIPS: dts: loongson64g-package: Switch to Loongson UART driver\n  mips: pci-mt7620: rework initialization procedure\n  mips: pci-mt7620: add more register init values\n  ...\n"
    },
    {
      "commit": "a10e80be6343cbdaabe80f82cbd640fe3772d102",
      "tree": "a6d9fd3d5f96dfd01df0dd88753cdae52699c181",
      "parents": [
        "01f492e1817e858d1712f2489d0afbaa552f417b",
        "bd39fc81340aed5445c731eb391af9ac9a701658"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 08:34:43 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 08:34:43 2026 -0700"
      },
      "message": "Merge tag \u0027alpha-for-v7.1-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lindholm/alpha\n\nPull alpha updates from Magnus Lindholm:\n \"One fix to silence pgprot_modify() compiler warnings, and one patch\n  adding SECCOMP/SECCOMP_FILTER support together with the syscall and\n  ptrace fixes needed for it\"\n\n* tag \u0027alpha-for-v7.1-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lindholm/alpha:\n  alpha: Define pgprot_modify to silence tautological comparison warnings\n  alpha: add support for SECCOMP and SECCOMP_FILTER\n"
    },
    {
      "commit": "01f492e1817e858d1712f2489d0afbaa552f417b",
      "tree": "9ba6df223570acd45ccb2ba647407f75f4393eab",
      "parents": [
        "e55d98e7756135f32150b9b8f75d580d0d4b2dd3",
        "6b802031877a995456c528095c41d1948546bf45"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 07:18:03 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 07:18:03 2026 -0700"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull kvm updates from Paolo Bonzini:\n \"Arm:\n\n   - Add support for tracing in the standalone EL2 hypervisor code,\n     which should help both debugging and performance analysis. This\n     uses the new infrastructure for \u0027remote\u0027 trace buffers that can be\n     exposed by non-kernel entities such as firmware, and which came\n     through the tracing tree\n\n   - Add support for GICv5 Per Processor Interrupts (PPIs), as the\n     starting point for supporting the new GIC architecture in KVM\n\n   - Finally add support for pKVM protected guests, where pages are\n     unmapped from the host as they are faulted into the guest and can\n     be shared back from the guest using pKVM hypercalls. Protected\n     guests are created using a new machine type identifier. As the\n     elusive guestmem has not yet delivered on its promises, anonymous\n     memory is also supported\n\n     This is only a first step towards full isolation from the host; for\n     example, the CPU register state and DMA accesses are not yet\n     isolated. Because this does not really yet bring fully what it\n     promises, it is hidden behind CONFIG_ARM_PKVM_GUEST +\n     \u0027kvm-arm.mode\u003dprotected\u0027, and also triggers TAINT_USER when a VM is\n     created. Caveat emptor\n\n   - Rework the dreaded user_mem_abort() function to make it more\n     maintainable, reducing the amount of state being exposed to the\n     various helpers and rendering a substantial amount of state\n     immutable\n\n   - Expand the Stage-2 page table dumper to support NV shadow page\n     tables on a per-VM basis\n\n   - Tidy up the pKVM PSCI proxy code to be slightly less hard to\n     follow\n\n   - Fix both SPE and TRBE in non-VHE configurations so that they do not\n     generate spurious, out of context table walks that ultimately lead\n     to very bad HW lockups\n\n   - A small set of patches fixing the Stage-2 MMU freeing in error\n     cases\n\n   - Tighten-up accepted SMC immediate value to be only #0 for host\n     SMCCC calls\n\n   - The usual cleanups and other selftest churn\n\n  LoongArch:\n\n   - Use CSR_CRMD_PLV for kvm_arch_vcpu_in_kernel()\n\n   - Add DMSINTC irqchip in kernel support\n\n  RISC-V:\n\n   - Fix steal time shared memory alignment checks\n\n   - Fix vector context allocation leak\n\n   - Fix array out-of-bounds in pmu_ctr_read() and pmu_fw_ctr_read_hi()\n\n   - Fix double-free of sdata in kvm_pmu_clear_snapshot_area()\n\n   - Fix integer overflow in kvm_pmu_validate_counter_mask()\n\n   - Fix shift-out-of-bounds in make_xfence_request()\n\n   - Fix lost write protection on huge pages during dirty logging\n\n   - Split huge pages during fault handling for dirty logging\n\n   - Skip CSR restore if VCPU is reloaded on the same core\n\n   - Implement kvm_arch_has_default_irqchip() for KVM selftests\n\n   - Factored-out ISA checks into separate sources\n\n   - Added hideleg to struct kvm_vcpu_config\n\n   - Factored-out VCPU config into separate sources\n\n   - Support configuration of per-VM HGATP mode from KVM user space\n\n  s390:\n\n   - Support for ESA (31-bit) guests inside nested hypervisors\n\n   - Remove restriction on memslot alignment, which is not needed\n     anymore with the new gmap code\n\n   - Fix LPSW/E to update the bear (which of course is the breaking\n     event address register)\n\n  x86:\n\n   - Shut up various UBSAN warnings on reading module parameter before\n     they were initialized\n\n   - Don\u0027t zero-allocate page tables that are used for splitting\n     hugepages in the TDP MMU, as KVM is guaranteed to set all SPTEs in\n     the page table and thus write all bytes\n\n   - As an optimization, bail early when trying to unsync 4KiB mappings\n     if the target gfn can just be mapped with a 2MiB hugepage\n\n  x86 generic:\n\n   - Copy single-chunk MMIO write values into struct kvm_vcpu (more\n     precisely struct kvm_mmio_fragment) to fix use-after-free stack\n     bugs where KVM would dereference stack pointer after an exit to\n     userspace\n\n   - Clean up and comment the emulated MMIO code to try to make it\n     easier to maintain (not necessarily \"easy\", but \"easier\")\n\n   - Move VMXON+VMXOFF and EFER.SVME toggling out of KVM (not *all* of\n     VMX and SVM enabling) as it is needed for trusted I/O\n\n   - Advertise support for AVX512 Bit Matrix Multiply (BMM) instructions\n\n   - Immediately fail the build if a required #define is missing in one\n     of KVM\u0027s headers that is included multiple times\n\n   - Reject SET_GUEST_DEBUG with -EBUSY if there\u0027s an already injected\n     exception, mostly to prevent syzkaller from abusing the uAPI to\n     trigger WARNs, but also because it can help prevent userspace from\n     unintentionally crashing the VM\n\n   - Exempt SMM from CPUID faulting on Intel, as per the spec\n\n   - Misc hardening and cleanup changes\n\n  x86 (AMD):\n\n   - Fix and optimize IRQ window inhibit handling for AVIC; make it\n     per-vCPU so that KVM doesn\u0027t prematurely re-enable AVIC if multiple\n     vCPUs have to-be-injected IRQs\n\n   - Clean up and optimize the OSVW handling, avoiding a bug in which\n     KVM would overwrite state when enabling virtualization on multiple\n     CPUs in parallel. This should not be a problem because OSVW should\n     usually be the same for all CPUs\n\n   - Drop a WARN in KVM_MEMORY_ENCRYPT_REG_REGION where KVM complains\n     about a \"too large\" size based purely on user input\n\n   - Clean up and harden the pinning code for KVM_MEMORY_ENCRYPT_REG_REGION\n\n   - Disallow synchronizing a VMSA of an already-launched/encrypted\n     vCPU, as doing so for an SNP guest will crash the host due to an\n     RMP violation page fault\n\n   - Overhaul KVM\u0027s APIs for detecting SEV+ guests so that VM-scoped\n     queries are required to hold kvm-\u003elock, and enforce it by lockdep.\n     Fix various bugs where sev_guest() was not ensured to be stable for\n     the whole duration of a function or ioctl\n\n   - Convert a pile of kvm-\u003elock SEV code to guard()\n\n   - Play nicer with userspace that does not enable\n     KVM_CAP_EXCEPTION_PAYLOAD, for which KVM needs to set CR2 and DR6\n     as a response to ioctls such as KVM_GET_VCPU_EVENTS (even if the\n     payload would end up in EXITINFO2 rather than CR2, for example).\n     Only set CR2 and DR6 when consumption of the payload is imminent,\n     but on the other hand force delivery of the payload in all paths\n     where userspace retrieves CR2 or DR6\n\n   - Use vcpu-\u003earch.cr2 when updating vmcb12\u0027s CR2 on nested #VMEXIT\n     instead of vmcb02-\u003esave.cr2. The value is out of sync after a\n     save/restore or after a #PF is injected into L2\n\n   - Fix a class of nSVM bugs where some fields written by the CPU are\n     not synchronized from vmcb02 to cached vmcb12 after VMRUN, and so\n     are not up-to-date when saved by KVM_GET_NESTED_STATE\n\n   - Fix a class of bugs where the ordering between KVM_SET_NESTED_STATE\n     and KVM_SET_{S}REGS could cause vmcb02 to be incorrectly\n     initialized after save+restore\n\n   - Add a variety of missing nSVM consistency checks\n\n   - Fix several bugs where KVM failed to correctly update VMCB fields\n     on nested #VMEXIT\n\n   - Fix several bugs where KVM failed to correctly synthesize #UD or\n     #GP for SVM-related instructions\n\n   - Add support for save+restore of virtualized LBRs (on SVM)\n\n   - Refactor various helpers and macros to improve clarity and\n     (hopefully) make the code easier to maintain\n\n   - Aggressively sanitize fields when copying from vmcb12, to guard\n     against unintentionally allowing L1 to utilize yet-to-be-defined\n     features\n\n   - Fix several bugs where KVM botched rAX legality checks when\n     emulating SVM instructions. There are remaining issues in that KVM\n     doesn\u0027t handle size prefix overrides for 64-bit guests\n\n   - Fail emulation of VMRUN/VMLOAD/VMSAVE if mapping vmcb12 fails\n     instead of somewhat arbitrarily synthesizing #GP (i.e. don\u0027t double\n     down on AMD\u0027s architectural but sketchy behavior of generating #GP\n     for \"unsupported\" addresses)\n\n   - Cache all used vmcb12 fields to further harden against TOCTOU bugs\n\n  x86 (Intel):\n\n   - Drop obsolete branch hint prefixes from the VMX instruction macros\n\n   - Use ASM_INPUT_RM() in __vmcs_writel() to coerce clang into using a\n     register input when appropriate\n\n   - Code cleanups\n\n  guest_memfd:\n\n   - Don\u0027t mark guest_memfd folios as accessed, as guest_memfd doesn\u0027t\n     support reclaim, the memory is unevictable, and there is no storage\n     to write back to\n\n  LoongArch selftests:\n\n   - Add KVM PMU test cases\n\n  s390 selftests:\n\n   - Enable more memory selftests\n\n  x86 selftests:\n\n   - Add support for Hygon CPUs in KVM selftests\n\n   - Fix a bug in the MSR test where it would get false failures on\n     AMD/Hygon CPUs with exactly one of RDPID or RDTSCP\n\n   - Add an MADV_COLLAPSE testcase for guest_memfd as a regression test\n     for a bug where the kernel would attempt to collapse guest_memfd\n     folios against KVM\u0027s will\"\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (373 commits)\n  KVM: x86: use inlines instead of macros for is_sev_*guest\n  x86/virt: Treat SVM as unsupported when running as an SEV+ guest\n  KVM: SEV: Goto an existing error label if charging misc_cg for an ASID fails\n  KVM: SVM: Move lock-protected allocation of SEV ASID into a separate helper\n  KVM: SEV: use mutex guard in snp_handle_guest_req()\n  KVM: SEV: use mutex guard in sev_mem_enc_unregister_region()\n  KVM: SEV: use mutex guard in sev_mem_enc_ioctl()\n  KVM: SEV: use mutex guard in snp_launch_update()\n  KVM: SEV: Assert that kvm-\u003elock is held when querying SEV+ support\n  KVM: SEV: Document that checking for SEV+ guests when reclaiming memory is \"safe\"\n  KVM: SEV: Hide \"struct kvm_sev_info\" behind CONFIG_KVM_AMD_SEV\u003dy\n  KVM: SEV: WARN on unhandled VM type when initializing VM\n  KVM: LoongArch: selftests: Add PMU overflow interrupt test\n  KVM: LoongArch: selftests: Add basic PMU event counting test\n  KVM: LoongArch: selftests: Add cpucfg read/write helpers\n  LoongArch: KVM: Add DMSINTC inject msi to vCPU\n  LoongArch: KVM: Add DMSINTC device support\n  LoongArch: KVM: Make vcpu_is_preempted() as a macro rather than function\n  LoongArch: KVM: Move host CSR_GSTAT save and restore in context switch\n  LoongArch: KVM: Move host CSR_EENTRY save and restore in context switch\n  ...\n"
    },
    {
      "commit": "707610bcccbd0327530938e33f3f33211a640a4e",
      "tree": "2a315870e2a550f6445419c2f1a4271d78ff7dcf",
      "parents": [
        "1221365f55281349da4f4ba41c05b57cd15f5c28"
      ],
      "author": {
        "name": "Guangshuo Li",
        "email": "lgs201920130244@gmail.com",
        "time": "Thu Apr 16 01:05:15 2026 +0800"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Fri Apr 17 15:46:46 2026 +0200"
      },
      "message": "parisc: led: fix reference leak on failed device registration\n\nWhen platform_device_register() fails in startup_leds(), the embedded\nstruct device in platform_leds has already been initialized by\ndevice_initialize(), but the failure path only reports the error and\ndoes not drop the device reference for the current platform device:\n\n  startup_leds()\n    -\u003e platform_device_register(\u0026platform_leds)\n       -\u003e device_initialize(\u0026platform_leds.dev)\n       -\u003e setup_pdev_dma_masks(\u0026platform_leds)\n       -\u003e platform_device_add(\u0026platform_leds)\n\nThis leads to a reference leak when platform_device_register() fails.\nFix this by calling platform_device_put() after reporting the error.\n\nThe issue was identified by a static analysis tool I developed and\nconfirmed by manual review.\n\nFixes: 789e527adfc33 (\"parisc: led: Rewrite LED/LCD driver to utilizize Linux LED subsystem\")\nCc: stable@vger.kernel.org\nSigned-off-by: Guangshuo Li \u003clgs201920130244@gmail.com\u003e\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "1221365f55281349da4f4ba41c05b57cd15f5c28",
      "tree": "7cf8032792609e88901883b2adf1992eb367637b",
      "parents": [
        "3dce917902056ca7e46685f86f1f94b5953092e2"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Tue Apr 07 22:07:22 2026 +0200"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Fri Apr 17 15:46:46 2026 +0200"
      },
      "message": "module.lds.S: Fix modules on 32-bit parisc architecture\n\nOn the 32-bit parisc architecture, we always used the\n-ffunction-sections compiler option to tell the compiler to put the\nfunctions into seperate text sections. This is necessary, otherwise\n\"big\" kernel modules like ext4 or ipv6 fail to load because some\nbranches won\u0027t be able to reach their stubs.\n\nCommit 1ba9f8979426 (\"vmlinux.lds: Unify TEXT_MAIN, DATA_MAIN, and related\nmacros\") broke this for parisc because all text sections will get\nunconditionally merged now.\n\nIntroduce the ARCH_WANTS_MODULES_TEXT_SECTIONS config option which\navoids the text section merge for modules, and fix this issue by\nenabling this option by default for 32-bit parisc.\n\nFixes: 1ba9f8979426 (\"vmlinux.lds: Unify TEXT_MAIN, DATA_MAIN, and related macros\")\nCc: Josh Poimboeuf \u003cjpoimboe@kernel.org\u003e\nCc: stable@vger.kernel.org # v6.19+\nSuggested-by: Sami Tolvanen \u003csamitolvanen@google.com\u003e\nReviewed-by: Petr Pavlu \u003cpetr.pavlu@suse.com\u003e\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "3dce917902056ca7e46685f86f1f94b5953092e2",
      "tree": "f62d5e76d305b9e0309eee8d00cbc32723f6617b",
      "parents": [
        "ba56cdf133646565dde354433bb80fcbd459474b"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Wed Apr 08 18:19:01 2026 +0200"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Fri Apr 17 15:46:45 2026 +0200"
      },
      "message": "parisc: Allow to build without VDSO32\n\nWhen building for 64-bit and without CONFIG_COMPAT, leave out the\nvdso32 binary.\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "ba56cdf133646565dde354433bb80fcbd459474b",
      "tree": "0e557b69059a8475070b91ccf6f4763523ec758b",
      "parents": [
        "bc4021c4e992960f1b8902bd613630c1e8edf7e7"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Tue Apr 14 18:28:03 2026 +0200"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Fri Apr 17 15:46:45 2026 +0200"
      },
      "message": "parisc: Include 32-bit VDSO only when building for 32-bit or compat mode\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "bc4021c4e992960f1b8902bd613630c1e8edf7e7",
      "tree": "1535259c366e23ceca7586d834939045fddc4ceb",
      "parents": [
        "35493b28e71c3e7d376f98e58bb3c227511177c1"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Wed Apr 08 00:17:03 2026 +0200"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Fri Apr 17 15:46:45 2026 +0200"
      },
      "message": "parisc: Allow to disable COMPAT mode on 64-bit kernel\n\nAlthough we don\u0027t yet have a 64-bit userspace, allowing to disable\nthe compat mode should be possible.\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "35493b28e71c3e7d376f98e58bb3c227511177c1",
      "tree": "f925b565d412de59528cb3a4a20ea5e0643644e2",
      "parents": [
        "7dc9ee6e5e22722f219e4cdcab37e2476d6baaf6"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Wed Apr 08 00:15:39 2026 +0200"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Fri Apr 17 15:46:45 2026 +0200"
      },
      "message": "parisc: Fix default stack size when COMPAT\u003dn\n\nThe CONFIG_STACK_MAX_DEFAULT_SIZE_MB config option does not exist\nwhen CONFIG_COMPAT is disabled. Use default 1 GB stack in this case.\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "7dc9ee6e5e22722f219e4cdcab37e2476d6baaf6",
      "tree": "61ac2287d8fe9543cecf40cbb65010c8f1569269",
      "parents": [
        "b5d5faba0f774f3216d8d699e130b01021e79f6c"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Wed Apr 08 00:04:55 2026 +0200"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Fri Apr 17 15:46:45 2026 +0200"
      },
      "message": "parisc: Fix signal code to depend on CONFIG_COMPAT instead of CONFIG_64BIT\n\nThe signal handler code used CONFIG_64BIT to decide if compat handling\ncode should be compiled in. Fix it to use CONFIG_COMPAT instead.\nThis allows to disable CONFIG_COMPAT even when running a 64-bit kernel.\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "b5d5faba0f774f3216d8d699e130b01021e79f6c",
      "tree": "a94ef72c718049bd5a2e36d9f3ee35e099a57948",
      "parents": [
        "97bfda452054ae0c20ab5318337e9b95ed32f616"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Wed Apr 08 00:03:41 2026 +0200"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Fri Apr 17 15:46:45 2026 +0200"
      },
      "message": "parisc: is_compat_task() shall return false for COMPAT\u003dn\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "97bfda452054ae0c20ab5318337e9b95ed32f616",
      "tree": "7674cd8292ce53e7f2dbd78d44af17918e108645",
      "parents": [
        "da3680f564bd787ce974f9931e6e924d908b3b2a"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Wed Apr 08 00:01:28 2026 +0200"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Fri Apr 17 15:46:45 2026 +0200"
      },
      "message": "parisc: Avoid compat syscalls when COMPAT\u003dn\n\nDrop unnecessary code and syscall tables when we run a 64-bit\nkernel with conpat mode disabled.\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "e55d98e7756135f32150b9b8f75d580d0d4b2dd3",
      "tree": "237ff6781f15dcaf2047a7868a2088b29058312a",
      "parents": [
        "43cfbdda5af60ffc6272a7b8c5c37d1d0a181ca9"
      ],
      "author": {
        "name": "Borislav Petkov (AMD)",
        "email": "bp@alien8.de",
        "time": "Tue Apr 07 11:40:03 2026 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 06:04:42 2026 -0700"
      },
      "message": "x86/CPU: Fix FPDSS on Zen1\n\nZen1\u0027s hardware divider can leave, under certain circumstances, partial\nresults from previous operations.  Those results can be leaked by\nanother, attacker thread.\n\nFix that with a chicken bit.\n\nSigned-off-by: Borislav Petkov (AMD) \u003cbp@alien8.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "75c486cb1bcaa1a3ec3a6438498176a3a4998ae4",
      "tree": "0622025e00c0ad031c1252032936a028463f525a",
      "parents": [
        "91eb7ec7261254b6875909df767185838598e21e"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "corey@minyard.net",
        "time": "Mon Apr 13 08:00:23 2026 -0500"
      },
      "committer": {
        "name": "Corey Minyard",
        "email": "corey@minyard.net",
        "time": "Fri Apr 17 06:47:40 2026 -0500"
      },
      "message": "ipmi:ssif: Clean up kthread on errors\n\nIf an error occurs after the ssif kthread is created, but before the\nmain IPMI code starts the ssif interface, the ssif kthread will not\nbe stopped.\n\nSo make sure the kthread is stopped on an error condition if it is\nrunning.\n\nFixes: 259307074bfc (\"ipmi: Add SMBus interface driver (SSIF)\")\nReported-by: Li Xiao \u003c\u003c252270051@hdu.edu.cn\u003e\nCc: stable@vger.kernel.org\nReviewed-by: Li Xiao \u003c252270051@hdu.edu.cn\u003e\nSigned-off-by: Corey Minyard \u003ccorey@minyard.net\u003e\n"
    },
    {
      "commit": "da3680f564bd787ce974f9931e6e924d908b3b2a",
      "tree": "25ecd2b2279d11cd0d0997d54684de7c598584f6",
      "parents": [
        "3dd31a370c1dccb580f729af7c580ccb1ae3c0c9"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Tue Apr 07 23:56:28 2026 +0200"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Fri Apr 17 11:32:46 2026 +0200"
      },
      "message": "parisc: _llseek syscall is only available for 32-bit userspace\n\nCc: stable@vger.kernel.org\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "3dd31a370c1dccb580f729af7c580ccb1ae3c0c9",
      "tree": "6b52a919066f2f63627dcb873f539bfcf92321c8",
      "parents": [
        "0b6c8e21157fb6dfa35163fdfe5c10387bcc6c41"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Fri Apr 10 16:12:31 2026 +0200"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Fri Apr 17 11:32:46 2026 +0200"
      },
      "message": "parisc: Drop ip_fast_csum() inline assembly implementation\n\nThe assembly code of ip_fast_csum() triggers unaligned access warnings\nif the IP header isn\u0027t correctly aligned:\n\n Kernel: unaligned access to 0x173d22e76 in inet_gro_receive+0xbc/0x2e8 (iir 0x0e8810b6)\n Kernel: unaligned access to 0x173d22e7e in inet_gro_receive+0xc4/0x2e8 (iir 0x0e88109a)\n Kernel: unaligned access to 0x173d22e82 in inet_gro_receive+0xc8/0x2e8 (iir 0x0e90109d)\n Kernel: unaligned access to 0x173d22e7a in inet_gro_receive+0xd0/0x2e8 (iir 0x0e9810b8)\n Kernel: unaligned access to 0x173d22e86 in inet_gro_receive+0xdc/0x2e8 (iir 0x0e8810b8)\n\nWe have the option to a) ignore the warnings, b) work around it by\nadding more code to check for alignment, or c) to switch to the generic\nimplementation and rely on the compiler to optimize the code.\n\nLet\u0027s go with c), because a) isn\u0027t nice, and b) would effectively lead\nto an implementation which is basically equal to c).\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nCc: stable@vger.kernel.org # v7.0+\n"
    },
    {
      "commit": "0b6c8e21157fb6dfa35163fdfe5c10387bcc6c41",
      "tree": "d12e1f120e2a901845f1c7ecf38267a05ae60be4",
      "parents": [
        "43cfbdda5af60ffc6272a7b8c5c37d1d0a181ca9"
      ],
      "author": {
        "name": "Kexin Sun",
        "email": "kexinsun@smail.nju.edu.cn",
        "time": "Sat Mar 21 18:58:31 2026 +0800"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Fri Apr 17 11:32:46 2026 +0200"
      },
      "message": "parisc: update outdated comments for renamed ccio_alloc_consistent()\n\nThe function ccio_alloc_consistent() was renamed to ccio_alloc() by commit\n79387179e2e4 (\"parisc: convert to dma_map_ops\").  Update the three stale\nreferences in ccio-dma.c.\n\nAlso replace the obsolete PCI_DMA_TODEVICE constant name with DMA_TO_DEVICE in\na nearby comment to match the code.\n\nAssisted-by: unnamed:deepseek-v3.2 coccinelle\nSigned-off-by: Kexin Sun \u003ckexinsun@smail.nju.edu.cn\u003e\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "43cfbdda5af60ffc6272a7b8c5c37d1d0a181ca9",
      "tree": "31a383b5a33abead3f5115965d296a217d633c28",
      "parents": [
        "87fe97a184c000a3941e2b53671742993abb1ddc",
        "8602018b1f17fbdaa5e5d79f4c8603ad20640c12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 21:21:55 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 21:21:55 2026 -0700"
      },
      "message": "Merge tag \u0027for-linus-iommufd\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd\n\nPull iommufd updates from Jason Gunthorpe:\n \"Several fixes:\n\n   - Add missing static const\n\n   - Correct type 1 emulation for VFIO_CHECK_EXTENSION when no-iommu is\n     turned on\n\n   - Fix selftest memory leak and syzkaller splat\n\n   - Fix missed -EFAULT in fault reporting write() fops\n\n   - Fix a race where map/unmap with the internal IOVA allocator can\n     unmap things it should not\"\n\n* tag \u0027for-linus-iommufd\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd:\n  iommufd: Fix a race with concurrent allocation and unmap\n  iommufd/selftest: Remove MOCK_IOMMUPT_AMDV1 format\n  iommufd: Fix return value of iommufd_fault_fops_write()\n  iommufd: update outdated comment for renamed iommufd_hw_pagetable_alloc()\n  iommufd/selftest: Fix page leaks in mock_viommu_{init,destroy}\n  iommufd: vfio compatibility extension check for noiommu mode\n  iommufd: Constify struct dma_buf_attach_ops\n"
    },
    {
      "commit": "87fe97a184c000a3941e2b53671742993abb1ddc",
      "tree": "20856c2d2eec316b6eb472f2b9cbf30612d5e809",
      "parents": [
        "8242c709d4ba858c483ef7ef3cc2dc1280f5383c",
        "a55f80233f384dc89ef3425b2e1dd0e6d44bcf29"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 21:15:56 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 21:15:56 2026 -0700"
      },
      "message": "Merge tag \u0027for-linus-fwctl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/fwctl/fwctl\n\nPull fwctl updates from Jason Gunthorpe:\n\n - New fwctl driver for Broadcom RDMA NICs\n\n - Bug fix for non-modular builds\n\n* tag \u0027for-linus-fwctl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/fwctl/fwctl:\n  fwctl: Fix class init ordering to avoid NULL pointer dereference on device removal\n  fwctl/bnxt_fwctl: Add documentation entries\n  fwctl/bnxt_fwctl: Add bnxt fwctl device\n  fwctl/bnxt_en: Create an aux device for fwctl\n  fwctl/bnxt_en: Refactor aux bus functions to be more generic\n  fwctl/bnxt_en: Move common definitions to include/linux/bnxt/\n"
    },
    {
      "commit": "8242c709d4ba858c483ef7ef3cc2dc1280f5383c",
      "tree": "6cd9bdc3dc80ff0f845d3e494b9d454a93a84118",
      "parents": [
        "231d703058b2e2ee59884c8531e02c60a2a109ab",
        "3ef628c3f37f1dcef0da51e73ad6e458ec74bddb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 20:45:14 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 20:45:14 2026 -0700"
      },
      "message": "Merge tag \u0027soc-arm-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc\n\nPull SoC ARM code updates from Arnd Bergmann:\n \"These are again very minimal updates:\n\n   - A workaround for firmware on Google Nexus 10\n\n   - A fix for early debugging on OMAP1\n\n   - A rework for Microchip SoC configuration\n\n   - Cleanups on OMAP2 an R-Car-Gen2\"\n\n* tag \u0027soc-arm-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:\n  ARM: omap2: dead code cleanup in kconfig for ARCH_OMAP4\n  ARM: OMAP1: Fix DEBUG_LL and earlyprintk on OMAP16XX\n  arm64: Kconfig: provide a top-level switch for Microchip platforms\n  ARM: shmobile: rcar-gen2: Use of_phandle_args_equal() helper\n  ARM: omap: fix all kernel-doc warnings\n  ARM: omap2: Replace scnprintf with strscpy in omap3_cpuinfo\n  ARM: samsung: exynos5250: Allow CPU1 to boot\n"
    },
    {
      "commit": "231d703058b2e2ee59884c8531e02c60a2a109ab",
      "tree": "00635fbe76651fef0fa606137ffebfff9077cf55",
      "parents": [
        "31b43c079f9aa55754c20404a42bca9a49e01f60",
        "07e1a498ee9a9e715208c06b39edd8f7d22f3b50"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 20:40:20 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 20:40:20 2026 -0700"
      },
      "message": "Merge tag \u0027soc-defconfig-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc\n\nPull SoC defconfig updates from Arnd Bergmann:\n \"As usual, we enable a number of additional device drivers as loadable\n  modules, to support the added platforms. The largest change this time\n  is for OMAP2/3, which were not that well supported in the generic\n  arm32 defconfig.\n\n  The Tegra SoC platforms are now enabled by default in Kconfig when\n  ARCH_TEGRA is enabled, which means the defconfig change is done at the\n  same time as the Kconfig change here\"\n\n* tag \u0027soc-defconfig-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (25 commits)\n  arch/arm: Drop CONFIG_FIRMWARE_EDID from defconfig files\n  arm64: defconfig: Enable DP83TG720 PHY driver\n  arm64: tegra: defconfig: Drop redundant ARCH_TEGRA_foo_SOC\n  ARM: tegra: defconfig: Drop redundant ARCH_TEGRA_foo_SOC\n  arm64: defconfig: enable pci-pwrctrl-generic as module\n  arm64: defconfig: Enable Lontium LT8713sx driver\n  arm64: defconfig: Enable Qualcomm Eliza SoC display clock controller\n  arm64: defconfig: enable IPQ5210 RDP504 base configs\n  arm64: defconfig: Enable Milos LPASS LPI pinctrl driver\n  arm64: defconfig: Enable Kaanapali clock controllers\n  arm64: defconfig: Enable configs for Arduino VENTUNO Q\n  arm64: defconfig: Enable Qualcomm Eliza basic resource providers\n  arm64: defconfig: Enable S5KJN1 camera sensor\n  arm64: defconfig: Enable configurations for Toradex Aquila AM69\n  arm64: defconfig: remove SENSORS_SA67MCU\n  arm64: defconfig: Enable Qualcomm WCD937x headphone codec as module\n  arm64: defconfig: Enable QCOMTEE module for QTEE-enabled Qualcomm SoCs\n  ARM: shmobile: defconfig: Refresh for v7.0-rc1\n  arm: multi_v7_defconfig: Enable more OMAP 3/4 related configs\n  ARM: multi_v7_defconfig: omap2plus_defconfig: Enable ITE IT66121 driver\n  ...\n"
    },
    {
      "commit": "31b43c079f9aa55754c20404a42bca9a49e01f60",
      "tree": "5c05933f3546f52ff9adab5c10a65599e6b62293",
      "parents": [
        "e65f4718a577fcc84d40431f022985898b6dbf2e",
        "33a20cdaf41d08a66581cc01a60c1a3d596ba9cd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 20:34:34 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 20:34:34 2026 -0700"
      },
      "message": "Merge tag \u0027soc-drivers-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc\n\nPull SoC driver updates from Arnd Bergmann:\n \"The driver updates again are all over the place with many minor fixes\n  going into platform specific code. The most notable changes are:\n\n   - Support for Microchip pic64gx system controllers\n   - Work on cleaning up devicetree bindings for SoC drivers, and\n     converting them into the new format\n   - Lots of smaller changes for Qualcomm SoC drivers, including support\n     for a number of newly supported chips\n   - reset controller API cleanups and a new driver for Cix Sky1\n   - Reworks of the Tegra PMC and CBB drivers, along with a change to\n     how individual Tegra SoCs get selected in Kconfig and BPMP firmware\n     driver updates including a refresh of the ABI header to match the\n     version used by firmware\n   - STM32 updates to the firewall bus driver and support for the debug\n     bus through OP-TEE\n   - SCMI firmware driver improvements for reliability, in particular\n     for dealing with broken firmware interrupts\n   - Memory driver updates for Tegra, and a patch to remove the unused\n     Baikal T1 driver\"\n\n* tag \u0027soc-drivers-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (193 commits)\n  firmware: arm_ffa: Use the correct buffer size during RXTX_MAP\n  firmware: qcom: scm: Allow QSEECOM on Lenovo IdeaCentre Mini X\n  clk: spear: fix resource leak in clk_register_vco_pll()\n  reset: rzv2h-usb2phy: Add support for VBUS mux controller registration\n  reset: rzv2h-usb2phy: Convert to regmap API\n  dt-bindings: reset: renesas,rzv2h-usb2phy: Document RZ/G3E USB2PHY reset\n  dt-bindings: reset: renesas,rzv2h-usb2phy: Add \u0027#mux-state-cells\u0027 property\n  soc: microchip: add mpfs gpio interrupt mux driver\n  dt-bindings: soc: microchip: document PolarFire SoC\u0027s gpio interrupt mux\n  gpio: mpfs: Add interrupt support\n  soc: qcom: ubwc: add helpers to get programmable values\n  soc: qcom: ubwc: add helper to get min_acc length\n  firmware: qcom: scm: Register gunyah watchdog device\n  soc: qcom: socinfo: Add SoC ID for SA8650P\n  dt-bindings: arm: qcom,ids: Add SoC ID for SA8650P\n  firmware: qcom: scm: Allow QSEECOM on Mahua CRD\n  soc: qcom: wcnss: simplify allocation of req\n  soc: qcom: pd-mapper: Add support for Eliza\n  soc: qcom: aoss: compare against normalized cooling state\n  soc: qcom: llcc: fix v1 SB syndrome register offset\n  ...\n"
    },
    {
      "commit": "e65f4718a577fcc84d40431f022985898b6dbf2e",
      "tree": "dc322cc4038f78744523431b95e6ce8a8c5e0609",
      "parents": [
        "440d6635b20037bc9ad46b20817d7b61cef0fc1b",
        "41d7004ab4e521ccbd98793d7da55022796c463f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 20:28:48 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 20:28:48 2026 -0700"
      },
      "message": "Merge tag \u0027soc-dt-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc\n\nPull SoC devicetree updates from Arnd Bergmann:\n \"A number of SoC platforms are adding modernized variants of their\n  already supported chips time, with a total of 12 new SoCs, and two\n  older SoC getting removed:\n\n   - Qualcomm Glymur is a compute SoC using 18 Oryon-2 CPU cores\n   - Qualcomm Mahua is a variant of Glymur with only 12 CPU cores, but\n     largely identical.\n   - Qualcomm Eliza is an embeded platform for mobile phone (SM7750) and\n     IOT (QC7790S/M) workloads\n   - Qualcomm IPQ5210 is a wireless networking SoC using Cortex-A53\n     cores\n   - Qualcomm apq8084 and ipq806x had only rudimentary support but no\n     actual products using them, so they are now gone.\n   - Axis ARTPEC-9 is a follow-up to the ARTPEC-8 embedded SoC, using\n     the Samsung SoC platform but now with Cortex-A55 cores\n   - ARM Zena is a virtual platform in FVP using Cortex-A720AE cores,\n     with additional versions planned to be merged in the future.\n   - ARM corstone-1000-a320 is a reference platform for IOT, using\n     low-end Cortex-A320 cores\n   - Microchip LAN9691 is an updated 64-bit variant of the arm32 lan966x\n     series of networking SoCs\n   - Microchip PIC64GX is an embedded RISC-V chip using SIFIVE U54 CPU\n     cores\n   - Rockchip RV1103B is the low-end 32-bit single-core vision processor\n   - Renesas RZ/G3L (r9a08g046) is an industrial embedded chip using\n     Cortex-A55 cores, similar to the G3E and G3S variants we already\n     supported.\n   - NXP S32N79 is an automotive SoC using Cortex-A78AE cores, a\n     significant upgrade from the older S32V and S32G series\n\n  These all come with at least one reference board or an initial product\n  using these, in total there are 67 newly added boards. The ones for\n  already supported SoCs are:\n\n   - Two more Aspeed BMC based boards\n   - Three older tablets based on 32-bit OMAP4 and Exynos5 SoCs\n   - One Set-top-box based on Allwinner H6\n   - 22 additional industrial/embedded boards using 64-bit NXP i.MX8M or\n     i.MX9 SoCs\n   - 20 Qualcomm SoC based machines across all possible markets:\n     workstation, gaming, laptop, phone, networking, reference, ...\n   - Three more Rockchips rk35xx based boards\n   - Four variants of the Toradex Verdin using TI AM62\n\n  Other notable bits are:\n\n   - A cleanup for the 32-bit Tegra paz00 board moved the last board\n     specific code on Tegra into equivalent dts syntax.\n   - There continues to be a significant number of fixes for static\n     checking of dtc syntax, but it feels like this is slowing down,\n     hopefully getting into a state where most known issues are\n     addressed\n   - Additional hardware support for many existing boards across SoC\n     families, notably Qualcomm, Broadcom, i.MX2, i.MX6, Rockchips,\n     STM32, Mediatek, Tegra, TI and Microchip\"\n\n* tag \u0027soc-dt-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (841 commits)\n  arm64: dts: ti: k3: Use memory-region-names for r5f\n  ARM: dts: imx: Add DT overlays for DH i.MX6 DHCOM SoM and boards\n  ARM: dts: imx6sx: remove fallback compatible string fsl,imx28-lcdif\n  ARM: dts: imx25: rename node name tcq to touchscreen\n  ARM: dts: imx: b850v3: Disable unused usdhc4\n  ARM: dts: imx: b850v3: Define GPIO line names\n  ARM: dts: imx: b850v3: Use alphabetical sorting\n  ARM: dts: imx: bx50v3: Configure phy-mode to eliminate a warning\n  ARM: dts: imx: bx50v3: Configure switch PHY max-speed to 100Mbps\n  ARM: dts: imx7ulp: Add CPU clock and OPP table support\n  ARM: dts: imx7-mba7: Deassert BOOT_EN after boot\n  ARM: dts: tqma7: add boot phase properties\n  ARM: dts: imx7s: add boot phase properties\n  ARM: dts: tqma6ul[l]: correct spelling of TQ-Systems\n  ARM: dts: mba6ulx: add boot phase properties\n  ARM: dts: imx6ul[l]-tqma6ul[l]: add boot phase properties\n  ARM: dts: imx6ul/imx6ull: add boot phase properties\n  ARM: dts: imx6qdl-mba6: add boot phase properties\n  ARM: dts: imx6qdl-tqma6: add boot phase properties\n  ARM: dts: imx6qdl: add boot phase properties\n  ...\n"
    },
    {
      "commit": "440d6635b20037bc9ad46b20817d7b61cef0fc1b",
      "tree": "1a5e8962ae974aff248dbf594ae39f237b6c637f",
      "parents": [
        "0b2f2b1fc0c61e602a6babf580b91f895b0ea80a",
        "70b672833f4025341c11b22c7f83778a5cd611bc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 20:11:56 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 20:11:56 2026 -0700"
      },
      "message": "Merge tag \u0027mm-nonmm-stable-2026-04-15-04-20\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm\n\nPull non-MM updates from Andrew Morton:\n\n - \"pid: make sub-init creation retryable\" (Oleg Nesterov)\n\n   Make creation of init in a new namespace more robust by clearing away\n   some historical cruft which is no longer needed. Also some\n   documentation fixups\n\n - \"selftests/fchmodat2: Error handling and general\" (Mark Brown)\n\n   Fix and a cleanup for the fchmodat2() syscall selftest\n\n - \"lib: polynomial: Move to math/ and clean up\" (Andy Shevchenko)\n\n - \"hung_task: Provide runtime reset interface for hung task detector\"\n   (Aaron Tomlin)\n\n   Give administrators the ability to zero out\n   /proc/sys/kernel/hung_task_detect_count\n\n - \"tools/getdelays: use the static UAPI headers from\n   tools/include/uapi\" (Thomas Weißschuh)\n\n   Teach getdelays to use the in-kernel UAPI headers rather than the\n   system-provided ones\n\n - \"watchdog/hardlockup: Improvements to hardlockup\" (Mayank Rungta)\n\n   Several cleanups and fixups to the hardlockup detector code and its\n   documentation\n\n - \"lib/bch: fix undefined behavior from signed left-shifts\" (Josh Law)\n\n   A couple of small/theoretical fixes in the bch code\n\n - \"ocfs2/dlm: fix two bugs in dlm_match_regions()\" (Junrui Luo)\n\n - \"cleanup the RAID5 XOR library\" (Christoph Hellwig)\n\n   A quite far-reaching cleanup to this code. I can\u0027t do better than to\n   quote Christoph:\n\n     \"The XOR library used for the RAID5 parity is a bit of a mess right\n      now. The main file sits in crypto/ despite not being cryptography\n      and not using the crypto API, with the generic implementations\n      sitting in include/asm-generic and the arch implementations\n      sitting in an asm/ header in theory. The latter doesn\u0027t work for\n      many cases, so architectures often build the code directly into\n      the core kernel, or create another module for the architecture\n      code.\n\n      Change this to a single module in lib/ that also contains the\n      architecture optimizations, similar to the library work Eric\n      Biggers has done for the CRC and crypto libraries later. After\n      that it changes to better calling conventions that allow for\n      smarter architecture implementations (although none is contained\n      here yet), and uses static_call to avoid indirection function call\n      overhead\"\n\n - \"lib/list_sort: Clean up list_sort() scheduling workarounds\"\n   (Kuan-Wei Chiu)\n\n   Clean up this library code by removing a hacky thing which was added\n   for UBIFS, which UBIFS doesn\u0027t actually need\n\n - \"Fix bugs in extract_iter_to_sg()\" (Christian Ehrhardt)\n\n   Fix a few bugs in the scatterlist code, add in-kernel tests for the\n   now-fixed bugs and fix a leak in the test itself\n\n - \"kdump: Enable LUKS-encrypted dump target support in ARM64 and\n   PowerPC\" (Coiby Xu)\n\n   Enable support of the LUKS-encrypted device dump target on arm64 and\n   powerpc\n\n - \"ocfs2: consolidate extent list validation into block read callbacks\"\n   (Joseph Qi)\n\n   Cleanup, simplify, and make more robust ocfs2\u0027s validation of extent\n   list fields (Kernel test robot loves mounting corrupted fs images!)\n\n* tag \u0027mm-nonmm-stable-2026-04-15-04-20\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (127 commits)\n  ocfs2: validate group add input before caching\n  ocfs2: validate bg_bits during freefrag scan\n  ocfs2: fix listxattr handling when the buffer is full\n  doc: watchdog: fix typos etc\n  update Sean\u0027s email address\n  ocfs2: use get_random_u32() where appropriate\n  ocfs2: split transactions in dio completion to avoid credit exhaustion\n  ocfs2: remove redundant l_next_free_rec check in __ocfs2_find_path()\n  ocfs2: validate extent block list fields during block read\n  ocfs2: remove empty extent list check in ocfs2_dx_dir_lookup_rec()\n  ocfs2: validate dx_root extent list fields during block read\n  ocfs2: fix use-after-free in ocfs2_fault() when VM_FAULT_RETRY\n  ocfs2: handle invalid dinode in ocfs2_group_extend\n  .get_maintainer.ignore: add Askar\n  ocfs2: validate bg_list extent bounds in discontig groups\n  checkpatch: exclude forward declarations of const structs\n  tools/accounting: handle truncated taskstats netlink messages\n  taskstats: set version in TGID exit notifications\n  ocfs2/heartbeat: fix slot mapping rollback leaks on error paths\n  arm64,ppc64le/kdump: pass dm-crypt keys to kdump kernel\n  ...\n"
    },
    {
      "commit": "0b2f2b1fc0c61e602a6babf580b91f895b0ea80a",
      "tree": "742824bbde803f933a06fb516c6720d9a2bdeff2",
      "parents": [
        "3cd8b194bf3428dfa53120fee47e827a7c495815",
        "c09fb907a2822864b7da866461fb33f10713b4ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 19:14:55 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 19:14:55 2026 -0700"
      },
      "message": "Merge tag \u0027v7.1-rc1-part2-smb3-client-fixes\u0027 of git://git.samba.org/sfrench/cifs-2.6\n\nPull smb client updates from Steve French:\n\n - Fix integer underflow in encrypted read\n\n - Four debug patches, adding a few tracepoints\n\n - Minor update to MAINTAINERS file (preferred server URL for cifs)\n\n - Remove the BUG_ON() calls in d_mark_tmpfile_name\n\n* tag \u0027v7.1-rc1-part2-smb3-client-fixes\u0027 of git://git.samba.org/sfrench/cifs-2.6:\n  MAINTAINERS: change git.samba.org to https\n  smb: client: fix integer underflow in receive_encrypted_read()\n  smb: client: add tracepoints for deferred handle caching\n  smb: client: add oplock level to smb3_open_done tracepoint\n  smb: client: add tracepoint for local lock conflicts\n  smb: client: add tracepoints for lock operations\n  vfs: get rid of BUG_ON() in d_mark_tmpfile_name()\n"
    },
    {
      "commit": "380044c40b1636a72fd8f188b5806be6ae564279",
      "tree": "2e5cfd342200167af6102f5036e9560e8db34b0c",
      "parents": [
        "d6f5841a4f291188e0bae21a47c6e540fd937aa8"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@kernel.org",
        "time": "Thu Apr 16 12:00:34 2026 +0200"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 16:00:10 2026 -0700"
      },
      "message": "libbpf: Prevent double close and leak of btf objects\n\nSashiko found possible double close of btf object fd [1],\nwhich happens when strdup in load_module_btfs fails at which\npoint the obj-\u003ebtf_module_cnt is already incremented.\n\nThe error path close btf fd and so does later cleanup code in\nbpf_object_post_load_cleanup function.\n\nAlso libbpf_ensure_mem failure leaves btf object not assigned\nand it\u0027s leaked.\n\nReplacing the err_out label with break to make the error path\nless confusing as suggested by Alan.\n\nIncrementing obj-\u003ebtf_module_cnt only if there\u0027s no failure\nand releasing btf object in error path.\n\nFixes: 91abb4a6d79d (\"libbpf: Support attachment of BPF tracing programs to kernel modules\")\n[1] https://sashiko.dev/#/patchset/20260324081846.2334094-1-jolsa%40kernel.org\nSigned-off-by: Jiri Olsa \u003cjolsa@kernel.org\u003e\nLink: https://lore.kernel.org/r/20260416100034.1610852-1-jolsa@kernel.org\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n\n"
    },
    {
      "commit": "d6f5841a4f291188e0bae21a47c6e540fd937aa8",
      "tree": "e3e0ca23f368a61a4f9d7497c98b78cb4019356b",
      "parents": [
        "766bf026d0da242a329b402c436c8e4cfa2008d8",
        "4198ff31edb193cb11955338ee923d9f842a4fce"
      ],
      "author": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 15:53:32 2026 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 15:53:32 2026 -0700"
      },
      "message": "Merge branch \u0027bpf-allow-utf-8-literals-in-bpf_bprintf_prepare\u0027\n\nYihan Ding says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nbpf: allow UTF-8 literals in bpf_bprintf_prepare()\n\nbpf_bprintf_prepare() currently rejects any non-ASCII byte in format\nstrings, so helpers such as bpf_trace_printk() fail to emit UTF-8\nliteral text even when those bytes are not part of a format specifier.\n\nKeep plain text permissive while continuing to parse \u0027%\u0027 sequences as\nASCII-only. Patch 1 updates snprintf_negative() at the same time so the\nselftests stay consistent during bisection. Patch 2 then extends\ntrace_printk coverage for both the valid UTF-8 literal case and the\ninvalid non-ASCII-after-\u0027%\u0027 case.\n\nChanges in v3:\n- drop Suggested-by trailers and move review credit into this changelog\n- update test_snprintf_negative() in patch 1/2 so plain non-ASCII text is\n  accepted while non-ASCII after \u0027%\u0027 is still rejected, keeping\n  ./test_progs -t snprintf aligned with the new behavior.\n- clarify the trace_printk negative case with an explicit invalid format\n  string and comment\n- address Paul Chaignon\u0027s review feedback and keep the negative coverage\n  requested earlier by Alan Maguire\n\nChanges in v2:\n- split the core change and selftest updates into two patches\n- drop unnecessary isspace()/ispunct() casts\n- add comments to clarify plain-text vs format-specifier handling\n- add a negative selftest for non-ASCII bytes inside \u0027%\u0027 sequences\n\nTesting:\n- Reproduced on x86_64 without the core fix: ASCII trace output works,\n  while UTF-8 literal text in bpf_trace_printk() is rejected and\n  produces no trace output\n- Verified with tools/testing/selftests/bpf: ./test_progs -t trace_printk\n- Verified with tools/testing/selftests/bpf: ./test_progs -t snprintf\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nLink: https://patch.msgid.link/20260416120142.1420646-1-dingyihan@uniontech.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "4198ff31edb193cb11955338ee923d9f842a4fce",
      "tree": "e3e0ca23f368a61a4f9d7497c98b78cb4019356b",
      "parents": [
        "b960430ea8862ef37ce53c8bf74a8dc79d3f2404"
      ],
      "author": {
        "name": "Yihan Ding",
        "email": "dingyihan@uniontech.com",
        "time": "Thu Apr 16 20:01:42 2026 +0800"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 15:53:32 2026 -0700"
      },
      "message": "selftests/bpf: cover UTF-8 trace_printk output\n\nExtend trace_printk coverage to verify that UTF-8 literal text is\nemitted successfully and that \u0027%\u0027 parsing still rejects non-ASCII\nbytes once format parsing starts.\n\nUse an explicitly invalid format string for the negative case so the\nASCII-only parser expectation is visible from the test code itself.\n\nSigned-off-by: Yihan Ding \u003cdingyihan@uniontech.com\u003e\nAcked-by: Paul Chaignon \u003cpaul.chaignon@gmail.com\u003e\nLink: https://lore.kernel.org/r/20260416120142.1420646-3-dingyihan@uniontech.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n\n"
    },
    {
      "commit": "b960430ea8862ef37ce53c8bf74a8dc79d3f2404",
      "tree": "4a590bcf0ca967d54d750615f96f3f49f62aa846",
      "parents": [
        "766bf026d0da242a329b402c436c8e4cfa2008d8"
      ],
      "author": {
        "name": "Yihan Ding",
        "email": "dingyihan@uniontech.com",
        "time": "Thu Apr 16 20:01:41 2026 +0800"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 15:53:32 2026 -0700"
      },
      "message": "bpf: allow UTF-8 literals in bpf_bprintf_prepare()\n\nbpf_bprintf_prepare() only needs ASCII parsing for conversion\nspecifiers. Plain text can safely carry bytes \u003e\u003d 0x80, so allow\nUTF-8 literals outside \u0027%\u0027 sequences while keeping ASCII control\nbytes rejected and format specifiers ASCII-only.\n\nThis keeps existing parsing rules for format directives unchanged,\nwhile allowing helpers such as bpf_trace_printk() to emit UTF-8\nliteral text.\n\nUpdate test_snprintf_negative() in the same commit so selftests keep\nmatching the new plain-text vs format-specifier split during bisection.\n\nFixes: 48cac3f4a96d (\"bpf: Implement formatted output helpers with bstr_printf\")\nSigned-off-by: Yihan Ding \u003cdingyihan@uniontech.com\u003e\nAcked-by: Paul Chaignon \u003cpaul.chaignon@gmail.com\u003e\nLink: https://lore.kernel.org/r/20260416120142.1420646-2-dingyihan@uniontech.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n\n"
    },
    {
      "commit": "766bf026d0da242a329b402c436c8e4cfa2008d8",
      "tree": "ca17da98c05eba692344987c6712f9616e13ebdb",
      "parents": [
        "e5f635edd393aeaa7cad9e42831d397e6e2e1eed",
        "fcd11ff8bd0e526bdd5f43f534ccf7c4e67245ad"
      ],
      "author": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 15:20:27 2026 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 15:20:32 2026 -0700"
      },
      "message": "Merge branch \u0027bpf-fix-null-deref-when-storing-scalar-into-kptr-slot\u0027\n\nMykyta Yatsenko says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nbpf: Fix NULL deref when storing scalar into kptr slot\n\nmap_kptr_match_type() accesses reg-\u003ebtf before confirming the register\nis PTR_TO_BTF_ID. A scalar store into a kptr slot has no btf, causing\na NULL pointer dereference. Guard base_type() first.\n\nSigned-off-by: Mykyta Yatsenko \u003cyatsenko@meta.com\u003e\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nLink: https://patch.msgid.link/20260416-kptr_crash-v1-0-5589356584b4@meta.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "fcd11ff8bd0e526bdd5f43f534ccf7c4e67245ad",
      "tree": "ca17da98c05eba692344987c6712f9616e13ebdb",
      "parents": [
        "4d0a375887ab4d49e4da1ff10f9606cab8f7c3ad"
      ],
      "author": {
        "name": "Mykyta Yatsenko",
        "email": "yatsenko@meta.com",
        "time": "Thu Apr 16 11:08:08 2026 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 15:20:27 2026 -0700"
      },
      "message": "selftests/bpf: Reject scalar store into kptr slot\n\nVerify that the verifier rejects a direct scalar write to a kptr map\nvalue slot without crashing.\n\nSigned-off-by: Mykyta Yatsenko \u003cyatsenko@meta.com\u003e\nLink: https://lore.kernel.org/r/20260416-kptr_crash-v1-2-5589356584b4@meta.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n\n"
    },
    {
      "commit": "4d0a375887ab4d49e4da1ff10f9606cab8f7c3ad",
      "tree": "cba7dc3dcf30499d60dd71a758cef007de7af618",
      "parents": [
        "e5f635edd393aeaa7cad9e42831d397e6e2e1eed"
      ],
      "author": {
        "name": "Mykyta Yatsenko",
        "email": "yatsenko@meta.com",
        "time": "Thu Apr 16 11:08:07 2026 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 15:20:26 2026 -0700"
      },
      "message": "bpf: Fix NULL deref in map_kptr_match_type for scalar regs\n\nCommit ab6c637ad027 (\"bpf: Fix a bpf_kptr_xchg() issue with local\nkptr\") refactored map_kptr_match_type() to branch on btf_is_kernel()\nbefore checking base_type(). A scalar register stored into a kptr\nslot has no btf, so the btf_is_kernel(reg-\u003ebtf) call dereferences\nNULL.\n\nMove the base_type() !\u003d PTR_TO_BTF_ID guard before any reg-\u003ebtf\naccess.\n\nFixes: ab6c637ad027 (\"bpf: Fix a bpf_kptr_xchg() issue with local kptr\")\nReported-by: Hiker Cl \u003cclhiker365@gmail.com\u003e\nCloses: https://bugzilla.kernel.org/show_bug.cgi?id\u003d221372\nSigned-off-by: Mykyta Yatsenko \u003cyatsenko@meta.com\u003e\nAcked-by: Paul Chaignon \u003cpaul.chaignon@gmail.com\u003e\nLink: https://lore.kernel.org/r/20260416-kptr_crash-v1-1-5589356584b4@meta.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n\n"
    },
    {
      "commit": "b8a5774cd49996e8ef83b1637a9b547158f18de9",
      "tree": "b75352a5dda3b41fa267deb3804f7a0dac14356f",
      "parents": [
        "a1bbd84071bc338e4b1ce55da4355690b1d6784e",
        "c89046d57d534348b41ca28f5c1c5443743dbe04"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:11:19 2026 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:11:19 2026 +0200"
      },
      "message": "Merge branch \u0027for-7.1/asus\u0027 into for-linus\n\n- robustification of hid-asus driver to prepare for support for\n  more devices which is underway (Denis Benato)\n"
    },
    {
      "commit": "a1bbd84071bc338e4b1ce55da4355690b1d6784e",
      "tree": "48ca4a3bc5928c3600129d9aebb432ee8b5daad8",
      "parents": [
        "b3793af3277f65d256d67f9949e760b434ff66dd",
        "30fb45cc2e4aa1b215e0b4f5aeb757128811a3ff"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:09:41 2026 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:09:41 2026 +0200"
      },
      "message": "Merge branch \u0027for-7.1/hid-bpf\u0027 into for-linus\n\n- sync of HID-BPF with udev-hid-bpf (Benjamin Tissoires, Muhammed Rishal)\n"
    },
    {
      "commit": "b3793af3277f65d256d67f9949e760b434ff66dd",
      "tree": "80732b7cf1468d5375998ab0383fb917604e7809",
      "parents": [
        "51cc1c427461d6c989126971d2fd5ef70216ade3",
        "88919bedabb8d34b6b76c00238310b7deca33a2d"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:08:14 2026 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:08:14 2026 +0200"
      },
      "message": "Merge branch \u0027for-7.1/intel-thc\u0027 into for-linus\n\n- power management improvements to intel-thc-hid driver (Even Xu)\n"
    },
    {
      "commit": "51cc1c427461d6c989126971d2fd5ef70216ade3",
      "tree": "e553d04667977040ea70f1bd183e5c75954af6c6",
      "parents": [
        "a3922c8393290da840d4a5dd7313a7e44d918b08",
        "19acad732afbfb23bd0d4d5830d7553889e739f8"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:07:13 2026 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:07:13 2026 +0200"
      },
      "message": "Merge branch \u0027for-7.1/lenovo-v2\u0027 into for-linus\n\n- new driver for Lenovo Legion Go / S devices (Derek J. Clark)\n"
    },
    {
      "commit": "a3922c8393290da840d4a5dd7313a7e44d918b08",
      "tree": "5d703ab3702e2f3fcbb3ee552027f394d9707965",
      "parents": [
        "38d76018bb412dc66b08837097eff53d21e8df29",
        "ac977b900907f621e117184e71766f297a2f702b"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:06:51 2026 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:06:51 2026 +0200"
      },
      "message": "Merge branch \u0027for-7.1/mcp2221\u0027 into for-linus\n"
    },
    {
      "commit": "38d76018bb412dc66b08837097eff53d21e8df29",
      "tree": "2758410a36bdc90a92c5e81cacc5d09a5db6fbaa",
      "parents": [
        "1b2e4375f66c00bfe28b3298f9171897a4107582",
        "f8d379460bd088753e47505eebe6a76beecc48c7"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:05:37 2026 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:05:37 2026 +0200"
      },
      "message": "Merge branch \u0027for-7.1/pidff\u0027 into for-linus\n\n- various new per-device(-group) type quirks for pidff driver (Tomasz Pakuła)\n"
    },
    {
      "commit": "1b2e4375f66c00bfe28b3298f9171897a4107582",
      "tree": "615c23336f1150b36ea97e921037dc47412c2e07",
      "parents": [
        "436e7263520fa0eac231975e2c4d0b643c8f9266",
        "9bd35baa37226a76888516edfbe290709d3ffac2"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:05:19 2026 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:05:19 2026 +0200"
      },
      "message": "Merge branch \u0027for-7.1/pl\u0027 into for-linus\n"
    },
    {
      "commit": "436e7263520fa0eac231975e2c4d0b643c8f9266",
      "tree": "c85c991086829dd1ed2b5795b72085d7615fe3d7",
      "parents": [
        "500af712f9cb61e9e3d32760df0cc5dd4f3046aa",
        "de80aa182d6ca1eb7ad41fa46d9ec7bb685850db"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:03:56 2026 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:03:56 2026 +0200"
      },
      "message": "Merge branch \u0027for-7.1/sony\u0027 into for-linus\n\n- new support for a variety of Rock Band and DJ Hero Turntable devices\n  (Rosalie Wanders)\n"
    },
    {
      "commit": "500af712f9cb61e9e3d32760df0cc5dd4f3046aa",
      "tree": "322896c1bd69147916efd648b07b30798ef9beb1",
      "parents": [
        "d4eb7b2da66c848709e31585b9c371fa234abc39",
        "42d020b54edc57d03749bed75976f1e962a9fbfa"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:03:22 2026 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:03:22 2026 +0200"
      },
      "message": "Merge branch \u0027for-7.1/winwing\u0027 into for-linus\n\n- support for rubmle effects in winwing driver (Ivan Gorinov)\n"
    },
    {
      "commit": "d4eb7b2da66c848709e31585b9c371fa234abc39",
      "tree": "5c6311cfa45567ecdcb8946a2252da7d55d1ac10",
      "parents": [
        "8b9a097eb2fc37b486afd81388c693bf3ab44466",
        "69c02ffde6ed4d535fa4e693a9e572729cad3d0d"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:01:18 2026 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.com",
        "time": "Thu Apr 16 21:01:18 2026 +0200"
      },
      "message": "Merge branch \u0027for-7.1/core-v2\u0027 into for-linus\n\n- fixed handling of 0-sized reports (Dmitry Torokhov)\n- convert core code to __free() (Dmitry Torokhov)\n- support for multiple batteries per HID device (Lucas Zampieri)\n"
    },
    {
      "commit": "3cd8b194bf3428dfa53120fee47e827a7c495815",
      "tree": "804f42c1a41ce5579a255e9e373fbfcb1419089b",
      "parents": [
        "d3d9443f8bac799340bb04db51ef4ababc4f7267",
        "d09a040c186a2083b1cfa9c3c112782ce4b1f6d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 08:25:04 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 08:25:04 2026 -0700"
      },
      "message": "Merge tag \u0027v7.1-rc-part1-smbdirect-fixes\u0027 of git://git.samba.org/ksmbd\n\nPull smbdirect updates from Steve French:\n \"Move smbdirect server and client code to common directory:\n\n   - temporary use of smbdirect_all_c_files.c to allow micro steps\n\n   - factor out common functions into a smbdirect.ko.\n\n   - convert cifs.ko to use smbdirect.ko\n\n   - convert ksmbd.ko to use smbdirect.ko\n\n   - let smbdirect.ko use global workqueues\n\n   - move ib_client logic from ksmbd.ko into smbdirect.ko\n\n   - remove smbdirect_all_c_files.c hack again\n\n   - some locking and teardown related fixes on top\"\n\n* tag \u0027v7.1-rc-part1-smbdirect-fixes\u0027 of git://git.samba.org/ksmbd: (145 commits)\n  smb: smbdirect: let smbdirect_connection_deregister_mr_io unlock while waiting\n  smb: smbdirect: fix the logic in smbdirect_socket_destroy_sync() without an error\n  smb: smbdirect: fix copyright header of smbdirect.h\n  smb: smbdirect: change smbdirect_socket_parameters.{initiator_depth,responder_resources} to __u16\n  smb: smbdirect: remove unused SMBDIRECT_USE_INLINE_C_FILES logic\n  smb: server: no longer use smbdirect_socket_set_custom_workqueue()\n  smb: client: no longer use smbdirect_socket_set_custom_workqueue()\n  smb: smbdirect: introduce global workqueues\n  smb: smbdirect: prepare use of dedicated workqueues for different steps\n  smb: smbdirect: remove unused smbdirect_connection_mr_io_recovery_work()\n  smb: smbdirect: wrap rdma_disconnect() in rdma_[un]lock_handler()\n  smb: server: make use of smbdirect_netdev_rdma_capable_mode_type()\n  smb: smbdirect: introduce smbdirect_netdev_rdma_capable_mode_type()\n  smb: server: make use of smbdirect.ko\n  smb: server: remove unused ksmbd_transport_ops.prepare()\n  smb: server: make use of smbdirect_socket_{listen,accept}()\n  smb: server: only use public smbdirect functions\n  smb: server: make use of smbdirect_socket_create_accepting()/smbdirect_socket_release()\n  smb: server: make use of smbdirect_{socket_init_accepting,connection_wait_for_connected}()\n  smb: server: make use of smbdirect_connection_send_iter() and related functions\n  ...\n"
    },
    {
      "commit": "d3d9443f8bac799340bb04db51ef4ababc4f7267",
      "tree": "5fb4237e187cb61f0aa563becc35b788d6918c0c",
      "parents": [
        "090748e62f57a80286b2fcc32fe2be069f891200",
        "448c0f8cb7cdf2e6d6e9d1ed3bb8c7397bc71c66"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 08:13:27 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 08:13:27 2026 -0700"
      },
      "message": "Merge tag \u0027livepatching-for-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching\n\nPull livepatching updates from Petr Mladek:\n\n - Add two new selftests\n\n* tag \u0027livepatching-for-7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching:\n  selftests/livepatch: add test for module function patching\n  selftests: livepatch: test-ftrace: livepatch a traced function\n"
    },
    {
      "commit": "090748e62f57a80286b2fcc32fe2be069f891200",
      "tree": "21ee5767113a51b8010de9979143e2dcf9ff1c89",
      "parents": [
        "948ef73f7ec39622ebd27bba4e94d78a983109f6",
        "56f295853f38d3202c20fd0d98939e7a4c56c3fb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 08:11:01 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 08:11:01 2026 -0700"
      },
      "message": "Merge tag \u0027m68k-for-v7.1-tag1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k\n\nPull m68k updates from Geert Uytterhoeven:\n\n - Add support for QEMU virt-ctrl, and use it for system reset\n   and power off on the virt platform\n\n - defconfig updates\n\n - Miscellaneous fixes and improvements\n\n* tag \u0027m68k-for-v7.1-tag1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:\n  m68k: virt: Switch to qemu-virt-ctrl driver\n  power: reset: Add QEMU virt-ctrl driver\n  m68k: defconfig: Update defconfigs for v7.0-rc1\n  m68k: emu: Replace unbounded sprintf() in nfhd_init_one()\n  m68k: uapi: Add ucontext.h\n  m68k: defconfig: hp300: Enable monochrome and 16-color linux logos\n  m68k: q40: Remove commented out code\n"
    },
    {
      "commit": "948ef73f7ec39622ebd27bba4e94d78a983109f6",
      "tree": "34368005a8917828f003b6dc6e816ae483dc8c69",
      "parents": [
        "f0bf3eac92b2be5f34b944cb82f1c23db642c7f5",
        "48a428215782321b56956974f23593e40ce84b7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 08:06:25 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 08:06:25 2026 -0700"
      },
      "message": "Merge tag \u0027efi-next-for-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi\n\nPull EFI updates from Ard Biesheuvel:\n \"Again not a busy cycle for EFI, just some minor tweaks and bug fixes:\n\n   - Enable boot graphics resource table (BGRT) on Xen/x86\n\n   - Correct a misguided assumption in the memory attributes table\n     sanity check\n\n   - Start tagging efi_mem_reserve()\u0027d regions as MEMBLOCK_RSRV_KERN\n\n   - Some other minor fixes and cleanups\"\n\n* tag \u0027efi-next-for-v7.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi:\n  efi/capsule-loader: fix incorrect sizeof in phys array reallocation\n  efi: Tag memblock reservations of boot services regions as RSRV_KERN\n  memblock: Permit existing reserved regions to be marked RSRV_KERN\n  efi/memattr: Fix thinko in table size sanity check\n  efi: libstub: fix type of fdt 32 and 64bit variables\n  efi: Drop unused efi_range_is_wc() function\n  efi: Enable BGRT loading under Xen\n  efi: make efi_mem_type() and efi_mem_attributes() work on Xen PV\n"
    },
    {
      "commit": "f0bf3eac92b2be5f34b944cb82f1c23db642c7f5",
      "tree": "6727ce3b61073f1341ece4f7326af0b1588120a0",
      "parents": [
        "1d51b370a0f8f642f4fc84c795fbedac0fcdbbd2",
        "493c7eff3c2ffa94ce3c5e62172948a1e38b491e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 08:01:16 2026 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 08:01:16 2026 -0700"
      },
      "message": "Merge tag \u0027vfio-v7.1-rc1\u0027 of https://github.com/awilliam/linux-vfio\n\nPull VFIO updates from Alex Williamson:\n\n - Update QAT vfio-pci variant driver for Gen 5, 420xx devices (Vijay\n   Sundar Selvamani, Suman Kumar Chakraborty, Giovanni Cabiddu)\n\n - Fix vfio selftest MMIO DMA mapping selftest (Alex Mastro)\n\n - Conversions to const struct class in support of class_create()\n   deprecation (Jori Koolstra)\n\n - Improve selftest compiler compatibility by avoiding initializer on\n   variable-length array (Manish Honap)\n\n - Define new uAPI for drivers supporting migration to advise user-\n   space of new initial data for reducing target startup latency.\n   Implemented for mlx5 vfio-pci variant driver (Yishai Hadas)\n\n - Enable vfio selftests on aarch64, not just cross-compiles reporting\n   arm64 (Ted Logan)\n\n - Update vfio selftest driver support to include additional DSA devices\n   (Yi Lai)\n\n - Unconditionally include debugfs root pointer in vfio device struct,\n   avoiding a build failure seen in hisi_acc variant driver without\n   debugfs otherwise (Arnd Bergmann)\n\n - Add support for the s390 ISM (Internal Shared Memory) device via a\n   new variant driver. The device is unique in the size of its BAR space\n   (256TiB) and lack of mmap support (Julian Ruess)\n\n - Enforce that vfio-pci drivers implement a name in their ops structure\n   for use in sequestering SR-IOV VFs (Alex Williamson)\n\n - Prune leftover group notifier code (Paolo Bonzini)\n\n - Fix Xe vfio-pci variant driver to avoid migration support as a\n   dependency in the reset path and missing release call (Michał\n   Winiarski)\n\n* tag \u0027vfio-v7.1-rc1\u0027 of https://github.com/awilliam/linux-vfio: (23 commits)\n  vfio/xe: Add a missing vfio_pci_core_release_dev()\n  vfio/xe: Reorganize the init to decouple migration from reset\n  vfio: remove dead notifier code\n  vfio/pci: Require vfio_device_ops.name\n  MAINTAINERS: add VFIO ISM PCI DRIVER section\n  vfio/ism: Implement vfio_pci driver for ISM devices\n  vfio/pci: Rename vfio_config_do_rw() to vfio_pci_config_rw_single() and export it\n  vfio: unhide vdev-\u003edebug_root\n  vfio/qat: add support for Intel QAT 420xx VFs\n  vfio: selftests: Support DMR and GNR-D DSA devices\n  vfio: selftests: Build tests on aarch64\n  vfio/mlx5: Add REINIT support to VFIO_MIG_GET_PRECOPY_INFO\n  vfio/mlx5: consider inflight SAVE during PRE_COPY\n  net/mlx5: Add IFC bits for migration state\n  vfio: Adapt drivers to use the core helper vfio_check_precopy_ioctl\n  vfio: Add support for VFIO_DEVICE_FEATURE_MIG_PRECOPY_INFOv2\n  vfio: Define uAPI for re-init initial bytes during the PRE_COPY phase\n  vfio: selftests: Fix VLA initialisation in vfio_pci_irq_set()\n  vfio: uapi: fix comment typo\n  vfio: mdev: replace mtty_dev-\u003evd_class with a const struct class\n  ...\n"
    },
    {
      "commit": "4245bf4dc58f58b7042c29d7b04d4e403a0379bc",
      "tree": "44eef4c57932838129318a5bb4241f8cee2fabc8",
      "parents": [
        "c369299895a591d96745d6492d4888259b004a9e"
      ],
      "author": {
        "name": "Tomas Glozar",
        "email": "tglozar@redhat.com",
        "time": "Thu Apr 16 13:59:42 2026 +0200"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Apr 16 10:42:30 2026 -0400"
      },
      "message": "tracing/osnoise: Add option to align tlat threads\n\nAdd an option called TIMERLAT_ALIGN to osnoise/options, together with a\ncorresponding setting osnoise/timerlat_align_us.\n\nThis option sets the alignment of wakeup times between different\ntimerlat threads, similarly to cyclictest\u0027s -A/--aligned option. If\nTIMERLAT_ALIGN is set, the first thread that reaches the first cycle\nrecords its first wake-up time. Each following thread sets its first\nwake-up time to a fixed offset from the recorded time, and increments\nit by the same offset.\n\nExample:\n\nosnoise/timerlat_period is set to 1000, osnoise/timerlat_align_us is\nset to 20. There are four threads, on CPUs 1 to 4.\n\n- CPU 4 enters first cycle first. The current time is 20000us, so\nthe wake-up of the first cycle is set to 21000us. This time is recorded.\n- CPU 2 enter first cycle next. It reads the recorded time, increments\nit to 21020us, and uses this value as its own wake-up time for the first\ncycle.\n- CPU 3 enters first cycle next. It reads the recorded time, increments\nit to 21040 us, and uses the value as its own wake-up time.\n- CPU 1 proceeds analogically.\n\nIn each next cycle, the wake-up time (called \"absolute period\" in\ntimerlat code) is incremented by the (relative) period of 1000us. Thus,\nthe wake-ups in the following cycles (provided the times are reached and\nnot in the past) will be as follows:\n\nCPU 1\t\tCPU 2\t\tCPU 3\t \tCPU 4\n21080us\t\t21020us\t\t21040us\t\t21000us\n22080us\t\t22020us\t\t22040us\t\t22000us\n...\t\t...\t\t...\t\t...\n\nEven if any cycle is skipped due to e.g. the first cycle calculation\nhappening later, the alignment stays in place.\n\nCc: Masami Hiramatsu \u003cmhiramat@kernel.org\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Luis Goncalves \u003clgoncalv@redhat.com\u003e\nCc: Costa Shulyupin \u003ccosta.shul@redhat.com\u003e\nLink: https://patch.msgid.link/20260416115942.544032-1-tglozar@redhat.com\nSigned-off-by: Tomas Glozar \u003ctglozar@redhat.com\u003e\nReviewed-by: Wander Lairson Costa \u003cwander@redhat.com\u003e\nReviewed-by: Crystal Wood \u003ccrwood@redhat.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e5f635edd393aeaa7cad9e42831d397e6e2e1eed",
      "tree": "14bbc781a366d1213e5b1ace1b4e609863e0c7f5",
      "parents": [
        "1cedfe17badeebdcc044855713597ac7db58414a"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Thu Apr 16 14:27:19 2026 +0200"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 07:35:22 2026 -0700"
      },
      "message": "bpf: Fix precedence bug in convert_bpf_ld_abs alignment check\n\nFix an operator precedence issue in convert_bpf_ld_abs() where the\nexpression offset + ip_align % size evaluates as offset + (ip_align % size)\ndue to % having higher precedence than +. That latter evaluation does\nnot make any sense. The intended check is (offset + ip_align) % size \u003d\u003d 0\nto verify that the packet load offset is properly aligned for direct\naccess.\n\nWith NET_IP_ALIGN \u003d\u003d 2, the bug causes the inline fast-path for direct\npacket loads to almost never be taken on !CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS\nplatforms. This forces nearly all cBPF BPF_LD_ABS packet loads through\nthe bpf_skb_load_helper slow path on the affected archs.\n\nFixes: e0cea7ce988c (\"bpf: implement ld_abs/ld_ind in native bpf\")\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nLink: https://lore.kernel.org/r/20260416122719.661033-1-daniel@iogearbox.net\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n\n"
    },
    {
      "commit": "1cedfe17badeebdcc044855713597ac7db58414a",
      "tree": "21c2674a8cedef67c124183c8cb6062386632cdf",
      "parents": [
        "a20446652956ed26be529b8788e76dfddf705717",
        "f6606a44bc438ec5f1d450d0153878e80e79ff80"
      ],
      "author": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 07:03:41 2026 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 07:03:41 2026 -0700"
      },
      "message": "Merge branch \u0027emit-endbr-bti-instructions-for-indirect\u0027\n\nXu Kuohai says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nemit ENDBR/BTI instructions for indirect\n\nOn architectures with CFI protection enabled that require landing pad\ninstructions at indirect jump targets, such as x86 with CET/IBT enabled\nand arm64 with BTI enabled, kernel panics when an indirect jump lands on\na target without landing pad. Therefore, the JIT must emit landing pad\ninstructions for indirect jump targets.\n\nThe verifier already recognizes which instructions are indirect jump\ntargets during the verification phase. So we can store this information\nin env-\u003einsn_aux_data and pass it to the JIT as new parameter, allowing\nthe JIT to consult env-\u003einsn_aux_data to determine which instructions are\nindirect jump targets.\n\nDuring JIT, constants blinding is performed. It rewrites the private copy\nof instructions for the JITed program, but it does not adjust the global\nenv-\u003einsn_aux_data array. As a result, after constants blinding, the\ninstruction indexes used by JIT may no longer match the indexes in\nenv-\u003einsn_aux_data, so the JIT can not use env-\u003einsn_aux_data directly.\n\nTo avoid this mismatch, and given that all existing arch-specific JITs\nalready implement constants blinding with largely duplicated code, move\nconstants blinding from JIT to generic code.\n\nv15:\n- Rebase and target bpf tree\n- Resotre subprog_start of the fake \u0027exit\u0027 subprog on failure\n- Fix wrong function name used in comment\n\nv14: https://lore.kernel.org/all/cover.1776062885.git.xukuohai@hotmail.com/\n- Rebase\n- Fix comment style\n- Fix incorrect variable and function name used in commit message\n\nv13: https://lore.kernel.org/bpf/20260411133847.1042658-1-xukuohai@huaweicloud.com\n- Use vmalloc to allocate memory for insn_aux_data copies to match with vfree\n- Do not free the copied memory of insn_aux_data when restoring from failure\n- Code cleanup\n\nv12: https://lore.kernel.org/bpf/20260403132811.753894-1-xukuohai@huaweicloud.com\n- Restore env-\u003einsn_aux_data on JIT failure\n- Fix incorrect error code sign (-EFAULT vs EFAULT)\n- Fix incorrect prog used in the restore path\n\nv11: https://lore.kernel.org/bpf/20260403090915.473493-1-xukuohai@huaweicloud.com\n- Restore env-\u003esubprog_info after jit_subprogs() fails\n- Clear prog-\u003ejit_requested and prog-\u003eblinding_requested on failure\n- Use the actual env-\u003einsn_aux_data size in clear_insn_aux_data() on failure\n\nv10: https://lore.kernel.org/bpf/20260324122052.342751-1-xukuohai@huaweicloud.com\n- Fix the incorrect call_imm restore in jit_subprogs\n- Define a dummy void version of bpf_jit_prog_release_other and\n  bpf_patch_insn_data when the corresponding config is not set\n- Remove the unnecessary #ifdef in x86_64 JIT (Leon Hwang)\n\nv9: https://lore.kernel.org/bpf/20260312170255.3427799-1-xukuohai@huaweicloud.com\n- Make constant blinding available for classic bpf (Eduard)\n- Clear prog-\u003ebpf_func, prog-\u003ejited ... on the error path of extra pass (Eduard)\n- Fix spelling errors and remove unused parameter (Anton Protopopov)\n\nv8: https://lore.kernel.org/bpf/20260309140044.2652538-1-xukuohai@huaweicloud.com\n- Define void bpf_jit_blind_constants() function when CONFIG_BPF_JIT is not set\n- Move indirect_target fixup for insn patching from bpf_jit_blind_constants()\n  to adjust_insn_aux_data()\n\nv7: https://lore.kernel.org/bpf/20260307103949.2340104-1-xukuohai@huaweicloud.com\n- Move constants blinding logic back to bpf/core.c\n- Compute ip address before switch statement in x86 JIT\n- Clear JIT state from error path on arm64 and loongarch\n\nv6: https://lore.kernel.org/bpf/20260306102329.2056216-1-xukuohai@huaweicloud.com\n- Move constants blinding from JIT to verifier\n- Move call to bpf_prog_select_runtime from bpf_prog_load to verifier\n\nv5: https://lore.kernel.org/bpf/20260302102726.1126019-1-xukuohai@huaweicloud.com\n- Switch to pass env to JIT directly to get rid of copying private insn_aux_data for\n  each prog\n\nv4: https://lore.kernel.org/all/20260114093914.2403982-1-xukuohai@huaweicloud.com\n- Switch to the approach proposed by Eduard, using insn_aux_data to identify indirect\n  jump targets, and emit ENDBR on x86\n\nv3: https://lore.kernel.org/bpf/20251227081033.240336-1-xukuohai@huaweicloud.com\n- Get rid of unnecessary enum definition (Yonghong Song, Anton Protopopov)\n\nv2: https://lore.kernel.org/bpf/20251223085447.139301-1-xukuohai@huaweicloud.com\n- Exclude instruction arrays not used for indirect jumps (Anton Protopopov)\n\nv1: https://lore.kernel.org/bpf/20251127140318.3944249-1-xukuohai@huaweicloud.com\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nLink: https://patch.msgid.link/20260416064341.151802-1-xukuohai@huaweicloud.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "f6606a44bc438ec5f1d450d0153878e80e79ff80",
      "tree": "21c2674a8cedef67c124183c8cb6062386632cdf",
      "parents": [
        "9a0e89dcc9be8e0ba20aeb81c330a6352261667e"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Thu Apr 16 06:43:41 2026 +0000"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 07:03:41 2026 -0700"
      },
      "message": "bpf, arm64: Emit BTI for indirect jump target\n\nOn CPUs that support BTI, the indirect jump selftest triggers a kernel\npanic because there is no BTI instructions at the indirect jump targets.\n\nFix it by emitting a BTI instruction for each indirect jump target.\n\nFor reference, below is a sample panic log.\n\nInternal error: Oops - BTI: 0000000036000003 [#1]  SMP\n...\nCall trace:\n bpf_prog_2e5f1c71c13ac3e0_big_jump_table+0x54/0xf8 (P)\n bpf_prog_run_pin_on_cpu+0x140/0x468\n bpf_prog_test_run_syscall+0x280/0x3b8\n bpf_prog_test_run+0x22c/0x2c0\n\nFixes: f4a66cf1cb14 (\"bpf: arm64: Add support for indirect jumps\")\nReviewed-by: Anton Protopopov \u003ca.s.protopopov@gmail.com\u003e # v8\nReviewed-by: Emil Tsalapatis \u003cemil@etsalapatis.com\u003e # v12\nAcked-by: Leon Hwang \u003cleon.hwang@linux.dev\u003e\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nLink: https://lore.kernel.org/r/20260416064341.151802-6-xukuohai@huaweicloud.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n\n"
    },
    {
      "commit": "9a0e89dcc9be8e0ba20aeb81c330a6352261667e",
      "tree": "006f28e0640b57cc4a7b4ab7cbc8599b2db37915",
      "parents": [
        "07ae6c130b46cf5e3e1a7dc5c1889fefe9adc2d3"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Thu Apr 16 06:43:40 2026 +0000"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 07:03:40 2026 -0700"
      },
      "message": "bpf, x86: Emit ENDBR for indirect jump targets\n\nOn CPUs that support CET/IBT, the indirect jump selftest triggers\na kernel panic because the indirect jump targets lack ENDBR\ninstructions.\n\nTo fix it, emit an ENDBR instruction to each indirect jump target. Since\nthe ENDBR instruction shifts the position of original jited instructions,\nfix the instruction address calculation wherever the addresses are used.\n\nFor reference, below is a sample panic log.\n\n Missing ENDBR: bpf_prog_2e5f1c71c13ac3e0_big_jump_table+0x97/0xe1\n ------------[ cut here ]------------\n kernel BUG at arch/x86/kernel/cet.c:133!\n Oops: invalid opcode: 0000 [#1] SMP NOPTI\n\n ...\n\n  ? 0xffffffffc00fb258\n  ? bpf_prog_2e5f1c71c13ac3e0_big_jump_table+0x97/0xe1\n  bpf_prog_test_run_syscall+0x110/0x2f0\n  ? fdget+0xba/0xe0\n  __sys_bpf+0xe4b/0x2590\n  ? __kmalloc_node_track_caller_noprof+0x1c7/0x680\n  ? bpf_prog_test_run_syscall+0x215/0x2f0\n  __x64_sys_bpf+0x21/0x30\n  do_syscall_64+0x85/0x620\n  ? bpf_prog_test_run_syscall+0x1e2/0x2f0\n\nFixes: 493d9e0d6083 (\"bpf, x86: add support for indirect jumps\")\nReviewed-by: Anton Protopopov \u003ca.s.protopopov@gmail.com\u003e # v8\nReviewed-by: Emil Tsalapatis \u003cemil@etsalapatis.com\u003e # v12\nAcked-by: Leon Hwang \u003cleon.hwang@linux.dev\u003e\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nLink: https://lore.kernel.org/r/20260416064341.151802-5-xukuohai@huaweicloud.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n\n"
    },
    {
      "commit": "07ae6c130b46cf5e3e1a7dc5c1889fefe9adc2d3",
      "tree": "04f7eb3396760c084bdd14ac763f63149100f47c",
      "parents": [
        "d9ef13f72711f2dad64cd4445472ded98fb6c954"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Thu Apr 16 06:43:39 2026 +0000"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 07:03:40 2026 -0700"
      },
      "message": "bpf: Add helper to detect indirect jump targets\n\nIntroduce helper bpf_insn_is_indirect_target to check whether a BPF\ninstruction is an indirect jump target.\n\nSince the verifier knows which instructions are indirect jump targets,\nadd a new flag indirect_target to struct bpf_insn_aux_data to mark\nthem. The verifier sets this flag when verifying an indirect jump target\ninstruction, and the helper checks the flag to determine whether an\ninstruction is an indirect jump target.\n\nReviewed-by: Anton Protopopov \u003ca.s.protopopov@gmail.com\u003e #v8\nReviewed-by: Emil Tsalapatis \u003cemil@etsalapatis.com\u003e #v12\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nLink: https://lore.kernel.org/r/20260416064341.151802-4-xukuohai@huaweicloud.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n\n"
    },
    {
      "commit": "d9ef13f72711f2dad64cd4445472ded98fb6c954",
      "tree": "a86feb8d5661fda7f789f5fb696244bbb6373390",
      "parents": [
        "d3e945223e0158c85dbde23de4f89493a2a817f6"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Thu Apr 16 06:43:38 2026 +0000"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 07:03:40 2026 -0700"
      },
      "message": "bpf: Pass bpf_verifier_env to JIT\n\nPass bpf_verifier_env to bpf_int_jit_compile(). The follow-up patch will\nuse env-\u003einsn_aux_data in the JIT stage to detect indirect jump targets.\n\nSince bpf_prog_select_runtime() can be called by cbpf and lib/test_bpf.c\ncode without verifier, introduce helper __bpf_prog_select_runtime()\nto accept the env parameter.\n\nRemove the call to bpf_prog_select_runtime() in bpf_prog_load(), and\nswitch to call __bpf_prog_select_runtime() in the verifier, with env\nvariable passed. The original bpf_prog_select_runtime() is preserved for\ncbpf and lib/test_bpf.c, where env is NULL.\n\nNow all constants blinding calls are moved into the verifier, except\nthe cbpf and lib/test_bpf.c cases. The instructions arrays are adjusted\nby bpf_patch_insn_data() function for normal cases, so there is no need\nto call adjust_insn_arrays() in bpf_jit_blind_constants(). Remove it.\n\nReviewed-by: Anton Protopopov \u003ca.s.protopopov@gmail.com\u003e # v8\nReviewed-by: Emil Tsalapatis \u003cemil@etsalapatis.com\u003e # v12\nAcked-by: Hengqi Chen \u003chengqi.chen@gmail.com\u003e # v14\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nLink: https://lore.kernel.org/r/20260416064341.151802-3-xukuohai@huaweicloud.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n\n"
    },
    {
      "commit": "d3e945223e0158c85dbde23de4f89493a2a817f6",
      "tree": "caff6981e7c0c29d1d02a56cdd222e669cf9a000",
      "parents": [
        "a20446652956ed26be529b8788e76dfddf705717"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Thu Apr 16 06:43:37 2026 +0000"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Thu Apr 16 07:03:40 2026 -0700"
      },
      "message": "bpf: Move constants blinding out of arch-specific JITs\n\nDuring the JIT stage, constants blinding rewrites instructions but only\nrewrites the private instruction copy of the JITed subprog, leaving the\nglobal env-\u003eprog-\u003einsnsi and env-\u003einsn_aux_data untouched. This causes a\nmismatch between subprog instructions and the global state, making it\ndifficult to use the global data in the JIT.\n\nTo avoid this mismatch, and given that all arch-specific JITs already\nsupport constants blinding, move it to the generic verifier code, and\nswitch to rewrite the global env-\u003eprog-\u003einsnsi with the global states\nadjusted, as other rewrites in the verifier do.\n\nThis removes the constants blinding calls in each JIT, which are largely\nduplicated code across architectures.\n\nSince constants blinding is only required for JIT, and there are two\nJIT entry functions, jit_subprogs() for BPF programs with multiple\nsubprogs and bpf_prog_select_runtime() for programs with no subprogs,\nmove the constants blinding invocation into these two functions.\n\nIn the verifier path, bpf_patch_insn_data() is used to keep global\nverifier auxiliary data in sync with patched instructions. A key\nquestion is whether this global auxiliary data should be restored\non the failure path.\n\nBesides instructions, bpf_patch_insn_data() adjusts:\n  - prog-\u003eaux-\u003epoke_tab\n  - env-\u003einsn_array_maps\n  - env-\u003esubprog_info\n  - env-\u003einsn_aux_data\n\nFor prog-\u003eaux-\u003epoke_tab, it is only used by JIT or only meaningful after\nJIT succeeds, so it does not need to be restored on the failure path.\n\nFor env-\u003einsn_array_maps, when JIT fails, programs using insn arrays\nare rejected by bpf_insn_array_ready() due to missing JIT addresses.\nHence, env-\u003einsn_array_maps is only meaningful for JIT and does not need\nto be restored.\n\nFor subprog_info, if jit_subprogs fails and CONFIG_BPF_JIT_ALWAYS_ON\nis not enabled, kernel falls back to interpreter. In this case,\nenv-\u003esubprog_info is used to determine subprogram stack depth. So it\nmust be restored on failure.\n\nFor env-\u003einsn_aux_data, it is freed by clear_insn_aux_data() at the\nend of bpf_check(). Before freeing, clear_insn_aux_data() loops over\nenv-\u003einsn_aux_data to release jump targets recorded in it. The loop\nuses env-\u003eprog-\u003elen as the array length, but this length no longer\nmatches the actual size of the adjusted env-\u003einsn_aux_data array after\nconstants blinding.\n\nTo address it, a simple approach is to keep insn_aux_data as adjusted\nafter failure, since it will be freed shortly, and record its actual size\nfor the loop in clear_insn_aux_data(). But since clear_insn_aux_data()\nuses the same index to loop over both env-\u003eprog-\u003einsnsi and env-\u003einsn_aux_data,\nthis approach results in incorrect index for the insnsi array. So an\nalternative approach is adopted: clone the original env-\u003einsn_aux_data\nbefore blinding and restore it after failure, similar to env-\u003eprog.\n\nFor classic BPF programs, constants blinding works as before since it\nis still invoked from bpf_prog_select_runtime().\n\nReviewed-by: Anton Protopopov \u003ca.s.protopopov@gmail.com\u003e # v8\nReviewed-by: Hari Bathini \u003chbathini@linux.ibm.com\u003e # powerpc jit\nReviewed-by: Pu Lehui \u003cpulehui@huawei.com\u003e # riscv jit\nAcked-by: Hengqi Chen \u003chengqi.chen@gmail.com\u003e # loongarch jit\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nLink: https://lore.kernel.org/r/20260416064341.151802-2-xukuohai@huaweicloud.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n\n"
    },
    {
      "commit": "a74c2e55ab66519ffa2069ac9ae83cd937bff4c4",
      "tree": "1c50905c61bbf6d680285155f0b9c6dc07165bf0",
      "parents": [
        "9c469240997584449cfac51a75d1d3d71968c76f"
      ],
      "author": {
        "name": "Paul Sajna",
        "email": "sajattack@postmarketos.org",
        "time": "Mon Sep 15 19:32:14 2025 -0700"
      },
      "committer": {
        "name": "Rob Herring (Arm)",
        "email": "robh@kernel.org",
        "time": "Thu Apr 16 08:57:47 2026 -0500"
      },
      "message": "dt-bindings: display: panel: panel-simple: Add lg,sw49410 compatible\n\nLG SW49410 is the display panel used by sdm845-lg-judyln (LG G7 ThinQ).\n\nIt supports all the same properties as panel-simple.\n\nSigned-off-by: Paul Sajna \u003csajattack@postmarketos.org\u003e\nAcked-by: Conor Dooley \u003cconor.dooley@microchip.com\u003e\nLink: https://patch.msgid.link/20250915-judyln-panel-v2-3-01ab2199fea5@postmarketos.org\nSigned-off-by: Rob Herring (Arm) \u003crobh@kernel.org\u003e\n"
    },
    {
      "commit": "9c469240997584449cfac51a75d1d3d71968c76f",
      "tree": "3d8c0719a62830d8987c9531fa31ce622311468d",
      "parents": [
        "2a62dd135311f8865ecb9bf09d87da40f2ab3fdb"
      ],
      "author": {
        "name": "Swamil Jain",
        "email": "s-jain1@ti.com",
        "time": "Wed Apr 15 16:34:09 2026 +0530"
      },
      "committer": {
        "name": "Rob Herring (Arm)",
        "email": "robh@kernel.org",
        "time": "Thu Apr 16 07:27:24 2026 -0500"
      },
      "message": "dt-bindings: display: ti, am65x-dss: Fix AM62L DSS reg and clock constraints\n\nThe AM62L DSS [1] support incorrectly used the same register and\nclock constraints as AM65x, but AM62L has a single video port\n\nFix this by adding conditional constraints that properly define the\nregister regions and clocks for AM62L DSS (single video port) versus\nother AM65x variants (dual video port).\n\n[1]: Section 12.7 (Display Subsystem and Peripherals)\nLink : https://www.ti.com/lit/pdf/sprujb4\n\nFixes: cb8d4323302c (\"dt-bindings: display: ti,am65x-dss: Add support for AM62L DSS\")\nCc: stable@vger.kernel.org\nSigned-off-by: Swamil Jain \u003cs-jain1@ti.com\u003e\nReviewed-by: Krzysztof Kozlowski \u003ckrzysztof.kozlowski@oss.qualcomm.com\u003e\nLink: https://patch.msgid.link/20260415110409.2577633-1-s-jain1@ti.com\nSigned-off-by: Rob Herring (Arm) \u003crobh@kernel.org\u003e\n"
    }
  ],
  "next": "2a62dd135311f8865ecb9bf09d87da40f2ab3fdb"
}
