Home Home > GIT Browse > SLE15
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Tesarik <ptesarik@suse.cz>2019-06-24 09:36:42 +0200
committerPetr Tesarik <ptesarik@suse.cz>2019-06-24 09:36:58 +0200
commitab4947f0e224bebf192f6b20bc333b1cf382710c (patch)
treef046e32d10ba980c943a9aaa3ae8532093c212fc
parenta453fbc2e2031ccc65b5e02b7e6ee073370beec6 (diff)
s390/qeth: fix race when initializing the IP address table
(bsc#1051510).
-rw-r--r--patches.fixes/s390-qeth-fix-race-when-initializing-the-ip-address-table37
-rw-r--r--series.conf1
2 files changed, 38 insertions, 0 deletions
diff --git a/patches.fixes/s390-qeth-fix-race-when-initializing-the-ip-address-table b/patches.fixes/s390-qeth-fix-race-when-initializing-the-ip-address-table
new file mode 100644
index 0000000000..bc8b2c93b9
--- /dev/null
+++ b/patches.fixes/s390-qeth-fix-race-when-initializing-the-ip-address-table
@@ -0,0 +1,37 @@
+From: Julian Wiedmann <jwi@linux.ibm.com>
+Date: Mon, 18 Mar 2019 16:40:55 +0100
+Subject: s390/qeth: fix race when initializing the IP address table
+Git-commit: 7221b727f0079a32aca91f657141e1de564d4b97
+Patch-mainline: v5.1-rc3
+References: bsc#1051510
+
+The ucast IP table is utilized by some of the L3-specific sysfs attributes
+that qeth_l3_create_device_attributes() provides. So initialize the table
+_before_ registering the attributes.
+
+Fixes: ebccc7397e4a ("s390/qeth: add missing hash table initializations")
+Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Petr Tesarik <ptesarik@suse.com>
+---
+ drivers/s390/net/qeth_l3_main.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/s390/net/qeth_l3_main.c
++++ b/drivers/s390/net/qeth_l3_main.c
+@@ -3002,12 +3002,14 @@ static int qeth_l3_probe_device(struct c
+ struct qeth_card *card = dev_get_drvdata(&gdev->dev);
+ int rc;
+
++ hash_init(card->ip_htable);
++
+ if (gdev->dev.type == &qeth_generic_devtype) {
+ rc = qeth_l3_create_device_attributes(&gdev->dev);
+ if (rc)
+ return rc;
+ }
+- hash_init(card->ip_htable);
++
+ hash_init(card->ip_mc_htable);
+ card->options.layer2 = 0;
+ card->info.hwtrap = 0;
diff --git a/series.conf b/series.conf
index 4592c6acc9..8f3169f226 100644
--- a/series.conf
+++ b/series.conf
@@ -21896,6 +21896,7 @@
patches.suse/packets-Always-register-packet-sk-in-the-same-order.patch
patches.suse/sctp-get-sctphdr-by-offset-in-sctp_compute_cksum.patch
patches.drivers/mISDN-hfcpci-Test-both-vendor-device-ID-for-Digium-H.patch
+ patches.fixes/s390-qeth-fix-race-when-initializing-the-ip-address-table
patches.suse/net-stmmac-fix-memory-corruption-with-large-MTUs.patch
patches.suse/tcp-do-not-use-ipv6-header-for-ipv4-flow.patch
patches.suse/dccp-do-not-use-ipv6-header-for-ipv4-flow.patch