)]}'
{
  "log": [
    {
      "commit": "820a38d8f2cb3a749ffb7bbde206acec9a387411",
      "tree": "c6fce60e216996f6cd0586cb86da9de045850b1a",
      "parents": [
        "e9bbd6016947c40728558b7b921c1e77e6193e8b",
        "2f2beb8874cb0844e84ad26e990f05f4f13ff63f"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 17 14:35:34 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 17 14:35:34 2023 -0700"
      },
      "message": "Merge branch \u002740GbE\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-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\nIntel Wired LAN Driver Updates 2023-08-16 (iavf, i40e)\n\nThis series contains updates to iavf and i40e drivers.\n\nPiotr adds checks for unsupported Flow Director rules on iavf.\n\nAndrii replaces incorrect \u0027write\u0027 messaging on read operations for i40e.\n\n* \u002740GbE\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue:\n  i40e: fix misleading debug logs\n  iavf: fix FDIR rule fields masks validation\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/20230816193308.1307535-1-anthony.l.nguyen@intel.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "e9bbd6016947c40728558b7b921c1e77e6193e8b",
      "tree": "785687fde23b389c391fcc7100b091706b124513",
      "parents": [
        "43d00e102d9ecbe2635d7e3f2e14d2e90183d6af",
        "0fd23db0cc74cf6d28d26ce5e7802e982608d830"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 17 11:56:44 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 17 11:56:44 2023 -0700"
      },
      "message": "Merge tag \u0027mlx5-fixes-2023-08-16\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux\n\nSaeed Mahameed says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nmlx5 fixes 2023-08-16\n\nThis series provides bug fixes to mlx5 driver.\n\n* tag \u0027mlx5-fixes-2023-08-16\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux:\n  net/mlx5: Fix mlx5_cmd_update_root_ft() error flow\n  net/mlx5e: XDP, Fix fifo overrun on XDP_REDIRECT\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/20230816204108.53819-1-saeed@kernel.org\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "43d00e102d9ecbe2635d7e3f2e14d2e90183d6af",
      "tree": "bc2d66283bd5a93ef30dace98b964970894f5449",
      "parents": [
        "2eb9625a3a32251ecea470cd576659a3a03b4e59"
      ],
      "author": {
        "name": "Marcin Szycik",
        "email": "marcin.szycik@linux.intel.com",
        "time": "Wed Aug 16 12:34:05 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 17 11:55:40 2023 -0700"
      },
      "message": "ice: Block switchdev mode when ADQ is active and vice versa\n\nADQ and switchdev are not supported simultaneously. Enabling both at the\nsame time can result in nullptr dereference.\n\nTo prevent this, check if ADQ is active when changing devlink mode to\nswitchdev mode, and check if switchdev is active when enabling ADQ.\n\nFixes: fbc7b27af0f9 (\"ice: enable ndo_setup_tc support for mqprio_qdisc\")\nSigned-off-by: Marcin Szycik \u003cmarcin.szycik@linux.intel.com\u003e\nReviewed-by: Przemek Kitszel \u003cprzemyslaw.kitszel@intel.com\u003e\nTested-by: Sujai Buvaneswaran \u003csujai.buvaneswaran@intel.com\u003e\nSigned-off-by: Tony Nguyen \u003canthony.l.nguyen@intel.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20230816193405.1307580-1-anthony.l.nguyen@intel.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "2eb9625a3a32251ecea470cd576659a3a03b4e59",
      "tree": "a23fa32d91e5423a590c6179beadcb3d251c8cda",
      "parents": [
        "b616be6b97688f2f2bd7c4a47ab32f27f94fb2a9"
      ],
      "author": {
        "name": "Manish Chopra",
        "email": "manishc@marvell.com",
        "time": "Wed Aug 16 20:37:11 2023 +0530"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 17 11:55:39 2023 -0700"
      },
      "message": "qede: fix firmware halt over suspend and resume\n\nWhile performing certain power-off sequences, PCI drivers are\ncalled to suspend and resume their underlying devices through\nPCI PM (power management) interface. However this NIC hardware\ndoes not support PCI PM suspend/resume operations so system wide\nsuspend/resume leads to bad MFW (management firmware) state which\ncauses various follow-up errors in driver when communicating with\nthe device/firmware afterwards.\n\nTo fix this driver implements PCI PM suspend handler to indicate\nunsupported operation to the PCI subsystem explicitly, thus avoiding\nsystem to go into suspended/standby mode.\n\nWithout this fix device/firmware does not recover unless system\nis power cycled.\n\nFixes: 2950219d87b0 (\"qede: Add basic network device support\")\nSigned-off-by: Manish Chopra \u003cmanishc@marvell.com\u003e\nSigned-off-by: Alok Prasad \u003cpalok@marvell.com\u003e\nReviewed-by: John Meneghini \u003cjmeneghi@redhat.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20230816150711.59035-1-manishc@marvell.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "b616be6b97688f2f2bd7c4a47ab32f27f94fb2a9",
      "tree": "a405ad7fdc147d3da160aab7e957329af7617cd3",
      "parents": [
        "2d0c88e84e483982067a82073f6125490ddf3614"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed Aug 16 14:21:58 2023 +0000"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 17 11:53:40 2023 -0700"
      },
      "message": "net: do not allow gso_size to be set to GSO_BY_FRAGS\n\nOne missing check in virtio_net_hdr_to_skb() allowed\nsyzbot to crash kernels again [1]\n\nDo not allow gso_size to be set to GSO_BY_FRAGS (0xffff),\nbecause this magic value is used by the kernel.\n\n[1]\ngeneral protection fault, probably for non-canonical address 0xdffffc000000000e: 0000 [#1] PREEMPT SMP KASAN\nKASAN: null-ptr-deref in range [0x0000000000000070-0x0000000000000077]\nCPU: 0 PID: 5039 Comm: syz-executor401 Not tainted 6.5.0-rc5-next-20230809-syzkaller #0\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/26/2023\nRIP: 0010:skb_segment+0x1a52/0x3ef0 net/core/skbuff.c:4500\nCode: 00 00 00 e9 ab eb ff ff e8 6b 96 5d f9 48 8b 84 24 00 01 00 00 48 8d 78 70 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 \u003c0f\u003e b6 04 02 84 c0 74 08 3c 03 0f 8e ea 21 00 00 48 8b 84 24 00 01\nRSP: 0018:ffffc90003d3f1c8 EFLAGS: 00010202\nRAX: dffffc0000000000 RBX: 000000000001fffe RCX: 0000000000000000\nRDX: 000000000000000e RSI: ffffffff882a3115 RDI: 0000000000000070\nRBP: ffffc90003d3f378 R08: 0000000000000005 R09: 000000000000ffff\nR10: 000000000000ffff R11: 5ee4a93e456187d6 R12: 000000000001ffc6\nR13: dffffc0000000000 R14: 0000000000000008 R15: 000000000000ffff\nFS: 00005555563f2380(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000\nCS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033\nCR2: 0000000020020000 CR3: 000000001626d000 CR4: 00000000003506f0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\nCall Trace:\n\u003cTASK\u003e\nudp6_ufo_fragment+0x9d2/0xd50 net/ipv6/udp_offload.c:109\nipv6_gso_segment+0x5c4/0x17b0 net/ipv6/ip6_offload.c:120\nskb_mac_gso_segment+0x292/0x610 net/core/gso.c:53\n__skb_gso_segment+0x339/0x710 net/core/gso.c:124\nskb_gso_segment include/net/gso.h:83 [inline]\nvalidate_xmit_skb+0x3a5/0xf10 net/core/dev.c:3625\n__dev_queue_xmit+0x8f0/0x3d60 net/core/dev.c:4329\ndev_queue_xmit include/linux/netdevice.h:3082 [inline]\npacket_xmit+0x257/0x380 net/packet/af_packet.c:276\npacket_snd net/packet/af_packet.c:3087 [inline]\npacket_sendmsg+0x24c7/0x5570 net/packet/af_packet.c:3119\nsock_sendmsg_nosec net/socket.c:727 [inline]\nsock_sendmsg+0xd9/0x180 net/socket.c:750\n____sys_sendmsg+0x6ac/0x940 net/socket.c:2496\n___sys_sendmsg+0x135/0x1d0 net/socket.c:2550\n__sys_sendmsg+0x117/0x1e0 net/socket.c:2579\ndo_syscall_x64 arch/x86/entry/common.c:50 [inline]\ndo_syscall_64+0x38/0xb0 arch/x86/entry/common.c:80\nentry_SYSCALL_64_after_hwframe+0x63/0xcd\nRIP: 0033:0x7ff27cdb34d9\n\nFixes: 3953c46c3ac7 (\"sk_buff: allow segmenting based on frag sizes\")\nReported-by: syzbot \u003csyzkaller@googlegroups.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Xin Long \u003clucien.xin@gmail.com\u003e\nCc: \"Michael S. Tsirkin\" \u003cmst@redhat.com\u003e\nCc: Jason Wang \u003cjasowang@redhat.com\u003e\nReviewed-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nReviewed-by: Marcelo Ricardo Leitner \u003cmarcelo.leitner@gmail.com\u003e\nReviewed-by: Xuan Zhuo \u003cxuanzhuo@linux.alibaba.com\u003e\nLink: https://lore.kernel.org/r/20230816142158.1779798-1-edumazet@google.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "2d0c88e84e483982067a82073f6125490ddf3614",
      "tree": "67c0cf39835c1aa1593cd7f1febbe744d6752f09",
      "parents": [
        "54c9016eb8eda55952a195b071359cd13f50ed9b"
      ],
      "author": {
        "name": "Abel Wu",
        "email": "wuyun.abel@bytedance.com",
        "time": "Wed Aug 16 17:12:22 2023 +0800"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 17 11:34:36 2023 -0700"
      },
      "message": "sock: Fix misuse of sk_under_memory_pressure()\n\nThe status of global socket memory pressure is updated when:\n\n  a) __sk_mem_raise_allocated():\n\n\tenter: sk_memory_allocated(sk) \u003e  sysctl_mem[1]\n\tleave: sk_memory_allocated(sk) \u003c\u003d sysctl_mem[0]\n\n  b) __sk_mem_reduce_allocated():\n\n\tleave: sk_under_memory_pressure(sk) \u0026\u0026\n\t\tsk_memory_allocated(sk) \u003c sysctl_mem[0]\n\nSo the conditions of leaving global pressure are inconstant, which\nmay lead to the situation that one pressured net-memcg prevents the\nglobal pressure from being cleared when there is indeed no global\npressure, thus the global constrains are still in effect unexpectedly\non the other sockets.\n\nThis patch fixes this by ignoring the net-memcg\u0027s pressure when\ndeciding whether should leave global memory pressure.\n\nFixes: e1aab161e013 (\"socket: initial cgroup code.\")\nSigned-off-by: Abel Wu \u003cwuyun.abel@bytedance.com\u003e\nAcked-by: Shakeel Butt \u003cshakeelb@google.com\u003e\nLink: https://lore.kernel.org/r/20230816091226.1542-1-wuyun.abel@bytedance.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "54c9016eb8eda55952a195b071359cd13f50ed9b",
      "tree": "27472a5e611b49968ce6ae8306468cfde075c272",
      "parents": [
        "fa165e1949976704500a442faeef8d9596faee76"
      ],
      "author": {
        "name": "Edward Cree",
        "email": "ecree.xilinx@gmail.com",
        "time": "Tue Aug 15 16:57:28 2023 +0100"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 17 11:31:07 2023 -0700"
      },
      "message": "sfc: don\u0027t fail probe if MAE/TC setup fails\n\nExisting comment in the source explains why we don\u0027t want efx_init_tc()\n failure to be fatal.  Cited commit erroneously consolidated failure\n paths causing the probe to be failed in this case.\n\nFixes: 7e056e2360d9 (\"sfc: obtain device mac address based on firmware handle for ef100\")\nReviewed-by: Martin Habets \u003chabetsm.xilinx@gmail.com\u003e\nSigned-off-by: Edward Cree \u003cecree.xilinx@gmail.com\u003e\nLink: https://lore.kernel.org/r/aa7f589dd6028bd1ad49f0a85f37ab33c09b2b45.1692114888.git.ecree.xilinx@gmail.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "fa165e1949976704500a442faeef8d9596faee76",
      "tree": "d35b8f5c3737dadb6f1cd5bed955af14353f3c71",
      "parents": [
        "23d775f12dcd23d052a4927195f15e970e27ab26"
      ],
      "author": {
        "name": "Edward Cree",
        "email": "ecree.xilinx@gmail.com",
        "time": "Tue Aug 15 16:57:27 2023 +0100"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 17 11:31:07 2023 -0700"
      },
      "message": "sfc: don\u0027t unregister flow_indr if it was never registered\n\nIn efx_init_tc(), move the setting of efx-\u003etc-\u003eup after the\n flow_indr_dev_register() call, so that if it fails, efx_fini_tc()\n won\u0027t call flow_indr_dev_unregister().\n\nFixes: 5b2e12d51bd8 (\"sfc: bind indirect blocks for TC offload on EF100\")\nSuggested-by: Pieter Jansen van Vuuren \u003cpieter.jansen-van-vuuren@amd.com\u003e\nReviewed-by: Martin Habets \u003chabetsm.xilinx@gmail.com\u003e\nSigned-off-by: Edward Cree \u003cecree.xilinx@gmail.com\u003e\nLink: https://lore.kernel.org/r/a81284d7013aba74005277bd81104e4cfbea3f6f.1692114888.git.ecree.xilinx@gmail.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "23d775f12dcd23d052a4927195f15e970e27ab26",
      "tree": "3a7e51c58b57e8ae1fcff908bb788a49948b5907",
      "parents": [
        "de4c5efeeca7172306bdc2e3efc0c6c3953bb338"
      ],
      "author": {
        "name": "Alfred Lee",
        "email": "l00g33k@gmail.com",
        "time": "Mon Aug 14 17:13:23 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 16 20:16:51 2023 -0700"
      },
      "message": "net: dsa: mv88e6xxx: Wait for EEPROM done before HW reset\n\nIf the switch is reset during active EEPROM transactions, as in\njust after an SoC reset after power up, the I2C bus transaction\nmay be cut short leaving the EEPROM internal I2C state machine\nin the wrong state.  When the switch is reset again, the bad\nstate machine state may result in data being read from the wrong\nmemory location causing the switch to enter unexpected mode\nrendering it inoperational.\n\nFixes: a3dcb3e7e70c (\"net: dsa: mv88e6xxx: Wait for EEPROM done after HW reset\")\nSigned-off-by: Alfred Lee \u003cl00g33k@gmail.com\u003e\nReviewed-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nLink: https://lore.kernel.org/r/20230815001323.24739-1-l00g33k@gmail.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "0fd23db0cc74cf6d28d26ce5e7802e982608d830",
      "tree": "4496bbc931884e5f4c816f81625198891c6437b7",
      "parents": [
        "34a79876d9f77e971115236bcf7b5d14a8ecf542"
      ],
      "author": {
        "name": "Shay Drory",
        "email": "shayd@nvidia.com",
        "time": "Sun Jun 25 10:43:03 2023 +0300"
      },
      "committer": {
        "name": "Saeed Mahameed",
        "email": "saeedm@nvidia.com",
        "time": "Wed Aug 16 13:39:28 2023 -0700"
      },
      "message": "net/mlx5: Fix mlx5_cmd_update_root_ft() error flow\n\nThe cited patch change mlx5_cmd_update_root_ft() to work with multiple\npeer devices. However, it didn\u0027t align the error flow as well.\nHence, Fix the error code to work with multiple peer devices.\n\nFixes: 222dd185833e (\"{net/RDMA}/mlx5: introduce lag_for_each_peer\")\nSigned-off-by: Shay Drory \u003cshayd@nvidia.com\u003e\nReviewed-by: Roi Dayan \u003croid@nvidia.com\u003e\nSigned-off-by: Saeed Mahameed \u003csaeedm@nvidia.com\u003e\n"
    },
    {
      "commit": "34a79876d9f77e971115236bcf7b5d14a8ecf542",
      "tree": "13961cc9ed5d773d9f63b7fae7e7a5095ee2011c",
      "parents": [
        "de4c5efeeca7172306bdc2e3efc0c6c3953bb338"
      ],
      "author": {
        "name": "Dragos Tatulea",
        "email": "dtatulea@nvidia.com",
        "time": "Tue Aug 01 20:41:03 2023 +0300"
      },
      "committer": {
        "name": "Saeed Mahameed",
        "email": "saeedm@nvidia.com",
        "time": "Wed Aug 16 13:39:28 2023 -0700"
      },
      "message": "net/mlx5e: XDP, Fix fifo overrun on XDP_REDIRECT\n\nBefore this fix, running high rate traffic through XDP_REDIRECT\nwith multibuf could overrun the fifo used to release the\nxdp frames after tx completion. This resulted in corrupted data\nbeing consumed on the free side.\n\nThe culplirt was a miscalculation of the fifo size: the maximum ratio\nbetween fifo entries / data segments was incorrect. This ratio serves to\ncalculate the max fifo size for a full sq where each packet uses the\nworst case number of entries in the fifo.\n\nThis patch fixes the formula and names the constant. It also makes sure\nthat future values will use a power of 2 number of entries for the fifo\nmask to work.\n\nSigned-off-by: Dragos Tatulea \u003cdtatulea@nvidia.com\u003e\nFixes: 3f734b8c594b (\"net/mlx5e: XDP, Use multiple single-entry objects in xdpi_fifo\")\nReviewed-by: Tariq Toukan \u003ctariqt@nvidia.com\u003e\nSigned-off-by: Saeed Mahameed \u003csaeedm@nvidia.com\u003e\n"
    },
    {
      "commit": "2f2beb8874cb0844e84ad26e990f05f4f13ff63f",
      "tree": "93493f8f013b66ce72e0f6c817b8600203d2ff6f",
      "parents": [
        "751969e5b1196821ef78f0aa664a8a97c92c9057"
      ],
      "author": {
        "name": "Andrii Staikov",
        "email": "andrii.staikov@intel.com",
        "time": "Wed Aug 02 09:47:32 2023 +0200"
      },
      "committer": {
        "name": "Tony Nguyen",
        "email": "anthony.l.nguyen@intel.com",
        "time": "Wed Aug 16 08:27:29 2023 -0700"
      },
      "message": "i40e: fix misleading debug logs\n\nChange \"write\" into the actual \"read\" word.\nChange parameters description.\n\nFixes: 7073f46e443e (\"i40e: Add AQ commands for NVM Update for X722\")\nSigned-off-by: Aleksandr Loktionov \u003caleksandr.loktionov@intel.com\u003e\nSigned-off-by: Andrii Staikov \u003candrii.staikov@intel.com\u003e\nSigned-off-by: Tony Nguyen \u003canthony.l.nguyen@intel.com\u003e\n"
    },
    {
      "commit": "751969e5b1196821ef78f0aa664a8a97c92c9057",
      "tree": "9db7bedf348042cf5d8c5a66dc4a98738af5bff0",
      "parents": [
        "de4c5efeeca7172306bdc2e3efc0c6c3953bb338"
      ],
      "author": {
        "name": "Piotr Gardocki",
        "email": "piotrx.gardocki@intel.com",
        "time": "Mon Aug 07 16:46:04 2023 +0200"
      },
      "committer": {
        "name": "Tony Nguyen",
        "email": "anthony.l.nguyen@intel.com",
        "time": "Wed Aug 16 08:27:29 2023 -0700"
      },
      "message": "iavf: fix FDIR rule fields masks validation\n\nReturn an error if a field\u0027s mask is neither full nor empty. When a mask\nis only partial the field is not being used for rule programming but it\ngives a wrong impression it is used. Fix by returning an error on any\npartial mask to make it clear they are not supported.\nThe ip_ver assignment is moved earlier in code to allow using it in\niavf_validate_fdir_fltr_masks.\n\nFixes: 527691bf0682 (\"iavf: Support IPv4 Flow Director filters\")\nFixes: e90cbc257a6f (\"iavf: Support IPv6 Flow Director filters\")\nSigned-off-by: Piotr Gardocki \u003cpiotrx.gardocki@intel.com\u003e\nTested-by: Rafal Romanowski \u003crafal.romanowski@intel.com\u003e\nSigned-off-by: Tony Nguyen \u003canthony.l.nguyen@intel.com\u003e\n"
    },
    {
      "commit": "de4c5efeeca7172306bdc2e3efc0c6c3953bb338",
      "tree": "63f903398ca5cb2a42722fd098e79bc5ad8afa7a",
      "parents": [
        "b35c968363c036e93f95cb233182f2d1c44605c2",
        "23185c6aed1ffb8fc44087880ba2767aba493779"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 16 11:11:24 2023 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 16 11:11:24 2023 +0100"
      },
      "message": "Merge tag \u0027nf-23-08-16\u0027 of https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf\n\nFlorisn Westphal says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nThese are netfilter fixes for the *net* tree.\n\nFirst patch resolves a false-positive lockdep splat:\nrcu_dereference is used outside of rcu read lock.  Let lockdep\nvalidate that the transaction mutex is locked.\n\nSecond patch fixes a kdoc warning added in previous PR.\n\nThird patch fixes a memory leak:\nThe catchall element isn\u0027t disabled correctly, this allows\nuserspace to deactivate the element again. This results in refcount\nunderflow which in turn prevents memory release. This was always\nbroken since the feature was added in 5.13.\n\nPatch 4 fixes an incorrect change in the previous pull request:\nAdding a duplicate key to a set should work if the duplicate key\nhas expired, restore this behaviour. All from myself.\n\nPatch #5 resolves an old historic artifact in sctp conntrack:\na 300ms timeout for shutdown_ack. Increase this to 3s.  From Xin Long.\n\nPatch #6 fixes a sysctl data race in ipvs, two threads can clobber the\nsysctl value, from Sishuai Gong. This is a day-0 bug that predates git\nhistory.\n\nPatches 7, 8 and 9, from Pablo Neira Ayuso, are also followups\nfor the previous GC rework in nf_tables: The netlink notifier and the\nnetns exit path must both increment the gc worker seqcount, else worker\nmay encounter stale (free\u0027d) pointers.\n\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": "b35c968363c036e93f95cb233182f2d1c44605c2",
      "tree": "ccc8ec64f6f2d61f8aa2fa6d32802825f4894151",
      "parents": [
        "0b70f1950e79b37df5617c83ed1ad1a4cc7fc89c"
      ],
      "author": {
        "name": "Prasad Pandit",
        "email": "pjp@fedoraproject.org",
        "time": "Wed Aug 16 13:26:06 2023 +0530"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 16 10:03:08 2023 +0100"
      },
      "message": "ipv6: fix indentation of a config attribute\n\nFix indentation of a type attribute of IPV6_VTI config entry.\n\nSigned-off-by: Prasad Pandit \u003cpjp@fedoraproject.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b70f1950e79b37df5617c83ed1ad1a4cc7fc89c",
      "tree": "863e035e037d9aa20737ec4d1bdf8ecef146a4fc",
      "parents": [
        "5fc43ce03bc3e50d16a94ec31fba3318ff1cbcd0"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@kernel.org",
        "time": "Tue Aug 15 17:27:49 2023 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 16 09:53:10 2023 +0100"
      },
      "message": "mailmap: add entries for Simon Horman\n\nRetire some of my email addresses from Kernel activities.\n\nSigned-off-by: Simon Horman \u003chorms@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5fc43ce03bc3e50d16a94ec31fba3318ff1cbcd0",
      "tree": "e43d607d46553261661a0b67ea3b92195e058bbd",
      "parents": [
        "9944d203fa63721b87eee84a89f7275dc3d25c05",
        "f3ec2b5d879ef5bbcb24678914641343cb6399a2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 16 08:57:41 2023 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 16 08:57:41 2023 +0100"
      },
      "message": "Merge tag \u0027ipsec-2023-08-15\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec\n\nSteffen Klassert says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n1) Fix a slab-out-of-bounds read in xfrm_address_filter.\n   From Lin Ma.\n\n2) Fix the pfkey sadb_x_filter validation.\n   From Lin Ma.\n\n3) Use the correct nla_policy structure for XFRMA_SEC_CTX.\n   From Lin Ma.\n\n4) Fix warnings triggerable by bad packets in the encap functions.\n   From Herbert Xu.\n\n5) Fix some slab-use-after-free in decode_session6.\n   From Zhengchao Shao.\n\n6) Fix a possible NULL piointer dereference in xfrm_update_ae_params.\n   Lin Ma.\n\n7) Add a forgotten nla_policy for XFRMA_MTIMER_THRESH.\n   From Lin Ma.\n\n8) Don\u0027t leak offloaded policies.\n   From Leon Romanovsky.\n\n9) Delete also the offloading part of an acquire state.\n   From Leon Romanovsky.\n\nPlease pull or let me know if there are problems.\n"
    },
    {
      "commit": "9944d203fa63721b87eee84a89f7275dc3d25c05",
      "tree": "b2d8f98ae71076915f31a9179b889b4ebe47424a",
      "parents": [
        "a552bfa16bab4ce901ee721346a28c4e483f4066"
      ],
      "author": {
        "name": "Artem Chernyshev",
        "email": "artem.chernyshev@red-soft.ru",
        "time": "Tue Aug 15 00:00:30 2023 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 16 07:08:29 2023 +0100"
      },
      "message": "broadcom: b44: Use b44_writephy() return value\n\nReturn result of b44_writephy() instead of zero to\ndeal with possible error.\n\nFound by Linux Verification Center (linuxtesting.org) with SVACE.\n\nSigned-off-by: Artem Chernyshev \u003cartem.chernyshev@red-soft.ru\u003e\nReviewed-by: Leon Romanovsky \u003cleonro@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a552bfa16bab4ce901ee721346a28c4e483f4066",
      "tree": "9f8f5e9263de87e92a44d5abb06fe76b235639e6",
      "parents": [
        "dafcbce07136d799edc4c67f04f9fd69ff1eac1f"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Aug 14 13:38:40 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Aug 15 19:07:52 2023 -0700"
      },
      "message": "net: openvswitch: reject negative ifindex\n\nRecent changes in net-next (commit 759ab1edb56c (\"net: store netdevs\nin an xarray\")) refactored the handling of pre-assigned ifindexes\nand let syzbot surface a latent problem in ovs. ovs does not validate\nifindex, making it possible to create netdev ports with negative\nifindex values. It\u0027s easy to repro with YNL:\n\n$ ./cli.py --spec netlink/specs/ovs_datapath.yaml \\\n         --do new \\\n\t --json \u0027{\"upcall-pid\": 1, \"name\":\"my-dp\"}\u0027\n$ ./cli.py --spec netlink/specs/ovs_vport.yaml \\\n\t --do new \\\n\t --json \u0027{\"upcall-pid\": \"00000001\", \"name\": \"some-port0\", \"dp-ifindex\":3,\"ifindex\":4294901760,\"type\":2}\u0027\n\n$ ip link show\n-65536: some-port0: \u003cBROADCAST,MULTICAST\u003e mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000\n    link/ether 7a:48:21:ad:0b:fb brd ff:ff:ff:ff:ff:ff\n...\n\nValidate the inputs. Now the second command correctly returns:\n\n$ ./cli.py --spec netlink/specs/ovs_vport.yaml \\\n\t --do new \\\n\t --json \u0027{\"upcall-pid\": \"00000001\", \"name\": \"some-port0\", \"dp-ifindex\":3,\"ifindex\":4294901760,\"type\":2}\u0027\n\nlib.ynl.NlError: Netlink error: Numerical result out of range\nnl_len \u003d 108 (92) nl_flags \u003d 0x300 nl_type \u003d 2\n\terror: -34\textack: {\u0027msg\u0027: \u0027integer out of range\u0027, \u0027unknown\u0027: [[type:4 len:36] b\u0027\\x0c\\x00\\x02\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0c\\x00\\x03\\x00\\xff\\xff\\xff\\x7f\\x00\\x00\\x00\\x00\\x08\\x00\\x01\\x00\\x08\\x00\\x00\\x00\u0027], \u0027bad-attr\u0027: \u0027.ifindex\u0027}\n\nAccept 0 since it used to be silently ignored.\n\nFixes: 54c4ef34c4b6 (\"openvswitch: allow specifying ifindex of new interfaces\")\nReported-by: syzbot+7456b5dcf65111553320@syzkaller.appspotmail.com\nReviewed-by: Leon Romanovsky \u003cleonro@nvidia.com\u003e\nReviewed-by: Aaron Conole \u003caconole@redhat.com\u003e\nLink: https://lore.kernel.org/r/20230814203840.2908710-1-kuba@kernel.org\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "dafcbce07136d799edc4c67f04f9fd69ff1eac1f",
      "tree": "bcb32b01fee3a45728003f5bd31e59fbf4da1b87",
      "parents": [
        "096516d092d54604d590827d05b1022c8f326639"
      ],
      "author": {
        "name": "Ziyang Xuan",
        "email": "william.xuanziyang@huawei.com",
        "time": "Mon Aug 14 11:23:01 2023 +0800"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Aug 15 19:03:11 2023 -0700"
      },
      "message": "team: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves\n\nSimilar to commit 01f4fd270870 (\"bonding: Fix incorrect deletion of\nETH_P_8021AD protocol vid from slaves\"), we can trigger BUG_ON(!vlan_info)\nin unregister_vlan_dev() with the following testcase:\n\n  # ip netns add ns1\n  # ip netns exec ns1 ip link add team1 type team\n  # ip netns exec ns1 ip link add team_slave type veth peer veth2\n  # ip netns exec ns1 ip link set team_slave master team1\n  # ip netns exec ns1 ip link add link team_slave name team_slave.10 type vlan id 10 protocol 802.1ad\n  # ip netns exec ns1 ip link add link team1 name team1.10 type vlan id 10 protocol 802.1ad\n  # ip netns exec ns1 ip link set team_slave nomaster\n  # ip netns del ns1\n\nAdd S-VLAN tag related features support to team driver. So the team driver\nwill always propagate the VLAN info to its slaves.\n\nFixes: 8ad227ff89a7 (\"net: vlan: add 802.1ad support\")\nSuggested-by: Ido Schimmel \u003cidosch@idosch.org\u003e\nSigned-off-by: Ziyang Xuan \u003cwilliam.xuanziyang@huawei.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20230814032301.2804971-1-william.xuanziyang@huawei.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "096516d092d54604d590827d05b1022c8f326639",
      "tree": "2c793066067275d35cdf7a307d19a588b8308a62",
      "parents": [
        "e4dd0d3a2f64b8bd8029ec70f52bdbebd0644408"
      ],
      "author": {
        "name": "Justin Chen",
        "email": "justin.chen@broadcom.com",
        "time": "Sat Aug 12 21:41:47 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Aug 15 18:53:43 2023 -0700"
      },
      "message": "net: phy: broadcom: stub c45 read/write for 54810\n\nThe 54810 does not support c45. The mmd_phy_indirect accesses return\narbirtary values leading to odd behavior like saying it supports EEE\nwhen it doesn\u0027t. We also see that reading/writing these non-existent\nMMD registers leads to phy instability in some cases.\n\nFixes: b14995ac2527 (\"net: phy: broadcom: Add BCM54810 PHY entry\")\nSigned-off-by: Justin Chen \u003cjustin.chen@broadcom.com\u003e\nReviewed-by: Florian Fainelli \u003cflorian.fainelli@broadcom.com\u003e\nLink: https://lore.kernel.org/r/1691901708-28650-1-git-send-email-justin.chen@broadcom.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "23185c6aed1ffb8fc44087880ba2767aba493779",
      "tree": "33b6ba6edb8743db8f9f1a5fb7d5265ec295dfd6",
      "parents": [
        "02c6c24402bf1c1e986899c14ba22a10b510916b"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Aug 15 15:39:02 2023 +0200"
      },
      "committer": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Wed Aug 16 00:05:15 2023 +0200"
      },
      "message": "netfilter: nft_dynset: disallow object maps\n\nDo not allow to insert elements from datapath to objects maps.\n\nFixes: 8aeff920dcc9 (\"netfilter: nf_tables: add stateful object reference to set elements\")\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\n"
    },
    {
      "commit": "02c6c24402bf1c1e986899c14ba22a10b510916b",
      "tree": "a3f1e53b7225c02c4793e51ab8e67736d49dec24",
      "parents": [
        "6a33d8b73dfac0a41f3877894b38082bd0c9a5bc"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Aug 15 15:39:01 2023 +0200"
      },
      "committer": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Wed Aug 16 00:05:15 2023 +0200"
      },
      "message": "netfilter: nf_tables: GC transaction race with netns dismantle\n\nUse maybe_get_net() since GC workqueue might race with netns exit path.\n\nFixes: 5f68718b34a5 (\"netfilter: nf_tables: GC transaction API to avoid race with control plane\")\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\n"
    },
    {
      "commit": "6a33d8b73dfac0a41f3877894b38082bd0c9a5bc",
      "tree": "551d97e6586742f22d8ab0bf3afec2d034ef871f",
      "parents": [
        "5310760af1d4fbea1452bfc77db5f9a680f7ae47"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Aug 15 15:39:00 2023 +0200"
      },
      "committer": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Wed Aug 16 00:05:15 2023 +0200"
      },
      "message": "netfilter: nf_tables: fix GC transaction races with netns and netlink event exit path\n\nNetlink event path is missing a synchronization point with GC\ntransactions. Add GC sequence number update to netns release path and\nnetlink event path, any GC transaction losing race will be discarded.\n\nFixes: 5f68718b34a5 (\"netfilter: nf_tables: GC transaction API to avoid race with control plane\")\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\n"
    },
    {
      "commit": "5310760af1d4fbea1452bfc77db5f9a680f7ae47",
      "tree": "52c1ffadb87df2163b19482708e37ca567bc1638",
      "parents": [
        "9bfab6d23a2865966a4f89a96536fbf23f83bc8c"
      ],
      "author": {
        "name": "Sishuai Gong",
        "email": "sishuai.system@gmail.com",
        "time": "Thu Aug 10 15:12:42 2023 -0400"
      },
      "committer": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Wed Aug 16 00:05:15 2023 +0200"
      },
      "message": "ipvs: fix racy memcpy in proc_do_sync_threshold\n\nWhen two threads run proc_do_sync_threshold() in parallel,\ndata races could happen between the two memcpy():\n\nThread-1\t\t\tThread-2\nmemcpy(val, valp, sizeof(val));\n\t\t\t\tmemcpy(valp, val, sizeof(val));\n\nThis race might mess up the (struct ctl_table *) table-\u003edata,\nso we add a mutex lock to serialize them.\n\nFixes: 1da177e4c3f4 (\"Linux-2.6.12-rc2\")\nLink: https://lore.kernel.org/netdev/B6988E90-0A1E-4B85-BF26-2DAF6D482433@gmail.com/\nSigned-off-by: Sishuai Gong \u003csishuai.system@gmail.com\u003e\nAcked-by: Simon Horman \u003chorms@kernel.org\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\n"
    },
    {
      "commit": "9bfab6d23a2865966a4f89a96536fbf23f83bc8c",
      "tree": "107a07e9bc31e2048e260723e7f0db5879ae2a85",
      "parents": [
        "7845914f45f066497ac75b30c50dbc735e84e884"
      ],
      "author": {
        "name": "Xin Long",
        "email": "lucien.xin@gmail.com",
        "time": "Tue Aug 15 14:08:47 2023 -0400"
      },
      "committer": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Wed Aug 16 00:05:15 2023 +0200"
      },
      "message": "netfilter: set default timeout to 3 secs for sctp shutdown send and recv state\n\nIn SCTP protocol, it is using the same timer (T2 timer) for SHUTDOWN and\nSHUTDOWN_ACK retransmission. However in sctp conntrack the default timeout\nvalue for SCTP_CONNTRACK_SHUTDOWN_ACK_SENT state is 3 secs while it\u0027s 300\nmsecs for SCTP_CONNTRACK_SHUTDOWN_SEND/RECV state.\n\nAs Paolo Valerio noticed, this might cause unwanted expiration of the ct\nentry. In my test, with 1s tc netem delay set on the NAT path, after the\nSHUTDOWN is sent, the sctp ct entry enters SCTP_CONNTRACK_SHUTDOWN_SEND\nstate. However, due to 300ms (too short) delay, when the SHUTDOWN_ACK is\nsent back from the peer, the sctp ct entry has expired and been deleted,\nand then the SHUTDOWN_ACK has to be dropped.\n\nAlso, it is confusing these two sysctl options always show 0 due to all\ntimeout values using sec as unit:\n\n  net.netfilter.nf_conntrack_sctp_timeout_shutdown_recd \u003d 0\n  net.netfilter.nf_conntrack_sctp_timeout_shutdown_sent \u003d 0\n\nThis patch fixes it by also using 3 secs for sctp shutdown send and recv\nstate in sctp conntrack, which is also RTO.initial value in SCTP protocol.\n\nNote that the very short time value for SCTP_CONNTRACK_SHUTDOWN_SEND/RECV\nwas probably used for a rare scenario where SHUTDOWN is sent on 1st path\nbut SHUTDOWN_ACK is replied on 2nd path, then a new connection started\nimmediately on 1st path. So this patch also moves from SHUTDOWN_SEND/RECV\nto CLOSE when receiving INIT in the ORIGINAL direction.\n\nFixes: 9fb9cbb1082d (\"[NETFILTER]: Add nf_conntrack subsystem.\")\nReported-by: Paolo Valerio \u003cpvalerio@redhat.com\u003e\nSigned-off-by: Xin Long \u003clucien.xin@gmail.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\n"
    },
    {
      "commit": "7845914f45f066497ac75b30c50dbc735e84e884",
      "tree": "a1453c1ae125d4de2824b43dcf1a2b9abcda6228",
      "parents": [
        "90e5b3462efa37b8bba82d7c4e63683856e188af"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Sat Aug 12 20:03:57 2023 +0200"
      },
      "committer": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Wed Aug 16 00:05:15 2023 +0200"
      },
      "message": "netfilter: nf_tables: don\u0027t fail inserts if duplicate has expired\n\nnftables selftests fail:\nrun-tests.sh testcases/sets/0044interval_overlap_0\nExpected: 0-2 . 0-3, got:\nW: [FAILED]     ./testcases/sets/0044interval_overlap_0: got 1\n\nInsertion must ignore duplicate but expired entries.\n\nMoreover, there is a strange asymmetry in nft_pipapo_activate:\n\nIt refetches the current element, whereas the other -\u003eactivate callbacks\n(bitmap, hash, rhash, rbtree) use elem-\u003epriv.\nSame for .remove: other set implementations take elem-\u003epriv,\nnft_pipapo_remove fetches elem-\u003epriv, then does a relookup,\nremove this.\n\nI suspect this was the reason for the change that prompted the\nremoval of the expired check in pipapo_get() in the first place,\nbut skipping exired elements there makes no sense to me, this helper\nis used for normal get requests, insertions (duplicate check)\nand deactivate callback.\n\nIn first two cases expired elements must be skipped.\n\nFor -\u003edeactivate(), this gets called for DELSETELEM, so it\nseems to me that expired elements should be skipped as well, i.e.\ndelete request should fail with -ENOENT error.\n\nFixes: 24138933b97b (\"netfilter: nf_tables: don\u0027t skip expired elements during walk\")\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\n"
    },
    {
      "commit": "90e5b3462efa37b8bba82d7c4e63683856e188af",
      "tree": "501015f5991c64febb95b5d18946ef5fa0e15b65",
      "parents": [
        "08713cb006b6f07434f276c5ee214fb20c7fd965"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Sat Aug 12 13:05:16 2023 +0200"
      },
      "committer": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Wed Aug 16 00:05:15 2023 +0200"
      },
      "message": "netfilter: nf_tables: deactivate catchall elements in next generation\n\nWhen flushing, individual set elements are disabled in the next\ngeneration via the -\u003eflush callback.\n\nCatchall elements are not disabled.  This is incorrect and may lead to\ndouble-deactivations of catchall elements which then results in memory\nleaks:\n\nWARNING: CPU: 1 PID: 3300 at include/net/netfilter/nf_tables.h:1172 nft_map_deactivate+0x549/0x730\nCPU: 1 PID: 3300 Comm: nft Not tainted 6.5.0-rc5+ #60\nRIP: 0010:nft_map_deactivate+0x549/0x730\n [..]\n ? nft_map_deactivate+0x549/0x730\n nf_tables_delset+0xb66/0xeb0\n\n(the warn is due to nft_use_dec() detecting underflow).\n\nFixes: aaa31047a6d2 (\"netfilter: nftables: add catch-all set element support\")\nReported-by: lonial con \u003ckongln9170@gmail.com\u003e\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\n"
    },
    {
      "commit": "08713cb006b6f07434f276c5ee214fb20c7fd965",
      "tree": "457bdd8a5867a212d9d5b43d50222a1e41e6f18e",
      "parents": [
        "b9f052dc68f69dac89fe1e24693354c033daa091"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Thu Aug 10 23:59:03 2023 +0200"
      },
      "committer": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Wed Aug 16 00:05:14 2023 +0200"
      },
      "message": "netfilter: nf_tables: fix kdoc warnings after gc rework\n\nJakub Kicinski says:\n  We\u0027ve got some new kdoc warnings here:\n  net/netfilter/nft_set_pipapo.c:1557: warning: Function parameter or member \u0027_set\u0027 not described in \u0027pipapo_gc\u0027\n  net/netfilter/nft_set_pipapo.c:1557: warning: Excess function parameter \u0027set\u0027 description in \u0027pipapo_gc\u0027\n  include/net/netfilter/nf_tables.h:577: warning: Function parameter or member \u0027dead\u0027 not described in \u0027nft_set\u0027\n\nFixes: 5f68718b34a5 (\"netfilter: nf_tables: GC transaction API to avoid race with control plane\")\nFixes: f6c383b8c31a (\"netfilter: nf_tables: adapt set backend to use GC transaction API\")\nReported-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nCloses: https://lore.kernel.org/netdev/20230810104638.746e46f1@kernel.org/\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\n"
    },
    {
      "commit": "b9f052dc68f69dac89fe1e24693354c033daa091",
      "tree": "d3e3ae153f5057194ef409db697977b8a2e156a8",
      "parents": [
        "e4dd0d3a2f64b8bd8029ec70f52bdbebd0644408"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Tue Aug 08 20:40:17 2023 +0200"
      },
      "committer": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Wed Aug 16 00:05:14 2023 +0200"
      },
      "message": "netfilter: nf_tables: fix false-positive lockdep splat\n\n-\u003eabort invocation may cause splat on debug kernels:\n\nWARNING: suspicious RCU usage\nnet/netfilter/nft_set_pipapo.c:1697 suspicious rcu_dereference_check() usage!\n[..]\nrcu_scheduler_active \u003d 2, debug_locks \u003d 1\n1 lock held by nft/133554: [..] (nft_net-\u003ecommit_mutex){+.+.}-{3:3}, at: nf_tables_valid_genid\n[..]\n lockdep_rcu_suspicious+0x1ad/0x260\n nft_pipapo_abort+0x145/0x180\n __nf_tables_abort+0x5359/0x63d0\n nf_tables_abort+0x24/0x40\n nfnetlink_rcv+0x1a0a/0x22c0\n netlink_unicast+0x73c/0x900\n netlink_sendmsg+0x7f0/0xc20\n ____sys_sendmsg+0x48d/0x760\n\nTransaction mutex is held, so parallel updates are not possible.\nSwitch to _protected and check mutex is held for lockdep enabled builds.\n\nFixes: 212ed75dc5fb (\"netfilter: nf_tables: integrate pipapo into commit protocol\")\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\n"
    },
    {
      "commit": "e4dd0d3a2f64b8bd8029ec70f52bdbebd0644408",
      "tree": "6cf24c26f399fdb42cb17c48d46b76bda20ec507",
      "parents": [
        "8a519a572598b7c0c07b02f69bf5b4e8dd4b2d7d"
      ],
      "author": {
        "name": "Jason Xing",
        "email": "kernelxing@tencent.com",
        "time": "Fri Aug 11 10:37:47 2023 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 15 20:24:04 2023 +0100"
      },
      "message": "net: fix the RTO timer retransmitting skb every 1ms if linear option is enabled\n\nIn the real workload, I encountered an issue which could cause the RTO\ntimer to retransmit the skb per 1ms with linear option enabled. The amount\nof lost-retransmitted skbs can go up to 1000+ instantly.\n\nThe root cause is that if the icsk_rto happens to be zero in the 6th round\n(which is the TCP_THIN_LINEAR_RETRIES value), then it will always be zero\ndue to the changed calculation method in tcp_retransmit_timer() as follows:\n\nicsk-\u003eicsk_rto \u003d min(icsk-\u003eicsk_rto \u003c\u003c 1, TCP_RTO_MAX);\n\nAbove line could be converted to\nicsk-\u003eicsk_rto \u003d min(0 \u003c\u003c 1, TCP_RTO_MAX) \u003d 0\n\nTherefore, the timer expires so quickly without any doubt.\n\nI read through the RFC 6298 and found that the RTO value can be rounded\nup to a certain value, in Linux, say TCP_RTO_MIN as default, which is\nregarded as the lower bound in this patch as suggested by Eric.\n\nFixes: 36e31b0af587 (\"net: TCP thin linear timeouts\")\nSuggested-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Jason Xing \u003ckernelxing@tencent.com\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a519a572598b7c0c07b02f69bf5b4e8dd4b2d7d",
      "tree": "8f6bc1dc580d992587176767a551f0cb88fbbcb5",
      "parents": [
        "f6f978fc4d006c9d3fa6df9f172d4660139fd3dd"
      ],
      "author": {
        "name": "Liang Chen",
        "email": "liangchen.linux@gmail.com",
        "time": "Sat Aug 12 10:30:16 2023 +0800"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Aug 14 19:26:19 2023 -0700"
      },
      "message": "net: veth: Page pool creation error handling for existing pools only\n\nThe failure handling procedure destroys page pools for all queues,\nincluding those that haven\u0027t had their page pool created yet. this patch\nintroduces necessary adjustments to prevent potential risks and\ninconsistency with the error handling behavior.\n\nFixes: 0ebab78cbcbf (\"net: veth: add page_pool for page recycling\")\nAcked-by: Jesper Dangaard Brouer \u003chawk@kernel.org\u003e\nSigned-off-by: Liang Chen \u003cliangchen.linux@gmail.com\u003e\nLink: https://lore.kernel.org/r/20230812023016.10553-1-liangchen.linux@gmail.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "f6f978fc4d006c9d3fa6df9f172d4660139fd3dd",
      "tree": "a7e9b4c2e8d7c759d3abdf3f49199240f77bc99a",
      "parents": [
        "6c461e394d11a981c662cc16cebfb05b602e23ba",
        "758c91078165ae641b698750a72eafe7968b3756"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Aug 14 19:08:14 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Aug 14 19:08:15 2023 -0700"
      },
      "message": "Merge branch \u0027octeon_ep-fixes-for-error-and-remove-paths\u0027\n\nMichal Schmidt says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nocteon_ep: fixes for error and remove paths\n\nI have an Octeon card that\u0027s misconfigured in a way that exposes a\ncouple of bugs in the octeon_ep driver\u0027s error paths. It can reproduce\nthe issues that patches 1 \u0026 4 are fixing. Patches 2 \u0026 3 are a result of\nreviewing the nearby code.\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/20230810150114.107765-1-mschmidt@redhat.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "758c91078165ae641b698750a72eafe7968b3756",
      "tree": "a7e9b4c2e8d7c759d3abdf3f49199240f77bc99a",
      "parents": [
        "607a7a45cdf38c1901e0d81e4e00a2a88786330a"
      ],
      "author": {
        "name": "Michal Schmidt",
        "email": "mschmidt@redhat.com",
        "time": "Thu Aug 10 17:01:14 2023 +0200"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Aug 14 19:08:13 2023 -0700"
      },
      "message": "octeon_ep: cancel queued works in probe error path\n\nIf it fails to get the devices\u0027s MAC address, octep_probe exits while\nleaving the delayed work intr_poll_task queued. When the work later\nruns, it\u0027s a use after free.\n\nMove the cancelation of intr_poll_task from octep_remove into\noctep_device_cleanup. This does not change anything in the octep_remove\nflow, but octep_device_cleanup is called also in the octep_probe error\npath, where the cancelation is needed.\n\nNote that the cancelation of ctrl_mbox_task has to follow\nintr_poll_task\u0027s, because the ctrl_mbox_task may be queued by\nintr_poll_task.\n\nFixes: 24d4333233b3 (\"octeon_ep: poll for control messages\")\nSigned-off-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nLink: https://lore.kernel.org/r/20230810150114.107765-5-mschmidt@redhat.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "607a7a45cdf38c1901e0d81e4e00a2a88786330a",
      "tree": "cbaf8323da70e46c2a73cd45a68d31b8cf510ab0",
      "parents": [
        "28458c80006bb4e993a09fc094094a8578cad292"
      ],
      "author": {
        "name": "Michal Schmidt",
        "email": "mschmidt@redhat.com",
        "time": "Thu Aug 10 17:01:13 2023 +0200"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Aug 14 19:08:13 2023 -0700"
      },
      "message": "octeon_ep: cancel ctrl_mbox_task after intr_poll_task\n\nintr_poll_task may queue ctrl_mbox_task. The function\noctep_poll_non_ioq_interrupts_cn93_pf does this.\n\nWhen removing the driver and canceling these two works, cancel\nctrl_mbox_task last to guarantee it does not run anymore.\n\nFixes: 24d4333233b3 (\"octeon_ep: poll for control messages\")\nSigned-off-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nLink: https://lore.kernel.org/r/20230810150114.107765-4-mschmidt@redhat.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "28458c80006bb4e993a09fc094094a8578cad292",
      "tree": "bb070b38921dec7c91187ead8b35db0eb87ace2b",
      "parents": [
        "519b227904f0e70d4a1d6cf41daa5392715f2d2f"
      ],
      "author": {
        "name": "Michal Schmidt",
        "email": "mschmidt@redhat.com",
        "time": "Thu Aug 10 17:01:12 2023 +0200"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Aug 14 19:08:13 2023 -0700"
      },
      "message": "octeon_ep: cancel tx_timeout_task later in remove sequence\n\ntx_timeout_task is canceled too early when removing the driver. Nothing\nprevents .ndo_tx_timeout from triggering and queuing the work again.\n\nBetter cancel it after the netdev is unregistered.\nIt\u0027s harmless for octep_tx_timeout_task to run in the window between the\nunregistration and cancelation, because it checks netif_running.\n\nFixes: 862cd659a6fb (\"octeon_ep: Add driver framework and device initialization\")\nSigned-off-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nLink: https://lore.kernel.org/r/20230810150114.107765-3-mschmidt@redhat.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "519b227904f0e70d4a1d6cf41daa5392715f2d2f",
      "tree": "7a356c8531f7e53dc9e276019e4b1c217ab03aee",
      "parents": [
        "6c461e394d11a981c662cc16cebfb05b602e23ba"
      ],
      "author": {
        "name": "Michal Schmidt",
        "email": "mschmidt@redhat.com",
        "time": "Thu Aug 10 17:01:11 2023 +0200"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Aug 14 19:08:13 2023 -0700"
      },
      "message": "octeon_ep: fix timeout value for waiting on mbox response\n\nThe intention was to wait up to 500 ms for the mbox response.\nThe third argument to wait_event_interruptible_timeout() is supposed to\nbe the timeout duration. The driver mistakenly passed absolute time\ninstead.\n\nFixes: 577f0d1b1c5f (\"octeon_ep: add separate mailbox command and response queues\")\nSigned-off-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20230810150114.107765-2-mschmidt@redhat.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "6c461e394d11a981c662cc16cebfb05b602e23ba",
      "tree": "f0418e0f9912a253ed1e19f5194aaa60dbe3205b",
      "parents": [
        "855067defa36b1f9effad8c219d9a85b655cf500"
      ],
      "author": {
        "name": "Radhey Shyam Pandey",
        "email": "radhey.shyam.pandey@amd.com",
        "time": "Mon Aug 07 18:44:51 2023 +0530"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Aug 14 19:03:39 2023 -0700"
      },
      "message": "net: macb: In ZynqMP resume always configure PS GTR for non-wakeup source\n\nOn Zynq UltraScale+ MPSoC ubuntu platform when systemctl issues suspend,\nnetwork manager bring down the interface and goes into suspend. When it\nwakes up it again enables the interface.\n\nThis leads to xilinx-psgtr \"PLL lock timeout\" on interface bringup, as\nthe power management controller power down the entire FPD (including\nSERDES) if none of the FPD devices are in use and serdes is not\ninitialized on resume.\n\n$ sudo rtcwake -m no -s 120 -v\n$ sudo systemctl suspend  \u003cthis does ifconfig eth1 down\u003e\n$ ifconfig eth1 up\nxilinx-psgtr fd400000.phy: lane 0 (type 10, protocol 5): PLL lock timeout\nphy phy-fd400000.phy.0: phy poweron failed --\u003e -110\n\nmacb driver is called in this way:\n1. macb_close: Stop network interface. In this function, it\n   reset MACB IP and disables PHY and network interface.\n\n2. macb_suspend: It is called in kernel suspend flow. But because\n   network interface has been disabled(netif_running(ndev) is\n   false), it does nothing and returns directly;\n\n3. System goes into suspend state. Some time later, system is\n   waken up by RTC wakeup device;\n\n4. macb_resume: It does nothing because network interface has\n   been disabled;\n\n5. macb_open: It is called to enable network interface again. ethernet\n   interface is initialized in this API but serdes which is power-off\n   by PMUFW during FPD-off suspend is not initialized again and so\n   we hit GT PLL lock issue on open.\n\nTo resolve this PLL timeout issue always do PS GTR initialization\nwhen ethernet device is configured as non-wakeup source.\n\nFixes: f22bd29ba19a (\"net: macb: Fix ZynqMP SGMII non-wakeup source resume failure\")\nFixes: 8b73fa3ae02b (\"net: macb: Added ZynqMP-specific initialization\")\nSigned-off-by: Radhey Shyam Pandey \u003cradhey.shyam.pandey@amd.com\u003e\nLink: https://lore.kernel.org/r/1691414091-2260697-1-git-send-email-radhey.shyam.pandey@amd.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "855067defa36b1f9effad8c219d9a85b655cf500",
      "tree": "dfaeeed7e1ae441d81a8313622e3532fabf6e62b",
      "parents": [
        "ace0ab3a4b54205a01d3f4a0fd9bdb4616cfb60b"
      ],
      "author": {
        "name": "Petr Machata",
        "email": "petrm@nvidia.com",
        "time": "Fri Aug 11 17:59:27 2023 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 14 11:14:24 2023 +0100"
      },
      "message": "selftests: mirror_gre_changes: Tighten up the TTL test match\n\nThis test verifies whether the encapsulated packets have the correct\nconfigured TTL. It does so by sending ICMP packets through the test\ntopology and mirroring them to a gretap netdevice. On a busy host\nhowever, more than just the test ICMP packets may end up flowing\nthrough the topology, get mirrored, and counted. This leads to\npotential spurious failures as the test observes much more mirrored\npackets than the sent test packets, and assumes a bug.\n\nFix this by tightening up the mirror action match. Change it from\nmatchall to a flower classifier matching on ICMP packets specifically.\n\nFixes: 45315673e0c5 (\"selftests: forwarding: Test changes in mirror-to-gretap\")\nSigned-off-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ace0ab3a4b54205a01d3f4a0fd9bdb4616cfb60b",
      "tree": "00b7fe3f5fee49a5fa695f8d8df8d412332526f5",
      "parents": [
        "cc941e548bffc01b5816b4edc5cb432a137a58b3"
      ],
      "author": {
        "name": "Vlad Buslov",
        "email": "vladbu@nvidia.com",
        "time": "Fri Aug 11 17:45:23 2023 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 14 08:14:00 2023 +0100"
      },
      "message": "Revert \"vlan: Fix VLAN 0 memory leak\"\n\nThis reverts commit 718cb09aaa6fa78cc8124e9517efbc6c92665384.\n\nThe commit triggers multiple syzbot issues, probably due to possibility of\nmanually creating VLAN 0 on netdevice which will cause the code to delete\nit since it can\u0027t distinguish such VLAN from implicit VLAN 0 automatically\ncreated for devices with NETIF_F_HW_VLAN_CTAG_FILTER feature.\n\nReported-by: syzbot+662f783a5cdf3add2719@syzkaller.appspotmail.com\nCloses: https://lore.kernel.org/all/00000000000090196d0602a6167d@google.com/\nReported-by: syzbot+4b4f06495414e92701d5@syzkaller.appspotmail.com\nCloses: https://lore.kernel.org/all/00000000000096ae870602a61602@google.com/\nReported-by: syzbot+d810d3cd45ed1848c3f7@syzkaller.appspotmail.com\nCloses: https://lore.kernel.org/all/0000000000009f0f9c0602a616ce@google.com/\nFixes: 718cb09aaa6f (\"vlan: Fix VLAN 0 memory leak\")\nSigned-off-by: Vlad Buslov \u003cvladbu@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc941e548bffc01b5816b4edc5cb432a137a58b3",
      "tree": "b5b70ecd51b5b89b42c4eeb433e912b5f1ee4191",
      "parents": [
        "829c6524d6729d05a82575dbcc16f99be5ee843d"
      ],
      "author": {
        "name": "Russell King (Oracle)",
        "email": "rmk+kernel@armlinux.org.uk",
        "time": "Fri Aug 11 11:26:30 2023 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 13 12:27:08 2023 +0100"
      },
      "message": "net: phy: fix IRQ-based wake-on-lan over hibernate / power off\n\nUwe reports:\n\"Most PHYs signal WoL using an interrupt. So disabling interrupts [at\nshutdown] breaks WoL at least on PHYs covered by the marvell driver.\"\n\nDiscussing with Ioana, the problem which was trying to be solved was:\n\"The board in question is a LS1021ATSN which has two AR8031 PHYs that\nshare an interrupt line. In case only one of the PHYs is probed and\nthere are pending interrupts on the PHY#2 an IRQ storm will happen\nsince there is no entity to clear the interrupt from PHY#2\u0027s registers.\nPHY#1\u0027s driver will get stuck in .handle_interrupt() indefinitely.\"\n\nFurther confirmation that \"the two AR8031 PHYs are on the same MDIO\nbus.\"\n\nWith WoL using interrupts to wake the system, in such a case, the\nsystem will begin booting with an asserted interrupt. Thus, we need to\ncope with an interrupt asserted during boot.\n\nSolve this instead by disabling interrupts during PHY probe. This will\nensure in Ioana\u0027s situation that both PHYs of the same type sharing an\ninterrupt line on a common MDIO bus will have their interrupt outputs\ndisabled when the driver probes the device, but before we hook in any\ninterrupt handlers - thus avoiding the interrupt storm.\n\nA better fix would be for platform firmware to disable the interrupting\ndevices at source during boot, before control is handed to the kernel.\n\nFixes: e2f016cf7751 (\"net: phy: add a shutdown procedure\")\nLink: 20230804071757.383971-1-u.kleine-koenig@pengutronix.de\nReported-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Russell King (Oracle) \u003crmk+kernel@armlinux.org.uk\u003e\nReviewed-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nReviewed-by: Florian Fainelli \u003cflorian.fainelli@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "829c6524d6729d05a82575dbcc16f99be5ee843d",
      "tree": "d06f71ed76f4342e5ff29a36597d042bd891ae6a",
      "parents": [
        "51b813176f098ff61bd2833f627f5319ead098a5"
      ],
      "author": {
        "name": "Xiang Yang",
        "email": "xiangyang3@huawei.com",
        "time": "Thu Aug 10 22:06:39 2023 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 11 10:21:07 2023 +0100"
      },
      "message": "net: pcs: Add missing put_device call in miic_create\n\nThe reference of pdev-\u003edev is taken by of_find_device_by_node, so\nit should be released when not need anymore.\n\nFixes: 7dc54d3b8d91 (\"net: pcs: add Renesas MII converter driver\")\nSigned-off-by: Xiang Yang \u003cxiangyang3@huawei.com\u003e\nReviewed-by: Vladimir Oltean \u003colteanv@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51b813176f098ff61bd2833f627f5319ead098a5",
      "tree": "6295646e95ce075a1e36d47dee91ee9c9e19f1dc",
      "parents": [
        "9ebbb29db9cae23e29881b9a268767d4baa53cdb"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Wed Aug 09 23:12:56 2023 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 11 09:50:14 2023 +0100"
      },
      "message": "virtio-net: set queues after driver_ok\n\nCommit 25266128fe16 (\"virtio-net: fix race between set queues and\nprobe\") tries to fix the race between set queues and probe by calling\n_virtnet_set_queues() before DRIVER_OK is set. This violates virtio\nspec. Fixing this by setting queues after virtio_device_ready().\n\nNote that rtnl needs to be held for userspace requests to change the\nnumber of queues. So we are serialized in this way.\n\nFixes: 25266128fe16 (\"virtio-net: fix race between set queues and probe\")\nReported-by: Dragos Tatulea \u003cdtatulea@nvidia.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ebbb29db9cae23e29881b9a268767d4baa53cdb",
      "tree": "b3e8c443398289d9fde5370cb36f382d86c7c7f6",
      "parents": [
        "25aa0bebba72b318e71fe205bfd1236550cc9534",
        "eb3515dc99c7c85f4170b50838136b2a193f8012"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 10 18:18:24 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 10 18:18:25 2023 -0700"
      },
      "message": "Merge branch \u0027x86/bugs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nCross merge x86 fixes to fix clang linking errors:\n\nld.lld: error: ./arch/x86/kernel/vmlinux.lds:221: at least one side of the expression must be absolute\n\nThese will hopefully be downstream by the time we ship\nthe next batch of fixes.\n\n* \u0027x86/bugs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86: Move gds_ucode_mitigated() declaration to header\n  x86/speculation: Add cpu_show_gds() prototype\n  driver core: cpu: Make cpu_show_not_affected() static\n  x86/srso: Fix build breakage with the LLVM linker\n  Documentation/srso: Document IBPB aspect and fix formatting\n  driver core: cpu: Unify redundant silly stubs\n  Documentation/hw-vuln: Unify filename specification in index\n\nLink: https://lore.kernel.org/all/CAHk-\u003dwj_b+FGTnevQSBAtCWuhCk\u003d0oQ_THvthBW2hzqpOTLFmg@mail.gmail.com/\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "25aa0bebba72b318e71fe205bfd1236550cc9534",
      "tree": "fd6740b6f837c4faf52102d24fc492a36edbb8a8",
      "parents": [
        "30813656c6b827947be024484d6da8b18e50c186",
        "5e3d20617b055e725e785e0058426368269949f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 10 12:37:24 2023 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 10 12:37:24 2023 -0700"
      },
      "message": "Merge tag \u0027net-6.5-rc6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net\n\nPull networking fixes from Jakub Kicinski:\n \"Including fixes from netfilter, wireless and bpf.\n\n  Still trending up in size but the good news is that the \"current\"\n  regressions are resolved, AFAIK.\n\n  We\u0027re getting weirdly many fixes for Wake-on-LAN and suspend/resume\n  handling on embedded this week (most not merged yet), not sure why.\n  But those are all for older bugs.\n\n  Current release - regressions:\n\n   - tls: set MSG_SPLICE_PAGES consistently when handing encrypted data\n     over to TCP\n\n  Current release - new code bugs:\n\n   - eth: mlx5: correct IDs on VFs internal to the device (IPU)\n\n  Previous releases - regressions:\n\n   - phy: at803x: fix WoL support / reporting on AR8032\n\n   - bonding: fix incorrect deletion of ETH_P_8021AD protocol VID from\n     slaves, leading to BUG_ON()\n\n   - tun: prevent tun_build_skb() from exceeding the packet size limit\n\n   - wifi: rtw89: fix 8852AE disconnection caused by RX full flags\n\n   - eth/PCI: enetc: fix probing after 6fffbc7ae137 (\"PCI: Honor\n     firmware\u0027s device disabled status\"), keep PCI devices around even\n     if they are disabled / not going to be probed to be able to apply\n     quirks on them\n\n   - eth: prestera: fix handling IPv4 routes with nexthop IDs\n\n  Previous releases - always broken:\n\n   - netfilter: re-work garbage collection to avoid races between\n     user-facing API and timeouts\n\n   - tunnels: fix generating ipv4 PMTU error on non-linear skbs\n\n   - nexthop: fix infinite nexthop bucket dump when using maximum\n     nexthop ID\n\n   - wifi: nl80211: fix integer overflow in nl80211_parse_mbssid_elems()\n\n  Misc:\n\n   - unix: use consistent error code in SO_PEERPIDFD\n\n   - ipv6: adjust ndisc_is_useropt() to include PREFIX_INFO, in prep for\n     upcoming IETF RFC\"\n\n* tag \u0027net-6.5-rc6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (94 commits)\n  net: hns3: fix strscpy causing content truncation issue\n  net: tls: set MSG_SPLICE_PAGES consistently\n  ibmvnic: Ensure login failure recovery is safe from other resets\n  ibmvnic: Do partial reset on login failure\n  ibmvnic: Handle DMA unmapping of login buffs in release functions\n  ibmvnic: Unmap DMA login rsp buffer on send login fail\n  ibmvnic: Enforce stronger sanity checks on login response\n  net: mana: Fix MANA VF unload when hardware is unresponsive\n  netfilter: nf_tables: remove busy mark and gc batch API\n  netfilter: nft_set_hash: mark set element as dead when deleting from packet path\n  netfilter: nf_tables: adapt set backend to use GC transaction API\n  netfilter: nf_tables: GC transaction API to avoid race with control plane\n  selftests/bpf: Add sockmap test for redirecting partial skb data\n  selftests/bpf: fix a CI failure caused by vsock sockmap test\n  bpf, sockmap: Fix bug that strp_done cannot be called\n  bpf, sockmap: Fix map type error in sock_map_del_link\n  xsk: fix refcount underflow in error path\n  ipv6: adjust ndisc_is_useropt() to also return true for PIO\n  selftests: forwarding: bridge_mdb: Make test more robust\n  selftests: forwarding: bridge_mdb_max: Fix failing test with old libnet\n  ...\n"
    },
    {
      "commit": "5e3d20617b055e725e785e0058426368269949f3",
      "tree": "c277c31f0d6a9945de88bb103a992df8d1636f29",
      "parents": [
        "6b486676b41c369fe822fe65771ffda7eeb3ea6f"
      ],
      "author": {
        "name": "Hao Chen",
        "email": "chenhao418@huawei.com",
        "time": "Wed Aug 09 10:09:02 2023 +0800"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 10 11:47:56 2023 -0700"
      },
      "message": "net: hns3: fix strscpy causing content truncation issue\n\nhns3_dbg_fill_content()/hclge_dbg_fill_content() is aim to integrate some\nitems to a string for content, and we add \u0027\\n\u0027 and \u0027\\0\u0027 in the last\ntwo bytes of content.\n\nstrscpy() will add \u0027\\0\u0027 in the last byte of destination buffer(one of\nitems), it result in finishing content print ahead of schedule and some\ndump content truncation.\n\nOne Error log shows as below:\ncat mac_list/uc\nUC MAC_LIST:\n\nExpected:\nUC MAC_LIST:\nFUNC_ID  MAC_ADDR            STATE\npf       00:2b:19:05:03:00   ACTIVE\n\nThe destination buffer is length-bounded and not required to be\nNUL-terminated, so just change strscpy() to memcpy() to fix it.\n\nFixes: 1cf3d5567f27 (\"net: hns3: fix strncpy() not using dest-buf length as length issue\")\nSigned-off-by: Hao Chen \u003cchenhao418@huawei.com\u003e\nSigned-off-by: Jijie Shao \u003cshaojijie@huawei.com\u003e\nLink: https://lore.kernel.org/r/20230809020902.1941471-1-shaojijie@huawei.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "6b486676b41c369fe822fe65771ffda7eeb3ea6f",
      "tree": "ca3d9d5a2c439c24619a3e4ecd7c89220996a960",
      "parents": [
        "3e91b0ebd994635df2346353322ac51ce84ce6d8"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Aug 08 11:09:17 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 10 11:36:57 2023 -0700"
      },
      "message": "net: tls: set MSG_SPLICE_PAGES consistently\n\nWe used to change the flags for the last segment, because\nnon-last segments had the MSG_SENDPAGE_NOTLAST flag set.\nThat flag is no longer a thing so remove the setting.\n\nSince flags most likely don\u0027t have MSG_SPLICE_PAGES set\nthis avoids passing parts of the sg as splice and parts\nas non-splice. Before commit under Fixes we\u0027d have called\ntcp_sendpage() which would add the MSG_SPLICE_PAGES.\n\nWhy this leads to trouble remains unclear but Tariq\nreports hitting the WARN_ON(!sendpage_ok()) due to\npage refcount of 0.\n\nFixes: e117dcfd646e (\"tls: Inline do_tcp_sendpages()\")\nReported-by: Tariq Toukan \u003ctariqt@nvidia.com\u003e\nLink: https://lore.kernel.org/all/4c49176f-147a-4283-f1b1-32aac7b4b996@gmail.com/\nTested-by: Tariq Toukan \u003ctariqt@nvidia.com\u003e\nLink: https://lore.kernel.org/r/20230808180917.1243540-1-kuba@kernel.org\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "30813656c6b827947be024484d6da8b18e50c186",
      "tree": "4274da8b741873602326c7de34bae8966728b052",
      "parents": [
        "374a7f47bf401441edff0a64465e61326bf70a82",
        "422dbc66b7702ae797326d5480c3c9b6467053da"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 10 11:32:26 2023 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 10 11:32:26 2023 -0700"
      },
      "message": "Merge tag \u0027dmaengine-fix-6.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine\n\nPull dmaengine fixes from Vinod Koul:\n\n - HAS_IOMEM fixes for fsl edma and intel idma\n\n - return-value fix, interrupt vector setting and typo fix for xilinx\n   xdma\n\n - email updates for codeaurora email domain move\n\n - correct pause status for pl330 driver\n\n - idxd clear flag on disable fix\n\n - function documentation fix for owl dma\n\n - potential un-allocated memory fix for mcf driver\n\n* tag \u0027dmaengine-fix-6.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine:\n  dmaengine: xilinx: xdma: Fix typo\n  dmaengine: xilinx: xdma: Fix interrupt vector setting\n  dmaengine: owl-dma: Modify mismatched function name\n  dmaengine: idxd: Clear PRS disable flag when disabling IDXD device\n  dmaengine: pl330: Return DMA_PAUSED when transaction is paused\n  dmaengine: qcom_hidma: Update codeaurora email domain\n  dmaengine: mcf-edma: Fix a potential un-allocated memory access\n  dmaengine: xilinx: xdma: Fix Judgment of the return value\n  idmaengine: make FSL_EDMA and INTEL_IDMA64 depends on HAS_IOMEM\n"
    },
    {
      "commit": "3e91b0ebd994635df2346353322ac51ce84ce6d8",
      "tree": "f3a6f33cfc3022980cf416029be4249fb5acc4aa",
      "parents": [
        "62d02fca8be59292703ba369b48b4c910f71d9a6",
        "a2dd0233cbc4d8a0abb5f64487487ffc9265beb5"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 10 10:47:07 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 10 10:47:08 2023 -0700"
      },
      "message": "Merge tag \u0027nf-23-08-10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf\n\nPablo Neira Ayuso says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nNetfilter fixes for net\n\nThe existing attempt to resolve races between control plane and GC work\nis error prone, as reported by Bien Pham \u003cphamnnb@sea.com\u003e, some places\nforgot to call nft_set_elem_mark_busy(), leading to double-deactivation\nof elements.\n\nThis series contains the following patches:\n\n1) Do not skip expired elements during walk otherwise elements might\n   never decrement the reference counter on data, leading to memleak.\n\n2) Add a GC transaction API to replace the former attempt to deal with\n   races between control plane and GC. GC worker sets on NFT_SET_ELEM_DEAD_BIT\n   on elements and it creates a GC transaction to remove the expired\n   elements, GC transaction could abort in case of interference with\n   control plane and retried later (GC async). Set backends such as\n   rbtree and pipapo also perform GC from control plane (GC sync), in\n   such case, element deactivation and removal is safe because mutex\n   is held then collected elements are released via call_rcu().\n\n3) Adapt existing set backends to use the GC transaction API.\n\n4) Update rhash set backend to set on _DEAD bit to report deleted\n   elements from datapath for GC.\n\n5) Remove old GC batch API and the NFT_SET_ELEM_BUSY_BIT.\n\n* tag \u0027nf-23-08-10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf:\n  netfilter: nf_tables: remove busy mark and gc batch API\n  netfilter: nft_set_hash: mark set element as dead when deleting from packet path\n  netfilter: nf_tables: adapt set backend to use GC transaction API\n  netfilter: nf_tables: GC transaction API to avoid race with control plane\n  netfilter: nf_tables: don\u0027t skip expired elements during walk\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/20230810070830.24064-1-pablo@netfilter.org\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "62d02fca8be59292703ba369b48b4c910f71d9a6",
      "tree": "90b865dfdff3a8dc34ecb8d782aebf4bb1b702ff",
      "parents": [
        "6db541ae279bd4e76dbd939e5fbf298396166242",
        "b734f02c887d9a02cd777ee3a74be38df341fabb"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 10 10:41:36 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 10 10:41:36 2023 -0700"
      },
      "message": "Merge tag \u0027for-netdev\u0027 of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf\n\nMartin KaFai Lau says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npull-request: bpf 2023-08-09\n\nWe\u0027ve added 5 non-merge commits during the last 7 day(s) which contain\na total of 6 files changed, 102 insertions(+), 8 deletions(-).\n\nThe main changes are:\n\n1) A bpf sockmap memleak fix and a fix in accessing the programs of\n   a sockmap under the incorrect map type from Xu Kuohai.\n\n2) A refcount underflow fix in xsk from Magnus Karlsson.\n\n* tag \u0027for-netdev\u0027 of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf:\n  selftests/bpf: Add sockmap test for redirecting partial skb data\n  selftests/bpf: fix a CI failure caused by vsock sockmap test\n  bpf, sockmap: Fix bug that strp_done cannot be called\n  bpf, sockmap: Fix map type error in sock_map_del_link\n  xsk: fix refcount underflow in error path\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/20230810055303.120917-1-martin.lau@linux.dev\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "6db541ae279bd4e76dbd939e5fbf298396166242",
      "tree": "0abb3b1ca1299428ef233f165ec24f944a43fa9d",
      "parents": [
        "23cc5f667453ca7645a24c8d21bf84dbf61107b2"
      ],
      "author": {
        "name": "Nick Child",
        "email": "nnac123@linux.ibm.com",
        "time": "Wed Aug 09 17:10:38 2023 -0500"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 10 10:36:36 2023 -0700"
      },
      "message": "ibmvnic: Ensure login failure recovery is safe from other resets\n\nIf a login request fails, the recovery process should be protected\nagainst parallel resets. It is a known issue that freeing and\nregistering CRQ\u0027s in quick succession can result in a failover CRQ from\nthe VIOS. Processing a failover during login recovery is dangerous for\ntwo reasons:\n 1. This will result in two parallel initialization processes, this can\n cause serious issues during login.\n 2. It is possible that the failover CRQ is received but never executed.\n We get notified of a pending failover through a transport event CRQ.\n The reset is not performed until a INIT CRQ request is received.\n Previously, if CRQ init fails during login recovery, then the ibmvnic\n irq is freed and the login process returned error. If failover_pending\n is true (a transport event was received), then the ibmvnic device\n would never be able to process the reset since it cannot receive the\n CRQ_INIT request due to the irq being freed. This leaved the device\n in a inoperable state.\n\nTherefore, the login failure recovery process must be hardened against\nthese possible issues. Possible failovers (due to quick CRQ free and\ninit) must be avoided and any issues during re-initialization should be\ndealt with instead of being propagated up the stack. This logic is\nsimilar to that of ibmvnic_probe().\n\nFixes: dff515a3e71d (\"ibmvnic: Harden device login requests\")\nSigned-off-by: Nick Child \u003cnnac123@linux.ibm.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20230809221038.51296-5-nnac123@linux.ibm.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "23cc5f667453ca7645a24c8d21bf84dbf61107b2",
      "tree": "357c8665319a5019d0375a8b4d41b0cd8a93cd9d",
      "parents": [
        "d78a671eb8996af19d6311ecdee9790d2fa479f0"
      ],
      "author": {
        "name": "Nick Child",
        "email": "nnac123@linux.ibm.com",
        "time": "Wed Aug 09 17:10:37 2023 -0500"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 10 10:36:36 2023 -0700"
      },
      "message": "ibmvnic: Do partial reset on login failure\n\nPerform a partial reset before sending a login request if any of the\nfollowing are true:\n 1. If a previous request times out. This can be dangerous because the\n \tVIOS could still receive the old login request at any point after\n \tthe timeout. Therefore, it is best to re-register the CRQ\u0027s  and\n \tsub-CRQ\u0027s before retrying.\n 2. If the previous request returns an error that is not described in\n \tPAPR. PAPR provides procedures if the login returns with partial\n \tsuccess or aborted return codes (section L.5.1) but other values\n\tdo not have a defined procedure. Previously, these conditions\n\tjust returned error from the login function rather than trying\n\tto resolve the issue.\n \tThis can cause further issues since most callers of the login\n \tfunction are not prepared to handle an error when logging in. This\n \timproper cleanup can lead to the device being permanently DOWN\u0027d.\n \tFor example, if the VIOS believes that the device is already logged\n \tin then it will return INVALID_STATE (-7). If we never re-register\n \tCRQ\u0027s then it will always think that the device is already logged\n \tin. This leaves the device inoperable.\n\nThe partial reset involves freeing the sub-CRQs, freeing the CRQ then\nregistering and initializing a new CRQ and sub-CRQs. This essentially\nrestarts all communication with VIOS to allow for a fresh login attempt\nthat will be unhindered by any previous failed attempts.\n\nFixes: dff515a3e71d (\"ibmvnic: Harden device login requests\")\nSigned-off-by: Nick Child \u003cnnac123@linux.ibm.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20230809221038.51296-4-nnac123@linux.ibm.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "d78a671eb8996af19d6311ecdee9790d2fa479f0",
      "tree": "94cf68b4c148eb75f9ef4ad8e12dd872fdf0a723",
      "parents": [
        "411c565b4bc63e9584a8493882bd566e35a90588"
      ],
      "author": {
        "name": "Nick Child",
        "email": "nnac123@linux.ibm.com",
        "time": "Wed Aug 09 17:10:36 2023 -0500"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 10 10:36:36 2023 -0700"
      },
      "message": "ibmvnic: Handle DMA unmapping of login buffs in release functions\n\nRather than leaving the DMA unmapping of the login buffers to the\nlogin response handler, move this work into the login release functions.\nPreviously, these functions were only used for freeing the allocated\nbuffers. This could lead to issues if there are more than one\noutstanding login buffer requests, which is possible if a login request\ntimes out.\n\nIf a login request times out, then there is another call to send login.\nThe send login function makes a call to the login buffer release\nfunction. In the past, this freed the buffers but did not DMA unmap.\nTherefore, the VIOS could still write to the old login (now freed)\nbuffer. It is for this reason that it is a good idea to leave the DMA\nunmap call to the login buffers release function.\n\nSince the login buffer release functions now handle DMA unmapping,\nremove the duplicate DMA unmapping in handle_login_rsp().\n\nFixes: dff515a3e71d (\"ibmvnic: Harden device login requests\")\nSigned-off-by: Nick Child \u003cnnac123@linux.ibm.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20230809221038.51296-3-nnac123@linux.ibm.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "411c565b4bc63e9584a8493882bd566e35a90588",
      "tree": "d71630da6035d5b424c6c502f170a45d30f23e0d",
      "parents": [
        "db17ba719bceb52f0ae4ebca0e4c17d9a3bebf05"
      ],
      "author": {
        "name": "Nick Child",
        "email": "nnac123@linux.ibm.com",
        "time": "Wed Aug 09 17:10:35 2023 -0500"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 10 10:36:36 2023 -0700"
      },
      "message": "ibmvnic: Unmap DMA login rsp buffer on send login fail\n\nIf the LOGIN CRQ fails to send then we must DMA unmap the response\nbuffer. Previously, if the CRQ failed then the memory was freed without\nDMA unmapping.\n\nFixes: c98d9cc4170d (\"ibmvnic: send_login should check for crq errors\")\nSigned-off-by: Nick Child \u003cnnac123@linux.ibm.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20230809221038.51296-2-nnac123@linux.ibm.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "db17ba719bceb52f0ae4ebca0e4c17d9a3bebf05",
      "tree": "7857c733d415707c65607da089888600b8f248f9",
      "parents": [
        "a7dfeda6fdeccab4c7c3dce9a72c4262b9530c80"
      ],
      "author": {
        "name": "Nick Child",
        "email": "nnac123@linux.ibm.com",
        "time": "Wed Aug 09 17:10:34 2023 -0500"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 10 10:36:36 2023 -0700"
      },
      "message": "ibmvnic: Enforce stronger sanity checks on login response\n\nEnsure that all offsets in a login response buffer are within the size\nof the allocated response buffer. Any offsets or lengths that surpass\nthe allocation are likely the result of an incomplete response buffer.\nIn these cases, a full reset is necessary.\n\nWhen attempting to login, the ibmvnic device will allocate a response\nbuffer and pass a reference to the VIOS. The VIOS will then send the\nibmvnic device a LOGIN_RSP CRQ to signal that the buffer has been filled\nwith data. If the ibmvnic device does not get a response in 20 seconds,\nthe old buffer is freed and a new login request is sent. With 2\noutstanding requests, any LOGIN_RSP CRQ\u0027s could be for the older\nlogin request. If this is the case then the login response buffer (which\nis for the newer login request) could be incomplete and contain invalid\ndata. Therefore, we must enforce strict sanity checks on the response\nbuffer values.\n\nTesting has shown that the `off_rxadd_buff_size` value is filled in last\nby the VIOS and will be the smoking gun for these circumstances.\n\nUntil VIOS can implement a mechanism for tracking outstanding response\nbuffers and a method for mapping a LOGIN_RSP CRQ to a particular login\nresponse buffer, the best ibmvnic can do in this situation is perform a\nfull reset.\n\nFixes: dff515a3e71d (\"ibmvnic: Harden device login requests\")\nSigned-off-by: Nick Child \u003cnnac123@linux.ibm.com\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20230809221038.51296-1-nnac123@linux.ibm.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "a7dfeda6fdeccab4c7c3dce9a72c4262b9530c80",
      "tree": "f693e94900a31d638a191fe4e2955cb0da240d53",
      "parents": [
        "048c796beb6eb4fa3a5a647ee1c81f5c6f0f6a2a"
      ],
      "author": {
        "name": "Souradeep Chakrabarti",
        "email": "schakrabarti@linux.microsoft.com",
        "time": "Wed Aug 09 03:22:05 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Aug 10 10:27:58 2023 -0700"
      },
      "message": "net: mana: Fix MANA VF unload when hardware is unresponsive\n\nWhen unloading the MANA driver, mana_dealloc_queues() waits for the MANA\nhardware to complete any inflight packets and set the pending send count\nto zero. But if the hardware has failed, mana_dealloc_queues()\ncould wait forever.\n\nFix this by adding a timeout to the wait. Set the timeout to 120 seconds,\nwhich is a somewhat arbitrary value that is more than long enough for\nfunctional hardware to complete any sends.\n\nCc: stable@vger.kernel.org\nFixes: ca9c54d2d6a5 (\"net: mana: Add a driver for Microsoft Azure Network Adapter (MANA)\")\nSigned-off-by: Souradeep Chakrabarti \u003cschakrabarti@linux.microsoft.com\u003e\nLink: https://lore.kernel.org/r/1691576525-24271-1-git-send-email-schakrabarti@linux.microsoft.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "eb3515dc99c7c85f4170b50838136b2a193f8012",
      "tree": "34c3f47132380217a7d43486245bab1413cc64c6",
      "parents": [
        "a57c27c7ad85c420b7de44c6ee56692d51709dda"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Aug 09 15:05:00 2023 +0200"
      },
      "committer": {
        "name": "Dave Hansen",
        "email": "dave.hansen@linux.intel.com",
        "time": "Thu Aug 10 09:13:21 2023 -0700"
      },
      "message": "x86: Move gds_ucode_mitigated() declaration to header\n\nThe declaration got placed in the .c file of the caller, but that\ncauses a warning for the definition:\n\narch/x86/kernel/cpu/bugs.c:682:6: error: no previous prototype for \u0027gds_ucode_mitigated\u0027 [-Werror\u003dmissing-prototypes]\n\nMove it to a header where both sides can observe it instead.\n\nFixes: 81ac7e5d74174 (\"KVM: Add GDS_NO support to KVM\")\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Dave Hansen \u003cdave.hansen@linux.intel.com\u003e\nTested-by: Daniel Sneddon \u003cdaniel.sneddon@linux.intel.com\u003e\nCc: stable@kernel.org\nLink: https://lore.kernel.org/all/20230809130530.1913368-2-arnd%40kernel.org\n"
    },
    {
      "commit": "a57c27c7ad85c420b7de44c6ee56692d51709dda",
      "tree": "259f62e199d8f8cf7d800168287bc7811f3c52f9",
      "parents": [
        "6524c798b727ffdb5c7eaed2f50e8e839997df8e"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Aug 09 15:04:59 2023 +0200"
      },
      "committer": {
        "name": "Dave Hansen",
        "email": "dave.hansen@linux.intel.com",
        "time": "Thu Aug 10 09:12:18 2023 -0700"
      },
      "message": "x86/speculation: Add cpu_show_gds() prototype\n\nThe newly added function has two definitions but no prototypes:\n\ndrivers/base/cpu.c:605:16: error: no previous prototype for \u0027cpu_show_gds\u0027 [-Werror\u003dmissing-prototypes]\n\nAdd a declaration next to the other ones for this file to avoid the\nwarning.\n\nFixes: 8974eb588283b (\"x86/speculation: Add Gather Data Sampling mitigation\")\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Dave Hansen \u003cdave.hansen@linux.intel.com\u003e\nTested-by: Daniel Sneddon \u003cdaniel.sneddon@linux.intel.com\u003e\nCc: stable@kernel.org\nLink: https://lore.kernel.org/all/20230809130530.1913368-1-arnd%40kernel.org\n"
    },
    {
      "commit": "6524c798b727ffdb5c7eaed2f50e8e839997df8e",
      "tree": "04985ce5eb18693923d4157711c99899b304bf4a",
      "parents": [
        "cbe8ded48b939b9d55d2c5589ab56caa7b530709"
      ],
      "author": {
        "name": "Borislav Petkov (AMD)",
        "email": "bp@alien8.de",
        "time": "Thu Aug 10 13:22:29 2023 +0200"
      },
      "committer": {
        "name": "Borislav Petkov (AMD)",
        "email": "bp@alien8.de",
        "time": "Thu Aug 10 13:25:12 2023 +0200"
      },
      "message": "driver core: cpu: Make cpu_show_not_affected() static\n\nFix a -Wmissing-prototypes warning and add the gather_data_sampling()\nstub macro call for real.\n\nFixes: 0fddfe338210 (\"driver core: cpu: Unify redundant silly stubs\")\nCloses: https://lore.kernel.org/oe-kbuild-all/202308101956.oRj1ls7s-lkp@intel.com\nReported-by: kernel test robot \u003clkp@intel.com\u003e\nSigned-off-by: Borislav Petkov (AMD) \u003cbp@alien8.de\u003e\nLink: https://lore.kernel.org/r/202308101956.oRj1ls7s-lkp@intel.com\n"
    },
    {
      "commit": "cbe8ded48b939b9d55d2c5589ab56caa7b530709",
      "tree": "6b72260f9ee46ad199266cd9774cd3c6be63e5d8",
      "parents": [
        "09f9f37c324d90102e8574856ab168c34de1916d"
      ],
      "author": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Wed Aug 09 09:40:26 2023 -0700"
      },
      "committer": {
        "name": "Borislav Petkov (AMD)",
        "email": "bp@alien8.de",
        "time": "Thu Aug 10 11:03:12 2023 +0200"
      },
      "message": "x86/srso: Fix build breakage with the LLVM linker\n\nThe assertion added to verify the difference in bits set of the\naddresses of srso_untrain_ret_alias() and srso_safe_ret_alias() would fail\nto link in LLVM\u0027s ld.lld linker with the following error:\n\n  ld.lld: error: ./arch/x86/kernel/vmlinux.lds:210: at least one side of\n  the expression must be absolute\n  ld.lld: error: ./arch/x86/kernel/vmlinux.lds:211: at least one side of\n  the expression must be absolute\n\nUse ABSOLUTE to evaluate the expression referring to at least one of the\nsymbols so that LLD can evaluate the linker script.\n\nAlso, add linker version info to the comment about XOR being unsupported\nin either ld.bfd or ld.lld until somewhat recently.\n\nFixes: fb3bd914b3ec (\"x86/srso: Add a Speculative RAS Overflow mitigation\")\nCloses: https://lore.kernel.org/llvm/CA+G9fYsdUeNu-gwbs0+T6XHi4hYYk\u003dY9725-wFhZ7gJMspLDRA@mail.gmail.com/\nReported-by: Nathan Chancellor \u003cnathan@kernel.org\u003e\nReported-by: Daniel Kolesa \u003cdaniel@octaforge.org\u003e\nReported-by: Naresh Kamboju \u003cnaresh.kamboju@linaro.org\u003e\nSuggested-by: Sven Volkinsfeld \u003cthyrc@gmx.net\u003e\nSigned-off-by: Nick Desaulniers \u003cndesaulniers@google.com\u003e\nSigned-off-by: Borislav Petkov (AMD) \u003cbp@alien8.de\u003e\nLink: https://github.com/ClangBuiltLinux/linux/issues/1907\nLink: https://lore.kernel.org/r/20230809-gds-v1-1-eaac90b0cbcc@google.com\n"
    },
    {
      "commit": "09f9f37c324d90102e8574856ab168c34de1916d",
      "tree": "7335b5e3eb24d6dbeaeba4090aac3beb842fe819",
      "parents": [
        "0fddfe338210aa018137c03030c581f5ea4be282"
      ],
      "author": {
        "name": "Borislav Petkov (AMD)",
        "email": "bp@alien8.de",
        "time": "Wed Aug 02 20:07:32 2023 +0200"
      },
      "committer": {
        "name": "Borislav Petkov (AMD)",
        "email": "bp@alien8.de",
        "time": "Thu Aug 10 11:03:12 2023 +0200"
      },
      "message": "Documentation/srso: Document IBPB aspect and fix formatting\n\nAdd a note about the dependency of the User-\u003eUser mitigation on the\nprevious Spectre v2 IBPB selection.\n\nMake the layout moar pretty.\n\nSigned-off-by: Borislav Petkov (AMD) \u003cbp@alien8.de\u003e\nReviewed-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nLink: https://lore.kernel.org/r/20230809102700.29449-4-bp@alien8.de\n"
    },
    {
      "commit": "0fddfe338210aa018137c03030c581f5ea4be282",
      "tree": "15d20f93b765859f1841298a57c55e4ae9208192",
      "parents": [
        "182ac87070e26d32a01445cec7ca7afa07411468"
      ],
      "author": {
        "name": "Borislav Petkov (AMD)",
        "email": "bp@alien8.de",
        "time": "Sat Jul 29 17:20:33 2023 +0200"
      },
      "committer": {
        "name": "Borislav Petkov (AMD)",
        "email": "bp@alien8.de",
        "time": "Thu Aug 10 11:03:04 2023 +0200"
      },
      "message": "driver core: cpu: Unify redundant silly stubs\n\nMake them all a weak function, aliasing to a single function which\nissues the \"Not affected\" string.\n\nNo functional changes.\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Borislav Petkov (AMD) \u003cbp@alien8.de\u003e\nReviewed-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nReviewed-by: Nikolay Borisov \u003cnik.borisov@suse.com\u003e\nLink: https://lore.kernel.org/r/20230809102700.29449-3-bp@alien8.de\n"
    },
    {
      "commit": "182ac87070e26d32a01445cec7ca7afa07411468",
      "tree": "0f484984588fc98f57defe3f9403a436faefc6aa",
      "parents": [
        "cacc6e22932f373a91d7be55a9b992dc77f4c59b"
      ],
      "author": {
        "name": "Borislav Petkov (AMD)",
        "email": "bp@alien8.de",
        "time": "Sat Jul 29 16:53:02 2023 +0200"
      },
      "committer": {
        "name": "Borislav Petkov (AMD)",
        "email": "bp@alien8.de",
        "time": "Thu Aug 10 10:48:12 2023 +0200"
      },
      "message": "Documentation/hw-vuln: Unify filename specification in index\n\nMost of the index.rst files in Documentation/ refer to other rst files\nwithout their file extension in the name. Do that here too.\n\nNo functional changes.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Borislav Petkov (AMD) \u003cbp@alien8.de\u003e\nReviewed-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nLink: https://lore.kernel.org/r/20230809102700.29449-2-bp@alien8.de\n"
    },
    {
      "commit": "a2dd0233cbc4d8a0abb5f64487487ffc9265beb5",
      "tree": "3312408450cd13f0a5e69505219cef647829cdfd",
      "parents": [
        "c92db3030492b8ad1d0faace7a93bbcf53850d0c"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Aug 09 15:00:36 2023 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Aug 10 08:25:27 2023 +0200"
      },
      "message": "netfilter: nf_tables: remove busy mark and gc batch API\n\nDitch it, it has been replace it by the GC transaction API and it has no\nclients anymore.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "c92db3030492b8ad1d0faace7a93bbcf53850d0c",
      "tree": "0f20b48397ad4c53a064547467ea5efbd001f0f9",
      "parents": [
        "f6c383b8c31a93752a52697f8430a71dcbc46adf"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Aug 09 15:00:06 2023 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Aug 10 08:25:27 2023 +0200"
      },
      "message": "netfilter: nft_set_hash: mark set element as dead when deleting from packet path\n\nSet on the NFT_SET_ELEM_DEAD_BIT flag on this element, instead of\nperforming element removal which might race with an ongoing transaction.\nEnable gc when dynamic flag is set on since dynset deletion requires\ngarbage collection after this patch.\n\nFixes: d0a8d877da97 (\"netfilter: nft_dynset: support for element deletion\")\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "f6c383b8c31a93752a52697f8430a71dcbc46adf",
      "tree": "c492c243f84ad2a7363eac614bd6b02057cd9c1b",
      "parents": [
        "5f68718b34a531a556f2f50300ead2862278da26"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Aug 09 14:54:23 2023 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Aug 10 08:25:27 2023 +0200"
      },
      "message": "netfilter: nf_tables: adapt set backend to use GC transaction API\n\nUse the GC transaction API to replace the old and buggy gc API and the\nbusy mark approach.\n\nNo set elements are removed from async garbage collection anymore,\ninstead the _DEAD bit is set on so the set element is not visible from\nlookup path anymore. Async GC enqueues transaction work that might be\naborted and retried later.\n\nrbtree and pipapo set backends does not set on the _DEAD bit from the\nsync GC path since this runs in control plane path where mutex is held.\nIn this case, set elements are deactivated, removed and then released\nvia RCU callback, sync GC never fails.\n\nFixes: 3c4287f62044 (\"nf_tables: Add set type for arbitrary concatenation of ranges\")\nFixes: 8d8540c4f5e0 (\"netfilter: nft_set_rbtree: add timeout support\")\nFixes: 9d0982927e79 (\"netfilter: nft_hash: add support for timeouts\")\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "5f68718b34a531a556f2f50300ead2862278da26",
      "tree": "350caf43161541adb44ed66f15c0a782c535e33d",
      "parents": [
        "24138933b97b055d486e8064b4a1721702442a9b"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Aug 09 14:31:54 2023 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Aug 10 08:25:16 2023 +0200"
      },
      "message": "netfilter: nf_tables: GC transaction API to avoid race with control plane\n\nThe set types rhashtable and rbtree use a GC worker to reclaim memory.\nFrom system work queue, in periodic intervals, a scan of the table is\ndone.\n\nThe major caveat here is that the nft transaction mutex is not held.\nThis causes a race between control plane and GC when they attempt to\ndelete the same element.\n\nWe cannot grab the netlink mutex from the work queue, because the\ncontrol plane has to wait for the GC work queue in case the set is to be\nremoved, so we get following deadlock:\n\n   cpu 1                                cpu2\n     GC work                            transaction comes in , lock nft mutex\n       `acquire nft mutex // BLOCKS\n                                        transaction asks to remove the set\n                                        set destruction calls cancel_work_sync()\n\ncancel_work_sync will now block forever, because it is waiting for the\nmutex the caller already owns.\n\nThis patch adds a new API that deals with garbage collection in two\nsteps:\n\n1) Lockless GC of expired elements sets on the NFT_SET_ELEM_DEAD_BIT\n   so they are not visible via lookup. Annotate current GC sequence in\n   the GC transaction. Enqueue GC transaction work as soon as it is\n   full. If ruleset is updated, then GC transaction is aborted and\n   retried later.\n\n2) GC work grabs the mutex. If GC sequence has changed then this GC\n   transaction lost race with control plane, abort it as it contains\n   stale references to objects and let GC try again later. If the\n   ruleset is intact, then this GC transaction deactivates and removes\n   the elements and it uses call_rcu() to destroy elements.\n\nNote that no elements are removed from GC lockless path, the _DEAD bit\nis set and pointers are collected. GC catchall does not remove the\nelements anymore too. There is a new set-\u003edead flag that is set on to\nabort the GC transaction to deal with set-\u003eops-\u003edestroy() path which\nremoves the remaining elements in the set from commit_release, where no\nmutex is held.\n\nTo deal with GC when mutex is held, which allows safe deactivate and\nremoval, add sync GC API which releases the set element object via\ncall_rcu(). This is used by rbtree and pipapo backends which also\nperform garbage collection from control plane path.\n\nSince element removal from sets can happen from control plane and\nelement garbage collection/timeout, it is necessary to keep the set\nstructure alive until all elements have been deactivated and destroyed.\n\nWe cannot do a cancel_work_sync or flush_work in nft_set_destroy because\nits called with the transaction mutex held, but the aforementioned async\nwork queue might be blocked on the very mutex that nft_set_destroy()\ncallchain is sitting on.\n\nThis gives us the choice of ABBA deadlock or UaF.\n\nTo avoid both, add set-\u003erefs refcount_t member. The GC API can then\nincrement the set refcount and release it once the elements have been\nfree\u0027d.\n\nSet backends are adapted to use the GC transaction API in a follow up\npatch entitled:\n\n  (\"netfilter: nf_tables: use gc transaction API in set backends\")\n\nThis is joint work with Florian Westphal.\n\nFixes: cfed7e1b1f8e (\"netfilter: nf_tables: add set garbage collection helpers\")\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "374a7f47bf401441edff0a64465e61326bf70a82",
      "tree": "5d5dbc1cbf467ca089cabee79d3c5bb965365f4c",
      "parents": [
        "b4f63b0f2d170b9dfae0de3fd2981424873cce2b",
        "79ed288cef201f1f212dfb934bcaac75572fb8f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 09 21:12:56 2023 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 09 21:12:56 2023 -0700"
      },
      "message": "Merge tag \u00276.5-rc5-ksmbd-server\u0027 of git://git.samba.org/ksmbd\n\nPull smb server fixes from Steve French:\n \"Two ksmbd server fixes, both also for stable:\n\n   - improve buffer validation when multiple EAs returned\n\n   - missing check for command payload size\"\n\n* tag \u00276.5-rc5-ksmbd-server\u0027 of git://git.samba.org/ksmbd:\n  ksmbd: fix wrong next length validation of ea buffer in smb2_set_ea()\n  ksmbd: validate command request size\n"
    },
    {
      "commit": "b4f63b0f2d170b9dfae0de3fd2981424873cce2b",
      "tree": "2a92b02f6b7d4b69fb70ef557d2a1596faeea878",
      "parents": [
        "cacc6e22932f373a91d7be55a9b992dc77f4c59b",
        "487ae3b42d1040b4cd5ff9754e7516b409204029"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 09 21:06:14 2023 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 09 21:06:14 2023 -0700"
      },
      "message": "Merge tag \u0027perf-tools-fixes-for-v6.5-3-2023-08-09\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux\n\nPull perf tools fixes from Arnaldo Carvalho de Melo:\n\n - Revert a patch that unconditionally resolved addresses to inlines in\n   callchains, something that was done before when DWARF mode was asked\n   for, but could as well be done when just frame pointers (the default)\n   was selected.\n\n   This enriches the callchains with inlines but the way to resolve it\n   is gross right now, relying on addr2line, and even if we come up with\n   an efficient way of processing all the associated DWARF info for a\n   big file as vmlinux is, this has to be something people opt-in, as it\n   will still result in overheads, so revert it until we get this done\n   in a saner way.\n\n - Update the x86 msr-index.h header with the kernel original, no change\n   in tooling output, just addresses a tools/perf build warning.\n\n  - Resolve a regression where special \"tool events\", such as\n    \"duration_time\" were being presented for all CPUs, when it only\n    makes sense to show it for the workload, that is, just once.\n\n* tag \u0027perf-tools-fixes-for-v6.5-3-2023-08-09\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:\n  perf stat: Don\u0027t display zero tool counts\n  tools arch x86: Sync the msr-index.h copy with the kernel sources\n  Revert \"perf report: Append inlines to non-DWARF callchains\"\n"
    },
    {
      "commit": "b734f02c887d9a02cd777ee3a74be38df341fabb",
      "tree": "5188bd27455f49c34221d319c22a48351950de8c",
      "parents": [
        "85c2c79a07302fe68a1ad5cc449458cc559e314d",
        "a4b7193d8efdfde1ea89fe34e921ad031f79f993"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Wed Aug 09 20:29:03 2023 -0700"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Wed Aug 09 20:29:10 2023 -0700"
      },
      "message": "Merge branch \u0027bug fixes for sockmap\u0027\n\nXu Kuohai says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nbug fixes and a new test case for sockmap.\n\nv3:\nfix bpf ci failure\n\nv2: https://lore.kernel.org/bpf/20230803064838.108784-1-xukuohai@huaweicloud.com\nadd a test case\n\nv1:\nhttps://lore.kernel.org/bpf/20230728105649.3978774-1-xukuohai@huaweicloud.com\nhttps://lore.kernel.org/bpf/20230728105717.3978849-1-xukuohai@huaweicloud.com\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\n"
    },
    {
      "commit": "a4b7193d8efdfde1ea89fe34e921ad031f79f993",
      "tree": "5188bd27455f49c34221d319c22a48351950de8c",
      "parents": [
        "90f0074cd9f9a24b7b6c4d5afffa676aee48c0e9"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Fri Aug 04 03:37:40 2023 -0400"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Wed Aug 09 20:29:02 2023 -0700"
      },
      "message": "selftests/bpf: Add sockmap test for redirecting partial skb data\n\nAdd a test case to check whether sockmap redirection works correctly\nwhen data length returned by stream_parser is less than skb-\u003elen.\n\nIn addition, this test checks whether strp_done is called correctly.\nThe reason is that we returns skb-\u003elen - 1 from the stream_parser, so\nthe last byte in the skb will be held by strp-\u003eskb_head. Therefore,\nif strp_done is not called to free strp-\u003eskb_head, we\u0027ll get a memleak\nwarning.\n\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nLink: https://lore.kernel.org/r/20230804073740.194770-5-xukuohai@huaweicloud.com\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\n"
    },
    {
      "commit": "90f0074cd9f9a24b7b6c4d5afffa676aee48c0e9",
      "tree": "cf08d433900a70ca2d1001e4a1d572671c30cabd",
      "parents": [
        "809e4dc71a0f2b8d2836035d98603694fff11d5d"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Fri Aug 04 03:37:39 2023 -0400"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Wed Aug 09 20:29:02 2023 -0700"
      },
      "message": "selftests/bpf: fix a CI failure caused by vsock sockmap test\n\nBPF CI has reported the following failure:\n\nError: #200/79 sockmap_listen/sockmap VSOCK test_vsock_redir\n  Error: #200/79 sockmap_listen/sockmap VSOCK test_vsock_redir\n  ./test_progs:vsock_unix_redir_connectible:1506: egress: write: Transport endpoint is not connected\n  vsock_unix_redir_connectible:FAIL:1506\n  ./test_progs:vsock_unix_redir_connectible:1506: ingress: write: Transport endpoint is not connected\n  vsock_unix_redir_connectible:FAIL:1506\n  ./test_progs:vsock_unix_redir_connectible:1506: egress: write: Transport endpoint is not connected\n  vsock_unix_redir_connectible:FAIL:1506\n  ./test_progs:vsock_unix_redir_connectible:1514: ingress: recv() err, errno\u003d11\n  vsock_unix_redir_connectible:FAIL:1514\n  ./test_progs:vsock_unix_redir_connectible:1518: ingress: vsock socket map failed, a !\u003d b\n  vsock_unix_redir_connectible:FAIL:1518\n  ./test_progs:vsock_unix_redir_connectible:1525: ingress: want pass count 1, have 0\n\nIt’s because the recv(... MSG_DONTWAIT) syscall in the test case is\ncalled before the queued work sk_psock_backlog() in the kernel finishes\nexecuting. So the data to be read is still queued in psock-\u003eingress_skb\nand cannot be read by the user program. Therefore, the non-blocking\nrecv() reads nothing and reports an EAGAIN error.\n\nSo replace recv(... MSG_DONTWAIT) with xrecv_nonblock(), which calls\nselect() to wait for data to be readable or timeout before calls recv().\n\nFixes: d61bd8c1fd02 (\"selftests/bpf: add a test case for vsock sockmap\")\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nLink: https://lore.kernel.org/r/20230804073740.194770-4-xukuohai@huaweicloud.com\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\n"
    },
    {
      "commit": "809e4dc71a0f2b8d2836035d98603694fff11d5d",
      "tree": "fdf0084d2ad5413f90c4c28314df01f039ea7e87",
      "parents": [
        "7e96ec0e6605b69bb21bbf6c0ff9051e656ec2b1"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Fri Aug 04 03:37:38 2023 -0400"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Wed Aug 09 20:29:02 2023 -0700"
      },
      "message": "bpf, sockmap: Fix bug that strp_done cannot be called\n\nstrp_done is only called when psock-\u003eprogs.stream_parser is not NULL,\nbut stream_parser was set to NULL by sk_psock_stop_strp(), called\nby sk_psock_drop() earlier. So, strp_done can never be called.\n\nIntroduce SK_PSOCK_RX_ENABLED to mark whether there is strp on psock.\nChange the condition for calling strp_done from judging whether\nstream_parser is set to judging whether this flag is set. This flag is\nonly set once when strp_init() succeeds, and will never be cleared later.\n\nFixes: c0d95d3380ee (\"bpf, sockmap: Re-evaluate proto ops when psock is removed from sockmap\")\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nReviewed-by: John Fastabend \u003cjohn.fastabend@gmail.com\u003e\nLink: https://lore.kernel.org/r/20230804073740.194770-3-xukuohai@huaweicloud.com\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\n"
    },
    {
      "commit": "7e96ec0e6605b69bb21bbf6c0ff9051e656ec2b1",
      "tree": "ae21d2241e4c6551ca0041e433773283a13e7131",
      "parents": [
        "85c2c79a07302fe68a1ad5cc449458cc559e314d"
      ],
      "author": {
        "name": "Xu Kuohai",
        "email": "xukuohai@huawei.com",
        "time": "Fri Aug 04 03:37:37 2023 -0400"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Wed Aug 09 20:29:02 2023 -0700"
      },
      "message": "bpf, sockmap: Fix map type error in sock_map_del_link\n\nsock_map_del_link() operates on both SOCKMAP and SOCKHASH, although\nboth types have member named \"progs\", the offset of \"progs\" member in\nthese two types is different, so \"progs\" should be accessed with the\nreal map type.\n\nFixes: 604326b41a6f (\"bpf, sockmap: convert to generic sk_msg interface\")\nSigned-off-by: Xu Kuohai \u003cxukuohai@huawei.com\u003e\nReviewed-by: John Fastabend \u003cjohn.fastabend@gmail.com\u003e\nLink: https://lore.kernel.org/r/20230804073740.194770-2-xukuohai@huaweicloud.com\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\n"
    },
    {
      "commit": "85c2c79a07302fe68a1ad5cc449458cc559e314d",
      "tree": "6e0050a230e813d4d021b191fd78c1f2b721c50a",
      "parents": [
        "999f6631866e9ea81add935b9c6ebaab0579d259"
      ],
      "author": {
        "name": "Magnus Karlsson",
        "email": "magnus.karlsson@intel.com",
        "time": "Wed Aug 09 16:28:43 2023 +0200"
      },
      "committer": {
        "name": "Martin KaFai Lau",
        "email": "martin.lau@kernel.org",
        "time": "Wed Aug 09 20:08:04 2023 -0700"
      },
      "message": "xsk: fix refcount underflow in error path\n\nFix a refcount underflow problem reported by syzbot that can happen\nwhen a system is running out of memory. If xp_alloc_tx_descs() fails,\nand it can only fail due to not having enough memory, then the error\npath is triggered. In this error path, the refcount of the pool is\ndecremented as it has incremented before. However, the reference to\nthe pool in the socket was not nulled. This means that when the socket\nis closed later, the socket teardown logic will think that there is a\npool attached to the socket and try to decrease the refcount again,\nleading to a refcount underflow.\n\nI chose this fix as it involved adding just a single line. Another\noption would have been to move xp_get_pool() and the assignment of\nxs-\u003epool to after the if-statement and using xs_umem-\u003epool instead of\nxs-\u003epool in the whole if-statement resulting in somewhat simpler code,\nbut this would have led to much more churn in the code base perhaps\nmaking it harder to backport.\n\nFixes: ba3beec2ec1d (\"xsk: Fix possible crash when multiple sockets are created\")\nReported-by: syzbot+8ada0057e69293a05fd4@syzkaller.appspotmail.com\nSigned-off-by: Magnus Karlsson \u003cmagnus.karlsson@intel.com\u003e\nLink: https://lore.kernel.org/r/20230809142843.13944-1-magnus.karlsson@gmail.com\nSigned-off-by: Martin KaFai Lau \u003cmartin.lau@kernel.org\u003e\n"
    },
    {
      "commit": "048c796beb6eb4fa3a5a647ee1c81f5c6f0f6a2a",
      "tree": "7699a61265da472eaef448fc5a4bd47a23d22b6c",
      "parents": [
        "15c8795dbff8105b9071a7e38e6d4a1649747ec9"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Aug 07 03:25:32 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 15:36:12 2023 -0700"
      },
      "message": "ipv6: adjust ndisc_is_useropt() to also return true for PIO\n\nThe upcoming (and nearly finalized):\n  https://datatracker.ietf.org/doc/draft-collink-6man-pio-pflag/\nwill update the IPv6 RA to include a new flag in the PIO field,\nwhich will serve as a hint to perform DHCPv6-PD.\n\nAs we don\u0027t want DHCPv6 related logic inside the kernel, this piece of\ninformation needs to be exposed to userspace.  The simplest option is to\nsimply expose the entire PIO through the already existing mechanism.\n\nEven without this new flag, the already existing PIO R (router address)\nflag (from RFC6275) cannot AFAICT be handled entirely in kernel,\nand provides useful information that should be exposed to userspace\n(the router\u0027s global address, for use by Mobile IPv6).\n\nAlso cc\u0027ing stable@ for inclusion in LTS, as while technically this is\nnot quite a bugfix, and instead more of a feature, it is absolutely\ntrivial and the alternative is manually cherrypicking into all Android\nCommon Kernel trees - and I know Greg will ask for it to be sent in via\nLTS instead...\n\nCc: Jen Linkova \u003cfurry@google.com\u003e\nCc: Lorenzo Colitti \u003clorenzo@google.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: YOSHIFUJI Hideaki / 吉藤英明 \u003cyoshfuji@linux-ipv6.org\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nLink: https://lore.kernel.org/r/20230807102533.1147559-1-maze@google.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "15c8795dbff8105b9071a7e38e6d4a1649747ec9",
      "tree": "0de69d095279539f655ff32562c0f69511fe3384",
      "parents": [
        "acaaffc570f7743ce6395ffba31d34a566e32b85",
        "06f2ab86a5b6ed55f013258de4be9319841853ea"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 15:04:44 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 15:04:44 2023 -0700"
      },
      "message": "Merge tag \u0027wireless-2023-08-09\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless\n\nJohannes Berg says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nJust a few small updates:\n * fix an integer overflow in nl80211\n * fix rtw89 8852AE disconnections\n * fix a buffer overflow in ath12k\n * fix AP_VLAN configuration lookups\n * fix allocation failure handling in brcm80211\n * update MAINTAINERS for some drivers\n\n* tag \u0027wireless-2023-08-09\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless:\n  wifi: ath12k: Fix buffer overflow when scanning with extraie\n  wifi: nl80211: fix integer overflow in nl80211_parse_mbssid_elems()\n  wifi: cfg80211: fix sband iftype data lookup for AP_VLAN\n  wifi: rtw89: fix 8852AE disconnection caused by RX full flags\n  MAINTAINERS: Remove tree entry for rtl8180\n  MAINTAINERS: Update entry for rtl8187\n  wifi: brcm80211: handle params_v1 allocation failure\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/20230809124818.167432-2-johannes@sipsolutions.net\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "acaaffc570f7743ce6395ffba31d34a566e32b85",
      "tree": "5e017caaa25368c70a137e1ba9246224413c706a",
      "parents": [
        "8a70ed9520c5fafaac91053cacdd44625c39e188",
        "8b5ff37097775cdbd447442603957066dd2e4d02"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:38 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:38 2023 -0700"
      },
      "message": "Merge branch \u0027selftests-forwarding-various-fixes\u0027\n\nIdo Schimmel says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nselftests: forwarding: Various fixes\n\nFix various problems with forwarding selftests. See individual patches\nfor problem description and solution.\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/20230808141503.4060661-1-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "8b5ff37097775cdbd447442603957066dd2e4d02",
      "tree": "5e017caaa25368c70a137e1ba9246224413c706a",
      "parents": [
        "cb034948ac292da82cc0e6bc1340f81be36e117d"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:15:03 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:36 2023 -0700"
      },
      "message": "selftests: forwarding: bridge_mdb: Make test more robust\n\nSome test cases check that the group timer is (or isn\u0027t) 0. Instead of\ngrepping for \"0.00\" grep for \" 0.00\" as the former can also match\n\"260.00\" which is the default group membership interval.\n\nFixes: b6d00da08610 (\"selftests: forwarding: Add bridge MDB test\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-18-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "cb034948ac292da82cc0e6bc1340f81be36e117d",
      "tree": "1f5f4e8ec994431d4bc133ddaab453fb14cc7be6",
      "parents": [
        "e98e195d90cc93b1bf2ad762c7c274a40dab7173"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:15:02 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:36 2023 -0700"
      },
      "message": "selftests: forwarding: bridge_mdb_max: Fix failing test with old libnet\n\nAs explained in commit 8bcfb4ae4d97 (\"selftests: forwarding: Fix failing\ntests with old libnet\"), old versions of libnet (used by mausezahn) do\nnot use the \"SO_BINDTODEVICE\" socket option. For IP unicast packets,\nthis can be solved by prefixing mausezahn invocations with \"ip vrf\nexec\". However, IP multicast packets do not perform routing and simply\negress the bound device, which does not exist in this case.\n\nFix by specifying the source and destination MAC of the packet which\nwill cause mausezahn to use a packet socket instead of an IP socket.\n\nFixes: 3446dcd7df05 (\"selftests: forwarding: bridge_mdb_max: Add a new selftest\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-17-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "e98e195d90cc93b1bf2ad762c7c274a40dab7173",
      "tree": "a6b9d196ba560ebfe779f8e3bc1b56b11fda8c9f",
      "parents": [
        "21a72166abb9c9d13fe24a07cef0a0b9f1e331b0"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:15:01 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:36 2023 -0700"
      },
      "message": "selftests: forwarding: bridge_mdb: Fix failing test with old libnet\n\nAs explained in commit 8bcfb4ae4d97 (\"selftests: forwarding: Fix failing\ntests with old libnet\"), old versions of libnet (used by mausezahn) do\nnot use the \"SO_BINDTODEVICE\" socket option. For IP unicast packets,\nthis can be solved by prefixing mausezahn invocations with \"ip vrf\nexec\". However, IP multicast packets do not perform routing and simply\negress the bound device, which does not exist in this case.\n\nFix by specifying the source and destination MAC of the packet which\nwill cause mausezahn to use a packet socket instead of an IP socket.\n\nFixes: b6d00da08610 (\"selftests: forwarding: Add bridge MDB test\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-16-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "21a72166abb9c9d13fe24a07cef0a0b9f1e331b0",
      "tree": "d00b402ebff2f20187e8c4659d25b12436c32181",
      "parents": [
        "11604178fdc3404d46518e5332f1fe865d30c4a1"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:15:00 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:36 2023 -0700"
      },
      "message": "selftests: forwarding: tc_flower_l2_miss: Fix failing test with old libnet\n\nAs explained in commit 8bcfb4ae4d97 (\"selftests: forwarding: Fix failing\ntests with old libnet\"), old versions of libnet (used by mausezahn) do\nnot use the \"SO_BINDTODEVICE\" socket option. For IP unicast packets,\nthis can be solved by prefixing mausezahn invocations with \"ip vrf\nexec\". However, IP multicast packets do not perform routing and simply\negress the bound device, which does not exist in this case.\n\nFix by specifying the source and destination MAC of the packet which\nwill cause mausezahn to use a packet socket instead of an IP socket.\n\nFixes: 8c33266ae26a (\"selftests: forwarding: Add layer 2 miss test cases\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-15-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "11604178fdc3404d46518e5332f1fe865d30c4a1",
      "tree": "4f7a4bcc5356f5cc4e9e4782f2708583e144b12a",
      "parents": [
        "9ee37e53e7687654b487fc94e82569377272a7a8"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:14:59 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:35 2023 -0700"
      },
      "message": "selftests: forwarding: tc_tunnel_key: Make filters more specific\n\nThe test installs filters that match on various IP fragments (e.g., no\nfragment, first fragment) and expects a certain amount of packets to hit\neach filter. This is problematic as the filters are not specific enough\nand can match IP packets (e.g., IGMP) generated by the stack, resulting\nin failures [1].\n\nFix by making the filters more specific and match on more fields in the\nIP header: Source IP, destination IP and protocol.\n\n[1]\n # timeout set to 0\n # selftests: net/forwarding: tc_tunnel_key.sh\n # TEST: tunnel_key nofrag (skip_hw)                                   [FAIL]\n #       packet smaller than MTU was not tunneled\n # INFO: Could not test offloaded functionality\n not ok 89 selftests: net/forwarding: tc_tunnel_key.sh # exit\u003d1\n\nFixes: 533a89b1940f (\"selftests: forwarding: add tunnel_key \"nofrag\" test case\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nAcked-by: Davide Caratti \u003cdcaratti@redhat.com\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-14-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "9ee37e53e7687654b487fc94e82569377272a7a8",
      "tree": "db320bd06d9d75d9f602be294ceec059e8c9b3e6",
      "parents": [
        "5e8670610b93158ffacc3241f835454ff26a3469"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:14:58 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:35 2023 -0700"
      },
      "message": "selftests: forwarding: tc_flower: Relax success criterion\n\nThe test checks that filters that match on source or destination MAC\nwere only hit once. A host can send more than one packet with a given\nsource or destination MAC, resulting in failures.\n\nFix by relaxing the success criterion and instead check that the filters\nwere not hit zero times. Using tc_check_at_least_x_packets() is also an\noption, but it is not available in older kernels.\n\nFixes: 07e5c75184a1 (\"selftests: forwarding: Introduce tc flower matching tests\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-13-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "5e8670610b93158ffacc3241f835454ff26a3469",
      "tree": "d4995889c68ee89dad4e189d074140683243a77d",
      "parents": [
        "23fb886a1ced6f885ddd541cc86d45c415ce705c"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:14:57 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:35 2023 -0700"
      },
      "message": "selftests: forwarding: tc_actions: Use ncat instead of nc\n\nThe test relies on \u0027nc\u0027 being the netcat version from the nmap project.\nWhile this seems to be the case on Fedora, it is not the case on Ubuntu,\nresulting in failures such as [1].\n\nFix by explicitly using the \u0027ncat\u0027 utility from the nmap project and the\nskip the test in case it is not installed.\n\n[1]\n # timeout set to 0\n # selftests: net/forwarding: tc_actions.sh\n # TEST: gact drop and ok (skip_hw)                                    [ OK ]\n # TEST: mirred egress flower redirect (skip_hw)                       [ OK ]\n # TEST: mirred egress flower mirror (skip_hw)                         [ OK ]\n # TEST: mirred egress matchall mirror (skip_hw)                       [ OK ]\n # TEST: mirred_egress_to_ingress (skip_hw)                            [ OK ]\n # nc: invalid option -- \u0027-\u0027\n # usage: nc [-46CDdFhklNnrStUuvZz] [-I length] [-i interval] [-M ttl]\n #         [-m minttl] [-O length] [-P proxy_username] [-p source_port]\n #         [-q seconds] [-s sourceaddr] [-T keyword] [-V rtable] [-W recvlimit]\n #         [-w timeout] [-X proxy_protocol] [-x proxy_address[:port]]\n #         [destination] [port]\n # nc: invalid option -- \u0027-\u0027\n # usage: nc [-46CDdFhklNnrStUuvZz] [-I length] [-i interval] [-M ttl]\n #         [-m minttl] [-O length] [-P proxy_username] [-p source_port]\n #         [-q seconds] [-s sourceaddr] [-T keyword] [-V rtable] [-W recvlimit]\n #         [-w timeout] [-X proxy_protocol] [-x proxy_address[:port]]\n #         [destination] [port]\n # TEST: mirred_egress_to_ingress_tcp (skip_hw)                        [FAIL]\n #       server output check failed\n # INFO: Could not test offloaded functionality\n not ok 80 selftests: net/forwarding: tc_actions.sh # exit\u003d1\n\nFixes: ca22da2fbd69 (\"act_mirred: use the backlog for nested calls to mirred ingress\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-12-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "23fb886a1ced6f885ddd541cc86d45c415ce705c",
      "tree": "2f57a8831162a85f5ebddc8175557a2e7b85d6e4",
      "parents": [
        "9a711cde07c245a163d95eee5b42ed1871e73236"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:14:56 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:35 2023 -0700"
      },
      "message": "selftests: forwarding: ethtool_mm: Skip when MAC Merge is not supported\n\nMAC Merge cannot be tested with veth pairs, resulting in failures:\n\n # ./ethtool_mm.sh\n [...]\n TEST: Manual configuration with verification: swp1 to swp2          [FAIL]\n         Verification did not succeed\n\nFix by skipping the test when the interfaces do not support MAC Merge.\n\nFixes: e6991384ace5 (\"selftests: forwarding: add a test for MAC Merge layer\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-11-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "9a711cde07c245a163d95eee5b42ed1871e73236",
      "tree": "1c4cb26380e240bc3272d57ef305c15f1c56c138",
      "parents": [
        "b3d9305e60d121dac20a77b6847c4cf14a4c0001"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:14:55 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:35 2023 -0700"
      },
      "message": "selftests: forwarding: hw_stats_l3_gre: Skip when using veth pairs\n\nLayer 3 hardware stats cannot be used when the underlying interfaces are\nveth pairs, resulting in failures:\n\n # ./hw_stats_l3_gre.sh\n TEST: ping gre flat                                                 [ OK ]\n TEST: Test rx packets:                                              [FAIL]\n         Traffic not reflected in the counter: 0 -\u003e 0\n TEST: Test tx packets:                                              [FAIL]\n         Traffic not reflected in the counter: 0 -\u003e 0\n\nFix by skipping the test when used with veth pairs.\n\nFixes: 813f97a26860 (\"selftests: forwarding: Add a tunnel-based test for L3 HW stats\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-10-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "b3d9305e60d121dac20a77b6847c4cf14a4c0001",
      "tree": "5189ddad9f97ea2ad71e0abda92bf63b8fc6cc72",
      "parents": [
        "60a36e21915c31c0375d9427be9406aa8ce2ec34"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:14:54 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:35 2023 -0700"
      },
      "message": "selftests: forwarding: ethtool_extended_state: Skip when using veth pairs\n\nEthtool extended state cannot be tested with veth pairs, resulting in\nfailures:\n\n # ./ethtool_extended_state.sh\n TEST: Autoneg, No partner detected                                  [FAIL]\n         Expected \"Autoneg\", got \"Link detected: no\"\n [...]\n\nFix by skipping the test when used with veth pairs.\n\nFixes: 7d10bcce98cd (\"selftests: forwarding: Add tests for ethtool extended state\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-9-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "60a36e21915c31c0375d9427be9406aa8ce2ec34",
      "tree": "4c2e53bc94e2f511edefa9d19a2ebc2dc1c2d082",
      "parents": [
        "66e131861ab7bf754b50813216f5c6885cd32d63"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:14:53 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:35 2023 -0700"
      },
      "message": "selftests: forwarding: ethtool: Skip when using veth pairs\n\nAuto-negotiation cannot be tested with veth pairs, resulting in\nfailures:\n\n # ./ethtool.sh\n TEST: force of same speed autoneg off                               [FAIL]\n         error in configuration. swp1 speed Not autoneg off\n [...]\n\nFix by skipping the test when used with veth pairs.\n\nFixes: 64916b57c0b1 (\"selftests: forwarding: Add speed and auto-negotiation test\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-8-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "66e131861ab7bf754b50813216f5c6885cd32d63",
      "tree": "c8097fb5da110e8f05a209a72d12489224360e87",
      "parents": [
        "38f7c44d6e760a8513557e27340d61b820c91b8f"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:14:52 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:35 2023 -0700"
      },
      "message": "selftests: forwarding: Add a helper to skip test when using veth pairs\n\nA handful of tests require physical loopbacks to be used instead of veth\npairs. Add a helper that these tests will invoke in order to be skipped\nwhen executed with veth pairs.\n\nFixes: 64916b57c0b1 (\"selftests: forwarding: Add speed and auto-negotiation test\")\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-7-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "38f7c44d6e760a8513557e27340d61b820c91b8f",
      "tree": "00e20f5d8cb8753aac7cc383c9131efa2f779082",
      "parents": [
        "6bdf3d9765f4e0eebfd919e70acc65bce5daa9b9"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:14:51 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:35 2023 -0700"
      },
      "message": "selftests: forwarding: Set default IPv6 traceroute utility\n\nThe test uses the \u0027TROUTE6\u0027 environment variable to encode the name of\nthe IPv6 traceroute utility. By default (without a configuration file),\nthis variable is not set, resulting in failures:\n\n # ./ip6_forward_instats_vrf.sh\n TEST: ping6                                                         [ OK ]\n TEST: Ip6InTooBigErrors                                             [ OK ]\n TEST: Ip6InHdrErrors                                                [FAIL]\n TEST: Ip6InAddrErrors                                               [ OK ]\n TEST: Ip6InDiscards                                                 [ OK ]\n\nFix by setting a default utility name and skip the test if the utility\nis not present.\n\nFixes: 0857d6f8c759 (\"ipv6: When forwarding count rx stats on the orig netdev\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-6-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "6bdf3d9765f4e0eebfd919e70acc65bce5daa9b9",
      "tree": "3c2a1bd49222886078c9813fe5c8d153826b11cd",
      "parents": [
        "ab2eda04e2c2116910b9d77ccc82e727efa71d49"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:14:50 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:34 2023 -0700"
      },
      "message": "selftests: forwarding: bridge_mdb_max: Check iproute2 version\n\nThe selftest relies on iproute2 changes present in version 6.3, but the\ntest does not check for it, resulting in errors:\n\n # ./bridge_mdb_max.sh\n  INFO: 802.1d tests\n  TEST: cfg4: port: ngroups reporting                                 [FAIL]\n          Number of groups was null, now is null, but 5 expected\n  TEST: ctl4: port: ngroups reporting                                 [FAIL]\n          Number of groups was null, now is null, but 5 expected\n  TEST: cfg6: port: ngroups reporting                                 [FAIL]\n          Number of groups was null, now is null, but 5 expected\n  [...]\n\nFix by skipping the test if iproute2 is too old.\n\nFixes: 3446dcd7df05 (\"selftests: forwarding: bridge_mdb_max: Add a new selftest\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/6b04b2ba-2372-6f6b-3ac8-b7cba1cfae83@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-5-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "ab2eda04e2c2116910b9d77ccc82e727efa71d49",
      "tree": "d2a4289a782986e742bd6f165c2a30d4d11ab6a0",
      "parents": [
        "0529883ad102f6c04e19fb7018f31e1bda575bbe"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:14:49 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:34 2023 -0700"
      },
      "message": "selftests: forwarding: bridge_mdb: Check iproute2 version\n\nThe selftest relies on iproute2 changes present in version 6.3, but the\ntest does not check for it, resulting in error:\n\n # ./bridge_mdb.sh\n\n INFO: # Host entries configuration tests\n TEST: Common host entries configuration tests (IPv4)                [FAIL]\n         Managed to add IPv4 host entry with a filter mode\n TEST: Common host entries configuration tests (IPv6)                [FAIL]\n         Managed to add IPv6 host entry with a filter mode\n TEST: Common host entries configuration tests (L2)                  [FAIL]\n         Managed to add L2 host entry with a filter mode\n\n INFO: # Port group entries configuration tests - (*, G)\n Command \"replace\" is unknown, try \"bridge mdb help\".\n [...]\n\nFix by skipping the test if iproute2 is too old.\n\nFixes: b6d00da08610 (\"selftests: forwarding: Add bridge MDB test\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/6b04b2ba-2372-6f6b-3ac8-b7cba1cfae83@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-4-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "0529883ad102f6c04e19fb7018f31e1bda575bbe",
      "tree": "2c6882d2f09bdd4cfa24971e29a2d44a4ce11928",
      "parents": [
        "d72c83b1e4b4a36a38269c77a85ff52f95eb0d08"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:14:48 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:34 2023 -0700"
      },
      "message": "selftests: forwarding: Switch off timeout\n\nThe default timeout for selftests is 45 seconds, but it is not enough\nfor forwarding selftests which can takes minutes to finish depending on\nthe number of tests cases:\n\n # make -C tools/testing/selftests TARGETS\u003dnet/forwarding run_tests\n TAP version 13\n 1..102\n # timeout set to 45\n # selftests: net/forwarding: bridge_igmp.sh\n # TEST: IGMPv2 report 239.10.10.10                                    [ OK ]\n # TEST: IGMPv2 leave 239.10.10.10                                     [ OK ]\n # TEST: IGMPv3 report 239.10.10.10 is_include                         [ OK ]\n # TEST: IGMPv3 report 239.10.10.10 include -\u003e allow                   [ OK ]\n #\n not ok 1 selftests: net/forwarding: bridge_igmp.sh # TIMEOUT 45 seconds\n\nFix by switching off the timeout and setting it to 0. A similar change\nwas done for BPF selftests in commit 6fc5916cc256 (\"selftests: bpf:\nSwitch off timeout\").\n\nFixes: 81573b18f26d (\"selftests/net/forwarding: add Makefile to install tests\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/8d149f8c-818e-d141-a0ce-a6bae606bc22@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-3-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "d72c83b1e4b4a36a38269c77a85ff52f95eb0d08",
      "tree": "04f5f60e24a946c5f000084cf1aefb1a9341c20c",
      "parents": [
        "8a70ed9520c5fafaac91053cacdd44625c39e188"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 17:14:47 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 14:53:34 2023 -0700"
      },
      "message": "selftests: forwarding: Skip test when no interfaces are specified\n\nAs explained in [1], the forwarding selftests are meant to be run with\neither physical loopbacks or veth pairs. The interfaces are expected to\nbe specified in a user-provided forwarding.config file or as command\nline arguments. By default, this file is not present and the tests fail:\n\n # make -C tools/testing/selftests TARGETS\u003dnet/forwarding run_tests\n [...]\n TAP version 13\n 1..102\n # timeout set to 45\n # selftests: net/forwarding: bridge_igmp.sh\n # Command line is not complete. Try option \"help\"\n # Failed to create netif\n not ok 1 selftests: net/forwarding: bridge_igmp.sh # exit\u003d1\n [...]\n\nFix by skipping a test if interfaces are not provided either via the\nconfiguration file or command line arguments.\n\n # make -C tools/testing/selftests TARGETS\u003dnet/forwarding run_tests\n [...]\n TAP version 13\n 1..102\n # timeout set to 45\n # selftests: net/forwarding: bridge_igmp.sh\n # SKIP: Cannot create interface. Name not specified\n ok 1 selftests: net/forwarding: bridge_igmp.sh # SKIP\n\n[1] tools/testing/selftests/net/forwarding/README\n\nFixes: 81573b18f26d (\"selftests/net/forwarding: add Makefile to install tests\")\nReported-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nCloses: https://lore.kernel.org/netdev/856d454e-f83c-20cf-e166-6dc06cbc1543@alu.unizg.hr/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nTested-by: Mirsad Todorovac \u003cmirsad.todorovac@alu.unizg.hr\u003e\nReviewed-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nLink: https://lore.kernel.org/r/20230808141503.4060661-2-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "8a70ed9520c5fafaac91053cacdd44625c39e188",
      "tree": "ac522d776dcb5e40303a69a746012b39d89900e1",
      "parents": [
        "f8d3e0dc4b3aed92063de6e9fd34a75efe8d4a03"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Aug 08 08:49:23 2023 +0000"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 13:45:19 2023 -0700"
      },
      "message": "tcp: add missing family to tcp_set_ca_state() tracepoint\n\nBefore this code is copied, add the missing family, as we did in\ncommit 3dd344ea84e1 (\"net: tracepoint: exposing sk_family in all tcp:tracepoints\")\n\nFixes: 15fcdf6ae116 (\"tcp: Add tracepoint for tcp_set_ca_state\")\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Ping Gan \u003cjacky_gam_2001@163.com\u003e\nCc: Manjusaka \u003cme@manjusaka.me\u003e\nReviewed-by: Simon Horman \u003chorms@kernel.org\u003e\nLink: https://lore.kernel.org/r/20230808084923.2239142-1-edumazet@google.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "f8d3e0dc4b3aed92063de6e9fd34a75efe8d4a03",
      "tree": "17671ff17c9f650eec5d8d832b87be1c019e8072",
      "parents": [
        "718cb09aaa6fa78cc8124e9517efbc6c92665384",
        "8743aeff5bc4dcb5b87b43765f48d5ac3ad7dd9f"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 13:42:09 2023 -0700"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 13:45:19 2023 -0700"
      },
      "message": "Merge branch \u0027nexthop-nexthop-dump-fixes\u0027\n\nIdo Schimmel says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nnexthop: Nexthop dump fixes\n\nPatches #1 and #3 fix two problems related to nexthops and nexthop\nbuckets dump, respectively. Patch #2 is a preparation for the third\npatch.\n\nThe pattern described in these patches of splitting the NLMSG_DONE to a\nseparate response is prevalent in other rtnetlink dump callbacks. I\ndon\u0027t know if it\u0027s because I\u0027m missing something or if this was done\nintentionally to ensure the message is delivered to user space. After\ncommit 0642840b8bb0 (\"af_netlink: ensure that NLMSG_DONE never fails in\ndumps\") this is no longer necessary and I can improve these dump\ncallbacks assuming this analysis is correct.\n\nNo regressions in existing tests:\n\n # ./fib_nexthops.sh\n [...]\n Tests passed: 230\n Tests failed:   0\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/20230808075233.3337922-1-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "8743aeff5bc4dcb5b87b43765f48d5ac3ad7dd9f",
      "tree": "17671ff17c9f650eec5d8d832b87be1c019e8072",
      "parents": [
        "f10d3d9df49d9e6ee244fda6ca264f901a9c5d85"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 10:52:33 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 13:45:12 2023 -0700"
      },
      "message": "nexthop: Fix infinite nexthop bucket dump when using maximum nexthop ID\n\nA netlink dump callback can return a positive number to signal that more\ninformation needs to be dumped or zero to signal that the dump is\ncomplete. In the second case, the core netlink code will append the\nNLMSG_DONE message to the skb in order to indicate to user space that\nthe dump is complete.\n\nThe nexthop bucket dump callback always returns a positive number if\nnexthop buckets were filled in the provided skb, even if the dump is\ncomplete. This means that a dump will span at least two recvmsg() calls\nas long as nexthop buckets are present. In the last recvmsg() call the\ndump callback will not fill in any nexthop buckets because the previous\ncall indicated that the dump should restart from the last dumped nexthop\nID plus one.\n\n # ip link add name dummy1 up type dummy\n # ip nexthop add id 1 dev dummy1\n # ip nexthop add id 10 group 1 type resilient buckets 2\n # strace -e sendto,recvmsg -s 5 ip nexthop bucket\n sendto(3, [[{nlmsg_len\u003d24, nlmsg_type\u003dRTM_GETNEXTHOPBUCKET, nlmsg_flags\u003dNLM_F_REQUEST|NLM_F_DUMP, nlmsg_seq\u003d1691396980, nlmsg_pid\u003d0}, {family\u003dAF_UNSPEC, data\u003d\"\\x00\\x00\\x00\\x00\\x00\"...}], {nlmsg_len\u003d0, nlmsg_type\u003d0 /* NLMSG_??? */, nlmsg_flags\u003d0, nlmsg_seq\u003d0, nlmsg_pid\u003d0}], 152, 0, NULL, 0) \u003d 152\n recvmsg(3, {msg_name\u003d{sa_family\u003dAF_NETLINK, nl_pid\u003d0, nl_groups\u003d00000000}, msg_namelen\u003d12, msg_iov\u003d[{iov_base\u003dNULL, iov_len\u003d0}], msg_iovlen\u003d1, msg_controllen\u003d0, msg_flags\u003dMSG_TRUNC}, MSG_PEEK|MSG_TRUNC) \u003d 128\n recvmsg(3, {msg_name\u003d{sa_family\u003dAF_NETLINK, nl_pid\u003d0, nl_groups\u003d00000000}, msg_namelen\u003d12, msg_iov\u003d[{iov_base\u003d[[{nlmsg_len\u003d64, nlmsg_type\u003dRTM_NEWNEXTHOPBUCKET, nlmsg_flags\u003dNLM_F_MULTI, nlmsg_seq\u003d1691396980, nlmsg_pid\u003d347}, {family\u003dAF_UNSPEC, data\u003d\"\\x00\\x00\\x00\\x00\\x00\"...}], [{nlmsg_len\u003d64, nlmsg_type\u003dRTM_NEWNEXTHOPBUCKET, nlmsg_flags\u003dNLM_F_MULTI, nlmsg_seq\u003d1691396980, nlmsg_pid\u003d347}, {family\u003dAF_UNSPEC, data\u003d\"\\x00\\x00\\x00\\x00\\x00\"...}]], iov_len\u003d32768}], msg_iovlen\u003d1, msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 128\n id 10 index 0 idle_time 6.66 nhid 1\n id 10 index 1 idle_time 6.66 nhid 1\n recvmsg(3, {msg_name\u003d{sa_family\u003dAF_NETLINK, nl_pid\u003d0, nl_groups\u003d00000000}, msg_namelen\u003d12, msg_iov\u003d[{iov_base\u003dNULL, iov_len\u003d0}], msg_iovlen\u003d1, msg_controllen\u003d0, msg_flags\u003dMSG_TRUNC}, MSG_PEEK|MSG_TRUNC) \u003d 20\n recvmsg(3, {msg_name\u003d{sa_family\u003dAF_NETLINK, nl_pid\u003d0, nl_groups\u003d00000000}, msg_namelen\u003d12, msg_iov\u003d[{iov_base\u003d[{nlmsg_len\u003d20, nlmsg_type\u003dNLMSG_DONE, nlmsg_flags\u003dNLM_F_MULTI, nlmsg_seq\u003d1691396980, nlmsg_pid\u003d347}, 0], iov_len\u003d32768}], msg_iovlen\u003d1, msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 20\n +++ exited with 0 +++\n\nThis behavior is both inefficient and buggy. If the last nexthop to be\ndumped had the maximum ID of 0xffffffff, then the dump will restart from\n0 (0xffffffff + 1) and never end:\n\n # ip link add name dummy1 up type dummy\n # ip nexthop add id 1 dev dummy1\n # ip nexthop add id $((2**32-1)) group 1 type resilient buckets 2\n # ip nexthop bucket\n id 4294967295 index 0 idle_time 5.55 nhid 1\n id 4294967295 index 1 idle_time 5.55 nhid 1\n id 4294967295 index 0 idle_time 5.55 nhid 1\n id 4294967295 index 1 idle_time 5.55 nhid 1\n [...]\n\nFix by adjusting the dump callback to return zero when the dump is\ncomplete. After the fix only one recvmsg() call is made and the\nNLMSG_DONE message is appended to the RTM_NEWNEXTHOPBUCKET responses:\n\n # ip link add name dummy1 up type dummy\n # ip nexthop add id 1 dev dummy1\n # ip nexthop add id $((2**32-1)) group 1 type resilient buckets 2\n # strace -e sendto,recvmsg -s 5 ip nexthop bucket\n sendto(3, [[{nlmsg_len\u003d24, nlmsg_type\u003dRTM_GETNEXTHOPBUCKET, nlmsg_flags\u003dNLM_F_REQUEST|NLM_F_DUMP, nlmsg_seq\u003d1691396737, nlmsg_pid\u003d0}, {family\u003dAF_UNSPEC, data\u003d\"\\x00\\x00\\x00\\x00\\x00\"...}], {nlmsg_len\u003d0, nlmsg_type\u003d0 /* NLMSG_??? */, nlmsg_flags\u003d0, nlmsg_seq\u003d0, nlmsg_pid\u003d0}], 152, 0, NULL, 0) \u003d 152\n recvmsg(3, {msg_name\u003d{sa_family\u003dAF_NETLINK, nl_pid\u003d0, nl_groups\u003d00000000}, msg_namelen\u003d12, msg_iov\u003d[{iov_base\u003dNULL, iov_len\u003d0}], msg_iovlen\u003d1, msg_controllen\u003d0, msg_flags\u003dMSG_TRUNC}, MSG_PEEK|MSG_TRUNC) \u003d 148\n recvmsg(3, {msg_name\u003d{sa_family\u003dAF_NETLINK, nl_pid\u003d0, nl_groups\u003d00000000}, msg_namelen\u003d12, msg_iov\u003d[{iov_base\u003d[[{nlmsg_len\u003d64, nlmsg_type\u003dRTM_NEWNEXTHOPBUCKET, nlmsg_flags\u003dNLM_F_MULTI, nlmsg_seq\u003d1691396737, nlmsg_pid\u003d350}, {family\u003dAF_UNSPEC, data\u003d\"\\x00\\x00\\x00\\x00\\x00\"...}], [{nlmsg_len\u003d64, nlmsg_type\u003dRTM_NEWNEXTHOPBUCKET, nlmsg_flags\u003dNLM_F_MULTI, nlmsg_seq\u003d1691396737, nlmsg_pid\u003d350}, {family\u003dAF_UNSPEC, data\u003d\"\\x00\\x00\\x00\\x00\\x00\"...}], [{nlmsg_len\u003d20, nlmsg_type\u003dNLMSG_DONE, nlmsg_flags\u003dNLM_F_MULTI, nlmsg_seq\u003d1691396737, nlmsg_pid\u003d350}, 0]], iov_len\u003d32768}], msg_iovlen\u003d1, msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 148\n id 4294967295 index 0 idle_time 6.61 nhid 1\n id 4294967295 index 1 idle_time 6.61 nhid 1\n +++ exited with 0 +++\n\nNote that if the NLMSG_DONE message cannot be appended because of size\nlimitations, then another recvmsg() will be needed, but the core netlink\ncode will not invoke the dump callback and simply reply with a\nNLMSG_DONE message since it knows that the callback previously returned\nzero.\n\nAdd a test that fails before the fix:\n\n # ./fib_nexthops.sh -t basic_res\n [...]\n TEST: Maximum nexthop ID dump                                       [FAIL]\n [...]\n\nAnd passes after it:\n\n # ./fib_nexthops.sh -t basic_res\n [...]\n TEST: Maximum nexthop ID dump                                       [ OK ]\n [...]\n\nFixes: 8a1bbabb034d (\"nexthop: Add netlink handlers for bucket dump\")\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nReviewed-by: David Ahern \u003cdsahern@kernel.org\u003e\nLink: https://lore.kernel.org/r/20230808075233.3337922-4-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "f10d3d9df49d9e6ee244fda6ca264f901a9c5d85",
      "tree": "6f857aff10ef2a7f264fe700ba7a52c81ad1d978",
      "parents": [
        "913f60cacda73ccac8eead94983e5884c03e04cd"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 10:52:32 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 13:45:04 2023 -0700"
      },
      "message": "nexthop: Make nexthop bucket dump more efficient\n\nrtm_dump_nexthop_bucket_nh() is used to dump nexthop buckets belonging\nto a specific resilient nexthop group. The function returns a positive\nreturn code (the skb length) upon both success and failure.\n\nThe above behavior is problematic. When a complete nexthop bucket dump\nis requested, the function that walks the different nexthops treats the\nnon-zero return code as an error. This causes buckets belonging to\ndifferent resilient nexthop groups to be dumped using different buffers\neven if they can all fit in the same buffer:\n\n # ip link add name dummy1 up type dummy\n # ip nexthop add id 1 dev dummy1\n # ip nexthop add id 10 group 1 type resilient buckets 1\n # ip nexthop add id 20 group 1 type resilient buckets 1\n # strace -e recvmsg -s 0 ip nexthop bucket\n [...]\n recvmsg(3, {msg_name\u003d{sa_family\u003dAF_NETLINK, nl_pid\u003d0, nl_groups\u003d00000000}, msg_namelen\u003d12, msg_iov\u003d[...], msg_iovlen\u003d1, msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 64\n id 10 index 0 idle_time 10.27 nhid 1\n [...]\n recvmsg(3, {msg_name\u003d{sa_family\u003dAF_NETLINK, nl_pid\u003d0, nl_groups\u003d00000000}, msg_namelen\u003d12, msg_iov\u003d[...], msg_iovlen\u003d1, msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 64\n id 20 index 0 idle_time 6.44 nhid 1\n [...]\n\nFix by only returning a non-zero return code when an error occurred and\nrestarting the dump from the bucket index we failed to fill in. This\nallows buckets belonging to different resilient nexthop groups to be\ndumped using the same buffer:\n\n # ip link add name dummy1 up type dummy\n # ip nexthop add id 1 dev dummy1\n # ip nexthop add id 10 group 1 type resilient buckets 1\n # ip nexthop add id 20 group 1 type resilient buckets 1\n # strace -e recvmsg -s 0 ip nexthop bucket\n [...]\n recvmsg(3, {msg_name\u003d{sa_family\u003dAF_NETLINK, nl_pid\u003d0, nl_groups\u003d00000000}, msg_namelen\u003d12, msg_iov\u003d[...], msg_iovlen\u003d1, msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 128\n id 10 index 0 idle_time 30.21 nhid 1\n id 20 index 0 idle_time 26.7 nhid 1\n [...]\n\nWhile this change is more of a performance improvement change than an\nactual bug fix, it is a prerequisite for a subsequent patch that does\nfix a bug.\n\nFixes: 8a1bbabb034d (\"nexthop: Add netlink handlers for bucket dump\")\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nReviewed-by: David Ahern \u003cdsahern@kernel.org\u003e\nLink: https://lore.kernel.org/r/20230808075233.3337922-3-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "913f60cacda73ccac8eead94983e5884c03e04cd",
      "tree": "63a011e3f941232864363489541b712747d63ec6",
      "parents": [
        "718cb09aaa6fa78cc8124e9517efbc6c92665384"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Aug 08 10:52:31 2023 +0300"
      },
      "committer": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Aug 09 13:44:36 2023 -0700"
      },
      "message": "nexthop: Fix infinite nexthop dump when using maximum nexthop ID\n\nA netlink dump callback can return a positive number to signal that more\ninformation needs to be dumped or zero to signal that the dump is\ncomplete. In the second case, the core netlink code will append the\nNLMSG_DONE message to the skb in order to indicate to user space that\nthe dump is complete.\n\nThe nexthop dump callback always returns a positive number if nexthops\nwere filled in the provided skb, even if the dump is complete. This\nmeans that a dump will span at least two recvmsg() calls as long as\nnexthops are present. In the last recvmsg() call the dump callback will\nnot fill in any nexthops because the previous call indicated that the\ndump should restart from the last dumped nexthop ID plus one.\n\n # ip nexthop add id 1 blackhole\n # strace -e sendto,recvmsg -s 5 ip nexthop\n sendto(3, [[{nlmsg_len\u003d24, nlmsg_type\u003dRTM_GETNEXTHOP, nlmsg_flags\u003dNLM_F_REQUEST|NLM_F_DUMP, nlmsg_seq\u003d1691394315, nlmsg_pid\u003d0}, {nh_family\u003dAF_UNSPEC, nh_scope\u003dRT_SCOPE_UNIVERSE, nh_protocol\u003dRTPROT_UNSPEC, nh_flags\u003d0}], {nlmsg_len\u003d0, nlmsg_type\u003d0 /* NLMSG_??? */, nlmsg_flags\u003d0, nlmsg_seq\u003d0, nlmsg_pid\u003d0}], 152, 0, NULL, 0) \u003d 152\n recvmsg(3, {msg_name\u003d{sa_family\u003dAF_NETLINK, nl_pid\u003d0, nl_groups\u003d00000000}, msg_namelen\u003d12, msg_iov\u003d[{iov_base\u003dNULL, iov_len\u003d0}], msg_iovlen\u003d1, msg_controllen\u003d0, msg_flags\u003dMSG_TRUNC}, MSG_PEEK|MSG_TRUNC) \u003d 36\n recvmsg(3, {msg_name\u003d{sa_family\u003dAF_NETLINK, nl_pid\u003d0, nl_groups\u003d00000000}, msg_namelen\u003d12, msg_iov\u003d[{iov_base\u003d[{nlmsg_len\u003d36, nlmsg_type\u003dRTM_NEWNEXTHOP, nlmsg_flags\u003dNLM_F_MULTI, nlmsg_seq\u003d1691394315, nlmsg_pid\u003d343}, {nh_family\u003dAF_INET, nh_scope\u003dRT_SCOPE_UNIVERSE, nh_protocol\u003dRTPROT_UNSPEC, nh_flags\u003d0}, [[{nla_len\u003d8, nla_type\u003dNHA_ID}, 1], {nla_len\u003d4, nla_type\u003dNHA_BLACKHOLE}]], iov_len\u003d32768}], msg_iovlen\u003d1, msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 36\n id 1 blackhole\n recvmsg(3, {msg_name\u003d{sa_family\u003dAF_NETLINK, nl_pid\u003d0, nl_groups\u003d00000000}, msg_namelen\u003d12, msg_iov\u003d[{iov_base\u003dNULL, iov_len\u003d0}], msg_iovlen\u003d1, msg_controllen\u003d0, msg_flags\u003dMSG_TRUNC}, MSG_PEEK|MSG_TRUNC) \u003d 20\n recvmsg(3, {msg_name\u003d{sa_family\u003dAF_NETLINK, nl_pid\u003d0, nl_groups\u003d00000000}, msg_namelen\u003d12, msg_iov\u003d[{iov_base\u003d[{nlmsg_len\u003d20, nlmsg_type\u003dNLMSG_DONE, nlmsg_flags\u003dNLM_F_MULTI, nlmsg_seq\u003d1691394315, nlmsg_pid\u003d343}, 0], iov_len\u003d32768}], msg_iovlen\u003d1, msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 20\n +++ exited with 0 +++\n\nThis behavior is both inefficient and buggy. If the last nexthop to be\ndumped had the maximum ID of 0xffffffff, then the dump will restart from\n0 (0xffffffff + 1) and never end:\n\n # ip nexthop add id $((2**32-1)) blackhole\n # ip nexthop\n id 4294967295 blackhole\n id 4294967295 blackhole\n [...]\n\nFix by adjusting the dump callback to return zero when the dump is\ncomplete. After the fix only one recvmsg() call is made and the\nNLMSG_DONE message is appended to the RTM_NEWNEXTHOP response:\n\n # ip nexthop add id $((2**32-1)) blackhole\n # strace -e sendto,recvmsg -s 5 ip nexthop\n sendto(3, [[{nlmsg_len\u003d24, nlmsg_type\u003dRTM_GETNEXTHOP, nlmsg_flags\u003dNLM_F_REQUEST|NLM_F_DUMP, nlmsg_seq\u003d1691394080, nlmsg_pid\u003d0}, {nh_family\u003dAF_UNSPEC, nh_scope\u003dRT_SCOPE_UNIVERSE, nh_protocol\u003dRTPROT_UNSPEC, nh_flags\u003d0}], {nlmsg_len\u003d0, nlmsg_type\u003d0 /* NLMSG_??? */, nlmsg_flags\u003d0, nlmsg_seq\u003d0, nlmsg_pid\u003d0}], 152, 0, NULL, 0) \u003d 152\n recvmsg(3, {msg_name\u003d{sa_family\u003dAF_NETLINK, nl_pid\u003d0, nl_groups\u003d00000000}, msg_namelen\u003d12, msg_iov\u003d[{iov_base\u003dNULL, iov_len\u003d0}], msg_iovlen\u003d1, msg_controllen\u003d0, msg_flags\u003dMSG_TRUNC}, MSG_PEEK|MSG_TRUNC) \u003d 56\n recvmsg(3, {msg_name\u003d{sa_family\u003dAF_NETLINK, nl_pid\u003d0, nl_groups\u003d00000000}, msg_namelen\u003d12, msg_iov\u003d[{iov_base\u003d[[{nlmsg_len\u003d36, nlmsg_type\u003dRTM_NEWNEXTHOP, nlmsg_flags\u003dNLM_F_MULTI, nlmsg_seq\u003d1691394080, nlmsg_pid\u003d342}, {nh_family\u003dAF_INET, nh_scope\u003dRT_SCOPE_UNIVERSE, nh_protocol\u003dRTPROT_UNSPEC, nh_flags\u003d0}, [[{nla_len\u003d8, nla_type\u003dNHA_ID}, 4294967295], {nla_len\u003d4, nla_type\u003dNHA_BLACKHOLE}]], [{nlmsg_len\u003d20, nlmsg_type\u003dNLMSG_DONE, nlmsg_flags\u003dNLM_F_MULTI, nlmsg_seq\u003d1691394080, nlmsg_pid\u003d342}, 0]], iov_len\u003d32768}], msg_iovlen\u003d1, msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 56\n id 4294967295 blackhole\n +++ exited with 0 +++\n\nNote that if the NLMSG_DONE message cannot be appended because of size\nlimitations, then another recvmsg() will be needed, but the core netlink\ncode will not invoke the dump callback and simply reply with a\nNLMSG_DONE message since it knows that the callback previously returned\nzero.\n\nAdd a test that fails before the fix:\n\n # ./fib_nexthops.sh -t basic\n [...]\n TEST: Maximum nexthop ID dump                                       [FAIL]\n [...]\n\nAnd passes after it:\n\n # ./fib_nexthops.sh -t basic\n [...]\n TEST: Maximum nexthop ID dump                                       [ OK ]\n [...]\n\nFixes: ab84be7e54fc (\"net: Initial nexthop code\")\nReported-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nCloses: https://lore.kernel.org/netdev/87sf91enuf.fsf@nvidia.com/\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nReviewed-by: David Ahern \u003cdsahern@kernel.org\u003e\nLink: https://lore.kernel.org/r/20230808075233.3337922-2-idosch@nvidia.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    }
  ],
  "next": "718cb09aaa6fa78cc8124e9517efbc6c92665384"
}
