diff --git a/blacklist.conf b/blacklist.conf index 44d0533..c1d0995 100644 --- a/blacklist.conf +++ b/blacklist.conf @@ -198,6 +198,7 @@ drivers/net/ethernet/natsemi/sonic.c #m68k Apple Macintosh drivers/net/ethernet/natsemi/sonic.h drivers/net/ethernet/pasemi/ # PA Semi network device drivers/net/ethernet/renesas/ # SuperH +drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c # DWMAC_SOCFPGA is not enabled drivers/net/hamradio/ # config not enabled drivers/pci/dwc/pci-dra7xx.c # config not enabled drivers/staging/android # we do not build android stuff diff --git a/patches.suse/net-davinci_emac-match-the-mdio-device-against-its-c.patch b/patches.suse/net-davinci_emac-match-the-mdio-device-against-its-c.patch new file mode 100644 index 0000000..4674081 --- /dev/null +++ b/patches.suse/net-davinci_emac-match-the-mdio-device-against-its-c.patch @@ -0,0 +1,38 @@ +From 10e6479325ce46aa3f670bad4a127b194dcd60c2 Mon Sep 17 00:00:00 2001 +From: Bartosz Golaszewski +Date: Wed, 20 Jun 2018 10:03:56 +0200 +Subject: [PATCH 4/7] net: davinci_emac: match the mdio device against its + compatible if possible +References: git-fixes +Patch-mainline: v4.18-rc3 +Git-commit: ea0820bb771175c7d4192fc6f5b5c56b3c6d5239 + +Device tree based systems without of_dev_auxdata will have the mdio +device named differently than "davinci_mdio(.0)". In this case use the +device's parent's compatible string for matching + +Signed-off-by: Bartosz Golaszewski +Signed-off-by: David S. Miller +Signed-off-by: Denis Kirjanov +--- + drivers/net/ethernet/ti/davinci_emac.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c +index ab2c7bad7089..0fc5a15f2b8a 100644 +--- a/drivers/net/ethernet/ti/davinci_emac.c ++++ b/drivers/net/ethernet/ti/davinci_emac.c +@@ -1387,6 +1387,10 @@ static int emac_devioctl(struct net_device *ndev, struct ifreq *ifrq, int cmd) + + static int match_first_device(struct device *dev, void *data) + { ++ if (dev->parent && dev->parent->of_node) ++ return of_device_is_compatible(dev->parent->of_node, ++ "ti,davinci_mdio"); ++ + return !strncmp(dev_name(dev), "davinci_mdio", 12); + } + +-- +2.16.4 + diff --git a/patches.suse/net-emac-fix-fixed-link-setup-for-the-RTL8363SB-swit.patch b/patches.suse/net-emac-fix-fixed-link-setup-for-the-RTL8363SB-swit.patch new file mode 100644 index 0000000..19b937d --- /dev/null +++ b/patches.suse/net-emac-fix-fixed-link-setup-for-the-RTL8363SB-swit.patch @@ -0,0 +1,57 @@ +From 4516a76b0ee26777ae8e8c8e787817ebb24a93e8 Mon Sep 17 00:00:00 2001 +From: Christian Lamparter +Date: Mon, 17 Sep 2018 17:22:40 +0200 +Subject: [PATCH 7/7] net: emac: fix fixed-link setup for the RTL8363SB switch +References: git-fixes +Patch-mainline: v4.19-rc6 +Git-commit: 08e39982ef64f800fd1f9b9b92968d14d5fafa82 + +On the Netgear WNDAP620, the emac ethernet isn't receiving nor +xmitting any frames from/to the RTL8363SB (identifies itself +as a RTL8367RB). + +This is caused by the emac hardware not knowing the forced link +parameters for speed, duplex, pause, etc. + +This begs the question, how this was working on the original +driver code, when it was necessary to set the phy_address and +phy_map to 0xffffffff. But I guess without access to the old +PPC405/440/460 hardware, it's not possible to know. + +Signed-off-by: Christian Lamparter +Signed-off-by: David S. Miller +Signed-off-by: Denis Kirjanov +--- + drivers/net/ethernet/ibm/emac/core.c | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +diff --git a/drivers/net/ethernet/ibm/emac/core.c b/drivers/net/ethernet/ibm/emac/core.c +index d28e5a9a1363..b7d65158e498 100644 +--- a/drivers/net/ethernet/ibm/emac/core.c ++++ b/drivers/net/ethernet/ibm/emac/core.c +@@ -2673,12 +2673,17 @@ static int emac_init_phy(struct emac_instance *dev) + if (of_phy_is_fixed_link(np)) { + int res = emac_dt_mdio_probe(dev); + +- if (!res) { +- res = of_phy_register_fixed_link(np); +- if (res) +- mdiobus_unregister(dev->mii_bus); ++ if (res) ++ return res; ++ ++ res = of_phy_register_fixed_link(np); ++ dev->phy_dev = of_phy_find_device(np); ++ if (res || !dev->phy_dev) { ++ mdiobus_unregister(dev->mii_bus); ++ return res ? res : -EINVAL; + } +- return res; ++ emac_adjust_link(dev->ndev); ++ put_device(&dev->phy_dev->mdio.dev); + } + return 0; + } +-- +2.16.4 + diff --git a/patches.suse/net-iucv-Fix-size-of-interrupt-data.patch b/patches.suse/net-iucv-Fix-size-of-interrupt-data.patch new file mode 100644 index 0000000..52c9bec --- /dev/null +++ b/patches.suse/net-iucv-Fix-size-of-interrupt-data.patch @@ -0,0 +1,104 @@ +From e745c3035e841a1600ccf9231db5109689bccebb Mon Sep 17 00:00:00 2001 +From: Alexandra Winter +Date: Wed, 15 Mar 2023 14:14:35 +0100 +Subject: [PATCH] net/iucv: Fix size of interrupt data +References: bsc#1211466 +Patch-mainline: v6.3-rc3 +Git-commit: 3d87debb8ed2649608ff432699e7c961c0c6f03b + +iucv_irq_data needs to be 4 bytes larger. +These bytes are not used by the iucv module, but written by +the z/VM hypervisor in case a CPU is deconfigured. + +Reported as: +BUG dma-kmalloc-64 (Not tainted): kmalloc Redzone overwritten +----------------------------------------------------------------------------- +0x0000000000400564-0x0000000000400567 @offset=1380. First byte 0x80 instead of 0xcc +Allocated in iucv_cpu_prepare+0x44/0xd0 age=167839 cpu=2 pid=1 +__kmem_cache_alloc_node+0x166/0x450 +kmalloc_node_trace+0x3a/0x70 +iucv_cpu_prepare+0x44/0xd0 +cpuhp_invoke_callback+0x156/0x2f0 +cpuhp_issue_call+0xf0/0x298 +__cpuhp_setup_state_cpuslocked+0x136/0x338 +__cpuhp_setup_state+0xf4/0x288 +iucv_init+0xf4/0x280 +do_one_initcall+0x78/0x390 +do_initcalls+0x11a/0x140 +kernel_init_freeable+0x25e/0x2a0 +kernel_init+0x2e/0x170 +__ret_from_fork+0x3c/0x58 +ret_from_fork+0xa/0x40 +Freed in iucv_init+0x92/0x280 age=167839 cpu=2 pid=1 +__kmem_cache_free+0x308/0x358 +iucv_init+0x92/0x280 +do_one_initcall+0x78/0x390 +do_initcalls+0x11a/0x140 +kernel_init_freeable+0x25e/0x2a0 +kernel_init+0x2e/0x170 +__ret_from_fork+0x3c/0x58 +ret_from_fork+0xa/0x40 +Slab 0x0000037200010000 objects=32 used=30 fp=0x0000000000400640 flags=0x1ffff00000010200(slab|head|node=0|zone=0| +Object 0x0000000000400540 @offset=1344 fp=0x0000000000000000 +Redzone 0000000000400500: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc ................ +Redzone 0000000000400510: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc ................ +Redzone 0000000000400520: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc ................ +Redzone 0000000000400530: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc ................ +Object 0000000000400540: 00 01 00 03 00 00 00 00 00 00 00 00 00 00 00 00 ................ +Object 0000000000400550: f3 86 81 f2 f4 82 f8 82 f0 f0 f0 f0 f0 f0 f0 f2 ................ +Object 0000000000400560: 00 00 00 00 80 00 00 00 cc cc cc cc cc cc cc cc ................ +Object 0000000000400570: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc ................ +Redzone 0000000000400580: cc cc cc cc cc cc cc cc ........ +Padding 00000000004005d4: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZZZZZZZZZ +Padding 00000000004005e4: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZZZZZZZZZ +Padding 00000000004005f4: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZZZZZ +CPU: 6 PID: 121030 Comm: 116-pai-crypto. Not tainted 6.3.0-20230221.rc0.git4.99b8246b2d71.300.fc37.s390x+debug #1 +Hardware name: IBM 3931 A01 704 (z/VM 7.3.0) +Call Trace: +[<000000032aa034ec>] dump_stack_lvl+0xac/0x100 +[<0000000329f5a6cc>] check_bytes_and_report+0x104/0x140 +[<0000000329f5aa78>] check_object+0x370/0x3c0 +[<0000000329f5ede6>] free_debug_processing+0x15e/0x348 +[<0000000329f5f06a>] free_to_partial_list+0x9a/0x2f0 +[<0000000329f5f4a4>] __slab_free+0x1e4/0x3a8 +[<0000000329f61768>] __kmem_cache_free+0x308/0x358 +[<000000032a91465c>] iucv_cpu_dead+0x6c/0x88 +[<0000000329c2fc66>] cpuhp_invoke_callback+0x156/0x2f0 +[<000000032aa062da>] _cpu_down.constprop.0+0x22a/0x5e0 +[<0000000329c3243e>] cpu_device_down+0x4e/0x78 +[<000000032a61dee0>] device_offline+0xc8/0x118 +[<000000032a61e048>] online_store+0x60/0xe0 +[<000000032a08b6b0>] kernfs_fop_write_iter+0x150/0x1e8 +[<0000000329fab65c>] vfs_write+0x174/0x360 +[<0000000329fab9fc>] ksys_write+0x74/0x100 +[<000000032aa03a5a>] __do_syscall+0x1da/0x208 +[<000000032aa177b2>] system_call+0x82/0xb0 +INFO: lockdep is turned off. +FIX dma-kmalloc-64: Restoring kmalloc Redzone 0x0000000000400564-0x0000000000400567=0xcc +FIX dma-kmalloc-64: Object at 0x0000000000400540 not freed + +Fixes: 2356f4cb1911 ("[S390]: Rewrite of the IUCV base code, part 2") +Signed-off-by: Alexandra Winter +Link: https://lore.kernel.org/r/20230315131435.4113889-1-wintera@linux.ibm.com +Signed-off-by: Jakub Kicinski +Signed-off-by: Denis Kirjanov +--- + net/iucv/iucv.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/net/iucv/iucv.c b/net/iucv/iucv.c +index 8f7ef167c45a..255a716fa395 100644 +--- a/net/iucv/iucv.c ++++ b/net/iucv/iucv.c +@@ -119,7 +119,7 @@ struct iucv_irq_data { + u16 ippathid; + u8 ipflags1; + u8 iptype; +- u32 res2[8]; ++ u32 res2[9]; + }; + + struct iucv_irq_list { +-- +2.16.4 + diff --git a/patches.suse/net-qca_spi-Fix-log-level-if-probe-fails.patch b/patches.suse/net-qca_spi-Fix-log-level-if-probe-fails.patch new file mode 100644 index 0000000..0bb89fe --- /dev/null +++ b/patches.suse/net-qca_spi-Fix-log-level-if-probe-fails.patch @@ -0,0 +1,65 @@ +From 49c4929a47698a03bec523f3008083343250c71e Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Wed, 18 Jul 2018 08:31:45 +0200 +Subject: [PATCH 5/7] net: qca_spi: Fix log level if probe fails +References: git-fixes +Patch-mainline: v4.18-rc6 +Git-commit: 50973993260a6934f0a00da53d9b746cfbea89ab + +In cases the probing fails the log level of the messages should +be an error. + +Signed-off-by: Stefan Wahren +Signed-off-by: David S. Miller +Signed-off-by: Denis Kirjanov +--- + drivers/net/ethernet/qualcomm/qca_spi.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c +index 5fda7e033a22..332d9802799a 100644 +--- a/drivers/net/ethernet/qualcomm/qca_spi.c ++++ b/drivers/net/ethernet/qualcomm/qca_spi.c +@@ -859,22 +859,22 @@ qca_spi_probe(struct spi_device *spi) + + if ((qcaspi_clkspeed < QCASPI_CLK_SPEED_MIN) || + (qcaspi_clkspeed > QCASPI_CLK_SPEED_MAX)) { +- dev_info(&spi->dev, "Invalid clkspeed: %d\n", +- qcaspi_clkspeed); ++ dev_err(&spi->dev, "Invalid clkspeed: %d\n", ++ qcaspi_clkspeed); + return -EINVAL; + } + + if ((qcaspi_burst_len < QCASPI_BURST_LEN_MIN) || + (qcaspi_burst_len > QCASPI_BURST_LEN_MAX)) { +- dev_info(&spi->dev, "Invalid burst len: %d\n", +- qcaspi_burst_len); ++ dev_err(&spi->dev, "Invalid burst len: %d\n", ++ qcaspi_burst_len); + return -EINVAL; + } + + if ((qcaspi_pluggable < QCASPI_PLUGGABLE_MIN) || + (qcaspi_pluggable > QCASPI_PLUGGABLE_MAX)) { +- dev_info(&spi->dev, "Invalid pluggable: %d\n", +- qcaspi_pluggable); ++ dev_err(&spi->dev, "Invalid pluggable: %d\n", ++ qcaspi_pluggable); + return -EINVAL; + } + +@@ -935,8 +935,8 @@ qca_spi_probe(struct spi_device *spi) + } + + if (register_netdev(qcaspi_devs)) { +- dev_info(&spi->dev, "Unable to register net device %s\n", +- qcaspi_devs->name); ++ dev_err(&spi->dev, "Unable to register net device %s\n", ++ qcaspi_devs->name); + free_netdev(qcaspi_devs); + return -EFAULT; + } +-- +2.16.4 + diff --git a/patches.suse/stmmac-fix-valid-numbers-of-unicast-filter-entries.patch b/patches.suse/stmmac-fix-valid-numbers-of-unicast-filter-entries.patch new file mode 100644 index 0000000..defdc0d --- /dev/null +++ b/patches.suse/stmmac-fix-valid-numbers-of-unicast-filter-entries.patch @@ -0,0 +1,46 @@ +From afd6dcd40dc44dd22a6f2d58b2dd0ffd0751e9c0 Mon Sep 17 00:00:00 2001 +From: Jongsung Kim +Date: Thu, 13 Sep 2018 18:32:21 +0900 +Subject: [PATCH 6/7] stmmac: fix valid numbers of unicast filter entries +References: git-fixes +Patch-mainline: v4.19-rc5 +Git-commit: edf2ef7242805e53ec2e0841db26e06d8bc7da70 + +Synopsys DWC Ethernet MAC can be configured to have 1..32, 64, or +128 unicast filter entries. (Table 7-8 MAC Address Registers from +databook) Fix dwmac1000_validate_ucast_entries() to accept values +between 1 and 32 in addition. + +Signed-off-by: Jongsung Kim +Signed-off-by: David S. Miller +Signed-off-by: Denis Kirjanov +--- + drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +index eb11dcccf529..10ce06dcb780 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +@@ -67,7 +67,7 @@ static int dwmac1000_validate_mcast_bins(int mcast_bins) + * Description: + * This function validates the number of Unicast address entries supported + * by a particular Synopsys 10/100/1000 controller. The Synopsys controller +- * supports 1, 32, 64, or 128 Unicast filter entries for it's Unicast filter ++ * supports 1..32, 64, or 128 Unicast filter entries for it's Unicast filter + * logic. This function validates a valid, supported configuration is + * selected, and defaults to 1 Unicast address if an unsupported + * configuration is selected. +@@ -77,8 +77,7 @@ static int dwmac1000_validate_ucast_entries(int ucast_entries) + int x = ucast_entries; + + switch (x) { +- case 1: +- case 32: ++ case 1 ... 32: + case 64: + case 128: + break; +-- +2.16.4 + diff --git a/series.conf b/series.conf index 3b408ca..83e9b83 100644 --- a/series.conf +++ b/series.conf @@ -35391,6 +35391,7 @@ patches.suse/x86-microcode-intel-fix-memleak-in-save_microcode_patch patches.suse/x86-cpu-amd-fix-llc-id-bit-shift-calculation patches.suse/uprobes-x86-Remove-incorrect-WARN_ON-in-uprobe_init_.patch + patches.suse/net-davinci_emac-match-the-mdio-device-against-its-c.patch patches.suse/bpf-enforce-correct-alignment-for-instructions.patch patches.suse/sctp-fix-erroneous-inc-of-snmp-SctpFragUsrMsgs.patch patches.suse/ipvlan-fix-IFLA_MTU-ignored-on-NEWLINK.patch @@ -35836,6 +35837,7 @@ patches.suse/ipv6-fix-useless-rol32-call-on-hash.patch patches.suse/0009-net-qca_spi-Avoid-packet-drop-during-initial-sync.patch patches.suse/0010-net-qca_spi-Make-sure-the-QCA7000-reset-is-triggered.patch + patches.suse/net-qca_spi-Fix-log-level-if-probe-fails.patch patches.suse/msft-hv-1734-hv_netvsc-Fix-napi-reschedule-while-receive-completi.patch patches.suse/ptp-fix-missing-break-in-switch.patch patches.suse/crypto-af_alg-Initialize-sg_num_bytes-in-error-code-.patch @@ -41007,6 +41009,7 @@ patches.suse/tls-clear-key-material-from-kernel-memory-when-do_tl.patch patches.suse/gso_segment-Reset-skb-mac_len-after-modifying-networ.patch patches.suse/net-sched-act_sample-fix-NULL-dereference-in-the-dat.patch + patches.suse/stmmac-fix-valid-numbers-of-unicast-filter-entries.patch patches.suse/udp4-fix-IP_CMSG_CHECKSUM-for-connected-sockets.patch patches.suse/udp6-add-missing-checks-on-edumux-packet-processing.patch patches.suse/veth-Orphan-skb-before-GRO.patch @@ -41104,6 +41107,7 @@ patches.suse/media-af9035-prevent-buffer-overflow-on-write.patch patches.suse/net-stmmac-Fixup-the-tail-addr-setting-in-xmit-path.patch patches.suse/NFC-Fix-possible-memory-corruption-when-handling-SHD.patch + patches.suse/net-emac-fix-fixed-link-setup-for-the-RTL8363SB-swit.patch patches.suse/net-mlx5-Fix-read-from-coherent-memory.patch patches.suse/net-mlx5-Check-for-SQ-and-not-RQ-state-when-modifyin.patch patches.suse/net-mlx5e-TLS-Read-capabilities-only-when-it-is-safe.patch @@ -63322,6 +63326,7 @@ patches.suse/nfc-st-nci-Fix-use-after-free-bug-in-ndlc_remove-due.patch patches.suse/net-usb-smsc75xx-Limit-packet-length-to-skb-len.patch patches.suse/net-usb-smsc75xx-Move-packet-length-check-to-prevent.patch + patches.suse/net-iucv-Fix-size-of-interrupt-data.patch patches.suse/hwmon-xgene-Fix-use-after-free-bug-in-xgene_hwmon_remove-d.patch patches.suse/ring-buffer-remove-obsolete-comment-for-free_buffer_page.patch patches.suse/tracing-hwlat-Replace-sched_setaffinity-with-set_cpus_allowed_ptr.patch