diff --git a/patches.suse/IB-mlx5-Optimize-u64-division-on-32-bit-arches.patch b/patches.suse/IB-mlx5-Optimize-u64-division-on-32-bit-arches.patch new file mode 100644 index 0000000..966ab83 --- /dev/null +++ b/patches.suse/IB-mlx5-Optimize-u64-division-on-32-bit-arches.patch @@ -0,0 +1,38 @@ +From: Alexander Lobakin +Date: Mon, 17 Feb 2020 10:36:29 +0300 +Subject: IB/mlx5: Optimize u64 division on 32-bit arches +Patch-mainline: v5.7-rc1 +Git-commit: 91b74bf5310b22ac3286d8e9b5354b77f41af178 +References: jsc#SLE-8446 + +Commit f164be8c0366 ("IB/mlx5: Extend caps stage to handle VAR +capabilities") introduced a straight "/" division of the u64 variable +"bar_size". + +This was fixed with commit 685eff513183 ("IB/mlx5: Use div64_u64 for +num_var_hw_entries calculation"). However, div64_u64() is redundant here +as mlx5_var_table::stride_size is of type u32. Make the actual code way +more optimized on 32-bit kernels using div_u64() and fix 80 chars +break-through by the way. + +Fixes: 685eff513183 ("IB/mlx5: Use div64_u64 for num_var_hw_entries calculation") +Link: https://lore.kernel.org/r/20200217073629.8051-1-alobakin@dlink.ru +Signed-off-by: Alexander Lobakin +Signed-off-by: Jason Gunthorpe +Acked-by: Thomas Bogendoerfer +--- + drivers/infiniband/hw/mlx5/main.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/infiniband/hw/mlx5/main.c ++++ b/drivers/infiniband/hw/mlx5/main.c +@@ -6545,7 +6545,8 @@ static int mlx5_ib_init_var_table(struct + doorbell_bar_offset); + bar_size = (1ULL << log_doorbell_bar_size) * 4096; + var_table->stride_size = 1ULL << log_doorbell_stride; +- var_table->num_var_hw_entries = div64_u64(bar_size, var_table->stride_size); ++ var_table->num_var_hw_entries = div_u64(bar_size, ++ var_table->stride_size); + mutex_init(&var_table->bitmap_lock); + var_table->bitmap = bitmap_zalloc(var_table->num_var_hw_entries, + GFP_KERNEL); diff --git a/patches.suse/RDMA-core-Remove-the-duplicate-header-file.patch b/patches.suse/RDMA-core-Remove-the-duplicate-header-file.patch new file mode 100644 index 0000000..48afd03 --- /dev/null +++ b/patches.suse/RDMA-core-Remove-the-duplicate-header-file.patch @@ -0,0 +1,30 @@ +From: Zhu Yanjun +Date: Tue, 10 Mar 2020 11:16:56 +0200 +Subject: RDMA/core: Remove the duplicate header file +Patch-mainline: v5.7-rc1 +Git-commit: 2d870c5bd0acd42eced3860c3911ed6005654a2d +References: jsc#SLE-8449 + +The header file rdma_core.h is duplicate, so let's remove it. + +Fixes: 622db5b6439a ("RDMA/core: Add trace points to follow MR allocation") +Link: https://lore.kernel.org/r/20200310091656.249696-1-leon@kernel.org +Signed-off-by: Zhu Yanjun +Signed-off-by: Leon Romanovsky +Signed-off-by: Jason Gunthorpe +Acked-by: Thomas Bogendoerfer +--- + drivers/infiniband/core/verbs.c | 2 -- + 1 file changed, 2 deletions(-) + +--- a/drivers/infiniband/core/verbs.c ++++ b/drivers/infiniband/core/verbs.c +@@ -54,8 +54,6 @@ + #include "core_priv.h" + #include + +-#include +- + static int ib_resolve_eth_dmac(struct ib_device *device, + struct rdma_ah_attr *ah_attr); + diff --git a/patches.suse/RDMA-hns-Fix-a-wrong-judgment-of-return-value.patch b/patches.suse/RDMA-hns-Fix-a-wrong-judgment-of-return-value.patch new file mode 100644 index 0000000..11c9d73 --- /dev/null +++ b/patches.suse/RDMA-hns-Fix-a-wrong-judgment-of-return-value.patch @@ -0,0 +1,30 @@ +From: Weihang Li +Date: Fri, 20 Mar 2020 11:23:34 +0800 +Subject: RDMA/hns: Fix a wrong judgment of return value +Patch-mainline: v5.7-rc1 +Git-commit: 30d41e18c3a6eac39b7348ae7e3388f0ec7e680e +References: jsc#SLE-8449 + +hns_roce_alloc_mtt_range() never return -1, ret should be checked +whether it is zero instead of -1. + +Fixes: 1ceb0b11a8a2 ("RDMA/hns: Fix non-standard error codes") +Link: https://lore.kernel.org/r/1584674622-52773-3-git-send-email-liweihang@huawei.com +Signed-off-by: Weihang Li +Signed-off-by: Jason Gunthorpe +Acked-by: Thomas Bogendoerfer +--- + drivers/infiniband/hw/hns/hns_roce_mr.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/infiniband/hw/hns/hns_roce_mr.c ++++ b/drivers/infiniband/hw/hns/hns_roce_mr.c +@@ -243,7 +243,7 @@ int hns_roce_mtt_init(struct hns_roce_de + /* Allocate MTT entry */ + ret = hns_roce_alloc_mtt_range(hr_dev, mtt->order, &mtt->first_seg, + mtt->mtt_type); +- if (ret == -1) ++ if (ret) + return -ENOMEM; + + return 0; diff --git a/patches.suse/RDMA-hns-Fix-wrong-judgments-of-udata-outlen.patch b/patches.suse/RDMA-hns-Fix-wrong-judgments-of-udata-outlen.patch new file mode 100644 index 0000000..563b9e5 --- /dev/null +++ b/patches.suse/RDMA-hns-Fix-wrong-judgments-of-udata-outlen.patch @@ -0,0 +1,46 @@ +From: Weihang Li +Date: Tue, 10 Mar 2020 21:06:09 +0800 +Subject: RDMA/hns: Fix wrong judgments of udata->outlen +Patch-mainline: v5.7-rc1 +Git-commit: 9e57a9aa694cfc28f9549d2ce587309fdac15bfb +References: jsc#SLE-8449 + +These judgments were used to keep the compatibility with older versions of +userspace that don't have the field named "cap_flags" in structure +hns_roce_ib_create_cq_resp. But it will be wrong to compare outlen with +the size of resp if another new field were added in resp. oulen should be +compared with the end offset of cap_flags in resp. + +Fixes: 4f8f0d5e33dd ("RDMA/hns: Package the flow of creating cq") +Link: https://lore.kernel.org/r/1583845569-47257-1-git-send-email-liweihang@huawei.com +Signed-off-by: Weihang Li +Signed-off-by: Jason Gunthorpe +Acked-by: Thomas Bogendoerfer +--- + drivers/infiniband/hw/hns/hns_roce_cq.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- a/drivers/infiniband/hw/hns/hns_roce_cq.c ++++ b/drivers/infiniband/hw/hns/hns_roce_cq.c +@@ -257,8 +257,8 @@ static int create_user_cq(struct hns_roc + return ret; + } + +- if ((hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_RECORD_DB) && +- (udata->outlen >= sizeof(*resp))) { ++ if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_RECORD_DB && ++ udata->outlen >= offsetofend(typeof(*resp), cap_flags)) { + ret = hns_roce_db_map_user(context, udata, ucmd.db_addr, + &hr_cq->db); + if (ret) { +@@ -321,8 +321,8 @@ static void destroy_user_cq(struct hns_r + struct hns_roce_ucontext *context = rdma_udata_to_drv_context( + udata, struct hns_roce_ucontext, ibucontext); + +- if ((hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_RECORD_DB) && +- (udata->outlen >= sizeof(*resp))) ++ if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_RECORD_DB && ++ udata->outlen >= offsetofend(typeof(*resp), cap_flags)) + hns_roce_db_unmap_user(context, &hr_cq->db); + + hns_roce_mtt_cleanup(hr_dev, &hr_cq->mtt); diff --git a/patches.suse/RDMA-mlx5-Prevent-UMR-usage-with-RO-only-when-we-hav.patch b/patches.suse/RDMA-mlx5-Prevent-UMR-usage-with-RO-only-when-we-hav.patch new file mode 100644 index 0000000..c0e2efb --- /dev/null +++ b/patches.suse/RDMA-mlx5-Prevent-UMR-usage-with-RO-only-when-we-hav.patch @@ -0,0 +1,39 @@ +From: Michael Guralnik +Date: Thu, 27 Feb 2020 13:38:34 +0200 +Subject: RDMA/mlx5: Prevent UMR usage with RO only when we have RO caps +Patch-mainline: v5.7-rc1 +Git-commit: 5e29d1443c46b6ca70a4c940a67e8c09f05dcb7e +References: jsc#SLE-8446 + +Relaxed ordering is not supported in UMR so we are disabling UMR usage +when user passes relaxed ordering access flag. + +Enable using UMR when user requested relaxed ordering but there are no +relaxed ordering capabilities. + +This will prevent user from unnecessarily registering a new mkey. + +Fixes: d6de0bb1850f ("RDMA/mlx5: Set relaxed ordering when requested") +Link: https://lore.kernel.org/r/20200227113834.94233-1-leon@kernel.org +Signed-off-by: Michael Guralnik +Reviewed-by: Maor Gottlieb +Signed-off-by: Leon Romanovsky +Signed-off-by: Jason Gunthorpe +Acked-by: Thomas Bogendoerfer +--- + drivers/infiniband/hw/mlx5/mlx5_ib.h | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/drivers/infiniband/hw/mlx5/mlx5_ib.h ++++ b/drivers/infiniband/hw/mlx5/mlx5_ib.h +@@ -1536,7 +1536,9 @@ static inline bool mlx5_ib_can_use_umr(s + MLX5_CAP_GEN(dev->mdev, umr_modify_atomic_disabled)) + return false; + +- if (access_flags & IB_ACCESS_RELAXED_ORDERING) ++ if (access_flags & IB_ACCESS_RELAXED_ORDERING && ++ (MLX5_CAP_GEN(dev->mdev, relaxed_ordering_write) || ++ MLX5_CAP_GEN(dev->mdev, relaxed_ordering_read))) + return false; + + return true; diff --git a/patches.suse/bnxt_en-Fix-fw.mgmt-and-fw.nsci-info-via-devlink-inf.patch b/patches.suse/bnxt_en-Fix-fw.mgmt-and-fw.nsci-info-via-devlink-inf.patch new file mode 100644 index 0000000..9c2960a --- /dev/null +++ b/patches.suse/bnxt_en-Fix-fw.mgmt-and-fw.nsci-info-via-devlink-inf.patch @@ -0,0 +1,56 @@ +From: Vasundhara Volam +Date: Fri, 27 Mar 2020 15:05:51 +0530 +Subject: bnxt_en: Fix "fw.mgmt" and "fw.nsci" info via devlink info_get cb +Patch-mainline: v5.7-rc1 +Git-commit: 2013d03827dbc2d4b3110ea96f805c5ab035ab15 +References: jsc#SLE-8371 bsc#1153274 + +Fix macro names to report fw.mgmt and fw.ncsi versions to match the +devlink documentation. + +Example display after fixes: + +$ devlink dev info pci/0000:af:00.0 +pci/0000:af:00.0: + driver bnxt_en + serial_number B0-26-28-FF-FE-25-84-20 + versions: + fixed: + board.id BCM957454A4540 + asic.id C454 + asic.rev 1 + running: + fw 216.1.154.0 + fw.psid 0.0.0 + fw.mgmt 216.1.146.0 + fw.mgmt.api 1.10.1 + fw.ncsi 864.0.44.0 + fw.roce 216.1.16.0 + +Fixes: 9599e036b161 ("bnxt_en: Add support for devlink info command") +Signed-off-by: Vasundhara Volam +Signed-off-by: Michael Chan +Signed-off-by: David S. Miller +Acked-by: Thomas Bogendoerfer +--- + drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c ++++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +@@ -471,13 +471,13 @@ static int bnxt_dl_info_get(struct devli + ver_resp->roce_fw_bld_8b, ver_resp->roce_fw_rsvd_8b); + } + rc = devlink_info_version_running_put(req, +- DEVLINK_INFO_VERSION_GENERIC_FW_APP, fw_ver); ++ DEVLINK_INFO_VERSION_GENERIC_FW_MGMT, fw_ver); + if (rc) + return rc; + + if (!(bp->flags & BNXT_FLAG_CHIP_P5)) { + rc = devlink_info_version_running_put(req, +- DEVLINK_INFO_VERSION_GENERIC_FW_MGMT, mgmt_ver); ++ DEVLINK_INFO_VERSION_GENERIC_FW_NCSI, mgmt_ver); + if (rc) + return rc; + diff --git a/patches.suse/cxgb4-free-MQPRIO-resources-in-shutdown-path.patch b/patches.suse/cxgb4-free-MQPRIO-resources-in-shutdown-path.patch new file mode 100644 index 0000000..11617df --- /dev/null +++ b/patches.suse/cxgb4-free-MQPRIO-resources-in-shutdown-path.patch @@ -0,0 +1,82 @@ +From: Rahul Lakkireddy +Date: Wed, 1 Apr 2020 01:17:01 +0530 +Subject: cxgb4: free MQPRIO resources in shutdown path +Patch-mainline: v5.7-rc1 +Git-commit: cef8dac96bc108633f5090bb3a9988d734dc1ee0 +References: jsc#SLE-8389 + +Perform missing MQPRIO resource cleanup in PCI shutdown path. Also, +fix MQPRIO MSIX bitmap leak in resource cleanup. + +Fixes: b1396c2bd675 ("cxgb4: parse and configure TC-MQPRIO offload") +Signed-off-by: Rahul Lakkireddy +Signed-off-by: David S. Miller +Acked-by: Thomas Bogendoerfer +--- + drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 4 +++ + drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c | 23 +++++++++++++++++++ + drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.h | 1 + 3 files changed, 28 insertions(+) + +--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c ++++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c +@@ -6677,6 +6677,10 @@ static void shutdown_one(struct pci_dev + if (adapter->port[i]->reg_state == NETREG_REGISTERED) + cxgb_close(adapter->port[i]); + ++ rtnl_lock(); ++ cxgb4_mqprio_stop_offload(adapter); ++ rtnl_unlock(); ++ + if (is_uld(adapter)) { + detach_ulds(adapter); + t4_uld_clean_up(adapter); +--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c ++++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c +@@ -301,6 +301,7 @@ static void cxgb4_mqprio_free_hw_resourc + cxgb4_clear_msix_aff(eorxq->msix->vec, + eorxq->msix->aff_mask); + free_irq(eorxq->msix->vec, &eorxq->rspq); ++ cxgb4_free_msix_idx_in_bmap(adap, eorxq->msix->idx); + } + + free_rspq_fl(adap, &eorxq->rspq, &eorxq->fl); +@@ -611,6 +612,28 @@ out: + return ret; + } + ++void cxgb4_mqprio_stop_offload(struct adapter *adap) ++{ ++ struct cxgb4_tc_port_mqprio *tc_port_mqprio; ++ struct net_device *dev; ++ u8 i; ++ ++ if (!adap->tc_mqprio || !adap->tc_mqprio->port_mqprio) ++ return; ++ ++ for_each_port(adap, i) { ++ dev = adap->port[i]; ++ if (!dev) ++ continue; ++ ++ tc_port_mqprio = &adap->tc_mqprio->port_mqprio[i]; ++ if (!tc_port_mqprio->mqprio.qopt.num_tc) ++ continue; ++ ++ cxgb4_mqprio_disable_offload(dev); ++ } ++} ++ + int cxgb4_init_tc_mqprio(struct adapter *adap) + { + struct cxgb4_tc_port_mqprio *tc_port_mqprio, *port_mqprio; +--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.h ++++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.h +@@ -38,6 +38,7 @@ struct cxgb4_tc_mqprio { + + int cxgb4_setup_tc_mqprio(struct net_device *dev, + struct tc_mqprio_qopt_offload *mqprio); ++void cxgb4_mqprio_stop_offload(struct adapter *adap); + int cxgb4_init_tc_mqprio(struct adapter *adap); + void cxgb4_cleanup_tc_mqprio(struct adapter *adap); + #endif /* __CXGB4_TC_MQPRIO_H__ */ diff --git a/patches.suse/libbpf-Ignore-incompatible-types-with-matching-name-.patch b/patches.suse/libbpf-Ignore-incompatible-types-with-matching-name-.patch new file mode 100644 index 0000000..569dd0a --- /dev/null +++ b/patches.suse/libbpf-Ignore-incompatible-types-with-matching-name-.patch @@ -0,0 +1,39 @@ +From: Andrii Nakryiko +Date: Fri, 13 Mar 2020 10:23:34 -0700 +Subject: libbpf: Ignore incompatible types with matching name during CO-RE + relocation +Patch-mainline: v5.7-rc1 +Git-commit: d121e1d34b72c4975ff0340901d926c0aaf98174 +References: bsc#1154353 + +When finding target type candidates, ignore forward declarations, functions, +and other named types of incompatible kind. Not doing this can cause false +errors. See [0] for one such case (due to struct pt_regs forward +declaration). + + [0] https://github.com/iovisor/bcc/pull/2806#issuecomment-598543645 + +Fixes: ddc7c3042614 ("libbpf: implement BPF CO-RE offset relocation algorithm") +Reported-by: Wenbo Zhang +Signed-off-by: Andrii Nakryiko +Signed-off-by: Daniel Borkmann +Acked-by: Martin KaFai Lau +Link: https://lore.kernel.org/bpf/20200313172336.1879637-3-andriin@fb.com +Acked-by: Thomas Bogendoerfer +--- + tools/lib/bpf/libbpf.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/tools/lib/bpf/libbpf.c ++++ b/tools/lib/bpf/libbpf.c +@@ -2738,6 +2738,10 @@ static struct ids_vec *bpf_core_find_can + if (str_is_empty(targ_name)) + continue; + ++ t = skip_mods_and_typedefs(targ_btf, i, NULL); ++ if (!btf_is_composite(t) && !btf_is_array(t)) ++ continue; ++ + targ_essent_len = bpf_core_essential_name_len(targ_name); + if (targ_essent_len != local_essent_len) + continue; diff --git a/patches.suse/net-hns3-drop-the-WQ_MEM_RECLAIM-flag-when-allocatin.patch b/patches.suse/net-hns3-drop-the-WQ_MEM_RECLAIM-flag-when-allocatin.patch new file mode 100644 index 0000000..f01f281 --- /dev/null +++ b/patches.suse/net-hns3-drop-the-WQ_MEM_RECLAIM-flag-when-allocatin.patch @@ -0,0 +1,107 @@ +From: Yunsheng Lin +Date: Sat, 28 Mar 2020 15:09:55 +0800 +Subject: net: hns3: drop the WQ_MEM_RECLAIM flag when allocating WQ +Patch-mainline: v5.7-rc1 +Git-commit: 16deaef205b6da832f88a98770c55c8b85aaadfa +References: bsc#1154353 + +The WQ in hns3 driver is allocated with WQ_MEM_RECLAIM flag +in order to guarantee forward progress, which may cause hns3' +WQ_MEM_RECLAIM WQ flushing infiniband' !WQ_MEM_RECLAIM WQ +warning: + +[11246.200168] hns3 0000:bd:00.1: Reset done, hclge driver initialization finished. +[11246.209979] hns3 0000:bd:00.1 eth7: net open +[11246.227608] ------------[ cut here ]------------ +[11246.237370] workqueue: WQ_MEM_RECLAIM hclge:hclge_service_task [hclge] is flushing !WQ_MEM_RECLAIM infiniband:0x0 +[11246.237391] WARNING: CPU: 50 PID: 2279 at ./kernel/workqueue.c:2605 check_flush_dependency+0xcc/0x140 +[11246.260412] Modules linked in: hclgevf hns_roce_hw_v2 rdma_test(O) hns3 xt_CHECKSUM iptable_mangle xt_conntrack ipt_REJECT nf_reject_ipv4 ebtable_filter ebtables ip6table_filter ip6_tables iptable_filter bpfilter vfio_iommu_type1 vfio_pci vfio_virqfd vfio ib_isert iscsi_target_mod ib_ipoib ib_umad rpcrdma ib_iser libiscsi scsi_transport_iscsi aes_ce_blk crypto_simd cryptd aes_ce_cipher sunrpc nls_iso8859_1 crct10dif_ce ghash_ce sha2_ce sha256_arm64 sha1_ce joydev input_leds hid_generic usbkbd usbmouse sbsa_gwdt usbhid usb_storage hid ses hclge hisi_zip hisi_hpre hisi_sec2 hnae3 hisi_qm ahci hisi_trng_v2 evbug uacce rng_core gpio_dwapb autofs4 hisi_sas_v3_hw megaraid_sas hisi_sas_main libsas scsi_transport_sas [last unloaded: hns_roce_hw_v2] +[11246.325742] CPU: 50 PID: 2279 Comm: kworker/50:0 Kdump: loaded Tainted: G O 5.4.0-rc4+ #1 +[11246.335181] Hardware name: Huawei TaiShan 200 (Model 2280)/BC82AMDD, BIOS 2280-V2 CS V3.B140.01 12/18/2019 +[11246.344802] Workqueue: hclge hclge_service_task [hclge] +[11246.350007] pstate: 60c00009 (nZCv daif +PAN +UAO) +[11246.354779] pc : check_flush_dependency+0xcc/0x140 +[11246.359549] lr : check_flush_dependency+0xcc/0x140 +[11246.364317] sp : ffff800268a73990 +[11246.367618] x29: ffff800268a73990 x28: 0000000000000001 +[11246.372907] x27: ffffcbe4f5868000 x26: ffffcbe4f5541000 +[11246.378196] x25: 00000000000000b8 x24: ffff002fdd0ff868 +[11246.383483] x23: ffff002fdd0ff800 x22: ffff2027401ba600 +[11246.388770] x21: 0000000000000000 x20: ffff002fdd0ff800 +[11246.394059] x19: ffff202719293b00 x18: ffffcbe4f5541948 +[11246.399347] x17: 000000006f8ad8dd x16: 0000000000000002 +[11246.404634] x15: ffff8002e8a734f7 x14: 6c66207369205d65 +[11246.409922] x13: 676c63685b206b73 x12: 61745f6563697672 +[11246.415208] x11: 65735f65676c6368 x10: 3a65676c6368204d +[11246.420494] x9 : 49414c4345525f4d x8 : 6e6162696e69666e +[11246.425782] x7 : 69204d49414c4345 x6 : ffffcbe4f5765145 +[11246.431068] x5 : 0000000000000000 x4 : 0000000000000000 +[11246.436355] x3 : 0000000000000030 x2 : 00000000ffffffff +[11246.441642] x1 : 3349eb1ac5310100 x0 : 0000000000000000 +[11246.446928] Call trace: +[11246.449363] check_flush_dependency+0xcc/0x140 +[11246.453785] flush_workqueue+0x110/0x410 +[11246.457691] ib_cache_cleanup_one+0x54/0x468 +[11246.461943] __ib_unregister_device+0x70/0xa8 +[11246.466279] ib_unregister_device+0x2c/0x40 +[11246.470455] hns_roce_exit+0x34/0x198 [hns_roce_hw_v2] +[11246.475571] __hns_roce_hw_v2_uninit_instance.isra.56+0x3c/0x58 [hns_roce_hw_v2] +[11246.482934] hns_roce_hw_v2_reset_notify+0xd8/0x210 [hns_roce_hw_v2] +[11246.489261] hclge_notify_roce_client+0x84/0xe0 [hclge] +[11246.494464] hclge_reset_rebuild+0x60/0x730 [hclge] +[11246.499320] hclge_reset_service_task+0x400/0x5a0 [hclge] +[11246.504695] hclge_service_task+0x54/0x698 [hclge] +[11246.509464] process_one_work+0x15c/0x458 +[11246.513454] worker_thread+0x144/0x520 +[11246.517186] kthread+0xfc/0x128 +[11246.520314] ret_from_fork+0x10/0x18 +[11246.523873] ---[ end trace eb980723699c2585 ]--- +[11246.528710] hns3 0000:bd:00.2: Func clear success after reset. +[11246.528747] hns3 0000:bd:00.0: Func clear success after reset. +[11246.907710] hns3 0000:bd:00.1 eth7: link up + +According to [1] and [2]: + +There seems to be no specific guidance about how to handling the +forward progress guarantee of network device's WQ yet, and other +network device's WQ seem to be marked with WQ_MEM_RECLAIM without +a clear reason. + +So this patch removes the WQ_MEM_RECLAIM flag when allocating WQ +to aviod the above warning. + +1. https://www.spinics.net/lists/netdev/msg631646.html +2. https://www.spinics.net/lists/netdev/msg632097.html + +Fixes: 0ea68902256e ("net: hns3: allocate WQ with WQ_MEM_RECLAIM flag") +Signed-off-by: Yunsheng Lin +Signed-off-by: Huazhong Tan +Signed-off-by: David S. Miller +Acked-by: Thomas Bogendoerfer +--- + drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 2 +- + drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ++++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +@@ -10640,7 +10640,7 @@ static int hclge_init(void) + { + pr_info("%s is initializing\n", HCLGE_NAME); + +- hclge_wq = alloc_workqueue("%s", WQ_MEM_RECLAIM, 0, HCLGE_NAME); ++ hclge_wq = alloc_workqueue("%s", 0, 0, HCLGE_NAME); + if (!hclge_wq) { + pr_err("%s: failed to create workqueue\n", HCLGE_NAME); + return -ENOMEM; +--- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c ++++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c +@@ -3185,7 +3185,7 @@ static int hclgevf_init(void) + { + pr_info("%s is initializing\n", HCLGEVF_NAME); + +- hclgevf_wq = alloc_workqueue("%s", WQ_MEM_RECLAIM, 0, HCLGEVF_NAME); ++ hclgevf_wq = alloc_workqueue("%s", 0, 0, HCLGEVF_NAME); + if (!hclgevf_wq) { + pr_err("%s: failed to create workqueue\n", HCLGEVF_NAME); + return -ENOMEM; diff --git a/patches.suse/net-hns3-fix-for-fraglist-SKB-headlen-not-handling-c.patch b/patches.suse/net-hns3-fix-for-fraglist-SKB-headlen-not-handling-c.patch new file mode 100644 index 0000000..f6cb5b3 --- /dev/null +++ b/patches.suse/net-hns3-fix-for-fraglist-SKB-headlen-not-handling-c.patch @@ -0,0 +1,89 @@ +From: Huazhong Tan +Date: Sat, 28 Mar 2020 15:09:56 +0800 +Subject: net: hns3: fix for fraglist SKB headlen not handling correctly +Patch-mainline: v5.7-rc1 +Git-commit: 74ef402e134b5ebe4bcfbcdd55d2e7278a724620 +References: bsc#1154353 + +When the fraglist SKB headlen is larger than zero, current code +still handle the fraglist SKB linear data as frag data, which may +cause TX error. + +This patch adds a new DESC_TYPE_FRAGLIST_SKB type to handle the +mapping and unmapping of the fraglist SKB linear data buffer. + +Fixes: 8ae10cfb5089 ("net: hns3: support tx-scatter-gather-fraglist feature") +Signed-off-by: Yunsheng Lin +Signed-off-by: Huazhong Tan +Signed-off-by: David S. Miller +Acked-by: Thomas Bogendoerfer +--- + drivers/net/ethernet/hisilicon/hns3/hnae3.h | 1 + + drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 18 +++++++++++++----- + 2 files changed, 14 insertions(+), 5 deletions(-) + +--- a/drivers/net/ethernet/hisilicon/hns3/hnae3.h ++++ b/drivers/net/ethernet/hisilicon/hns3/hnae3.h +@@ -78,6 +78,7 @@ + + enum hns_desc_type { + DESC_TYPE_SKB, ++ DESC_TYPE_FRAGLIST_SKB, + DESC_TYPE_PAGE, + }; + +--- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c ++++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +@@ -1107,6 +1107,10 @@ static int hns3_fill_desc(struct hns3_en + return ret; + + dma = dma_map_single(dev, skb->data, size, DMA_TO_DEVICE); ++ } else if (type == DESC_TYPE_FRAGLIST_SKB) { ++ struct sk_buff *skb = (struct sk_buff *)priv; ++ ++ dma = dma_map_single(dev, skb->data, size, DMA_TO_DEVICE); + } else { + frag = (skb_frag_t *)priv; + dma = skb_frag_dma_map(dev, frag, 0, size, DMA_TO_DEVICE); +@@ -1144,8 +1148,9 @@ static int hns3_fill_desc(struct hns3_en + /* The txbd's baseinfo of DESC_TYPE_PAGE & DESC_TYPE_SKB */ + desc_cb->priv = priv; + desc_cb->dma = dma + HNS3_MAX_BD_SIZE * k; +- desc_cb->type = (type == DESC_TYPE_SKB && !k) ? +- DESC_TYPE_SKB : DESC_TYPE_PAGE; ++ desc_cb->type = ((type == DESC_TYPE_FRAGLIST_SKB || ++ type == DESC_TYPE_SKB) && !k) ? ++ type : DESC_TYPE_PAGE; + + /* now, fill the descriptor */ + desc->addr = cpu_to_le64(dma + HNS3_MAX_BD_SIZE * k); +@@ -1354,7 +1359,9 @@ static void hns3_clear_desc(struct hns3_ + ring_ptr_move_bw(ring, next_to_use); + + /* unmap the descriptor dma address */ +- if (ring->desc_cb[ring->next_to_use].type == DESC_TYPE_SKB) ++ if (ring->desc_cb[ring->next_to_use].type == DESC_TYPE_SKB || ++ ring->desc_cb[ring->next_to_use].type == ++ DESC_TYPE_FRAGLIST_SKB) + dma_unmap_single(dev, + ring->desc_cb[ring->next_to_use].dma, + ring->desc_cb[ring->next_to_use].length, +@@ -1447,7 +1454,8 @@ netdev_tx_t hns3_nic_net_xmit(struct sk_ + goto out; + + skb_walk_frags(skb, frag_skb) { +- ret = hns3_fill_skb_to_desc(ring, frag_skb, DESC_TYPE_PAGE); ++ ret = hns3_fill_skb_to_desc(ring, frag_skb, ++ DESC_TYPE_FRAGLIST_SKB); + if (unlikely(ret < 0)) + goto fill_err; + +@@ -2356,7 +2364,7 @@ static int hns3_map_buffer(struct hns3_e + static void hns3_unmap_buffer(struct hns3_enet_ring *ring, + struct hns3_desc_cb *cb) + { +- if (cb->type == DESC_TYPE_SKB) ++ if (cb->type == DESC_TYPE_SKB || cb->type == DESC_TYPE_FRAGLIST_SKB) + dma_unmap_single(ring_to_dev(ring), cb->dma, cb->length, + ring_to_dma_dir(ring)); + else if (cb->length) diff --git a/patches.suse/selftests-bpf-Fix-test_progs-s-parsing-of-test-numbe.patch b/patches.suse/selftests-bpf-Fix-test_progs-s-parsing-of-test-numbe.patch new file mode 100644 index 0000000..90de205 --- /dev/null +++ b/patches.suse/selftests-bpf-Fix-test_progs-s-parsing-of-test-numbe.patch @@ -0,0 +1,57 @@ +From: Andrii Nakryiko +Date: Fri, 13 Mar 2020 18:39:31 -0700 +Subject: selftests/bpf: Fix test_progs's parsing of test numbers +Patch-mainline: v5.7-rc1 +Git-commit: fc32490bff855a539d253c8a52c5a1ba51d1325a +References: bsc#1154353 + +When specifying disjoint set of tests, test_progs doesn't set skipped test's +array elements to false. This leads to spurious execution of tests that should +have been skipped. Fix it by explicitly initializing them to false. + +Fixes: 3a516a0a3a7b ("selftests/bpf: add sub-tests support for test_progs") +Signed-off-by: Andrii Nakryiko +Signed-off-by: Daniel Borkmann +Acked-by: Martin KaFai Lau +Link: https://lore.kernel.org/bpf/20200314013932.4035712-2-andriin@fb.com +Acked-by: Thomas Bogendoerfer +--- + tools/testing/selftests/bpf/test_progs.c | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +--- a/tools/testing/selftests/bpf/test_progs.c ++++ b/tools/testing/selftests/bpf/test_progs.c +@@ -326,7 +326,7 @@ static int libbpf_print_fn(enum libbpf_p + + int parse_num_list(const char *s, struct test_selector *sel) + { +- int i, set_len = 0, num, start = 0, end = -1; ++ int i, set_len = 0, new_len, num, start = 0, end = -1; + bool *set = NULL, *tmp, parsing_end = false; + char *next; + +@@ -361,18 +361,19 @@ int parse_num_list(const char *s, struct + return -EINVAL; + + if (end + 1 > set_len) { +- set_len = end + 1; +- tmp = realloc(set, set_len); ++ new_len = end + 1; ++ tmp = realloc(set, new_len); + if (!tmp) { + free(set); + return -ENOMEM; + } ++ for (i = set_len; i < start; i++) ++ tmp[i] = false; + set = tmp; ++ set_len = new_len; + } +- for (i = start; i <= end; i++) { ++ for (i = start; i <= end; i++) + set[i] = true; +- } +- + } + + if (!set) diff --git a/patches.suse/sfc-fix-XDP-redirect-in-this-driver.patch b/patches.suse/sfc-fix-XDP-redirect-in-this-driver.patch new file mode 100644 index 0000000..fb7a9c7 --- /dev/null +++ b/patches.suse/sfc-fix-XDP-redirect-in-this-driver.patch @@ -0,0 +1,118 @@ +From: Jesper Dangaard Brouer +Date: Fri, 13 Mar 2020 14:25:19 +0100 +Subject: sfc: fix XDP-redirect in this driver +Patch-mainline: v5.7-rc1 +Git-commit: 86e85bf6981c0c265c427d6bfe9e2a0111797444 +References: jsc#SLE-8314 + +XDP-redirect is broken in this driver sfc. XDP_REDIRECT requires +tailroom for skb_shared_info when creating an SKB based on the +redirected xdp_frame (both in cpumap and veth). + +The fix requires some initial explaining. The driver uses RX page-split +when possible. It reserves the top 64 bytes in the RX-page for storing +dma_addr (struct efx_rx_page_state). It also have the XDP recommended +headroom of XDP_PACKET_HEADROOM (256 bytes). As it doesn't reserve any +tailroom, it can still fit two standard MTU (1500) frames into one page. + +The sizeof struct skb_shared_info in 320 bytes. Thus drivers like ixgbe +and i40e, reduce their XDP headroom to 192 bytes, which allows them to +fit two frames with max 1536 bytes into a 4K page (192+1536+320=2048). + +The fix is to reduce this drivers headroom to 128 bytes and add the 320 +bytes tailroom. This account for reserved top 64 bytes in the page, and +still fit two frame in a page for normal MTUs. + +We must never go below 128 bytes of headroom for XDP, as one cacheline +is for xdp_frame area and next cacheline is reserved for metadata area. + +Fixes: eb9a36be7f3e ("sfc: perform XDP processing on received packets") +Signed-off-by: Jesper Dangaard Brouer +Acked-by: Edward Cree +Signed-off-by: David S. Miller +Acked-by: Thomas Bogendoerfer +--- + drivers/net/ethernet/sfc/efx_common.c | 9 +++++---- + drivers/net/ethernet/sfc/net_driver.h | 6 ++++++ + drivers/net/ethernet/sfc/rx.c | 2 +- + drivers/net/ethernet/sfc/rx_common.c | 6 +++--- + 4 files changed, 15 insertions(+), 8 deletions(-) + +--- a/drivers/net/ethernet/sfc/efx_common.c ++++ b/drivers/net/ethernet/sfc/efx_common.c +@@ -200,11 +200,11 @@ void efx_link_status_changed(struct efx_ + unsigned int efx_xdp_max_mtu(struct efx_nic *efx) + { + /* The maximum MTU that we can fit in a single page, allowing for +- * framing, overhead and XDP headroom. ++ * framing, overhead and XDP headroom + tailroom. + */ + int overhead = EFX_MAX_FRAME_LEN(0) + sizeof(struct efx_rx_page_state) + + efx->rx_prefix_size + efx->type->rx_buffer_padding + +- efx->rx_ip_align + XDP_PACKET_HEADROOM; ++ efx->rx_ip_align + EFX_XDP_HEADROOM + EFX_XDP_TAILROOM; + + return PAGE_SIZE - overhead; + } +@@ -302,8 +302,9 @@ static void efx_start_datapath(struct ef + efx->rx_dma_len = (efx->rx_prefix_size + + EFX_MAX_FRAME_LEN(efx->net_dev->mtu) + + efx->type->rx_buffer_padding); +- rx_buf_len = (sizeof(struct efx_rx_page_state) + XDP_PACKET_HEADROOM + +- efx->rx_ip_align + efx->rx_dma_len); ++ rx_buf_len = (sizeof(struct efx_rx_page_state) + EFX_XDP_HEADROOM + ++ efx->rx_ip_align + efx->rx_dma_len + EFX_XDP_TAILROOM); ++ + if (rx_buf_len <= PAGE_SIZE) { + efx->rx_scatter = efx->type->always_rx_scatter; + efx->rx_buffer_order = 0; +--- a/drivers/net/ethernet/sfc/net_driver.h ++++ b/drivers/net/ethernet/sfc/net_driver.h +@@ -91,6 +91,12 @@ + #define EFX_RX_BUF_ALIGNMENT 4 + #endif + ++/* Non-standard XDP_PACKET_HEADROOM and tailroom to satisfy XDP_REDIRECT and ++ * still fit two standard MTU size packets into a single 4K page. ++ */ ++#define EFX_XDP_HEADROOM 128 ++#define EFX_XDP_TAILROOM SKB_DATA_ALIGN(sizeof(struct skb_shared_info)) ++ + /* Forward declare Precision Time Protocol (PTP) support structure. */ + struct efx_ptp_data; + struct hwtstamp_config; +--- a/drivers/net/ethernet/sfc/rx.c ++++ b/drivers/net/ethernet/sfc/rx.c +@@ -302,7 +302,7 @@ static bool efx_do_xdp(struct efx_nic *e + efx->rx_prefix_size); + + xdp.data = *ehp; +- xdp.data_hard_start = xdp.data - XDP_PACKET_HEADROOM; ++ xdp.data_hard_start = xdp.data - EFX_XDP_HEADROOM; + + /* No support yet for XDP metadata */ + xdp_set_data_meta_invalid(&xdp); +--- a/drivers/net/ethernet/sfc/rx_common.c ++++ b/drivers/net/ethernet/sfc/rx_common.c +@@ -412,10 +412,10 @@ static int efx_init_rx_buffers(struct ef + index = rx_queue->added_count & rx_queue->ptr_mask; + rx_buf = efx_rx_buffer(rx_queue, index); + rx_buf->dma_addr = dma_addr + efx->rx_ip_align + +- XDP_PACKET_HEADROOM; ++ EFX_XDP_HEADROOM; + rx_buf->page = page; + rx_buf->page_offset = page_offset + efx->rx_ip_align + +- XDP_PACKET_HEADROOM; ++ EFX_XDP_HEADROOM; + rx_buf->len = efx->rx_dma_len; + rx_buf->flags = 0; + ++rx_queue->added_count; +@@ -433,7 +433,7 @@ static int efx_init_rx_buffers(struct ef + void efx_rx_config_page_split(struct efx_nic *efx) + { + efx->rx_page_buf_step = ALIGN(efx->rx_dma_len + efx->rx_ip_align + +- XDP_PACKET_HEADROOM, ++ EFX_XDP_HEADROOM + EFX_XDP_TAILROOM, + EFX_RX_BUF_ALIGNMENT); + efx->rx_bufs_per_page = efx->rx_buffer_order ? 1 : + ((PAGE_SIZE - sizeof(struct efx_rx_page_state)) / diff --git a/patches.suse/sfc-remove-unused-variable-efx_default_channel_type.patch b/patches.suse/sfc-remove-unused-variable-efx_default_channel_type.patch new file mode 100644 index 0000000..3a02721 --- /dev/null +++ b/patches.suse/sfc-remove-unused-variable-efx_default_channel_type.patch @@ -0,0 +1,33 @@ +From: YueHaibing +Date: Wed, 19 Feb 2020 09:34:58 +0800 +Subject: sfc: remove unused variable 'efx_default_channel_type' +Patch-mainline: v5.7-rc1 +Git-commit: 1cb237d7904d7c6ba4c5be31ff6dc7d265f53b9a +References: jsc#SLE-8314 + +drivers/net/ethernet/sfc/efx.c:116:38: warning: + efx_default_channel_type defined but not used [-Wunused-const-variable=] + +commit 83975485077d ("sfc: move channel alloc/removal code") +left behind this, remove it. + +Reported-by: Hulk Robot +Fixes: 83975485077d ("sfc: move channel alloc/removal code") +Signed-off-by: YueHaibing +Acked-by: Martin Habets +Signed-off-by: David S. Miller +Acked-by: Thomas Bogendoerfer +--- + drivers/net/ethernet/sfc/efx.c | 1 - + 1 file changed, 1 deletion(-) + +--- a/drivers/net/ethernet/sfc/efx.c ++++ b/drivers/net/ethernet/sfc/efx.c +@@ -113,7 +113,6 @@ MODULE_PARM_DESC(debug, "Bitmapped debug + * + *************************************************************************/ + +-static const struct efx_channel_type efx_default_channel_type; + static void efx_remove_port(struct efx_nic *efx); + static int efx_xdp_setup_prog(struct efx_nic *efx, struct bpf_prog *prog); + static int efx_xdp(struct net_device *dev, struct netdev_bpf *xdp); diff --git a/patches.suse/taprio-do-not-use-BIT-in-TCA_TAPRIO_ATTR_FLAG_-defin.patch b/patches.suse/taprio-do-not-use-BIT-in-TCA_TAPRIO_ATTR_FLAG_-defin.patch new file mode 100644 index 0000000..b7d4811 --- /dev/null +++ b/patches.suse/taprio-do-not-use-BIT-in-TCA_TAPRIO_ATTR_FLAG_-defin.patch @@ -0,0 +1,33 @@ +From: Eugene Syromiatnikov +Date: Tue, 24 Mar 2020 05:19:20 +0100 +Subject: taprio: do not use BIT() in TCA_TAPRIO_ATTR_FLAG_* definitions +Patch-mainline: v5.7-rc1 +Git-commit: 673040c3a82a7564423e09c791e242a846591e30 +References: bsc#1154353 + +BIT() macro definition is internal to the Linux kernel and is not +to be used in UAPI headers; replace its usage with the _BITUL() macro +that is already used elsewhere in the header. + +Fixes: 9c66d1564676 ("taprio: Add support for hardware offloading") +Signed-off-by: Eugene Syromiatnikov +Acked-by: Vladimir Oltean +Signed-off-by: David S. Miller +Acked-by: Thomas Bogendoerfer +--- + include/uapi/linux/pkt_sched.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/include/uapi/linux/pkt_sched.h ++++ b/include/uapi/linux/pkt_sched.h +@@ -1166,8 +1166,8 @@ enum { + * [TCA_TAPRIO_ATTR_SCHED_ENTRY_INTERVAL] + */ + +-#define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST BIT(0) +-#define TCA_TAPRIO_ATTR_FLAG_FULL_OFFLOAD BIT(1) ++#define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST _BITUL(0) ++#define TCA_TAPRIO_ATTR_FLAG_FULL_OFFLOAD _BITUL(1) + + enum { + TCA_TAPRIO_ATTR_UNSPEC, diff --git a/series.conf b/series.conf index 5920ba0..4d50051 100644 --- a/series.conf +++ b/series.conf @@ -10559,6 +10559,7 @@ patches.suse/serial-sprd-Fix-a-dereference-warning.patch patches.suse/platform-x86-pmc_atom-Add-Lex-2I385SW-to-critclk_sys.patch patches.suse/platform-x86-asus_wmi-Fix-return-value-of-fan_boost_.patch + patches.suse/sfc-remove-unused-variable-efx_default_channel_type.patch patches.suse/ice-add-additional-E810-device-id.patch patches.suse/ethtool-Factored-out-similar-ethtool-link-settings-f.patch patches.suse/net-ethtool-Introduce-link_ksettings-API-for-virtual.patch @@ -10572,6 +10573,8 @@ patches.suse/ionic-print-pci-bus-lane-info.patch patches.suse/ionic-add-support-for-device-id-0x1004.patch patches.suse/bpf-Reliably-preserve-btf_trace_xxx-types.patch + patches.suse/libbpf-Ignore-incompatible-types-with-matching-name-.patch + patches.suse/sfc-fix-XDP-redirect-in-this-driver.patch patches.suse/ionic-stop-devlink-warn-on-mgmt-device.patch patches.suse/ionic-deinit-rss-only-if-selected.patch patches.suse/ionic-remove-adminq-napi-instance.patch @@ -10587,6 +10590,8 @@ patches.suse/mwifiex-set-needed_headroom-not-hard_header_len.patch patches.suse/ath9k-Handle-txpower-changes-even-when-TPC-is-disabl.patch patches.suse/mt76-remove-variable-val-set-but-not-used.patch + patches.suse/taprio-do-not-use-BIT-in-TCA_TAPRIO_ATTR_FLAG_-defin.patch + patches.suse/bnxt_en-Fix-fw.mgmt-and-fw.nsci-info-via-devlink-inf.patch patches.suse/Crypto-chelsio-Fixes-a-hang-issue-during-driver-regi.patch patches.suse/Crypto-chelsio-Fixes-a-deadlock-between-rtnl_lock-an.patch patches.suse/ionic-decouple-link-message-from-netdev-state.patch @@ -10597,11 +10602,14 @@ patches.suse/ionic-check-for-queues-before-deleting.patch patches.suse/ionic-disable-the-queues-on-link-down.patch patches.suse/ionic-remove-lifs-on-fw-reset.patch + patches.suse/selftests-bpf-Fix-test_progs-s-parsing-of-test-numbe.patch patches.suse/bpf-Undo-incorrect-__reg_bound_offset32-handling.patch patches.suse/bpf-Fix-tnum-constraints-for-32-bit-comparisons.patch patches.suse/bpf-Simplify-reg_set_min_max_inv-handling.patch patches.suse/bpf-Verifier-do_refine_retval_range-may-clamp-umin-t.patch patches.suse/mac80211-fix-authentication-with-iwlwifi-mvm.patch + patches.suse/net-hns3-drop-the-WQ_MEM_RECLAIM-flag-when-allocatin.patch + patches.suse/net-hns3-fix-for-fraglist-SKB-headlen-not-handling-c.patch patches.suse/net-bpfilter-remove-superfluous-testing-message.patch patches.suse/crypto-rng-Fix-a-refcounting-bug-in-crypto_rng_reset.patch patches.suse/crypto-tcrypt-fix-printed-skcipher-a-sync-mode.patch @@ -10631,6 +10639,11 @@ patches.suse/XArray-Fix-xa_find_next-for-large-multi-index-entrie.patch patches.suse/XArray-Fix-xas_pause-for-large-multi-index-entries.patch patches.suse/xarray-Fix-early-termination-of-xas_for_each_marked.patch + patches.suse/RDMA-mlx5-Prevent-UMR-usage-with-RO-only-when-we-hav.patch + patches.suse/IB-mlx5-Optimize-u64-division-on-32-bit-arches.patch + patches.suse/RDMA-core-Remove-the-duplicate-header-file.patch + patches.suse/RDMA-hns-Fix-wrong-judgments-of-udata-outlen.patch + patches.suse/RDMA-hns-Fix-a-wrong-judgment-of-return-value.patch patches.suse/0030-pid-Improve-the-comment-about-waiting-in-zap_pid_ns_.patch patches.suse/xfs-fix-use-after-free-when-aborting-corrupt-attr-in.patch patches.suse/mm-filemap.c-don-t-bother-dropping-mmap_sem-for-zero.patch @@ -10885,6 +10898,7 @@ patches.suse/powerpc-64-tm-Don-t-let-userspace-set-regs-trap-via-.patch patches.suse/powerpc-vmlinux.lds-Explicitly-retain-.gnu.hash.patch patches.suse/powerpc-Make-setjmp-longjmp-signature-standard.patch + patches.suse/cxgb4-free-MQPRIO-resources-in-shutdown-path.patch patches.suse/slcan-Don-t-transmit-uninitialized-stack-data-in-pad.patch patches.suse/tun-Don-t-put_page-for-all-negative-return-values-fr.patch patches.suse/SUNRPC-fix-krb5p-mount-to-provide-large-enough-buffe.patch