)]}'
{
  "log": [
    {
      "commit": "c75fc0b9e5be7350ab1c73a0dcd48e9a8985ce24",
      "tree": "1450892aa7b4498149fa0a99bb5ea0c44c354bc6",
      "parents": [
        "e30ea48b5e7ebc09c4277a478727d195ca231cef"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:14:00 2024 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:36:02 2024 +0200"
      },
      "message": "gtp: identify tunnel via GTP device + GTP version + TEID + family\n\nThis allows to define a GTP tunnel for dual stack MS/UE with both IPv4\nand IPv6 addresses while using the same TEID via two PDP context\nobjects.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "e30ea48b5e7ebc09c4277a478727d195ca231cef",
      "tree": "01985929cf7ca77cb3be3b734b16a9d54b648916",
      "parents": [
        "045a7c15e7910bcce379386390c0353c944e386a"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:13:46 2024 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:36:01 2024 +0200"
      },
      "message": "gtp: support for IPv4-in-IPv6-GTP and IPv6-in-IPv4-GTP\n\nAdd new protocol field to PDP context that determines the transmit path\nIP protocol to encapsulate the original packets, either IPv4 or IPv6.\n\nRelax existing netlink attribute checks to allow to specify different\nfamily in MS and peer attributes from the control plane.\n\nUse build helpers to tx path to encapsulate IPv4-in-IPv6-GTP and\nIPv6-in-IPv4-GTP according to the user-specified configuration.\n\nFrom rx path, snoop for the inner protocol header since outer\nskb-\u003eprotocol might differ and use this to validate for valid PDP\ncontext and to restore skb-\u003eprotocol after decapsulation.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "045a7c15e7910bcce379386390c0353c944e386a",
      "tree": "ef76147f4dfa47ea543d5ae2ca801c14c0146d96",
      "parents": [
        "b77732f05ebbc8d1452577a67f28c0cf3ee59684"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:13:32 2024 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:36:00 2024 +0200"
      },
      "message": "gtp: add helper function to build GTP packets from an IPv6 packet\n\nAdd routine to attach an IPv6 route for the encapsulated packet, deal\nwith Path MTU and push GTP header.\n\nThis helper function will be used to deal with IPv4-in-IPv6-GTP.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "b77732f05ebbc8d1452577a67f28c0cf3ee59684",
      "tree": "7391210e2715516fbe3c1bb10a4d8613b2e0a6bd",
      "parents": [
        "559101a707842b4fc39cddef03f5dbcaa7820c6d"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:13:18 2024 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:36:00 2024 +0200"
      },
      "message": "gtp: add helper function to build GTP packets from an IPv4 packet\n\nAdd routine to attach an IPv4 route for the encapsulated packet, deal\nwith Path MTU and push GTP header.\n\nThis helper function will be used to deal with IPv6-in-IPv4-GTP.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "559101a707842b4fc39cddef03f5dbcaa7820c6d",
      "tree": "4b275ddd5c9a33ffd91250c4602c251b90e78a86",
      "parents": [
        "e075880459a8554e43b6c03487375283f22ccb9f"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:13:04 2024 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:35:59 2024 +0200"
      },
      "message": "gtp: remove IPv4 and IPv6 header from context object\n\nBased on the idea that ip_tunnel_get_dsfield() provides the tos field\nregardless the IP version, use either iph-\u003etos or ipv6_get_dsfield().\n\nThis comes in preparation to support for IPv4-in-IPv6-GTP and\nIPv6-in-IPv4-GTP.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "e075880459a8554e43b6c03487375283f22ccb9f",
      "tree": "393a28a3a751b01af610bd79be6e131c961a128d",
      "parents": [
        "e4f88f7381fa551ff4ad059930a729a0ef2b405f"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:12:50 2024 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:35:59 2024 +0200"
      },
      "message": "gtp: move debugging to skbuff build helper function\n\nMove debugging to the routine to build GTP packets in preparation\nfor supporting IPv4-in-IPv6-GTP and IPv6-in-IPv4-GTP.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "e4f88f7381fa551ff4ad059930a729a0ef2b405f",
      "tree": "de97ead9be712fa36c7c8a11b092fce6d6d5627d",
      "parents": [
        "c6461ec97b256856e6736454f00af70d9d12f171"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:12:36 2024 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:35:58 2024 +0200"
      },
      "message": "gtp: pass up link local traffic to userspace socket\n\nAccording to TS 29.061, it is possible to see IPv6 link-local traffic in\nthe GTP tunnel, see 11.2.1.3.2 IPv6 Stateless Address Autoconfiguration\n(IPv6 SLAAC).\n\nPass up these packets to the userspace daemon to handle them as control\nGTP traffic.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "c6461ec97b256856e6736454f00af70d9d12f171",
      "tree": "83be5ec21cbc8b6b3e64928996dac56a21023cd3",
      "parents": [
        "999cb275c807b92662f8a74fdaee9619700f64a5"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:12:21 2024 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:35:57 2024 +0200"
      },
      "message": "gtp: use IPv6 address /64 prefix for UE/MS\n\nHarald Welte reports that according to 3GPP TS 29.060:\n\n    PDN Connection: the association between a MS represented by one IPv4\naddress and/or one IPv6 prefix and a PDN represented by an APN.\n\nthis clearly states that IPv4 is a single address while IPv6 is a single prefix.\n\nThen, 3GPP TS 29.061, Section 11.2.1.3:\n\n    For APNs that are configured for IPv6 address allocation, the GGSN/P-GW\nshall only use the Prefix part of the IPv6 address for forwarding of mobile\nterminated IP packets. The size of the prefix shall be according to the maximum\nprefix length for a global IPv6 address as specified in the IPv6 Addressing\nArchitecture, see RFC 4291 [82].\n\nRFC 4291 section 2.5.4 states\n\n    All Global Unicast addresses other than those that start with binary 000\nhave a 64-bit interface ID field (i.e., n + m \u003d 64) ...\n\n3GPP TS 29.61 Section 11.2.1.3.2a:\n\n    In the procedure in the cases of using GTP-based S5/S8, P-GW acts as an\naccess router, and allocates to a UE a globally unique /64 IPv6 prefix if the\nPLMN allocates the prefix.\n\nTherefore, compare IPv6 address /64 prefix only since MS/UE is not a single\naddress like in the IPv4 case.\n\nReject IPv6 address with EADDRNOTAVAIL if it lower 64 bits of the IPv6 address\nfrom the control plane are set.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "999cb275c807b92662f8a74fdaee9619700f64a5",
      "tree": "4bb8c846752d92a5ca980edcf5d6e80aa95c3535",
      "parents": [
        "750771d0ca76817e15fef1211b9748ae7ed3aff6"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:12:08 2024 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:35:57 2024 +0200"
      },
      "message": "gtp: add IPv6 support\n\nAdd new iflink attributes to configure in-kernel UDP listener socket\naddress: IFLA_GTP_LOCAL and IFLA_GTP_LOCAL6. If none of these attributes\nare specified, default is still to IPv4 INADDR_ANY for backward\ncompatibility.\n\nAdd new attributes to set up family and IPv6 address of GTP tunnels:\nGTPA_FAMILY, GTPA_PEER_ADDR6 and GTPA_MS_ADDR6. If no GTPA_FAMILY is\nspecified, AF_INET is assumed for backward compatibility.\n\nsetsockopt IPV6_ADDRFORM allows to downgrade socket from IPv6 to IPv4\nafter socket is bound. Assumption is that socket listener that is\nattached to the gtp device needs to be either IPv4 or IPv6. Therefore,\nGTP socket listener does not allow for IPv4-mapped-IPv6 listener.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "750771d0ca76817e15fef1211b9748ae7ed3aff6",
      "tree": "c47bc2cf8e39d1be951a1ea77e2400c087300722",
      "parents": [
        "b6fc0956ac532d1b35f6f517c083603b5e150b0d"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:11:58 2024 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:35:56 2024 +0200"
      },
      "message": "gtp: prepare for IPv6 support\n\nUse union artifact to prepare for IPv6 support.\nAdd and use GTP_{IPV4,TH}_MAXLEN.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "b6fc0956ac532d1b35f6f517c083603b5e150b0d",
      "tree": "d12fb58ece454decaee6637a6a1a62166db9510a",
      "parents": [
        "353f5ffbc63b532aa0c92a7635e84bd53d04644e"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:11:47 2024 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:35:55 2024 +0200"
      },
      "message": "gtp: properly parse extension headers\n\nCurrently GTP packets are dropped if the next extension field is set to\nnon-zero value, but this are valid GTP packets.\n\nTS 29.281 provides a longer header format, which is defined as struct\ngtp1_header_long. Such long header format is used if any of the S, PN, E\nflags is set.\n\nThis long header is 4 bytes longer than struct gtp1_header, plus\nvariable length (optional) extension headers. The next extension header\nfield is zero is no extension header is provided.\n\nThe extension header is composed of a length field which includes total\nnumber of 4 byte words including the extension header itself (1 byte),\npayload (variable length) and next type (1 byte). The extension header\nsize and its payload is aligned to 4 bytes.\n\nA GTP packet might come with a chain extensions headers, which makes it\nslightly cumbersome to parse because the extension next header field\ncomes at the end of the extension header, and there is a need to check\nif this field becomes zero to stop the extension header parser.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "353f5ffbc63b532aa0c92a7635e84bd53d04644e",
      "tree": "f1124ec97b273d89fdfe76c3830411987008ddf5",
      "parents": [
        "8c4e4798123fd8e0c55e48e49db0f24287c18def"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:11:28 2024 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 07 01:35:55 2024 +0200"
      },
      "message": "gtp: remove useless initialization\n\nUpdate b20dc3c68458 (\"gtp: Allow to create GTP device without FDs\") to\nremove useless initialization to NULL, sockets are initialized to\nnon-NULL just a few lines of code after this.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "8c4e4798123fd8e0c55e48e49db0f24287c18def",
      "tree": "439869d1784f0ed65704c3aa34f173f016c197d6",
      "parents": [
        "b1de3c0df7abc41dc41862c0b08386411f2799d7",
        "c9d1d23e5239f41700be69133a5769ac5ebc88a8"
      ],
      "author": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Mon May 06 11:54:08 2024 +0200"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Mon May 06 11:54:08 2024 +0200"
      },
      "message": "Merge branch \u0027add-tcp-fraglist-gro-support\u0027\n\nFelix Fietkau says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nAdd TCP fraglist GRO support\n\nWhen forwarding TCP after GRO, software segmentation is very expensive,\nespecially when the checksum needs to be recalculated.\nOne case where that\u0027s currently unavoidable is when routing packets over\nPPPoE. Performance improves significantly when using fraglist GRO\nimplemented in the same way as for UDP.\n\nWhen NETIF_F_GRO_FRAGLIST is enabled, perform a lookup for an established\nsocket in the same netns as the receiving device. While this may not\ncover all relevant use cases in multi-netns configurations, it should be\ngood enough for most configurations that need this.\n\nHere\u0027s a measurement of running 2 TCP streams through a MediaTek MT7622\ndevice (2-core Cortex-A53), which runs NAT with flow offload enabled from\none ethernet port to PPPoE on another ethernet port + cake qdisc set to\n1Gbps.\n\nrx-gro-list off: 630 Mbit/s, CPU 35% idle\nrx-gro-list on:  770 Mbit/s, CPU 40% idle\n\nChanges since v4:\n - add likely() to prefer the non-fraglist path in check\n\nChanges since v3:\n - optimize __tcpv4_gso_segment_csum\n - add unlikely()\n - reorder dev_net/skb_gro_network_header calls after NETIF_F_GRO_FRAGLIST\n   check\n - add support for ipv6 nat\n - drop redundant pskb_may_pull check\n\nChanges since v2:\n - create tcp_gro_header_pull helper function to pull tcp header only once\n - optimize __tcpv4_gso_segment_list_csum, drop obsolete flags check\n\nChanges since v1:\n - revert bogus tcp flags overwrite on segmentation\n - fix kbuild issue with !CONFIG_IPV6\n - only perform socket lookup for the first skb in the GRO train\n\nChanges since RFC:\n - split up patches\n - handle TCP flags mutations\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/20240502084450.44009-1-nbd@nbd.name\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "c9d1d23e5239f41700be69133a5769ac5ebc88a8",
      "tree": "439869d1784f0ed65704c3aa34f173f016c197d6",
      "parents": [
        "7516b27c555c1711ec17a5d891befb6986e573a3"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@nbd.name",
        "time": "Thu May 02 10:44:47 2024 +0200"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Mon May 06 11:54:04 2024 +0200"
      },
      "message": "net: add heuristic for enabling TCP fraglist GRO\n\nWhen forwarding TCP after GRO, software segmentation is very expensive,\nespecially when the checksum needs to be recalculated.\nOne case where that\u0027s currently unavoidable is when routing packets over\nPPPoE. Performance improves significantly when using fraglist GRO\nimplemented in the same way as for UDP.\n\nWhen NETIF_F_GRO_FRAGLIST is enabled, perform a lookup for an established\nsocket in the same netns as the receiving device. While this may not\ncover all relevant use cases in multi-netns configurations, it should be\ngood enough for most configurations that need this.\n\nHere\u0027s a measurement of running 2 TCP streams through a MediaTek MT7622\ndevice (2-core Cortex-A53), which runs NAT with flow offload enabled from\none ethernet port to PPPoE on another ethernet port + cake qdisc set to\n1Gbps.\n\nrx-gro-list off: 630 Mbit/s, CPU 35% idle\nrx-gro-list on:  770 Mbit/s, CPU 40% idle\n\nAcked-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Felix Fietkau \u003cnbd@nbd.name\u003e\nReviewed-by: David Ahern \u003cdsahern@kernel.org\u003e\nReviewed-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "7516b27c555c1711ec17a5d891befb6986e573a3",
      "tree": "0de52e8a9cadd1a74e7cc1ed774154482d0f4139",
      "parents": [
        "80e85fbdf19ecc4dfa31ecf639adb55555db02fe"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@nbd.name",
        "time": "Thu May 02 10:44:46 2024 +0200"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Mon May 06 11:54:04 2024 +0200"
      },
      "message": "net: create tcp_gro_header_pull helper function\n\nPull the code out of tcp_gro_receive in order to access the tcp header\nfrom tcp4/6_gro_receive.\n\nAcked-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Felix Fietkau \u003cnbd@nbd.name\u003e\nReviewed-by: David Ahern \u003cdsahern@kernel.org\u003e\nReviewed-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "80e85fbdf19ecc4dfa31ecf639adb55555db02fe",
      "tree": "e8162b00722ada31dad7718210f0860f09f671e6",
      "parents": [
        "8d95dc474f85481652a0e422d2f1f079de81f63c"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@nbd.name",
        "time": "Thu May 02 10:44:45 2024 +0200"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Mon May 06 11:54:04 2024 +0200"
      },
      "message": "net: create tcp_gro_lookup helper function\n\nThis pulls the flow port matching out of tcp_gro_receive, so that it can be\nreused for the next change, which adds the TCP fraglist GRO heuristic.\n\nAcked-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Felix Fietkau \u003cnbd@nbd.name\u003e\nReviewed-by: David Ahern \u003cdsahern@kernel.org\u003e\nReviewed-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "8d95dc474f85481652a0e422d2f1f079de81f63c",
      "tree": "7aff58088ce498cc84374e66625847d2772ad794",
      "parents": [
        "bee88cd5bd83d40b8aec4d6cb729378f707f6197"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@nbd.name",
        "time": "Thu May 02 10:44:44 2024 +0200"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Mon May 06 11:54:04 2024 +0200"
      },
      "message": "net: add code for TCP fraglist GRO\n\nThis implements fraglist GRO similar to how it\u0027s handled in UDP, however\nno functional changes are added yet. The next change adds a heuristic for\nusing fraglist GRO instead of regular GRO.\n\nAcked-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nSigned-off-by: Felix Fietkau \u003cnbd@nbd.name\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReviewed-by: David Ahern \u003cdsahern@kernel.org\u003e\nReviewed-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "bee88cd5bd83d40b8aec4d6cb729378f707f6197",
      "tree": "ed03c9bbe11942d7a7adc6bfaa30071945633d28",
      "parents": [
        "8928756d53d5b99dcd18073dc7738b8ebdbe7d96"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@nbd.name",
        "time": "Thu May 02 10:44:43 2024 +0200"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Mon May 06 11:54:03 2024 +0200"
      },
      "message": "net: add support for segmenting TCP fraglist GSO packets\n\nPreparation for adding TCP fraglist GRO support. It expects packets to be\ncombined in a similar way as UDP fraglist GSO packets.\nFor IPv4 packets, NAT is handled in the same way as UDP fraglist GSO.\n\nAcked-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Felix Fietkau \u003cnbd@nbd.name\u003e\nReviewed-by: David Ahern \u003cdsahern@kernel.org\u003e\nReviewed-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "8928756d53d5b99dcd18073dc7738b8ebdbe7d96",
      "tree": "187ab5374db7308f7f1bc0db91091377c5f1c9f1",
      "parents": [
        "b1de3c0df7abc41dc41862c0b08386411f2799d7"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@nbd.name",
        "time": "Thu May 02 10:44:42 2024 +0200"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Mon May 06 11:54:03 2024 +0200"
      },
      "message": "net: move skb_gro_receive_list from udp to core\n\nThis helper function will be used for TCP fraglist GRO support\n\nAcked-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Felix Fietkau \u003cnbd@nbd.name\u003e\nReviewed-by: David Ahern \u003cdsahern@kernel.org\u003e\nReviewed-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "b1de3c0df7abc41dc41862c0b08386411f2799d7",
      "tree": "7be00148bb92c7020d93356f565eed10defbd3a8",
      "parents": [
        "cdc74c9d06e72addde01092d09f13bb86d3ed7d0"
      ],
      "author": {
        "name": "Rengarajan S",
        "email": "rengarajan.s@microchip.com",
        "time": "Thu May 02 10:33:00 2024 +0530"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Mon May 06 11:41:32 2024 +0200"
      },
      "message": "net: microchip: lan743x: Reduce PTP timeout on HW failure\n\nThe PTP_CMD_CTL is a self clearing register which controls the PTP clock\nvalues. In the current implementation driver waits for a duration of 20\nsec in case of HW failure to clear the PTP_CMD_CTL register bit. This\ntimeout of 20 sec is very long to recognize a HW failure, as it is\ntypically cleared in one clock(\u003c16ns). Hence reducing the timeout to 1 sec\nwould be sufficient to conclude if there is any HW failure observed. The\nusleep_range will sleep somewhere between 1 msec to 20 msec for each\niteration. By setting the PTP_CMD_CTL_TIMEOUT_CNT to 50 the max timeout\nis extended to 1 sec.\n\nSigned-off-by: Rengarajan S \u003crengarajan.s@microchip.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240502050300.38689-1-rengarajan.s@microchip.com\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "cdc74c9d06e72addde01092d09f13bb86d3ed7d0",
      "tree": "e1a650c406567d5292c2b252d5bac40d7e855fb9",
      "parents": [
        "173e7622ccb3f46834bd4176ed363f435e142942",
        "ee24284e2a1075966f0f2c5499c59b7d2b9bc2de"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 05 14:35:48 2024 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 05 14:35:48 2024 +0100"
      },
      "message": "Merge branch \u0027gve-queue-api\u0027\n\nShailend Chand says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\ngve: Implement queue api\n\nFollowing the discussion on\nhttps://patchwork.kernel.org/project/linux-media/patch/20240305020153.2787423-2-almasrymina@google.com/,\nthe queue api defined by Mina is implemented for gve.\n\nThe first patch is just Mina\u0027s introduction of the api. The rest of the\npatches make surgical changes in gve to enable it to work correctly with\nonly a subset of queues present (thus far it had assumed that either all\nqueues are up or all are down). The final patch has the api\nimplementation.\n\nChanges since v1: clang warning fixes, kdoc warning fix, and addressed\nreview comments.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nReviewed-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee24284e2a1075966f0f2c5499c59b7d2b9bc2de",
      "tree": "e1a650c406567d5292c2b252d5bac40d7e855fb9",
      "parents": [
        "af9bcf910b1f86244f39e15e701b2dc564b469a6"
      ],
      "author": {
        "name": "Shailend Chand",
        "email": "shailend@google.com",
        "time": "Wed May 01 23:25:48 2024 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 05 14:35:34 2024 +0100"
      },
      "message": "gve: Alloc and free QPLs with the rings\n\nEvery tx and rx ring has its own queue-page-list (QPL) that serves as\nthe bounce buffer. Previously we were allocating QPLs for all queues\nbefore the queues themselves were allocated and later associating a QPL\nwith a queue. This is avoidable complexity: it is much more natural for\neach queue to allocate and free its own QPL.\n\nMoreover, the advent of new queue-manipulating ndo hooks make it hard to\nkeep things as is: we would need to transfer a QPL from an old queue to\na new queue, and that is unpleasant.\n\nTested-by: Mina Almasry \u003calmasrymina@google.com\u003e\nReviewed-by: Praveen Kaligineedi \u003cpkaligineedi@google.com\u003e\nReviewed-by: Harshitha Ramamurthy \u003chramamurthy@google.com\u003e\nSigned-off-by: Shailend Chand \u003cshailend@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af9bcf910b1f86244f39e15e701b2dc564b469a6",
      "tree": "e35c9408160bba58a32035c2ec6a2957acbf6420",
      "parents": [
        "770f52d5a0ed9ea3e3b8f04927eac520cab97935"
      ],
      "author": {
        "name": "Shailend Chand",
        "email": "shailend@google.com",
        "time": "Wed May 01 23:25:47 2024 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 05 14:35:34 2024 +0100"
      },
      "message": "gve: Account for stopped queues when reading NIC stats\n\nWe now account for the fact that the NIC might send us stats for a\nsubset of queues. Without this change, gve_get_ethtool_stats might make\nan invalid access on the priv-\u003estats_report-\u003estats array.\n\nTested-by: Mina Almasry \u003calmasrymina@google.com\u003e\nReviewed-by: Praveen Kaligineedi \u003cpkaligineedi@google.com\u003e\nReviewed-by: Harshitha Ramamurthy \u003chramamurthy@google.com\u003e\nSigned-off-by: Shailend Chand \u003cshailend@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "770f52d5a0ed9ea3e3b8f04927eac520cab97935",
      "tree": "d2dfaa1d864a4c904a2e96362a6244e118975884",
      "parents": [
        "9a5e0776d11f1ac9c740a6e24ff0e0facb6e3ddb"
      ],
      "author": {
        "name": "Shailend Chand",
        "email": "shailend@google.com",
        "time": "Wed May 01 23:25:46 2024 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 05 14:35:34 2024 +0100"
      },
      "message": "gve: Reset Rx ring state in the ring-stop funcs\n\nThis does not fix any existing bug. In anticipation of the ndo queue api\nhooks that alloc/free/start/stop a single Rx queue, the already existing\nper-queue stop functions are being made more robust. Specifically for\nthis use case: rx_queue_n.stop() + rx_queue_n.start()\n\nNote that this is not the use case being used in devmem tcp (the first\nplace these new ndo hooks would be used). There the usecase is:\nnew_queue.alloc() + old_queue.stop() + new_queue.start() + old_queue.free()\n\nTested-by: Mina Almasry \u003calmasrymina@google.com\u003e\nReviewed-by: Praveen Kaligineedi \u003cpkaligineedi@google.com\u003e\nReviewed-by: Harshitha Ramamurthy \u003chramamurthy@google.com\u003e\nSigned-off-by: Shailend Chand \u003cshailend@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a5e0776d11f1ac9c740a6e24ff0e0facb6e3ddb",
      "tree": "ad30b249e58943594fa2764ce9ea4703545b3147",
      "parents": [
        "864616d97a4505a719d5f67c29d31776038d39ef"
      ],
      "author": {
        "name": "Shailend Chand",
        "email": "shailend@google.com",
        "time": "Wed May 01 23:25:45 2024 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 05 14:35:34 2024 +0100"
      },
      "message": "gve: Avoid rescheduling napi if on wrong cpu\n\nIn order to make possible the implementation of per-queue ndo hooks,\ngve_turnup was changed in a previous patch to account for queues already\nhaving some unprocessed descriptors: it does a one-off napi_schdule to\nhandle them. If conditions of consistent high traffic persist in the\nimmediate aftermath of this, the poll routine for a queue can be \"stuck\"\non the cpu on which the ndo hooks ran, instead of the cpu its irq has\naffinity with.\n\nThis situation is exacerbated by the fact that the ndo hooks for all the\nqueues are invoked on the same cpu, potentially causing all the napi\npoll routines to be residing on the same cpu.\n\nA self correcting mechanism in the poll method itself solves this\nproblem.\n\nTested-by: Mina Almasry \u003calmasrymina@google.com\u003e\nReviewed-by: Praveen Kaligineedi \u003cpkaligineedi@google.com\u003e\nReviewed-by: Harshitha Ramamurthy \u003chramamurthy@google.com\u003e\nSigned-off-by: Shailend Chand \u003cshailend@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "864616d97a4505a719d5f67c29d31776038d39ef",
      "tree": "46edda4c0c5b33f89f0d3d6ddba8963f41a3cd33",
      "parents": [
        "5abc37bdcbc5a32f7c5cb21f5c0334cbf0e81752"
      ],
      "author": {
        "name": "Shailend Chand",
        "email": "shailend@google.com",
        "time": "Wed May 01 23:25:44 2024 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 05 14:35:34 2024 +0100"
      },
      "message": "gve: Make gve_turnup work for nonempty queues\n\ngVNIC has a requirement that all queues have to be quiesced before any\nqueue is operated on (created or destroyed). To enable the\nimplementation of future ndo hooks that work on a single queue, we need\nto evolve gve_turnup to account for queues already having some\nunprocessed descriptors in the ring.\n\nSay rxq 4 is being stopped and started via the queue api. Due to gve\u0027s\nrequirement of quiescence, queues 0 through 3 are not processing their\nrings while queue 4 is being toggled. Once they are made live, these\nqueues need to be poked to cause them to check their rings for\ndescriptors that were written during their brief period of quiescence.\n\nTested-by: Mina Almasry \u003calmasrymina@google.com\u003e\nReviewed-by: Praveen Kaligineedi \u003cpkaligineedi@google.com\u003e\nReviewed-by: Harshitha Ramamurthy \u003chramamurthy@google.com\u003e\nSigned-off-by: Shailend Chand \u003cshailend@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5abc37bdcbc5a32f7c5cb21f5c0334cbf0e81752",
      "tree": "a1a9e27c66a9945c803e8c12f7242b755d8052d0",
      "parents": [
        "242f30fe692e5f6407a27a3e9b64f23c9c9b5c83"
      ],
      "author": {
        "name": "Shailend Chand",
        "email": "shailend@google.com",
        "time": "Wed May 01 23:25:43 2024 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 05 14:35:34 2024 +0100"
      },
      "message": "gve: Make gve_turn(up|down) ignore stopped queues\n\nCurrently the queues are either all live or all dead, toggling from one\nstate to the other via the ndo open and stop hooks. The future addition\nof single-queue ndo hooks changes this, and thus gve_turnup and\ngve_turndown should evolve to account for a state where some queues are\nlive and some aren\u0027t.\n\nTested-by: Mina Almasry \u003calmasrymina@google.com\u003e\nReviewed-by: Praveen Kaligineedi \u003cpkaligineedi@google.com\u003e\nReviewed-by: Harshitha Ramamurthy \u003chramamurthy@google.com\u003e\nSigned-off-by: Shailend Chand \u003cshailend@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "242f30fe692e5f6407a27a3e9b64f23c9c9b5c83",
      "tree": "dfb29c030c4826c94e839f82c122c4e494cf8e64",
      "parents": [
        "dcecfcf21bd139f90f94f630ae86122a98267685"
      ],
      "author": {
        "name": "Shailend Chand",
        "email": "shailend@google.com",
        "time": "Wed May 01 23:25:42 2024 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 05 14:35:34 2024 +0100"
      },
      "message": "gve: Add adminq funcs to add/remove a single Rx queue\n\nThis allows for implementing future ndo hooks that act on a single\nqueue.\n\nTested-by: Mina Almasry \u003calmasrymina@google.com\u003e\nReviewed-by: Praveen Kaligineedi \u003cpkaligineedi@google.com\u003e\nReviewed-by: Harshitha Ramamurthy \u003chramamurthy@google.com\u003e\nSigned-off-by: Shailend Chand \u003cshailend@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dcecfcf21bd139f90f94f630ae86122a98267685",
      "tree": "00dfc182a24bb4096c44fe48e0edf13a240ebd20",
      "parents": [
        "087b24de5c825c53f15a9481b94f757223c20610"
      ],
      "author": {
        "name": "Shailend Chand",
        "email": "shailend@google.com",
        "time": "Wed May 01 23:25:41 2024 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 05 14:35:33 2024 +0100"
      },
      "message": "gve: Make the GQ RX free queue funcs idempotent\n\nAlthough this is not fixing any existing double free bug, making these\nfunctions idempotent allows for a simpler implementation of future ndo\nhooks that act on a single queue.\n\nTested-by: Mina Almasry \u003calmasrymina@google.com\u003e\nReviewed-by: Praveen Kaligineedi \u003cpkaligineedi@google.com\u003e\nReviewed-by: Harshitha Ramamurthy \u003chramamurthy@google.com\u003e\nSigned-off-by: Shailend Chand \u003cshailend@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "087b24de5c825c53f15a9481b94f757223c20610",
      "tree": "2e65f79341c3bea0d2f371c8b2d4a5fb9d2315b6",
      "parents": [
        "173e7622ccb3f46834bd4176ed363f435e142942"
      ],
      "author": {
        "name": "Mina Almasry",
        "email": "almasrymina@google.com",
        "time": "Wed May 01 23:25:40 2024 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 05 14:35:33 2024 +0100"
      },
      "message": "queue_api: define queue api\n\nThis API enables the net stack to reset the queues used for devmem TCP.\n\nSigned-off-by: Mina Almasry \u003calmasrymina@google.com\u003e\nSigned-off-by: Shailend Chand \u003cshailend@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "173e7622ccb3f46834bd4176ed363f435e142942",
      "tree": "fd39a0842d666f9f90ba0740223613d16e1d08fa",
      "parents": [
        "5bfadc573711a1e68d05d25e10ae747385c4c253"
      ],
      "author": {
        "name": "Mina Almasry",
        "email": "almasrymina@google.com",
        "time": "Thu May 02 10:54:22 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri May 03 16:05:53 2024 -0700"
      },
      "message": "Revert \"net: mirror skb frag ref/unref helpers\"\n\nThis reverts commit a580ea994fd37f4105028f5a85c38ff6508a2b25.\n\nThis revert is to resolve Dragos\u0027s report of page_pool leak here:\nhttps://lore.kernel.org/lkml/20240424165646.1625690-2-dtatulea@nvidia.com/\n\nThe reverted patch interacts very badly with commit 2cc3aeb5eccc (\"skbuff:\nFix a potential race while recycling page_pool packets\"). The reverted\ncommit hopes that the pp_recycle + is_pp_page variables do not change\nbetween the skb_frag_ref and skb_frag_unref operation. If such a change\noccurs, the skb_frag_ref/unref will not operate on the same reference type.\nIn the case of Dragos\u0027s report, the grabbed ref was a pp ref, but the unref\nwas a page ref, because the pp_recycle setting on the skb was changed.\n\nAttempting to fix this issue on the fly is risky. Lets revert and I hope\nto reland this with better understanding and testing to ensure we don\u0027t\nregress some edge case while streamlining skb reffing.\n\nFixes: a580ea994fd3 (\"net: mirror skb frag ref/unref helpers\")\nReported-by: Dragos Tatulea \u003cdtatulea@nvidia.com\u003e\nSigned-off-by: Mina Almasry \u003calmasrymina@google.com\u003e\nLink: https://lore.kernel.org/r/20240502175423.2456544-1-almasrymina@google.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "5bfadc573711a1e68d05d25e10ae747385c4c253",
      "tree": "63bdd513bfd9772cea5adc65404b01a3f52ff383",
      "parents": [
        "c1742dcb6bda5fd535fbaa2145f0a180bc329aa6"
      ],
      "author": {
        "name": "David Wei",
        "email": "dw@davidwei.uk",
        "time": "Thu May 02 13:37:57 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri May 03 16:04:04 2024 -0700"
      },
      "message": "bnxt: fix bnxt_get_avail_msix() returning negative values\n\nCurrent net-next/main does not boot for older chipsets e.g. Stratus.\n\nSample dmesg:\n[   11.368315] bnxt_en 0000:02:00.0 (unnamed net_device) (uninitialized): Able to reserve only 0 out of 9 requested RX rings\n[   11.390181] bnxt_en 0000:02:00.0 (unnamed net_device) (uninitialized): Unable to reserve tx rings\n[   11.438780] bnxt_en 0000:02:00.0 (unnamed net_device) (uninitialized): 2nd rings reservation failed.\n[   11.487559] bnxt_en 0000:02:00.0 (unnamed net_device) (uninitialized): Not enough rings available.\n[   11.506012] bnxt_en 0000:02:00.0: probe with driver bnxt_en failed with error -12\n\nThis is caused by bnxt_get_avail_msix() returning a negative value for\nthese chipsets not using the new resource manager i.e. !BNXT_NEW_RM.\nThis in turn causes hwr.cp in __bnxt_reserve_rings() to be set to 0.\n\nIn the current call stack, __bnxt_reserve_rings() is called from\nbnxt_set_dflt_rings() before bnxt_init_int_mode(). Therefore,\nbp-\u003etotal_irqs is always 0 and for !BNXT_NEW_RM bnxt_get_avail_msix()\nalways returns a negative number.\n\nHistorically, MSIX vectors were requested by the RoCE driver during\nrun-time and bnxt_get_avail_msix() was used for this purpose. Today,\nRoCE MSIX vectors are statically allocated. bnxt_get_avail_msix() should\nonly be called for the BNXT_NEW_RM() case to reserve the MSIX ahead of\ntime for RoCE use.\n\nbnxt_get_avail_msix() is also be simplified to handle the BNXT_NEW_RM()\ncase only.\n\nFixes: d630624ebd70 (\"bnxt_en: Utilize ulp client resources if RoCE is not registered\")\nSigned-off-by: David Wei \u003cdw@davidwei.uk\u003e\nReviewed-by: Michael Chan \u003cmichael.chan@broadcom.com\u003e\nLink: https://lore.kernel.org/r/20240502203757.3761827-1-dw@davidwei.uk\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "c1742dcb6bda5fd535fbaa2145f0a180bc329aa6",
      "tree": "2552435caf76a6cf8dd78f0d734c953b517ace36",
      "parents": [
        "3e51f2cbbc5dc854f89ca37d95d295bfcabb5b43"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu May 02 17:39:26 2024 +0000"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri May 03 15:14:01 2024 -0700"
      },
      "message": "net: no longer acquire RTNL in threaded_show()\n\ndev-\u003ethreaded can be read locklessly, if we add\ncorresponding READ_ONCE()/WRITE_ONCE() annotations.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nLink: https://lore.kernel.org/r/20240502173926.2010646-1-edumazet@google.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "3e51f2cbbc5dc854f89ca37d95d295bfcabb5b43",
      "tree": "86be6a79ad67645986caf9956427e2670c86d1c5",
      "parents": [
        "f3ad4914332fc85ceb1689208da229efff896551"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 09:40:43 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri May 03 15:13:21 2024 -0700"
      },
      "message": "tools: ynl: add --list-ops and --list-msgs to CLI\n\nI often forget the exact naming of ops and have to look at\nthe spec to find it. Add support for listing the operations:\n\n  $ ./cli.py --spec .../netdev.yaml --list-ops\n  dev-get  [ do, dump ]\n  page-pool-get  [ do, dump ]\n  page-pool-stats-get  [ do, dump ]\n  queue-get  [ do, dump ]\n  napi-get  [ do, dump ]\n  qstats-get  [ dump ]\n\nFor completeness also support listing all ops (including\nnotifications:\n\n  # ./cli.py --spec .../netdev.yaml --list-msgs\n  dev-get  [ dump, do ]\n  dev-add-ntf  [ notify ]\n  dev-del-ntf  [ notify ]\n  dev-change-ntf  [ notify ]\n  page-pool-get  [ dump, do ]\n  page-pool-add-ntf  [ notify ]\n  page-pool-del-ntf  [ notify ]\n  page-pool-change-ntf  [ notify ]\n  page-pool-stats-get  [ dump, do ]\n  queue-get  [ dump, do ]\n  napi-get  [ dump, do ]\n  qstats-get  [ dump ]\n\nUse double space after the name for slightly easier to read\noutput.\n\nReviewed-by: Jiri Pirko \u003cjiri@nvidia.com\u003e\nReviewed-by: Donald Hunter \u003cdonald.hunter@gmail.com\u003e\nLink: https://lore.kernel.org/r/20240502164043.2130184-1-kuba@kernel.org\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "f3ad4914332fc85ceb1689208da229efff896551",
      "tree": "88f3935a0535f10c5812d8012b29601efd917e6d",
      "parents": [
        "5829614a7b3b2cc9820efb2d29a205c00d748fcf",
        "0feb396f7428b95710ea72c1dc33ae363019fae5"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri May 03 15:04:12 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri May 03 15:04:12 2024 -0700"
      },
      "message": "Merge branch \u0027rtnetlink-rtnl_stats_dump-changes\u0027\n\nEric Dumazet says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nrtnetlink: rtnl_stats_dump() changes\n\nGetting rid of RTNL in rtnl_stats_dump() looks challenging.\n\nIn the meantime, we can:\n\n1) Avoid RTNL acquisition for the final NLMSG_DONE marker.\n\n2) Use for_each_netdev_dump() instead of the net-\u003edev_index_head[]\n   hash table.\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/20240502113748.1622637-1-edumazet@google.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "0feb396f7428b95710ea72c1dc33ae363019fae5",
      "tree": "88f3935a0535f10c5812d8012b29601efd917e6d",
      "parents": [
        "136c2a9a2a8760d8dae83ae7c882c50be02bdb63"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu May 02 11:37:48 2024 +0000"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri May 03 15:03:42 2024 -0700"
      },
      "message": "rtnetlink: use for_each_netdev_dump() in rtnl_stats_dump()\n\nSwitch rtnl_stats_dump() to use for_each_netdev_dump()\ninstead of net-\u003edev_index_head[] hash table.\n\nThis makes the code much easier to read, and fixes\nscalability issues.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReviewed-by: David Ahern \u003cdsahern@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240502113748.1622637-3-edumazet@google.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "136c2a9a2a8760d8dae83ae7c882c50be02bdb63",
      "tree": "3bfba9f27772724438053fc75bef07c765152f70",
      "parents": [
        "5829614a7b3b2cc9820efb2d29a205c00d748fcf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu May 02 11:37:47 2024 +0000"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri May 03 15:03:42 2024 -0700"
      },
      "message": "rtnetlink: change rtnl_stats_dump() return value\n\nBy returning 0 (or an error) instead of skb-\u003elen,\nwe allow NLMSG_DONE to be appended to the current\nskb at the end of a dump, saving a couple of recvmsg()\nsystem calls.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReviewed-by: David Ahern \u003cdsahern@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240502113748.1622637-2-edumazet@google.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "5829614a7b3b2cc9820efb2d29a205c00d748fcf",
      "tree": "1c8e0ff4a070663f45fe62e6995df88f19773c91",
      "parents": [
        "a17ef9e6c2c1cf0fc6cd6ca6a9ce525c67d1da7f",
        "78a7b5dbc0609b8c395f754953a45db687cb05e6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 03 13:29:43 2024 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 03 13:29:43 2024 +0100"
      },
      "message": "Merge branch \u0027net-sysctl-sentinel\u0027\n\nJoel Granados says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nsysctl: Remove sentinel elements from networking\n\nWhat?\nThese commits remove the sentinel element (last empty element) from the\nsysctl arrays of all the files under the \"net/\" directory that register\na sysctl array. The merging of the preparation patches [4] to mainline\nallows us to just remove sentinel elements without changing behavior.\nThis is safe because the sysctl registration code (register_sysctl() and\nfriends) use the array size in addition to checking for a sentinel [1].\n\nWhy?\nBy removing the sysctl sentinel elements we avoid kernel bloat as\nctl_table arrays get moved out of kernel/sysctl.c into their own\nrespective subsystems. This move was started long ago to avoid merge\nconflicts; the sentinel removal bit came after Mathew Wilcox suggested\nit to avoid bloating the kernel by one element as arrays moved out. This\npatchset will reduce the overall build time size of the kernel and run\ntime memory bloat by about ~64 bytes per declared ctl_table array (more\ninfo here [5]).\n\nWhen are we done?\nThere are 4 patchest (25 commits [2]) that are still outstanding to\ncompletely remove the sentinels: files under \"net/\" (this patchset),\nfiles under \"kernel/\" dir, misc dirs (files under mm/ security/ and\nothers) and the final set that removes the unneeded check for -\u003eprocname\n\u003d\u003d NULL.\n\nTesting:\n* Ran sysctl selftests (./tools/testing/selftests/sysctl/sysctl.sh)\n* Ran this through 0-day with no errors or warnings\n\nSavings in vmlinux:\n  A total of 64 bytes per sentinel is saved after removal; I measured in\n  x86_64 to give an idea of the aggregated savings. The actual savings\n  will depend on individual kernel configuration.\n    * bloat-o-meter\n        - The \"yesall\" config saves 3976 bytes (bloat-o-meter output [6])\n        - A reduced config [3] saves 1263 bytes (bloat-o-meter output [7])\n\nSavings in allocated memory:\n  None in this set but will occur when the superfluous allocations are\n  removed from proc_sysctl.c. I include it here for context. The\n  estimated savings during boot for config [3] are 6272 bytes. See [8]\n  for how to measure it.\n\nComments/feedback greatly appreciated\n\nChanges in v6:\n- Rebased onto net-next/main.\n- Besides re-running my cocci scripts, I ran a new find script [9].\n  Found 0 hits in net/\n- Moved \"i\" variable declaraction out of for() in sysctl_core_net_init\n- Removed forgotten sentinel in mpls_table\n- Removed CONFIG_AX25_DAMA_SLAVE guard from net/ax25/ax25_ds_timer.c. It\n  is not needed because that file is compiled only when\n  CONFIG_AX25_DAMA_SLAVE is set.\n- When traversing smc_table, stop on ARRAY_SIZE instead of ARRAY_SIZE-1.\n- Link to v5: https://lore.kernel.org/r/20240426-jag-sysctl_remset_net-v5-0-e3b12f6111a6@samsung.com\n\nChanges in v5:\n- Added net files with additional variable to my test .config so the\n  typo can be caught next time.\n- Fixed typo tabel_size -\u003e table_size\n- Link to v4: https://lore.kernel.org/r/20240425-jag-sysctl_remset_net-v4-0-9e82f985777d@samsung.com\n\nChanges in v4:\n- Keep reverse xmas tree order when introducing new variables\n- Use a table_size variable to keep the value of ARRAY_SIZE\n- Separated the original \"networking: Remove the now superfluous\n  sentinel elements from ctl_table arra\" into smaller commits to ease\n  review\n- Merged x.25 and ax.25 commits together.\n- Removed any SOB from the commits that were changed\n- Link to v3: https://lore.kernel.org/r/20240412-jag-sysctl_remset_net-v3-0-11187d13c211@samsung.com\n\nChanges in v3:\n- Reworkded ax.25\n  - Added a BUILD_BUG_ON for the ax.25 commit\n  - Added a CONFIG_AX25_DAMA_SLAVE guard where needed\n- Link to v2: https://lore.kernel.org/r/20240328-jag-sysctl_remset_net-v2-0-52c9fad9a1af@samsung.com\n\nChanges in v2:\n- Rebased to v6.9-rc1\n- Removed unneeded comment from sysctl_net_ax25.c\n- Link to v1: https://lore.kernel.org/r/20240314-jag-sysctl_remset_net-v1-0-aa26b44d29d9@samsung.com\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: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78a7b5dbc0609b8c395f754953a45db687cb05e6",
      "tree": "1c8e0ff4a070663f45fe62e6995df88f19773c91",
      "parents": [
        "e00e35e217c0fb5f614cdeb86f28fd3a1c9c936e"
      ],
      "author": {
        "name": "Joel Granados",
        "email": "j.granados@samsung.com",
        "time": "Wed May 01 11:29:32 2024 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 03 13:29:43 2024 +0100"
      },
      "message": "ax.25: x.25: Remove the now superfluous sentinel elements from ctl_table array\n\nThis commit comes at the tail end of a greater effort to remove the\nempty elements at the end of the ctl_table arrays (sentinels) which will\nreduce the overall build time size of the kernel and run time memory\nbloat by ~64 bytes per sentinel (further information Link :\nhttps://lore.kernel.org/all/ZO5Yx5JFogGi%2FcBo@bombadil.infradead.org/)\n\nAvoid a buffer overflow when traversing the ctl_table by ensuring that\nAX25_MAX_VALUES is the same as the size of ax25_param_table. This is\ndone with a BUILD_BUG_ON where ax25_param_table is defined and a\nCONFIG_AX25_DAMA_SLAVE guard in the unnamed enum definition as well as\nin the ax25_dev_device_up and ax25_ds_set_timer functions.\n\nThe overflow happened when the sentinel was removed from\nax25_param_table. The sentinel\u0027s data element was changed when\nCONFIG_AX25_DAMA_SLAVE was undefined. This had no adverse effects as it\nstill stopped on the sentinel\u0027s null procname but needed to be addressed\nonce the sentinel was removed.\n\nSigned-off-by: Joel Granados \u003cj.granados@samsung.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e00e35e217c0fb5f614cdeb86f28fd3a1c9c936e",
      "tree": "886a31613e3bf246009eed24cc49f4f1b1726018",
      "parents": [
        "635470eb0aa71ba41c47593c66f65ac1e5d59dd7"
      ],
      "author": {
        "name": "Joel Granados",
        "email": "j.granados@samsung.com",
        "time": "Wed May 01 11:29:31 2024 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 03 13:29:42 2024 +0100"
      },
      "message": "appletalk: Remove the now superfluous sentinel elements from ctl_table array\n\nThis commit comes at the tail end of a greater effort to remove the\nempty elements at the end of the ctl_table arrays (sentinels) which will\nreduce the overall build time size of the kernel and run time memory\nbloat by ~64 bytes per sentinel (further information Link :\nhttps://lore.kernel.org/all/ZO5Yx5JFogGi%2FcBo@bombadil.infradead.org/)\n\nRemove sentinel from atalk_table ctl_table array.\n\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e # loadpin \u0026 yama\nSigned-off-by: Joel Granados \u003cj.granados@samsung.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "635470eb0aa71ba41c47593c66f65ac1e5d59dd7",
      "tree": "07c989aa637e1352fd67a298d59dd266d033882c",
      "parents": [
        "73dbd8cf7947f7da47b23f4adc07593c4dc452b4"
      ],
      "author": {
        "name": "Joel Granados",
        "email": "j.granados@samsung.com",
        "time": "Wed May 01 11:29:30 2024 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 03 13:29:42 2024 +0100"
      },
      "message": "netfilter: Remove the now superfluous sentinel elements from ctl_table array\n\nThis commit comes at the tail end of a greater effort to remove the\nempty elements at the end of the ctl_table arrays (sentinels) which will\nreduce the overall build time size of the kernel and run time memory\nbloat by ~64 bytes per sentinel (further information Link :\nhttps://lore.kernel.org/all/ZO5Yx5JFogGi%2FcBo@bombadil.infradead.org/)\n\n* Remove sentinel elements from ctl_table structs\n* Remove instances where an array element is zeroed out to make it look\n  like a sentinel. This is not longer needed and is safe after commit\n  c899710fe7f9 (\"networking: Update to register_net_sysctl_sz\") added\n  the array size to the ctl_table registration\n* Remove the need for having __NF_SYSCTL_CT_LAST_SYSCTL as the\n  sysctl array size is now in NF_SYSCTL_CT_LAST_SYSCTL\n* Remove extra element in ctl_table arrays declarations\n\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e # loadpin \u0026 yama\nSigned-off-by: Joel Granados \u003cj.granados@samsung.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73dbd8cf7947f7da47b23f4adc07593c4dc452b4",
      "tree": "06f87db156e48554b0a479f07a7d49157b2c805c",
      "parents": [
        "ca5d1fce7994e224f2701882cd6f0299b77834a0"
      ],
      "author": {
        "name": "Joel Granados",
        "email": "j.granados@samsung.com",
        "time": "Wed May 01 11:29:29 2024 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 03 13:29:42 2024 +0100"
      },
      "message": "net: Remove ctl_table sentinel elements from several networking subsystems\n\nThis commit comes at the tail end of a greater effort to remove the\nempty elements at the end of the ctl_table arrays (sentinels) which\nwill reduce the overall build time size of the kernel and run time\nmemory bloat by ~64 bytes per sentinel (further information Link :\nhttps://lore.kernel.org/all/ZO5Yx5JFogGi%2FcBo@bombadil.infradead.org/)\n\nTo avoid lots of small commits, this commit brings together network\nchanges from (as they appear in MAINTAINERS) LLC, MPTCP, NETROM NETWORK\nLAYER, PHONET PROTOCOL, ROSE NETWORK LAYER, RXRPC SOCKETS, SCTP\nPROTOCOL, SHARED MEMORY COMMUNICATIONS (SMC), TIPC NETWORK LAYER and\nNETWORKING [IPSEC]\n\n* Remove sentinel element from ctl_table structs.\n* Replace empty array registration with the register_net_sysctl_sz call\n  in llc_sysctl_init\n* Replace the for loop stop condition that tests for procname \u003d\u003d NULL\n  with one that depends on array size in sctp_sysctl_net_register\n* Remove instances where an array element is zeroed out to make it look\n  like a sentinel in xfrm_sysctl_init. This is not longer needed and is\n  safe after commit c899710fe7f9 (\"networking: Update to\n  register_net_sysctl_sz\") added the array size to the ctl_table\n  registration\n* Use a table_size variable to keep the value of ARRAY_SIZE\n\nSigned-off-by: Joel Granados \u003cj.granados@samsung.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca5d1fce7994e224f2701882cd6f0299b77834a0",
      "tree": "b4f633eabce572fa274c63a9605e6f00b38825c9",
      "parents": [
        "92bedf07836bf0971dc18a97307bc3d5dc9db787"
      ],
      "author": {
        "name": "Joel Granados",
        "email": "j.granados@samsung.com",
        "time": "Wed May 01 11:29:28 2024 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 03 13:29:42 2024 +0100"
      },
      "message": "net: sunrpc: Remove the now superfluous sentinel elements from ctl_table array\n\nThis commit comes at the tail end of a greater effort to remove the\nempty elements at the end of the ctl_table arrays (sentinels) which\nwill reduce the overall build time size of the kernel and run time\nmemory bloat by ~64 bytes per sentinel (further information Link :\nhttps://lore.kernel.org/all/ZO5Yx5JFogGi%2FcBo@bombadil.infradead.org/)\n\n* Remove sentinel element from ctl_table structs.\n\nSigned-off-by: Joel Granados \u003cj.granados@samsung.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92bedf07836bf0971dc18a97307bc3d5dc9db787",
      "tree": "3854749278f6514d7a058bd2e076fe5b94860d30",
      "parents": [
        "1c106eb01ceefa1ceec56af497e628593fb5fd9f"
      ],
      "author": {
        "name": "Joel Granados",
        "email": "j.granados@samsung.com",
        "time": "Wed May 01 11:29:27 2024 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 03 13:29:42 2024 +0100"
      },
      "message": "net: rds: Remove the now superfluous sentinel elements from ctl_table array\n\nThis commit comes at the tail end of a greater effort to remove the\nempty elements at the end of the ctl_table arrays (sentinels) which\nwill reduce the overall build time size of the kernel and run time\nmemory bloat by ~64 bytes per sentinel (further information Link :\nhttps://lore.kernel.org/all/ZO5Yx5JFogGi%2FcBo@bombadil.infradead.org/)\n\n* Remove sentinel element from ctl_table structs.\n\nSigned-off-by: Joel Granados \u003cj.granados@samsung.com\u003e\nAcked-by: Allison Henderson \u003callison.henderson@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c106eb01ceefa1ceec56af497e628593fb5fd9f",
      "tree": "0f9b454a8401bd4e70fa3c298fb81d6e054a1052",
      "parents": [
        "ce218712b0f6f97f9e838634548044b970eeca63"
      ],
      "author": {
        "name": "Joel Granados",
        "email": "j.granados@samsung.com",
        "time": "Wed May 01 11:29:26 2024 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 03 13:29:42 2024 +0100"
      },
      "message": "net: ipv{6,4}: Remove the now superfluous sentinel elements from ctl_table array\n\nThis commit comes at the tail end of a greater effort to remove the\nempty elements at the end of the ctl_table arrays (sentinels) which\nwill reduce the overall build time size of the kernel and run time\nmemory bloat by ~64 bytes per sentinel (further information Link :\nhttps://lore.kernel.org/all/ZO5Yx5JFogGi%2FcBo@bombadil.infradead.org/)\n\n* Remove sentinel element from ctl_table structs.\n* Remove the zeroing out of an array element (to make it look like a\n  sentinel) in sysctl_route_net_init And ipv6_route_sysctl_init.\n  This is not longer needed and is safe after commit c899710fe7f9\n  (\"networking: Update to register_net_sysctl_sz\") added the array size\n  to the ctl_table registration.\n* Remove extra sentinel element in the declaration of devinet_vars.\n* Removed the \"-1\" in __devinet_sysctl_register, sysctl_route_net_init,\n  ipv6_sysctl_net_init and ipv4_sysctl_init_net that adjusted for having\n  an extra empty element when looping over ctl_table arrays\n* Replace the for loop stop condition in __addrconf_sysctl_register that\n  tests for procname \u003d\u003d NULL with one that depends on array size\n* Removing the unprivileged user check in ipv6_route_sysctl_init is\n  safe as it is replaced by calling ipv6_route_sysctl_table_size;\n  introduced in commit c899710fe7f9 (\"networking: Update to\n  register_net_sysctl_sz\")\n* Use a table_size variable to keep the value of ARRAY_SIZE\n\nSigned-off-by: Joel Granados \u003cj.granados@samsung.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ce218712b0f6f97f9e838634548044b970eeca63",
      "tree": "c2c2c9ace05b994ad32181deff9dce79cff8615e",
      "parents": [
        "a17ef9e6c2c1cf0fc6cd6ca6a9ce525c67d1da7f"
      ],
      "author": {
        "name": "Joel Granados",
        "email": "j.granados@samsung.com",
        "time": "Wed May 01 11:29:25 2024 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 03 13:29:41 2024 +0100"
      },
      "message": "net: Remove the now superfluous sentinel elements from ctl_table array\n\nThis commit comes at the tail end of a greater effort to remove the\nempty elements at the end of the ctl_table arrays (sentinels) which\nwill reduce the overall build time size of the kernel and run time\nmemory bloat by ~64 bytes per sentinel (further information Link :\nhttps://lore.kernel.org/all/ZO5Yx5JFogGi%2FcBo@bombadil.infradead.org/)\n\n* Remove sentinel element from ctl_table structs.\n* Remove the zeroing out of an array element (to make it look like a\n  sentinel) in neigh_sysctl_register and lowpan_frags_ns_sysctl_register\n  This is not longer needed and is safe after commit c899710fe7f9\n  (\"networking: Update to register_net_sysctl_sz\") added the array size\n  to the ctl_table registration.\n* Replace the for loop stop condition in sysctl_core_net_init that tests\n  for procname \u003d\u003d NULL with one that depends on array size\n* Removed the \"-1\" in mpls_net_init that adjusted for having an extra\n  empty element when looping over ctl_table arrays\n* Use a table_size variable to keep the value of ARRAY_SIZE\n\nSigned-off-by: Joel Granados \u003cj.granados@samsung.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a17ef9e6c2c1cf0fc6cd6ca6a9ce525c67d1da7f",
      "tree": "bc6f88aef9d1f0bddbbc038c1fda930cc87b7d0a",
      "parents": [
        "4c7f3950a9fd53a62b156c0fe7c3a2c43b0ba19b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Apr 30 18:00:15 2024 +0000"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 19:01:35 2024 -0700"
      },
      "message": "net_sched: sch_sfq: annotate data-races around q-\u003eperturb_period\n\nsfq_perturbation() reads q-\u003eperturb_period locklessly.\nAdd annotations to fix potential issues.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240430180015.3111398-1-edumazet@google.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "4c7f3950a9fd53a62b156c0fe7c3a2c43b0ba19b",
      "tree": "bc942f9d29bb39e7c272518471613071fa02458d",
      "parents": [
        "ec6f25bc8aba2539a95be74b2a38f6a9cc13245f"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@kernel.org",
        "time": "Tue Apr 30 18:46:45 2024 +0100"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 18:53:19 2024 -0700"
      },
      "message": "net: dsa: mv88e6xxx: Correct check for empty list\n\nSince commit a3c53be55c95 (\"net: dsa: mv88e6xxx: Support multiple MDIO\nbusses\") mv88e6xxx_default_mdio_bus() has checked that the\nreturn value of list_first_entry() is non-NULL.\n\nThis appears to be intended to guard against the list chip-\u003emdios being\nempty.  However, it is not the correct check as the implementation of\nlist_first_entry is not designed to return NULL for empty lists.\n\nInstead, use list_first_entry_or_null() which does return NULL if the\nlist is empty.\n\nFlagged by Smatch.\nCompile tested only.\n\nReviewed-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nSigned-off-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240430-mv88e6xx-list_empty-v3-1-c35c69d88d2e@kernel.org\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "ec6f25bc8aba2539a95be74b2a38f6a9cc13245f",
      "tree": "7ce115e1bfd70d23ee05be1ac252a43e3908a133",
      "parents": [
        "e1bb5e65de8355ee76f51c6bfee2328ac5b2be15"
      ],
      "author": {
        "name": "Willem de Bruijn",
        "email": "willemb@google.com",
        "time": "Wed May 01 15:30:22 2024 -0400"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 18:37:47 2024 -0700"
      },
      "message": "selftests/net: skip partial checksum packets in csum test\n\nDetect packets with ip_summed CHECKSUM_PARTIAL and skip these. These\nshould not exist, as the test sends individual packets between two\nhosts. But if (HW) GRO is on, with randomized content sometimes\nsubsequent packets can be coalesced.\n\nIn this case the GSO packet checksum is converted to a pseudo checksum\nin anticipation of sending out as TSO/USO. So the field will not match\nthe expected value.\n\nDo not count these as test errors.\n\nSigned-off-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nLink: https://lore.kernel.org/r/20240501193156.3627344-1-willemdebruijn.kernel@gmail.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "e1bb5e65de8355ee76f51c6bfee2328ac5b2be15",
      "tree": "77fb0371c16f4973530137b3b5874c8bfb59650c",
      "parents": [
        "1c8f43f477d92fda15bccd703b808cd46899cd3c"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 19:53:25 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 18:20:49 2024 -0700"
      },
      "message": "selftests: net: py: check process exit code in bkg() and background cmd()\n\nWe\u0027re a bit too loose with error checking for background\nprocesses. cmd() completely ignores the fail argument\npassed to the constructor if background is True.\nDefault to checking for errors if process is not terminated\nexplicitly. Caller can override with True / False.\n\nFor bkg() the processing step is called magically by __exit__\nso record the value passed in the constructor.\n\nReported-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nTested-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nLink: https://lore.kernel.org/r/20240502025325.1924923-1-kuba@kernel.org\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "1c8f43f477d92fda15bccd703b808cd46899cd3c",
      "tree": "564689bf877cffa3303fdc97ab1bb3fafb5a0ace",
      "parents": [
        "3d549c382297f4d7646e327c817107a88d3f931b"
      ],
      "author": {
        "name": "Breno Leitao",
        "email": "leitao@debian.org",
        "time": "Tue Apr 30 09:22:11 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 18:20:17 2024 -0700"
      },
      "message": "IB/hfi1: allocate dummy net_device dynamically\n\nEmbedding net_device into structures prohibits the usage of flexible\narrays in the net_device structure. For more details, see the discussion\nat [1].\n\nUn-embed the net_device from struct hfi1_netdev_rx by converting it\ninto a pointer. Then use the leverage alloc_netdev() to allocate the\nnet_device object at hfi1_alloc_rx().\n\n[1] https://lore.kernel.org/all/20240229225910.79e224cf@kernel.org/\n\nAcked-by: Dennis Dalessandro \u003cdennis.dalessandro@cornelisnetworks.com\u003e\nSigned-off-by: Breno Leitao \u003cleitao@debian.org\u003e\nAcked-by: Leon Romanovsky \u003cleon@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240430162213.746492-1-leitao@debian.org\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "3d549c382297f4d7646e327c817107a88d3f931b",
      "tree": "91469fc5431cf2ef9c4a9f032db052aafd019ecc",
      "parents": [
        "e958da0ddbe831197a0023251880a4a09d5ba268"
      ],
      "author": {
        "name": "Asbjørn Sloth Tønnesen",
        "email": "ast@fiberby.net",
        "time": "Mon Apr 22 15:27:27 2024 +0000"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 18:19:13 2024 -0700"
      },
      "message": "net/mlx5e: flower: check for unsupported control flags\n\nUse flow_rule_is_supp_control_flags() to reject filters\nwith unsupported control flags.\n\nIn case any unsupported control flags are masked,\nflow_rule_is_supp_control_flags() sets a NL extended\nerror message, and we return -EOPNOTSUPP.\n\nRemove FLOW_DIS_FIRST_FRAG specific error message,\nand treat it as any other unsupported control flag.\n\nOnly compile-tested.\n\nSigned-off-by: Asbjørn Sloth Tønnesen \u003cast@fiberby.net\u003e\nReviewed-by: Jianbo Liu \u003cjianbol@nvidia.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nAcked-by: Tariq Toukan \u003ctariqt@nvidia.com\u003e\nLink: https://lore.kernel.org/r/20240422152728.175677-1-ast@fiberby.net\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "e958da0ddbe831197a0023251880a4a09d5ba268",
      "tree": "eacded26f9563064a44fd1afe730493898adadb9",
      "parents": [
        "dcc61472534e48a200262fd297ab21f8dd94d6cc",
        "545c494465d24b10a4370545ba213c0916f70b95"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 12:05:13 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 12:06:25 2024 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net\n\nCross-merge networking fixes after downstream PR.\n\nConflicts:\n\ninclude/linux/filter.h\nkernel/bpf/core.c\n  66e13b615a0c (\"bpf: verifier: prevent userspace memory access\")\n  d503a04f8bc0 (\"bpf: Add support for certain atomics in bpf_arena to x86 JIT\")\nhttps://lore.kernel.org/all/20240429114939.210328b0@canb.auug.org.au/\n\nNo adjacent changes.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "545c494465d24b10a4370545ba213c0916f70b95",
      "tree": "b672512df4f470eeaeee888703ff4db9cec6e456",
      "parents": [
        "0106679839f7c69632b3b9833c3268c316c0a9fc",
        "78cfe547607a83de60cd25304fa2422777634712"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 02 08:51:47 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 02 08:51:47 2024 -0700"
      },
      "message": "Merge tag \u0027net-6.9-rc7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net\n\nPull networking fixes from Paolo Abeni:\n \"Including fixes from bpf.\n\n  Relatively calm week, likely due to public holiday in most places. No\n  known outstanding regressions.\n\n  Current release - regressions:\n\n   - rxrpc: fix wrong alignmask in __page_frag_alloc_align()\n\n   - eth: e1000e: change usleep_range to udelay in PHY mdic access\n\n  Previous releases - regressions:\n\n   - gro: fix udp bad offset in socket lookup\n\n   - bpf: fix incorrect runtime stat for arm64\n\n   - tipc: fix UAF in error path\n\n   - netfs: fix a potential infinite loop in extract_user_to_sg()\n\n   - eth: ice: ensure the copied buf is NUL terminated\n\n   - eth: qeth: fix kernel panic after setting hsuid\n\n  Previous releases - always broken:\n\n   - bpf:\n       - verifier: prevent userspace memory access\n       - xdp: use flags field to disambiguate broadcast redirect\n\n   - bridge: fix multicast-to-unicast with fraglist GSO\n\n   - mptcp: ensure snd_nxt is properly initialized on connect\n\n   - nsh: fix outer header access in nsh_gso_segment().\n\n   - eth: bcmgenet: fix racing registers access\n\n   - eth: vxlan: fix stats counters.\n\n  Misc:\n\n   - a bunch of MAINTAINERS file updates\"\n\n* tag \u0027net-6.9-rc7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (45 commits)\n  MAINTAINERS: mark MYRICOM MYRI-10G as Orphan\n  MAINTAINERS: remove Ariel Elior\n  net: gro: add flush check in udp_gro_receive_segment\n  net: gro: fix udp bad offset in socket lookup by adding {inner_}network_offset to napi_gro_cb\n  ipv4: Fix uninit-value access in __ip_make_skb()\n  s390/qeth: Fix kernel panic after setting hsuid\n  vxlan: Pull inner IP header in vxlan_rcv().\n  tipc: fix a possible memleak in tipc_buf_append\n  tipc: fix UAF in error path\n  rxrpc: Clients must accept conn from any address\n  net: core: reject skb_copy(_expand) for fraglist GSO skbs\n  net: bridge: fix multicast-to-unicast with fraglist GSO\n  mptcp: ensure snd_nxt is properly initialized on connect\n  e1000e: change usleep_range to udelay in PHY mdic access\n  net: dsa: mv88e6xxx: Fix number of databases for 88E6141 / 88E6341\n  cxgb4: Properly lock TX queue for the selftest.\n  rxrpc: Fix using alignmask being zero for __page_frag_alloc_align()\n  vxlan: Add missing VNI filter counter update in arp_reduce().\n  vxlan: Fix racy device stats updates.\n  net: qede: use return from qede_parse_actions()\n  ...\n"
    },
    {
      "commit": "dcc61472534e48a200262fd297ab21f8dd94d6cc",
      "tree": "279a36c1afe538f48a4b95b1cfb493ad14c21faf",
      "parents": [
        "fc1fa5a07104a7caf151ace62ed59b617b811184",
        "54d0b84f400290df93127ef9a562745464908ffb"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 07:27:23 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 07:27:23 2024 -0700"
      },
      "message": "Merge branch \u0027bnxt_en-updates-for-net-next\u0027\n\nMichael Chan says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nbnxt_en: Updates for net-next\n\nThe first patch converts the sw_stats field in the completion\nring structure to a pointer.  This allows the group of\ncompletion rings using the same MSIX to share the same sw_stats\nstructure.  Prior to this, the correct completion ring must be\nused to count packets.\n\nThe next four patches remove the RTNL lock when calling the RoCE\ndriver for asynchronous stop and start during error recovery and\nfirmware reset.  The RTNL ilock is replaced with a private mutex\nused to synchronize RoCE register, unregister, stop, and start.\n\nThe last patch adds VF PCI IDs for the 5760X chips.\n\nv2: Dropped patch #1 from v1.  Will work with David to get that\npatch in separately.\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/20240501003056.100607-1-michael.chan@broadcom.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "54d0b84f400290df93127ef9a562745464908ffb",
      "tree": "279a36c1afe538f48a4b95b1cfb493ad14c21faf",
      "parents": [
        "3c163f35bd50314d4e70ed9e83e1d8d83c473325"
      ],
      "author": {
        "name": "Ajit Khaparde",
        "email": "ajit.khaparde@broadcom.com",
        "time": "Tue Apr 30 17:30:56 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 07:27:21 2024 -0700"
      },
      "message": "bnxt_en: Add VF PCI ID for 5760X (P7) chips\n\nNo driver logic changes are required to support the VFs, so just add\nthe VF PCI ID.\n\nReviewed-by: Selvin Thyparampil Xavier \u003cselvin.xavier@broadcom.com\u003e\nSigned-off-by: Ajit Khaparde \u003cajit.khaparde@broadcom.com\u003e\nSigned-off-by: Michael Chan \u003cmichael.chan@broadcom.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240501003056.100607-7-michael.chan@broadcom.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "3c163f35bd50314d4e70ed9e83e1d8d83c473325",
      "tree": "975a25cc25a3945f3064435262d2482aa3a73fe7",
      "parents": [
        "de21ec442d411b17a2386cb6683acd18b047506d"
      ],
      "author": {
        "name": "Kalesh AP",
        "email": "kalesh-anakkur.purayil@broadcom.com",
        "time": "Tue Apr 30 17:30:55 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 07:27:21 2024 -0700"
      },
      "message": "bnxt_en: Optimize recovery path ULP locking in the driver\n\nIn the error recovery path (AER, firmware recovery, etc), the\ndriver notifies the RoCE driver via ULP_STOP before the reset\nand via ULP_START after the reset, all under RTNL_LOCK.  The\nRoCE driver can take a long time if there are a lot of QPs to\ndestroy, so it is not ideal to hold the global RTNL lock.\n\nRely on the new en_dev_lock mutex instead for ULP_STOP and\nULP_START.  For the most part, we move the ULP_STOP call before\nwe take the RTNL lock and move the ULP_START after RTNL unlock.\nNote that SRIOV re-enablement must be done after ULP_START\nor RoCE on the VFs will not resume properly after reset.\n\nThe one scenario in bnxt_hwrm_if_change() where the RTNL lock\nis already taken in the .ndo_open() context requires the ULP\nrestart to be deferred to the bnxt_sp_task() workqueue.\n\nReviewed-by: Selvin Thyparampil Xavier \u003cselvin.xavier@broadcom.com\u003e\nReviewed-by: Vikas Gupta \u003cvikas.gupta@broadcom.com\u003e\nReviewed-by: Pavan Chebbi \u003cpavan.chebbi@broadcom.com\u003e\nSigned-off-by: Kalesh AP \u003ckalesh-anakkur.purayil@broadcom.com\u003e\nSigned-off-by: Michael Chan \u003cmichael.chan@broadcom.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240501003056.100607-6-michael.chan@broadcom.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "de21ec442d411b17a2386cb6683acd18b047506d",
      "tree": "39bc1b1ac845a8736970a7f919b8ddeef000e58d",
      "parents": [
        "f79d7a9f1c9d0cba9ae3d0cfd743c277d78dcf45"
      ],
      "author": {
        "name": "Kalesh AP",
        "email": "kalesh-anakkur.purayil@broadcom.com",
        "time": "Tue Apr 30 17:30:54 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 07:27:20 2024 -0700"
      },
      "message": "bnxt_en: Add a mutex to synchronize ULP operations\n\nThe current scheme relies heavily on the RTNL lock for all ULP\noperations between the L2 and the RoCE driver.  Add a new en_dev_lock\nmutex so that the asynchronous ULP_STOP and ULP_START operations\ncan be serialized with bnxt_register_dev() and bnxt_unregister_dev()\ncalls without relying on the RTNL lock.  The next patch will remove\nthe RTNL lock from the ULP_STOP and ULP_START calls.\n\nReviewed-by: Selvin Thyparampil Xavier \u003cselvin.xavier@broadcom.com\u003e\nReviewed-by: Vikas Gupta \u003cvikas.gupta@broadcom.com\u003e\nReviewed-by: Pavan Chebbi \u003cpavan.chebbi@broadcom.com\u003e\nSigned-off-by: Kalesh AP \u003ckalesh-anakkur.purayil@broadcom.com\u003e\nSigned-off-by: Michael Chan \u003cmichael.chan@broadcom.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240501003056.100607-5-michael.chan@broadcom.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "f79d7a9f1c9d0cba9ae3d0cfd743c277d78dcf45",
      "tree": "a1b717909f852842ab71561e47aee80afc32fe2a",
      "parents": [
        "895621f1c81695da7660fe909173e9f98619e89c"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "michael.chan@broadcom.com",
        "time": "Tue Apr 30 17:30:53 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 07:27:20 2024 -0700"
      },
      "message": "bnxt_en: Don\u0027t call ULP_STOP/ULP_START during L2 reset\n\nThere is no need to call ULP_STOP and ULP_START before and after the\nL2 reset in bnxt_reset_task().  This L2 reset is done after detecting\nTX timeout, RX ring errors, or VF config changes.  The L2 reset does\nnot affect RoCE since the firmware is not reset and the backing store\nis left alone.\n\nReviewed-by: Andy Gospodarek \u003candrew.gospodarek@broadcom.com\u003e\nReviewed-by: Pavan Chebbi \u003cpavan.chebbi@broadcom.com\u003e\nSigned-off-by: Michael Chan \u003cmichael.chan@broadcom.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240501003056.100607-4-michael.chan@broadcom.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "895621f1c81695da7660fe909173e9f98619e89c",
      "tree": "fbaa9d87da55b4000e4e0bad25f71a9d4b764ff9",
      "parents": [
        "a75fbb3aa47a62d76d8b07b49db9e2f0e08fbba7"
      ],
      "author": {
        "name": "Kalesh AP",
        "email": "kalesh-anakkur.purayil@broadcom.com",
        "time": "Tue Apr 30 17:30:52 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 07:27:20 2024 -0700"
      },
      "message": "bnxt_en: Don\u0027t support offline self test when RoCE driver is loaded\n\nOffline self test is a very disruptive operation for RoCE and requires\nall active QPs to be destroyed.  With a large number of QPs, it can\ntake a long time to destroy all the QPs and can timeout.  Do not allow\nethtool offline self test if the RoCE driver is registered on the\ndevice.\n\nReviewed-by: Selvin Thyparampil Xavier \u003cselvin.xavier@broadcom.com\u003e\nReviewed-by: Vikas Gupta \u003cvikas.gupta@broadcom.com\u003e\nReviewed-by: Pavan Chebbi \u003cpavan.chebbi@broadcom.com\u003e\nSigned-off-by: Kalesh AP \u003ckalesh-anakkur.purayil@broadcom.com\u003e\nSigned-off-by: Michael Chan \u003cmichael.chan@broadcom.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240501003056.100607-3-michael.chan@broadcom.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "a75fbb3aa47a62d76d8b07b49db9e2f0e08fbba7",
      "tree": "ce483ea19cbf40e8e8f9214a2c3f30e39588cf17",
      "parents": [
        "fc1fa5a07104a7caf151ace62ed59b617b811184"
      ],
      "author": {
        "name": "Edwin Peer",
        "email": "edwin.peer@broadcom.com",
        "time": "Tue Apr 30 17:30:51 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 07:27:20 2024 -0700"
      },
      "message": "bnxt_en: share NQ ring sw_stats memory with subrings\n\nOn P5_PLUS chips and later, the NQ rings have subrings for RX and TX\ncompletions respectively. These subrings are passed to the poll\nfunction instead of the base NQ, but each ring carries its own\ncopy of the software ring statistics.\n\nFor stats to be conveniently accessible in __bnxt_poll_work(), the\nstatistics memory should either be shared between the NQ and its\nsubrings or the subrings need to be included in the ethtool stats\naggregation logic. This patch opts for the former, because it\u0027s more\nefficient and less confusing having the software statistics for a\nring exist in a single place.\n\nBefore this patch, the counter will not be displayed if the \"wrong\"\ncpr-\u003esw_stats was used to increment a counter.\n\nLink: https://lore.kernel.org/netdev/CACKFLikEhVAJA+osD7UjQNotdGte+fth7zOy7yDdLkTyFk9Pyw@mail.gmail.com/\nSigned-off-by: Edwin Peer \u003cedwin.peer@broadcom.com\u003e\nSigned-off-by: Michael Chan \u003cmichael.chan@broadcom.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240501003056.100607-2-michael.chan@broadcom.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "fc1fa5a07104a7caf151ace62ed59b617b811184",
      "tree": "da85d0a0d070beb1dcf6d90eeb2af5448ad702c7",
      "parents": [
        "86735b57c905e775f05de995df35379366b72168",
        "29385de339564b2f5bd2ad65eae8ded80d0ad854"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 07:14:59 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 07:14:59 2024 -0700"
      },
      "message": "Merge branch \u002740GbE\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue\n\nTony Nguyen says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\ni40e: cleanups \u0026 refactors\n\nIvan Vecera says:\n\nThis series do following:\nPatch 1 - Removes write-only flags field from i40e_veb structure and\n          from i40e_veb_setup() parameters\nPatch 2 - Refactors parameter of i40e_notify_client_of_l2_param_changes()\n          and i40e_notify_client_of_netdev_close()\nPatch 3 - Refactors parameter of i40e_detect_recover_hung()\nPatch 4 - Adds helper i40e_pf_get_main_vsi() to get main VSI and uses it\n          in existing code\nPatch 5 - Consolidates checks whether given VSI is the main one\nPatch 6 - Adds helper i40e_pf_get_main_veb() to get main VEB and uses it\n          in existing code\nPatch 7 - Adds helper i40e_vsi_reconfig_tc() to reconfigure TC for\n          particular and uses it to replace existing open-coded pieces\n\n* \u002740GbE\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue:\n  i40e: Add and use helper to reconfigure TC for given VSI\n  i40e: Add helper to access main VEB\n  i40e: Consolidate checks whether given VSI is main\n  i40e: Add helper to access main VSI\n  i40e: Refactor argument of i40e_detect_recover_hung()\n  i40e: Refactor argument of several client notification functions\n  i40e: Remove flags field from i40e_veb\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/20240430180639.1938515-1-anthony.l.nguyen@intel.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "86735b57c905e775f05de995df35379366b72168",
      "tree": "1864601c629ad76b3444bd6f932354e7d691829b",
      "parents": [
        "2506f6229bd0d067add26eea9e396929c903e226"
      ],
      "author": {
        "name": "Davide Caratti",
        "email": "dcaratti@redhat.com",
        "time": "Tue Apr 30 19:11:13 2024 +0200"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 02 07:12:40 2024 -0700"
      },
      "message": "net/sched: unregister lockdep keys in qdisc_create/qdisc_alloc error path\n\nNaresh and Eric report several errors (corrupted elements in the dynamic\nkey hash list), when running tdc.py or syzbot. The error path of\nqdisc_alloc() and qdisc_create() frees the qdisc memory, but it forgets\nto unregister the lockdep key, thus causing use-after-free like the\nfollowing one:\n\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n BUG: KASAN: slab-use-after-free in lockdep_register_key+0x5f2/0x700\n Read of size 8 at addr ffff88811236f2a8 by task ip/7925\n\n CPU: 26 PID: 7925 Comm: ip Kdump: loaded Not tainted 6.9.0-rc2+ #648\n Hardware name: Supermicro SYS-6027R-72RF/X9DRH-7TF/7F/iTF/iF, BIOS 3.0  07/26/2013\n Call Trace:\n  \u003cTASK\u003e\n  dump_stack_lvl+0x7c/0xc0\n  print_report+0xc9/0x610\n  kasan_report+0x89/0xc0\n  lockdep_register_key+0x5f2/0x700\n  qdisc_alloc+0x21d/0xb60\n  qdisc_create_dflt+0x63/0x3c0\n  attach_one_default_qdisc.constprop.37+0x8e/0x170\n  dev_activate+0x4bd/0xc30\n  __dev_open+0x275/0x380\n  __dev_change_flags+0x3f1/0x570\n  dev_change_flags+0x7c/0x160\n  do_setlink+0x1ea1/0x34b0\n  __rtnl_newlink+0x8c9/0x1510\n  rtnl_newlink+0x61/0x90\n  rtnetlink_rcv_msg+0x2f0/0xbc0\n  netlink_rcv_skb+0x120/0x380\n  netlink_unicast+0x420/0x630\n  netlink_sendmsg+0x732/0xbc0\n  __sock_sendmsg+0x1ea/0x280\n  ____sys_sendmsg+0x5a9/0x990\n  ___sys_sendmsg+0xf1/0x180\n  __sys_sendmsg+0xd3/0x180\n  do_syscall_64+0x96/0x180\n  entry_SYSCALL_64_after_hwframe+0x71/0x79\n RIP: 0033:0x7f9503f4fa07\n Code: 0a 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b9 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f 05 \u003c48\u003e 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10\n RSP: 002b:00007fff6c729068 EFLAGS: 00000246 ORIG_RAX: 000000000000002e\n RAX: ffffffffffffffda RBX: 000000006630c681 RCX: 00007f9503f4fa07\n RDX: 0000000000000000 RSI: 00007fff6c7290d0 RDI: 0000000000000003\n RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000078\n R10: 000000000000009b R11: 0000000000000246 R12: 0000000000000001\n R13: 00007fff6c729180 R14: 0000000000000000 R15: 000055bf67dd9040\n  \u003c/TASK\u003e\n\n Allocated by task 7745:\n  kasan_save_stack+0x1c/0x40\n  kasan_save_track+0x10/0x30\n  __kasan_kmalloc+0x7b/0x90\n  __kmalloc_node+0x1ff/0x460\n  qdisc_alloc+0xae/0xb60\n  qdisc_create+0xdd/0xfb0\n  tc_modify_qdisc+0x37e/0x1960\n  rtnetlink_rcv_msg+0x2f0/0xbc0\n  netlink_rcv_skb+0x120/0x380\n  netlink_unicast+0x420/0x630\n  netlink_sendmsg+0x732/0xbc0\n  __sock_sendmsg+0x1ea/0x280\n  ____sys_sendmsg+0x5a9/0x990\n  ___sys_sendmsg+0xf1/0x180\n  __sys_sendmsg+0xd3/0x180\n  do_syscall_64+0x96/0x180\n  entry_SYSCALL_64_after_hwframe+0x71/0x79\n\n Freed by task 7745:\n  kasan_save_stack+0x1c/0x40\n  kasan_save_track+0x10/0x30\n  kasan_save_free_info+0x36/0x60\n  __kasan_slab_free+0xfe/0x180\n  kfree+0x113/0x380\n  qdisc_create+0xafb/0xfb0\n  tc_modify_qdisc+0x37e/0x1960\n  rtnetlink_rcv_msg+0x2f0/0xbc0\n  netlink_rcv_skb+0x120/0x380\n  netlink_unicast+0x420/0x630\n  netlink_sendmsg+0x732/0xbc0\n  __sock_sendmsg+0x1ea/0x280\n  ____sys_sendmsg+0x5a9/0x990\n  ___sys_sendmsg+0xf1/0x180\n  __sys_sendmsg+0xd3/0x180\n  do_syscall_64+0x96/0x180\n  entry_SYSCALL_64_after_hwframe+0x71/0x79\n\nFix this ensuring that lockdep_unregister_key() is called before the\nqdisc struct is freed, also in the error path of qdisc_create() and\nqdisc_alloc().\n\nFixes: af0cb3fa3f9e (\"net/sched: fix false lockdep warning on qdisc root lock\")\nReported-by: Linux Kernel Functional Testing \u003clkft@linaro.org\u003e\nCloses: https://lore.kernel.org/netdev/20240429221706.1492418-1-naresh.kamboju@linaro.org/\nSigned-off-by: Davide Caratti \u003cdcaratti@redhat.com\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nTested-by: Naresh Kamboju \u003cnaresh.kamboju@linaro.org\u003e\nTested-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nLink: https://lore.kernel.org/r/2aa1ca0c0a3aa0acc15925c666c777a4b5de553c.1714496886.git.dcaratti@redhat.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "78cfe547607a83de60cd25304fa2422777634712",
      "tree": "a3ad7c9ed5b7adca5bb09dff4af5172da9529ebc",
      "parents": [
        "c9ccbcd9f1995e6aa1578220f86c96f57be529d7"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Apr 30 16:35:32 2024 -0700"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Thu May 02 11:24:03 2024 +0200"
      },
      "message": "MAINTAINERS: mark MYRICOM MYRI-10G as Orphan\n\nChris\u0027s email address bounces and lore hasn\u0027t seen an email\nfrom anyone with his name for almost a decade.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240430233532.1356982-1-kuba@kernel.org\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "c9ccbcd9f1995e6aa1578220f86c96f57be529d7",
      "tree": "dec57fec7d79a6f3509a80a65c60a006e9bc0bed",
      "parents": [
        "a257f093bfd643def9c7eac341aa3f6d2c834920"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Apr 30 16:33:05 2024 -0700"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Thu May 02 11:23:52 2024 +0200"
      },
      "message": "MAINTAINERS: remove Ariel Elior\n\naelior@marvell.com bounces, we haven\u0027t seen Ariel on lore\nsince March 2022.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240430233305.1356105-1-kuba@kernel.org\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "a257f093bfd643def9c7eac341aa3f6d2c834920",
      "tree": "5c9a82adc5af8d2f90cff1c7bcf3dedab5f5bd48",
      "parents": [
        "fc1092f51567277509563800a3c56732070b6aa4",
        "5babae777c61aa8a8679d59d3cdc54165ad96d42"
      ],
      "author": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Thu May 02 11:03:21 2024 +0200"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Thu May 02 11:03:21 2024 +0200"
      },
      "message": "Merge branch \u0027net-gro-add-flush-flush_id-checks-and-fix-wrong-offset-in-udp\u0027\n\nRichard Gobert says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nnet: gro: add flush/flush_id checks and fix wrong offset in udp\n\nThis series fixes a bug in the complete phase of UDP in GRO, in which\nsocket lookup fails due to using network_header when parsing encapsulated\npackets. The fix is to add network_offset and inner_network_offset to\nnapi_gro_cb and use these offsets for socket lookup.\n\nIn addition p-\u003eflush/flush_id should be checked in all UDP flows. The\nsame logic from tcp_gro_receive is applied for all flows in\nudp_gro_receive_segment. This prevents packets with mismatching network\nheaders (flush/flush_id turned on) from merging in UDP GRO.\n\nThe original series includes a change to vxlan test which adds the local\nparameter to prevent similar future bugs. I plan to submit it separately to\nnet-next.\n\nThis series is part of a previously submitted series to net-next:\nhttps://lore.kernel.org/all/20240408141720.98832-1-richardbgobert@gmail.com/\n\nv3 -\u003e v4:\n - Store network offsets, and use them only in udp_gro_complete flows\n - Correct commit hash used in Fixes tag\n - v3:\n https://lore.kernel.org/netdev/20240424163045.123528-1-richardbgobert@gmail.com/\n\nv2 -\u003e v3:\n - Add network_offsets and fix udp bug in a single commit to make backporting easier\n - Write to inner_network_offset in {inet,ipv6}_gro_receive\n - Use network_offsets union in tcp[46]_gro_complete as well\n - v2:\n https://lore.kernel.org/netdev/20240419153542.121087-1-richardbgobert@gmail.com/\n\nv1 -\u003e v2:\n - Use network_offsets instead of p_poff param as suggested by Willem\n - Check flush before postpull, and for all UDP GRO flows\n - v1:\n https://lore.kernel.org/netdev/20240412152120.115067-1-richardbgobert@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/20240430143555.126083-1-richardbgobert@gmail.com\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "5babae777c61aa8a8679d59d3cdc54165ad96d42",
      "tree": "5c9a82adc5af8d2f90cff1c7bcf3dedab5f5bd48",
      "parents": [
        "5ef31ea5d053a8f493a772ebad3f3ce82c35d845"
      ],
      "author": {
        "name": "Richard Gobert",
        "email": "richardbgobert@gmail.com",
        "time": "Tue Apr 30 16:35:55 2024 +0200"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Thu May 02 11:03:20 2024 +0200"
      },
      "message": "net: gro: add flush check in udp_gro_receive_segment\n\nGRO-GSO path is supposed to be transparent and as such L3 flush checks are\nrelevant to all UDP flows merging in GRO. This patch uses the same logic\nand code from tcp_gro_receive, terminating merge if flush is non zero.\n\nFixes: e20cf8d3f1f7 (\"udp: implement GRO for plain UDP sockets.\")\nSigned-off-by: Richard Gobert \u003crichardbgobert@gmail.com\u003e\nReviewed-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "5ef31ea5d053a8f493a772ebad3f3ce82c35d845",
      "tree": "2e7507c67ac9ef73245773b0ef620d4c242f7c17",
      "parents": [
        "fc1092f51567277509563800a3c56732070b6aa4"
      ],
      "author": {
        "name": "Richard Gobert",
        "email": "richardbgobert@gmail.com",
        "time": "Tue Apr 30 16:35:54 2024 +0200"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Thu May 02 11:02:48 2024 +0200"
      },
      "message": "net: gro: fix udp bad offset in socket lookup by adding {inner_}network_offset to napi_gro_cb\n\nCommits a602456 (\"udp: Add GRO functions to UDP socket\") and 57c67ff (\"udp:\nadditional GRO support\") introduce incorrect usage of {ip,ipv6}_hdr in the\ncomplete phase of gro. The functions always return skb-\u003enetwork_header,\nwhich in the case of encapsulated packets at the gro complete phase, is\nalways set to the innermost L3 of the packet. That means that calling\n{ip,ipv6}_hdr for skbs which completed the GRO receive phase (both in\ngro_list and *_gro_complete) when parsing an encapsulated packet\u0027s _outer_\nL3/L4 may return an unexpected value.\n\nThis incorrect usage leads to a bug in GRO\u0027s UDP socket lookup.\nudp{4,6}_lib_lookup_skb functions use ip_hdr/ipv6_hdr respectively. These\n*_hdr functions return network_header which will point to the innermost L3,\nresulting in the wrong offset being used in __udp{4,6}_lib_lookup with\nencapsulated packets.\n\nThis patch adds network_offset and inner_network_offset to napi_gro_cb, and\nmakes sure both are set correctly.\n\nTo fix the issue, network_offsets union is used inside napi_gro_cb, in\nwhich both the outer and the inner network offsets are saved.\n\nReproduction example:\n\nEndpoint configuration example (fou + local address bind)\n\n    # ip fou add port 6666 ipproto 4\n    # ip link add name tun1 type ipip remote 2.2.2.1 local 2.2.2.2 encap fou encap-dport 5555 encap-sport 6666 mode ipip\n    # ip link set tun1 up\n    # ip a add 1.1.1.2/24 dev tun1\n\nNetperf TCP_STREAM result on net-next before patch is applied:\n\nnet-next main, GRO enabled:\n    $ netperf -H 1.1.1.2 -t TCP_STREAM -l 5\n    Recv   Send    Send\n    Socket Socket  Message  Elapsed\n    Size   Size    Size     Time     Throughput\n    bytes  bytes   bytes    secs.    10^6bits/sec\n\n    131072  16384  16384    5.28        2.37\n\nnet-next main, GRO disabled:\n    $ netperf -H 1.1.1.2 -t TCP_STREAM -l 5\n    Recv   Send    Send\n    Socket Socket  Message  Elapsed\n    Size   Size    Size     Time     Throughput\n    bytes  bytes   bytes    secs.    10^6bits/sec\n\n    131072  16384  16384    5.01     2745.06\n\npatch applied, GRO enabled:\n    $ netperf -H 1.1.1.2 -t TCP_STREAM -l 5\n    Recv   Send    Send\n    Socket Socket  Message  Elapsed\n    Size   Size    Size     Time     Throughput\n    bytes  bytes   bytes    secs.    10^6bits/sec\n\n    131072  16384  16384    5.01     2877.38\n\nFixes: a6024562ffd7 (\"udp: Add GRO functions to UDP socket\")\nSigned-off-by: Richard Gobert \u003crichardbgobert@gmail.com\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReviewed-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "fc1092f51567277509563800a3c56732070b6aa4",
      "tree": "f283a48e76ea4688515260438cda77e66b5bcf60",
      "parents": [
        "8a2e4d37afb8500b276e5ee903dee06f50ab0494"
      ],
      "author": {
        "name": "Shigeru Yoshida",
        "email": "syoshida@redhat.com",
        "time": "Tue Apr 30 21:39:45 2024 +0900"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Thu May 02 10:16:35 2024 +0200"
      },
      "message": "ipv4: Fix uninit-value access in __ip_make_skb()\n\nKMSAN reported uninit-value access in __ip_make_skb() [1].  __ip_make_skb()\ntests HDRINCL to know if the skb has icmphdr. However, HDRINCL can cause a\nrace condition. If calling setsockopt(2) with IP_HDRINCL changes HDRINCL\nwhile __ip_make_skb() is running, the function will access icmphdr in the\nskb even if it is not included. This causes the issue reported by KMSAN.\n\nCheck FLOWI_FLAG_KNOWN_NH on fl4-\u003eflowi4_flags instead of testing HDRINCL\non the socket.\n\nAlso, fl4-\u003efl4_icmp_type and fl4-\u003efl4_icmp_code are not initialized. These\nare union in struct flowi4 and are implicitly initialized by\nflowi4_init_output(), but we should not rely on specific union layout.\n\nInitialize these explicitly in raw_sendmsg().\n\n[1]\nBUG: KMSAN: uninit-value in __ip_make_skb+0x2b74/0x2d20 net/ipv4/ip_output.c:1481\n __ip_make_skb+0x2b74/0x2d20 net/ipv4/ip_output.c:1481\n ip_finish_skb include/net/ip.h:243 [inline]\n ip_push_pending_frames+0x4c/0x5c0 net/ipv4/ip_output.c:1508\n raw_sendmsg+0x2381/0x2690 net/ipv4/raw.c:654\n inet_sendmsg+0x27b/0x2a0 net/ipv4/af_inet.c:851\n sock_sendmsg_nosec net/socket.c:730 [inline]\n __sock_sendmsg+0x274/0x3c0 net/socket.c:745\n __sys_sendto+0x62c/0x7b0 net/socket.c:2191\n __do_sys_sendto net/socket.c:2203 [inline]\n __se_sys_sendto net/socket.c:2199 [inline]\n __x64_sys_sendto+0x130/0x200 net/socket.c:2199\n do_syscall_64+0xd8/0x1f0 arch/x86/entry/common.c:83\n entry_SYSCALL_64_after_hwframe+0x6d/0x75\n\nUninit was created at:\n slab_post_alloc_hook mm/slub.c:3804 [inline]\n slab_alloc_node mm/slub.c:3845 [inline]\n kmem_cache_alloc_node+0x5f6/0xc50 mm/slub.c:3888\n kmalloc_reserve+0x13c/0x4a0 net/core/skbuff.c:577\n __alloc_skb+0x35a/0x7c0 net/core/skbuff.c:668\n alloc_skb include/linux/skbuff.h:1318 [inline]\n __ip_append_data+0x49ab/0x68c0 net/ipv4/ip_output.c:1128\n ip_append_data+0x1e7/0x260 net/ipv4/ip_output.c:1365\n raw_sendmsg+0x22b1/0x2690 net/ipv4/raw.c:648\n inet_sendmsg+0x27b/0x2a0 net/ipv4/af_inet.c:851\n sock_sendmsg_nosec net/socket.c:730 [inline]\n __sock_sendmsg+0x274/0x3c0 net/socket.c:745\n __sys_sendto+0x62c/0x7b0 net/socket.c:2191\n __do_sys_sendto net/socket.c:2203 [inline]\n __se_sys_sendto net/socket.c:2199 [inline]\n __x64_sys_sendto+0x130/0x200 net/socket.c:2199\n do_syscall_64+0xd8/0x1f0 arch/x86/entry/common.c:83\n entry_SYSCALL_64_after_hwframe+0x6d/0x75\n\nCPU: 1 PID: 15709 Comm: syz-executor.7 Not tainted 6.8.0-11567-gb3603fcb79b1 #25\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-1.fc39 04/01/2014\n\nFixes: 99e5acae193e (\"ipv4: Fix potential uninit variable access bug in __ip_make_skb()\")\nReported-by: syzkaller \u003csyzkaller@googlegroups.com\u003e\nSigned-off-by: Shigeru Yoshida \u003csyoshida@redhat.com\u003e\nLink: https://lore.kernel.org/r/20240430123945.2057348-1-syoshida@redhat.com\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "8a2e4d37afb8500b276e5ee903dee06f50ab0494",
      "tree": "d6599c44315f2cb47c0605005e6f8e2d3728be94",
      "parents": [
        "f7789419137b18e3847d0cc41afd788c3c00663d"
      ],
      "author": {
        "name": "Alexandra Winter",
        "email": "wintera@linux.ibm.com",
        "time": "Tue Apr 30 11:10:04 2024 +0200"
      },
      "committer": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Thu May 02 09:18:58 2024 +0200"
      },
      "message": "s390/qeth: Fix kernel panic after setting hsuid\n\nSymptom:\nWhen the hsuid attribute is set for the first time on an IQD Layer3\ndevice while the corresponding network interface is already UP,\nthe kernel will try to execute a napi function pointer that is NULL.\n\nExample:\n---------------------------------------------------------------------------\n[ 2057.572696] illegal operation: 0001 ilc:1 [#1] SMP\n[ 2057.572702] Modules linked in: af_iucv qeth_l3 zfcp scsi_transport_fc sunrpc nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6\nnft_reject nft_ct nf_tables_set nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip_set nf_tables libcrc32c nfnetlink ghash_s390 prng xts aes_s390 des_s390 de\ns_generic sha3_512_s390 sha3_256_s390 sha512_s390 vfio_ccw vfio_mdev mdev vfio_iommu_type1 eadm_sch vfio ext4 mbcache jbd2 qeth_l2 bridge stp llc dasd_eckd_mod qeth dasd_mod\n qdio ccwgroup pkey zcrypt\n[ 2057.572739] CPU: 6 PID: 60182 Comm: stress_client Kdump: loaded Not tainted 4.18.0-541.el8.s390x #1\n[ 2057.572742] Hardware name: IBM 3931 A01 704 (LPAR)\n[ 2057.572744] Krnl PSW : 0704f00180000000 0000000000000002 (0x2)\n[ 2057.572748]            R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:3 PM:0 RI:0 EA:3\n[ 2057.572751] Krnl GPRS: 0000000000000004 0000000000000000 00000000a3b008d8 0000000000000000\n[ 2057.572754]            00000000a3b008d8 cb923a29c779abc5 0000000000000000 00000000814cfd80\n[ 2057.572756]            000000000000012c 0000000000000000 00000000a3b008d8 00000000a3b008d8\n[ 2057.572758]            00000000bab6d500 00000000814cfd80 0000000091317e46 00000000814cfc68\n[ 2057.572762] Krnl Code:#0000000000000000: 0000                illegal\n                         \u003e0000000000000002: 0000                illegal\n                          0000000000000004: 0000                illegal\n                          0000000000000006: 0000                illegal\n                          0000000000000008: 0000                illegal\n                          000000000000000a: 0000                illegal\n                          000000000000000c: 0000                illegal\n                          000000000000000e: 0000                illegal\n[ 2057.572800] Call Trace:\n[ 2057.572801] ([\u003c00000000ec639700\u003e] 0xec639700)\n[ 2057.572803]  [\u003c00000000913183e2\u003e] net_rx_action+0x2ba/0x398\n[ 2057.572809]  [\u003c0000000091515f76\u003e] __do_softirq+0x11e/0x3a0\n[ 2057.572813]  [\u003c0000000090ce160c\u003e] do_softirq_own_stack+0x3c/0x58\n[ 2057.572817] ([\u003c0000000090d2cbd6\u003e] do_softirq.part.1+0x56/0x60)\n[ 2057.572822]  [\u003c0000000090d2cc60\u003e] __local_bh_enable_ip+0x80/0x98\n[ 2057.572825]  [\u003c0000000091314706\u003e] __dev_queue_xmit+0x2be/0xd70\n[ 2057.572827]  [\u003c000003ff803dd6d6\u003e] afiucv_hs_send+0x24e/0x300 [af_iucv]\n[ 2057.572830]  [\u003c000003ff803dd88a\u003e] iucv_send_ctrl+0x102/0x138 [af_iucv]\n[ 2057.572833]  [\u003c000003ff803de72a\u003e] iucv_sock_connect+0x37a/0x468 [af_iucv]\n[ 2057.572835]  [\u003c00000000912e7e90\u003e] __sys_connect+0xa0/0xd8\n[ 2057.572839]  [\u003c00000000912e9580\u003e] sys_socketcall+0x228/0x348\n[ 2057.572841]  [\u003c0000000091514e1a\u003e] system_call+0x2a6/0x2c8\n[ 2057.572843] Last Breaking-Event-Address:\n[ 2057.572844]  [\u003c0000000091317e44\u003e] __napi_poll+0x4c/0x1d8\n[ 2057.572846]\n[ 2057.572847] Kernel panic - not syncing: Fatal exception in interrupt\n-------------------------------------------------------------------------------------------\n\nAnalysis:\nThere is one napi structure per out_q: card-\u003eqdio.out_qs[i].napi\nThe napi.poll functions are set during qeth_open().\n\nSince\ncommit 1cfef80d4c2b (\"s390/qeth: Don\u0027t call dev_close/dev_open (DOWN/UP)\")\nqeth_set_offline()/qeth_set_online() no longer call dev_close()/\ndev_open(). So if qeth_free_qdio_queues() cleared\ncard-\u003eqdio.out_qs[i].napi.poll while the network interface was UP and the\ncard was offline, they are not set again.\n\nReproduction:\nchzdev -e $devno layer2\u003d0\nip link set dev $network_interface up\necho 0 \u003e /sys/bus/ccwgroup/devices/0.0.$devno/online\necho foo \u003e /sys/bus/ccwgroup/devices/0.0.$devno/hsuid\necho 1 \u003e /sys/bus/ccwgroup/devices/0.0.$devno/online\n-\u003e Crash (can be enforced e.g. by af_iucv connect(), ip link down/up, ...)\n\nNote that a Completion Queue (CQ) is only enabled or disabled, when hsuid\nis set for the first time or when it is removed.\n\nWorkarounds:\n- Set hsuid before setting the device online for the first time\nor\n- Use chzdev -d $devno; chzdev $devno hsuid\u003dxxx; chzdev -e $devno;\nto set hsuid on an existing device. (this will remove and recreate the\nnetwork interface)\n\nFix:\nThere is no need to free the output queues when a completion queue is\nadded or removed.\ncard-\u003eqdio.state now indicates whether the inbound buffer pool and the\noutbound queues are allocated.\ncard-\u003eqdio.c_q indicates whether a CQ is allocated.\n\nFixes: 1cfef80d4c2b (\"s390/qeth: Don\u0027t call dev_close/dev_open (DOWN/UP)\")\nSigned-off-by: Alexandra Winter \u003cwintera@linux.ibm.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240430091004.2265683-1-wintera@linux.ibm.com\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "f7789419137b18e3847d0cc41afd788c3c00663d",
      "tree": "91ad772c8602faf412c387ecada4100f6e88a66e",
      "parents": [
        "97bf6f81b29a8efaf5d0983251a7450e5794370d"
      ],
      "author": {
        "name": "Guillaume Nault",
        "email": "gnault@redhat.com",
        "time": "Tue Apr 30 18:50:13 2024 +0200"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 19:07:11 2024 -0700"
      },
      "message": "vxlan: Pull inner IP header in vxlan_rcv().\n\nEnsure the inner IP header is part of skb\u0027s linear data before reading\nits ECN bits. Otherwise we might read garbage.\nOne symptom is the system erroneously logging errors like\n\"vxlan: non-ECT from xxx.xxx.xxx.xxx with TOS\u003dxxxx\".\n\nSimilar bugs have been fixed in geneve, ip_tunnel and ip6_tunnel (see\ncommit 1ca1ba465e55 (\"geneve: make sure to pull inner header in\ngeneve_rx()\") for example). So let\u0027s reuse the same code structure for\nconsistency. Maybe we\u0027ll can add a common helper in the future.\n\nFixes: d342894c5d2f (\"vxlan: virtual extensible lan\")\nSigned-off-by: Guillaume Nault \u003cgnault@redhat.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReviewed-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nReviewed-by: Sabrina Dubroca \u003csd@queasysnail.net\u003e\nLink: https://lore.kernel.org/r/1239c8db54efec341dd6455c77e0380f58923a3c.1714495737.git.gnault@redhat.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "2506f6229bd0d067add26eea9e396929c903e226",
      "tree": "fc62a7d2446129388bcbe30ce400b809d20095ed",
      "parents": [
        "dcb3fba6fa34dd2f98bfcd1d20b26fab3842d1ee",
        "8a021a863a7dc9f4d3d00c5571b79e0961eeabc8"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 19:06:34 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 19:06:34 2024 -0700"
      },
      "message": "Merge branch \u0027net-dsa-adjust_link-removal\u0027\n\nFlorian Fainelli says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nnet: dsa: adjust_link removal\n\nNow that the last in-tree driver (b53) has been converted to PHYLINK, we\ncan get rid of all of code that catered to working with drivers\nimplementing only PHYLIB\u0027s adjust_link callback.\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/20240430164816.2400606-1-florian.fainelli@broadcom.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "8a021a863a7dc9f4d3d00c5571b79e0961eeabc8",
      "tree": "fc62a7d2446129388bcbe30ce400b809d20095ed",
      "parents": [
        "ad3e1287c6f354b4ecf77aa67810731ea192c3fb"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian.fainelli@broadcom.com",
        "time": "Tue Apr 30 09:48:16 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 19:06:32 2024 -0700"
      },
      "message": "net: dsa: Remove adjust_link paths\n\nNow that we no longer any drivers using PHYLIB\u0027s adjust_link callback,\nremove all paths that made use of adjust_link as well as the associated\nfunctions.\n\nSigned-off-by: Florian Fainelli \u003cflorian.fainelli@broadcom.com\u003e\nReviewed-by: Russell King (Oracle) \u003crmk+kernel@armlinux.org.uk\u003e\nLink: https://lore.kernel.org/r/20240430164816.2400606-3-florian.fainelli@broadcom.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "ad3e1287c6f354b4ecf77aa67810731ea192c3fb",
      "tree": "443bb86e854915a8f049c00688a42c796151b60f",
      "parents": [
        "dcb3fba6fa34dd2f98bfcd1d20b26fab3842d1ee"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian.fainelli@broadcom.com",
        "time": "Tue Apr 30 09:48:15 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 19:06:32 2024 -0700"
      },
      "message": "net: dsa: Remove fixed_link_update member\n\nWe have not had a switch driver use a fixed_link_update callback since\n58d56fcc3964f9be0a9ca42fd126bcd9dc7afc90 (\"net: dsa: bcm_sf2: Get rid of\nPHYLIB functions\") remove this callback.\n\nSigned-off-by: Florian Fainelli \u003cflorian.fainelli@broadcom.com\u003e\nReviewed-by: Russell King (Oracle) \u003crmk+kernel@armlinux.org.uk\u003e\nLink: https://lore.kernel.org/r/20240430164816.2400606-2-florian.fainelli@broadcom.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "97bf6f81b29a8efaf5d0983251a7450e5794370d",
      "tree": "f83f56213adc7886558f9dba0409f4990a9698aa",
      "parents": [
        "080cbb890286cd794f1ee788bbc5463e2deb7c2b"
      ],
      "author": {
        "name": "Xin Long",
        "email": "lucien.xin@gmail.com",
        "time": "Tue Apr 30 10:03:38 2024 -0400"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 18:39:44 2024 -0700"
      },
      "message": "tipc: fix a possible memleak in tipc_buf_append\n\n__skb_linearize() doesn\u0027t free the skb when it fails, so move\n\u0027*buf \u003d NULL\u0027 after __skb_linearize(), so that the skb can be\nfreed on the err path.\n\nFixes: b7df21cf1b79 (\"tipc: skb_linearize the head skb when reassembling msgs\")\nReported-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nSigned-off-by: Xin Long \u003clucien.xin@gmail.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nReviewed-by: Tung Nguyen \u003ctung.q.nguyen@dektech.com.au\u003e\nLink: https://lore.kernel.org/r/90710748c29a1521efac4f75ea01b3b7e61414cf.1714485818.git.lucien.xin@gmail.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "080cbb890286cd794f1ee788bbc5463e2deb7c2b",
      "tree": "82bef2a1251c7b6ccfe683b66dd3ce12c0eadab5",
      "parents": [
        "8953285d7bd63c12b007432a9b4587fa2fad49fb"
      ],
      "author": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Tue Apr 30 15:53:37 2024 +0200"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 18:39:29 2024 -0700"
      },
      "message": "tipc: fix UAF in error path\n\nSam Page (sam4k) working with Trend Micro Zero Day Initiative reported\na UAF in the tipc_buf_append() error path:\n\nBUG: KASAN: slab-use-after-free in kfree_skb_list_reason+0x47e/0x4c0\nlinux/net/core/skbuff.c:1183\nRead of size 8 at addr ffff88804d2a7c80 by task poc/8034\n\nCPU: 1 PID: 8034 Comm: poc Not tainted 6.8.2 #1\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS\n1.16.0-debian-1.16.0-5 04/01/2014\nCall Trace:\n \u003cIRQ\u003e\n __dump_stack linux/lib/dump_stack.c:88\n dump_stack_lvl+0xd9/0x1b0 linux/lib/dump_stack.c:106\n print_address_description linux/mm/kasan/report.c:377\n print_report+0xc4/0x620 linux/mm/kasan/report.c:488\n kasan_report+0xda/0x110 linux/mm/kasan/report.c:601\n kfree_skb_list_reason+0x47e/0x4c0 linux/net/core/skbuff.c:1183\n skb_release_data+0x5af/0x880 linux/net/core/skbuff.c:1026\n skb_release_all linux/net/core/skbuff.c:1094\n __kfree_skb linux/net/core/skbuff.c:1108\n kfree_skb_reason+0x12d/0x210 linux/net/core/skbuff.c:1144\n kfree_skb linux/./include/linux/skbuff.h:1244\n tipc_buf_append+0x425/0xb50 linux/net/tipc/msg.c:186\n tipc_link_input+0x224/0x7c0 linux/net/tipc/link.c:1324\n tipc_link_rcv+0x76e/0x2d70 linux/net/tipc/link.c:1824\n tipc_rcv+0x45f/0x10f0 linux/net/tipc/node.c:2159\n tipc_udp_recv+0x73b/0x8f0 linux/net/tipc/udp_media.c:390\n udp_queue_rcv_one_skb+0xad2/0x1850 linux/net/ipv4/udp.c:2108\n udp_queue_rcv_skb+0x131/0xb00 linux/net/ipv4/udp.c:2186\n udp_unicast_rcv_skb+0x165/0x3b0 linux/net/ipv4/udp.c:2346\n __udp4_lib_rcv+0x2594/0x3400 linux/net/ipv4/udp.c:2422\n ip_protocol_deliver_rcu+0x30c/0x4e0 linux/net/ipv4/ip_input.c:205\n ip_local_deliver_finish+0x2e4/0x520 linux/net/ipv4/ip_input.c:233\n NF_HOOK linux/./include/linux/netfilter.h:314\n NF_HOOK linux/./include/linux/netfilter.h:308\n ip_local_deliver+0x18e/0x1f0 linux/net/ipv4/ip_input.c:254\n dst_input linux/./include/net/dst.h:461\n ip_rcv_finish linux/net/ipv4/ip_input.c:449\n NF_HOOK linux/./include/linux/netfilter.h:314\n NF_HOOK linux/./include/linux/netfilter.h:308\n ip_rcv+0x2c5/0x5d0 linux/net/ipv4/ip_input.c:569\n __netif_receive_skb_one_core+0x199/0x1e0 linux/net/core/dev.c:5534\n __netif_receive_skb+0x1f/0x1c0 linux/net/core/dev.c:5648\n process_backlog+0x101/0x6b0 linux/net/core/dev.c:5976\n __napi_poll.constprop.0+0xba/0x550 linux/net/core/dev.c:6576\n napi_poll linux/net/core/dev.c:6645\n net_rx_action+0x95a/0xe90 linux/net/core/dev.c:6781\n __do_softirq+0x21f/0x8e7 linux/kernel/softirq.c:553\n do_softirq linux/kernel/softirq.c:454\n do_softirq+0xb2/0xf0 linux/kernel/softirq.c:441\n \u003c/IRQ\u003e\n \u003cTASK\u003e\n __local_bh_enable_ip+0x100/0x120 linux/kernel/softirq.c:381\n local_bh_enable linux/./include/linux/bottom_half.h:33\n rcu_read_unlock_bh linux/./include/linux/rcupdate.h:851\n __dev_queue_xmit+0x871/0x3ee0 linux/net/core/dev.c:4378\n dev_queue_xmit linux/./include/linux/netdevice.h:3169\n neigh_hh_output linux/./include/net/neighbour.h:526\n neigh_output linux/./include/net/neighbour.h:540\n ip_finish_output2+0x169f/0x2550 linux/net/ipv4/ip_output.c:235\n __ip_finish_output linux/net/ipv4/ip_output.c:313\n __ip_finish_output+0x49e/0x950 linux/net/ipv4/ip_output.c:295\n ip_finish_output+0x31/0x310 linux/net/ipv4/ip_output.c:323\n NF_HOOK_COND linux/./include/linux/netfilter.h:303\n ip_output+0x13b/0x2a0 linux/net/ipv4/ip_output.c:433\n dst_output linux/./include/net/dst.h:451\n ip_local_out linux/net/ipv4/ip_output.c:129\n ip_send_skb+0x3e5/0x560 linux/net/ipv4/ip_output.c:1492\n udp_send_skb+0x73f/0x1530 linux/net/ipv4/udp.c:963\n udp_sendmsg+0x1a36/0x2b40 linux/net/ipv4/udp.c:1250\n inet_sendmsg+0x105/0x140 linux/net/ipv4/af_inet.c:850\n sock_sendmsg_nosec linux/net/socket.c:730\n __sock_sendmsg linux/net/socket.c:745\n __sys_sendto+0x42c/0x4e0 linux/net/socket.c:2191\n __do_sys_sendto linux/net/socket.c:2203\n __se_sys_sendto linux/net/socket.c:2199\n __x64_sys_sendto+0xe0/0x1c0 linux/net/socket.c:2199\n do_syscall_x64 linux/arch/x86/entry/common.c:52\n do_syscall_64+0xd8/0x270 linux/arch/x86/entry/common.c:83\n entry_SYSCALL_64_after_hwframe+0x6f/0x77 linux/arch/x86/entry/entry_64.S:120\nRIP: 0033:0x7f3434974f29\nCode: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48\n89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 \u003c48\u003e 3d\n01 f0 ff ff 73 01 c3 48 8b 0d 37 8f 0d 00 f7 d8 64 89 01 48\nRSP: 002b:00007fff9154f2b8 EFLAGS: 00000212 ORIG_RAX: 000000000000002c\nRAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f3434974f29\nRDX: 00000000000032c8 RSI: 00007fff9154f300 RDI: 0000000000000003\nRBP: 00007fff915532e0 R08: 00007fff91553360 R09: 0000000000000010\nR10: 0000000000000000 R11: 0000000000000212 R12: 000055ed86d261d0\nR13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000\n \u003c/TASK\u003e\n\nIn the critical scenario, either the relevant skb is freed or its\nownership is transferred into a frag_lists. In both cases, the cleanup\ncode must not free it again: we need to clear the skb reference earlier.\n\nFixes: 1149557d64c9 (\"tipc: eliminate unnecessary linearization of incoming buffers\")\nCc: stable@vger.kernel.org\nReported-by: zdi-disclosures@trendmicro.com # ZDI-CAN-23852\nAcked-by: Xin Long \u003clucien.xin@gmail.com\u003e\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nLink: https://lore.kernel.org/r/752f1ccf762223d109845365d07f55414058e5a3.1714484273.git.pabeni@redhat.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "dcb3fba6fa34dd2f98bfcd1d20b26fab3842d1ee",
      "tree": "4d1425f7b6dcd1d308d7fb9d1f694e2f37fb0322",
      "parents": [
        "5165c48ef1afbb3e0126b36be84ffaa6f05cb6f0"
      ],
      "author": {
        "name": "MD Danish Anwar",
        "email": "danishanwar@ti.com",
        "time": "Tue Apr 30 17:36:34 2024 +0530"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 18:38:47 2024 -0700"
      },
      "message": "net: ti: icssg_prueth: Add SW TX / RX Coalescing based on hrtimers\n\nAdd SW IRQ coalescing based on hrtimers for RX and TX data path for ICSSG\ndriver, which can be enabled by ethtool commands:\n\n- RX coalescing\n  ethtool -C eth1 rx-usecs 50\n\n- TX coalescing can be enabled per TX queue\n\n  - by default enables coalescing for TX0\n  ethtool -C eth1 tx-usecs 50\n  - configure TX0\n  ethtool -Q eth0 queue_mask 1 --coalesce tx-usecs 100\n  - configure TX1\n  ethtool -Q eth0 queue_mask 2 --coalesce tx-usecs 100\n  - configure TX0 and TX1\n  ethtool -Q eth0 queue_mask 3 --coalesce tx-usecs 100 --coalesce\ntx-usecs 100\n\nMinimum value for both rx-usecs and tx-usecs is 20us.\n\nCompared to gro_flush_timeout and napi_defer_hard_irqs this patch allows\nto enable IRQ coalescing for RX path separately.\n\nBenchmarking numbers:\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n| Method                  | Tput_TX | CPU_TX | Tput_RX | CPU_RX |\n| \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n| Default Driver           943 Mbps    31%      517 Mbps  38%   |\n| IRQ Coalescing (Patch)   943 Mbps    28%      518 Mbps  25%   |\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: MD Danish Anwar \u003cdanishanwar@ti.com\u003e\nReviewed-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240430120634.1558998-1-danishanwar@ti.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "5165c48ef1afbb3e0126b36be84ffaa6f05cb6f0",
      "tree": "54e09e532fed923864889afc954475987af31738",
      "parents": [
        "496bc5861c73f34e0486612f93634a9289de0dfb",
        "bf4ea58874df3d43f7264709cec7fe320616552c"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 18:37:17 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 18:37:17 2024 -0700"
      },
      "message": "Merge branch \u0027arp-random-clean-up-and-rcu-conversion-for-ioctl-siocgarp\u0027\n\nKuniyuki Iwashima says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\narp: Random clean up and RCU conversion for ioctl(SIOCGARP).\n\narp_ioctl() holds rtnl_lock() regardless of cmd (SIOCDARP, SIOCSARP,\nand SIOCGARP) to get net_device by __dev_get_by_name() and copy\ndev-\u003ename safely.\n\nIn the SIOCGARP path, arp_req_get() calls neigh_lookup(), which looks\nup a neighbour entry under RCU.\n\nThis series cleans up ioctl() code a bit and extends the RCU section\nnot to take rtnl_lock() and instead use dev_get_by_name_rcu() and\nnetdev_copy_name() for SIOCGARP.\n\nv2: https://lore.kernel.org/netdev/20240425170002.68160-1-kuniyu@amazon.com/\nv1: https://lore.kernel.org/netdev/20240422194755.4221-1-kuniyu@amazon.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/20240430015813.71143-1-kuniyu@amazon.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "bf4ea58874df3d43f7264709cec7fe320616552c",
      "tree": "54e09e532fed923864889afc954475987af31738",
      "parents": [
        "0840556e5a3a331b6932ef17dd4bc94445df3297"
      ],
      "author": {
        "name": "Kuniyuki Iwashima",
        "email": "kuniyu@amazon.com",
        "time": "Mon Apr 29 18:58:13 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 18:37:07 2024 -0700"
      },
      "message": "arp: Convert ioctl(SIOCGARP) to RCU.\n\nioctl(SIOCGARP) holds rtnl_lock() to get netdev by __dev_get_by_name()\nand copy dev-\u003ename safely and calls neigh_lookup() later, which looks\nup a neighbour entry under RCU.\n\nLet\u0027s replace __dev_get_by_name() with dev_get_by_name_rcu() and strscpy()\nwith netdev_copy_name() to avoid locking rtnl_lock().\n\nSigned-off-by: Kuniyuki Iwashima \u003ckuniyu@amazon.com\u003e\nLink: https://lore.kernel.org/r/20240430015813.71143-8-kuniyu@amazon.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "0840556e5a3a331b6932ef17dd4bc94445df3297",
      "tree": "cb33bf3e2a686696f6db4ce268fe77c5f3c9836c",
      "parents": [
        "a428bfc77a4dd4ba19b7646e887fa655fcfee5a0"
      ],
      "author": {
        "name": "Kuniyuki Iwashima",
        "email": "kuniyu@amazon.com",
        "time": "Mon Apr 29 18:58:12 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 18:37:07 2024 -0700"
      },
      "message": "net: Protect dev-\u003ename by seqlock.\n\nWe will convert ioctl(SIOCGARP) to RCU, and then we need to copy\ndev-\u003ename which is currently protected by rtnl_lock().\n\nThis patch does the following:\n\n  1) Add seqlock netdev_rename_lock to protect dev-\u003ename\n\n  2) Add netdev_copy_name() that copies dev-\u003ename to buffer\n     under netdev_rename_lock\n\n  3) Use netdev_copy_name() in netdev_get_name() and drop\n     devnet_rename_sem\n\nSuggested-by: Eric Dumazet \u003cedumazet@google.com\u003e\nLink: https://lore.kernel.org/netdev/CANn89iJEWs7AYSJqGCUABeVqOCTkErponfZdT5kV-iD\u003d-SajnQ@mail.gmail.com/\nSigned-off-by: Kuniyuki Iwashima \u003ckuniyu@amazon.com\u003e\nLink: https://lore.kernel.org/r/20240430015813.71143-7-kuniyu@amazon.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "a428bfc77a4dd4ba19b7646e887fa655fcfee5a0",
      "tree": "13874acf4864cc6ca1562982870427cd204af3e4",
      "parents": [
        "51e9ba48d48786da89d2695be9a1cab40b2afc31"
      ],
      "author": {
        "name": "Kuniyuki Iwashima",
        "email": "kuniyu@amazon.com",
        "time": "Mon Apr 29 18:58:11 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 18:37:07 2024 -0700"
      },
      "message": "arp: Get dev after calling arp_req_(delete|set|get)().\n\narp_ioctl() holds rtnl_lock() first regardless of cmd (SIOCDARP,\nSIOCSARP, and SIOCGARP) to get net_device by __dev_get_by_name()\nand copy dev-\u003ename safely.\n\nIn the SIOCGARP path, arp_req_get() calls neigh_lookup(), which\nlooks up a neighbour entry under RCU.\n\nWe will extend the RCU section not to take rtnl_lock() and instead\nuse dev_get_by_name_rcu() for SIOCGARP.\n\nAs a preparation, let\u0027s move __dev_get_by_name() into another\nfunction and call it from arp_req_delete(), arp_req_set(), and\narp_req_get().\n\nSigned-off-by: Kuniyuki Iwashima \u003ckuniyu@amazon.com\u003e\nLink: https://lore.kernel.org/r/20240430015813.71143-6-kuniyu@amazon.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "51e9ba48d48786da89d2695be9a1cab40b2afc31",
      "tree": "71614adde53ec91113abc94f9782c12c85dc06b6",
      "parents": [
        "f8696133f6aa4e6a83c9fb2d9dddc6d194a2ba1f"
      ],
      "author": {
        "name": "Kuniyuki Iwashima",
        "email": "kuniyu@amazon.com",
        "time": "Mon Apr 29 18:58:10 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 18:37:07 2024 -0700"
      },
      "message": "arp: Remove a nest in arp_req_get().\n\nThis is a prep patch to make the following changes tidy.\n\nNo functional change intended.\n\nSigned-off-by: Kuniyuki Iwashima \u003ckuniyu@amazon.com\u003e\nLink: https://lore.kernel.org/r/20240430015813.71143-5-kuniyu@amazon.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "f8696133f6aa4e6a83c9fb2d9dddc6d194a2ba1f",
      "tree": "7fcad940c940b8206a13e1bc1966eb0e682775b9",
      "parents": [
        "0592367424bbbdef506ef1450f5b8beec148f8a4"
      ],
      "author": {
        "name": "Kuniyuki Iwashima",
        "email": "kuniyu@amazon.com",
        "time": "Mon Apr 29 18:58:09 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 18:37:06 2024 -0700"
      },
      "message": "arp: Factorise ip_route_output() call in arp_req_set() and arp_req_delete().\n\nWhen ioctl(SIOCDARP/SIOCSARP) is issued for non-proxy entry (no ATF_COM)\nwithout arpreq.arp_dev[] set, arp_req_set() and arp_req_delete() looks up\ndev based on IPv4 address by ip_route_output().\n\nLet\u0027s factorise the same code as arp_req_dev().\n\nSigned-off-by: Kuniyuki Iwashima \u003ckuniyu@amazon.com\u003e\nLink: https://lore.kernel.org/r/20240430015813.71143-4-kuniyu@amazon.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "0592367424bbbdef506ef1450f5b8beec148f8a4",
      "tree": "5de93458ff802e85bcdbddcef58c5547d27a9ff4",
      "parents": [
        "42033d0cfc8606adc9cb7e18d4c73d2e9a6289e5"
      ],
      "author": {
        "name": "Kuniyuki Iwashima",
        "email": "kuniyu@amazon.com",
        "time": "Mon Apr 29 18:58:08 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 18:37:06 2024 -0700"
      },
      "message": "arp: Validate netmask earlier for SIOCDARP and SIOCSARP in arp_ioctl().\n\nWhen ioctl(SIOCDARP/SIOCSARP) is issued with ATF_PUBL, r.arp_netmask\nmust be 0.0.0.0 or 255.255.255.255.\n\nCurrently, the netmask is validated in arp_req_delete_public() or\narp_req_set_public() under rtnl_lock().\n\nWe have ATF_NETMASK test in arp_ioctl() before holding rtnl_lock(),\nso let\u0027s move the netmask validation there.\n\nSigned-off-by: Kuniyuki Iwashima \u003ckuniyu@amazon.com\u003e\nLink: https://lore.kernel.org/r/20240430015813.71143-3-kuniyu@amazon.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "42033d0cfc8606adc9cb7e18d4c73d2e9a6289e5",
      "tree": "a3022d7bebb6c3d1d2585222ffb3097d01ecdbcc",
      "parents": [
        "496bc5861c73f34e0486612f93634a9289de0dfb"
      ],
      "author": {
        "name": "Kuniyuki Iwashima",
        "email": "kuniyu@amazon.com",
        "time": "Mon Apr 29 18:58:07 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 18:37:06 2024 -0700"
      },
      "message": "arp: Move ATF_COM setting in arp_req_set().\n\nIn arp_req_set(), if ATF_PERM is set in arpreq.arp_flags,\nATF_COM is set automatically.\n\nThe flag will be used later for neigh_update() only when\na neighbour entry is found.\n\nLet\u0027s set ATF_COM just before calling neigh_update().\n\nSigned-off-by: Kuniyuki Iwashima \u003ckuniyu@amazon.com\u003e\nLink: https://lore.kernel.org/r/20240430015813.71143-2-kuniyu@amazon.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "496bc5861c73f34e0486612f93634a9289de0dfb",
      "tree": "bdd3e453995f191f13ba27afd1c13150790d643f",
      "parents": [
        "fff6e6accdb71e5dd36e50478bd82d5409ac32d2"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Tue Apr 30 16:58:07 2024 +0200"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 14:56:19 2024 -0700"
      },
      "message": "selftests: netfilter: nft_concat_range.sh: reduce debug kernel run time\n\nEven a 1h timeout isn\u0027t enough for nft_concat_range.sh to complete on\ndebug kernels.\n\nReduce test complexity and only match on single entry if\nKSFT_MACHINE_SLOW is set.\n\nTo spot \u0027slow\u0027 tests, print the subtest duration (in seconds) in\naddition to the status.\n\nAdd new nft_concat_range_perf.sh script, not executed via kselftest,\nto run the performance (pps match rate) tests.\n\nThose need about 25m to complete which seems too much to run this\nvia \u0027make run_tests\u0027.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nLink: https://lore.kernel.org/r/20240430145810.23447-1-fw@strlen.de\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "8953285d7bd63c12b007432a9b4587fa2fad49fb",
      "tree": "f872de11c157ce1c2ca4cee062ee2f1e12895e86",
      "parents": [
        "d091e579b864fa790dd6a0cd537a22c383126681"
      ],
      "author": {
        "name": "Jeffrey Altman",
        "email": "jaltman@auristor.com",
        "time": "Fri Apr 19 13:30:57 2024 -0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed May 01 14:49:56 2024 -0700"
      },
      "message": "rxrpc: Clients must accept conn from any address\n\nThe find connection logic of Transarc\u0027s Rx was modified in the mid-1990s\nto support multi-homed servers which might send a response packet from\nan address other than the destination address in the received packet.\nThe rules for accepting a packet by an Rx initiator (RX_CLIENT_CONNECTION)\nwere altered to permit acceptance of a packet from any address provided\nthat the port number was unchanged and all of the connection identifiers\nmatched (Epoch, CID, SecurityClass, ...).\n\nThis change applies the same rules to the Linux implementation which makes\nit consistent with IBM AFS 3.6, Arla, OpenAFS and AuriStorFS.\n\nFixes: 17926a79320a (\"[AF_RXRPC]: Provide secure RxRPC sockets for use by userspace and kernel both\")\nSigned-off-by: Jeffrey Altman \u003cjaltman@auristor.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Marc Dionne \u003cmarc.dionne@auristor.com\u003e\nLink: https://lore.kernel.org/r/20240419163057.4141728-1-marc.dionne@auristor.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "0106679839f7c69632b3b9833c3268c316c0a9fc",
      "tree": "b79d84160bec478755e0e143aef5c49441e3856e",
      "parents": [
        "18daea77cca626f590fb140fc11e3a43c5d41354",
        "ff33132605c1a0acea59e4c523cb7c6fabe856b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 01 08:58:56 2024 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 01 08:58:56 2024 -0700"
      },
      "message": "Merge tag \u0027regulator-fix-v6.9-rc6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator\n\nPull regulator fixes from Mark Brown:\n \"There\u0027s a few simple driver specific fixes here, plus some core\n  cleanups from Matti which fix issues found with client drivers due to\n  the API being confusing.\n\n  The two fixes for the stubs provide more constructive behaviour with\n  !REGULATOR configurations, issues were noticed with some hwmon drivers\n  which would otherwise have needed confusing bodges in the users.\n\n  The irq_helpers fix to duplicate the provided name for the interrupt\n  controller was found because a driver got this wrong and it\u0027s again a\n  case where the core is the sensible place to put the fix\"\n\n* tag \u0027regulator-fix-v6.9-rc6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:\n  regulator: change devm_regulator_get_enable_optional() stub to return Ok\n  regulator: change stubbed devm_regulator_get_enable to return Ok\n  regulator: vqmmc-ipq4019: fix module autoloading\n  regulator: qcom-refgen: fix module autoloading\n  regulator: mt6360: De-capitalize devicetree regulator subnodes\n  regulator: irq_helpers: duplicate IRQ name\n"
    },
    {
      "commit": "fff6e6accdb71e5dd36e50478bd82d5409ac32d2",
      "tree": "79f8f803359453261092669cf98dcbd45f8c062d",
      "parents": [
        "c2e6a872bde9912f1a7579639c5ca3adf1003916"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon Apr 29 18:36:43 2024 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 01 11:46:21 2024 +0100"
      },
      "message": "ipv6: anycast: use call_rcu_hurry() in aca_put()\n\nThis is a followup of commit b5327b9a300e (\"ipv6: use\ncall_rcu_hurry() in fib6_info_release()\").\n\nI had another pmtu.sh failure, and found another lazy\ncall_rcu() causing this failure.\n\naca_free_rcu() calls fib6_info_release() which releases\ndevices references.\n\nWe must not delay it too much or risk unregister_netdevice/ref_tracker\ntraces because references to netdev are not released in time.\n\nThis should speedup device/netns dismantles when CONFIG_RCU_LAZY\u003dy\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReviewed-by: David Ahern \u003cdsahern@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d091e579b864fa790dd6a0cd537a22c383126681",
      "tree": "c0b529ea246bfbd21ecb54334a23d8263e4a25c4",
      "parents": [
        "59c878cbcdd80ed39315573b3511d0acfd3501b5"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@nbd.name",
        "time": "Sat Apr 27 20:24:19 2024 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 01 11:44:10 2024 +0100"
      },
      "message": "net: core: reject skb_copy(_expand) for fraglist GSO skbs\n\nSKB_GSO_FRAGLIST skbs must not be linearized, otherwise they become\ninvalid. Return NULL if such an skb is passed to skb_copy or\nskb_copy_expand, in order to prevent a crash on a potential later\ncall to skb_gso_segment.\n\nFixes: 3a1296a38d0c (\"net: Support GRO/GSO fraglist chaining.\")\nSigned-off-by: Felix Fietkau \u003cnbd@nbd.name\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59c878cbcdd80ed39315573b3511d0acfd3501b5",
      "tree": "5e0cc5776e95e0c9fb4191f405968e00b5010f22",
      "parents": [
        "fb7a0d334894206ae35f023a82cad5a290fd7386"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@nbd.name",
        "time": "Sat Apr 27 20:24:18 2024 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 01 11:44:10 2024 +0100"
      },
      "message": "net: bridge: fix multicast-to-unicast with fraglist GSO\n\nCalling skb_copy on a SKB_GSO_FRAGLIST skb is not valid, since it returns\nan invalid linearized skb. This code only needs to change the ethernet\nheader, so pskb_copy is the right function to call here.\n\nFixes: 6db6f0eae605 (\"bridge: multicast to unicast\")\nSigned-off-by: Felix Fietkau \u003cnbd@nbd.name\u003e\nAcked-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2e6a872bde9912f1a7579639c5ca3adf1003916",
      "tree": "8a9db18eb02e5ae6dbed4d046401fa832985130c",
      "parents": [
        "3b5933e99c32fbf46d0c5f2232473ef87d919e16"
      ],
      "author": {
        "name": "Breno Leitao",
        "email": "leitao@debian.org",
        "time": "Mon Apr 29 03:04:33 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Apr 30 19:03:47 2024 -0700"
      },
      "message": "netpoll: Fix race condition in netpoll_owner_active\n\nKCSAN detected a race condition in netpoll:\n\n\tBUG: KCSAN: data-race in net_rx_action / netpoll_send_skb\n\twrite (marked) to 0xffff8881164168b0 of 4 bytes by interrupt on cpu 10:\n\tnet_rx_action (./include/linux/netpoll.h:90 net/core/dev.c:6712 net/core/dev.c:6822)\n\u003csnip\u003e\n\tread to 0xffff8881164168b0 of 4 bytes by task 1 on cpu 2:\n\tnetpoll_send_skb (net/core/netpoll.c:319 net/core/netpoll.c:345 net/core/netpoll.c:393)\n\tnetpoll_send_udp (net/core/netpoll.c:?)\n\u003csnip\u003e\n\tvalue changed: 0x0000000a -\u003e 0xffffffff\n\nThis happens because netpoll_owner_active() needs to check if the\ncurrent CPU is the owner of the lock, touching napi-\u003epoll_owner\nnon atomically. The -\u003epoll_owner field contains the current CPU holding\nthe lock.\n\nUse an atomic read to check if the poll owner is the current CPU.\n\nSigned-off-by: Breno Leitao \u003cleitao@debian.org\u003e\nLink: https://lore.kernel.org/r/20240429100437.3487432-1-leitao@debian.org\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "3b5933e99c32fbf46d0c5f2232473ef87d919e16",
      "tree": "2a004b3002c50c14f42fdfcd13dcdef96967a1a6",
      "parents": [
        "035ec292573b2e0e6d04a3b97643c5b107852940"
      ],
      "author": {
        "name": "Breno Leitao",
        "email": "leitao@debian.org",
        "time": "Mon Apr 29 01:55:58 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Apr 30 19:01:58 2024 -0700"
      },
      "message": "net: loopback: Do not allocate lstats explicitly\n\nWith commit 34d21de99cea9 (\"net: Move {l,t,d}stats allocation to core and\nconvert veth \u0026 vrf\"), stats allocation could be done on net core\ninstead of in this driver.\n\nWith this new approach, the driver doesn\u0027t have to bother with error\nhandling (allocation failure checking, making sure free happens in the\nright spot, etc). This is core responsibility now.\n\nRemove the allocation in the loopback driver and leverage the network\ncore allocation instead.\n\nSigned-off-by: Breno Leitao \u003cleitao@debian.org\u003e\nReviewed-by: Sabrina Dubroca \u003csd@queasysnail.net\u003e\nLink: https://lore.kernel.org/r/20240429085559.2841918-1-leitao@debian.org\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "035ec292573b2e0e6d04a3b97643c5b107852940",
      "tree": "e29d1d20f703f413abcf0844d226ed004e68477c",
      "parents": [
        "e7b1b0786f5c1c74e60b1d66d2ffb325f8ba9ed6",
        "a2af49293db6dbdfb5313029bdd47d002abc971e"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Apr 30 18:56:20 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Apr 30 18:56:20 2024 -0700"
      },
      "message": "Merge branch \u0027dt-bindings-net-snps-dwmac-remove-tx-sched-sp-property\u0027\n\nFlavio Suligoi says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\ndt-bindings: net: snps, dwmac: remove tx-sched-sp property\n\nStrict priority for the tx scheduler is by default in Linux driver, so the\ntx-sched-sp property was removed in commit aed6864035b1 (\"net: stmmac:\nplatform: Delete a redundant condition branch\").\n\nThis property is still in use in the following DT (and it will be removed\nin a separate patch series):\n\n- arch/arm64/boot/dts/freescale/imx8mp-beacon-som.dtsi\n- arch/arm64/boot/dts/freescale/imx8mp-evk.dts\n- arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi\n- arch/arm64/boot/dts/qcom/sa8540p-ride.dts\n- arch/arm64/boot/dts/qcom/sa8775p-ride.dts\n\nThere is no problem if that property is still used in the DTs above,\nsince, as seen above, it is a default property of the driver.\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/20240429092654.31390-1-f.suligoi@asem.it\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "a2af49293db6dbdfb5313029bdd47d002abc971e",
      "tree": "e29d1d20f703f413abcf0844d226ed004e68477c",
      "parents": [
        "e7b1b0786f5c1c74e60b1d66d2ffb325f8ba9ed6"
      ],
      "author": {
        "name": "Flavio Suligoi",
        "email": "f.suligoi@asem.it",
        "time": "Mon Apr 29 11:26:54 2024 +0200"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Apr 30 18:56:17 2024 -0700"
      },
      "message": "dt-bindings: net: snps, dwmac: remove tx-sched-sp property\n\nStrict priority for the tx scheduler is by default in Linux driver, so the\ntx-sched-sp property was removed in commit aed6864035b1 (\"net: stmmac:\nplatform: Delete a redundant condition branch\").\n\nThis property is still in use in the following DT (and it will be removed\nin a separate patch series):\n\n- arch/arm64/boot/dts/freescale/imx8mp-beacon-som.dtsi\n- arch/arm64/boot/dts/freescale/imx8mp-evk.dts\n- arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi\n- arch/arm64/boot/dts/qcom/sa8540p-ride.dts\n- arch/arm64/boot/dts/qcom/sa8775p-ride.dts\n\nThere is no problem if that property is still used in the DTs above,\nsince, as seen above, it is a default property of the driver.\n\nSigned-off-by: Flavio Suligoi \u003cf.suligoi@asem.it\u003e\nAcked-by: Krzysztof Kozlowski \u003ckrzk@kernel.org\u003e\nAcked-by: Adam Ford \u003caford173@gmail.com\u003e\nLink: https://lore.kernel.org/r/20240429092654.31390-2-f.suligoi@asem.it\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "fb7a0d334894206ae35f023a82cad5a290fd7386",
      "tree": "4db01babe9584754bd1c988b1e74a3236f01e538",
      "parents": [
        "387f295cb2150ed164905b648d76dfcbd3621778"
      ],
      "author": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Mon Apr 29 20:00:31 2024 +0200"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Apr 30 18:48:28 2024 -0700"
      },
      "message": "mptcp: ensure snd_nxt is properly initialized on connect\n\nChristoph reported a splat hinting at a corrupted snd_una:\n\n  WARNING: CPU: 1 PID: 38 at net/mptcp/protocol.c:1005 __mptcp_clean_una+0x4b3/0x620 net/mptcp/protocol.c:1005\n  Modules linked in:\n  CPU: 1 PID: 38 Comm: kworker/1:1 Not tainted 6.9.0-rc1-gbbeac67456c9 #59\n  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.0-2.el7 04/01/2014\n  Workqueue: events mptcp_worker\n  RIP: 0010:__mptcp_clean_una+0x4b3/0x620 net/mptcp/protocol.c:1005\n  Code: be 06 01 00 00 bf 06 01 00 00 e8 a8 12 e7 fe e9 00 fe ff ff e8\n  \t8e 1a e7 fe 0f b7 ab 3e 02 00 00 e9 d3 fd ff ff e8 7d 1a e7 fe\n  \t\u003c0f\u003e 0b 4c 8b bb e0 05 00 00 e9 74 fc ff ff e8 6a 1a e7 fe 0f 0b e9\n  RSP: 0018:ffffc9000013fd48 EFLAGS: 00010293\n  RAX: 0000000000000000 RBX: ffff8881029bd280 RCX: ffffffff82382fe4\n  RDX: ffff8881003cbd00 RSI: ffffffff823833c3 RDI: 0000000000000001\n  RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000\n  R10: 0000000000000000 R11: fefefefefefefeff R12: ffff888138ba8000\n  R13: 0000000000000106 R14: ffff8881029bd908 R15: ffff888126560000\n  FS:  0000000000000000(0000) GS:ffff88813bd00000(0000) knlGS:0000000000000000\n  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n  CR2: 00007f604a5dae38 CR3: 0000000101dac002 CR4: 0000000000170ef0\n  Call Trace:\n   \u003cTASK\u003e\n   __mptcp_clean_una_wakeup net/mptcp/protocol.c:1055 [inline]\n   mptcp_clean_una_wakeup net/mptcp/protocol.c:1062 [inline]\n   __mptcp_retrans+0x7f/0x7e0 net/mptcp/protocol.c:2615\n   mptcp_worker+0x434/0x740 net/mptcp/protocol.c:2767\n   process_one_work+0x1e0/0x560 kernel/workqueue.c:3254\n   process_scheduled_works kernel/workqueue.c:3335 [inline]\n   worker_thread+0x3c7/0x640 kernel/workqueue.c:3416\n   kthread+0x121/0x170 kernel/kthread.c:388\n   ret_from_fork+0x44/0x50 arch/x86/kernel/process.c:147\n   ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243\n   \u003c/TASK\u003e\n\nWhen fallback to TCP happens early on a client socket, snd_nxt\nis not yet initialized and any incoming ack will copy such value\ninto snd_una. If the mptcp worker (dumbly) tries mptcp-level\nre-injection after such ack, that would unconditionally trigger a send\nbuffer cleanup using \u0027bad\u0027 snd_una values.\n\nWe could easily disable re-injection for fallback sockets, but such\ndumb behavior already helped catching a few subtle issues and a very\nlow to zero impact in practice.\n\nInstead address the issue always initializing snd_nxt (and write_seq,\nfor consistency) at connect time.\n\nFixes: 8fd738049ac3 (\"mptcp: fallback in case of simultaneous connect\")\nCc: stable@vger.kernel.org\nReported-by: Christoph Paasch \u003ccpaasch@apple.com\u003e\nCloses: https://github.com/multipath-tcp/mptcp_net-next/issues/485\nTested-by: Christoph Paasch \u003ccpaasch@apple.com\u003e\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nReviewed-by: Mat Martineau \u003cmartineau@kernel.org\u003e\nSigned-off-by: Matthieu Baerts (NGI0) \u003cmatttbe@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240429-upstream-net-20240429-mptcp-snd_nxt-init-connect-v1-1-59ceac0a7dcb@kernel.org\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "e7b1b0786f5c1c74e60b1d66d2ffb325f8ba9ed6",
      "tree": "6cc12ade57310fb99b3a64b72516bee33488c1b3",
      "parents": [
        "05d6d492097c55f2d153fc3fd33cbe78e1e28e0a",
        "c204fef97ee62ca3310f43d12bbda4eb10266c7c"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Apr 30 18:46:54 2024 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Apr 30 18:46:55 2024 -0700"
      },
      "message": "Merge branch \u0027net-three-additions-to-net_hotdata\u0027\n\nEric Dumazet says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nnet: three additions to net_hotdata\n\nThis series moves three fast path sysctls to net_hotdata.\n\nTo avoid \u003cnet/hotdata.h\u003e inclusion from \u003cnet/sock.h\u003e,\ncreate \u003cnet/proto_memory.h\u003e to hold proto memory definitions.\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/20240429134025.1233626-1-edumazet@google.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "c204fef97ee62ca3310f43d12bbda4eb10266c7c",
      "tree": "6cc12ade57310fb99b3a64b72516bee33488c1b3",
      "parents": [
        "f3d93817fba30a8d3508fa990405039c0820dca3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon Apr 29 13:40:25 2024 +0000"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Apr 30 18:46:52 2024 -0700"
      },
      "message": "net: move sysctl_mem_pcpu_rsv to net_hotdata\n\nsysctl_mem_pcpu_rsv is used in TCP fast path,\nmove it to net_hodata for better cache locality.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReviewed-by: David Ahern \u003cdsahern@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240429134025.1233626-6-edumazet@google.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "f3d93817fba30a8d3508fa990405039c0820dca3",
      "tree": "7d579ae7e5402413d7c5c305d624b5526af94fa6",
      "parents": [
        "dda4d96acb20c02920f6d9a20fdc3f4846192aeb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon Apr 29 13:40:24 2024 +0000"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Apr 30 18:46:52 2024 -0700"
      },
      "message": "net: add \u003cnet/proto_memory.h\u003e\n\nMove some proto memory definitions out of \u003cnet/sock.h\u003e\n\nVery few files need them, and following patch\nwill include \u003cnet/hotdata.h\u003e from \u003cnet/proto_memory.h\u003e\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReviewed-by: David Ahern \u003cdsahern@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240429134025.1233626-5-edumazet@google.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "dda4d96acb20c02920f6d9a20fdc3f4846192aeb",
      "tree": "3a6f55ab6c96593a9a625a9d466c88f592123bba",
      "parents": [
        "d480dc76d9f8a72671a6f9a7d987d2389c2e2ee4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon Apr 29 13:40:23 2024 +0000"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Apr 30 18:46:52 2024 -0700"
      },
      "message": "tcp: move tcp_out_of_memory() to net/ipv4/tcp.c\n\ntcp_out_of_memory() has a single caller: tcp_check_oom().\n\nFollowing patch will also make sk_memory_allocated()\nnot anymore visible from \u003cnet/sock.h\u003e and \u003cnet/tcp.h\u003e\n\nAdd const qualifier to sock argument of tcp_out_of_memory()\nand tcp_check_oom().\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReviewed-by: David Ahern \u003cdsahern@kernel.org\u003e\nLink: https://lore.kernel.org/r/20240429134025.1233626-4-edumazet@google.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    }
  ],
  "next": "d480dc76d9f8a72671a6f9a7d987d2389c2e2ee4"
}
