)]}'
{
  "log": [
    {
      "commit": "12868f12ff61e44e62e63c343c20c4f4b231d633",
      "tree": "3276b525ad61a2a4abe9efdc48833c5838f30c4a",
      "parents": [
        "2eb1b5ca83420c314ff47287aa111a70740d23fa"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Mon Jul 22 10:09:14 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:15 2024 +0800"
      },
      "message": "selftests/bpf: Use send_to_addr_str in tc_netkit\n\nThis patch uses network helper send_to_addr_str() in __send_icmp() in\ntc_netkit test. Since it accepts a string type address \"addr_str\", change\nthe parameter of __send_icmp() as \"const char *\" too. Also set addresses\n\"ping_addr_neigh\" and \"ping_addr_noneigh\" as strings.\n\nIPPROTO_ICMP is used, set it as opts.proto. And BINDTODEVICE sockopt needs\nto be set, do this in a \"bind_to_device_cb\" callback.\n\nUse ASSERT_OK_FD() to check the return fd of send_to_addr_str().\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "2eb1b5ca83420c314ff47287aa111a70740d23fa",
      "tree": "7fe06f08ffa8348a6cc3c3941e7310379d627a4d",
      "parents": [
        "36856f26dec2b183d1ea19310320bae89bc71986"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Sun Jul 07 21:03:00 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:15 2024 +0800"
      },
      "message": "selftests/bpf: Use connect_to_fd_opts in sockmap_helpers\n\nThis patch uses network helper connect_to_fd_opts() in create_pair() in\nsockmap_helpers.h to simplify the code.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "36856f26dec2b183d1ea19310320bae89bc71986",
      "tree": "764e45fbdff16ae8491884f737ea722335a46c91",
      "parents": [
        "768969b96ada5187720a944b00a0a5ab1ae4fa2a"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Mon Jul 22 14:11:52 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:14 2024 +0800"
      },
      "message": "selftests/bpf: Use start_server_str in sockmap_helpers\n\nNow both SOCK_SEQPACKET and SOCK_NONBLOCK can be passed as \"type\" parameter\ninto start_server_str(), use this helper in socket_loopback_reuseport() in\nsockmap_helpers.h to simplify the code.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "768969b96ada5187720a944b00a0a5ab1ae4fa2a",
      "tree": "4a18f0f845acb86210e533c0de10a311dcf98878",
      "parents": [
        "67b1543aced727b150383e55aeb58b1ca0549b4a"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Mon Jul 22 14:11:52 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:14 2024 +0800"
      },
      "message": "selftests/bpf: Clear type bits for start_server_addr\n\nThe types \"sotype | SOCK_NONBLOCK\" are passed to socket_loopback_reuseport\nby some tests in sockmap_listen.c, so they must be handled in helper\nstart_server_addr() too.\n\nThis patch uses SOCK_TYPE_MASK to clear useless bits of \"type\" before check\nwhether it supports listen for connections.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "67b1543aced727b150383e55aeb58b1ca0549b4a",
      "tree": "02f05e8122b3e8a748e8de860a5bd9d7a6d09a6b",
      "parents": [
        "3d2db20d53756fb040b69c257013cd7b4004d806"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Mon Jul 22 14:11:52 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:14 2024 +0800"
      },
      "message": "selftests/bpf: Check listen support for start_server_addr\n\nNo only SOCK_STREAM type supports listen for connections on a socket,\nSOCK_SEQPACKET used in sockmap_listen.c supports it too. This patch\nadds a new helper listen_support() to check whether a given \"type\"\nsupports listen for connections on a socket or not.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "3d2db20d53756fb040b69c257013cd7b4004d806",
      "tree": "bb26b8846d794392e6262c2ff435304b705f14f6",
      "parents": [
        "5ca2c4351715647fd6a51caa4142e3ed5eafe581"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Fri Jun 28 08:39:05 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:13 2024 +0800"
      },
      "message": "selftests/bpf: Use make_sockaddr in sockmap_helpers\n\nAF_VSOCK is supported in make_sockaddr() now, use it to implement\ninit_addr_loopback() in sockmap_helpers.h. Then three local functions\ninit_addr_loopback4(), init_addr_loopback6() and init_addr_loopback_vsock()\ncan be dropped.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "5ca2c4351715647fd6a51caa4142e3ed5eafe581",
      "tree": "333079fd36b6fff5d87ef7242803735e36ba136f",
      "parents": [
        "e3cc86e3102fe4b07547926e1e26df6ff31c3b36"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Fri Jul 19 22:01:41 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:13 2024 +0800"
      },
      "message": "selftests/bpf: Add loopback_addr_str helper\n\nThis patch adds a new helper loopback_addr_str() to get the loopback\naddress string according to the given different protocol family.\n\nAlso use this new helper in start_servers() in migrate_reuseport.c.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "e3cc86e3102fe4b07547926e1e26df6ff31c3b36",
      "tree": "6070ab4c9e632fa98a090f8485b7f20484bfcd03",
      "parents": [
        "c59aaebeee9a11806fc32a41448dbcd0480df452"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Fri Jun 28 08:39:05 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:12 2024 +0800"
      },
      "message": "selftests/bpf: AF_VSOCK support for make_sockaddr\n\nThis patch adds AF_VSOCK support for make_sockaddr(), uses atoi()\nto convert the given addr_str string to an integer id and sets it to\n\"svm_cid\". Set \"svm_port\" as VMADDR_PORT_ANY if the value of port is\nzero.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "c59aaebeee9a11806fc32a41448dbcd0480df452",
      "tree": "80e1bbdb0c2eb2db735d080ff5a85079baa3f750",
      "parents": [
        "c71fbdc093de0c6903bac2d91edacebd869877c5"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Sun Jul 21 00:15:33 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:12 2024 +0800"
      },
      "message": "selftests/bpf: Use start_server_str in crypto_sanity\n\nThis patch uses start_server_str() to start a AF_ALG server in test\ncrypto_sanity, since no listen is needed in this test, nolisten flag\nof network_helper_opts is set.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "c71fbdc093de0c6903bac2d91edacebd869877c5",
      "tree": "a640c96e7a4d3bc32c7cea5bf253c2030cba78dd",
      "parents": [
        "51ff46a0f1bcdf752ac8b7a408045ef089a0af43"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 20:34:34 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:11 2024 +0800"
      },
      "message": "selftests/bpf: Add nolisten for network_helper_opts\n\nThis patch adds a struct member \"nolisten\" for network_helper_opts,\nwhich is used to control whether to invoke listen() or not in\nstart_server_addr().\n\nAlso print out a warning if backlog is set for a type not support\nlisten for connections.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "51ff46a0f1bcdf752ac8b7a408045ef089a0af43",
      "tree": "180642fca1fa5a6d3e150247d4e575a167afa102",
      "parents": [
        "ab2125e6a79efd51e54eb0c8b252b86eb90a5f6e"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 20:36:52 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:11 2024 +0800"
      },
      "message": "selftests/bpf: AF_ALG support for make_sockaddr\n\nThis patch adds AF_ALG support for make_sockaddr(), uses sscanf()\nto parse the given addr_str string to \"salg_type\" and \"salg_name\"\nof struct sockaddr_alg.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "ab2125e6a79efd51e54eb0c8b252b86eb90a5f6e",
      "tree": "75df3ea48115286c2ce02b4b8387e0c3dc26f0ba",
      "parents": [
        "6c7824fbd517d97be40efd15a380dc180ca72651"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 17:58:03 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:10 2024 +0800"
      },
      "message": "selftests/bpf: Use send_to_addr_str in xdp_bonding\n\nThe first user of send_to_addr_str() is send_udp_packets() in xdp_bonding.\nUse sprintf() to generate \"addr_str\" string from ifindex, sll_halen and\nsll_addr, and pass it to send_to_addr_str(). Since IPPROTO_ICMP is used,\nset it as opts.proto and pass opts to the helper too.\n\nUse ASSERT_OK_FD() to check the return fd of send_to_addr_str().\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "6c7824fbd517d97be40efd15a380dc180ca72651",
      "tree": "4d61bc3ada52d39706f3c1de16f72eb2df02c00c",
      "parents": [
        "131a04693fa73649482180d6464dd9574331df80"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Mon Jul 22 14:58:44 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:10 2024 +0800"
      },
      "message": "selftests/bpf: Add send_to_addr_str helper\n\nSimilar to network helper connect_to_addr_str(), this patch adds a new\nhelper send_to_addr_str(). It uses make_sockaddr() to make a\nsockaddr_storage type address from the \"family\", \"addr_str\" and \"port\"\nparameters and passes it to send_to_addr().\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "131a04693fa73649482180d6464dd9574331df80",
      "tree": "adc7b009e7b013b960985fd364cc4dfb59142a51",
      "parents": [
        "220fbd4fc947d17fc6de17e08e778e9dde07f46c"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Mon Jul 22 09:19:07 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:09 2024 +0800"
      },
      "message": "selftests/bpf: Add send_to_fd_opts helper\n\nSimilar to network helpers connect_to_addr() and connect_to_fd_opts(), this\npatch adds two helpers send_to_addr() send_to_fd_opts() to use sendto()\nto send data. They accepts three more parameters \"const void *data\",\n\"size_t datalen\" and \"int flags\" for the sending data. send_to_addr() is a\nstatic function at this moment, only send_to_fd_opts() is exported.\n\nThe first user of send_to_fd_opts() is fastopen_connect() in\nnetwork_helpers.c.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "220fbd4fc947d17fc6de17e08e778e9dde07f46c",
      "tree": "2bba908fba530cde6577c3ce153456113be95c63",
      "parents": [
        "9fc1a0b3df11f7ba297668523d673c13bdb130aa"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 09:47:51 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:09 2024 +0800"
      },
      "message": "selftests/bpf: Use start_server_str in lwt_redirect\n\nAF_PACKET can be passed to start_server_str() now. Use it to simplify\nthe code in lwt_redirect.\n\nIn this test, use sprintf() to save the \"ifindex\" value into addr_str\nstring, then pass it to the helper.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "9fc1a0b3df11f7ba297668523d673c13bdb130aa",
      "tree": "6f8e57c77189b32e2812a313bb413808bff2702e",
      "parents": [
        "a1226accc01ea668d609e0e567f6b8cd4ef33e10"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 20:26:41 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:08 2024 +0800"
      },
      "message": "selftests/bpf: AF_PACKET support for make_sockaddr\n\nThis patch adds AF_PACKET support for make_sockaddr(), uses sscanf()\nto parse the given addr_str string into sll_ifindex, sll_halen and\nsll_addr of sockaddr_ll. Other fields of struct sockaddr_ll are not\nused in BPF selftests right now.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "a1226accc01ea668d609e0e567f6b8cd4ef33e10",
      "tree": "e7536c04cf9686049e32238ec60f8e3cb59ceb1c",
      "parents": [
        "20d0983fb9aaaf5e219ab17ce2d4ca39f5f89a44"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Sun Jul 21 17:15:09 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 21:33:08 2024 +0800"
      },
      "message": "selftests/bpf: Use start_server_str in skc_to_unix_sock\n\nThis patch uses network helper start_server_str() in skc_to_unix_sock\ntest in skc_to_unix_sock.c to simplify the code.\n\nThis is the first time to use start_server_str() for a AF_UNIX socket.\nThe first \"@\" of \"sun_path\" needs to be skipped by make_sockaddr(), so\npath string \"sock_path + 1\" (\"skc_to_unix_sock\") is passed to the helper,\nnot \"sock_path\" (\"@skc_to_unix_sock\").\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "20d0983fb9aaaf5e219ab17ce2d4ca39f5f89a44",
      "tree": "a24ad5d79623aea77401fe8443e6dd7fe0142d65",
      "parents": [
        "8b97a2658d63ad0b4ae6ddb15e6c1c2bf447c9d0"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Thu Jul 11 12:37:55 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 11:21:03 2024 +0800"
      },
      "message": "selftests/bpf: Drop __start_server in network_helpers\n\nThe helper start_server_addr() is a wrapper of __start_server(), the\nonly difference between them is __start_server() accepts a sockaddr type\naddress parameter, but start_server_addr() accepts a sockaddr_storage one.\n\nThis patch drops __start_server(), and updates the callers to invoke\nstart_server_addr() instead.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "8b97a2658d63ad0b4ae6ddb15e6c1c2bf447c9d0",
      "tree": "91382552096f97a508c8e095bb8ba06b73488f15",
      "parents": [
        "0231d7bcee8dbc532ef6813c7304783ffcb5e6e7"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Sat Jul 20 11:13:45 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 11:21:03 2024 +0800"
      },
      "message": "selftests/bpf: Drop inetaddr_len in sk_lookup\n\nNo need to use a dedicated helper inetaddr_len() to get the length of\nthe IPv4 or IPv6 address, it can be got by make_sockaddr(), this patch\ndrops it.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "0231d7bcee8dbc532ef6813c7304783ffcb5e6e7",
      "tree": "e598599b94da5532ac37d2399851653961c1ac1f",
      "parents": [
        "3dd2457168d8b1c2d04c45f4ccbc0275887982da"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Mon Apr 22 09:44:00 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 11:21:02 2024 +0800"
      },
      "message": "selftests/bpf: Drop make_socket in sk_lookup\n\nThis patch uses the public network helers client_socket() + make_sockaddr()\nin sk_lookup.c to create the client socket, set the timeout sockopts, and\nmake the connecting address. The local defined function make_socket()\ncan be dropped then.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "3dd2457168d8b1c2d04c45f4ccbc0275887982da",
      "tree": "1bd8154a649b00140619cdacc4d551918f0ba0a5",
      "parents": [
        "229d6db149426c9d0973c81f9694924d8b75d789"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Mon Apr 22 09:44:00 2024 +0800"
      },
      "committer": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Tue Jul 23 11:21:02 2024 +0800"
      },
      "message": "selftests/bpf: Drop make_client in sk_lookup\n\nThis patch uses the new helper connect_to_addr_str() in sk_lookup.c to\ncreate the client socket and connect to the server, instead of using local\ndefined function make_client(). This local function can be dropped then.\n\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\n"
    },
    {
      "commit": "229d6db149426c9d0973c81f9694924d8b75d789",
      "tree": "1018de4be20113ea8f0f6044b56d8055fcc66f99",
      "parents": [
        "a7ee76b02cc3ac05a4b30073747b8c39173b457e"
      ],
      "author": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 19:08:15 2024 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 19:10:10 2024 -0700"
      },
      "message": "selftests/bpf: Workaround strict bpf_lsm return value check.\n\ntest_progs-no_alu32 -t libbpf_get_fd_by_id_opts\nis being rejected by the verifier with the following error\ndue to compiler optimization:\n\n6: (67) r0 \u003c\u003c\u003d 62                     ; R0_w\u003dscalar(smax\u003d0x4000000000000000,umax\u003d0xc000000000000000,smin32\u003d0,smax32\u003dumax32\u003d0,var_off\u003d(0x0; 0xc000000000000000))\n7: (c7) r0 s\u003e\u003e\u003d 63                    ; R0_w\u003dscalar(smin\u003dsmin32\u003d-1,smax\u003dsmax32\u003d0)\n;  @ test_libbpf_get_fd_by_id_opts.c:0\n8: (57) r0 \u0026\u003d -13                     ; R0_w\u003dscalar(smax\u003d0x7ffffffffffffff3,umax\u003d0xfffffffffffffff3,smax32\u003d0x7ffffff3,umax32\u003d0xfffffff3,var_off\u003d(0x0; 0xfffffffffffffff3))\n; int BPF_PROG(check_access, struct bpf_map *map, fmode_t fmode) @ test_libbpf_get_fd_by_id_opts.c:27\n9: (95) exit\nAt program exit the register R0 has smax\u003d9223372036854775795 should have been in [-4095, 0]\n\nWorkaround by adding barrier().\nEventually the verifier will be able to recognize it.\n\nFixes: af980eb89f06 (\"bpf, lsm: Add check for BPF LSM return value\")\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "a7ee76b02cc3ac05a4b30073747b8c39173b457e",
      "tree": "d71ae71910e1a3042c3e964cf188851f0ff90c13",
      "parents": [
        "cca09a371fa751fc0d61ced0918d81f9621d250e",
        "cc1bfd52e4ca0ddc2bd02d45c76a848ee3e7ce41"
      ],
      "author": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 17:33:28 2024 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 17:43:31 2024 -0700"
      },
      "message": "Merge branch \u0027add-bpf-lsm-return-value-range-check-bpf-part\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\nAdd BPF LSM return value range check, BPF part\n\nFrom: Xu Kuohai \u003cxukuohai@huawei.com\u003e\n\nLSM BPF prog may make kernel panic when returning an unexpected value,\nsuch as returning positive value on hook file_alloc_security.\n\nTo fix it, series [1] refactored LSM hook return values and added\nBPF return value check on top of that. Since the refactoring of LSM\nhooks and checking BPF prog return value patches is not closely related,\nthis series separates BPF-related patches from [1].\n\nv2:\n- Update Shung-Hsi\u0027s patch with [3]\n\nv1: https://lore.kernel.org/bpf/20240719081749.769748-1-xukuohai@huaweicloud.com/\n\nChanges to [1]:\n\n1. Extend LSM disabled list to include hooks refactored in [1] to avoid\n   dependency on the hooks return value refactoring patches.\n\n2. Replace the special case patch for bitwise AND on [-1, 0] with Shung-Hsi\u0027s\n   general bitwise AND improvement patch [2].\n\n3. Remove unused patches.\n\n[1] https://lore.kernel.org/bpf/20240711111908.3817636-1-xukuohai@huaweicloud.com\n    https://lore.kernel.org/bpf/20240711113828.3818398-1-xukuohai@huaweicloud.com\n\n[2] https://lore.kernel.org/bpf/ykuhustu7vt2ilwhl32kj655xfdgdlm2xkl5rff6tw2ycksovp@ss2n4gpjysnw\n\n[3] https://lore.kernel.org/bpf/20240719081702.137173-1-shung-hsi.yu@suse.com/\n\nShung-Hsi Yu (1):\n  bpf, verifier: improve signed ranges inference for BPF_AND\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nLink: https://lore.kernel.org/r/20240719110059.797546-1-xukuohai@huaweicloud.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "cc1bfd52e4ca0ddc2bd02d45c76a848ee3e7ce41",
      "tree": "d71ae71910e1a3042c3e964cf188851f0ff90c13",
      "parents": [
        "2f56fae88135ea369061519f5767a5e55cb7da99"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Fri Jul 19 19:00:59 2024 +0800"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 17:43:30 2024 -0700"
      },
      "message": "selftests/bpf: Add verifier tests for bpf lsm\n\nAdd verifier tests to check bpf lsm return values and disabled hooks.\n\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nLink: https://lore.kernel.org/r/20240719110059.797546-10-xukuohai@huaweicloud.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "2f56fae88135ea369061519f5767a5e55cb7da99",
      "tree": "4aaa7452329c97a1c252fb309df31213d526107d",
      "parents": [
        "fc2baf1730f9c8327e9843a9ca7abadd6d7373e1"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Fri Jul 19 19:00:58 2024 +0800"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 17:35:11 2024 -0700"
      },
      "message": "selftests/bpf: Add test for lsm tail call\n\nAdd test for lsm tail call to ensure tail call can only be used between\nbpf lsm progs attached to the same hook.\n\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nLink: https://lore.kernel.org/r/20240719110059.797546-9-xukuohai@huaweicloud.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "fc2baf1730f9c8327e9843a9ca7abadd6d7373e1",
      "tree": "3691ac988112369bc14e6095397676fb17f398ba",
      "parents": [
        "f81ad29cdf88cd4a74ace9d3e1326fe80dc6e043"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Fri Jul 19 19:00:57 2024 +0800"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 17:35:11 2024 -0700"
      },
      "message": "selftests/bpf: Add return value checks for failed tests\n\nThe return ranges of some bpf lsm test progs can not be deduced by\nthe verifier accurately. To avoid erroneous rejections, add explicit\nreturn value checks for these progs.\n\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nLink: https://lore.kernel.org/r/20240719110059.797546-8-xukuohai@huaweicloud.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "f81ad29cdf88cd4a74ace9d3e1326fe80dc6e043",
      "tree": "7350ccbfcf95ee1181aa7942e55b58eb8abbf413",
      "parents": [
        "9e14de5b9c120fb6611deb182580792e230c9363"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Fri Jul 19 19:00:56 2024 +0800"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 17:35:11 2024 -0700"
      },
      "message": "selftests/bpf: Avoid load failure for token_lsm.c\n\nThe compiler optimized the two bpf progs in token_lsm.c to make return\nvalue from the bool variable in the \"return -1\" path, causing an\nunexpected rejection:\n\n0: R1\u003dctx() R10\u003dfp0\n; int BPF_PROG(bpf_token_capable, struct bpf_token *token, int cap) @ bpf_lsm.c:17\n0: (b7) r6 \u003d 0                        ; R6_w\u003d0\n; if (my_pid \u003d\u003d 0 || my_pid !\u003d (bpf_get_current_pid_tgid() \u003e\u003e 32)) @ bpf_lsm.c:19\n1: (18) r1 \u003d 0xffffc9000102a000       ; R1_w\u003dmap_value(map\u003dbpf_lsm.bss,ks\u003d4,vs\u003d5)\n3: (61) r7 \u003d *(u32 *)(r1 +0)          ; R1_w\u003dmap_value(map\u003dbpf_lsm.bss,ks\u003d4,vs\u003d5) R7_w\u003dscalar(smin\u003d0,smax\u003dumax\u003d0xffffffff,var_off\u003d(0x0; 0xffffffff))\n4: (15) if r7 \u003d\u003d 0x0 goto pc+11       ; R7_w\u003dscalar(smin\u003dumin\u003dumin32\u003d1,smax\u003dumax\u003d0xffffffff,var_off\u003d(0x0; 0xffffffff))\n5: (67) r7 \u003c\u003c\u003d 32                     ; R7_w\u003dscalar(smax\u003d0x7fffffff00000000,umax\u003d0xffffffff00000000,smin32\u003d0,smax32\u003dumax32\u003d0,var_off\u003d(0x0; 0xffffffff00000000))\n6: (c7) r7 s\u003e\u003e\u003d 32                    ; R7_w\u003dscalar(smin\u003d0xffffffff80000000,smax\u003d0x7fffffff)\n7: (85) call bpf_get_current_pid_tgid#14      ; R0\u003dscalar()\n8: (77) r0 \u003e\u003e\u003d 32                     ; R0_w\u003dscalar(smin\u003d0,smax\u003dumax\u003d0xffffffff,var_off\u003d(0x0; 0xffffffff))\n9: (5d) if r0 !\u003d r7 goto pc+6         ; R0_w\u003dscalar(smin\u003dsmin32\u003d0,smax\u003dumax\u003dumax32\u003d0x7fffffff,var_off\u003d(0x0; 0x7fffffff)) R7\u003dscalar(smin\u003dsmin32\u003d0,smax\u003dumax\u003dumax32\u003d0x7fffffff,var_off\u003d(0x0; 0x7fffffff))\n; if (reject_capable) @ bpf_lsm.c:21\n10: (18) r1 \u003d 0xffffc9000102a004      ; R1_w\u003dmap_value(map\u003dbpf_lsm.bss,ks\u003d4,vs\u003d5,off\u003d4)\n12: (71) r6 \u003d *(u8 *)(r1 +0)          ; R1_w\u003dmap_value(map\u003dbpf_lsm.bss,ks\u003d4,vs\u003d5,off\u003d4) R6_w\u003dscalar(smin\u003dsmin32\u003d0,smax\u003dumax\u003dsmax32\u003dumax32\u003d255,var_off\u003d(0x0; 0xff))\n;  @ bpf_lsm.c:0\n13: (87) r6 \u003d -r6                     ; R6_w\u003dscalar()\n14: (67) r6 \u003c\u003c\u003d 56                    ; R6_w\u003dscalar(smax\u003d0x7f00000000000000,umax\u003d0xff00000000000000,smin32\u003d0,smax32\u003dumax32\u003d0,var_off\u003d(0x0; 0xff00000000000000))\n15: (c7) r6 s\u003e\u003e\u003d 56                   ; R6_w\u003dscalar(smin\u003dsmin32\u003d-128,smax\u003dsmax32\u003d127)\n; int BPF_PROG(bpf_token_capable, struct bpf_token *token, int cap) @ bpf_lsm.c:17\n16: (bf) r0 \u003d r6                      ; R0_w\u003dscalar(id\u003d1,smin\u003dsmin32\u003d-128,smax\u003dsmax32\u003d127) R6_w\u003dscalar(id\u003d1,smin\u003dsmin32\u003d-128,smax\u003dsmax32\u003d127)\n17: (95) exit\nAt program exit the register R0 has smin\u003d-128 smax\u003d127 should have been in [-4095, 0]\n\nTo avoid this failure, change the variable type from bool to int.\n\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nLink: https://lore.kernel.org/r/20240719110059.797546-7-xukuohai@huaweicloud.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "9e14de5b9c120fb6611deb182580792e230c9363",
      "tree": "14e68c85506182085e5beb81dd4fd0ff4fb751f8",
      "parents": [
        "b39ffa50b41541a23adc88ac456601ea28e82b26"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Fri Jul 19 19:00:54 2024 +0800"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 17:33:27 2024 -0700"
      },
      "message": "bpf: Fix compare error in function retval_range_within\n\nAfter checking lsm hook return range in verifier, the test case\n\"test_progs -t test_lsm\" failed, and the failure log says:\n\nlibbpf: prog \u0027test_int_hook\u0027: BPF program load failed: Invalid argument\nlibbpf: prog \u0027test_int_hook\u0027: -- BEGIN PROG LOAD LOG --\n0: R1\u003dctx() R10\u003dfp0\n; int BPF_PROG(test_int_hook, struct vm_area_struct *vma, @ lsm.c:89\n0: (79) r0 \u003d *(u64 *)(r1 +24)         ; R0_w\u003dscalar(smin\u003dsmin32\u003d-4095,smax\u003dsmax32\u003d0) R1\u003dctx()\n\n[...]\n\n24: (b4) w0 \u003d -1                      ; R0_w\u003d0xffffffff\n; int BPF_PROG(test_int_hook, struct vm_area_struct *vma, @ lsm.c:89\n25: (95) exit\nAt program exit the register R0 has smin\u003d4294967295 smax\u003d4294967295 should have been in [-4095, 0]\n\nIt can be seen that instruction \"w0 \u003d -1\" zero extended -1 to 64-bit\nregister r0, setting both smin and smax values of r0 to 4294967295.\nThis resulted in a false reject when r0 was checked with range [-4095, 0].\n\nGiven bpf lsm does not return 64-bit values, this patch fixes it by changing\nthe compare between r0 and return range from 64-bit operation to 32-bit\noperation for bpf lsm.\n\nFixes: 8fa4ecd49b81 (\"bpf: enforce exact retval range on subprog/callback exit\")\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nAcked-by: Shung-Hsi Yu \u003cshung-hsi.yu@suse.com\u003e\nLink: https://lore.kernel.org/r/20240719110059.797546-5-xukuohai@huaweicloud.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "b39ffa50b41541a23adc88ac456601ea28e82b26",
      "tree": "e6db9429c8321a746bc080056140d6bebc56f9dc",
      "parents": [
        "af980eb89f066d6f43ebb6d73af4411e9839c8a2"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Fri Jul 19 19:00:53 2024 +0800"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 17:33:27 2024 -0700"
      },
      "message": "bpf: Prevent tail call between progs attached to different hooks\n\nbpf progs can be attached to kernel functions, and the attached functions\ncan take different parameters or return different return values. If\nprog attached to one kernel function tail calls prog attached to another\nkernel function, the ctx access or return value verification could be\nbypassed.\n\nFor example, if prog1 is attached to func1 which takes only 1 parameter\nand prog2 is attached to func2 which takes two parameters. Since verifier\nassumes the bpf ctx passed to prog2 is constructed based on func2\u0027s\nprototype, verifier allows prog2 to access the second parameter from\nthe bpf ctx passed to it. The problem is that verifier does not prevent\nprog1 from passing its bpf ctx to prog2 via tail call. In this case,\nthe bpf ctx passed to prog2 is constructed from func1 instead of func2,\nthat is, the assumption for ctx access verification is bypassed.\n\nAnother example, if BPF LSM prog1 is attached to hook file_alloc_security,\nand BPF LSM prog2 is attached to hook bpf_lsm_audit_rule_known. Verifier\nknows the return value rules for these two hooks, e.g. it is legal for\nbpf_lsm_audit_rule_known to return positive number 1, and it is illegal\nfor file_alloc_security to return positive number. So verifier allows\nprog2 to return positive number 1, but does not allow prog1 to return\npositive number. The problem is that verifier does not prevent prog1\nfrom calling prog2 via tail call. In this case, prog2\u0027s return value 1\nwill be used as the return value for prog1\u0027s hook file_alloc_security.\nThat is, the return value rule is bypassed.\n\nThis patch adds restriction for tail call to prevent such bypasses.\n\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nLink: https://lore.kernel.org/r/20240719110059.797546-4-xukuohai@huaweicloud.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "af980eb89f066d6f43ebb6d73af4411e9839c8a2",
      "tree": "8a84ddffeffe3ac5798ca5d1629dab91ff747258",
      "parents": [
        "afe4588df73fa77d7c141627de32799b4c1b2202"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Fri Jul 19 19:00:52 2024 +0800"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 17:33:27 2024 -0700"
      },
      "message": "bpf, lsm: Add check for BPF LSM return value\n\nA bpf prog returning a positive number attached to file_alloc_security\nhook makes kernel panic.\n\nThis happens because file system can not filter out the positive number\nreturned by the LSM prog using IS_ERR, and misinterprets this positive\nnumber as a file pointer.\n\nGiven that hook file_alloc_security never returned positive number\nbefore the introduction of BPF LSM, and other BPF LSM hooks may\nencounter similar issues, this patch adds LSM return value check\nin verifier, to ensure no unexpected value is returned.\n\nFixes: 520b7aa00d8c (\"bpf: lsm: Initialize the BPF LSM hooks\")\nReported-by: Xin Liu \u003cliuxin350@huawei.com\u003e\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nAcked-by: Eduard Zingerman \u003ceddyz87@gmail.com\u003e\nLink: https://lore.kernel.org/r/20240719110059.797546-3-xukuohai@huaweicloud.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "afe4588df73fa77d7c141627de32799b4c1b2202",
      "tree": "2e67d36d1908f833cce6f2ec8dafe7ec37fb6d82",
      "parents": [
        "cca09a371fa751fc0d61ced0918d81f9621d250e"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Fri Jul 19 19:00:51 2024 +0800"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 17:33:27 2024 -0700"
      },
      "message": "bpf, lsm: Add disabled BPF LSM hook list\n\nAdd a disabled hooks list for BPF LSM. progs being attached to the\nlisted hooks will be rejected by the verifier.\n\nSuggested-by: KP Singh \u003ckpsingh@kernel.org\u003e\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nLink: https://lore.kernel.org/r/20240719110059.797546-2-xukuohai@huaweicloud.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "cca09a371fa751fc0d61ced0918d81f9621d250e",
      "tree": "6053117bc70b86bb7dfe73ce474f1b74f66559df",
      "parents": [
        "6d5848d4fe984d3960efe151a79a4431ca581d77",
        "4979996ac0fb9588da86ec55a61e5b088d9a4918"
      ],
      "author": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 12:21:22 2024 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 12:21:23 2024 -0700"
      },
      "message": "Merge branch \u0027bpf-retire-the-unsupported_ops-usage-in-struct_ops\u0027\n\nMartin KaFai Lau says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nbpf: Retire the unsupported_ops usage in struct_ops\n\nFrom: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\n\nThis series retires the unsupported_ops usage and depends on the\nnull-ness check on the cfi_stubs instead.\n\nPlease see individual patches for details.\n\nv2:\n- Fixed a gcc compiler warning on Patch 1.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nLink: https://lore.kernel.org/r/20240722183049.2254692-1-martin.lau@linux.dev\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "4979996ac0fb9588da86ec55a61e5b088d9a4918",
      "tree": "6053117bc70b86bb7dfe73ce474f1b74f66559df",
      "parents": [
        "b794efaacc955db314b73da207cf70fa0b5151b3"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Mon Jul 22 11:30:47 2024 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 12:21:22 2024 -0700"
      },
      "message": "selftests/bpf: Ensure the unsupported struct_ops prog cannot be loaded\n\nThere is an existing \"bpf_tcp_ca/unsupp_cong_op\" test to ensure\nthe unsupported tcp-cc \"get_info\" struct_ops prog cannot be loaded.\n\nThis patch adds a new test in the bpf_testmod such that the\nunsupported ops test does not depend on other kernel subsystem\nwhere its supporting ops may be changed in the future.\n\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240722183049.2254692-4-martin.lau@linux.dev\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "b794efaacc955db314b73da207cf70fa0b5151b3",
      "tree": "8ba07d684ecd1732de73396bbf57ea150390872f",
      "parents": [
        "50affe28672e8f3074de8f1f5e3d95c820c64066"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Mon Jul 22 11:30:46 2024 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 12:21:22 2024 -0700"
      },
      "message": "selftests/bpf: Fix the missing tramp_1 to tramp_40 ops in cfi_stubs\n\nThe tramp_1 to tramp_40 ops is not set in the cfi_stubs in the\nbpf_testmod_ops. It fails the struct_ops_multi_pages test after\nretiring the unsupported_ops in the earlier patch.\n\nThis patch initializes them in a loop during the bpf_testmod_init().\n\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240722183049.2254692-3-martin.lau@linux.dev\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "50affe28672e8f3074de8f1f5e3d95c820c64066",
      "tree": "8e78f12fe8c24524eed0eca4fb06e6ad2c5f050f",
      "parents": [
        "6d5848d4fe984d3960efe151a79a4431ca581d77"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Mon Jul 22 11:30:45 2024 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Mon Jul 22 12:21:22 2024 -0700"
      },
      "message": "bpf: Check unsupported ops from the bpf_struct_ops\u0027s cfi_stubs\n\nThe bpf_tcp_ca struct_ops currently uses a \"u32 unsupported_ops[]\"\narray to track which ops is not supported.\n\nAfter cfi_stubs had been added, the function pointer in cfi_stubs is\nalso NULL for the unsupported ops. Thus, the \"u32 unsupported_ops[]\"\nbecomes redundant. This observation was originally brought up in the\nbpf/cfi discussion:\nhttps://lore.kernel.org/bpf/CAADnVQJoEkdjyCEJRPASjBw1QGsKYrF33QdMGc1RZa9b88bAEA@mail.gmail.com/\n\nThe recent bpf qdisc patch (https://lore.kernel.org/bpf/20240714175130.4051012-6-amery.hung@bytedance.com/)\nalso needs to specify quite many unsupported ops. It is a good time\nto clean it up.\n\nThis patch removes the need of \"u32 unsupported_ops[]\" and tests for null-ness\nin the cfi_stubs instead.\n\nTesting the cfi_stubs is done in a new function bpf_struct_ops_supported().\nThe verifier will call bpf_struct_ops_supported() when loading the\nstruct_ops program. The \".check_member\" is removed from the bpf_tcp_ca\nin this patch. \".check_member\" could still be useful for other subsytems\nto enforce other restrictions (e.g. sched_ext checks for prog-\u003esleepable).\n\nTo keep the same error return, ENOTSUPP is used.\n\nCc: Amery Hung \u003cameryhung@gmail.com\u003e\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240722183049.2254692-2-martin.lau@linux.dev\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "6d5848d4fe984d3960efe151a79a4431ca581d77",
      "tree": "0f09a0f71de5f844e39d2be1ab4c71491f36557f",
      "parents": [
        "0445e0c5c2e177ef126e2b54f5c57882d66490f4"
      ],
      "author": {
        "name": "Tao Chen",
        "email": "chen.dylane@gmail.com",
        "time": "Sun Jul 21 22:42:52 2024 +0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Jul 22 16:42:57 2024 +0200"
      },
      "message": "bpftool: Add document for net attach/detach on tcx subcommand\n\nThis commit adds sample output for net attach/detach on\ntcx subcommand.\n\nSigned-off-by: Tao Chen \u003cchen.dylane@gmail.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nAcked-by: Quentin Monnet \u003cqmo@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20240721144252.96264-1-chen.dylane@gmail.com\n"
    },
    {
      "commit": "0445e0c5c2e177ef126e2b54f5c57882d66490f4",
      "tree": "e33c62073641eb7dc64382cfdb0fc96b59a1cd09",
      "parents": [
        "7f1cfa6b64c6979fe20dd094c9825d5b34b8849c"
      ],
      "author": {
        "name": "Tao Chen",
        "email": "chen.dylane@gmail.com",
        "time": "Sun Jul 21 22:42:38 2024 +0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Jul 22 16:42:57 2024 +0200"
      },
      "message": "bpftool: Add bash-completion for tcx subcommand\n\nThis commit adds bash-completion for attaching tcx program on interface.\n\nSigned-off-by: Tao Chen \u003cchen.dylane@gmail.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nAcked-by: Quentin Monnet \u003cqmo@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20240721144238.96246-1-chen.dylane@gmail.com\n"
    },
    {
      "commit": "7f1cfa6b64c6979fe20dd094c9825d5b34b8849c",
      "tree": "6d863014de4e0d59f199903eec74833542a26855",
      "parents": [
        "f408126f7b334e770775ce056d95ecbdb00c786a"
      ],
      "author": {
        "name": "Tao Chen",
        "email": "chen.dylane@gmail.com",
        "time": "Sun Jul 21 22:42:21 2024 +0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Jul 22 16:42:57 2024 +0200"
      },
      "message": "bpftool: Add net attach/detach command to tcx prog\n\nNow, attach/detach tcx prog supported in libbpf, so we can add new\ncommand \u0027bpftool attach/detach tcx\u0027 to attach tcx prog with bpftool\nfor user.\n\n # bpftool prog load tc_prog.bpf.o /sys/fs/bpf/tc_prog\n # bpftool prog show\n\t...\n\t192: sched_cls  name tc_prog  tag 187aeb611ad00cfc  gpl\n\tloaded_at 2024-07-11T15:58:16+0800  uid 0\n\txlated 152B  jited 97B  memlock 4096B  map_ids 100,99,97\n\tbtf_id 260\n # bpftool net attach tcx_ingress name tc_prog dev lo\n # bpftool net\n\t...\n\ttc:\n\tlo(1) tcx/ingress tc_prog prog_id 29\n\n # bpftool net detach tcx_ingress dev lo\n # bpftool net\n\t...\n\ttc:\n # bpftool net attach tcx_ingress name tc_prog dev lo\n # bpftool net\n\ttc:\n\tlo(1) tcx/ingress tc_prog prog_id 29\n\nTest environment: ubuntu_22_04, 6.7.0-060700-generic\n\nSigned-off-by: Tao Chen \u003cchen.dylane@gmail.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nAcked-by: Quentin Monnet \u003cqmo@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20240721144221.96228-1-chen.dylane@gmail.com\n"
    },
    {
      "commit": "f408126f7b334e770775ce056d95ecbdb00c786a",
      "tree": "d2c029f3cf69fa8365be9dfcdf4b96c383bda4d4",
      "parents": [
        "0986ac1408abe78e5183c597a9460e62769789ce"
      ],
      "author": {
        "name": "Tao Chen",
        "email": "chen.dylane@gmail.com",
        "time": "Sun Jul 21 22:33:50 2024 +0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Jul 22 16:42:57 2024 +0200"
      },
      "message": "bpftool: Refactor xdp attach/detach type judgment\n\nThis commit no logical changed, just increases code readability and\nfacilitates TCX prog expansion, which will be implemented in the next\npatch.\n\nSigned-off-by: Tao Chen \u003cchen.dylane@gmail.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nAcked-by: Quentin Monnet \u003cqmo@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20240721143353.95980-2-chen.dylane@gmail.com\n"
    },
    {
      "commit": "0986ac1408abe78e5183c597a9460e62769789ce",
      "tree": "9e2e806290120644caa1f8bc7b529bcc74d8d9ba",
      "parents": [
        "9f890b8f891fadb0d85d700e10838a2ef782c6f9",
        "92a227f6191191b2fe27b26c3c05ae038f5024ca"
      ],
      "author": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Jul 19 19:47:02 2024 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Jul 19 19:47:17 2024 -0700"
      },
      "message": "Merge branch \u0027bpf-fix-tailcall-hierarchy\u0027\n\nLeon Hwang 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 tailcall hierarchy\n\nThis patchset fixes a tailcall hierarchy issue.\n\nThe issue is confirmed in the discussions of\n\"bpf, x64: Fix tailcall infinite loop\" [0].\n\nThe issue has been resolved on both x86_64 and arm64 [1].\n\nI provide a long commit message in the \"bpf, x64: Fix tailcall hierarchy\"\npatch to describe how the issue happens and how this patchset resolves the\nissue in details.\n\nHow does this patchset resolve the issue?\n\nIn short, it stores tail_call_cnt on the stack of main prog, and propagates\ntail_call_cnt_ptr to its subprogs.\n\nFirst, at the prologue of main prog, it initializes tail_call_cnt and\nprepares tail_call_cnt_ptr. And at the prologue of subprog, it reuses\nthe tail_call_cnt_ptr from caller.\n\nThen, when a tailcall happens, it increments tail_call_cnt by its pointer.\n\nv5 -\u003e v6:\n  * Address comments from Eduard:\n    * Add JITed dumping along annotating comments\n    * Rewrite two selftests with RUN_TESTS macro.\n\nv4 -\u003e v5:\n  * Solution changes from tailcall run ctx to tail_call_cnt and its pointer.\n    It\u0027s because v4 solution is unable to handle the case that there is no\n    tailcall in subprog but there is tailcall in EXT prog which attaches to\n    the subprog.\n\nv3 -\u003e v4:\n  * Solution changes from per-task tail_call_cnt to tailcall run ctx.\n    As for per-cpu/per-task solution, there is a case it is unable to handle [2].\n\nv2 -\u003e v3:\n  * Solution changes from percpu tail_call_cnt to tail_call_cnt at task_struct.\n\nv1 -\u003e v2:\n  * Solution changes from extra run-time call insn to percpu tail_call_cnt.\n  * Address comments from Alexei:\n    * Use percpu tail_call_cnt.\n    * Use asm to make sure no callee saved registers are touched.\n\nRFC v2 -\u003e v1:\n  * Solution changes from propagating tail_call_cnt with its pointer to extra\n    run-time call insn.\n  * Address comments from Maciej:\n    * Replace all memcpy(prog, x86_nops[5], X86_PATCH_SIZE) with\n        emit_nops(\u0026prog, X86_PATCH_SIZE)\n\nRFC v1 -\u003e RFC v2:\n  * Address comments from Stanislav:\n    * Separate moving emit_nops() as first patch.\n\nLinks:\n[0] https://lore.kernel.org/bpf/6203dd01-789d-f02c-5293-def4c1b18aef@gmail.com/\n[1] https://github.com/kernel-patches/bpf/pull/7350/checks\n[2] https://lore.kernel.org/bpf/CAADnVQK1qF+uBjwom2s2W-yEmgd_3rGi5Nr+KiV3cW0T+UPPfA@mail.gmail.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://lore.kernel.org/r/20240714123902.32305-1-hffilwlqm@gmail.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "92a227f6191191b2fe27b26c3c05ae038f5024ca",
      "tree": "9e2e806290120644caa1f8bc7b529bcc74d8d9ba",
      "parents": [
        "a53c0f324aed9f8883f96b8f90b296420218e581"
      ],
      "author": {
        "name": "Leon Hwang",
        "email": "hffilwlqm@gmail.com",
        "time": "Sun Jul 14 20:39:02 2024 +0800"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Jul 19 19:47:01 2024 -0700"
      },
      "message": "selftests/bpf: Add testcases for tailcall hierarchy fixing\n\nAdd some test cases to confirm the tailcall hierarchy issue has been fixed.\n\nOn x64, the selftests result is:\n\ncd tools/testing/selftests/bpf \u0026\u0026 ./test_progs -t tailcalls\n327/18  tailcalls/tailcall_bpf2bpf_hierarchy_1:OK\n327/19  tailcalls/tailcall_bpf2bpf_hierarchy_fentry:OK\n327/20  tailcalls/tailcall_bpf2bpf_hierarchy_fexit:OK\n327/21  tailcalls/tailcall_bpf2bpf_hierarchy_fentry_fexit:OK\n327/22  tailcalls/tailcall_bpf2bpf_hierarchy_fentry_entry:OK\n327/23  tailcalls/tailcall_bpf2bpf_hierarchy_2:OK\n327/24  tailcalls/tailcall_bpf2bpf_hierarchy_3:OK\n327     tailcalls:OK\nSummary: 1/24 PASSED, 0 SKIPPED, 0 FAILED\n\nOn arm64, the selftests result is:\n\ncd tools/testing/selftests/bpf \u0026\u0026 ./test_progs -t tailcalls\n327/18  tailcalls/tailcall_bpf2bpf_hierarchy_1:OK\n327/19  tailcalls/tailcall_bpf2bpf_hierarchy_fentry:OK\n327/20  tailcalls/tailcall_bpf2bpf_hierarchy_fexit:OK\n327/21  tailcalls/tailcall_bpf2bpf_hierarchy_fentry_fexit:OK\n327/22  tailcalls/tailcall_bpf2bpf_hierarchy_fentry_entry:OK\n327/23  tailcalls/tailcall_bpf2bpf_hierarchy_2:OK\n327/24  tailcalls/tailcall_bpf2bpf_hierarchy_3:OK\n327     tailcalls:OK\nSummary: 1/24 PASSED, 0 SKIPPED, 0 FAILED\n\nAcked-by: Eduard Zingerman \u003ceddyz87@gmail.com\u003e\nSigned-off-by: Leon Hwang \u003chffilwlqm@gmail.com\u003e\nLink: https://lore.kernel.org/r/20240714123902.32305-4-hffilwlqm@gmail.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "a53c0f324aed9f8883f96b8f90b296420218e581",
      "tree": "01410d0faf03fcd3af892d334e9207217fd38fb1",
      "parents": [
        "00ac9693a3baf3d05e72a6c5256e988161e45b25"
      ],
      "author": {
        "name": "Leon Hwang",
        "email": "hffilwlqm@gmail.com",
        "time": "Sun Jul 14 20:39:01 2024 +0800"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Jul 19 19:47:01 2024 -0700"
      },
      "message": "bpf, arm64: Fix tailcall hierarchy\n\nThis patch fixes a tailcall issue caused by abusing the tailcall in\nbpf2bpf feature on arm64 like the way of \"bpf, x64: Fix tailcall\nhierarchy\".\n\nOn arm64, when a tail call happens, it uses tail_call_cnt_ptr to\nincrement tail_call_cnt, too.\n\nAt the prologue of main prog, it has to initialize tail_call_cnt and\nprepare tail_call_cnt_ptr.\n\nAt the prologue of subprog, it pushes x26 register twice, and does not\ninitialize tail_call_cnt.\n\nAt the epilogue, it pops x26 twice, no matter whether it is main prog or\nsubprog.\n\nFixes: d4609a5d8c70 (\"bpf, arm64: Keep tail call count across bpf2bpf calls\")\nAcked-by: Puranjay Mohan \u003cpuranjay@kernel.org\u003e\nSigned-off-by: Leon Hwang \u003chffilwlqm@gmail.com\u003e\nLink: https://lore.kernel.org/r/20240714123902.32305-3-hffilwlqm@gmail.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "00ac9693a3baf3d05e72a6c5256e988161e45b25",
      "tree": "93231eac4bd42338115516a5ac04244977ef8b68",
      "parents": [
        "9f890b8f891fadb0d85d700e10838a2ef782c6f9"
      ],
      "author": {
        "name": "Leon Hwang",
        "email": "hffilwlqm@gmail.com",
        "time": "Sun Jul 14 20:39:00 2024 +0800"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Jul 19 19:47:01 2024 -0700"
      },
      "message": "bpf, x64: Fix tailcall hierarchy\n\nThis patch fixes a tailcall issue caused by abusing the tailcall in\nbpf2bpf feature.\n\nAs we know, tail_call_cnt propagates by rax from caller to callee when\nto call subprog in tailcall context. But, like the following example,\nMAX_TAIL_CALL_CNT won\u0027t work because of missing tail_call_cnt\nback-propagation from callee to caller.\n\n\\#include \u003clinux/bpf.h\u003e\n\\#include \u003cbpf/bpf_helpers.h\u003e\n\\#include \"bpf_legacy.h\"\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PROG_ARRAY);\n\t__uint(max_entries, 1);\n\t__uint(key_size, sizeof(__u32));\n\t__uint(value_size, sizeof(__u32));\n} jmp_table SEC(\".maps\");\n\nint count \u003d 0;\n\nstatic __noinline\nint subprog_tail1(struct __sk_buff *skb)\n{\n\tbpf_tail_call_static(skb, \u0026jmp_table, 0);\n\treturn 0;\n}\n\nstatic __noinline\nint subprog_tail2(struct __sk_buff *skb)\n{\n\tbpf_tail_call_static(skb, \u0026jmp_table, 0);\n\treturn 0;\n}\n\nSEC(\"tc\")\nint entry(struct __sk_buff *skb)\n{\n\tvolatile int ret \u003d 1;\n\n\tcount++;\n\tsubprog_tail1(skb);\n\tsubprog_tail2(skb);\n\n\treturn ret;\n}\n\nchar __license[] SEC(\"license\") \u003d \"GPL\";\n\nAt run time, the tail_call_cnt in entry() will be propagated to\nsubprog_tail1() and subprog_tail2(). But, when the tail_call_cnt in\nsubprog_tail1() updates when bpf_tail_call_static(), the tail_call_cnt\nin entry() won\u0027t be updated at the same time. As a result, in entry(),\nwhen tail_call_cnt in entry() is less than MAX_TAIL_CALL_CNT and\nsubprog_tail1() returns because of MAX_TAIL_CALL_CNT limit,\nbpf_tail_call_static() in suprog_tail2() is able to run because the\ntail_call_cnt in subprog_tail2() propagated from entry() is less than\nMAX_TAIL_CALL_CNT.\n\nSo, how many tailcalls are there for this case if no error happens?\n\nFrom top-down view, does it look like hierarchy layer and layer?\n\nWith this view, there will be 2+4+8+...+2^33 \u003d 2^34 - 2 \u003d 17,179,869,182\ntailcalls for this case.\n\nHow about there are N subprog_tail() in entry()? There will be almost\nN^34 tailcalls.\n\nThen, in this patch, it resolves this case on x86_64.\n\nIn stead of propagating tail_call_cnt from caller to callee, it\npropagates its pointer, tail_call_cnt_ptr, tcc_ptr for short.\n\nHowever, where does it store tail_call_cnt?\n\nIt stores tail_call_cnt on the stack of main prog. When tail call\nhappens in subprog, it increments tail_call_cnt by tcc_ptr.\n\nMeanwhile, it stores tail_call_cnt_ptr on the stack of main prog, too.\n\nAnd, before jump to tail callee, it has to pop tail_call_cnt and\ntail_call_cnt_ptr.\n\nThen, at the prologue of subprog, it must not make rax as\ntail_call_cnt_ptr again. It has to reuse tail_call_cnt_ptr from caller.\n\nAs a result, at run time, it has to recognize rax is tail_call_cnt or\ntail_call_cnt_ptr at prologue by:\n\n1. rax is tail_call_cnt if rax is \u003c\u003d MAX_TAIL_CALL_CNT.\n2. rax is tail_call_cnt_ptr if rax is \u003e MAX_TAIL_CALL_CNT, because a\n   pointer won\u0027t be \u003c\u003d MAX_TAIL_CALL_CNT.\n\nHere\u0027s an example to dump JITed.\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PROG_ARRAY);\n\t__uint(max_entries, 1);\n\t__uint(key_size, sizeof(__u32));\n\t__uint(value_size, sizeof(__u32));\n} jmp_table SEC(\".maps\");\n\nint count \u003d 0;\n\nstatic __noinline\nint subprog_tail(struct __sk_buff *skb)\n{\n\tbpf_tail_call_static(skb, \u0026jmp_table, 0);\n\treturn 0;\n}\n\nSEC(\"tc\")\nint entry(struct __sk_buff *skb)\n{\n\tint ret \u003d 1;\n\n\tcount++;\n\tsubprog_tail(skb);\n\tsubprog_tail(skb);\n\n\treturn ret;\n}\n\nWhen bpftool p d j id 42:\n\nint entry(struct __sk_buff * skb):\nbpf_prog_0c0f4c2413ef19b1_entry:\n; int entry(struct __sk_buff *skb)\n   0:\tendbr64\n   4:\tnopl\t(%rax,%rax)\n   9:\txorq\t%rax, %rax\t\t;; rax \u003d 0 (tail_call_cnt)\n   c:\tpushq\t%rbp\n   d:\tmovq\t%rsp, %rbp\n  10:\tendbr64\n  14:\tcmpq\t$33, %rax\t\t;; if rax \u003e 33, rax \u003d tcc_ptr\n  18:\tja\t0x20\t\t\t;; if rax \u003e 33 goto 0x20 ---+\n  1a:\tpushq\t%rax\t\t\t;; [rbp - 8] \u003d rax \u003d 0      |\n  1b:\tmovq\t%rsp, %rax\t\t;; rax \u003d rbp - 8            |\n  1e:\tjmp\t0x21\t\t\t;; ---------+               |\n  20:\tpushq\t%rax\t\t\t;; \u003c--------|---------------+\n  21:\tpushq\t%rax\t\t\t;; \u003c--------+ [rbp - 16] \u003d rax\n  22:\tpushq\t%rbx\t\t\t;; callee saved\n  23:\tmovq\t%rdi, %rbx\t\t;; rbx \u003d skb (callee saved)\n; count++;\n  26:\tmovabsq\t$-82417199407104, %rdi\n  30:\tmovl\t(%rdi), %esi\n  33:\taddl\t$1, %esi\n  36:\tmovl\t%esi, (%rdi)\n; subprog_tail(skb);\n  39:\tmovq\t%rbx, %rdi\t\t;; rdi \u003d skb\n  3c:\tmovq\t-16(%rbp), %rax\t\t;; rax \u003d tcc_ptr\n  43:\tcallq\t0x80\t\t\t;; call subprog_tail()\n; subprog_tail(skb);\n  48:\tmovq\t%rbx, %rdi\t\t;; rdi \u003d skb\n  4b:\tmovq\t-16(%rbp), %rax\t\t;; rax \u003d tcc_ptr\n  52:\tcallq\t0x80\t\t\t;; call subprog_tail()\n; return ret;\n  57:\tmovl\t$1, %eax\n  5c:\tpopq\t%rbx\n  5d:\tleave\n  5e:\tretq\n\nint subprog_tail(struct __sk_buff * skb):\nbpf_prog_3a140cef239a4b4f_subprog_tail:\n; int subprog_tail(struct __sk_buff *skb)\n   0:\tendbr64\n   4:\tnopl\t(%rax,%rax)\n   9:\tnopl\t(%rax)\t\t\t;; do not touch tail_call_cnt\n   c:\tpushq\t%rbp\n   d:\tmovq\t%rsp, %rbp\n  10:\tendbr64\n  14:\tpushq\t%rax\t\t\t;; [rbp - 8]  \u003d rax (tcc_ptr)\n  15:\tpushq\t%rax\t\t\t;; [rbp - 16] \u003d rax (tcc_ptr)\n  16:\tpushq\t%rbx\t\t\t;; callee saved\n  17:\tpushq\t%r13\t\t\t;; callee saved\n  19:\tmovq\t%rdi, %rbx\t\t;; rbx \u003d skb\n; asm volatile(\"r1 \u003d %[ctx]\\n\\t\"\n  1c:\tmovabsq\t$-105487587488768, %r13\t;; r13 \u003d jmp_table\n  26:\tmovq\t%rbx, %rdi\t\t;; 1st arg, skb\n  29:\tmovq\t%r13, %rsi\t\t;; 2nd arg, jmp_table\n  2c:\txorl\t%edx, %edx\t\t;; 3rd arg, index \u003d 0\n  2e:\tmovq\t-16(%rbp), %rax\t\t;; rax \u003d [rbp - 16] (tcc_ptr)\n  35:\tcmpq\t$33, (%rax)\n  39:\tjae\t0x4e\t\t\t;; if *tcc_ptr \u003e\u003d 33 goto 0x4e --------+\n  3b:\tjmp\t0x4e\t\t\t;; jmp bypass, toggled by poking       |\n  40:\taddq\t$1, (%rax)\t\t;; (*tcc_ptr)++                        |\n  44:\tpopq\t%r13\t\t\t;; callee saved                        |\n  46:\tpopq\t%rbx\t\t\t;; callee saved                        |\n  47:\tpopq\t%rax\t\t\t;; undo rbp-16 push                    |\n  48:\tpopq\t%rax\t\t\t;; undo rbp-8  push                    |\n  49:\tnopl\t(%rax,%rax)\t\t;; tail call target, toggled by poking |\n; return 0;\t\t\t\t;;                                     |\n  4e:\tpopq\t%r13\t\t\t;; restore callee saved \u003c--------------+\n  50:\tpopq\t%rbx\t\t\t;; restore callee saved\n  51:\tleave\n  52:\tretq\n\nFurthermore, when trampoline is the caller of bpf prog, which is\ntail_call_reachable, it is required to propagate rax through trampoline.\n\nFixes: ebf7d1f508a7 (\"bpf, x64: rework pro/epilogue and tailcall handling in JIT\")\nFixes: e411901c0b77 (\"bpf: allow for tailcalls in BPF subprograms for x64 JIT\")\nReviewed-by: Eduard Zingerman \u003ceddyz87@gmail.com\u003e\nSigned-off-by: Leon Hwang \u003chffilwlqm@gmail.com\u003e\nLink: https://lore.kernel.org/r/20240714123902.32305-2-hffilwlqm@gmail.com\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "9f890b8f891fadb0d85d700e10838a2ef782c6f9",
      "tree": "d1717e9b52bdbbc7a857e5b38f9ee639fb840030",
      "parents": [
        "a3cc56cd2c206b9460371af9ce0be65b2367aa58",
        "f081cd17c0bc982c408f85016bf33ecb04907c9a"
      ],
      "author": {
        "name": "Andrii Nakryiko",
        "email": "andrii@kernel.org",
        "time": "Fri Jul 19 16:17:45 2024 -0700"
      },
      "committer": {
        "name": "Andrii Nakryiko",
        "email": "andrii@kernel.org",
        "time": "Fri Jul 19 16:19:36 2024 -0700"
      },
      "message": "Merge branch \u0027bpf-track-find_equal_scalars-history-on-per-instruction-level\u0027\n\nEduard Zingerman says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nbpf: track find_equal_scalars history on per-instruction level\n\nThis is a fix for precision tracking bug reported in [0].\nIt supersedes my previous attempt to fix similar issue in commit [1].\nHere is a minimized test case from [0]:\n\n    0:  call bpf_get_prandom_u32;\n    1:  r7 \u003d r0;\n    2:  r8 \u003d r0;\n    3:  call bpf_get_prandom_u32;\n    4:  if r0 \u003e 1 goto +0;\n    /* --- checkpoint #1: r7.id\u003d1, r8.id\u003d1 --- */\n    5:  if r8 \u003e\u003d r0 goto 9f;\n    6:  r8 +\u003d r8;\n    /* --- checkpoint #2: r7.id\u003d1, r8.id\u003d0 --- */\n    7:  if r7 \u003d\u003d 0 goto 9f;\n    8:  r0 /\u003d 0;\n    /* --- checkpoint #3 --- */\n    9:  r0 \u003d 42;\n    10: exit;\n\nW/o this fix verifier incorrectly assumes that instruction at label\n(8) is unreachable. The issue is caused by failure to infer\nprecision mark for r0 at checkpoint #1:\n- first verification path is:\n  - (0-4): r0 range [0,1];\n  - (5): r8 range [0,0], propagated to r7;\n  - (6): r8.id is reset;\n  - (7): jump is predicted to happen;\n  - (9-10): safe exit.\n- when jump at (7) is predicted mark_chain_precision() for r7 is\n  called and backtrack_insn() proceeds as follows:\n  - at (7) r7 is marked as precise;\n  - at (5) r8 is not currently tracked and thus r0 is not marked;\n  - at (4-5) boundary logic from [1] is triggered and r7,r8 are marked\n    as precise;\n  - \u003d\u003e r0 precision mark is missed.\n- when second branch of (4) is considered, verifier prunes the state\n  because r0 is not marked as precise in the visited state.\n\nBasically, backtracking logic fails to notice that at (5)\nrange information is gained for both r7 and r8, and thus both\nr8 and r0 have to be marked as precise.\nThis happens because [1] can only account for such range\ntransfers at parent/child state boundaries.\n\nThe solution suggested by Andrii Nakryiko in [0] is to use jump\nhistory to remember which registers gained range as a result of\nfind_equal_scalars() [renamed to sync_linked_regs()] and use\nthis information in backtrack_insn().\nWhich is what this patch-set does.\n\nThe patch-set uses u64 value as a vector of 10-bit values that\nidentify registers gaining range in find_equal_scalars().\nThis amounts to maximum of 6 possible values.\nTo check if such capacity is sufficient I\u0027ve instrumented kernel\nto track a histogram for maximal amount of registers that gain range\nin find_equal_scalars per program verification [2].\nMeasurements done for verifier selftests and Cilium bpf object files\nfrom [3] show that number of such registers is *always* \u003c\u003d 4 and\nin 98% of cases it is \u003c\u003d 2.\n\nWhen tested on a subset of selftests identified by\nselftests/bpf/veristat.cfg and Cilium bpf object files from [3]\nthis patch-set has minimal verification performance impact:\n\nFile                      Program                   Insns   (DIFF)  States (DIFF)\n------------------------  ------------------------  --------------  -------------\nbpf_host.o                tail_handle_nat_fwd_ipv4    -75 (-0.61%)    -3 (-0.39%)\npyperf600_nounroll.bpf.o  on_event                  +1673 (+0.33%)    +3 (+0.01%)\n\n[0] https://lore.kernel.org/bpf/CAEf4BzZ0xidVCqB47XnkXcNhkPWF6_nTV7yt+_Lf0kcFEut2Mg@mail.gmail.com/\n[1] commit 904e6ddf4133 (\"bpf: Use scalar ids in mark_chain_precision()\")\n[2] https://github.com/eddyz87/bpf/tree/find-equal-scalars-in-jump-history-with-stats\n[3] https://github.com/anakryiko/cilium\n\nChanges:\n- v2 -\u003e v3:\n  A number of stylistic changes suggested by Andrii:\n  - renamings:\n    - struct reg_or_spill   -\u003e linked_reg;\n    - find_equal_scalars()  -\u003e collect_linked_regs;\n    - copy_known_reg()      -\u003e sync_linked_regs;\n  - collect_linked_regs() now returns linked regs set of\n    size 2 or larger;\n  - dropped usage of bit fields in struct linked_reg;\n  - added a patch changing references to find_equal_scalars() in\n    selftests comments.\n- v1 -\u003e v2:\n  - patch \"bpf: replace env-\u003ecur_hist_ent with a getter function\" is\n    dropped (Andrii);\n  - added structure linked_regs and helper functions to [de]serialize\n    u64 value as such structure (Andrii);\n  - bt_set_equal_scalars() renamed to bt_sync_linked_regs(), moved to\n    start and end of backtrack_insn() in order to untie linked\n    register logic from conditional jumps backtracking.\n    Andrii requested a more radical change of moving linked registers\n    processing to bt_set_xxx() functions, I did an experiment in this\n    direction:\n    https://github.com/eddyz87/bpf/tree/find-equal-scalars-in-jump-history--linked-regs-in-bt-set-reg\n    the end result of the experiment seems much uglier than version\n    presented in v2.\n\nRevisions:\n- v1: https://lore.kernel.org/bpf/20240222005005.31784-1-eddyz87@gmail.com/\n- v2: https://lore.kernel.org/bpf/20240705205851.2635794-1-eddyz87@gmail.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://lore.kernel.org/r/20240718202357.1746514-1-eddyz87@gmail.com\nSigned-off-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\n"
    },
    {
      "commit": "f081cd17c0bc982c408f85016bf33ecb04907c9a",
      "tree": "d1717e9b52bdbbc7a857e5b38f9ee639fb840030",
      "parents": [
        "c0087d59e504a6885763a105ab51eaf1ee4a0f72"
      ],
      "author": {
        "name": "Eduard Zingerman",
        "email": "eddyz87@gmail.com",
        "time": "Thu Jul 18 13:23:56 2024 -0700"
      },
      "committer": {
        "name": "Andrii Nakryiko",
        "email": "andrii@kernel.org",
        "time": "Fri Jul 19 16:19:36 2024 -0700"
      },
      "message": "selftests/bpf: Update comments find_equal_scalars-\u003esync_linked_regs\n\nfind_equal_scalars() is renamed to sync_linked_regs(),\nthis commit updates existing references in the selftests comments.\n\nSigned-off-by: Eduard Zingerman \u003ceddyz87@gmail.com\u003e\nSigned-off-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20240718202357.1746514-5-eddyz87@gmail.com\n"
    },
    {
      "commit": "c0087d59e504a6885763a105ab51eaf1ee4a0f72",
      "tree": "4468c188ee36eb78cf57aa32835333c42cafa7b8",
      "parents": [
        "cb0f94d85874b01f76cdea034ce7786b208ab48d"
      ],
      "author": {
        "name": "Eduard Zingerman",
        "email": "eddyz87@gmail.com",
        "time": "Thu Jul 18 13:23:55 2024 -0700"
      },
      "committer": {
        "name": "Andrii Nakryiko",
        "email": "andrii@kernel.org",
        "time": "Fri Jul 19 16:19:35 2024 -0700"
      },
      "message": "selftests/bpf: Tests for per-insn sync_linked_regs() precision tracking\n\nAdd a few test cases to verify precision tracking for scalars gaining\nrange because of sync_linked_regs():\n- check what happens when more than 6 registers might gain range in\n  sync_linked_regs();\n- check if precision is propagated correctly when operand of\n  conditional jump gained range in sync_linked_regs() and one of\n  linked registers is marked precise;\n- check if precision is propagated correctly when operand of\n  conditional jump gained range in sync_linked_regs() and a\n  other-linked operand of the conditional jump is marked precise;\n- add a minimized reproducer for precision tracking bug reported in [0];\n- Check that mark_chain_precision() for one of the conditional jump\n  operands does not trigger equal scalars precision propagation.\n\n[0] https://lore.kernel.org/bpf/CAEf4BzZ0xidVCqB47XnkXcNhkPWF6_nTV7yt+_Lf0kcFEut2Mg@mail.gmail.com/\n\nSigned-off-by: Eduard Zingerman \u003ceddyz87@gmail.com\u003e\nSigned-off-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20240718202357.1746514-4-eddyz87@gmail.com\n"
    },
    {
      "commit": "cb0f94d85874b01f76cdea034ce7786b208ab48d",
      "tree": "957ae9ae41049d752193c6568b9df2eba6436631",
      "parents": [
        "2b7350d7ca651b3b95cf7502280b7ed9270c9789"
      ],
      "author": {
        "name": "Eduard Zingerman",
        "email": "eddyz87@gmail.com",
        "time": "Thu Jul 18 13:23:54 2024 -0700"
      },
      "committer": {
        "name": "Andrii Nakryiko",
        "email": "andrii@kernel.org",
        "time": "Fri Jul 19 16:19:35 2024 -0700"
      },
      "message": "bpf: Remove mark_precise_scalar_ids()\n\nFunction mark_precise_scalar_ids() is superseded by\nbt_sync_linked_regs() and equal scalars tracking in jump history.\nmark_precise_scalar_ids() propagates precision over registers sharing\nsame ID on parent/child state boundaries, while jump history records\nallow bt_sync_linked_regs() to propagate same information with\ninstruction level granularity, which is strictly more precise.\n\nThis commit removes mark_precise_scalar_ids() and updates test cases\nin progs/verifier_scalar_ids to reflect new verifier behavior.\n\nThe tests are updated in the following manner:\n- mark_precise_scalar_ids() propagated precision regardless of\n  presence of conditional jumps, while new jump history based logic\n  only kicks in when conditional jumps are present.\n  Hence test cases are augmented with conditional jumps to still\n  trigger precision propagation.\n- As equal scalars tracking no longer relies on parent/child state\n  boundaries some test cases are no longer interesting,\n  such test cases are removed, namely:\n  - precision_same_state and precision_cross_state are superseded by\n    linked_regs_bpf_k;\n  - precision_same_state_broken_link and equal_scalars_broken_link\n    are superseded by linked_regs_broken_link.\n\nSigned-off-by: Eduard Zingerman \u003ceddyz87@gmail.com\u003e\nSigned-off-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20240718202357.1746514-3-eddyz87@gmail.com\n"
    },
    {
      "commit": "2b7350d7ca651b3b95cf7502280b7ed9270c9789",
      "tree": "66eb65768bbcbbe55661358ec1e1928fd98cefa7",
      "parents": [
        "a3cc56cd2c206b9460371af9ce0be65b2367aa58"
      ],
      "author": {
        "name": "Eduard Zingerman",
        "email": "eddyz87@gmail.com",
        "time": "Thu Jul 18 13:23:53 2024 -0700"
      },
      "committer": {
        "name": "Andrii Nakryiko",
        "email": "andrii@kernel.org",
        "time": "Fri Jul 19 16:19:15 2024 -0700"
      },
      "message": "bpf: Track equal scalars history on per-instruction level\n\nUse bpf_verifier_state-\u003ejmp_history to track which registers were\nupdated by find_equal_scalars() (renamed to collect_linked_regs())\nwhen conditional jump was verified. Use recorded information in\nbacktrack_insn() to propagate precision.\n\nE.g. for the following program:\n\n            while verifying instructions\n  1: r1 \u003d r0              |\n  2: if r1 \u003c 8  goto ...  | push r0,r1 as linked registers in jmp_history\n  3: if r0 \u003e 16 goto ...  | push r0,r1 as linked registers in jmp_history\n  4: r2 \u003d r10             |\n  5: r2 +\u003d r0             v mark_chain_precision(r0)\n\n            while doing mark_chain_precision(r0)\n  5: r2 +\u003d r0             | mark r0 precise\n  4: r2 \u003d r10             |\n  3: if r0 \u003e 16 goto ...  | mark r0,r1 as precise\n  2: if r1 \u003c 8  goto ...  | mark r0,r1 as precise\n  1: r1 \u003d r0              v\n\nTechnically, do this as follows:\n- Use 10 bits to identify each register that gains range because of\n  sync_linked_regs():\n  - 3 bits for frame number;\n  - 6 bits for register or stack slot number;\n  - 1 bit to indicate if register is spilled.\n- Use u64 as a vector of 6 such records + 4 bits for vector length.\n- Augment struct bpf_jmp_history_entry with a field \u0027linked_regs\u0027\n  representing such vector.\n- When doing check_cond_jmp_op() remember up to 6 registers that\n  gain range because of sync_linked_regs() in such a vector.\n- Don\u0027t propagate range information and reset IDs for registers that\n  don\u0027t fit in 6-value vector.\n- Push a pair {instruction index, linked registers vector}\n  to bpf_verifier_state-\u003ejmp_history.\n- When doing backtrack_insn() check if any of recorded linked\n  registers is currently marked precise, if so mark all linked\n  registers as precise.\n\nThis also requires fixes for two test_verifier tests:\n- precise: test 1\n- precise: test 2\n\nBoth tests contain the following instruction sequence:\n\n19: (bf) r2 \u003d r9                      ; R2\u003dscalar(id\u003d3) R9\u003dscalar(id\u003d3)\n20: (a5) if r2 \u003c 0x8 goto pc+1        ; R2\u003dscalar(id\u003d3,umin\u003d8)\n21: (95) exit\n22: (07) r2 +\u003d 1                      ; R2_w\u003dscalar(id\u003d3+1,...)\n23: (bf) r1 \u003d r10                     ; R1_w\u003dfp0 R10\u003dfp0\n24: (07) r1 +\u003d -8                     ; R1_w\u003dfp-8\n25: (b7) r3 \u003d 0                       ; R3_w\u003d0\n26: (85) call bpf_probe_read_kernel#113\n\nThe call to bpf_probe_read_kernel() at (26) forces r2 to be precise.\nPreviously, this forced all registers with same id to become precise\nimmediately when mark_chain_precision() is called.\nAfter this change, the precision is propagated to registers sharing\nsame id only when \u0027if\u0027 instruction is backtracked.\nHence verification log for both tests is changed:\nregs\u003dr2,r9 -\u003e regs\u003dr2 for instructions 25..20.\n\nFixes: 904e6ddf4133 (\"bpf: Use scalar ids in mark_chain_precision()\")\nReported-by: Hao Sun \u003csunhao.th@gmail.com\u003e\nSuggested-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\nSigned-off-by: Eduard Zingerman \u003ceddyz87@gmail.com\u003e\nSigned-off-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20240718202357.1746514-2-eddyz87@gmail.com\n\nCloses: https://lore.kernel.org/bpf/CAEf4BzZ0xidVCqB47XnkXcNhkPWF6_nTV7yt+_Lf0kcFEut2Mg@mail.gmail.com/\n"
    },
    {
      "commit": "a3cc56cd2c206b9460371af9ce0be65b2367aa58",
      "tree": "7fdf697ce0e08f1c0a720fba858be0434cbb566a",
      "parents": [
        "51f1bb9296474fa77e4135180fc31defbe39735b"
      ],
      "author": {
        "name": "Ihor Solodrai",
        "email": "ihor.solodrai@pm.me",
        "time": "Thu Jul 18 22:57:43 2024 +0000"
      },
      "committer": {
        "name": "Andrii Nakryiko",
        "email": "andrii@kernel.org",
        "time": "Fri Jul 19 11:17:37 2024 -0700"
      },
      "message": "selftests/bpf: Use auto-dependencies for test objects\n\nMake use of -M compiler options when building .test.o objects to\ngenerate .d files and avoid re-building all tests every time.\n\nPreviously, if a single test bpf program under selftests/bpf/progs/*.c\nhas changed, make would rebuild all the *.bpf.o, *.skel.h and *.test.o\nobjects, which is a lot of unnecessary work.\n\nA typical dependency chain is:\nprogs/x.c -\u003e x.bpf.o -\u003e x.skel.h -\u003e x.test.o -\u003e trunner_binary\n\nHowever for many tests it\u0027s not a 1:1 mapping by name, and so far\n%.test.o have been simply dependent on all %.skel.h files, and\n%.skel.h files on all %.bpf.o objects.\n\nAvoid full rebuilds by instructing the compiler (via -MMD) to\nproduce *.d files with real dependencies, and appropriately including\nthem. Exploit make feature that rebuilds included makefiles if they\nwere changed by setting %.test.d as prerequisite for %.test.o files.\n\nA couple of examples of compilation time speedup (after the first\nclean build):\n\n$ touch progs/verifier_and.c \u0026\u0026 time make -j8\nBefore: real\t0m16.651s\nAfter:  real\t0m2.245s\n$ touch progs/read_vsyscall.c \u0026\u0026 time make -j8\nBefore: real\t0m15.743s\nAfter:  real\t0m1.575s\n\nA drawback of this change is that now there is an overhead due to make\nprocessing lots of .d files, which potentially may slow down unrelated\ntargets. However a time to make all from scratch hasn\u0027t changed\nsignificantly:\n\n$ make clean \u0026\u0026 time make -j8\nBefore: real\t1m31.148s\nAfter:  real\t1m30.309s\n\nSuggested-by: Eduard Zingerman \u003ceddyz87@gmail.com\u003e\nSigned-off-by: Ihor Solodrai \u003cihor.solodrai@pm.me\u003e\nSigned-off-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/VJihUTnvtwEgv_mOnpfy7EgD9D2MPNoHO-MlANeLIzLJPGhDeyOuGKIYyKgk0O6KPjfM-MuhtvPwZcngN8WFqbTnTRyCSMc2aMZ1ODm1T_g\u003d@pm.me\n"
    },
    {
      "commit": "51f1bb9296474fa77e4135180fc31defbe39735b",
      "tree": "49b4075394da06a71a74eae44025cfdafb2d815c",
      "parents": [
        "173c57bc61b8160a161f637a3c6eee25cc31d35d"
      ],
      "author": {
        "name": "Markus Elfring",
        "email": "elfring@users.sourceforge.net",
        "time": "Mon Jul 15 11:12:30 2024 +0200"
      },
      "committer": {
        "name": "Andrii Nakryiko",
        "email": "andrii@kernel.org",
        "time": "Fri Jul 19 10:32:50 2024 -0700"
      },
      "message": "bpf: Simplify character output in seq_print_delegate_opts()\n\nSingle characters should be put into a sequence.\nThus use the corresponding function “seq_putc” for two selected calls.\n\nThis issue was transformed by using the Coccinelle software.\n\nSuggested-by: Christophe Jaillet \u003cchristophe.jaillet@wanadoo.fr\u003e\nSigned-off-by: Markus Elfring \u003celfring@users.sourceforge.net\u003e\nSigned-off-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/abde0992-3d71-44d2-ab27-75b382933a22@web.de\n"
    },
    {
      "commit": "173c57bc61b8160a161f637a3c6eee25cc31d35d",
      "tree": "888e2b6fde63a99ffa09960e79adc3e64d5cf801",
      "parents": [
        "b037f33bc852801300b1d73b464de5ef0270c1bc"
      ],
      "author": {
        "name": "Markus Elfring",
        "email": "elfring@users.sourceforge.net",
        "time": "Sun Jul 14 16:15:34 2024 +0200"
      },
      "committer": {
        "name": "Andrii Nakryiko",
        "email": "andrii@kernel.org",
        "time": "Fri Jul 19 10:28:14 2024 -0700"
      },
      "message": "bpf: Replace 8 seq_puts() calls by seq_putc() calls\n\nSingle line breaks should occasionally be put into a sequence.\nThus use the corresponding function “seq_putc”.\n\nThis issue was transformed by using the Coccinelle software.\n\nSigned-off-by: Markus Elfring \u003celfring@users.sourceforge.net\u003e\nSigned-off-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/e26b7df9-cd63-491f-85e8-8cabe60a85e5@web.de\n"
    },
    {
      "commit": "b037f33bc852801300b1d73b464de5ef0270c1bc",
      "tree": "808bc58df3a4282e8f6bc2f5ce202774643b557d",
      "parents": [
        "51835949dda3783d4639cfa74ce13a3c9829de00",
        "2b42d6821d517c7068c12201c02807b0aa610a9f"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Thu Jul 18 12:07:19 2024 -0700"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Thu Jul 18 14:59:46 2024 -0700"
      },
      "message": "Merge branch \u0027use network helpers, part 9\u0027\n\nGeliang Tang says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nv3:\n - patch 2:\n   - clear errno before connect_to_fd_opts.\n   - print err logs in run_test.\n   - set err to -1 when fd \u003e\u003d 0.\n - patch 3:\n   - drop \"int err\".\n\nv2:\n - update patch 2 as Martin suggested.\n\nThis is the 9th part of series \"use network helpers\" all BPF selftests\nwide.\n\nPatches 1-2 update network helpers interfaces suggested by Martin.\nPatch 3 adds a new helper connect_to_addr_str() as Martin suggested\ninstead of adding connect_fd_to_addr_str().\nPatch 4 uses this newly added helper in make_client().\nPatch 5 uses make_client() in sk_lookup and drop make_socket().\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\n"
    },
    {
      "commit": "2b42d6821d517c7068c12201c02807b0aa610a9f",
      "tree": "808bc58df3a4282e8f6bc2f5ce202774643b557d",
      "parents": [
        "4e085e3d8965e05908dfc2318e6905cf7bd1886a"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Thu Jul 18 14:22:31 2024 +0800"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Thu Jul 18 14:59:45 2024 -0700"
      },
      "message": "selftests/bpf: Add connect_to_addr_str helper\n\nSimilar to connect_to_addr() helper for connecting to a server with the\ngiven sockaddr_storage type address, this patch adds a new helper named\nconnect_to_addr_str() for connecting to a server with the given string\ntype address \"addr_str\", together with its \"family\" and \"port\" as other\nparameters of connect_to_addr_str().\n\nIn connect_to_addr_str(), the parameters \"family\", \"addr_str\" and \"port\"\nare used to create a sockaddr_storage type address \"addr\" by invoking\nmake_sockaddr(). Then pass this \"addr\" together with \"addrlen\", \"type\"\nand \"opts\" to connect_to_addr().\n\nSuggested-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\nLink: https://lore.kernel.org/r/647e82170831558dbde132a7a3d86df660dba2c4.1721282219.git.tanggeliang@kylinos.cn\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\n"
    },
    {
      "commit": "4e085e3d8965e05908dfc2318e6905cf7bd1886a",
      "tree": "392342aed5ebf7af8b49b983467fa910a981344f",
      "parents": [
        "15480cfde3154897ee00543452e25525042d6396"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Thu Jul 18 14:22:30 2024 +0800"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Thu Jul 18 14:59:40 2024 -0700"
      },
      "message": "selftests/bpf: Drop must_fail from network_helper_opts\n\nThe struct member \"must_fail\" of network_helper_opts() is only used in\ncgroup_v1v2 tests, it makes sense to drop it from network_helper_opts.\n\nReturn value (fd) of connect_to_fd_opts() and the expect errno (EPERM)\ncan be checked in cgroup_v1v2.c directly, no need to check them in\nconnect_fd_to_addr() in network_helpers.c.\n\nThis also makes connect_fd_to_addr() function useless. It can be replaced\nby connect().\n\nSuggested-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\nLink: https://lore.kernel.org/r/3faf336019a9a48e2e8951f4cdebf19e3ac6e441.1721282219.git.tanggeliang@kylinos.cn\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\n"
    },
    {
      "commit": "15480cfde3154897ee00543452e25525042d6396",
      "tree": "6c622cb46573f75912468f0b1e9191027deebbab",
      "parents": [
        "51835949dda3783d4639cfa74ce13a3c9829de00"
      ],
      "author": {
        "name": "Geliang Tang",
        "email": "tanggeliang@kylinos.cn",
        "time": "Thu Jul 18 14:22:29 2024 +0800"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Thu Jul 18 12:07:18 2024 -0700"
      },
      "message": "selftests/bpf: Drop type of connect_to_fd_opts\n\nThe \"type\" parameter of connect_to_fd_opts() is redundant of \"server_fd\".\nSince the \"type\" can be obtained inside by invoking getsockopt(SO_TYPE),\nwithout passing it in as a parameter.\n\nThis patch drops the \"type\" parameter of connect_to_fd_opts() and updates\nits callers.\n\nSuggested-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\nSigned-off-by: Geliang Tang \u003ctanggeliang@kylinos.cn\u003e\nLink: https://lore.kernel.org/r/50d8ce7ab7ab0c0f4d211fc7cc4ebe3d3f63424c.1721282219.git.tanggeliang@kylinos.cn\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\n"
    },
    {
      "commit": "51835949dda3783d4639cfa74ce13a3c9829de00",
      "tree": "2b593de5eba6ecc73f7c58fc65fdaffae45c7323",
      "parents": [
        "0434dbe32053d07d658165be681505120c6b1abc",
        "77ae5e5b00720372af2860efdc4bc652ac682696"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 19:28:34 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 19:28:34 2024 -0700"
      },
      "message": "Merge tag \u0027net-next-6.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next\n\nPull networking updates from Jakub Kicinski:\n \"Not much excitement - a handful of large patchsets (devmem among them)\n  did not make it in time.\n\n  Core \u0026 protocols:\n\n   - Use local_lock in addition to local_bh_disable() to protect per-CPU\n     resources in networking, a step closer for local_bh_disable() not\n     to act as a big lock on PREEMPT_RT\n\n   - Use flex array for netdevice priv area, ensure its cache alignment\n\n   - Add a sysctl knob to allow user to specify a default rto_min at\n     socket init time. Bit of a big hammer but multiple companies were\n     independently carrying such patch downstream so clearly it\u0027s useful\n\n   - Support scheduling transmission of packets based on CLOCK_TAI\n\n   - Un-pin TCP TIMEWAIT timer to avoid it firing on CPUs later cordoned\n     off using cpusets\n\n   - Support multiple L2TPv3 UDP tunnels using the same 5-tuple address\n\n   - Allow configuration of multipath hash seed, to both allow\n     synchronizing hashing of two routers, and preventing partial\n     accidental sync\n\n   - Improve TCP compliance with RFC 9293 for simultaneous connect()\n\n   - Support sending NAT keepalives in IPsec ESP in UDP states.\n     Userspace IKE daemon had to do this before, but the kernel can\n     better keep track of it\n\n   - Support sending supervision HSR frames with MAC addresses stored in\n     ProxyNodeTable when RedBox (i.e. HSR-SAN) is enabled\n\n   - Introduce IPPROTO_SMC for selecting SMC when socket is created\n\n   - Allow UDP GSO transmit from devices with no checksum offload\n\n   - openvswitch: add packet sampling via psample, separating the\n     sampled traffic from \"upcall\" packets sent to user space for\n     forwarding\n\n   - nf_tables: shrink memory consumption for transaction objects\n\n  Things we sprinkled into general kernel code:\n\n   - Power Sequencing subsystem (used by Qualcomm Bluetooth driver for\n     QCA6390)           [ Already merged separately - Linus ]\n\n   - Add IRQ information in sysfs for auxiliary bus\n\n   - Introduce guard definition for local_lock\n\n   - Add aligned flavor of __cacheline_group_{begin, end}() markings for\n     grouping fields in structures\n\n  BPF:\n\n   - Notify user space (via epoll) when a struct_ops object is getting\n     detached/unregistered\n\n   - Add new kfuncs for a generic, open-coded bits iterator\n\n   - Enable BPF programs to declare arrays of kptr, bpf_rb_root, and\n     bpf_list_head\n\n   - Support resilient split BTF which cuts down on duplication and\n     makes BTF as compact as possible WRT BTF from modules\n\n   - Add support for dumping kfunc prototypes from BTF which enables\n     both detecting as well as dumping compilable prototypes for kfuncs\n\n   - riscv64 BPF JIT improvements in particular to add 12-argument\n     support for BPF trampolines and to utilize bpf_prog_pack for the\n     latter\n\n   - Add the capability to offload the netfilter flowtable in XDP layer\n     through kfuncs\n\n  Driver API:\n\n   - Allow users to configure IRQ tresholds between which automatic IRQ\n     moderation can choose\n\n   - Expand Power Sourcing (PoE) status with power, class and failure\n     reason. Support setting power limits\n\n   - Track additional RSS contexts in the core, make sure configuration\n     changes don\u0027t break them\n\n   - Support IPsec crypto offload for IPv6 ESP and IPv4 UDP-encapsulated\n     ESP data paths\n\n   - Support updating firmware on SFP modules\n\n  Tests and tooling:\n\n   - mptcp: use net/lib.sh to manage netns\n\n   - TCP-AO and TCP-MD5: replace debug prints used by tests with\n     tracepoints\n\n   - openvswitch: make test self-contained (don\u0027t depend on OvS CLI\n     tools)\n\n  Drivers:\n\n   - Ethernet high-speed NICs:\n      - Broadcom (bnxt):\n         - increase the max total outstanding PTP TX packets to 4\n         - add timestamping statistics support\n         - implement netdev_queue_mgmt_ops\n         - support new RSS context API\n      - Intel (100G, ice, idpf):\n         - implement FEC statistics and dumping signal quality indicators\n         - support E825C products (with 56Gbps PHYs)\n      - nVidia/Mellanox:\n         - support HW-GRO\n         - mlx4/mlx5: support per-queue statistics via netlink\n         - obey the max number of EQs setting in sub-functions\n      - AMD/Solarflare:\n         - support new RSS context API\n      - AMD/Pensando:\n         - ionic: rework fix for doorbell miss to lower overhead and\n           skip it on new HW\n      - Wangxun:\n         - txgbe: support Flow Director perfect filters\n\n   - Ethernet NICs consumer, embedded and virtual:\n      - Add driver for Tehuti Networks TN40xx chips\n      - Add driver for Meta\u0027s internal NIC chips\n      - Add driver for Ethernet MAC on Airoha EN7581 SoCs\n      - Add driver for Renesas Ethernet-TSN devices\n      - Google cloud vNIC:\n         - flow steering support\n      - Microsoft vNIC:\n         - support page sizes other than 4KB on ARM64\n      - vmware vNIC:\n         - support latency measurement (update to version 9)\n      - VirtIO net:\n         - support for Byte Queue Limits\n         - support configuring thresholds for automatic IRQ moderation\n         - support for AF_XDP Rx zero-copy\n      - Synopsys (stmmac):\n         - support for STM32MP13 SoC\n         - let platforms select the right PCS implementation\n      - TI:\n         - icssg-prueth: add multicast filtering support\n         - icssg-prueth: enable PTP timestamping and PPS\n      - Renesas:\n         - ravb: improve Rx performance 30-400% by using page pool,\n           theaded NAPI and timer-based IRQ coalescing\n         - ravb: add MII support for R-Car V4M\n      - Cadence (macb):\n         - macb: add ARP support to Wake-On-LAN\n      - Cortina:\n         - use phylib for RX and TX pause configuration\n\n   - Ethernet switches:\n      - nVidia/Mellanox:\n         - support configuration of multipath hash seed\n         - report more accurate max MTU\n         - use page_pool to improve Rx performance\n      - MediaTek:\n         - mt7530: add support for bridge port isolation\n      - Qualcomm:\n         - qca8k: add support for bridge port isolation\n      - Microchip:\n         - lan9371/2: add 100BaseTX PHY support\n      - NXP:\n         - vsc73xx: implement VLAN operations\n\n   - Ethernet PHYs:\n      - aquantia: enable support for aqr115c\n      - aquantia: add support for PHY LEDs\n      - realtek: add support for rtl8224 2.5Gbps PHY\n      - xpcs: add memory-mapped device support\n      - add BroadR-Reach link mode and support in Broadcom\u0027s PHY driver\n\n   - CAN:\n      - add document for ISO 15765-2 protocol support\n      - mcp251xfd: workaround for erratum DS80000789E, use timestamps to\n        catch when device returns incorrect FIFO status\n\n   - WiFi:\n      - mac80211/cfg80211:\n         - parse Transmit Power Envelope (TPE) data in mac80211 instead\n           of in drivers\n         - improvements for 6 GHz regulatory flexibility\n         - multi-link improvements\n         - support multiple radios per wiphy\n         - remove DEAUTH_NEED_MGD_TX_PREP flag\n      - Intel (iwlwifi):\n         - bump FW API to 91 for BZ/SC devices\n         - report 64-bit radiotap timestamp\n         - enable P2P low latency by default\n         - handle Transmit Power Envelope (TPE) advertised by AP\n         - remove support for older FW for new devices\n         - fast resume (keeping the device configured)\n         - mvm: re-enable Multi-Link Operation (MLO)\n         - aggregation (A-MSDU) optimizations\n      - MediaTek (mt76):\n         - mt7925 Multi-Link Operation (MLO) support\n      - Qualcomm (ath10k):\n         - LED support for various chipsets\n      - Qualcomm (ath12k):\n         - remove unsupported Tx monitor handling\n         - support channel 2 in 6 GHz band\n         - support Spatial Multiplexing Power Save (SMPS) in 6 GHz band\n         - supprt multiple BSSID (MBSSID) and Enhanced Multi-BSSID\n           Advertisements (EMA)\n         - support dynamic VLAN\n         - add panic handler for resetting the firmware state\n         - DebugFS support for datapath statistics\n         - WCN7850: support for Wake on WLAN\n      - Microchip (wilc1000):\n         - read MAC address during probe to make it visible to user space\n         - suspend/resume improvements\n      - TI (wl18xx):\n         - support newer firmware versions\n      - RealTek (rtw89):\n         - preparation for RTL8852BE-VT support\n         - Wake on WLAN support for WiFi 6 chips\n         - 36-bit PCI DMA support\n      - RealTek (rtlwifi):\n         - RTL8192DU support\n      - Broadcom (brcmfmac):\n         - Management Frame Protection support (to enable WPA3)\n\n   - Bluetooth:\n      - qualcomm: use the power sequencer for QCA6390\n      - btusb: mediatek: add ISO data transmission functions\n      - hci_bcm4377: add BCM4388 support\n      - btintel: add support for BlazarU core\n      - btintel: add support for Whale Peak2\n      - btnxpuart: add support for AW693 A1 chipset\n      - btnxpuart: add support for IW615 chipset\n      - btusb: add Realtek RTL8852BE support ID 0x13d3:0x3591\"\n\n* tag \u0027net-next-6.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1589 commits)\n  eth: fbnic: Fix spelling mistake \"tiggerring\" -\u003e \"triggering\"\n  tcp: Replace strncpy() with strscpy()\n  wifi: ath12k: fix build vs old compiler\n  tcp: Don\u0027t access uninit tcp_rsk(req)-\u003eao_keyid in tcp_create_openreq_child().\n  eth: fbnic: Write the TCAM tables used for RSS control and Rx to host\n  eth: fbnic: Add L2 address programming\n  eth: fbnic: Add basic Rx handling\n  eth: fbnic: Add basic Tx handling\n  eth: fbnic: Add link detection\n  eth: fbnic: Add initial messaging to notify FW of our presence\n  eth: fbnic: Implement Rx queue alloc/start/stop/free\n  eth: fbnic: Implement Tx queue alloc/start/stop/free\n  eth: fbnic: Allocate a netdevice and napi vectors with queues\n  eth: fbnic: Add FW communication mechanism\n  eth: fbnic: Add message parsing for FW messages\n  eth: fbnic: Add register init to set PCIe/Ethernet device config\n  eth: fbnic: Allocate core device specific structures and devlink interface\n  eth: fbnic: Add scaffolding for Meta\u0027s NIC driver\n  PCI: Add Meta Platforms vendor ID\n  net/sched: cls_flower: propagate tca[TCA_OPTIONS] to NL_REQ_ATTR_CHECK\n  ...\n"
    },
    {
      "commit": "0434dbe32053d07d658165be681505120c6b1abc",
      "tree": "7b0e0d9caede2e0b8fbe05e858e47888c13efa1f",
      "parents": [
        "f8d22a3195b8e2eaacbc5073ae1d5d5bb7386de9",
        "bb408dae9e73803eab8a648115d6c4a1bca4dba3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 17:45:33 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 17:45:33 2024 -0700"
      },
      "message": "Merge tag \u0027linux_kselftest-next-6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest\n\nPull kselftest updates from Shuah Khan:\n\n - change resctrl test to cleanup resctrl_val() and generalize it by\n   removing test name specific handling from the function.\n\n - several clang build failure fixes to framework and tests\n\n - add tests to verify IFS (In Field Scan) driver functionality\n\n - cleanups to remove unused variables and document changes\n\n* tag \u0027linux_kselftest-next-6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (33 commits)\n  selftests: ifs: verify IFS ARRAY BIST functionality\n  selftests: ifs: verify IFS scan test functionality\n  selftests: ifs: verify test image loading functionality\n  selftests: ifs: verify test interfaces are created by the driver\n  selftests/dma:remove unused variable\n  selftests/breakpoints:Remove unused variable\n  selftests/x86: fix printk warnings reported by clang\n  selftests/x86: remove (or use) unused variables and functions\n  selftests/x86: avoid -no-pie warnings from clang during compilation\n  selftests/x86: build sysret_rip.c with clang\n  selftests/x86: build fsgsbase_restore.c with clang\n  selftests: x86: test_FISTTP: use fisttps instead of ambiguous fisttp\n  selftests/x86: fix Makefile dependencies to work with clang\n  selftests/timers: remove unused irqcount variable\n  selftests: Add information about TAP conformance in tests\n  selftests/resctrl: Remove test name comparing from write_bm_pid_to_resctrl()\n  selftests/resctrl: Remove mongrp from CMT test\n  selftests/resctrl: Remove mongrp from MBA test\n  selftests/resctrl: Convert ctrlgrp \u0026 mongrp to pointers\n  selftests/resctrl: Make some strings passed to resctrlfs functions const\n  ...\n"
    },
    {
      "commit": "f8d22a3195b8e2eaacbc5073ae1d5d5bb7386de9",
      "tree": "6c345750b684e137b06c63e40000111f365ae8fc",
      "parents": [
        "9de4ad3bde144b55b8451fc280c18107c139481c",
        "ebf51e460e488511d9ee60b07d00dac68883facf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 17:42:14 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 17:42:14 2024 -0700"
      },
      "message": "Merge tag \u0027linux_kselftest-kunit-6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest\n\nPull KUnit updates from Shuah Khan:\n\n - add vm_mmap() allocation resource manager\n\n - convert usercopy kselftest to KUnit\n\n - disable usercopy testing on !CONFIG_MMU\n\n - add MODULE_DESCRIPTION() to core, list, and usercopy tests\n\n - add tests for assertion formatting functions - assert.c\n\n - introduce KUNIT_ASSERT_MEMEQ and KUNIT_ASSERT_MEMNEQ macros\n\n - fix KUNIT_ASSERT_STRNEQ comments to make it clear that it is an\n   assertion\n\n - rename KUNIT_ASSERT_FAILURE to KUNIT_FAIL_AND_ABORT\n\n* tag \u0027linux_kselftest-kunit-6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:\n  kunit: Introduce KUNIT_ASSERT_MEMEQ and KUNIT_ASSERT_MEMNEQ macros\n  kunit: Rename KUNIT_ASSERT_FAILURE to KUNIT_FAIL_AND_ABORT for readability\n  kunit: Fix the comment of KUNIT_ASSERT_STRNEQ as assertion\n  kunit: executor: Simplify string allocation handling\n  kunit/usercopy: Add missing MODULE_DESCRIPTION()\n  kunit/usercopy: Disable testing on !CONFIG_MMU\n  usercopy: Convert test_user_copy to KUnit test\n  kunit: test: Add vm_mmap() allocation resource manager\n  list: test: add the missing MODULE_DESCRIPTION() macro\n  kunit: add missing MODULE_DESCRIPTION() macros to core modules\n  list: test: remove unused struct \u0027klist_test_struct\u0027\n  kunit: Cover \u0027assert.c\u0027 with tests\n"
    },
    {
      "commit": "9de4ad3bde144b55b8451fc280c18107c139481c",
      "tree": "83e7118391a83d746b73809c88d5b1df2d42f38e",
      "parents": [
        "17e6a1213058d8759bcf043151c04612df55ebc4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 17:35:45 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 17:35:45 2024 -0700"
      },
      "message": "firmware: qcom: tzmem: don\u0027t ask about allocator mode when not enabled\n\nThe Qualcomm firmware code shouldn\u0027t ask about what memory allocator\nmode should be used when the code isn\u0027t even enabled.\n\nGet rid of pointless config-time question.\n\nLink: https://lore.kernel.org/all/CAHk-\u003dwg+38EHPKGou1MqXwAAXC30cM8sMgZAGnZ7TcFO4L9J2w@mail.gmail.com/\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "17e6a1213058d8759bcf043151c04612df55ebc4",
      "tree": "f96cb388a60d094106732f13ee129834beaf891f",
      "parents": [
        "576a997c6315ee482519e7cc080f341b07638808"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 17:25:59 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 17:25:59 2024 -0700"
      },
      "message": "um: Use generic runtime constant implementation\n\nUML should not be using the architecture native runtime constants, since\nthat requires also having the appropriate instruction fixups (and all\nthe linker script details).\n\nNot that using that code would be impossible, but it\u0027s not worth it.\nJust point UML at the generic version.\n\nReported-by: Nathan Chancellor \u003cnathan@kernel.org\u003e\nFixes: e3c92e81711d (\"runtime constants: add x86 architecture support\")\nLink: https://lore.kernel.org/all/20240716143644.GA1827132@thelio-3990X/\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "576a997c6315ee482519e7cc080f341b07638808",
      "tree": "625cff628b8db0638ed496f560d38eda0375cacb",
      "parents": [
        "4a996d90b9e046c6d59845acf00a54d464c34ff3",
        "fa0c1c9d283b37fdb7fc1dcccbb88fc8f48a4aa4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 17:13:31 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 17:13:31 2024 -0700"
      },
      "message": "Merge tag \u0027perf-core-2024-07-16\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull performance events updates from Ingo Molnar:\n\n - Intel PT support enhancements \u0026 fixes\n\n - Fix leaked SIGTRAP events\n\n - Improve and fix the Intel uncore driver\n\n - Add support for Intel HBM and CXL uncore counters\n\n - Add Intel Lake and Arrow Lake support\n\n - AMD uncore driver fixes\n\n - Make SIGTRAP and __perf_pending_irq() work on RT\n\n - Micro-optimizations\n\n - Misc cleanups and fixes\n\n* tag \u0027perf-core-2024-07-16\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)\n  perf/x86/intel: Add a distinct name for Granite Rapids\n  perf/x86/intel/ds: Fix non 0 retire latency on Raptorlake\n  perf/x86/intel: Hide Topdown metrics events if the feature is not enumerated\n  perf/x86/intel/uncore: Fix the bits of the CHA extended umask for SPR\n  perf: Split __perf_pending_irq() out of perf_pending_irq()\n  perf: Don\u0027t disable preemption in perf_pending_task().\n  perf: Move swevent_htable::recursion into task_struct.\n  perf: Shrink the size of the recursion counter.\n  perf: Enqueue SIGTRAP always via task_work.\n  task_work: Add TWA_NMI_CURRENT as an additional notify mode.\n  perf: Move irq_work_queue() where the event is prepared.\n  perf: Fix event leak upon exec and file release\n  perf: Fix event leak upon exit\n  task_work: Introduce task_work_cancel() again\n  task_work: s/task_work_cancel()/task_work_cancel_func()/\n  perf/x86/amd/uncore: Fix DF and UMC domain identification\n  perf/x86/amd/uncore: Avoid PMU registration if counters are unavailable\n  perf/x86/intel: Support Perfmon MSRs aliasing\n  perf/x86/intel: Support PERFEVTSEL extension\n  perf/x86: Add config_mask to represent EVENTSEL bitmask\n  ...\n"
    },
    {
      "commit": "4a996d90b9e046c6d59845acf00a54d464c34ff3",
      "tree": "52fa410c742aaec6b469a3907e71eefc75e999b3",
      "parents": [
        "0c182ac2ebc5470a725632b08cee9a52065bbe71",
        "db43a609d01e8bf9b812d45dc2945c65b57dd793"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 17:00:50 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 17:00:50 2024 -0700"
      },
      "message": "Merge tag \u0027sched-core-2024-07-16\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler updates from Ingo Molnar:\n\n - Update Daniel Bristot de Oliveira\u0027s entry in MAINTAINERS,\n   and credit him in CREDITS\n\n - Harmonize the lock-yielding behavior on dynamically selected\n   preemption models with static ones\n\n - Reorganize the code a bit: split out sched/syscalls.c to reduce\n   the size of sched/core.c\n\n - Micro-optimize psi_group_change()\n\n - Fix set_load_weight() for SCHED_IDLE tasks\n\n - Misc cleanups \u0026 fixes\n\n* tag \u0027sched-core-2024-07-16\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Update MAINTAINERS and CREDITS\n  sched/fair: set_load_weight() must also call reweight_task() for SCHED_IDLE tasks\n  sched/psi: Optimise psi_group_change a bit\n  sched/core: Drop spinlocks on contention iff kernel is preemptible\n  sched/core: Move preempt_model_*() helpers from sched.h to preempt.h\n  sched/balance: Skip unnecessary updates to idle load balancer\u0027s flags\n  idle: Remove stale RCU comment\n  sched/headers: Move struct pre-declarations to the beginning of the header\n  sched/core: Clean up kernel/sched/sched.h a bit\n  sched/core: Simplify prefetch_curr_exec_start()\n  sched: Fix spelling in comments\n  sched/syscalls: Split out kernel/sched/syscalls.c from kernel/sched/core.c\n"
    },
    {
      "commit": "0c182ac2ebc5470a725632b08cee9a52065bbe71",
      "tree": "27912d908e0c40995fe4c7682486315b244586e1",
      "parents": [
        "151647ab581013b482893d4e2218cd29b005cd6b",
        "8e366d83edce3065ff3372bedc281c5e217c0550"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 16:55:33 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 16:55:33 2024 -0700"
      },
      "message": "Merge tag \u0027objtool-core-2024-07-16\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull objtool updates from Ingo Molnar:\n\n - Fix bug that caused objtool to confuse certain memory ops added by\n   KASAN instrumentation as stack accesses\n\n - Various faddr2line optimizations\n\n - Improve error messages\n\n* tag \u0027objtool-core-2024-07-16\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  objtool/x86: objtool can confuse memory and stack access\n  objtool: Use \"action\" in error message to be consistent with help\n  scripts/faddr2line: Check only two symbols when calculating symbol size\n  scripts/faddr2line: Remove call to addr2line from find_dir_prefix()\n  scripts/faddr2line: Invoke addr2line as a single long-running process\n  scripts/faddr2line: Pass --addresses argument to addr2line\n  scripts/faddr2line: Check vmlinux only once\n  scripts/faddr2line: Combine three readelf calls into one\n  scripts/faddr2line: Reduce number of readelf calls to three\n"
    },
    {
      "commit": "151647ab581013b482893d4e2218cd29b005cd6b",
      "tree": "79ce01c0e430047f0adde58f065ad696f6121af3",
      "parents": [
        "923a327e8f2257ab7cd5485cb5d8db92c965dfca",
        "e81859fe64ad42dccefe134d1696e0635f78d763"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 16:42:37 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 16:42:37 2024 -0700"
      },
      "message": "Merge tag \u0027locking-core-2024-07-15\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull locking updates from Ingo Molnar:\n\n - Jump label fixes, including a perf events fix that originally\n   manifested as jump label failures, but was a serialization bug at the\n   usage site\n\n - Mark down_write*() helpers as __always_inline, to improve WCHAN\n   debuggability\n\n - Misc cleanups and fixes\n\n* tag \u0027locking-core-2024-07-15\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  locking/rwsem: Add __always_inline annotation to __down_write_common() and inlined callers\n  jump_label: Simplify and clarify static_key_fast_inc_cpus_locked()\n  jump_label: Clarify condition in static_key_fast_inc_not_disabled()\n  jump_label: Fix concurrency issues in static_key_slow_dec()\n  perf/x86: Serialize set_attr_rdpmc()\n  cleanup: Standardize the header guard define\u0027s name\n"
    },
    {
      "commit": "923a327e8f2257ab7cd5485cb5d8db92c965dfca",
      "tree": "88593dd6f993541b812073d0f6928274609187c9",
      "parents": [
        "41906248d0d78e3a620a86cf715f6f630912a4eb",
        "b77b0bc85b117119764107f3ee76e8877bf826ab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 16:19:36 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 16:19:36 2024 -0700"
      },
      "message": "Merge tag \u0027acpi-6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull ACPI updates from Rafael Wysocki:\n \"The only kind of new feature added by these is the hwmon interface\n  support in the ACPI fan driver. Apart from that, they mostly address\n  issues and clean up code.\n\n  Specifics:\n\n   - Switch the ACPI x86 utility code and the ACPI LPSS driver to new\n     Intel CPU model defines (Tony Luck)\n\n   - Add hwmon interface support to the ACPI fan driver (Armin Wolf)\n\n   - Add sysfs entry for guaranteed performance to the ACPI CPPC library\n     and replace a ternary operator with umax() in it (Petr Tesařík,\n     Prabhakar Pujeri)\n\n   - Clean up the ACPI PMIC driver in multiple ways (Andy Shevchenko,\n     Christophe JAILLET)\n\n   - Add support for charge limiting state to the ACPI battery driver\n     and update _OSC to indicate support for it (Armin Wolf)\n\n   - Clean up the sysfs interface in the ACPI battery, SBS (smart\n     battery subsystem) and AC drivers (Thomas Weißschuh)\n\n   - Coordinate header includes in the ACPI NUMA code and make it use\n     ACCESS_COORDINATE_CPU when appropriate (Huang Ying, Thorsten Blum)\n\n   - Downgrade Intel _OSC and _PDC messages in the ACPI processor driver\n     to debug to reduce log noise (Mario Limonciello)\n\n   - Still evaluate _OST when _PUR evaluation fails in the ACPI PAD\n     (processor aggregator) driver as per the spec (Armin Wolf)\n\n   - Skip ACPI IRQ override on Asus Vivobook Pro N6506MJ and N6506MU\n     platforms (Tamim Khan)\n\n   - Force native mode on some T2 macbooks in the ACPI backlight driver\n     and replace strcpy() with strscpy() in it (Orlando Chamberlain,\n     Muhammad Qasim Abdul Majeed)\n\n   - Add missing MODULE_DESCRIPTION() macros in two places (Jeff\n     Johnson)\"\n\n* tag \u0027acpi-6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (26 commits)\n  ACPI: resource: Skip IRQ override on Asus Vivobook Pro N6506MJ\n  ACPI: video: force native for some T2 macbooks\n  ACPI: video: Use strscpy() instead of strcpy()\n  ACPI: CPPC: Replace ternary operator with umax()\n  ACPI: resource: Skip IRQ override on Asus Vivobook Pro N6506MU\n  ACPI: PMIC: Constify struct pmic_table\n  ACPI: bus: Indicate support for battery charge limiting thru _OSC\n  ACPI: battery: Add support for charge limiting state\n  ACPI: processor: Downgrade Intel _OSC and _PDC messages to debug\n  ACPI: SBS: manage alarm sysfs attribute through psy core\n  ACPI: battery: create alarm sysfs attribute atomically\n  ACPI: battery: use sysfs_emit over sprintf\n  ACPI: battery: constify powersupply properties\n  ACPI: SBS: constify powersupply properties\n  ACPI: AC: constify powersupply properties\n  ACPI: PMIC: Replace open coded be16_to_cpu()\n  ACPI: PMIC: Convert pr_*() to dev_*() printing macros\n  ACPI: PMIC: Use sizeof() instead of hard coded value\n  ACPI: NUMA: Consolidate header includes\n  ACPI: CPPC: add sysfs entry for guaranteed performance\n  ...\n"
    },
    {
      "commit": "41906248d0d78e3a620a86cf715f6f630912a4eb",
      "tree": "837ea1344255b01f03af50dd8acf99baed46bc1f",
      "parents": [
        "15114e8fb58ffd574da83951e89cb5ab0055cc1e",
        "a02bed4183c48d42a2855a4e70867b6239c45770"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 15:54:03 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 15:54:03 2024 -0700"
      },
      "message": "Merge tag \u0027pm-6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull power management updates from Rafael Wysocki:\n \"These add a new cpufreq driver for Loongson-3, add support for new\n  features in the intel_pstate (Lunar Lake and Arrow Lake platforms, OOB\n  mode for Emerald Rapids, highest performance change interrupt),\n  amd-pstate (fast CPPC) and sun50i (Allwinner H700 speed bin) cpufreq\n  drivers, simplify the cpufreq driver interface, simplify the teo\n  cpuidle governor, adjust the pm-graph utility for a new version of\n  Python, address issues and clean up code.\n\n  Specifics:\n\n   - Add Loongson-3 CPUFreq driver support (Huacai Chen)\n\n   - Add support for the Arrow Lake and Lunar Lake platforms and the\n     out-of-band (OOB) mode on Emerald Rapids to the intel_pstate\n     cpufreq driver, make it support the highest performance change\n     interrupt and clean it up (Srinivas Pandruvada)\n\n   - Switch cpufreq to new Intel CPU model defines (Tony Luck)\n\n   - Simplify the cpufreq driver interface by switching the .exit()\n     driver callback to the void return data type (Lizhe, Viresh Kumar)\n\n   - Make cpufreq_boost_enabled() return bool (Dhruva Gole)\n\n   - Add fast CPPC support to the amd-pstate cpufreq driver, address\n     multiple assorted issues in it and clean it up (Perry Yuan, Mario\n     Limonciello, Dhananjay Ugwekar, Meng Li, Xiaojian Du)\n\n   - Add Allwinner H700 speed bin to the sun50i cpufreq driver (Ryan\n     Walklin)\n\n   - Fix memory leaks and of_node_put() usage in the sun50i and\n     qcom-nvmem cpufreq drivers (Javier Carrasco)\n\n   - Clean up the sti and dt-platdev cpufreq drivers (Jeff Johnson,\n     Raphael Gallais-Pou)\n\n   - Fix deferred probe handling in the TI cpufreq driver and wrong\n     return values of ti_opp_supply_probe(), and add OPP tables for the\n     AM62Ax and AM62Px SoCs to it (Bryan Brattlof, Primoz Fiser)\n\n   - Avoid overflow of target_freq in .fast_switch() in the SCMI cpufreq\n     driver (Jagadeesh Kona)\n\n   - Use dev_err_probe() in every error path in probe in the Mediatek\n     cpufreq driver (Nícolas Prado)\n\n   - Fix kernel-doc param for longhaul_setstate in the longhaul cpufreq\n     driver (Yang Li)\n\n   - Fix system resume handling in the CPPC cpufreq driver (Riwen Lu)\n\n   - Improve the teo cpuidle governor and clean up leftover comments\n     from the menu cpuidle governor (Christian Loehle)\n\n   - Clean up a comment typo in the teo cpuidle governor (Atul Kumar\n     Pant)\n\n   - Add missing MODULE_DESCRIPTION() macro to cpuidle haltpoll (Jeff\n     Johnson)\n\n   - Switch the intel_idle driver to new Intel CPU model defines (Tony\n     Luck)\n\n   - Switch the Intel RAPL driver new Intel CPU model defines (Tony\n     Luck)\n\n   - Simplify if condition in the idle_inject driver (Thorsten Blum)\n\n   - Fix missing cleanup on error in _opp_attach_genpd() (Viresh Kumar)\n\n   - Introduce an OF helper function to inform if required-opps is used\n     and drop a redundant in-parameter to _set_opp_level() (Ulf Hansson)\n\n   - Update pm-graph to v5.12 which includes fixes and major code revamp\n     for python3.12 (Todd Brandt)\n\n   - Address several assorted issues in the cpupower utility (Roman\n     Storozhenko)\"\n\n* tag \u0027pm-6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (77 commits)\n  cpufreq: sti: fix build warning\n  cpufreq: mediatek: Use dev_err_probe in every error path in probe\n  cpufreq: Add Loongson-3 CPUFreq driver support\n  cpufreq: Make cpufreq_driver-\u003eexit() return void\n  cpufreq/amd-pstate: Fix the scaling_max_freq setting on shared memory CPPC systems\n  cpufreq/amd-pstate-ut: Convert nominal_freq to khz during comparisons\n  cpufreq: pcc: Remove empty exit() callback\n  cpufreq: loongson2: Remove empty exit() callback\n  cpufreq: nforce2: Remove empty exit() callback\n  cpupower: fix lib default installation path\n  cpufreq: docs: Add missing scaling_available_frequencies description\n  cpuidle: teo: Don\u0027t count non-existent intercepts\n  cpupower: Disable direct build of the \u0027bench\u0027 subproject\n  cpuidle: teo: Remove recent intercepts metric\n  Revert: \"cpuidle: teo: Introduce util-awareness\"\n  cpufreq: make cpufreq_boost_enabled() return bool\n  cpufreq: intel_pstate: Support highest performance change interrupt\n  x86/cpufeatures: Add HWP highest perf change feature flag\n  Documentation: cpufreq: amd-pstate: update doc for Per CPU boost control method\n  cpufreq: amd-pstate: Cap the CPPC.max_perf to nominal_perf if CPB is off\n  ...\n"
    },
    {
      "commit": "15114e8fb58ffd574da83951e89cb5ab0055cc1e",
      "tree": "9f0ca1563240e6f6fbd01d348bfaed48af8c3350",
      "parents": [
        "42b5a01596f1f9471b58a2f59e1fceeb8db79ffc",
        "281cfec53b4484ce2092c89b6909f5573cb23443"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 15:47:19 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 15:47:19 2024 -0700"
      },
      "message": "Merge tag \u0027thermal-6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull thermal control updates from Rafael Wysocki:\n \"These add some new hardware support (notably, the Lunar Lake platform\n  support in int340x and X1E80100 temperature sensor), continue to\n  rework the thermal driver interface to eliminate trip point IDs from\n  it, update DT bindings for a number of platforms and simplify probe in\n  a number of thermal drivers, address issues and clean up code.\n\n  Specifics:\n\n   - Add DLVR and MSI interrupt support for the Lunar Lake platform to\n     the int340x thermal driver (Srinivas Pandruvada)\n\n   - Enable workload type hints (WLT) support and power floor interrupt\n     support for the Lunar Lake platform in int340x ((Srinivas\n     Pandruvada)\n\n   - Switch Intel thermal drivers to new Intel CPU model defines (Tony\n     Luck)\n\n   - Clean up the int3400 and int3403 drivers (Erick Archer and David\n     Alan Gilbert)\n\n   - Improve intel_pch_thermal kernel log messages printed during\n     suspend to idle (Zhang Rui)\n\n   - Make the intel_tcc_cooling driver use a model-specific bitmask for\n     TCC offset (Ricardo Neri)\n\n   - Redesign the .set_trip_temp() thermal zone callback to take a trip\n     pointer instead of a trip ID and update its users (Rafael Wysocki)\n\n   - Avoid using invalid combinations of polling_delay and passive_delay\n     thermal zone parameters (Rafael Wysocki)\n\n   - Update a cooling device registration function to take a const\n     argument (Krzysztof Kozlowski)\n\n   - Make the uniphier thermal driver use thermal_zone_for_each_trip()\n     for walking trip points (Rafael Wysocki)\n\n   - Fix and clean up several minor shortcomings in thermal debug\n     (Rafael Wysocki)\n\n   - Rename __thermal_zone_set_trips() to thermal_zone_set_trips() and\n     make it use trip thresholds (Rafael Wysocki)\n\n   - Use READ_ONCE() for lockless access to trip temperature and\n     hysteresis (Rafael Wysocki)\n\n   - Drop unnecessary cooling device target state checks from the\n     Bang-Bang thermal governor (Rafael Wysocki)\n\n   - Avoid invoking thermal governor .trip_crossed() callback for\n     critical and hot trip points (Rafael Wysocki)\n\n   - Group all Renesas drivers inside a dedicated sub directory and add\n     the missing dependency to OF (Niklas Söderlund)\n\n   - Add suspend/resume support on k3_j72xx_bandgap and take the\n     opportunity to remove an unneeded delay in the init time code path\n     (Théo Lebrun)\n\n   - Fix thermal zone definition for MT8186 and MT8188 (Julien Panis)\n\n   - Convert hisilicon-thermal.txt to dt-schema (Abdulrasaq Lawani)\n\n   - Add DT bindings for the X1E80100 temperature sensor (Abel Vesa)\n\n   - Fix the thermal zone node name regular expression in the DT schema\n     (Krzysztof Kozlowski)\n\n   - Avoid failing thermal control initialization by using default\n     values on some platforms where calibration data is missing (Chen-Yu\n     Tsai)\n\n   - Fix the sensor cell size in DT for the Exynos platform (Krzysztof\n     Kozlowski)\n\n   - Bring the common definition of \u0027#thermal-sensor-cells\u0027 property in\n     order to simplify the bindings on all the platforms where this\n     change makes sense and do some minor cleanups (Krzysztof Kozlowski)\n\n   - Fix a race between removal and clock disable in the broadcom\n     thermal driver (Krzysztof Kozlowski)\n\n   - Drop \u0027trips\u0027 DT node as required from the thermal zone bindings in\n     order to fix the remaining warnings appearing for thermal zones\n     without trip points (Rob Herring)\n\n   - Simplify all the drivers where dev_err_probe() can apply (Krzysztof\n     Kozlowski)\n\n   - Clean up code related to stih416 as this platform is not described\n     anywhere (Raphael Gallais-Pou)\"\n\n* tag \u0027thermal-6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (81 commits)\n  thermal/drivers/sti: Cleanup code related to stih416\n  thermal/drivers/generic-adc: Simplify with dev_err_probe()\n  thermal/drivers/generic-adc: Simplify probe() with local dev variable\n  thermal/drivers/qcom-tsens: Simplify with dev_err_probe()\n  thermal/drivers/qcom-spmi-adc-tm5: Simplify with dev_err_probe()\n  thermal/drivers/imx: Simplify with dev_err_probe()\n  thermal/drivers/imx: Simplify probe() with local dev variable\n  thermal/drivers/hisi: Simplify with dev_err_probe()\n  thermal/drivers/exynos: Simplify with dev_err_probe()\n  thermal/drivers/exynos: Simplify probe() with local dev variable\n  thermal/drivers/broadcom: Simplify with dev_err_probe()\n  thermal/drivers/broadcom: Simplify probe() with local dev variable\n  thermal/drivers/broadcom: Fix race between removal and clock disable\n  dt-bindings: thermal: Drop \u0027trips\u0027 node as required\n  dt-bindings: thermal: qoriq: reference thermal-sensor schema\n  dt-bindings: thermal: cleanup examples indentation\n  dt-bindings: thermal: simplify few bindings\n  dt-bindings: thermal: ti,j72xx: reference thermal-sensor schema\n  dt-bindings: thermal: ti,am654: reference thermal-sensor schema\n  dt-bindings: thermal: st,stm32: reference thermal-sensor schema\n  ...\n"
    },
    {
      "commit": "42b5a01596f1f9471b58a2f59e1fceeb8db79ffc",
      "tree": "0cd407556b616baa28c695bebec789b21d67e589",
      "parents": [
        "11ab4cd5ec3f5f531ca0cb3014b7c6869c4aea5d",
        "e86cac0acdb1a74f608bacefe702f2034133a047"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 14:56:13 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 14:56:13 2024 -0700"
      },
      "message": "Merge tag \u0027Smack-for-6.10\u0027 of https://github.com/cschaufler/smack-next\n\nPull smack updates from Casey Schaufler:\n \"Two fixes for Smack networking labeling by Konstantin Andreev\"\n\n* tag \u0027Smack-for-6.10\u0027 of https://github.com/cschaufler/smack-next:\n  smack: unix sockets: fix accept()ed socket label\n  smack: tcp: ipv4, fix incorrect labeling\n"
    },
    {
      "commit": "11ab4cd5ec3f5f531ca0cb3014b7c6869c4aea5d",
      "tree": "2b83fc61014c8f3b3b3701fa9c2eb66cc9bf264b",
      "parents": [
        "dad8d1a383a8a2123be2a067098fa25afa2ddad7",
        "dd44477e7fa15ba3b100dfc67bf7cf083f3dccf6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 14:50:44 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 14:50:44 2024 -0700"
      },
      "message": "Merge tag \u0027lsm-pr-20240715\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm\n\nPull lsm updates from Paul Moore:\n \"Two LSM patches focused on cleaning up the inode xattr capability\n  handling\"\n\n* tag \u0027lsm-pr-20240715\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm:\n  selinux,smack: remove the capability checks in the removexattr hooks\n  lsm: fixup the inode xattr capability handling\n"
    },
    {
      "commit": "dad8d1a383a8a2123be2a067098fa25afa2ddad7",
      "tree": "71084c48f708844aebd198b66be88ae8f8209ac1",
      "parents": [
        "f8a8b94d0698ccc56c44478169c91ca774540d9f",
        "e123134b39dc40af94e8aec49227ae55b5e087a8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 14:43:28 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 14:43:28 2024 -0700"
      },
      "message": "Merge tag \u0027selinux-pr-20240715\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux\n\nPull selinux update from Paul Moore:\n \"A single SELinux patch to change the type of a pre-processor constant\n  to better match its use\"\n\n* tag \u0027selinux-pr-20240715\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:\n  selinux: Use 1UL for EBITMAP_BIT to match maps type\n"
    },
    {
      "commit": "f8a8b94d0698ccc56c44478169c91ca774540d9f",
      "tree": "52a4e190be79653c2320fc71f535be0013d6a110",
      "parents": [
        "ce5a51bfacf7a2953f8fa309a8fc8540c2e288da",
        "acc154691fc75e1a178fc36624bdeee1420585a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 14:24:29 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 14:24:29 2024 -0700"
      },
      "message": "Merge tag \u0027sysctl-6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl\n\nPull sysctl updates from Joel Granados:\n\n - Remove \"-\u003eprocname \u003d\u003d NULL\" check when iterating through sysctl table\n   arrays\n\n   Removing sentinels in ctl_table arrays reduces the build time size\n   and runtime memory consumed by ~64 bytes per array. With all\n   ctl_table sentinels gone, the additional check for -\u003eprocname \u003d\u003d NULL\n   that worked in tandem with the ARRAY_SIZE to calculate the size of\n   the ctl_table arrays is no longer needed and has been removed. The\n   sysctl register functions now returns an error if a sentinel is used.\n\n - Preparation patches for sysctl constification\n\n   Constifying ctl_table structs prevents the modification of\n   proc_handler function pointers as they would reside in .rodata. The\n   ctl_table arguments in sysctl utility functions are const qualified\n   in preparation for a future treewide proc_handler argument\n   constification commit.\n\n - Misc fixes\n\n   Increase robustness of set_ownership by providing sane default\n   ownership values in case the callee doesn\u0027t set them. Bound check\n   proc_dou8vec_minmax to avoid loading buggy modules and give sysctl\n   testing module a name to avoid compiler complaints.\n\n* tag \u0027sysctl-6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl:\n  sysctl: Warn on an empty procname element\n  sysctl: Remove ctl_table sentinel code comments\n  sysctl: Remove \"child\" sysctl code comments\n  sysctl: Remove superfluous empty allocations from sysctl internals\n  sysctl: Replace nr_entries with ctl_table_size in new_links\n  sysctl: Remove check for sentinel element in ctl_table arrays\n  mm profiling: Remove superfluous sentinel element from ctl_table\n  locking: Remove superfluous sentinel element from kern_lockdep_table\n  sysctl: Add module description to sysctl-testing\n  sysctl: constify ctl_table arguments of utility function\n  utsname: constify ctl_table arguments of utility function\n  sysctl: move the extra1/2 boundary check of u8 to sysctl_check_table_array\n  sysctl: always initialize i_uid/i_gid\n"
    },
    {
      "commit": "ce5a51bfacf7a2953f8fa309a8fc8540c2e288da",
      "tree": "c14afaeac549e50eedff24b1f9dce1d06b390cc7",
      "parents": [
        "8050258bd1eed0f77dd7e3fa15feb23bbcc38e63",
        "872bb37f6829d4f7f3ed5afe2786add3d4384b4b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 13:45:43 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 13:45:43 2024 -0700"
      },
      "message": "Merge tag \u0027hardening-v6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux\n\nPull hardening updates from Kees Cook:\n\n - lkdtm/bugs: add test for hung smp_call_function_single() (Mark\n   Rutland)\n\n - gcc-plugins: Remove duplicate included header file stringpool.h\n   (Thorsten Blum)\n\n - ARM: Remove address checking for MMUless devices (Yanjun Yang)\n\n - randomize_kstack: Clean up per-arch entropy and codegen\n\n - KCFI: Make FineIBT mode Kconfig selectable\n\n - fortify: Do not special-case 0-sized destinations\n\n* tag \u0027hardening-v6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:\n  randomize_kstack: Improve stack alignment codegen\n  ARM: Remove address checking for MMUless devices\n  gcc-plugins: Remove duplicate included header file stringpool.h\n  randomize_kstack: Remove non-functional per-arch entropy filtering\n  fortify: Do not special-case 0-sized destinations\n  x86/alternatives: Make FineIBT mode Kconfig selectable\n  lkdtm/bugs: add test for hung smp_call_function_single()\n"
    },
    {
      "commit": "8050258bd1eed0f77dd7e3fa15feb23bbcc38e63",
      "tree": "27a9a63136f243b65df5dbd13039fa85e18a414a",
      "parents": [
        "1ca995edf838a70c7c0aba2de7fc6da57e22cbf3",
        "9b3c13c9ea4ecb2b95948f666560b8df8f358b40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 13:35:07 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 13:35:07 2024 -0700"
      },
      "message": "Merge tag \u0027pstore-v6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux\n\nPull pstore updates from Kees Cook:\n\n - Add missing MODULE_DESCRIPTION() macro (Jeff Johnson)\n\n - Replace deprecated strncpy() with strscpy() (Justin Stitt)\n\n* tag \u0027pstore-v6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:\n  pstore: platform: add missing MODULE_DESCRIPTION() macro\n  pstore/blk: replace deprecated strncpy with strscpy\n"
    },
    {
      "commit": "1ca995edf838a70c7c0aba2de7fc6da57e22cbf3",
      "tree": "9c353521b749b26625bd04d69933efcd71939d19",
      "parents": [
        "72fda6c8e553699f6ba8d3ddc34f0bbe7a5898df",
        "f0c508faea645da58d6ae6b644a1b68020d5a9d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 13:12:16 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 13:12:16 2024 -0700"
      },
      "message": "Merge tag \u0027seccomp-v6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux\n\nPull seccomp updates from Kees Cook:\n\n - interrupt SECCOMP_IOCTL_NOTIF_RECV when all users exit (Andrei Vagin)\n\n - Update selftests to check for expected NOTIF_RECV exits (Andrei\n   Vagin)\n\n* tag \u0027seccomp-v6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:\n  selftests/seccomp: check that a zombie leader doesn\u0027t affect others\n  selftests/seccomp: add test for NOTIF_RECV and unused filters\n  seccomp: release task filters when the task exits\n  seccomp: interrupt SECCOMP_IOCTL_NOTIF_RECV when all users have exited\n"
    },
    {
      "commit": "72fda6c8e553699f6ba8d3ddc34f0bbe7a5898df",
      "tree": "3ba8d2f3ed3417390f404131f4efd2f00fd503a7",
      "parents": [
        "f83e38fc9f1092f8a7a65ff2ea6a1ea6502efaf0",
        "21f93108306026b8066db31c24a097192c8c36c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 12:59:20 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 12:59:20 2024 -0700"
      },
      "message": "Merge tag \u0027execve-v6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux\n\nPull execve updates from Kees Cook:\n\n - Use value of kernel.randomize_va_space once per exec (Alexey\n   Dobriyan)\n\n - Honor PT_LOAD alignment for static PIE\n\n - Make bprm-\u003eargmin only visible under CONFIG_MMU\n\n - Add KUnit testing of bprm_stack_limits()\n\n* tag \u0027execve-v6.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:\n  exec: Avoid pathological argc, envc, and bprm-\u003ep values\n  execve: Keep bprm-\u003eargmin behind CONFIG_MMU\n  ELF: fix kernel.randomize_va_space double read\n  exec: Add KUnit test for bprm_stack_limits()\n  binfmt_elf: Honor PT_LOAD alignment for static PIE\n  binfmt_elf: Calculate total_size earlier\n  selftests/exec: Build both static and non-static load_address tests\n"
    },
    {
      "commit": "f83e38fc9f1092f8a7a65ff2ea6a1ea6502efaf0",
      "tree": "13e3a6118f65ba96ce4faee871912713eddfd300",
      "parents": [
        "e55037c879a087a57d775e848a58430ab3380fc1",
        "9fe6a8c5b247e182c1781556794324a8e26a7cd3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 12:30:57 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 12:30:57 2024 -0700"
      },
      "message": "Merge tag \u0027for-linus-6.11-rc1-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip\n\nPull xen updates from Juergen Gross:\n\n - some trivial cleanups\n\n - a fix for the Xen timer\n\n - add boot time selectable debug capability to the Xen multicall\n   handling\n\n - two fixes for the recently added Xen irqfd handling\n\n* tag \u0027for-linus-6.11-rc1-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:\n  x86/xen: remove deprecated xen_nopvspin boot parameter\n  x86/xen: eliminate some private header files\n  x86/xen: make some functions static\n  xen: make multicall debug boot time selectable\n  xen/arm: Convert comma to semicolon\n  xen: privcmd: Fix possible access to a freed kirqfd instance\n  xen: privcmd: Switch from mutex to spinlock for irqfds\n  xen: add missing MODULE_DESCRIPTION() macros\n  x86/xen: Convert comma to semicolon\n  x86/xen/time: Reduce Xen timer tick\n  xen/manage: Constify struct shutdown_handler\n"
    },
    {
      "commit": "e55037c879a087a57d775e848a58430ab3380fc1",
      "tree": "f12f19aba55d8cc305f6b6bad1c166685ed37b45",
      "parents": [
        "d80f2996b8502779c39221a9e7c9ea7e361c0ae4",
        "4a2ebb082297f41803742729642961532e54079e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 12:22:07 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 12:22:07 2024 -0700"
      },
      "message": "Merge tag \u0027efi-next-for-v6.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi\n\nPull EFI updates from Ard Biesheuvel:\n \"Note the removal of the EFI fake memory map support - this is believed\n  to be unused and no longer worth supporting. However, we could easily\n  bring it back if needed.\n\n  With recent developments regarding confidential VMs and unaccepted\n  memory, combined with kexec, creating a known inaccurate view of the\n  firmware\u0027s memory map and handing it to the OS is a feature we can\n  live without, hence the removal. Alternatively, I could imagine making\n  this feature mutually exclusive with those confidential VM related\n  features, but let\u0027s try simply removing it first.\n\n  Summary:\n\n   - Drop support for the \u0027fake\u0027 EFI memory map on x86\n\n   - Add an SMBIOS based tweak to the EFI stub instructing the firmware\n     on x86 Macbook Pros to keep both GPUs enabled\n\n   - Replace 0-sized array with flexible array in EFI memory attributes\n     table handling\n\n   - Drop redundant BSS clearing when booting via the native PE\n     entrypoint on x86\n\n   - Avoid returning EFI_SUCCESS when aborting on an out-of-memory\n     condition\n\n   - Cosmetic tweak for arm64 KASLR loading logic\"\n\n* tag \u0027efi-next-for-v6.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi:\n  efi: Replace efi_memory_attributes_table_t 0-sized array with flexible array\n  efi: Rename efi_early_memdesc_ptr() to efi_memdesc_ptr()\n  arm64/efistub: Clean up KASLR logic\n  x86/efistub: Drop redundant clearing of BSS\n  x86/efistub: Avoid returning EFI_SUCCESS on error\n  x86/efistub: Call Apple set_os protocol on dual GPU Intel Macs\n  x86/efistub: Enable SMBIOS protocol handling for x86\n  efistub/smbios: Simplify SMBIOS enumeration API\n  x86/efi: Drop support for fake EFI memory maps\n"
    },
    {
      "commit": "d80f2996b8502779c39221a9e7c9ea7e361c0ae4",
      "tree": "339db3f28a684bb7c674d32d62fc2c0f14f935f4",
      "parents": [
        "a5db8e4544a4dc7143f30a1438686a4d5fa6d775",
        "1a7b7326d587c9a5e8ff067e70d6aaf0333f4bb3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 12:09:03 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 12:09:03 2024 -0700"
      },
      "message": "Merge tag \u0027asm-generic-6.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic\n\nPull asm-generic updates from Arnd Bergmann:\n \"Most of this is part of my ongoing work to clean up the system call\n  tables. In this bit, all of the newer architectures are converted to\n  use the machine readable syscall.tbl format instead in place of\n  complex macros in include/uapi/asm-generic/unistd.h.\n\n  This follows an earlier series that fixed various API mismatches and\n  in turn is used as the base for planned simplifications.\n\n  The other two patches are dead code removal and a warning fix\"\n\n* tag \u0027asm-generic-6.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:\n  vmlinux.lds.h: catch .bss..L* sections into BSS\")\n  fixmap: Remove unused set_fixmap_offset_io()\n  riscv: convert to generic syscall table\n  openrisc: convert to generic syscall table\n  nios2: convert to generic syscall table\n  loongarch: convert to generic syscall table\n  hexagon: use new system call table\n  csky: convert to generic syscall table\n  arm64: rework compat syscall macros\n  arm64: generate 64-bit syscall.tbl\n  arm64: convert unistd_32.h to syscall.tbl format\n  arc: convert to generic syscall table\n  clone3: drop __ARCH_WANT_SYS_CLONE3 macro\n  kbuild: add syscall table generation to scripts/Makefile.asm-headers\n  kbuild: verify asm-generic header list\n  loongarch: avoid generating extra header files\n  um: don\u0027t generate asm/bpf_perf_event.h\n  csky: drop asm/gpio.h wrapper\n  syscalls: add generic scripts/syscall.tbl\n"
    },
    {
      "commit": "a5db8e4544a4dc7143f30a1438686a4d5fa6d775",
      "tree": "7a07572892509346cf478ae37070451111ec8f5f",
      "parents": [
        "a9a4cd9c3397109c2799cb765ab0d3959831a248",
        "dead06c5e110c25931bafc8cf017e3077b871ac5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 12:03:39 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 12:03:39 2024 -0700"
      },
      "message": "Merge tag \u0027soc-arm-6.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc\n\nPull arm SoC platform updates from Arnd Bergmann:\n \"The majority of the updates here are Dmitry Torokhov\u0027s cleanups for\n  platform code in the pxa and tegra platforms, changing custom\n  platform_data structures into DT-compatible software node\n  declarations.\n\n  The other updates are for the MAINTAINERS file, correcting some stale\n  or missing entries\"\n\n* tag \u0027soc-arm-6.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:\n  ARM: pxa: fix build breakage on PXA3xx\n  ti: omap: MAINTAINERS: move Benoît Cousson to CREDITS\n  amazon: MAINTAINERS: change to odd fixes and Tsahee Zidenberg to CREDITS\n  MAINTAINERS: thead: add git tree\n  ARM: spitz: Use software nodes for the ADS7846 touchscreen\n  ARM: spitz: Use software nodes to describe LED GPIOs\n  ARM: spitz: Use software nodes to describe MMC GPIOs\n  ARM: spitz: Use software nodes to describe LCD GPIOs\n  ARM: spitz: Use software nodes to describe audio GPIOs\n  ARM: spitz: Use software nodes to describe SPI CS lines\n  ARM: spitz: Simplify instantiating SPI controller\n  ARM: pxa/gumstix: convert vbus gpio to use software nodes\n  ARM: pxa: consolidate GPIO chip platform data\n  ARM: spitz: fix GPIO assignment for backlight\n  ARM: tegra: paz00: Use software nodes to describe GPIOs for WiFi rfkill\n  MAINTAINERS: ARM: airoha: add entry to cover Airoha SoC\n  bus: vexpress-config: Add missing MODULE_DESCRIPTION() macro\n  arm64: layerscape: remove redundant EDAC_SUPPORT selection\n  dt-bindings: arm: Remove obsolete RTSM DCSCB binding\n  arm: vexpress: Remove obsolete RTSM DCSCB support\n"
    },
    {
      "commit": "a9a4cd9c3397109c2799cb765ab0d3959831a248",
      "tree": "814343c756f2de36a4cd2847bdc814de8b934706",
      "parents": [
        "e3950967f6e6b74a3606739ec50ed19f3398c7d8",
        "05a01ce77349f60b8f8d8b09df4e02a99d1f16df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 11:56:15 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 11:56:15 2024 -0700"
      },
      "message": "Merge tag \u0027soc-defconfig-6.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc\n\nPull SoC defconfig updates from Arnd Bergmann:\n \"These are the usual updates to enable newly added drivers, mostly for\n  arm64 and riscv this time\"\n\n* tag \u0027soc-defconfig-6.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:\n  arm64: defconfig: Enable the IWLWIFI driver\n  ARM: multi_v7_defconfig: Add MCP23S08 pinctrl support\n  arm64: defconfig: Enable NVIDIA CoreSight PMU driver\n  arm64: defconfig: enable SHM Bridge support for the TZ memory allocator\n  arm64: defconfig: Enable secure QFPROM driver\n  ARM: imx_v6_v7_defconfig: enable DRM_SII902X and DRM_DISPLAY_CONNECTOR\n  ARM: imx_v6_v7_defconfig: Enable drivers for TQMa7x/MBa7x\n  riscv: defconfig: Enable StarFive JH7110 drivers\n  arm64: defconfig: Enable TI LP873X PMIC\n  arm64: defconfig: Enable USB2 PHY Driver\n  arm64: defconfig: Enable MTD support for Hyperbus\n  ARM: configs: at91: Enable LVDS serializer support\n  arm64: defconfig: enable several Qualcomm interconnects\n  arm64: defconfig: Enable Marvell 88Q2XXX PHY support\n  arm64: defconfig: make CONFIG_INTERCONNECT_QCOM_SM8350 built-in\n  arm64: defconfig: enable CONFIG_SM_GPUCC_8350\n  arm64: defconfig: Enable Renesas R-Car Gen4 PCIe controller\n"
    },
    {
      "commit": "e3950967f6e6b74a3606739ec50ed19f3398c7d8",
      "tree": "7e71d022167eca97b96ca3d675a1cbee55b06889",
      "parents": [
        "cc0f7c3f97bc6e888bf4be28a9da9dbd3735d2b4",
        "48d2245586452b8279a854970ce82f43477669d3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 11:43:51 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 11:43:51 2024 -0700"
      },
      "message": "Merge tag \u0027soc-dt-6.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc\n\nPull SoC dt updates from Arnd Bergmann:\n \"The devicetree updates are fairly well spread out across platforms,\n  with Qualcomm making up about a third of the total.\n\n  There are three new SoCs in existing product families this:\n\n   - NXP i.MX95 is a variant of i.MX93, now with six Cortex-A55 cores\n     instead of just two as well as a GPU and more high-speed I/O\n     devices.\n\n   - Qualcomm QCS8550 is a variant of SM8550 for IOT devices\n\n   - Airoha EN7581 is a 10G-PON network chip and related to the MT7981\n     Wireless router chip from its parent Mediatek.\n\n  In total there are 58 new machines, including four riscv boards and\n  eight for 32-bit arm.\n\n  The most exciting new addition is probably a pair of laptops based on\n  the Qualcomm x1e80100 (Snapdragon X1 Elite) chip, the Asus Vivobook\n  S15 and the Lenovo Yoga Slim7x.\n\n  Other noteworthy new additions are:\n\n   - A total of 20 Qualcomm based machines, mostly Android devices from\n     Samsung, Motorola and LG, as well as a wireless router and some\n     reference designs\n\n   - Six NXP i.MX based machines, mostly industrial boards along with\n     some reference designs\n\n   - Mediatek sees some interesting Filogic based routers including the\n     \"OpenWRT One\", a few new Chromebooks as well as single-board\n     computers.\n\n   - Four machines from Solidrun based on Marvell cn913x, replacing the\n     older Armada 8000 based counterparts\n\n   - The four Amlogic machines are all set top boxes or reference\n     designs for them\n\n   - The nine new Rockchips machines are mostly single-board computers\n     including some interesting ones based on the rk3588 chip like the\n     ROCK 5 ITX board and the CM3588 with its four NVMe slots\n\n   - The RISC-V boards are all single-board computers based on Starfive\n     JH7110, Microchip MPFS and Allwinner D1, which all had similar\n     boards already\n\n  There are also a lot of updates to already supported machines, notably\n  for the TI K3, Rockchips, Freescale and of course Qualcomm platforms\"\n\n* tag \u0027soc-dt-6.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (846 commits)\n  arm64: dts: allwinner: h616: add crypto engine node\n  riscv: dts: add clock generator for Sophgo SG2042 SoC\n  arm64: dts: rockchip: Add Xunlong Orange Pi 3B\n  dt-bindings: arm: rockchip: Add Xunlong Orange Pi 3B\n  arm64: dts: rockchip: Add Radxa ROCK 3B\n  dt-bindings: arm: rockchip: Add Radxa ROCK 3B\n  mailmap: Update Luca Weiss\u0027s email address\n  ARM: dts: ixp4xx: nslu2: beeper uses PWM\n  arm64: dts: rockchip: add ROCK 5 ITX board\n  dt-bindings: arm: rockchip: Add ROCK 5 ITX board\n  arm64: dts: rockchip: Add dma-names to uart1 on Pine64 rk3566 devices\n  arm64: dts: rockchip: Add avdd supplies to hdmi on rock64\n  arm64: dts: qcom: msm8916-lg-c50: add initial dts for LG Leon LTE\n  arm64: dts: qcom: msm8916-lg-m216: Add initial device tree\n  dt-bindings: arm: qcom: Add msm8916 based LG devices\n  ARM: dts: qcom: msm8960: correct memory base\n  arm64: dts: qcom: ipq9574: Add icc provider ability to gcc\n  dt-bindings: interconnect: Add Qualcomm IPQ9574 support\n  arm64: dts: qcom: sm8150: Add video clock controller node\n  arm64: dts: qcom: pm6150: Add vibrator\n  ...\n"
    },
    {
      "commit": "cc0f7c3f97bc6e888bf4be28a9da9dbd3735d2b4",
      "tree": "ec328d17e2b9ddff11579e8759b9922b4e7a7f48",
      "parents": [
        "99298eb615debd41c1fccff05b163d0a29091904",
        "49e24c80d3c81c43e2a56101449e1eea32fcf292"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 11:35:27 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 11:35:27 2024 -0700"
      },
      "message": "Merge tag \u0027soc-drivers-6.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc\n\nPull SoC driver updates from Arnd Bergmann:\n \"The updates to the mediatek, allwinner, ti, tegra, microchip, stm32,\n  samsung, imx, zynq and amlogic platoforms are fairly small maintenance\n  changes, either addressing minor mistakes or enabling additional\n  hardware.\n\n  The qualcomm platform changes add a number of features and are larger\n  than the other ones combined, introducing the use of linux/cleanup.h\n  across several drivers, adding support for Snapdragon X1E and other\n  SoCs in platform drivers, a new \"protection domain mapper\" driver, and\n  a \"shared memory bridge\" driver.\n\n  The cznic \"turris omnia\" router based on Marvell Armada gets a\n  platform driver that talks to the board specific microcontroller.\n\n  The reset and cache subsystems get a few minor updates to SoC specific\n  drivers, while the ff-a, scmi and optee firmware drivers get some code\n  refactoring and new features\"\n\n* tag \u0027soc-drivers-6.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (122 commits)\n  firmware: turris-mox-rwtm: Initialize completion before mailbox\n  firmware: turris-mox-rwtm: Fix checking return value of wait_for_completion_timeout()\n  firmware: turris-mox-rwtm: Do not complete if there are no waiters\n  MAINTAINERS: drop riscv list from cache controllers\n  platform: cznic: turris-omnia-mcu: fix Kconfig dependencies\n  bus: sunxi-rsb: Constify struct regmap_bus\n  soc: sunxi: sram: Constify struct regmap_config\n  platform: cznic: turris-omnia-mcu: Depend on WATCHDOG\n  platform: cznic: turris-omnia-mcu: Depend on OF\n  soc: samsung: exynos-pmu: add support for PMU_ALIVE non atomic registers\n  arm64: stm32: enable scmi regulator for stm32\n  firmware: qcom: tzmem: blacklist more platforms for SHM Bridge\n  soc: qcom: wcnss: simplify with cleanup.h\n  soc: qcom: pdr: simplify with cleanup.h\n  soc: qcom: ocmem: simplify with cleanup.h\n  soc: qcom: mdt_loader: simplify with cleanup.h\n  soc: qcom: llcc: simplify with cleanup.h\n  firmware: qcom: tzmem: simplify returning pointer without cleanup\n  soc: qcom: socinfo: Add PM6350 PMIC\n  arm64: dts: renesas: rz-smarc: Replace fixed regulator for USB VBUS\n  ...\n"
    },
    {
      "commit": "99298eb615debd41c1fccff05b163d0a29091904",
      "tree": "b8ab624e250a4faf7d137f9db9b2eacb64fae6b5",
      "parents": [
        "408323581b722c9bd504dd296920f392049a7f52",
        "21b9e722ad28c19c2bc83f18f540b3dbd89bf762"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 11:30:32 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 11:30:32 2024 -0700"
      },
      "message": "Merge tag \u0027m68k-for-v6.11-tag1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k\n\nPull m68k updates from Geert Uytterhoeven:\n\n - Fix bootup lock-ups on Warp1260, Atari TT, and MegaSTe\n\n - Miscellaneous fixes and improvements\n\n - defconfig updates\n\n* tag \u0027m68k-for-v6.11-tag1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:\n  m68k: cmpxchg: Fix return value for default case in __arch_xchg()\n  m68k: defconfig: Update defconfigs for v6.10-rc1\n  m68k: atari: Fix TT bootup freeze / unexpected (SCU) interrupt messages\n  zorro: Use str_plural() in amiga_zorro_probe()\n  m68k: emu: Add missing MODULE_DESCRIPTION() macros\n  m68k: amiga: Turn off Warp1260 interrupts during boot\n"
    },
    {
      "commit": "408323581b722c9bd504dd296920f392049a7f52",
      "tree": "651e7d137b01ee1a3cca49787c014aba1e42652e",
      "parents": [
        "b84b3381907a3c5c6f1d524185eddc55547068b7",
        "5fa96c7ab3dc666c2904a35895635156c17a8f05"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 11:12:25 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 11:12:25 2024 -0700"
      },
      "message": "Merge tag \u0027x86_sev_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 SEV updates from Borislav Petkov:\n\n - Add support for running the kernel in a SEV-SNP guest, over a Secure\n   VM Service Module (SVSM).\n\n   When running over a SVSM, different services can run at different\n   protection levels, apart from the guest OS but still within the\n   secure SNP environment. They can provide services to the guest, like\n   a vTPM, for example.\n\n   This series adds the required facilities to interface with such a\n   SVSM module.\n\n - The usual fixlets, refactoring and cleanups\n\n[ And as always: \"SEV\" is AMD\u0027s \"Secure Encrypted Virtualization\".\n\n  I can\u0027t be the only one who gets all the newer x86 TLA\u0027s confused,\n  can I?\n              - Linus ]\n\n* tag \u0027x86_sev_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  Documentation/ABI/configfs-tsm: Fix an unexpected indentation silly\n  x86/sev: Do RMP memory coverage check after max_pfn has been set\n  x86/sev: Move SEV compilation units\n  virt: sev-guest: Mark driver struct with __refdata to prevent section mismatch\n  x86/sev: Allow non-VMPL0 execution when an SVSM is present\n  x86/sev: Extend the config-fs attestation support for an SVSM\n  x86/sev: Take advantage of configfs visibility support in TSM\n  fs/configfs: Add a callback to determine attribute visibility\n  sev-guest: configfs-tsm: Allow the privlevel_floor attribute to be updated\n  virt: sev-guest: Choose the VMPCK key based on executing VMPL\n  x86/sev: Provide guest VMPL level to userspace\n  x86/sev: Provide SVSM discovery support\n  x86/sev: Use the SVSM to create a vCPU when not in VMPL0\n  x86/sev: Perform PVALIDATE using the SVSM when not at VMPL0\n  x86/sev: Use kernel provided SVSM Calling Areas\n  x86/sev: Check for the presence of an SVSM in the SNP secrets page\n  x86/irqflags: Provide native versions of the local_irq_save()/restore()\n"
    },
    {
      "commit": "b84b3381907a3c5c6f1d524185eddc55547068b7",
      "tree": "39d57245d26b6f901262bb8686bd0eedf1d3fa68",
      "parents": [
        "d67978318827d06f1c0fa4c31343a279e9df6fde",
        "ea34999f41873c96ac89e861e5fdfc7d0403f9e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 10:53:54 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 16 10:53:54 2024 -0700"
      },
      "message": "Merge tag \u0027x86_cache_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 resource control updates from Borislav Petkov:\n\n - Enable Sub-NUMA clustering to work with resource control on Intel by\n   teaching resctrl to handle scopes due to the clustering which\n   partitions the L3 cache into sets. Modify and extend the subsystem to\n   handle such scopes properly\n\n* tag \u0027x86_cache_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/resctrl: Update documentation with Sub-NUMA cluster changes\n  x86/resctrl: Detect Sub-NUMA Cluster (SNC) mode\n  x86/resctrl: Enable shared RMID mode on Sub-NUMA Cluster (SNC) systems\n  x86/resctrl: Make __mon_event_count() handle sum domains\n  x86/resctrl: Fill out rmid_read structure for smp_call*() to read a counter\n  x86/resctrl: Handle removing directories in Sub-NUMA Cluster (SNC) mode\n  x86/resctrl: Create Sub-NUMA Cluster (SNC) monitor files\n  x86/resctrl: Allocate a new field in union mon_data_bits\n  x86/resctrl: Refactor mkdir_mondata_subdir() with a helper function\n  x86/resctrl: Initialize on-stack struct rmid_read instances\n  x86/resctrl: Add a new field to struct rmid_read for summation of domains\n  x86/resctrl: Prepare for new Sub-NUMA Cluster (SNC) monitor files\n  x86/resctrl: Block use of mba_MBps mount option on Sub-NUMA Cluster (SNC) systems\n  x86/resctrl: Introduce snc_nodes_per_l3_cache\n  x86/resctrl: Add node-scope to the options for feature scope\n  x86/resctrl: Split the rdt_domain and rdt_hw_domain structures\n  x86/resctrl: Prepare for different scope for control/monitor operations\n  x86/resctrl: Prepare to split rdt_domain structure\n  x86/resctrl: Prepare for new domain scope\n"
    },
    {
      "commit": "77ae5e5b00720372af2860efdc4bc652ac682696",
      "tree": "7c6ce4ef8e85dde72ce69c19f4c0d32a733ea721",
      "parents": [
        "a3bfc095060b51f0198755020daf80d1e14413b1"
      ],
      "author": {
        "name": "Colin Ian King",
        "email": "colin.i.king@gmail.com",
        "time": "Tue Jul 16 10:38:51 2024 +0100"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Jul 16 07:55:39 2024 -0700"
      },
      "message": "eth: fbnic: Fix spelling mistake \"tiggerring\" -\u003e \"triggering\"\n\nThere is a spelling mistake in a netdev_warn message. Fix it.\n\nSigned-off-by: Colin Ian King \u003ccolin.i.king@gmail.com\u003e\nLink: https://patch.msgid.link/20240716093851.1003131-1-colin.i.king@gmail.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "a3bfc095060b51f0198755020daf80d1e14413b1",
      "tree": "5e199f65a4dbd33599f45f1427312be2aa3369cd",
      "parents": [
        "b49991d83bba4ae77a560c5f021932e8290bd022"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees@kernel.org",
        "time": "Sat Jul 13 21:11:15 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Jul 16 07:52:15 2024 -0700"
      },
      "message": "tcp: Replace strncpy() with strscpy()\n\nReplace the deprecated[1] uses of strncpy() in tcp_ca_get_name_by_key()\nand tcp_get_default_congestion_control(). The callers use the results as\nstandard C strings (via nla_put_string() and proc handlers respectively),\nso trailing padding is not needed.\n\nSince passing the destination buffer arguments decays it to a pointer,\nthe size can\u0027t be trivially determined by the compiler. ca-\u003ename is\nthe same length in both cases, so strscpy() won\u0027t fail (when ca-\u003ename\nis NUL-terminated). Include the length explicitly instead of using the\n2-argument strscpy().\n\nLink: https://github.com/KSPP/linux/issues/90 [1]\nSigned-off-by: Kees Cook \u003ckees@kernel.org\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nLink: https://patch.msgid.link/20240714041111.it.918-kees@kernel.org\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "b49991d83bba4ae77a560c5f021932e8290bd022",
      "tree": "eb79739ca34f560ce95d6a399804c101132f3b49",
      "parents": [
        "3f45181358e4df50a40ea1bb51b00a1f295f915e"
      ],
      "author": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Tue Jul 16 13:06:39 2024 +0200"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Jul 16 07:51:05 2024 -0700"
      },
      "message": "wifi: ath12k: fix build vs old compiler\n\ngcc 11.4.1-3 warns about memcpy() with overlapping pointers:\n\ndrivers/net/wireless/ath/ath12k/wow.c: In function ‘ath12k_wow_convert_8023_to_80211.constprop’:\n./include/linux/fortify-string.h:114:33: error: ‘__builtin_memcpy’ accessing 18446744073709551611 or more bytes at offsets 0 and 0 overlaps 9223372036854775799 bytes at offset -9223372036854775804 [-Werror\u003drestrict]\n  114 | #define __underlying_memcpy     __builtin_memcpy\n      |                                 ^\n./include/linux/fortify-string.h:637:9: note: in expansion of macro ‘__underlying_memcpy’\n  637 |         __underlying_##op(p, q, __fortify_size);                        \\\n      |         ^~~~~~~~~~~~~\n./include/linux/fortify-string.h:682:26: note: in expansion of macro ‘__fortify_memcpy_chk’\n  682 | #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \\\n      |                          ^~~~~~~~~~~~~~~~~~~~\ndrivers/net/wireless/ath/ath12k/wow.c:190:25: note: in expansion of macro ‘memcpy’\n  190 |                         memcpy(pat, eth_pat, eth_pat_len);\n      |                         ^~~~~~\n./include/linux/fortify-string.h:114:33: error: ‘__builtin_memcpy’ accessing 18446744073709551605 or more bytes at offsets 0 and 0 overlaps 9223372036854775787 bytes at offset -9223372036854775798 [-Werror\u003drestrict]\n  114 | #define __underlying_memcpy     __builtin_memcpy\n      |                                 ^\n./include/linux/fortify-string.h:637:9: note: in expansion of macro ‘__underlying_memcpy’\n  637 |         __underlying_##op(p, q, __fortify_size);                        \\\n      |         ^~~~~~~~~~~~~\n./include/linux/fortify-string.h:682:26: note: in expansion of macro ‘__fortify_memcpy_chk’\n  682 | #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \\\n      |                          ^~~~~~~~~~~~~~~~~~~~\ndrivers/net/wireless/ath/ath12k/wow.c:232:25: note: in expansion of macro ‘memcpy’\n  232 |                         memcpy(pat, eth_pat, eth_pat_len);\n      |                         ^~~~~~\n\nThe sum of size_t operands can overflow SIZE_MAX, triggering the\nwarning.\nAddress the issue using the suitable helper.\n\nFixes: 4a3c212eee0e (\"wifi: ath12k: add basic WoW functionalities\")\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nReviewed-by: Kees Cook \u003ckees@kernel.org\u003e\nAcked-by: Jeff Johnson \u003cquic_jjohnson@quicinc.com\u003e\nLink: https://patch.msgid.link/3175f87d7227e395b330fd88fb840c1645084ea7.1721127979.git.pabeni@redhat.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "3f45181358e4df50a40ea1bb51b00a1f295f915e",
      "tree": "74656b629071060b2eeebc94a4af5f959ea68df3",
      "parents": [
        "51b35d4f9d8860b7c181e545a90bc0ad370efbdb"
      ],
      "author": {
        "name": "Kuniyuki Iwashima",
        "email": "kuniyu@amazon.com",
        "time": "Sun Jul 14 09:17:19 2024 -0700"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Tue Jul 16 11:56:14 2024 +0200"
      },
      "message": "tcp: Don\u0027t access uninit tcp_rsk(req)-\u003eao_keyid in tcp_create_openreq_child().\n\nsyzkaller reported KMSAN splat in tcp_create_openreq_child(). [0]\n\nThe uninit variable is tcp_rsk(req)-\u003eao_keyid.\n\ntcp_rsk(req)-\u003eao_keyid is initialised only when tcp_conn_request() finds\na valid TCP AO option in SYN.  Then, tcp_rsk(req)-\u003eused_tcp_ao is set\naccordingly.\n\nLet\u0027s not read tcp_rsk(req)-\u003eao_keyid when tcp_rsk(req)-\u003eused_tcp_ao is\nfalse.\n\n[0]:\nBUG: KMSAN: uninit-value in tcp_create_openreq_child+0x198b/0x1ff0 net/ipv4/tcp_minisocks.c:610\n tcp_create_openreq_child+0x198b/0x1ff0 net/ipv4/tcp_minisocks.c:610\n tcp_v4_syn_recv_sock+0x18e/0x2170 net/ipv4/tcp_ipv4.c:1754\n tcp_check_req+0x1a3e/0x20c0 net/ipv4/tcp_minisocks.c:852\n tcp_v4_rcv+0x26a4/0x53a0 net/ipv4/tcp_ipv4.c:2265\n ip_protocol_deliver_rcu+0x884/0x1270 net/ipv4/ip_input.c:205\n ip_local_deliver_finish+0x30f/0x530 net/ipv4/ip_input.c:233\n NF_HOOK include/linux/netfilter.h:314 [inline]\n ip_local_deliver+0x230/0x4c0 net/ipv4/ip_input.c:254\n dst_input include/net/dst.h:460 [inline]\n ip_sublist_rcv_finish net/ipv4/ip_input.c:580 [inline]\n ip_list_rcv_finish net/ipv4/ip_input.c:631 [inline]\n ip_sublist_rcv+0x10f7/0x13e0 net/ipv4/ip_input.c:639\n ip_list_rcv+0x952/0x9c0 net/ipv4/ip_input.c:674\n __netif_receive_skb_list_ptype net/core/dev.c:5703 [inline]\n __netif_receive_skb_list_core+0xd92/0x11d0 net/core/dev.c:5751\n __netif_receive_skb_list net/core/dev.c:5803 [inline]\n netif_receive_skb_list_internal+0xd8f/0x1350 net/core/dev.c:5895\n gro_normal_list include/net/gro.h:515 [inline]\n napi_complete_done+0x3f2/0x990 net/core/dev.c:6246\n e1000_clean+0x1fa4/0x5e50 drivers/net/ethernet/intel/e1000/e1000_main.c:3808\n __napi_poll+0xd9/0x990 net/core/dev.c:6771\n napi_poll net/core/dev.c:6840 [inline]\n net_rx_action+0x90f/0x17e0 net/core/dev.c:6962\n handle_softirqs+0x152/0x6b0 kernel/softirq.c:554\n __do_softirq kernel/softirq.c:588 [inline]\n invoke_softirq kernel/softirq.c:428 [inline]\n __irq_exit_rcu kernel/softirq.c:637 [inline]\n irq_exit_rcu+0x5d/0x120 kernel/softirq.c:649\n common_interrupt+0x83/0x90 arch/x86/kernel/irq.c:278\n asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693\n __msan_instrument_asm_store+0xd6/0xe0\n arch_atomic_inc arch/x86/include/asm/atomic.h:53 [inline]\n raw_atomic_inc include/linux/atomic/atomic-arch-fallback.h:992 [inline]\n atomic_inc include/linux/atomic/atomic-instrumented.h:436 [inline]\n page_ref_inc include/linux/page_ref.h:153 [inline]\n folio_ref_inc include/linux/page_ref.h:160 [inline]\n filemap_map_order0_folio mm/filemap.c:3596 [inline]\n filemap_map_pages+0x11c7/0x2270 mm/filemap.c:3644\n do_fault_around mm/memory.c:4879 [inline]\n do_read_fault mm/memory.c:4912 [inline]\n do_fault mm/memory.c:5051 [inline]\n do_pte_missing mm/memory.c:3897 [inline]\n handle_pte_fault mm/memory.c:5381 [inline]\n __handle_mm_fault mm/memory.c:5524 [inline]\n handle_mm_fault+0x3677/0x6f00 mm/memory.c:5689\n do_user_addr_fault+0x1373/0x2b20 arch/x86/mm/fault.c:1338\n handle_page_fault arch/x86/mm/fault.c:1481 [inline]\n exc_page_fault+0x54/0xc0 arch/x86/mm/fault.c:1539\n asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623\n\nUninit was stored to memory at:\n tcp_create_openreq_child+0x1984/0x1ff0 net/ipv4/tcp_minisocks.c:611\n tcp_v4_syn_recv_sock+0x18e/0x2170 net/ipv4/tcp_ipv4.c:1754\n tcp_check_req+0x1a3e/0x20c0 net/ipv4/tcp_minisocks.c:852\n tcp_v4_rcv+0x26a4/0x53a0 net/ipv4/tcp_ipv4.c:2265\n ip_protocol_deliver_rcu+0x884/0x1270 net/ipv4/ip_input.c:205\n ip_local_deliver_finish+0x30f/0x530 net/ipv4/ip_input.c:233\n NF_HOOK include/linux/netfilter.h:314 [inline]\n ip_local_deliver+0x230/0x4c0 net/ipv4/ip_input.c:254\n dst_input include/net/dst.h:460 [inline]\n ip_sublist_rcv_finish net/ipv4/ip_input.c:580 [inline]\n ip_list_rcv_finish net/ipv4/ip_input.c:631 [inline]\n ip_sublist_rcv+0x10f7/0x13e0 net/ipv4/ip_input.c:639\n ip_list_rcv+0x952/0x9c0 net/ipv4/ip_input.c:674\n __netif_receive_skb_list_ptype net/core/dev.c:5703 [inline]\n __netif_receive_skb_list_core+0xd92/0x11d0 net/core/dev.c:5751\n __netif_receive_skb_list net/core/dev.c:5803 [inline]\n netif_receive_skb_list_internal+0xd8f/0x1350 net/core/dev.c:5895\n gro_normal_list include/net/gro.h:515 [inline]\n napi_complete_done+0x3f2/0x990 net/core/dev.c:6246\n e1000_clean+0x1fa4/0x5e50 drivers/net/ethernet/intel/e1000/e1000_main.c:3808\n __napi_poll+0xd9/0x990 net/core/dev.c:6771\n napi_poll net/core/dev.c:6840 [inline]\n net_rx_action+0x90f/0x17e0 net/core/dev.c:6962\n handle_softirqs+0x152/0x6b0 kernel/softirq.c:554\n __do_softirq kernel/softirq.c:588 [inline]\n invoke_softirq kernel/softirq.c:428 [inline]\n __irq_exit_rcu kernel/softirq.c:637 [inline]\n irq_exit_rcu+0x5d/0x120 kernel/softirq.c:649\n common_interrupt+0x83/0x90 arch/x86/kernel/irq.c:278\n asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693\n\nUninit was created at:\n __alloc_pages_noprof+0x82d/0xcb0 mm/page_alloc.c:4706\n __alloc_pages_node_noprof include/linux/gfp.h:269 [inline]\n alloc_pages_node_noprof include/linux/gfp.h:296 [inline]\n alloc_slab_page mm/slub.c:2265 [inline]\n allocate_slab mm/slub.c:2428 [inline]\n new_slab+0x2af/0x14e0 mm/slub.c:2481\n ___slab_alloc+0xf73/0x3150 mm/slub.c:3667\n __slab_alloc mm/slub.c:3757 [inline]\n __slab_alloc_node mm/slub.c:3810 [inline]\n slab_alloc_node mm/slub.c:3990 [inline]\n kmem_cache_alloc_noprof+0x53a/0x9f0 mm/slub.c:4009\n reqsk_alloc_noprof net/ipv4/inet_connection_sock.c:920 [inline]\n inet_reqsk_alloc+0x63/0x700 net/ipv4/inet_connection_sock.c:951\n tcp_conn_request+0x339/0x4860 net/ipv4/tcp_input.c:7177\n tcp_v4_conn_request+0x13b/0x190 net/ipv4/tcp_ipv4.c:1719\n tcp_rcv_state_process+0x2dd/0x4a10 net/ipv4/tcp_input.c:6711\n tcp_v4_do_rcv+0xbee/0x10d0 net/ipv4/tcp_ipv4.c:1932\n tcp_v4_rcv+0x3fad/0x53a0 net/ipv4/tcp_ipv4.c:2334\n ip_protocol_deliver_rcu+0x884/0x1270 net/ipv4/ip_input.c:205\n ip_local_deliver_finish+0x30f/0x530 net/ipv4/ip_input.c:233\n NF_HOOK include/linux/netfilter.h:314 [inline]\n ip_local_deliver+0x230/0x4c0 net/ipv4/ip_input.c:254\n dst_input include/net/dst.h:460 [inline]\n ip_sublist_rcv_finish net/ipv4/ip_input.c:580 [inline]\n ip_list_rcv_finish net/ipv4/ip_input.c:631 [inline]\n ip_sublist_rcv+0x10f7/0x13e0 net/ipv4/ip_input.c:639\n ip_list_rcv+0x952/0x9c0 net/ipv4/ip_input.c:674\n __netif_receive_skb_list_ptype net/core/dev.c:5703 [inline]\n __netif_receive_skb_list_core+0xd92/0x11d0 net/core/dev.c:5751\n __netif_receive_skb_list net/core/dev.c:5803 [inline]\n netif_receive_skb_list_internal+0xd8f/0x1350 net/core/dev.c:5895\n gro_normal_list include/net/gro.h:515 [inline]\n napi_complete_done+0x3f2/0x990 net/core/dev.c:6246\n e1000_clean+0x1fa4/0x5e50 drivers/net/ethernet/intel/e1000/e1000_main.c:3808\n __napi_poll+0xd9/0x990 net/core/dev.c:6771\n napi_poll net/core/dev.c:6840 [inline]\n net_rx_action+0x90f/0x17e0 net/core/dev.c:6962\n handle_softirqs+0x152/0x6b0 kernel/softirq.c:554\n __do_softirq kernel/softirq.c:588 [inline]\n invoke_softirq kernel/softirq.c:428 [inline]\n __irq_exit_rcu kernel/softirq.c:637 [inline]\n irq_exit_rcu+0x5d/0x120 kernel/softirq.c:649\n common_interrupt+0x83/0x90 arch/x86/kernel/irq.c:278\n asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693\n\nCPU: 0 PID: 239 Comm: modprobe Tainted: G    B              6.10.0-rc7-01816-g852e42cc2dd4 #3 1107521f0c7b55c9309062382d0bda9f604dbb6d\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014\n\nFixes: 06b22ef29591 (\"net/tcp: Wire TCP-AO to request sockets\")\nReported-by: syzkaller \u003csyzkaller@googlegroups.com\u003e\nSigned-off-by: Kuniyuki Iwashima \u003ckuniyu@amazon.com\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nAcked-by: Dmitry Safonov \u003c0x7f454c46@gmail.com\u003e\nLink: https://patch.msgid.link/20240714161719.6528-1-kuniyu@amazon.com\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n\n"
    },
    {
      "commit": "d67978318827d06f1c0fa4c31343a279e9df6fde",
      "tree": "cd384c160938f2249ca80618f85eeec199680976",
      "parents": [
        "2439a5eaa753d22759fb4248e0f5e459503fffad",
        "34b3fc558b537bdf99644dcde539e151716f6331"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 20:25:16 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 20:25:16 2024 -0700"
      },
      "message": "Merge tag \u0027x86_cpu_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 cpu model updates from Borislav Petkov:\n\n - Flip the logic to add feature names to /proc/cpuinfo to having to\n   explicitly specify the flag if there\u0027s a valid reason to show it in\n   /proc/cpuinfo\n\n - Switch a bunch of Intel x86 model checking code to the new CPU model\n   defines\n\n - Fixes and cleanups\n\n* tag \u0027x86_cpu_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/cpu/intel: Drop stray FAM6 check with new Intel CPU model defines\n  x86/cpufeatures: Flip the /proc/cpuinfo appearance logic\n  x86/CPU/AMD: Always inline amd_clear_divider()\n  x86/mce/inject: Add missing MODULE_DESCRIPTION() line\n  perf/x86/rapl: Switch to new Intel CPU model defines\n  x86/boot: Switch to new Intel CPU model defines\n  x86/cpu: Switch to new Intel CPU model defines\n  perf/x86/intel: Switch to new Intel CPU model defines\n  x86/virt/tdx: Switch to new Intel CPU model defines\n  x86/PCI: Switch to new Intel CPU model defines\n  x86/cpu/intel: Switch to new Intel CPU model defines\n  x86/platform/intel-mid: Switch to new Intel CPU model defines\n  x86/pconfig: Remove unused MKTME pconfig code\n  x86/cpu: Remove useless work in detect_tme_early()\n"
    },
    {
      "commit": "2439a5eaa753d22759fb4248e0f5e459503fffad",
      "tree": "2622a88a4e99fcd9859ee0e0bd7af8ecf054df7a",
      "parents": [
        "f998678baf3c143fec4c66e7f3a84bae3b25ff12",
        "42c141fbb651b64db492aab35bc1d96eb4c20261"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 20:07:27 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 20:07:27 2024 -0700"
      },
      "message": "Merge tag \u0027x86_bugs_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 cpu mitigation updates from Borislav Petkov:\n\n - Add a spectre_bhi\u003dvmexit mitigation option aimed at cloud\n   environments\n\n - Remove duplicated Spectre cmdline option documentation\n\n - Add separate macro definitions for syscall handlers which do not\n   return in order to address objtool warnings\n\n* tag \u0027x86_bugs_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/bugs: Add \u0027spectre_bhi\u003dvmexit\u0027 cmdline option\n  x86/bugs: Remove duplicate Spectre cmdline option descriptions\n  x86/syscall: Mark exit[_group] syscall handlers __noreturn\n"
    },
    {
      "commit": "f998678baf3c143fec4c66e7f3a84bae3b25ff12",
      "tree": "df2d34c919041d2cb6a003b839da0531061ee760",
      "parents": [
        "222dfb8326dcdc3181832d80331d2d4956cab42e",
        "57b7b6acb41b51087ceb40c562efe392ec8c9677"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 20:05:40 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 20:05:40 2024 -0700"
      },
      "message": "Merge tag \u0027x86_vmware_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 vmware updates from Borislav Petkov:\n\n - Add a unified VMware hypercall API layer which should be used by all\n   callers instead of them doing homegrown solutions. This will provide\n   for adding API support for confidential computing solutions like TDX\n\n* tag \u0027x86_vmware_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/vmware: Add TDX hypercall support\n  x86/vmware: Remove legacy VMWARE_HYPERCALL* macros\n  x86/vmware: Correct macro names\n  x86/vmware: Use VMware hypercall API\n  drm/vmwgfx: Use VMware hypercall API\n  input/vmmouse: Use VMware hypercall API\n  ptp/vmware: Use VMware hypercall API\n  x86/vmware: Introduce VMware hypercall API\n"
    },
    {
      "commit": "222dfb8326dcdc3181832d80331d2d4956cab42e",
      "tree": "0cf3c1bd99e7a50a056bfbe44ff60b5c32e0c502",
      "parents": [
        "1d86d352411dab9bf9312c9eb4b2d4020195be45",
        "bf6ab33d8487f5e2a0998ce75286eae65bb0a6d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 19:53:07 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 19:53:07 2024 -0700"
      },
      "message": "Merge tag \u0027x86_misc_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull misc x86 updates from Borislav Petkov:\n\n - Make error checking of AMD SMN accesses more robust in the callers as\n   they\u0027re the only ones who can interpret the results properly\n\n - The usual cleanups and fixes, left and right\n\n* tag \u0027x86_misc_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/kmsan: Fix hook for unaligned accesses\n  x86/platform/iosf_mbi: Convert PCIBIOS_* return codes to errnos\n  x86/pci/xen: Fix PCIBIOS_* return code handling\n  x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling\n  x86/of: Return consistent error type from x86_of_pci_irq_enable()\n  hwmon: (k10temp) Rename _data variable\n  hwmon: (k10temp) Remove unused HAVE_TDIE() macro\n  hwmon: (k10temp) Reduce k10temp_get_ccd_support() parameters\n  hwmon: (k10temp) Define a helper function to read CCD temperature\n  x86/amd_nb: Enhance SMN access error checking\n  hwmon: (k10temp) Check return value of amd_smn_read()\n  EDAC/amd64: Check return value of amd_smn_read()\n  EDAC/amd64: Remove unused register accesses\n  tools/x86/kcpuid: Add missing dir via Makefile\n  x86, arm: Add missing license tag to syscall tables files\n"
    },
    {
      "commit": "1d86d352411dab9bf9312c9eb4b2d4020195be45",
      "tree": "0d253ff01aa6cc99b5ede456fb66ac7a748a9e62",
      "parents": [
        "93196575442e13a1bc4190ecd870ceb21866013c",
        "469169803d52a5d8f0dc781090638e851a7d22b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 19:51:23 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 19:51:23 2024 -0700"
      },
      "message": "Merge tag \u0027x86_build_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 build update from Borislav Petkov:\n\n - Make sure insn support detection uses the proper compiler flag in\n   bi-arch builds\n\n* tag \u0027x86_build_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/kconfig: Add as-instr64 macro to properly evaluate AS_WRUSS\n"
    },
    {
      "commit": "93196575442e13a1bc4190ecd870ceb21866013c",
      "tree": "0602969ec4d6b7d506f69203c5939446f9ec9fc2",
      "parents": [
        "98896d8795d72acf166f83b06c2706effa019d92",
        "8a2462df154799129d8259079ec1fecf78703189"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 19:49:55 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 19:49:55 2024 -0700"
      },
      "message": "Merge tag \u0027x86_core_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 uaccess update from Borislav Petkov:\n\n - Cleanup the 8-byte getuser() asm case\n\n* tag \u0027x86_core_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/uaccess: Improve the 8-byte getuser() case\n"
    },
    {
      "commit": "98896d8795d72acf166f83b06c2706effa019d92",
      "tree": "11b0e41c0cee3d35a1f2b6fe16ef94272a564b9d",
      "parents": [
        "181a984b7d8d98e5997bcd8e2ebe6ade1b36978e",
        "16df35946120fca2346c415fae429c821391eef8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 19:36:01 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 19:36:01 2024 -0700"
      },
      "message": "Merge tag \u0027x86_cc_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 confidential computing updates from Borislav Petkov:\n \"Unrelated x86/cc changes queued here to avoid ugly cross-merges and\n  conflicts:\n\n   - Carve out CPU hotplug function declarations into a separate header\n     with the goal to be able to use the lockdep assertions in a more\n     flexible manner\n\n   - As a result, refactor cacheinfo code after carving out a function\n     to return the cache ID associated with a given cache level\n\n   - Cleanups\n\n  Add support to be able to kexec TDX guests:\n\n   - Expand ACPI MADT CPU offlining support\n\n   - Add machinery to prepare CoCo guests memory before kexec-ing into a\n     new kernel\n\n   - Cleanup, readjust and massage related code\"\n\n* tag \u0027x86_cc_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)\n  ACPI: tables: Print MULTIPROC_WAKEUP when MADT is parsed\n  x86/acpi: Add support for CPU offlining for ACPI MADT wakeup method\n  x86/mm: Introduce kernel_ident_mapping_free()\n  x86/smp: Add smp_ops.stop_this_cpu() callback\n  x86/acpi: Do not attempt to bring up secondary CPUs in the kexec case\n  x86/acpi: Rename fields in the acpi_madt_multiproc_wakeup structure\n  x86/mm: Do not zap page table entries mapping unaccepted memory table during kdump\n  x86/mm: Make e820__end_ram_pfn() cover E820_TYPE_ACPI ranges\n  x86/tdx: Convert shared memory back to private on kexec\n  x86/mm: Add callbacks to prepare encrypted memory for kexec\n  x86/tdx: Account shared memory\n  x86/mm: Return correct level from lookup_address() if pte is none\n  x86/mm: Make x86_platform.guest.enc_status_change_*() return an error\n  x86/kexec: Keep CR4.MCE set during kexec for TDX guest\n  x86/relocate_kernel: Use named labels for less confusion\n  cpu/hotplug, x86/acpi: Disable CPU offlining for ACPI MADT wakeup\n  cpu/hotplug: Add support for declaring CPU offlining not supported\n  x86/apic: Mark acpi_mp_wake_* variables as __ro_after_init\n  x86/acpi: Extract ACPI MADT wakeup code into a separate file\n  x86/kexec: Remove spurious unconditional JMP from from identity_mapped()\n  ...\n"
    },
    {
      "commit": "181a984b7d8d98e5997bcd8e2ebe6ade1b36978e",
      "tree": "5c2b77368e77ac3657d8355961585acf272aace3",
      "parents": [
        "4578d072fa8f840d2492e1bba30871dbe1e9609a",
        "71315037cb7d40cdb2f4fbefad31927f6e6caba5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 19:34:20 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 19:34:20 2024 -0700"
      },
      "message": "Merge tag \u0027x86_cleanups_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 cleanups from Borislav Petkov:\n\n - Remove an unused function and the documentation of an already removed\n   cmdline parameter\n\n* tag \u0027x86_cleanups_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/boot: Remove unused function __fortify_panic()\n  Documentation: Remove \"mfgpt_irq\u003d\" from the kernel-parameters.txt file\n"
    },
    {
      "commit": "4578d072fa8f840d2492e1bba30871dbe1e9609a",
      "tree": "4e97557a757c933e627b63f2485b00a30f9430a3",
      "parents": [
        "208c6772d3839203fa34a8c77dd1fb7750c4f34a",
        "0c40b1c7a897bd9733e72aca2396fd3a62f1db17"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 19:31:59 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 19:31:59 2024 -0700"
      },
      "message": "Merge tag \u0027x86_boot_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 boot updates from Borislav Petkov:\n\n - Add a check to warn when cmdline parsing happens before the final\n   cmdline string has been built and thus arguments can get lost\n\n - Code cleanups and simplifications\n\n* tag \u0027x86_boot_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/setup: Warn when option parsing is done too early\n  x86/boot: Clean up the arch/x86/boot/main.c code a bit\n  x86/boot: Use current_stack_pointer to avoid asm() in init_heap()\n"
    },
    {
      "commit": "208c6772d3839203fa34a8c77dd1fb7750c4f34a",
      "tree": "b069ef3e959dd76f00c9cd692861d27f80938287",
      "parents": [
        "1467b49869df43c4ee51bdaa0ec1cb69e333407d",
        "0d3db1f14abb4eb28613fbeb1e2ad92bac76debf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 19:11:28 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 19:11:28 2024 -0700"
      },
      "message": "Merge tag \u0027x86_alternatives_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 alternatives updates from Borislav Petkov:\n \"This is basically PeterZ\u0027s idea to nest the alternative macros to\n  avoid the need to \"spell out\" the number of alternates in an\n  ALTERNATIVE_n() macro and thus have an ever-increasing complexity in\n  those definitions.\n\n  For ease of bisection, the old macros are converted to the new, nested\n  variants in a step-by-step manner so that in case an issue is\n  encountered during testing, one can pinpoint the place where it fails\n  easier.\n\n  Because debugging alternatives is a serious pain\"\n\n* tag \u0027x86_alternatives_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/alternatives, kvm: Fix a couple of CALLs without a frame pointer\n  x86/alternative: Replace the old macros\n  x86/alternative: Convert the asm ALTERNATIVE_3() macro\n  x86/alternative: Convert the asm ALTERNATIVE_2() macro\n  x86/alternative: Convert the asm ALTERNATIVE() macro\n  x86/alternative: Convert ALTERNATIVE_3()\n  x86/alternative: Convert ALTERNATIVE_TERNARY()\n  x86/alternative: Convert alternative_call_2()\n  x86/alternative: Convert alternative_call()\n  x86/alternative: Convert alternative_io()\n  x86/alternative: Convert alternative_input()\n  x86/alternative: Convert alternative_2()\n  x86/alternative: Convert alternative()\n  x86/alternatives: Add nested alternatives macros\n  x86/alternative: Zap alternative_ternary()\n"
    },
    {
      "commit": "1467b49869df43c4ee51bdaa0ec1cb69e333407d",
      "tree": "c2397804e86670805b68550239041e57b3a606ea",
      "parents": [
        "8028e290b6354ddb404e88f17fe5d37945cb122f",
        "5b9d292ea87c836ec47483f98344cb0e7add82fe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 18:22:48 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 15 18:22:48 2024 -0700"
      },
      "message": "Merge tag \u0027ras_core_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RAS updates from Borislav Petkov:\n\n - A cleanup and a correction to the error injection driver to inject a\n   MCA_MISC value only when one has actually been supplied by the user\n\n* tag \u0027ras_core_for_v6.11_rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/mce: Remove unused variable and return value in machine_check_poll()\n  x86/mce/inject: Only write MCA_MISC when a value has been supplied\n"
    }
  ],
  "next": "8028e290b6354ddb404e88f17fe5d37945cb122f"
}
