diff --git a/kernel/drivers/module-bbswitch/pspec.xml b/kernel/drivers/module-bbswitch/pspec.xml
index 6e2f15f6..1697dc48 100644
--- a/kernel/drivers/module-bbswitch/pspec.xml
+++ b/kernel/drivers/module-bbswitch/pspec.xml
@@ -11,7 +11,7 @@
Kernel module allowing to switch dedicated graphics card on Optimus laptops
kernel module allowing to switch dedicated graphics card on Optimus laptops
- kernel-module-headers
+ kernel-module-headers
https://github.com/Bumblebee-Project/bbswitch/archive/v0.8.tar.gz
@@ -20,7 +20,7 @@
module-bbswitch
- kernel
+ kernel
/lib/modules
@@ -34,6 +34,13 @@
+
+ 2017-08-21
+ 0.8
+ Rebuild for new kernel.
+ Kamil Atlı
+ suvari@pisilinux.org
+
2017-07-04
0.8
diff --git a/kernel/drivers/module-broadcom-wl/pspec.xml b/kernel/drivers/module-broadcom-wl/pspec.xml
index 384a968f..2162e526 100644
--- a/kernel/drivers/module-broadcom-wl/pspec.xml
+++ b/kernel/drivers/module-broadcom-wl/pspec.xml
@@ -15,7 +15,7 @@
https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35-nodebug-pcoem-6_30_223_271.tar.gz
https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz
- kernel-module-headers
+ kernel-module-headers
patch/license.patch
@@ -28,7 +28,7 @@
module-broadcom-wl
- kernel
+ kernel
module-broadcom-wl-userspace
@@ -57,6 +57,13 @@
+
+ 2017-08-21
+ 6.30.223.271
+ Rebuild for new kernel.
+ Kamil Atlı
+ suvari@pisilinux.org
+
2017-07-04
6.30.223.271
diff --git a/kernel/drivers/module-virtualbox-guest/pspec.xml b/kernel/drivers/module-virtualbox-guest/pspec.xml
index 7c20db21..46501329 100644
--- a/kernel/drivers/module-virtualbox-guest/pspec.xml
+++ b/kernel/drivers/module-virtualbox-guest/pspec.xml
@@ -14,14 +14,14 @@
This package provides the kernel modules needed for mouse integration and shared folder support between VirtualBox host and guest systems.
https://sourceforge.net/projects/pisilinux/files/source/module-virtualbox-guest-5.1.14.tar.xz
- kernel-module-headers
+ kernel-module-headers
module-virtualbox-guest
- kernel
+ kernel
baselayout
module-virtualbox-guest-userspace
@@ -52,6 +52,13 @@
+
+ 2017-08-21
+ 5.1.14
+ Rebuild for new kernel.
+ Kamil Atlı
+ suvari@pisilinux.org
+
2017-07-04
5.1.14
diff --git a/kernel/drivers/module-virtualbox/pspec.xml b/kernel/drivers/module-virtualbox/pspec.xml
index d5066e7a..2ab93740 100644
--- a/kernel/drivers/module-virtualbox/pspec.xml
+++ b/kernel/drivers/module-virtualbox/pspec.xml
@@ -14,7 +14,7 @@
This package provides the kernel support for VirtualBox.
https://sourceforge.net/projects/pisilinux/files/source/module-virtualbox-5.1.14.tar.xz
- kernel-module-headers
+ kernel-module-headers
may sleep
-cfserl_receive (acquire the lock by rcu_read_lock)
- cfpkt_split
- cfpkt_create_pfx
- alloc_skb(GFP_KERNEL) --> may sleep
-
-There is "in_interrupt" in cfpkt_create_pfx to decide use "GFP_KERNEL" or
-"GFP_ATOMIC". In this situation, "GFP_KERNEL" is used because the function
-is called under a rcu read lock, instead in interrupt.
-
-To fix it, only "GFP_ATOMIC" is used in cfpkt_create_pfx.
-
-Signed-off-by: Jia-Ju Bai
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/caif/cfpkt_skbuff.c | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
---- a/net/caif/cfpkt_skbuff.c
-+++ b/net/caif/cfpkt_skbuff.c
-@@ -81,11 +81,7 @@ static struct cfpkt *cfpkt_create_pfx(u1
- {
- struct sk_buff *skb;
-
-- if (likely(in_interrupt()))
-- skb = alloc_skb(len + pfx, GFP_ATOMIC);
-- else
-- skb = alloc_skb(len + pfx, GFP_KERNEL);
--
-+ skb = alloc_skb(len + pfx, GFP_ATOMIC);
- if (unlikely(skb == NULL))
- return NULL;
-
diff --git a/kernel/kernel/files/patches/mageia/stable-net-don-t-call-strlen-on-non-terminated-string-in-dev_set_alias.patch b/kernel/kernel/files/patches/mageia/stable-net-don-t-call-strlen-on-non-terminated-string-in-dev_set_alias.patch
deleted file mode 100644
index 3cf3bf10..00000000
--- a/kernel/kernel/files/patches/mageia/stable-net-don-t-call-strlen-on-non-terminated-string-in-dev_set_alias.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Alexander Potapenko
-Date: Tue, 6 Jun 2017 15:56:54 +0200
-Subject: net: don't call strlen on non-terminated string in dev_set_alias()
-
-From: Alexander Potapenko
-
-
-[ Upstream commit c28294b941232931fbd714099798eb7aa7e865d7 ]
-
-KMSAN reported a use of uninitialized memory in dev_set_alias(),
-which was caused by calling strlcpy() (which in turn called strlen())
-on the user-supplied non-terminated string.
-
-Signed-off-by: Alexander Potapenko
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/core/dev.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/net/core/dev.c
-+++ b/net/core/dev.c
-@@ -1250,8 +1250,9 @@ int dev_set_alias(struct net_device *dev
- if (!new_ifalias)
- return -ENOMEM;
- dev->ifalias = new_ifalias;
-+ memcpy(dev->ifalias, alias, len);
-+ dev->ifalias[len] = 0;
-
-- strlcpy(dev->ifalias, alias, len+1);
- return len;
- }
-
diff --git a/kernel/kernel/files/patches/mageia/stable-net-mlx5-wait-for-fw-readiness-before-initializing-command-interface.patch b/kernel/kernel/files/patches/mageia/stable-net-mlx5-wait-for-fw-readiness-before-initializing-command-interface.patch
deleted file mode 100644
index e18326fd..00000000
--- a/kernel/kernel/files/patches/mageia/stable-net-mlx5-wait-for-fw-readiness-before-initializing-command-interface.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Eli Cohen
-Date: Thu, 8 Jun 2017 11:33:16 -0500
-Subject: net/mlx5: Wait for FW readiness before initializing command interface
-
-From: Eli Cohen
-
-
-[ Upstream commit 6c780a0267b8a1075f40b39851132eeaefefcff5 ]
-
-Before attempting to initialize the command interface we must wait till
-the fw_initializing bit is clear.
-
-If we fail to meet this condition the hardware will drop our
-configuration, specifically the descriptors page address. This scenario
-can happen when the firmware is still executing an FLR flow and did not
-finish yet so the driver needs to wait for that to finish.
-
-Fixes: e3297246c2c8 ('net/mlx5_core: Wait for FW readiness on startup')
-Signed-off-by: Eli Cohen
-Signed-off-by: Saeed Mahameed
-Signed-off-by: Greg Kroah-Hartman
----
- drivers/net/ethernet/mellanox/mlx5/core/main.c | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
---- a/drivers/net/ethernet/mellanox/mlx5/core/main.c
-+++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c
-@@ -155,8 +155,9 @@ static struct mlx5_profile profile[] = {
- },
- };
-
--#define FW_INIT_TIMEOUT_MILI 2000
--#define FW_INIT_WAIT_MS 2
-+#define FW_INIT_TIMEOUT_MILI 2000
-+#define FW_INIT_WAIT_MS 2
-+#define FW_PRE_INIT_TIMEOUT_MILI 10000
-
- static int wait_fw_init(struct mlx5_core_dev *dev, u32 max_wait_mili)
- {
-@@ -956,6 +957,15 @@ static int mlx5_load_one(struct mlx5_cor
- */
- dev->state = MLX5_DEVICE_STATE_UP;
-
-+ /* wait for firmware to accept initialization segments configurations
-+ */
-+ err = wait_fw_init(dev, FW_PRE_INIT_TIMEOUT_MILI);
-+ if (err) {
-+ dev_err(&dev->pdev->dev, "Firmware over %d MS in pre-initializing state, aborting\n",
-+ FW_PRE_INIT_TIMEOUT_MILI);
-+ goto out;
-+ }
-+
- err = mlx5_cmd_init(dev);
- if (err) {
- dev_err(&pdev->dev, "Failed initializing command interface, aborting\n");
diff --git a/kernel/kernel/files/patches/mageia/stable-net-mlx5e-added-bw-check-for-dim-decision-mechanism.patch b/kernel/kernel/files/patches/mageia/stable-net-mlx5e-added-bw-check-for-dim-decision-mechanism.patch
deleted file mode 100644
index 19c32c2f..00000000
--- a/kernel/kernel/files/patches/mageia/stable-net-mlx5e-added-bw-check-for-dim-decision-mechanism.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Tal Gilboa
-Date: Mon, 15 May 2017 14:13:16 +0300
-Subject: net/mlx5e: Added BW check for DIM decision mechanism
-
-From: Tal Gilboa
-
-
-[ Upstream commit c3164d2fc48fd4fa0477ab658b644559c3fe9073 ]
-
-DIM (Dynamically-tuned Interrupt Moderation) is a mechanism designed for
-changing the channel interrupt moderation values in order to reduce CPU
-overhead for all traffic types.
-Until now only interrupt and packet rate were sampled.
-We found a scenario on which we get a false indication since a change in
-DIM caused more aggregation and reduced packet rate while increasing BW.
-
-We now regard a change as succesfull iff:
-current_BW > (prev_BW + threshold) or
-current_BW ~= prev_BW and current_PR > (prev_PR + threshold) or
-current_BW ~= prev_BW and current_PR ~= prev_PR and
- current_IR < (prev_IR - threshold)
-Where BW = Bandwidth, PR = Packet rate and IR = Interrupt rate
-
-Improvements (ConnectX-4Lx 25GbE, single RX queue, LRO off)
- --------------------------------------------------
- packet size | before[Mb/s] | after[Mb/s] | gain |
- 2B | 343.4 | 359.4 | 4.5% |
- 16B | 2739.7 | 2814.8 | 2.7% |
- 64B | 9739 | 10185.3 | 4.5% |
-
-Fixes: cb3c7fd4f839 ("net/mlx5e: Support adaptive RX coalescing")
-Signed-off-by: Tal Gilboa
-Signed-off-by: Saeed Mahameed
-Signed-off-by: Greg Kroah-Hartman
----
- drivers/net/ethernet/mellanox/mlx5/core/en.h | 2 +
- drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c | 41 +++++++++++----------
- 2 files changed, 24 insertions(+), 19 deletions(-)
-
---- a/drivers/net/ethernet/mellanox/mlx5/core/en.h
-+++ b/drivers/net/ethernet/mellanox/mlx5/core/en.h
-@@ -283,12 +283,14 @@ struct mlx5e_dma_info {
-
- struct mlx5e_rx_am_stats {
- int ppms; /* packets per msec */
-+ int bpms; /* bytes per msec */
- int epms; /* events per msec */
- };
-
- struct mlx5e_rx_am_sample {
- ktime_t time;
- unsigned int pkt_ctr;
-+ unsigned int byte_ctr;
- u16 event_ctr;
- };
-
---- a/drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c
-+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c
-@@ -183,28 +183,27 @@ static void mlx5e_am_exit_parking(struct
- mlx5e_am_step(am);
- }
-
-+#define IS_SIGNIFICANT_DIFF(val, ref) \
-+ (((100 * abs((val) - (ref))) / (ref)) > 10) /* more than 10% difference */
-+
- static int mlx5e_am_stats_compare(struct mlx5e_rx_am_stats *curr,
- struct mlx5e_rx_am_stats *prev)
- {
-- int diff;
--
-- if (!prev->ppms)
-- return curr->ppms ? MLX5E_AM_STATS_BETTER :
-- MLX5E_AM_STATS_SAME;
--
-- diff = curr->ppms - prev->ppms;
-- if (((100 * abs(diff)) / prev->ppms) > 10) /* more than 10% diff */
-- return (diff > 0) ? MLX5E_AM_STATS_BETTER :
-- MLX5E_AM_STATS_WORSE;
--
-- if (!prev->epms)
-- return curr->epms ? MLX5E_AM_STATS_WORSE :
-+ if (!prev->bpms)
-+ return curr->bpms ? MLX5E_AM_STATS_BETTER :
- MLX5E_AM_STATS_SAME;
-
-- diff = curr->epms - prev->epms;
-- if (((100 * abs(diff)) / prev->epms) > 10) /* more than 10% diff */
-- return (diff < 0) ? MLX5E_AM_STATS_BETTER :
-- MLX5E_AM_STATS_WORSE;
-+ if (IS_SIGNIFICANT_DIFF(curr->bpms, prev->bpms))
-+ return (curr->bpms > prev->bpms) ? MLX5E_AM_STATS_BETTER :
-+ MLX5E_AM_STATS_WORSE;
-+
-+ if (IS_SIGNIFICANT_DIFF(curr->ppms, prev->ppms))
-+ return (curr->ppms > prev->ppms) ? MLX5E_AM_STATS_BETTER :
-+ MLX5E_AM_STATS_WORSE;
-+
-+ if (IS_SIGNIFICANT_DIFF(curr->epms, prev->epms))
-+ return (curr->epms < prev->epms) ? MLX5E_AM_STATS_BETTER :
-+ MLX5E_AM_STATS_WORSE;
-
- return MLX5E_AM_STATS_SAME;
- }
-@@ -266,6 +265,7 @@ static void mlx5e_am_sample(struct mlx5e
- {
- s->time = ktime_get();
- s->pkt_ctr = rq->stats.packets;
-+ s->byte_ctr = rq->stats.bytes;
- s->event_ctr = rq->cq.event_ctr;
- }
-
-@@ -278,12 +278,15 @@ static void mlx5e_am_calc_stats(struct m
- /* u32 holds up to 71 minutes, should be enough */
- u32 delta_us = ktime_us_delta(end->time, start->time);
- unsigned int npkts = end->pkt_ctr - start->pkt_ctr;
-+ unsigned int nbytes = end->byte_ctr - start->byte_ctr;
-
- if (!delta_us)
- return;
-
-- curr_stats->ppms = (npkts * USEC_PER_MSEC) / delta_us;
-- curr_stats->epms = (MLX5E_AM_NEVENTS * USEC_PER_MSEC) / delta_us;
-+ curr_stats->ppms = DIV_ROUND_UP(npkts * USEC_PER_MSEC, delta_us);
-+ curr_stats->bpms = DIV_ROUND_UP(nbytes * USEC_PER_MSEC, delta_us);
-+ curr_stats->epms = DIV_ROUND_UP(MLX5E_AM_NEVENTS * USEC_PER_MSEC,
-+ delta_us);
- }
-
- void mlx5e_rx_am_work(struct work_struct *work)
diff --git a/kernel/kernel/files/patches/mageia/stable-net-mlx5e-avoid-doing-a-cleanup-call-if-the-profile-doesn-t-have-it.patch b/kernel/kernel/files/patches/mageia/stable-net-mlx5e-avoid-doing-a-cleanup-call-if-the-profile-doesn-t-have-it.patch
deleted file mode 100644
index 26d03db7..00000000
--- a/kernel/kernel/files/patches/mageia/stable-net-mlx5e-avoid-doing-a-cleanup-call-if-the-profile-doesn-t-have-it.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Or Gerlitz
-Date: Thu, 15 Jun 2017 20:08:32 +0300
-Subject: net/mlx5e: Avoid doing a cleanup call if the profile doesn't have it
-
-From: Or Gerlitz
-
-
-[ Upstream commit 31ac93386d135a6c96de9c8bab406f5ccabf5a4d ]
-
-The error flow of mlx5e_create_netdev calls the cleanup call
-of the given profile without checking if it exists, fix that.
-
-Currently the VF reps don't register that callback and we crash
-if getting into error -- can be reproduced by the user doing ctrl^C
-while attempting to change the sriov mode from legacy to switchdev.
-
-Fixes: 26e59d8077a3 '(net/mlx5e: Implement mlx5e interface attach/detach callbacks')
-Signed-off-by: Or Gerlitz
-Reported-by: Sabrina Dubroca
-Signed-off-by: Saeed Mahameed
-Signed-off-by: Greg Kroah-Hartman
----
- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
-+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
-@@ -3846,7 +3846,8 @@ struct net_device *mlx5e_create_netdev(s
- return netdev;
-
- err_cleanup_nic:
-- profile->cleanup(priv);
-+ if (profile->cleanup)
-+ profile->cleanup(priv);
- free_netdev(netdev);
-
- return NULL;
diff --git a/kernel/kernel/files/patches/mageia/stable-net-mlx5e-fix-timestamping-capabilities-reporting.patch b/kernel/kernel/files/patches/mageia/stable-net-mlx5e-fix-timestamping-capabilities-reporting.patch
deleted file mode 100644
index 338185ab..00000000
--- a/kernel/kernel/files/patches/mageia/stable-net-mlx5e-fix-timestamping-capabilities-reporting.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Maor Dickman
-Date: Thu, 18 May 2017 15:15:08 +0300
-Subject: net/mlx5e: Fix timestamping capabilities reporting
-
-From: Maor Dickman
-
-
-[ Upstream commit f0b381178b01b831f9907d72f467d6443afdea67 ]
-
-Misuse of (BIT) macro caused to report wrong flags for
-"Hardware Transmit Timestamp Modes" and "Hardware Receive
-Filter Modes"
-
-Fixes: ef9814deafd0 ('net/mlx5e: Add HW timestamping (TS) support')
-Signed-off-by: Maor Dickman
-Signed-off-by: Saeed Mahameed
-Signed-off-by: Greg Kroah-Hartman
----
- drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
---- a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
-+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
-@@ -1183,11 +1183,11 @@ static int mlx5e_get_ts_info(struct net_
- SOF_TIMESTAMPING_RX_HARDWARE |
- SOF_TIMESTAMPING_RAW_HARDWARE;
-
-- info->tx_types = (BIT(1) << HWTSTAMP_TX_OFF) |
-- (BIT(1) << HWTSTAMP_TX_ON);
-+ info->tx_types = BIT(HWTSTAMP_TX_OFF) |
-+ BIT(HWTSTAMP_TX_ON);
-
-- info->rx_filters = (BIT(1) << HWTSTAMP_FILTER_NONE) |
-- (BIT(1) << HWTSTAMP_FILTER_ALL);
-+ info->rx_filters = BIT(HWTSTAMP_FILTER_NONE) |
-+ BIT(HWTSTAMP_FILTER_ALL);
-
- return 0;
- }
diff --git a/kernel/kernel/files/patches/mageia/stable-net-mlx5e-fix-wrong-indications-in-dim-due-to-counter-wraparound.patch b/kernel/kernel/files/patches/mageia/stable-net-mlx5e-fix-wrong-indications-in-dim-due-to-counter-wraparound.patch
deleted file mode 100644
index 40dd9ef1..00000000
--- a/kernel/kernel/files/patches/mageia/stable-net-mlx5e-fix-wrong-indications-in-dim-due-to-counter-wraparound.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Tal Gilboa
-Date: Mon, 29 May 2017 17:02:55 +0300
-Subject: net/mlx5e: Fix wrong indications in DIM due to counter wraparound
-
-From: Tal Gilboa
-
-
-[ Upstream commit 53acd76ce571e3b71f9205f2d49ab285a9f1aad8 ]
-
-DIM (Dynamically-tuned Interrupt Moderation) is a mechanism designed for
-changing the channel interrupt moderation values in order to reduce CPU
-overhead for all traffic types.
-Each iteration of the algorithm, DIM calculates the difference in
-throughput, packet rate and interrupt rate from last iteration in order
-to make a decision. DIM relies on counters for each metric. When these
-counters get to their type's max value they wraparound. In this case
-the delta between 'end' and 'start' samples is negative and when
-translated to unsigned integers - very high. This results in a false
-indication to the algorithm and might result in a wrong decision.
-
-The fix calculates the 'distance' between 'end' and 'start' samples in a
-cyclic way around the relevant type's max value. It can also be viewed as
-an absolute value around the type's max value instead of around 0.
-
-Testing show higher stability in DIM profile selection and no wraparound
-issues.
-
-Fixes: cb3c7fd4f839 ("net/mlx5e: Support adaptive RX coalescing")
-Signed-off-by: Tal Gilboa
-Signed-off-by: Saeed Mahameed
-Signed-off-by: Greg Kroah-Hartman
----
- drivers/net/ethernet/mellanox/mlx5/core/en.h | 8 ++++----
- drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c | 10 +++++++---
- 2 files changed, 11 insertions(+), 7 deletions(-)
-
---- a/drivers/net/ethernet/mellanox/mlx5/core/en.h
-+++ b/drivers/net/ethernet/mellanox/mlx5/core/en.h
-@@ -288,10 +288,10 @@ struct mlx5e_rx_am_stats {
- };
-
- struct mlx5e_rx_am_sample {
-- ktime_t time;
-- unsigned int pkt_ctr;
-- unsigned int byte_ctr;
-- u16 event_ctr;
-+ ktime_t time;
-+ u32 pkt_ctr;
-+ u32 byte_ctr;
-+ u16 event_ctr;
- };
-
- struct mlx5e_rx_am { /* Adaptive Moderation */
---- a/drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c
-+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c
-@@ -270,6 +270,8 @@ static void mlx5e_am_sample(struct mlx5e
- }
-
- #define MLX5E_AM_NEVENTS 64
-+#define BITS_PER_TYPE(type) (sizeof(type) * BITS_PER_BYTE)
-+#define BIT_GAP(bits, end, start) ((((end) - (start)) + BIT_ULL(bits)) & (BIT_ULL(bits) - 1))
-
- static void mlx5e_am_calc_stats(struct mlx5e_rx_am_sample *start,
- struct mlx5e_rx_am_sample *end,
-@@ -277,8 +279,9 @@ static void mlx5e_am_calc_stats(struct m
- {
- /* u32 holds up to 71 minutes, should be enough */
- u32 delta_us = ktime_us_delta(end->time, start->time);
-- unsigned int npkts = end->pkt_ctr - start->pkt_ctr;
-- unsigned int nbytes = end->byte_ctr - start->byte_ctr;
-+ u32 npkts = BIT_GAP(BITS_PER_TYPE(u32), end->pkt_ctr, start->pkt_ctr);
-+ u32 nbytes = BIT_GAP(BITS_PER_TYPE(u32), end->byte_ctr,
-+ start->byte_ctr);
-
- if (!delta_us)
- return;
-@@ -311,7 +314,8 @@ void mlx5e_rx_am(struct mlx5e_rq *rq)
-
- switch (am->state) {
- case MLX5E_AM_MEASURE_IN_PROGRESS:
-- nevents = rq->cq.event_ctr - am->start_sample.event_ctr;
-+ nevents = BIT_GAP(BITS_PER_TYPE(u16), rq->cq.event_ctr,
-+ am->start_sample.event_ctr);
- if (nevents < MLX5E_AM_NEVENTS)
- break;
- mlx5e_am_sample(rq, &end_sample);
diff --git a/kernel/kernel/files/patches/mageia/stable-net-tipc-fix-a-sleep-in-atomic-bug-in-tipc_msg_reverse.patch b/kernel/kernel/files/patches/mageia/stable-net-tipc-fix-a-sleep-in-atomic-bug-in-tipc_msg_reverse.patch
deleted file mode 100644
index 0fcd68f3..00000000
--- a/kernel/kernel/files/patches/mageia/stable-net-tipc-fix-a-sleep-in-atomic-bug-in-tipc_msg_reverse.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Jia-Ju Bai
-Date: Sat, 10 Jun 2017 17:03:35 +0800
-Subject: net: tipc: Fix a sleep-in-atomic bug in tipc_msg_reverse
-
-From: Jia-Ju Bai
-
-
-[ Upstream commit 343eba69c6968190d8654b857aea952fed9a6749 ]
-
-The kernel may sleep under a rcu read lock in tipc_msg_reverse, and the
-function call path is:
-tipc_l2_rcv_msg (acquire the lock by rcu_read_lock)
- tipc_rcv
- tipc_sk_rcv
- tipc_msg_reverse
- pskb_expand_head(GFP_KERNEL) --> may sleep
-tipc_node_broadcast
- tipc_node_xmit_skb
- tipc_node_xmit
- tipc_sk_rcv
- tipc_msg_reverse
- pskb_expand_head(GFP_KERNEL) --> may sleep
-
-To fix it, "GFP_KERNEL" is replaced with "GFP_ATOMIC".
-
-Signed-off-by: Jia-Ju Bai
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/tipc/msg.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/net/tipc/msg.c
-+++ b/net/tipc/msg.c
-@@ -508,7 +508,7 @@ bool tipc_msg_reverse(u32 own_node, str
- }
-
- if (skb_cloned(_skb) &&
-- pskb_expand_head(_skb, BUF_HEADROOM, BUF_TAILROOM, GFP_KERNEL))
-+ pskb_expand_head(_skb, BUF_HEADROOM, BUF_TAILROOM, GFP_ATOMIC))
- goto exit;
-
- /* Now reverse the concerned fields */
diff --git a/kernel/kernel/files/patches/mageia/stable-net-vrf-make-add_fib_rules-per-network-namespace-flag.patch b/kernel/kernel/files/patches/mageia/stable-net-vrf-make-add_fib_rules-per-network-namespace-flag.patch
deleted file mode 100644
index 983fb158..00000000
--- a/kernel/kernel/files/patches/mageia/stable-net-vrf-make-add_fib_rules-per-network-namespace-flag.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: David Ahern
-Date: Thu, 8 Jun 2017 11:31:11 -0600
-Subject: net: vrf: Make add_fib_rules per network namespace flag
-
-From: David Ahern
-
-
-[ Upstream commit 097d3c9508dc58286344e4a22b300098cf0c1566 ]
-
-Commit 1aa6c4f6b8cd8 ("net: vrf: Add l3mdev rules on first device create")
-adds the l3mdev FIB rule the first time a VRF device is created. However,
-it only creates the rule once and only in the namespace the first device
-is created - which may not be init_net. Fix by using the net_generic
-capability to make the add_fib_rules flag per network namespace.
-
-Fixes: 1aa6c4f6b8cd8 ("net: vrf: Add l3mdev rules on first device create")
-Reported-by: Petr Machata
-Signed-off-by: David Ahern
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- drivers/net/vrf.c | 36 ++++++++++++++++++++++++++++++++----
- 1 file changed, 32 insertions(+), 4 deletions(-)
-
---- a/drivers/net/vrf.c
-+++ b/drivers/net/vrf.c
-@@ -36,12 +36,14 @@
- #include
- #include
- #include
-+#include
-
- #define DRV_NAME "vrf"
- #define DRV_VERSION "1.0"
-
- #define FIB_RULE_PREF 1000 /* default preference for FIB rules */
--static bool add_fib_rules = true;
-+
-+static unsigned int vrf_net_id;
-
- struct net_vrf {
- struct rtable __rcu *rth;
-@@ -1237,6 +1239,8 @@ static int vrf_newlink(struct net *src_n
- struct nlattr *tb[], struct nlattr *data[])
- {
- struct net_vrf *vrf = netdev_priv(dev);
-+ bool *add_fib_rules;
-+ struct net *net;
- int err;
-
- if (!data || !data[IFLA_VRF_TABLE])
-@@ -1252,13 +1256,15 @@ static int vrf_newlink(struct net *src_n
- if (err)
- goto out;
-
-- if (add_fib_rules) {
-+ net = dev_net(dev);
-+ add_fib_rules = net_generic(net, vrf_net_id);
-+ if (*add_fib_rules) {
- err = vrf_add_fib_rules(dev);
- if (err) {
- unregister_netdevice(dev);
- goto out;
- }
-- add_fib_rules = false;
-+ *add_fib_rules = false;
- }
-
- out:
-@@ -1341,16 +1347,38 @@ static struct notifier_block vrf_notifie
- .notifier_call = vrf_device_event,
- };
-
-+/* Initialize per network namespace state */
-+static int __net_init vrf_netns_init(struct net *net)
-+{
-+ bool *add_fib_rules = net_generic(net, vrf_net_id);
-+
-+ *add_fib_rules = true;
-+
-+ return 0;
-+}
-+
-+static struct pernet_operations vrf_net_ops __net_initdata = {
-+ .init = vrf_netns_init,
-+ .id = &vrf_net_id,
-+ .size = sizeof(bool),
-+};
-+
- static int __init vrf_init_module(void)
- {
- int rc;
-
- register_netdevice_notifier(&vrf_notifier_block);
-
-- rc = rtnl_link_register(&vrf_link_ops);
-+ rc = register_pernet_subsys(&vrf_net_ops);
- if (rc < 0)
- goto error;
-
-+ rc = rtnl_link_register(&vrf_link_ops);
-+ if (rc < 0) {
-+ unregister_pernet_subsys(&vrf_net_ops);
-+ goto error;
-+ }
-+
- return 0;
-
- error:
diff --git a/kernel/kernel/files/patches/mageia/stable-net-zero-ifla_vf_info-in-rtnl_fill_vfinfo.patch b/kernel/kernel/files/patches/mageia/stable-net-zero-ifla_vf_info-in-rtnl_fill_vfinfo.patch
deleted file mode 100644
index fedda9b0..00000000
--- a/kernel/kernel/files/patches/mageia/stable-net-zero-ifla_vf_info-in-rtnl_fill_vfinfo.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: "Mintz, Yuval"
-Date: Wed, 7 Jun 2017 21:00:33 +0300
-Subject: net: Zero ifla_vf_info in rtnl_fill_vfinfo()
-
-From: "Mintz, Yuval"
-
-
-[ Upstream commit 0eed9cf58446b28b233388b7f224cbca268b6986 ]
-
-Some of the structure's fields are not initialized by the
-rtnetlink. If driver doesn't set those in ndo_get_vf_config(),
-they'd leak memory to user.
-
-Signed-off-by: Yuval Mintz
-CC: Michal Schmidt
-Reviewed-by: Greg Rose
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/core/rtnetlink.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/net/core/rtnetlink.c
-+++ b/net/core/rtnetlink.c
-@@ -1130,6 +1130,8 @@ static noinline_for_stack int rtnl_fill_
- struct ifla_vf_mac vf_mac;
- struct ifla_vf_info ivi;
-
-+ memset(&ivi, 0, sizeof(ivi));
-+
- /* Not all SR-IOV capable drivers support the
- * spoofcheck and "RSS query enable" query. Preset to
- * -1 so the user space tool can detect that the driver
-@@ -1138,7 +1140,6 @@ static noinline_for_stack int rtnl_fill_
- ivi.spoofchk = -1;
- ivi.rss_query_en = -1;
- ivi.trusted = -1;
-- memset(ivi.mac, 0, sizeof(ivi.mac));
- /* The default value for VF link state is "auto"
- * IFLA_VF_LINK_STATE_AUTO which equals zero
- */
diff --git a/kernel/kernel/files/patches/mageia/stable-proc-snmp6-use-correct-type-in-memset.patch b/kernel/kernel/files/patches/mageia/stable-proc-snmp6-use-correct-type-in-memset.patch
deleted file mode 100644
index 2966bd6a..00000000
--- a/kernel/kernel/files/patches/mageia/stable-proc-snmp6-use-correct-type-in-memset.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Christian Perle
-Date: Mon, 12 Jun 2017 10:06:57 +0200
-Subject: proc: snmp6: Use correct type in memset
-
-From: Christian Perle
-
-
-[ Upstream commit 3500cd73dff48f28f4ba80c171c4c80034d40f76 ]
-
-Reading /proc/net/snmp6 yields bogus values on 32 bit kernels.
-Use "u64" instead of "unsigned long" in sizeof().
-
-Fixes: 4a4857b1c81e ("proc: Reduce cache miss in snmp6_seq_show")
-Signed-off-by: Christian Perle
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/ipv6/proc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/net/ipv6/proc.c
-+++ b/net/ipv6/proc.c
-@@ -219,7 +219,7 @@ static void snmp6_seq_show_item64(struct
- u64 buff64[SNMP_MIB_MAX];
- int i;
-
-- memset(buff64, 0, sizeof(unsigned long) * SNMP_MIB_MAX);
-+ memset(buff64, 0, sizeof(u64) * SNMP_MIB_MAX);
-
- snmp_get_cpu_field64_batch(buff64, itemlist, mib, syncpoff);
- for (i = 0; itemlist[i].name; i++)
diff --git a/kernel/kernel/files/patches/mageia/stable-rtnetlink-add-ifla_group-to-ifla_policy.patch b/kernel/kernel/files/patches/mageia/stable-rtnetlink-add-ifla_group-to-ifla_policy.patch
deleted file mode 100644
index fd54224f..00000000
--- a/kernel/kernel/files/patches/mageia/stable-rtnetlink-add-ifla_group-to-ifla_policy.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Serhey Popovych
-Date: Tue, 20 Jun 2017 14:35:23 +0300
-Subject: rtnetlink: add IFLA_GROUP to ifla_policy
-
-From: Serhey Popovych
-
-
-[ Upstream commit db833d40ad3263b2ee3b59a1ba168bb3cfed8137 ]
-
-Network interface groups support added while ago, however
-there is no IFLA_GROUP attribute description in policy
-and netlink message size calculations until now.
-
-Add IFLA_GROUP attribute to the policy.
-
-Fixes: cbda10fa97d7 ("net_device: add support for network device groups")
-Signed-off-by: Serhey Popovych
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/core/rtnetlink.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/net/core/rtnetlink.c
-+++ b/net/core/rtnetlink.c
-@@ -937,6 +937,7 @@ static noinline size_t if_nlmsg_size(con
- + nla_total_size(1) /* IFLA_LINKMODE */
- + nla_total_size(4) /* IFLA_CARRIER_CHANGES */
- + nla_total_size(4) /* IFLA_LINK_NETNSID */
-+ + nla_total_size(4) /* IFLA_GROUP */
- + nla_total_size(ext_filter_mask
- & RTEXT_FILTER_VF ? 4 : 0) /* IFLA_NUM_VF */
- + rtnl_vfinfo_size(dev, ext_filter_mask) /* IFLA_VFINFO_LIST */
-@@ -1465,6 +1466,7 @@ static const struct nla_policy ifla_poli
- [IFLA_LINK_NETNSID] = { .type = NLA_S32 },
- [IFLA_PROTO_DOWN] = { .type = NLA_U8 },
- [IFLA_XDP] = { .type = NLA_NESTED },
-+ [IFLA_GROUP] = { .type = NLA_U32 },
- };
-
- static const struct nla_policy ifla_info_policy[IFLA_INFO_MAX+1] = {
diff --git a/kernel/kernel/files/patches/mageia/stable-sctp-disable-bh-in-sctp_for_each_endpoint.patch b/kernel/kernel/files/patches/mageia/stable-sctp-disable-bh-in-sctp_for_each_endpoint.patch
deleted file mode 100644
index e4c5bf57..00000000
--- a/kernel/kernel/files/patches/mageia/stable-sctp-disable-bh-in-sctp_for_each_endpoint.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Xin Long
-Date: Sat, 10 Jun 2017 14:48:14 +0800
-Subject: sctp: disable BH in sctp_for_each_endpoint
-
-From: Xin Long
-
-
-[ Upstream commit 581409dacc9176b0de1f6c4ca8d66e13aa8e1b29 ]
-
-Now sctp holds read_lock when foreach sctp_ep_hashtable without disabling
-BH. If CPU schedules to another thread A at this moment, the thread A may
-be trying to hold the write_lock with disabling BH.
-
-As BH is disabled and CPU cannot schedule back to the thread holding the
-read_lock, while the thread A keeps waiting for the read_lock. A dead
-lock would be triggered by this.
-
-This patch is to fix this dead lock by calling read_lock_bh instead to
-disable BH when holding the read_lock in sctp_for_each_endpoint.
-
-Fixes: 626d16f50f39 ("sctp: export some apis or variables for sctp_diag and reuse some for proc")
-Reported-by: Xiumei Mu
-Signed-off-by: Xin Long
-Acked-by: Marcelo Ricardo Leitner
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/sctp/socket.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/net/sctp/socket.c
-+++ b/net/sctp/socket.c
-@@ -4460,13 +4460,13 @@ int sctp_for_each_endpoint(int (*cb)(str
-
- for (head = sctp_ep_hashtable; hash < sctp_ep_hashsize;
- hash++, head++) {
-- read_lock(&head->lock);
-+ read_lock_bh(&head->lock);
- sctp_for_each_hentry(epb, &head->chain) {
- err = cb(sctp_ep(epb), p);
- if (err)
- break;
- }
-- read_unlock(&head->lock);
-+ read_unlock_bh(&head->lock);
- }
-
- return err;
diff --git a/kernel/kernel/files/patches/mageia/stable-sctp-return-next-obj-by-passing-pos-1-into-sctp_transport_get_idx.patch b/kernel/kernel/files/patches/mageia/stable-sctp-return-next-obj-by-passing-pos-1-into-sctp_transport_get_idx.patch
deleted file mode 100644
index acc67c16..00000000
--- a/kernel/kernel/files/patches/mageia/stable-sctp-return-next-obj-by-passing-pos-1-into-sctp_transport_get_idx.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Xin Long
-Date: Thu, 15 Jun 2017 17:49:08 +0800
-Subject: sctp: return next obj by passing pos + 1 into sctp_transport_get_idx
-
-From: Xin Long
-
-
-[ Upstream commit 988c7322116970696211e902b468aefec95b6ec4 ]
-
-In sctp_for_each_transport, pos is used to save how many objs it has
-dumped. Now it gets the last obj by sctp_transport_get_idx, then gets
-the next obj by sctp_transport_get_next.
-
-The issue is that in the meanwhile if some objs in transport hashtable
-are removed and the objs nums are less than pos, sctp_transport_get_idx
-would return NULL and hti.walker.tbl is NULL as well. At this moment
-it should stop hti, instead of continue getting the next obj. Or it
-would cause a NULL pointer dereference in sctp_transport_get_next.
-
-This patch is to pass pos + 1 into sctp_transport_get_idx to get the
-next obj directly, even if pos > objs nums, it would return NULL and
-stop hti.
-
-Fixes: 626d16f50f39 ("sctp: export some apis or variables for sctp_diag and reuse some for proc")
-Signed-off-by: Xin Long
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/sctp/socket.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
---- a/net/sctp/socket.c
-+++ b/net/sctp/socket.c
-@@ -4506,9 +4506,8 @@ int sctp_for_each_transport(int (*cb)(st
- if (err)
- return err;
-
-- sctp_transport_get_idx(net, &hti, pos);
-- obj = sctp_transport_get_next(net, &hti);
-- for (; obj && !IS_ERR(obj); obj = sctp_transport_get_next(net, &hti)) {
-+ obj = sctp_transport_get_idx(net, &hti, pos + 1);
-+ for (; !IS_ERR_OR_NULL(obj); obj = sctp_transport_get_next(net, &hti)) {
- struct sctp_transport *transport = obj;
-
- if (!sctp_transport_hold(transport))
diff --git a/kernel/kernel/files/patches/mageia/stable-sfc-provide-dummy-definitions-of-vswitch-functions.patch b/kernel/kernel/files/patches/mageia/stable-sfc-provide-dummy-definitions-of-vswitch-functions.patch
deleted file mode 100644
index b23b7c9b..00000000
--- a/kernel/kernel/files/patches/mageia/stable-sfc-provide-dummy-definitions-of-vswitch-functions.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Bert Kenward
-Date: Fri, 16 Jun 2017 09:45:08 +0100
-Subject: sfc: provide dummy definitions of vswitch functions
-
-From: Bert Kenward
-
-
-efx_probe_all() calls efx->type->vswitching_probe during probe. For
-SFC4000 (Falcon) NICs this function is not defined, leading to a BUG
-with the top of the call stack similar to:
- ? efx_pci_probe_main+0x29a/0x830
- efx_pci_probe+0x7d3/0xe70
-
-vswitching_restore and vswitching_remove also need to be defined.
-
-Fixed in mainline by:
-commit 5a6681e22c14 ("sfc: separate out SFC4000 ("Falcon") support into new sfc-falcon driver")
-
-Fixes: 6d8aaaf6f798 ("sfc: create VEB vswitch and vport above default firmware setup")
-Signed-off-by: Bert Kenward
-Signed-off-by: Greg Kroah-Hartman
----
- drivers/net/ethernet/sfc/falcon.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
---- a/drivers/net/ethernet/sfc/falcon.c
-+++ b/drivers/net/ethernet/sfc/falcon.c
-@@ -2801,6 +2801,11 @@ const struct efx_nic_type falcon_a1_nic_
- .timer_period_max = 1 << FRF_AB_TC_TIMER_VAL_WIDTH,
- .offload_features = NETIF_F_IP_CSUM,
- .mcdi_max_ver = -1,
-+#ifdef CONFIG_SFC_SRIOV
-+ .vswitching_probe = efx_port_dummy_op_int,
-+ .vswitching_restore = efx_port_dummy_op_int,
-+ .vswitching_remove = efx_port_dummy_op_void,
-+#endif
- };
-
- const struct efx_nic_type falcon_b0_nic_type = {
-@@ -2902,4 +2907,9 @@ const struct efx_nic_type falcon_b0_nic_
- .offload_features = NETIF_F_IP_CSUM | NETIF_F_RXHASH | NETIF_F_NTUPLE,
- .mcdi_max_ver = -1,
- .max_rx_ip_filters = FR_BZ_RX_FILTER_TBL0_ROWS,
-+#ifdef CONFIG_SFC_SRIOV
-+ .vswitching_probe = efx_port_dummy_op_int,
-+ .vswitching_restore = efx_port_dummy_op_int,
-+ .vswitching_remove = efx_port_dummy_op_void,
-+#endif
- };
diff --git a/kernel/kernel/files/patches/mageia/usb-xhci-Limit-USB2-port-wake-support-for-AMD-Promontory-hosts.patch b/kernel/kernel/files/patches/mageia/usb-xhci-Limit-USB2-port-wake-support-for-AMD-Promontory-hosts.patch
deleted file mode 100644
index a96e408b..00000000
--- a/kernel/kernel/files/patches/mageia/usb-xhci-Limit-USB2-port-wake-support-for-AMD-Promontory-hosts.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From dec08194ffeccfa1cf085906b53d301930eae18f Mon Sep 17 00:00:00 2001
-From: Jiahau Chang
-Date: Mon, 19 Jun 2017 13:08:30 +0300
-Subject: xhci: Limit USB2 port wake support for AMD Promontory hosts
-
-For AMD Promontory xHCI host, although you can disable USB 2.0 ports in
-BIOS settings, those ports will be enabled anyway after you remove a
-device on that port and re-plug it in again. It's a known limitation of
-the chip. As a workaround we can clear the PORT_WAKE_BITS.
-
-This will disable wake on connect, disconnect and overcurrent on
-AMD Promontory USB2 ports
-
-[checkpatch cleanup and commit message reword -Mathias]
-Cc:
-Cc: Tsai Nicholas
-Signed-off-by: Jiahau Chang
-Signed-off-by: Mathias Nyman
-Signed-off-by: Greg Kroah-Hartman
----
- drivers/usb/host/xhci-hub.c | 3 +++
- drivers/usb/host/xhci-pci.c | 12 ++++++++++++
- drivers/usb/host/xhci.h | 1 +
- 3 files changed, 16 insertions(+)
-
-diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
-index 0dde49c..1adae9e 100644
---- a/drivers/usb/host/xhci-hub.c
-+++ b/drivers/usb/host/xhci-hub.c
-@@ -1461,6 +1461,9 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
- t2 |= PORT_WKOC_E | PORT_WKCONN_E;
- t2 &= ~PORT_WKDISC_E;
- }
-+ if ((xhci->quirks & XHCI_U2_DISABLE_WAKE) &&
-+ (hcd->speed < HCD_USB3))
-+ t2 &= ~PORT_WAKE_BITS;
- } else
- t2 &= ~PORT_WAKE_BITS;
-
-diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
-index 1bcf971..0965bae 100644
---- a/drivers/usb/host/xhci-pci.c
-+++ b/drivers/usb/host/xhci-pci.c
-@@ -54,6 +54,11 @@
- #define PCI_DEVICE_ID_INTEL_APL_XHCI 0x5aa8
- #define PCI_DEVICE_ID_INTEL_DNV_XHCI 0x19d0
-
-+#define PCI_DEVICE_ID_AMD_PROMONTORYA_4 0x43b9
-+#define PCI_DEVICE_ID_AMD_PROMONTORYA_3 0x43ba
-+#define PCI_DEVICE_ID_AMD_PROMONTORYA_2 0x43bb
-+#define PCI_DEVICE_ID_AMD_PROMONTORYA_1 0x43bc
-+
- static const char hcd_name[] = "xhci_hcd";
-
- static struct hc_driver __read_mostly xhci_pci_hc_driver;
-@@ -135,6 +140,13 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
- if (pdev->vendor == PCI_VENDOR_ID_AMD)
- xhci->quirks |= XHCI_TRUST_TX_LENGTH;
-
-+ if ((pdev->vendor == PCI_VENDOR_ID_AMD) &&
-+ ((pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_4) ||
-+ (pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_3) ||
-+ (pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_2) ||
-+ (pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_1)))
-+ xhci->quirks |= XHCI_U2_DISABLE_WAKE;
-+
- if (pdev->vendor == PCI_VENDOR_ID_INTEL) {
- xhci->quirks |= XHCI_LPM_SUPPORT;
- xhci->quirks |= XHCI_INTEL_HOST;
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index 73a28a9..dcd9649 100644
---- a/drivers/usb/host/xhci.h
-+++ b/drivers/usb/host/xhci.h
-@@ -1819,6 +1819,7 @@ struct xhci_hcd {
- /* For controller with a broken Port Disable implementation */
- #define XHCI_BROKEN_PORT_PED (1 << 25)
- #define XHCI_LIMIT_ENDPOINT_INTERVAL_7 (1 << 26)
-+#define XHCI_U2_DISABLE_WAKE (1 << 27)
-
- unsigned int num_active_eps;
- unsigned int limit_active_eps;
---
-cgit v1.1
-
diff --git a/kernel/kernel/pspec.xml b/kernel/kernel/pspec.xml
index c9bf7f48..e82565f5 100644
--- a/kernel/kernel/pspec.xml
+++ b/kernel/kernel/pspec.xml
@@ -28,35 +28,9 @@
- patches/linux/patch-4.9.35.xz
-
+ patches/linux/patch-4.9.44.xz
+
- patches/mageia/stable-ipv6-release-dst-on-error-in-ip6_dst_lookup_tail.patch
- patches/mageia/stable-net-don-t-call-strlen-on-non-terminated-string-in-dev_set_alias.patch
- patches/mageia/stable-decnet-dn_rtmsg-improve-input-length-sanitization-in-dnrmg_receive_user_skb.patch
- patches/mageia/stable-net-zero-ifla_vf_info-in-rtnl_fill_vfinfo.patch
- patches/mageia/stable-net-vrf-make-add_fib_rules-per-network-namespace-flag.patch
- patches/mageia/stable-af_unix-add-sockaddr-length-checks-before-accessing-sa_family-in-bind-and-connect-handlers.patch
- patches/mageia/stable-fix-an-intermittent-pr_emerg-warning-about-lo-becoming-free.patch
- patches/mageia/stable-sctp-disable-bh-in-sctp_for_each_endpoint.patch
- patches/mageia/stable-net-caif-fix-a-sleep-in-atomic-bug-in-cfpkt_create_pfx.patch
- patches/mageia/stable-net-tipc-fix-a-sleep-in-atomic-bug-in-tipc_msg_reverse.patch
- patches/mageia/stable-net-mlx5e-added-bw-check-for-dim-decision-mechanism.patch
- patches/mageia/stable-net-mlx5e-fix-wrong-indications-in-dim-due-to-counter-wraparound.patch
- patches/mageia/stable-proc-snmp6-use-correct-type-in-memset.patch
- patches/mageia/stable-igmp-acquire-pmc-lock-for-ip_mc_clear_src.patch
- patches/mageia/stable-igmp-add-a-missing-spin_lock_init.patch
- patches/mageia/stable-ipv6-fix-calling-in6_ifa_hold-incorrectly-for-dad-work.patch
- patches/mageia/stable-sctp-return-next-obj-by-passing-pos-1-into-sctp_transport_get_idx.patch
- patches/mageia/stable-net-mlx5e-avoid-doing-a-cleanup-call-if-the-profile-doesn-t-have-it.patch
- patches/mageia/stable-net-mlx5-wait-for-fw-readiness-before-initializing-command-interface.patch
- patches/mageia/stable-net-mlx5e-fix-timestamping-capabilities-reporting.patch
- patches/mageia/stable-decnet-always-not-take-dst-__refcnt-when-inserting-dst-into-hash-table.patch
- patches/mageia/stable-net-8021q-fix-one-possible-panic-caused-by-bug_on-in-free_netdev.patch
- patches/mageia/stable-sfc-provide-dummy-definitions-of-vswitch-functions.patch
- patches/mageia/stable-ipv6-do-not-leak-throw-route-references.patch
- patches/mageia/stable-rtnetlink-add-ifla_group-to-ifla_policy.patch
-
patches/mageia/Revert-cpufreq-pcc-Enable-autoload-of-pcc-cpufreq-fo.patch
@@ -143,14 +117,17 @@
patches/mageia/net-wireless-rtlwifi-Use-dev_kfree_skb_irq-instead-of-kfree_skb.patch
patches/mageia/net-wireless-rtlwifi-Fix-kernel-oops-introduced-with-commit-e4965.patch
patches/mageia/net-wireless-realtek-rtl8xxxu-linux-4.11-rc.patch
- patches/mageia/net-netfilter-xt_TCPMSS-add-more-sanity-tests-on-tcph-do.patch
patches/mageia/pinctrl_amd-Use-regular-interrupt-instead-of-chained.patch
patches/mageia/platform-x86-add-shuttle-wmi-driver.patch
patches/mageia/platform-x86-shuttle-wmi-drop-devinit-exit.patch
patches/mageia/platform-x86-shuttle-wmi-4.2-buildfix.patch
+ patches/mageia/platform-x86-asus-nb-wmi-Add-wapf4-quirk-for-the-X30.patch
patches/mageia/include-kbuild-export-pci_ids.patch
patches/mageia/sound-ALSA-hda-realtek-Add-new-codec-ID-ALC299.patch
patches/mageia/sound-ALSA-hda-realtek-New-codec-support-of-ALC1220.patch
+ patches/mageia/sound-ALSA-hda-realtek-new-id-for-alc1220.patch
+ patches/mageia/sound-ALSA-hda-realtek-Remove-ALC285-device-ID.patch
+ patches/mageia/sound-ALSA-hda-realtek-New-codecs-support-for-ALC215-ALC28.patch
patches/mageia/sound-ALSA-hda-A-new-flag-to-enforce-prefix-to-each-pin.patch
patches/mageia/sound-ALSA-hda-Allow-to-enable-disable-vmaster-build-expli.patch
patches/mageia/sound-ALSA-hda-Support-Gigabyte-Gaming-board-with-dual-Rea.patch
@@ -163,7 +140,6 @@
patches/mageia/hid-usbhid-IBM-BladeCenterHS20-quirk.patch
patches/mageia/usb-storage-unusual_devs-add-id.patch
patches/mageia/usb-storage-unusual_devs-add-id-2.6.37-buildfix.patch
- patches/mageia/usb-xhci-Limit-USB2-port-wake-support-for-AMD-Promontory-hosts.patch
patches/mageia/media-usb-pwc-lie-in-proc-usb-devices.patch
patches/mageia/3rd-3rdparty-1.0-tree.patch
patches/mageia/3rd-3rdparty-merge.patch
@@ -249,6 +225,17 @@
+
+ 2017-08-21
+ 4.9.44
+ Version Bump.
+ security
+
+ systemRestart
+
+ Ertuğrul Erata
+ ertugrulerata@gmail.com
+
2017-07-04
4.9.35
diff --git a/kernel/tools/cpupowertools/files/patches/linux/patch-4.9.44.xz b/kernel/tools/cpupowertools/files/patches/linux/patch-4.9.44.xz
new file mode 100644
index 00000000..08ef9d56
Binary files /dev/null and b/kernel/tools/cpupowertools/files/patches/linux/patch-4.9.44.xz differ
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/net-netfilter-xt_TCPMSS-add-more-sanity-tests-on-tcph-do.patch b/kernel/tools/cpupowertools/files/patches/mageia/net-netfilter-xt_TCPMSS-add-more-sanity-tests-on-tcph-do.patch
deleted file mode 100644
index cf6c103b..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/net-netfilter-xt_TCPMSS-add-more-sanity-tests-on-tcph-do.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 2638fd0f92d4397884fd991d8f4925cb3f081901 Mon Sep 17 00:00:00 2001
-From: Eric Dumazet
-Date: Mon, 3 Apr 2017 10:55:11 -0700
-Subject: [PATCH] netfilter: xt_TCPMSS: add more sanity tests on tcph->doff
-
-Denys provided an awesome KASAN report pointing to an use
-after free in xt_TCPMSS
-
-I have provided three patches to fix this issue, either in xt_TCPMSS or
-in xt_tcpudp.c. It seems xt_TCPMSS patch has the smallest possible
-impact.
-
-Signed-off-by: Eric Dumazet
-Reported-by: Denys Fedoryshchenko
-Signed-off-by: Pablo Neira Ayuso
----
- net/netfilter/xt_TCPMSS.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/net/netfilter/xt_TCPMSS.c b/net/netfilter/xt_TCPMSS.c
-index 27241a767f17..c64aca611ac5 100644
---- a/net/netfilter/xt_TCPMSS.c
-+++ b/net/netfilter/xt_TCPMSS.c
-@@ -104,7 +104,7 @@ tcpmss_mangle_packet(struct sk_buff *skb,
- tcph = (struct tcphdr *)(skb_network_header(skb) + tcphoff);
- tcp_hdrlen = tcph->doff * 4;
-
-- if (len < tcp_hdrlen)
-+ if (len < tcp_hdrlen || tcp_hdrlen < sizeof(struct tcphdr))
- return -1;
-
- if (info->mss == XT_TCPMSS_CLAMP_PMTU) {
-@@ -152,6 +152,10 @@ tcpmss_mangle_packet(struct sk_buff *skb,
- if (len > tcp_hdrlen)
- return 0;
-
-+ /* tcph->doff has 4 bits, do not wrap it to 0 */
-+ if (tcp_hdrlen >= 15 * 4)
-+ return 0;
-+
- /*
- * MSS Option not found ?! add it..
- */
---
-2.13.2
-
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/platform-x86-asus-nb-wmi-Add-wapf4-quirk-for-the-X30.patch b/kernel/tools/cpupowertools/files/patches/mageia/platform-x86-asus-nb-wmi-Add-wapf4-quirk-for-the-X30.patch
new file mode 100644
index 00000000..8c719dd5
--- /dev/null
+++ b/kernel/tools/cpupowertools/files/patches/mageia/platform-x86-asus-nb-wmi-Add-wapf4-quirk-for-the-X30.patch
@@ -0,0 +1,37 @@
+From f35823619db8bbaa2afea8705f239c3cecb9d22f Mon Sep 17 00:00:00 2001
+From: Santeri Toivonen
+Date: Tue, 4 Apr 2017 21:09:00 +0300
+Subject: [PATCH] platform/x86: asus-nb-wmi: Add wapf4 quirk for the X302UA
+
+Asus laptop X302UA starts up with Wi-Fi disabled,
+without a way to enable it. Set wapf=4 to fix the problem.
+
+Signed-off-by: Santeri Toivonen
+Signed-off-by: Darren Hart (VMware)
+---
+ drivers/platform/x86/asus-nb-wmi.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/x86/asus-nb-wmi.c
+index dea98ffb6f60..1ae58d906536 100644
+--- a/drivers/platform/x86/asus-nb-wmi.c
++++ b/drivers/platform/x86/asus-nb-wmi.c
+@@ -144,6 +144,15 @@ static const struct dmi_system_id asus_quirks[] = {
+ },
+ {
+ .callback = dmi_matched,
++ .ident = "ASUSTeK COMPUTER INC. X302UA",
++ .matches = {
++ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
++ DMI_MATCH(DMI_PRODUCT_NAME, "X302UA"),
++ },
++ .driver_data = &quirk_asus_wapf4,
++ },
++ {
++ .callback = dmi_matched,
+ .ident = "ASUSTeK COMPUTER INC. X401U",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+--
+2.13.2
+
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/series b/kernel/tools/cpupowertools/files/patches/mageia/series
index ee88f3c3..b977f0a7 100644
--- a/kernel/tools/cpupowertools/files/patches/mageia/series
+++ b/kernel/tools/cpupowertools/files/patches/mageia/series
@@ -14,31 +14,6 @@
###
### Stable Queue
###
-stable-ipv6-release-dst-on-error-in-ip6_dst_lookup_tail.patch
-stable-net-don-t-call-strlen-on-non-terminated-string-in-dev_set_alias.patch
-stable-decnet-dn_rtmsg-improve-input-length-sanitization-in-dnrmg_receive_user_skb.patch
-stable-net-zero-ifla_vf_info-in-rtnl_fill_vfinfo.patch
-stable-net-vrf-make-add_fib_rules-per-network-namespace-flag.patch
-stable-af_unix-add-sockaddr-length-checks-before-accessing-sa_family-in-bind-and-connect-handlers.patch
-stable-fix-an-intermittent-pr_emerg-warning-about-lo-becoming-free.patch
-stable-sctp-disable-bh-in-sctp_for_each_endpoint.patch
-stable-net-caif-fix-a-sleep-in-atomic-bug-in-cfpkt_create_pfx.patch
-stable-net-tipc-fix-a-sleep-in-atomic-bug-in-tipc_msg_reverse.patch
-stable-net-mlx5e-added-bw-check-for-dim-decision-mechanism.patch
-stable-net-mlx5e-fix-wrong-indications-in-dim-due-to-counter-wraparound.patch
-stable-proc-snmp6-use-correct-type-in-memset.patch
-stable-igmp-acquire-pmc-lock-for-ip_mc_clear_src.patch
-stable-igmp-add-a-missing-spin_lock_init.patch
-stable-ipv6-fix-calling-in6_ifa_hold-incorrectly-for-dad-work.patch
-stable-sctp-return-next-obj-by-passing-pos-1-into-sctp_transport_get_idx.patch
-stable-net-mlx5e-avoid-doing-a-cleanup-call-if-the-profile-doesn-t-have-it.patch
-stable-net-mlx5-wait-for-fw-readiness-before-initializing-command-interface.patch
-stable-net-mlx5e-fix-timestamping-capabilities-reporting.patch
-stable-decnet-always-not-take-dst-__refcnt-when-inserting-dst-into-hash-table.patch
-stable-net-8021q-fix-one-possible-panic-caused-by-bug_on-in-free_netdev.patch
-stable-sfc-provide-dummy-definitions-of-vswitch-functions.patch
-stable-ipv6-do-not-leak-throw-route-references.patch
-stable-rtnetlink-add-ifla_group-to-ifla_policy.patch
###
### Arch x86
@@ -297,9 +272,6 @@ net-wireless-rtlwifi-Fix-kernel-oops-introduced-with-commit-e4965.patch
# update rtl8xxxu for mga#20508
net-wireless-realtek-rtl8xxxu-linux-4.11-rc.patch
-# fixes issue triggable by remote peers
-net-netfilter-xt_TCPMSS-add-more-sanity-tests-on-tcph-do.patch
-
###
### pinctrl
###
@@ -317,6 +289,9 @@ platform-x86-add-shuttle-wmi-driver.patch
platform-x86-shuttle-wmi-drop-devinit-exit.patch
platform-x86-shuttle-wmi-4.2-buildfix.patch
+# X302UA no wifi
+platform-x86-asus-nb-wmi-Add-wapf4-quirk-for-the-X30.patch
+
###
### RTC
###
@@ -335,6 +310,9 @@ include-kbuild-export-pci_ids.patch
# new codecs
sound-ALSA-hda-realtek-Add-new-codec-ID-ALC299.patch
sound-ALSA-hda-realtek-New-codec-support-of-ALC1220.patch
+sound-ALSA-hda-realtek-new-id-for-alc1220.patch
+sound-ALSA-hda-realtek-Remove-ALC285-device-ID.patch
+sound-ALSA-hda-realtek-New-codecs-support-for-ALC215-ALC28.patch
# add support for Gigabyte GA-AX370 Gaming 5 with dual codecs (TTL: 4.12)
sound-ALSA-hda-A-new-flag-to-enforce-prefix-to-each-pin.patch
@@ -372,9 +350,6 @@ hid-usbhid-IBM-BladeCenterHS20-quirk.patch
usb-storage-unusual_devs-add-id.patch
usb-storage-unusual_devs-add-id-2.6.37-buildfix.patch
-# amd xhci fix
-usb-xhci-Limit-USB2-port-wake-support-for-AMD-Promontory-hosts.patch
-
###
### V4L
###
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/sound-ALSA-hda-realtek-New-codecs-support-for-ALC215-ALC28.patch b/kernel/tools/cpupowertools/files/patches/mageia/sound-ALSA-hda-realtek-New-codecs-support-for-ALC215-ALC28.patch
new file mode 100644
index 00000000..86bf8a64
--- /dev/null
+++ b/kernel/tools/cpupowertools/files/patches/mageia/sound-ALSA-hda-realtek-New-codecs-support-for-ALC215-ALC28.patch
@@ -0,0 +1,85 @@
+From 0a6f0600efc3df0179a33188c30b5026bd9d1c27 Mon Sep 17 00:00:00 2001
+From: Kailang Yang
+Date: Fri, 30 Jun 2017 16:00:48 +0800
+Subject: [PATCH] ALSA: hda/realtek - New codecs support for
+ ALC215/ALC285/ALC289
+
+Add new codecs support for ALC215 ALC285 ALC289.
+
+Signed-off-by: Kailang Yang
+Signed-off-by: Takashi Iwai
+---
+ sound/pci/hda/patch_realtek.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
+index 80c7c832d442..c39bc497650c 100644
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -327,6 +327,7 @@ static void alc_fill_eapd_coef(struct hd
+ case 0x10ec0292:
+ alc_update_coef_idx(codec, 0x4, 1<<15, 0);
+ break;
++ case 0x10ec0215:
+ case 0x10ec0225:
+ case 0x10ec0233:
+ case 0x10ec0255:
+@@ -335,8 +336,10 @@ static void alc_fill_eapd_coef(struct hd
+ case 0x10ec0283:
+ case 0x10ec0286:
+ case 0x10ec0288:
++ case 0x10ec0285:
+ case 0x10ec0295:
+ case 0x10ec0298:
++ case 0x10ec0289:
+ case 0x10ec0299:
+ alc_update_coef_idx(codec, 0x10, 1<<9, 0);
+ break;
+@@ -2723,6 +2726,7 @@ enum {
+ ALC269_TYPE_ALC298,
+ ALC269_TYPE_ALC255,
+ ALC269_TYPE_ALC256,
++ ALC269_TYPE_ALC215,
+ ALC269_TYPE_ALC225,
+ ALC269_TYPE_ALC294,
+ ALC269_TYPE_ALC700,
+@@ -2755,6 +2759,7 @@ static int alc269_parse_auto_config(stru
+ case ALC269_TYPE_ALC298:
+ case ALC269_TYPE_ALC255:
+ case ALC269_TYPE_ALC256:
++ case ALC269_TYPE_ALC215:
+ case ALC269_TYPE_ALC225:
+ case ALC269_TYPE_ALC294:
+ case ALC269_TYPE_ALC700:
+@@ -6298,6 +6303,12 @@ static int patch_alc269(struct hda_codec
+ spec->gen.mixer_nid = 0; /* ALC256 does not have any loopback mixer path */
+ alc_update_coef_idx(codec, 0x36, 1 << 13, 1 << 5); /* Switch pcbeep path to Line in path*/
+ break;
++ case 0x10ec0215:
++ case 0x10ec0285:
++ case 0x10ec0289:
++ spec->codec_variant = ALC269_TYPE_ALC215;
++ spec->gen.mixer_nid = 0;
++ break;
+ case 0x10ec0225:
+ case 0x10ec0295:
+ case 0x10ec0299:
+@@ -7267,6 +7278,7 @@ static int patch_alc680(struct hda_codec
+ * patch entries
+ */
+ static const struct hda_device_id snd_hda_id_realtek[] = {
++ HDA_CODEC_ENTRY(0x10ec0215, "ALC215", patch_alc269),
+ HDA_CODEC_ENTRY(0x10ec0221, "ALC221", patch_alc269),
+ HDA_CODEC_ENTRY(0x10ec0225, "ALC225", patch_alc269),
+ HDA_CODEC_ENTRY(0x10ec0231, "ALC231", patch_alc269),
+@@ -7289,8 +7301,10 @@ static const struct hda_device_id snd_hd
+ HDA_CODEC_ENTRY(0x10ec0282, "ALC282", patch_alc269),
+ HDA_CODEC_ENTRY(0x10ec0283, "ALC283", patch_alc269),
+ HDA_CODEC_ENTRY(0x10ec0284, "ALC284", patch_alc269),
++ HDA_CODEC_ENTRY(0x10ec0285, "ALC285", patch_alc269),
+ HDA_CODEC_ENTRY(0x10ec0286, "ALC286", patch_alc269),
+ HDA_CODEC_ENTRY(0x10ec0288, "ALC288", patch_alc269),
++ HDA_CODEC_ENTRY(0x10ec0289, "ALC289", patch_alc269),
+ HDA_CODEC_ENTRY(0x10ec0290, "ALC290", patch_alc269),
+ HDA_CODEC_ENTRY(0x10ec0292, "ALC292", patch_alc269),
+ HDA_CODEC_ENTRY(0x10ec0293, "ALC293", patch_alc269),
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/sound-ALSA-hda-realtek-Remove-ALC285-device-ID.patch b/kernel/tools/cpupowertools/files/patches/mageia/sound-ALSA-hda-realtek-Remove-ALC285-device-ID.patch
new file mode 100644
index 00000000..05649747
--- /dev/null
+++ b/kernel/tools/cpupowertools/files/patches/mageia/sound-ALSA-hda-realtek-Remove-ALC285-device-ID.patch
@@ -0,0 +1,68 @@
+From 4731d5de4b1ca8d2565782cc3aeac392db07c075 Mon Sep 17 00:00:00 2001
+From: Kailang Yang
+Date: Fri, 30 Jun 2017 15:22:57 +0800
+Subject: [PATCH] ALSA: hda/realtek - Remove ALC285 device ID
+
+0x0285 Device ID was not used.
+It just assigned for alias of ALC293 as backup.
+So, remove it first.
+Because our new codec will use this device ID.
+
+Signed-off-by: Kailang Yang
+Signed-off-by: Takashi Iwai
+---
+ sound/pci/hda/patch_realtek.c | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
+index c79491a1cd47..80c7c832d442 100644
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -340,7 +340,6 @@ static void alc_fill_eapd_coef(struct hda_codec *codec)
+ case 0x10ec0299:
+ alc_update_coef_idx(codec, 0x10, 1<<9, 0);
+ break;
+- case 0x10ec0285:
+ case 0x10ec0293:
+ alc_update_coef_idx(codec, 0xa, 1<<13, 0);
+ break;
+@@ -2738,7 +2737,7 @@ enum {
+ ALC269_TYPE_ALC282,
+ ALC269_TYPE_ALC283,
+ ALC269_TYPE_ALC284,
+- ALC269_TYPE_ALC285,
++ ALC269_TYPE_ALC293,
+ ALC269_TYPE_ALC286,
+ ALC269_TYPE_ALC298,
+ ALC269_TYPE_ALC255,
+@@ -2764,7 +2763,7 @@ static int alc269_parse_auto_config(struct hda_codec *codec)
+ case ALC269_TYPE_ALC269VC:
+ case ALC269_TYPE_ALC280:
+ case ALC269_TYPE_ALC284:
+- case ALC269_TYPE_ALC285:
++ case ALC269_TYPE_ALC293:
+ ssids = alc269va_ssids;
+ break;
+ case ALC269_TYPE_ALC269VB:
+@@ -6678,9 +6677,8 @@ static int patch_alc269(struct hda_codec *codec)
+ case 0x10ec0292:
+ spec->codec_variant = ALC269_TYPE_ALC284;
+ break;
+- case 0x10ec0285:
+ case 0x10ec0293:
+- spec->codec_variant = ALC269_TYPE_ALC285;
++ spec->codec_variant = ALC269_TYPE_ALC293;
+ break;
+ case 0x10ec0286:
+ case 0x10ec0288:
+@@ -7752,7 +7750,6 @@ static const struct hda_device_id snd_hda_id_realtek[] = {
+ HDA_CODEC_ENTRY(0x10ec0282, "ALC282", patch_alc269),
+ HDA_CODEC_ENTRY(0x10ec0283, "ALC283", patch_alc269),
+ HDA_CODEC_ENTRY(0x10ec0284, "ALC284", patch_alc269),
+- HDA_CODEC_ENTRY(0x10ec0285, "ALC285", patch_alc269),
+ HDA_CODEC_ENTRY(0x10ec0286, "ALC286", patch_alc269),
+ HDA_CODEC_ENTRY(0x10ec0288, "ALC288", patch_alc269),
+ HDA_CODEC_ENTRY(0x10ec0290, "ALC290", patch_alc269),
+--
+2.13.2
+
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/sound-ALSA-hda-realtek-new-id-for-alc1220.patch b/kernel/tools/cpupowertools/files/patches/mageia/sound-ALSA-hda-realtek-new-id-for-alc1220.patch
new file mode 100644
index 00000000..7dc59935
--- /dev/null
+++ b/kernel/tools/cpupowertools/files/patches/mageia/sound-ALSA-hda-realtek-new-id-for-alc1220.patch
@@ -0,0 +1,30 @@
+From a7498943b45d43f4a1abf37b75908c1edf840230 Mon Sep 17 00:00:00 2001
+From: Kailang Yang
+Date: Tue, 11 Jul 2017 15:15:47 +0800
+Subject: [PATCH] ALSA: hda/realtek - New codec device ID for ALC1220
+
+Codec ID is 0x1168.
+It is another ALC1220 codec.
+
+Signed-off-by: Kailang Yang
+
+diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
+index e2116d2..45d58fc 100644
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -380,6 +380,7 @@ static void alc_fill_eapd_coef(struct hd
+ break;
+ case 0x10ec0899:
+ case 0x10ec0900:
++ case 0x10ec1168:
+ case 0x10ec1220:
+ alc_update_coef_idx(codec, 0x7, 1<<1, 0);
+ break;
+@@ -7331,6 +7332,7 @@ static const struct hda_device_id snd_hd
+ HDA_CODEC_ENTRY(0x10ec0892, "ALC892", patch_alc662),
+ HDA_CODEC_ENTRY(0x10ec0899, "ALC898", patch_alc882),
+ HDA_CODEC_ENTRY(0x10ec0900, "ALC1150", patch_alc882),
++ HDA_CODEC_ENTRY(0x10ec1168, "ALC1220", patch_alc882),
+ HDA_CODEC_ENTRY(0x10ec1220, "ALC1220", patch_alc882),
+ {} /* terminator */
+ };
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-af_unix-add-sockaddr-length-checks-before-accessing-sa_family-in-bind-and-connect-handlers.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-af_unix-add-sockaddr-length-checks-before-accessing-sa_family-in-bind-and-connect-handlers.patch
deleted file mode 100644
index de4a0fce..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-af_unix-add-sockaddr-length-checks-before-accessing-sa_family-in-bind-and-connect-handlers.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Mateusz Jurczyk
-Date: Thu, 8 Jun 2017 11:13:36 +0200
-Subject: af_unix: Add sockaddr length checks before accessing sa_family in bind and connect handlers
-
-From: Mateusz Jurczyk
-
-
-[ Upstream commit defbcf2decc903a28d8398aa477b6881e711e3ea ]
-
-Verify that the caller-provided sockaddr structure is large enough to
-contain the sa_family field, before accessing it in bind() and connect()
-handlers of the AF_UNIX socket. Since neither syscall enforces a minimum
-size of the corresponding memory region, very short sockaddrs (zero or
-one byte long) result in operating on uninitialized memory while
-referencing .sa_family.
-
-Signed-off-by: Mateusz Jurczyk
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/unix/af_unix.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
---- a/net/unix/af_unix.c
-+++ b/net/unix/af_unix.c
-@@ -998,7 +998,8 @@ static int unix_bind(struct socket *sock
- struct path path = { NULL, NULL };
-
- err = -EINVAL;
-- if (sunaddr->sun_family != AF_UNIX)
-+ if (addr_len < offsetofend(struct sockaddr_un, sun_family) ||
-+ sunaddr->sun_family != AF_UNIX)
- goto out;
-
- if (addr_len == sizeof(short)) {
-@@ -1109,6 +1110,10 @@ static int unix_dgram_connect(struct soc
- unsigned int hash;
- int err;
-
-+ err = -EINVAL;
-+ if (alen < offsetofend(struct sockaddr, sa_family))
-+ goto out;
-+
- if (addr->sa_family != AF_UNSPEC) {
- err = unix_mkname(sunaddr, alen, &hash);
- if (err < 0)
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-decnet-always-not-take-dst-__refcnt-when-inserting-dst-into-hash-table.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-decnet-always-not-take-dst-__refcnt-when-inserting-dst-into-hash-table.patch
deleted file mode 100644
index cb504b6b..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-decnet-always-not-take-dst-__refcnt-when-inserting-dst-into-hash-table.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Wei Wang
-Date: Fri, 16 Jun 2017 10:46:37 -0700
-Subject: decnet: always not take dst->__refcnt when inserting dst into hash table
-
-From: Wei Wang
-
-
-[ Upstream commit 76371d2e3ad1f84426a30ebcd8c3b9b98f4c724f ]
-
-In the existing dn_route.c code, dn_route_output_slow() takes
-dst->__refcnt before calling dn_insert_route() while dn_route_input_slow()
-does not take dst->__refcnt before calling dn_insert_route().
-This makes the whole routing code very buggy.
-In dn_dst_check_expire(), dnrt_free() is called when rt expires. This
-makes the routes inserted by dn_route_output_slow() not able to be
-freed as the refcnt is not released.
-In dn_dst_gc(), dnrt_drop() is called to release rt which could
-potentially cause the dst->__refcnt to be dropped to -1.
-In dn_run_flush(), dst_free() is called to release all the dst. Again,
-it makes the dst inserted by dn_route_output_slow() not able to be
-released and also, it does not wait on the rcu and could potentially
-cause crash in the path where other users still refer to this dst.
-
-This patch makes sure both input and output path do not take
-dst->__refcnt before calling dn_insert_route() and also makes sure
-dnrt_free()/dst_free() is called when removing dst from the hash table.
-The only difference between those 2 calls is that dnrt_free() waits on
-the rcu while dst_free() does not.
-
-Signed-off-by: Wei Wang
-Acked-by: Martin KaFai Lau
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/decnet/dn_route.c | 14 ++++----------
- 1 file changed, 4 insertions(+), 10 deletions(-)
-
---- a/net/decnet/dn_route.c
-+++ b/net/decnet/dn_route.c
-@@ -188,12 +188,6 @@ static inline void dnrt_free(struct dn_r
- call_rcu_bh(&rt->dst.rcu_head, dst_rcu_free);
- }
-
--static inline void dnrt_drop(struct dn_route *rt)
--{
-- dst_release(&rt->dst);
-- call_rcu_bh(&rt->dst.rcu_head, dst_rcu_free);
--}
--
- static void dn_dst_check_expire(unsigned long dummy)
- {
- int i;
-@@ -248,7 +242,7 @@ static int dn_dst_gc(struct dst_ops *ops
- }
- *rtp = rt->dst.dn_next;
- rt->dst.dn_next = NULL;
-- dnrt_drop(rt);
-+ dnrt_free(rt);
- break;
- }
- spin_unlock_bh(&dn_rt_hash_table[i].lock);
-@@ -350,7 +344,7 @@ static int dn_insert_route(struct dn_rou
- dst_use(&rth->dst, now);
- spin_unlock_bh(&dn_rt_hash_table[hash].lock);
-
-- dnrt_drop(rt);
-+ dst_free(&rt->dst);
- *rp = rth;
- return 0;
- }
-@@ -380,7 +374,7 @@ static void dn_run_flush(unsigned long d
- for(; rt; rt = next) {
- next = rcu_dereference_raw(rt->dst.dn_next);
- RCU_INIT_POINTER(rt->dst.dn_next, NULL);
-- dst_free((struct dst_entry *)rt);
-+ dnrt_free(rt);
- }
-
- nothing_to_declare:
-@@ -1187,7 +1181,7 @@ make_route:
- if (dev_out->flags & IFF_LOOPBACK)
- flags |= RTCF_LOCAL;
-
-- rt = dst_alloc(&dn_dst_ops, dev_out, 1, DST_OBSOLETE_NONE, DST_HOST);
-+ rt = dst_alloc(&dn_dst_ops, dev_out, 0, DST_OBSOLETE_NONE, DST_HOST);
- if (rt == NULL)
- goto e_nobufs;
-
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-decnet-dn_rtmsg-improve-input-length-sanitization-in-dnrmg_receive_user_skb.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-decnet-dn_rtmsg-improve-input-length-sanitization-in-dnrmg_receive_user_skb.patch
deleted file mode 100644
index 105f478a..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-decnet-dn_rtmsg-improve-input-length-sanitization-in-dnrmg_receive_user_skb.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Mateusz Jurczyk
-Date: Wed, 7 Jun 2017 16:14:29 +0200
-Subject: decnet: dn_rtmsg: Improve input length sanitization in dnrmg_receive_user_skb
-
-From: Mateusz Jurczyk
-
-
-[ Upstream commit dd0da17b209ed91f39872766634ca967c170ada1 ]
-
-Verify that the length of the socket buffer is sufficient to cover the
-nlmsghdr structure before accessing the nlh->nlmsg_len field for further
-input sanitization. If the client only supplies 1-3 bytes of data in
-sk_buff, then nlh->nlmsg_len remains partially uninitialized and
-contains leftover memory from the corresponding kernel allocation.
-Operating on such data may result in indeterminate evaluation of the
-nlmsg_len < sizeof(*nlh) expression.
-
-The bug was discovered by a runtime instrumentation designed to detect
-use of uninitialized memory in the kernel. The patch prevents this and
-other similar tools (e.g. KMSAN) from flagging this behavior in the future.
-
-Signed-off-by: Mateusz Jurczyk
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/decnet/netfilter/dn_rtmsg.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
---- a/net/decnet/netfilter/dn_rtmsg.c
-+++ b/net/decnet/netfilter/dn_rtmsg.c
-@@ -102,7 +102,9 @@ static inline void dnrmg_receive_user_sk
- {
- struct nlmsghdr *nlh = nlmsg_hdr(skb);
-
-- if (nlh->nlmsg_len < sizeof(*nlh) || skb->len < nlh->nlmsg_len)
-+ if (skb->len < sizeof(*nlh) ||
-+ nlh->nlmsg_len < sizeof(*nlh) ||
-+ skb->len < nlh->nlmsg_len)
- return;
-
- if (!netlink_capable(skb, CAP_NET_ADMIN))
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-fix-an-intermittent-pr_emerg-warning-about-lo-becoming-free.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-fix-an-intermittent-pr_emerg-warning-about-lo-becoming-free.patch
deleted file mode 100644
index 295b50ff..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-fix-an-intermittent-pr_emerg-warning-about-lo-becoming-free.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Krister Johansen
-Date: Thu, 8 Jun 2017 13:12:38 -0700
-Subject: Fix an intermittent pr_emerg warning about lo becoming free.
-
-From: Krister Johansen
-
-
-[ Upstream commit f186ce61bb8235d80068c390dc2aad7ca427a4c2 ]
-
-It looks like this:
-
-Message from syslogd@flamingo at Apr 26 00:45:00 ...
- kernel:unregister_netdevice: waiting for lo to become free. Usage count = 4
-
-They seem to coincide with net namespace teardown.
-
-The message is emitted by netdev_wait_allrefs().
-
-Forced a kdump in netdev_run_todo, but found that the refcount on the lo
-device was already 0 at the time we got to the panic.
-
-Used bcc to check the blocking in netdev_run_todo. The only places
-where we're off cpu there are in the rcu_barrier() and msleep() calls.
-That behavior is expected. The msleep time coincides with the amount of
-time we spend waiting for the refcount to reach zero; the rcu_barrier()
-wait times are not excessive.
-
-After looking through the list of callbacks that the netdevice notifiers
-invoke in this path, it appears that the dst_dev_event is the most
-interesting. The dst_ifdown path places a hold on the loopback_dev as
-part of releasing the dev associated with the original dst cache entry.
-Most of our notifier callbacks are straight-forward, but this one a)
-looks complex, and b) places a hold on the network interface in
-question.
-
-I constructed a new bcc script that watches various events in the
-liftime of a dst cache entry. Note that dst_ifdown will take a hold on
-the loopback device until the invalidated dst entry gets freed.
-
-[ __dst_free] on DST: ffff883ccabb7900 IF tap1008300eth0 invoked at 1282115677036183
- __dst_free
- rcu_nocb_kthread
- kthread
- ret_from_fork
-Acked-by: Eric Dumazet
-
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/core/dst.c | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
---- a/net/core/dst.c
-+++ b/net/core/dst.c
-@@ -470,6 +470,20 @@ static int dst_dev_event(struct notifier
- spin_lock_bh(&dst_garbage.lock);
- dst = dst_garbage.list;
- dst_garbage.list = NULL;
-+ /* The code in dst_ifdown places a hold on the loopback device.
-+ * If the gc entry processing is set to expire after a lengthy
-+ * interval, this hold can cause netdev_wait_allrefs() to hang
-+ * out and wait for a long time -- until the the loopback
-+ * interface is released. If we're really unlucky, it'll emit
-+ * pr_emerg messages to console too. Reset the interval here,
-+ * so dst cleanups occur in a more timely fashion.
-+ */
-+ if (dst_garbage.timer_inc > DST_GC_INC) {
-+ dst_garbage.timer_inc = DST_GC_INC;
-+ dst_garbage.timer_expires = DST_GC_MIN;
-+ mod_delayed_work(system_wq, &dst_gc_work,
-+ dst_garbage.timer_expires);
-+ }
- spin_unlock_bh(&dst_garbage.lock);
-
- if (last)
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-igmp-acquire-pmc-lock-for-ip_mc_clear_src.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-igmp-acquire-pmc-lock-for-ip_mc_clear_src.patch
deleted file mode 100644
index 5f9dff49..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-igmp-acquire-pmc-lock-for-ip_mc_clear_src.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: WANG Cong
-Date: Mon, 12 Jun 2017 09:52:26 -0700
-Subject: igmp: acquire pmc lock for ip_mc_clear_src()
-
-From: WANG Cong
-
-
-[ Upstream commit c38b7d327aafd1e3ad7ff53eefac990673b65667 ]
-
-Andrey reported a use-after-free in add_grec():
-
- for (psf = *psf_list; psf; psf = psf_next) {
- ...
- psf_next = psf->sf_next;
-
-where the struct ip_sf_list's were already freed by:
-
- kfree+0xe8/0x2b0 mm/slub.c:3882
- ip_mc_clear_src+0x69/0x1c0 net/ipv4/igmp.c:2078
- ip_mc_dec_group+0x19a/0x470 net/ipv4/igmp.c:1618
- ip_mc_drop_socket+0x145/0x230 net/ipv4/igmp.c:2609
- inet_release+0x4e/0x1c0 net/ipv4/af_inet.c:411
- sock_release+0x8d/0x1e0 net/socket.c:597
- sock_close+0x16/0x20 net/socket.c:1072
-
-This happens because we don't hold pmc->lock in ip_mc_clear_src()
-and a parallel mr_ifc_timer timer could jump in and access them.
-
-The RCU lock is there but it is merely for pmc itself, this
-spinlock could actually ensure we don't access them in parallel.
-
-Thanks to Eric and Long for discussion on this bug.
-
-Reported-by: Andrey Konovalov
-Cc: Eric Dumazet
-Cc: Xin Long
-Signed-off-by: Cong Wang
-Reviewed-by: Xin Long
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/ipv4/igmp.c | 21 +++++++++++++--------
- 1 file changed, 13 insertions(+), 8 deletions(-)
-
---- a/net/ipv4/igmp.c
-+++ b/net/ipv4/igmp.c
-@@ -2071,21 +2071,26 @@ static int ip_mc_add_src(struct in_devic
-
- static void ip_mc_clear_src(struct ip_mc_list *pmc)
- {
-- struct ip_sf_list *psf, *nextpsf;
-+ struct ip_sf_list *psf, *nextpsf, *tomb, *sources;
-
-- for (psf = pmc->tomb; psf; psf = nextpsf) {
-+ spin_lock_bh(&pmc->lock);
-+ tomb = pmc->tomb;
-+ pmc->tomb = NULL;
-+ sources = pmc->sources;
-+ pmc->sources = NULL;
-+ pmc->sfmode = MCAST_EXCLUDE;
-+ pmc->sfcount[MCAST_INCLUDE] = 0;
-+ pmc->sfcount[MCAST_EXCLUDE] = 1;
-+ spin_unlock_bh(&pmc->lock);
-+
-+ for (psf = tomb; psf; psf = nextpsf) {
- nextpsf = psf->sf_next;
- kfree(psf);
- }
-- pmc->tomb = NULL;
-- for (psf = pmc->sources; psf; psf = nextpsf) {
-+ for (psf = sources; psf; psf = nextpsf) {
- nextpsf = psf->sf_next;
- kfree(psf);
- }
-- pmc->sources = NULL;
-- pmc->sfmode = MCAST_EXCLUDE;
-- pmc->sfcount[MCAST_INCLUDE] = 0;
-- pmc->sfcount[MCAST_EXCLUDE] = 1;
- }
-
- /* Join a multicast group
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-igmp-add-a-missing-spin_lock_init.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-igmp-add-a-missing-spin_lock_init.patch
deleted file mode 100644
index 003ea277..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-igmp-add-a-missing-spin_lock_init.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: WANG Cong
-Date: Tue, 20 Jun 2017 10:46:27 -0700
-Subject: igmp: add a missing spin_lock_init()
-
-From: WANG Cong
-
-
-[ Upstream commit b4846fc3c8559649277e3e4e6b5cec5348a8d208 ]
-
-Andrey reported a lockdep warning on non-initialized
-spinlock:
-
- INFO: trying to register non-static key.
- the code is fine but needs lockdep annotation.
- turning off the locking correctness validator.
- CPU: 1 PID: 4099 Comm: a.out Not tainted 4.12.0-rc6+ #9
- Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
- Call Trace:
- __dump_stack lib/dump_stack.c:16
- dump_stack+0x292/0x395 lib/dump_stack.c:52
- register_lock_class+0x717/0x1aa0 kernel/locking/lockdep.c:755
- ? 0xffffffffa0000000
- __lock_acquire+0x269/0x3690 kernel/locking/lockdep.c:3255
- lock_acquire+0x22d/0x560 kernel/locking/lockdep.c:3855
- __raw_spin_lock_bh ./include/linux/spinlock_api_smp.h:135
- _raw_spin_lock_bh+0x36/0x50 kernel/locking/spinlock.c:175
- spin_lock_bh ./include/linux/spinlock.h:304
- ip_mc_clear_src+0x27/0x1e0 net/ipv4/igmp.c:2076
- igmpv3_clear_delrec+0xee/0x4f0 net/ipv4/igmp.c:1194
- ip_mc_destroy_dev+0x4e/0x190 net/ipv4/igmp.c:1736
-
-We miss a spin_lock_init() in igmpv3_add_delrec(), probably
-because previously we never use it on this code path. Since
-we already unlink it from the global mc_tomb list, it is
-probably safe not to acquire this spinlock here. It does not
-harm to have it although, to avoid conditional locking.
-
-Fixes: c38b7d327aaf ("igmp: acquire pmc lock for ip_mc_clear_src()")
-Reported-by: Andrey Konovalov
-Signed-off-by: Cong Wang
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/ipv4/igmp.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/net/ipv4/igmp.c
-+++ b/net/ipv4/igmp.c
-@@ -1112,6 +1112,7 @@ static void igmpv3_add_delrec(struct in_
- pmc = kzalloc(sizeof(*pmc), GFP_KERNEL);
- if (!pmc)
- return;
-+ spin_lock_init(&pmc->lock);
- spin_lock_bh(&im->lock);
- pmc->interface = im->interface;
- in_dev_hold(in_dev);
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-ipv6-do-not-leak-throw-route-references.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-ipv6-do-not-leak-throw-route-references.patch
deleted file mode 100644
index 14fea90b..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-ipv6-do-not-leak-throw-route-references.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Serhey Popovych
-Date: Tue, 20 Jun 2017 13:29:25 +0300
-Subject: ipv6: Do not leak throw route references
-
-From: Serhey Popovych
-
-
-[ Upstream commit 07f615574f8ac499875b21c1142f26308234a92c ]
-
-While commit 73ba57bfae4a ("ipv6: fix backtracking for throw routes")
-does good job on error propagation to the fib_rules_lookup()
-in fib rules core framework that also corrects throw routes
-handling, it does not solve route reference leakage problem
-happened when we return -EAGAIN to the fib_rules_lookup()
-and leave routing table entry referenced in arg->result.
-
-If rule with matched throw route isn't last matched in the
-list we overwrite arg->result losing reference on throw
-route stored previously forever.
-
-We also partially revert commit ab997ad40839 ("ipv6: fix the
-incorrect return value of throw route") since we never return
-routing table entry with dst.error == -EAGAIN when
-CONFIG_IPV6_MULTIPLE_TABLES is on. Also there is no point
-to check for RTF_REJECT flag since it is always set throw
-route.
-
-Fixes: 73ba57bfae4a ("ipv6: fix backtracking for throw routes")
-Signed-off-by: Serhey Popovych
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/ipv6/fib6_rules.c | 22 ++++++----------------
- net/ipv6/ip6_fib.c | 3 +--
- 2 files changed, 7 insertions(+), 18 deletions(-)
-
---- a/net/ipv6/fib6_rules.c
-+++ b/net/ipv6/fib6_rules.c
-@@ -32,7 +32,6 @@ struct fib6_rule {
- struct dst_entry *fib6_rule_lookup(struct net *net, struct flowi6 *fl6,
- int flags, pol_lookup_t lookup)
- {
-- struct rt6_info *rt;
- struct fib_lookup_arg arg = {
- .lookup_ptr = lookup,
- .flags = FIB_LOOKUP_NOREF,
-@@ -44,21 +43,11 @@ struct dst_entry *fib6_rule_lookup(struc
- fib_rules_lookup(net->ipv6.fib6_rules_ops,
- flowi6_to_flowi(fl6), flags, &arg);
-
-- rt = arg.result;
-+ if (arg.result)
-+ return arg.result;
-
-- if (!rt) {
-- dst_hold(&net->ipv6.ip6_null_entry->dst);
-- return &net->ipv6.ip6_null_entry->dst;
-- }
--
-- if (rt->rt6i_flags & RTF_REJECT &&
-- rt->dst.error == -EAGAIN) {
-- ip6_rt_put(rt);
-- rt = net->ipv6.ip6_null_entry;
-- dst_hold(&rt->dst);
-- }
--
-- return &rt->dst;
-+ dst_hold(&net->ipv6.ip6_null_entry->dst);
-+ return &net->ipv6.ip6_null_entry->dst;
- }
-
- static int fib6_rule_action(struct fib_rule *rule, struct flowi *flp,
-@@ -121,7 +110,8 @@ static int fib6_rule_action(struct fib_r
- flp6->saddr = saddr;
- }
- err = rt->dst.error;
-- goto out;
-+ if (err != -EAGAIN)
-+ goto out;
- }
- again:
- ip6_rt_put(rt);
---- a/net/ipv6/ip6_fib.c
-+++ b/net/ipv6/ip6_fib.c
-@@ -289,8 +289,7 @@ struct dst_entry *fib6_rule_lookup(struc
- struct rt6_info *rt;
-
- rt = lookup(net, net->ipv6.fib6_main_tbl, fl6, flags);
-- if (rt->rt6i_flags & RTF_REJECT &&
-- rt->dst.error == -EAGAIN) {
-+ if (rt->dst.error == -EAGAIN) {
- ip6_rt_put(rt);
- rt = net->ipv6.ip6_null_entry;
- dst_hold(&rt->dst);
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-ipv6-fix-calling-in6_ifa_hold-incorrectly-for-dad-work.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-ipv6-fix-calling-in6_ifa_hold-incorrectly-for-dad-work.patch
deleted file mode 100644
index 7c77e311..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-ipv6-fix-calling-in6_ifa_hold-incorrectly-for-dad-work.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Xin Long
-Date: Thu, 15 Jun 2017 16:33:58 +0800
-Subject: ipv6: fix calling in6_ifa_hold incorrectly for dad work
-
-From: Xin Long
-
-
-[ Upstream commit f8a894b218138888542a5058d0e902378fd0d4ec ]
-
-Now when starting the dad work in addrconf_mod_dad_work, if the dad work
-is idle and queued, it needs to hold ifa.
-
-The problem is there's one gap in [1], during which if the pending dad work
-is removed elsewhere. It will miss to hold ifa, but the dad word is still
-idea and queue.
-
- if (!delayed_work_pending(&ifp->dad_work))
- in6_ifa_hold(ifp);
- <--------------[1]
- mod_delayed_work(addrconf_wq, &ifp->dad_work, delay);
-
-An use-after-free issue can be caused by this.
-
-Chen Wei found this issue when WARN_ON(!hlist_unhashed(&ifp->addr_lst)) in
-net6_ifa_finish_destroy was hit because of it.
-
-As Hannes' suggestion, this patch is to fix it by holding ifa first in
-addrconf_mod_dad_work, then calling mod_delayed_work and putting ifa if
-the dad_work is already in queue.
-
-Note that this patch did not choose to fix it with:
-
- if (!mod_delayed_work(delay))
- in6_ifa_hold(ifp);
-
-As with it, when delay == 0, dad_work would be scheduled immediately, all
-addrconf_mod_dad_work(0) callings had to be moved under ifp->lock.
-
-Reported-by: Wei Chen
-Suggested-by: Hannes Frederic Sowa
-Acked-by: Hannes Frederic Sowa
-Signed-off-by: Xin Long
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/ipv6/addrconf.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- a/net/ipv6/addrconf.c
-+++ b/net/ipv6/addrconf.c
-@@ -315,9 +315,9 @@ static void addrconf_mod_rs_timer(struct
- static void addrconf_mod_dad_work(struct inet6_ifaddr *ifp,
- unsigned long delay)
- {
-- if (!delayed_work_pending(&ifp->dad_work))
-- in6_ifa_hold(ifp);
-- mod_delayed_work(addrconf_wq, &ifp->dad_work, delay);
-+ in6_ifa_hold(ifp);
-+ if (mod_delayed_work(addrconf_wq, &ifp->dad_work, delay))
-+ in6_ifa_put(ifp);
- }
-
- static int snmp6_alloc_dev(struct inet6_dev *idev)
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-ipv6-release-dst-on-error-in-ip6_dst_lookup_tail.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-ipv6-release-dst-on-error-in-ip6_dst_lookup_tail.patch
deleted file mode 100644
index e23e8766..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-ipv6-release-dst-on-error-in-ip6_dst_lookup_tail.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 00ea1ceebe0d9f2dc1cc2b7bd575a00100c27869 Mon Sep 17 00:00:00 2001
-From: Willem de Bruijn
-Date: Sat, 18 Feb 2017 19:00:45 -0500
-Subject: ipv6: release dst on error in ip6_dst_lookup_tail
-
-From: Willem de Bruijn
-
-commit 00ea1ceebe0d9f2dc1cc2b7bd575a00100c27869 upstream.
-
-If ip6_dst_lookup_tail has acquired a dst and fails the IPv4-mapped
-check, release the dst before returning an error.
-
-Fixes: ec5e3b0a1d41 ("ipv6: Inhibit IPv4-mapped src address on the wire.")
-Signed-off-by: Willem de Bruijn
-Acked-by: Eric Dumazet
-Signed-off-by: David S. Miller
-Cc: Ben Hutchings
-Signed-off-by: Greg Kroah-Hartman
-
----
- net/ipv6/ip6_output.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
---- a/net/ipv6/ip6_output.c
-+++ b/net/ipv6/ip6_output.c
-@@ -1020,8 +1020,10 @@ static int ip6_dst_lookup_tail(struct ne
- }
- #endif
- if (ipv6_addr_v4mapped(&fl6->saddr) &&
-- !(ipv6_addr_v4mapped(&fl6->daddr) || ipv6_addr_any(&fl6->daddr)))
-- return -EAFNOSUPPORT;
-+ !(ipv6_addr_v4mapped(&fl6->daddr) || ipv6_addr_any(&fl6->daddr))) {
-+ err = -EAFNOSUPPORT;
-+ goto out_err_release;
-+ }
-
- return 0;
-
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-8021q-fix-one-possible-panic-caused-by-bug_on-in-free_netdev.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-net-8021q-fix-one-possible-panic-caused-by-bug_on-in-free_netdev.patch
deleted file mode 100644
index 91859c07..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-8021q-fix-one-possible-panic-caused-by-bug_on-in-free_netdev.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Gao Feng
-Date: Fri, 16 Jun 2017 15:00:02 +0800
-Subject: net: 8021q: Fix one possible panic caused by BUG_ON in free_netdev
-
-From: Gao Feng
-
-
-[ Upstream commit 9745e362add89432d2c951272a99b0a5fe4348a9 ]
-
-The register_vlan_device would invoke free_netdev directly, when
-register_vlan_dev failed. It would trigger the BUG_ON in free_netdev
-if the dev was already registered. In this case, the netdev would be
-freed in netdev_run_todo later.
-
-So add one condition check now. Only when dev is not registered, then
-free it directly.
-
-The following is the part coredump when netdev_upper_dev_link failed
-in register_vlan_dev. I removed the lines which are too long.
-
-[ 411.237457] ------------[ cut here ]------------
-[ 411.237458] kernel BUG at net/core/dev.c:7998!
-[ 411.237484] invalid opcode: 0000 [#1] SMP
-[ 411.237705] [last unloaded: 8021q]
-[ 411.237718] CPU: 1 PID: 12845 Comm: vconfig Tainted: G E 4.12.0-rc5+ #6
-[ 411.237737] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/02/2015
-[ 411.237764] task: ffff9cbeb6685580 task.stack: ffffa7d2807d8000
-[ 411.237782] RIP: 0010:free_netdev+0x116/0x120
-[ 411.237794] RSP: 0018:ffffa7d2807dbdb0 EFLAGS: 00010297
-[ 411.237808] RAX: 0000000000000002 RBX: ffff9cbeb6ba8fd8 RCX: 0000000000001878
-[ 411.237826] RDX: 0000000000000001 RSI: 0000000000000282 RDI: 0000000000000000
-[ 411.237844] RBP: ffffa7d2807dbdc8 R08: 0002986100029841 R09: 0002982100029801
-[ 411.237861] R10: 0004000100029980 R11: 0004000100029980 R12: ffff9cbeb6ba9000
-[ 411.238761] R13: ffff9cbeb6ba9060 R14: ffff9cbe60f1a000 R15: ffff9cbeb6ba9000
-[ 411.239518] FS: 00007fb690d81700(0000) GS:ffff9cbebb640000(0000) knlGS:0000000000000000
-[ 411.239949] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
-[ 411.240454] CR2: 00007f7115624000 CR3: 0000000077cdf000 CR4: 00000000003406e0
-[ 411.240936] Call Trace:
-[ 411.241462] vlan_ioctl_handler+0x3f1/0x400 [8021q]
-[ 411.241910] sock_ioctl+0x18b/0x2c0
-[ 411.242394] do_vfs_ioctl+0xa1/0x5d0
-[ 411.242853] ? sock_alloc_file+0xa6/0x130
-[ 411.243465] SyS_ioctl+0x79/0x90
-[ 411.243900] entry_SYSCALL_64_fastpath+0x1e/0xa9
-[ 411.244425] RIP: 0033:0x7fb69089a357
-[ 411.244863] RSP: 002b:00007ffcd04e0fc8 EFLAGS: 00000202 ORIG_RAX: 0000000000000010
-[ 411.245445] RAX: ffffffffffffffda RBX: 00007ffcd04e2884 RCX: 00007fb69089a357
-[ 411.245903] RDX: 00007ffcd04e0fd0 RSI: 0000000000008983 RDI: 0000000000000003
-[ 411.246527] RBP: 00007ffcd04e0fd0 R08: 0000000000000000 R09: 1999999999999999
-[ 411.246976] R10: 000000000000053f R11: 0000000000000202 R12: 0000000000000004
-[ 411.247414] R13: 00007ffcd04e1128 R14: 00007ffcd04e2888 R15: 0000000000000001
-[ 411.249129] RIP: free_netdev+0x116/0x120 RSP: ffffa7d2807dbdb0
-
-Signed-off-by: Gao Feng
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/8021q/vlan.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/net/8021q/vlan.c
-+++ b/net/8021q/vlan.c
-@@ -277,7 +277,8 @@ static int register_vlan_device(struct n
- return 0;
-
- out_free_newdev:
-- free_netdev(new_dev);
-+ if (new_dev->reg_state == NETREG_UNINITIALIZED)
-+ free_netdev(new_dev);
- return err;
- }
-
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-caif-fix-a-sleep-in-atomic-bug-in-cfpkt_create_pfx.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-net-caif-fix-a-sleep-in-atomic-bug-in-cfpkt_create_pfx.patch
deleted file mode 100644
index 9b5883d2..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-caif-fix-a-sleep-in-atomic-bug-in-cfpkt_create_pfx.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Jia-Ju Bai
-Date: Sat, 10 Jun 2017 16:49:39 +0800
-Subject: net: caif: Fix a sleep-in-atomic bug in cfpkt_create_pfx
-
-From: Jia-Ju Bai
-
-
-[ Upstream commit f146e872eb12ebbe92d8e583b2637e0741440db3 ]
-
-The kernel may sleep under a rcu read lock in cfpkt_create_pfx, and the
-function call path is:
-cfcnfg_linkup_rsp (acquire the lock by rcu_read_lock)
- cfctrl_linkdown_req
- cfpkt_create
- cfpkt_create_pfx
- alloc_skb(GFP_KERNEL) --> may sleep
-cfserl_receive (acquire the lock by rcu_read_lock)
- cfpkt_split
- cfpkt_create_pfx
- alloc_skb(GFP_KERNEL) --> may sleep
-
-There is "in_interrupt" in cfpkt_create_pfx to decide use "GFP_KERNEL" or
-"GFP_ATOMIC". In this situation, "GFP_KERNEL" is used because the function
-is called under a rcu read lock, instead in interrupt.
-
-To fix it, only "GFP_ATOMIC" is used in cfpkt_create_pfx.
-
-Signed-off-by: Jia-Ju Bai
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/caif/cfpkt_skbuff.c | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
---- a/net/caif/cfpkt_skbuff.c
-+++ b/net/caif/cfpkt_skbuff.c
-@@ -81,11 +81,7 @@ static struct cfpkt *cfpkt_create_pfx(u1
- {
- struct sk_buff *skb;
-
-- if (likely(in_interrupt()))
-- skb = alloc_skb(len + pfx, GFP_ATOMIC);
-- else
-- skb = alloc_skb(len + pfx, GFP_KERNEL);
--
-+ skb = alloc_skb(len + pfx, GFP_ATOMIC);
- if (unlikely(skb == NULL))
- return NULL;
-
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-don-t-call-strlen-on-non-terminated-string-in-dev_set_alias.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-net-don-t-call-strlen-on-non-terminated-string-in-dev_set_alias.patch
deleted file mode 100644
index 3cf3bf10..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-don-t-call-strlen-on-non-terminated-string-in-dev_set_alias.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Alexander Potapenko
-Date: Tue, 6 Jun 2017 15:56:54 +0200
-Subject: net: don't call strlen on non-terminated string in dev_set_alias()
-
-From: Alexander Potapenko
-
-
-[ Upstream commit c28294b941232931fbd714099798eb7aa7e865d7 ]
-
-KMSAN reported a use of uninitialized memory in dev_set_alias(),
-which was caused by calling strlcpy() (which in turn called strlen())
-on the user-supplied non-terminated string.
-
-Signed-off-by: Alexander Potapenko
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/core/dev.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/net/core/dev.c
-+++ b/net/core/dev.c
-@@ -1250,8 +1250,9 @@ int dev_set_alias(struct net_device *dev
- if (!new_ifalias)
- return -ENOMEM;
- dev->ifalias = new_ifalias;
-+ memcpy(dev->ifalias, alias, len);
-+ dev->ifalias[len] = 0;
-
-- strlcpy(dev->ifalias, alias, len+1);
- return len;
- }
-
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-mlx5-wait-for-fw-readiness-before-initializing-command-interface.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-net-mlx5-wait-for-fw-readiness-before-initializing-command-interface.patch
deleted file mode 100644
index e18326fd..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-mlx5-wait-for-fw-readiness-before-initializing-command-interface.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Eli Cohen
-Date: Thu, 8 Jun 2017 11:33:16 -0500
-Subject: net/mlx5: Wait for FW readiness before initializing command interface
-
-From: Eli Cohen
-
-
-[ Upstream commit 6c780a0267b8a1075f40b39851132eeaefefcff5 ]
-
-Before attempting to initialize the command interface we must wait till
-the fw_initializing bit is clear.
-
-If we fail to meet this condition the hardware will drop our
-configuration, specifically the descriptors page address. This scenario
-can happen when the firmware is still executing an FLR flow and did not
-finish yet so the driver needs to wait for that to finish.
-
-Fixes: e3297246c2c8 ('net/mlx5_core: Wait for FW readiness on startup')
-Signed-off-by: Eli Cohen
-Signed-off-by: Saeed Mahameed
-Signed-off-by: Greg Kroah-Hartman
----
- drivers/net/ethernet/mellanox/mlx5/core/main.c | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
---- a/drivers/net/ethernet/mellanox/mlx5/core/main.c
-+++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c
-@@ -155,8 +155,9 @@ static struct mlx5_profile profile[] = {
- },
- };
-
--#define FW_INIT_TIMEOUT_MILI 2000
--#define FW_INIT_WAIT_MS 2
-+#define FW_INIT_TIMEOUT_MILI 2000
-+#define FW_INIT_WAIT_MS 2
-+#define FW_PRE_INIT_TIMEOUT_MILI 10000
-
- static int wait_fw_init(struct mlx5_core_dev *dev, u32 max_wait_mili)
- {
-@@ -956,6 +957,15 @@ static int mlx5_load_one(struct mlx5_cor
- */
- dev->state = MLX5_DEVICE_STATE_UP;
-
-+ /* wait for firmware to accept initialization segments configurations
-+ */
-+ err = wait_fw_init(dev, FW_PRE_INIT_TIMEOUT_MILI);
-+ if (err) {
-+ dev_err(&dev->pdev->dev, "Firmware over %d MS in pre-initializing state, aborting\n",
-+ FW_PRE_INIT_TIMEOUT_MILI);
-+ goto out;
-+ }
-+
- err = mlx5_cmd_init(dev);
- if (err) {
- dev_err(&pdev->dev, "Failed initializing command interface, aborting\n");
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-mlx5e-added-bw-check-for-dim-decision-mechanism.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-net-mlx5e-added-bw-check-for-dim-decision-mechanism.patch
deleted file mode 100644
index 19c32c2f..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-mlx5e-added-bw-check-for-dim-decision-mechanism.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Tal Gilboa
-Date: Mon, 15 May 2017 14:13:16 +0300
-Subject: net/mlx5e: Added BW check for DIM decision mechanism
-
-From: Tal Gilboa
-
-
-[ Upstream commit c3164d2fc48fd4fa0477ab658b644559c3fe9073 ]
-
-DIM (Dynamically-tuned Interrupt Moderation) is a mechanism designed for
-changing the channel interrupt moderation values in order to reduce CPU
-overhead for all traffic types.
-Until now only interrupt and packet rate were sampled.
-We found a scenario on which we get a false indication since a change in
-DIM caused more aggregation and reduced packet rate while increasing BW.
-
-We now regard a change as succesfull iff:
-current_BW > (prev_BW + threshold) or
-current_BW ~= prev_BW and current_PR > (prev_PR + threshold) or
-current_BW ~= prev_BW and current_PR ~= prev_PR and
- current_IR < (prev_IR - threshold)
-Where BW = Bandwidth, PR = Packet rate and IR = Interrupt rate
-
-Improvements (ConnectX-4Lx 25GbE, single RX queue, LRO off)
- --------------------------------------------------
- packet size | before[Mb/s] | after[Mb/s] | gain |
- 2B | 343.4 | 359.4 | 4.5% |
- 16B | 2739.7 | 2814.8 | 2.7% |
- 64B | 9739 | 10185.3 | 4.5% |
-
-Fixes: cb3c7fd4f839 ("net/mlx5e: Support adaptive RX coalescing")
-Signed-off-by: Tal Gilboa
-Signed-off-by: Saeed Mahameed
-Signed-off-by: Greg Kroah-Hartman
----
- drivers/net/ethernet/mellanox/mlx5/core/en.h | 2 +
- drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c | 41 +++++++++++----------
- 2 files changed, 24 insertions(+), 19 deletions(-)
-
---- a/drivers/net/ethernet/mellanox/mlx5/core/en.h
-+++ b/drivers/net/ethernet/mellanox/mlx5/core/en.h
-@@ -283,12 +283,14 @@ struct mlx5e_dma_info {
-
- struct mlx5e_rx_am_stats {
- int ppms; /* packets per msec */
-+ int bpms; /* bytes per msec */
- int epms; /* events per msec */
- };
-
- struct mlx5e_rx_am_sample {
- ktime_t time;
- unsigned int pkt_ctr;
-+ unsigned int byte_ctr;
- u16 event_ctr;
- };
-
---- a/drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c
-+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c
-@@ -183,28 +183,27 @@ static void mlx5e_am_exit_parking(struct
- mlx5e_am_step(am);
- }
-
-+#define IS_SIGNIFICANT_DIFF(val, ref) \
-+ (((100 * abs((val) - (ref))) / (ref)) > 10) /* more than 10% difference */
-+
- static int mlx5e_am_stats_compare(struct mlx5e_rx_am_stats *curr,
- struct mlx5e_rx_am_stats *prev)
- {
-- int diff;
--
-- if (!prev->ppms)
-- return curr->ppms ? MLX5E_AM_STATS_BETTER :
-- MLX5E_AM_STATS_SAME;
--
-- diff = curr->ppms - prev->ppms;
-- if (((100 * abs(diff)) / prev->ppms) > 10) /* more than 10% diff */
-- return (diff > 0) ? MLX5E_AM_STATS_BETTER :
-- MLX5E_AM_STATS_WORSE;
--
-- if (!prev->epms)
-- return curr->epms ? MLX5E_AM_STATS_WORSE :
-+ if (!prev->bpms)
-+ return curr->bpms ? MLX5E_AM_STATS_BETTER :
- MLX5E_AM_STATS_SAME;
-
-- diff = curr->epms - prev->epms;
-- if (((100 * abs(diff)) / prev->epms) > 10) /* more than 10% diff */
-- return (diff < 0) ? MLX5E_AM_STATS_BETTER :
-- MLX5E_AM_STATS_WORSE;
-+ if (IS_SIGNIFICANT_DIFF(curr->bpms, prev->bpms))
-+ return (curr->bpms > prev->bpms) ? MLX5E_AM_STATS_BETTER :
-+ MLX5E_AM_STATS_WORSE;
-+
-+ if (IS_SIGNIFICANT_DIFF(curr->ppms, prev->ppms))
-+ return (curr->ppms > prev->ppms) ? MLX5E_AM_STATS_BETTER :
-+ MLX5E_AM_STATS_WORSE;
-+
-+ if (IS_SIGNIFICANT_DIFF(curr->epms, prev->epms))
-+ return (curr->epms < prev->epms) ? MLX5E_AM_STATS_BETTER :
-+ MLX5E_AM_STATS_WORSE;
-
- return MLX5E_AM_STATS_SAME;
- }
-@@ -266,6 +265,7 @@ static void mlx5e_am_sample(struct mlx5e
- {
- s->time = ktime_get();
- s->pkt_ctr = rq->stats.packets;
-+ s->byte_ctr = rq->stats.bytes;
- s->event_ctr = rq->cq.event_ctr;
- }
-
-@@ -278,12 +278,15 @@ static void mlx5e_am_calc_stats(struct m
- /* u32 holds up to 71 minutes, should be enough */
- u32 delta_us = ktime_us_delta(end->time, start->time);
- unsigned int npkts = end->pkt_ctr - start->pkt_ctr;
-+ unsigned int nbytes = end->byte_ctr - start->byte_ctr;
-
- if (!delta_us)
- return;
-
-- curr_stats->ppms = (npkts * USEC_PER_MSEC) / delta_us;
-- curr_stats->epms = (MLX5E_AM_NEVENTS * USEC_PER_MSEC) / delta_us;
-+ curr_stats->ppms = DIV_ROUND_UP(npkts * USEC_PER_MSEC, delta_us);
-+ curr_stats->bpms = DIV_ROUND_UP(nbytes * USEC_PER_MSEC, delta_us);
-+ curr_stats->epms = DIV_ROUND_UP(MLX5E_AM_NEVENTS * USEC_PER_MSEC,
-+ delta_us);
- }
-
- void mlx5e_rx_am_work(struct work_struct *work)
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-mlx5e-avoid-doing-a-cleanup-call-if-the-profile-doesn-t-have-it.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-net-mlx5e-avoid-doing-a-cleanup-call-if-the-profile-doesn-t-have-it.patch
deleted file mode 100644
index 26d03db7..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-mlx5e-avoid-doing-a-cleanup-call-if-the-profile-doesn-t-have-it.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Or Gerlitz
-Date: Thu, 15 Jun 2017 20:08:32 +0300
-Subject: net/mlx5e: Avoid doing a cleanup call if the profile doesn't have it
-
-From: Or Gerlitz
-
-
-[ Upstream commit 31ac93386d135a6c96de9c8bab406f5ccabf5a4d ]
-
-The error flow of mlx5e_create_netdev calls the cleanup call
-of the given profile without checking if it exists, fix that.
-
-Currently the VF reps don't register that callback and we crash
-if getting into error -- can be reproduced by the user doing ctrl^C
-while attempting to change the sriov mode from legacy to switchdev.
-
-Fixes: 26e59d8077a3 '(net/mlx5e: Implement mlx5e interface attach/detach callbacks')
-Signed-off-by: Or Gerlitz
-Reported-by: Sabrina Dubroca
-Signed-off-by: Saeed Mahameed
-Signed-off-by: Greg Kroah-Hartman
----
- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
-+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
-@@ -3846,7 +3846,8 @@ struct net_device *mlx5e_create_netdev(s
- return netdev;
-
- err_cleanup_nic:
-- profile->cleanup(priv);
-+ if (profile->cleanup)
-+ profile->cleanup(priv);
- free_netdev(netdev);
-
- return NULL;
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-mlx5e-fix-timestamping-capabilities-reporting.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-net-mlx5e-fix-timestamping-capabilities-reporting.patch
deleted file mode 100644
index 338185ab..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-mlx5e-fix-timestamping-capabilities-reporting.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Maor Dickman
-Date: Thu, 18 May 2017 15:15:08 +0300
-Subject: net/mlx5e: Fix timestamping capabilities reporting
-
-From: Maor Dickman
-
-
-[ Upstream commit f0b381178b01b831f9907d72f467d6443afdea67 ]
-
-Misuse of (BIT) macro caused to report wrong flags for
-"Hardware Transmit Timestamp Modes" and "Hardware Receive
-Filter Modes"
-
-Fixes: ef9814deafd0 ('net/mlx5e: Add HW timestamping (TS) support')
-Signed-off-by: Maor Dickman
-Signed-off-by: Saeed Mahameed
-Signed-off-by: Greg Kroah-Hartman
----
- drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
---- a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
-+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
-@@ -1183,11 +1183,11 @@ static int mlx5e_get_ts_info(struct net_
- SOF_TIMESTAMPING_RX_HARDWARE |
- SOF_TIMESTAMPING_RAW_HARDWARE;
-
-- info->tx_types = (BIT(1) << HWTSTAMP_TX_OFF) |
-- (BIT(1) << HWTSTAMP_TX_ON);
-+ info->tx_types = BIT(HWTSTAMP_TX_OFF) |
-+ BIT(HWTSTAMP_TX_ON);
-
-- info->rx_filters = (BIT(1) << HWTSTAMP_FILTER_NONE) |
-- (BIT(1) << HWTSTAMP_FILTER_ALL);
-+ info->rx_filters = BIT(HWTSTAMP_FILTER_NONE) |
-+ BIT(HWTSTAMP_FILTER_ALL);
-
- return 0;
- }
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-mlx5e-fix-wrong-indications-in-dim-due-to-counter-wraparound.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-net-mlx5e-fix-wrong-indications-in-dim-due-to-counter-wraparound.patch
deleted file mode 100644
index 40dd9ef1..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-mlx5e-fix-wrong-indications-in-dim-due-to-counter-wraparound.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Tal Gilboa
-Date: Mon, 29 May 2017 17:02:55 +0300
-Subject: net/mlx5e: Fix wrong indications in DIM due to counter wraparound
-
-From: Tal Gilboa
-
-
-[ Upstream commit 53acd76ce571e3b71f9205f2d49ab285a9f1aad8 ]
-
-DIM (Dynamically-tuned Interrupt Moderation) is a mechanism designed for
-changing the channel interrupt moderation values in order to reduce CPU
-overhead for all traffic types.
-Each iteration of the algorithm, DIM calculates the difference in
-throughput, packet rate and interrupt rate from last iteration in order
-to make a decision. DIM relies on counters for each metric. When these
-counters get to their type's max value they wraparound. In this case
-the delta between 'end' and 'start' samples is negative and when
-translated to unsigned integers - very high. This results in a false
-indication to the algorithm and might result in a wrong decision.
-
-The fix calculates the 'distance' between 'end' and 'start' samples in a
-cyclic way around the relevant type's max value. It can also be viewed as
-an absolute value around the type's max value instead of around 0.
-
-Testing show higher stability in DIM profile selection and no wraparound
-issues.
-
-Fixes: cb3c7fd4f839 ("net/mlx5e: Support adaptive RX coalescing")
-Signed-off-by: Tal Gilboa
-Signed-off-by: Saeed Mahameed
-Signed-off-by: Greg Kroah-Hartman
----
- drivers/net/ethernet/mellanox/mlx5/core/en.h | 8 ++++----
- drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c | 10 +++++++---
- 2 files changed, 11 insertions(+), 7 deletions(-)
-
---- a/drivers/net/ethernet/mellanox/mlx5/core/en.h
-+++ b/drivers/net/ethernet/mellanox/mlx5/core/en.h
-@@ -288,10 +288,10 @@ struct mlx5e_rx_am_stats {
- };
-
- struct mlx5e_rx_am_sample {
-- ktime_t time;
-- unsigned int pkt_ctr;
-- unsigned int byte_ctr;
-- u16 event_ctr;
-+ ktime_t time;
-+ u32 pkt_ctr;
-+ u32 byte_ctr;
-+ u16 event_ctr;
- };
-
- struct mlx5e_rx_am { /* Adaptive Moderation */
---- a/drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c
-+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c
-@@ -270,6 +270,8 @@ static void mlx5e_am_sample(struct mlx5e
- }
-
- #define MLX5E_AM_NEVENTS 64
-+#define BITS_PER_TYPE(type) (sizeof(type) * BITS_PER_BYTE)
-+#define BIT_GAP(bits, end, start) ((((end) - (start)) + BIT_ULL(bits)) & (BIT_ULL(bits) - 1))
-
- static void mlx5e_am_calc_stats(struct mlx5e_rx_am_sample *start,
- struct mlx5e_rx_am_sample *end,
-@@ -277,8 +279,9 @@ static void mlx5e_am_calc_stats(struct m
- {
- /* u32 holds up to 71 minutes, should be enough */
- u32 delta_us = ktime_us_delta(end->time, start->time);
-- unsigned int npkts = end->pkt_ctr - start->pkt_ctr;
-- unsigned int nbytes = end->byte_ctr - start->byte_ctr;
-+ u32 npkts = BIT_GAP(BITS_PER_TYPE(u32), end->pkt_ctr, start->pkt_ctr);
-+ u32 nbytes = BIT_GAP(BITS_PER_TYPE(u32), end->byte_ctr,
-+ start->byte_ctr);
-
- if (!delta_us)
- return;
-@@ -311,7 +314,8 @@ void mlx5e_rx_am(struct mlx5e_rq *rq)
-
- switch (am->state) {
- case MLX5E_AM_MEASURE_IN_PROGRESS:
-- nevents = rq->cq.event_ctr - am->start_sample.event_ctr;
-+ nevents = BIT_GAP(BITS_PER_TYPE(u16), rq->cq.event_ctr,
-+ am->start_sample.event_ctr);
- if (nevents < MLX5E_AM_NEVENTS)
- break;
- mlx5e_am_sample(rq, &end_sample);
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-tipc-fix-a-sleep-in-atomic-bug-in-tipc_msg_reverse.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-net-tipc-fix-a-sleep-in-atomic-bug-in-tipc_msg_reverse.patch
deleted file mode 100644
index 0fcd68f3..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-tipc-fix-a-sleep-in-atomic-bug-in-tipc_msg_reverse.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Jia-Ju Bai
-Date: Sat, 10 Jun 2017 17:03:35 +0800
-Subject: net: tipc: Fix a sleep-in-atomic bug in tipc_msg_reverse
-
-From: Jia-Ju Bai
-
-
-[ Upstream commit 343eba69c6968190d8654b857aea952fed9a6749 ]
-
-The kernel may sleep under a rcu read lock in tipc_msg_reverse, and the
-function call path is:
-tipc_l2_rcv_msg (acquire the lock by rcu_read_lock)
- tipc_rcv
- tipc_sk_rcv
- tipc_msg_reverse
- pskb_expand_head(GFP_KERNEL) --> may sleep
-tipc_node_broadcast
- tipc_node_xmit_skb
- tipc_node_xmit
- tipc_sk_rcv
- tipc_msg_reverse
- pskb_expand_head(GFP_KERNEL) --> may sleep
-
-To fix it, "GFP_KERNEL" is replaced with "GFP_ATOMIC".
-
-Signed-off-by: Jia-Ju Bai
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/tipc/msg.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/net/tipc/msg.c
-+++ b/net/tipc/msg.c
-@@ -508,7 +508,7 @@ bool tipc_msg_reverse(u32 own_node, str
- }
-
- if (skb_cloned(_skb) &&
-- pskb_expand_head(_skb, BUF_HEADROOM, BUF_TAILROOM, GFP_KERNEL))
-+ pskb_expand_head(_skb, BUF_HEADROOM, BUF_TAILROOM, GFP_ATOMIC))
- goto exit;
-
- /* Now reverse the concerned fields */
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-vrf-make-add_fib_rules-per-network-namespace-flag.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-net-vrf-make-add_fib_rules-per-network-namespace-flag.patch
deleted file mode 100644
index 983fb158..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-vrf-make-add_fib_rules-per-network-namespace-flag.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: David Ahern
-Date: Thu, 8 Jun 2017 11:31:11 -0600
-Subject: net: vrf: Make add_fib_rules per network namespace flag
-
-From: David Ahern
-
-
-[ Upstream commit 097d3c9508dc58286344e4a22b300098cf0c1566 ]
-
-Commit 1aa6c4f6b8cd8 ("net: vrf: Add l3mdev rules on first device create")
-adds the l3mdev FIB rule the first time a VRF device is created. However,
-it only creates the rule once and only in the namespace the first device
-is created - which may not be init_net. Fix by using the net_generic
-capability to make the add_fib_rules flag per network namespace.
-
-Fixes: 1aa6c4f6b8cd8 ("net: vrf: Add l3mdev rules on first device create")
-Reported-by: Petr Machata
-Signed-off-by: David Ahern
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- drivers/net/vrf.c | 36 ++++++++++++++++++++++++++++++++----
- 1 file changed, 32 insertions(+), 4 deletions(-)
-
---- a/drivers/net/vrf.c
-+++ b/drivers/net/vrf.c
-@@ -36,12 +36,14 @@
- #include
- #include
- #include
-+#include
-
- #define DRV_NAME "vrf"
- #define DRV_VERSION "1.0"
-
- #define FIB_RULE_PREF 1000 /* default preference for FIB rules */
--static bool add_fib_rules = true;
-+
-+static unsigned int vrf_net_id;
-
- struct net_vrf {
- struct rtable __rcu *rth;
-@@ -1237,6 +1239,8 @@ static int vrf_newlink(struct net *src_n
- struct nlattr *tb[], struct nlattr *data[])
- {
- struct net_vrf *vrf = netdev_priv(dev);
-+ bool *add_fib_rules;
-+ struct net *net;
- int err;
-
- if (!data || !data[IFLA_VRF_TABLE])
-@@ -1252,13 +1256,15 @@ static int vrf_newlink(struct net *src_n
- if (err)
- goto out;
-
-- if (add_fib_rules) {
-+ net = dev_net(dev);
-+ add_fib_rules = net_generic(net, vrf_net_id);
-+ if (*add_fib_rules) {
- err = vrf_add_fib_rules(dev);
- if (err) {
- unregister_netdevice(dev);
- goto out;
- }
-- add_fib_rules = false;
-+ *add_fib_rules = false;
- }
-
- out:
-@@ -1341,16 +1347,38 @@ static struct notifier_block vrf_notifie
- .notifier_call = vrf_device_event,
- };
-
-+/* Initialize per network namespace state */
-+static int __net_init vrf_netns_init(struct net *net)
-+{
-+ bool *add_fib_rules = net_generic(net, vrf_net_id);
-+
-+ *add_fib_rules = true;
-+
-+ return 0;
-+}
-+
-+static struct pernet_operations vrf_net_ops __net_initdata = {
-+ .init = vrf_netns_init,
-+ .id = &vrf_net_id,
-+ .size = sizeof(bool),
-+};
-+
- static int __init vrf_init_module(void)
- {
- int rc;
-
- register_netdevice_notifier(&vrf_notifier_block);
-
-- rc = rtnl_link_register(&vrf_link_ops);
-+ rc = register_pernet_subsys(&vrf_net_ops);
- if (rc < 0)
- goto error;
-
-+ rc = rtnl_link_register(&vrf_link_ops);
-+ if (rc < 0) {
-+ unregister_pernet_subsys(&vrf_net_ops);
-+ goto error;
-+ }
-+
- return 0;
-
- error:
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-zero-ifla_vf_info-in-rtnl_fill_vfinfo.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-net-zero-ifla_vf_info-in-rtnl_fill_vfinfo.patch
deleted file mode 100644
index fedda9b0..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-net-zero-ifla_vf_info-in-rtnl_fill_vfinfo.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: "Mintz, Yuval"
-Date: Wed, 7 Jun 2017 21:00:33 +0300
-Subject: net: Zero ifla_vf_info in rtnl_fill_vfinfo()
-
-From: "Mintz, Yuval"
-
-
-[ Upstream commit 0eed9cf58446b28b233388b7f224cbca268b6986 ]
-
-Some of the structure's fields are not initialized by the
-rtnetlink. If driver doesn't set those in ndo_get_vf_config(),
-they'd leak memory to user.
-
-Signed-off-by: Yuval Mintz
-CC: Michal Schmidt
-Reviewed-by: Greg Rose
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/core/rtnetlink.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/net/core/rtnetlink.c
-+++ b/net/core/rtnetlink.c
-@@ -1130,6 +1130,8 @@ static noinline_for_stack int rtnl_fill_
- struct ifla_vf_mac vf_mac;
- struct ifla_vf_info ivi;
-
-+ memset(&ivi, 0, sizeof(ivi));
-+
- /* Not all SR-IOV capable drivers support the
- * spoofcheck and "RSS query enable" query. Preset to
- * -1 so the user space tool can detect that the driver
-@@ -1138,7 +1140,6 @@ static noinline_for_stack int rtnl_fill_
- ivi.spoofchk = -1;
- ivi.rss_query_en = -1;
- ivi.trusted = -1;
-- memset(ivi.mac, 0, sizeof(ivi.mac));
- /* The default value for VF link state is "auto"
- * IFLA_VF_LINK_STATE_AUTO which equals zero
- */
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-proc-snmp6-use-correct-type-in-memset.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-proc-snmp6-use-correct-type-in-memset.patch
deleted file mode 100644
index 2966bd6a..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-proc-snmp6-use-correct-type-in-memset.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Christian Perle
-Date: Mon, 12 Jun 2017 10:06:57 +0200
-Subject: proc: snmp6: Use correct type in memset
-
-From: Christian Perle
-
-
-[ Upstream commit 3500cd73dff48f28f4ba80c171c4c80034d40f76 ]
-
-Reading /proc/net/snmp6 yields bogus values on 32 bit kernels.
-Use "u64" instead of "unsigned long" in sizeof().
-
-Fixes: 4a4857b1c81e ("proc: Reduce cache miss in snmp6_seq_show")
-Signed-off-by: Christian Perle
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/ipv6/proc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/net/ipv6/proc.c
-+++ b/net/ipv6/proc.c
-@@ -219,7 +219,7 @@ static void snmp6_seq_show_item64(struct
- u64 buff64[SNMP_MIB_MAX];
- int i;
-
-- memset(buff64, 0, sizeof(unsigned long) * SNMP_MIB_MAX);
-+ memset(buff64, 0, sizeof(u64) * SNMP_MIB_MAX);
-
- snmp_get_cpu_field64_batch(buff64, itemlist, mib, syncpoff);
- for (i = 0; itemlist[i].name; i++)
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-rtnetlink-add-ifla_group-to-ifla_policy.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-rtnetlink-add-ifla_group-to-ifla_policy.patch
deleted file mode 100644
index fd54224f..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-rtnetlink-add-ifla_group-to-ifla_policy.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Serhey Popovych
-Date: Tue, 20 Jun 2017 14:35:23 +0300
-Subject: rtnetlink: add IFLA_GROUP to ifla_policy
-
-From: Serhey Popovych
-
-
-[ Upstream commit db833d40ad3263b2ee3b59a1ba168bb3cfed8137 ]
-
-Network interface groups support added while ago, however
-there is no IFLA_GROUP attribute description in policy
-and netlink message size calculations until now.
-
-Add IFLA_GROUP attribute to the policy.
-
-Fixes: cbda10fa97d7 ("net_device: add support for network device groups")
-Signed-off-by: Serhey Popovych
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/core/rtnetlink.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/net/core/rtnetlink.c
-+++ b/net/core/rtnetlink.c
-@@ -937,6 +937,7 @@ static noinline size_t if_nlmsg_size(con
- + nla_total_size(1) /* IFLA_LINKMODE */
- + nla_total_size(4) /* IFLA_CARRIER_CHANGES */
- + nla_total_size(4) /* IFLA_LINK_NETNSID */
-+ + nla_total_size(4) /* IFLA_GROUP */
- + nla_total_size(ext_filter_mask
- & RTEXT_FILTER_VF ? 4 : 0) /* IFLA_NUM_VF */
- + rtnl_vfinfo_size(dev, ext_filter_mask) /* IFLA_VFINFO_LIST */
-@@ -1465,6 +1466,7 @@ static const struct nla_policy ifla_poli
- [IFLA_LINK_NETNSID] = { .type = NLA_S32 },
- [IFLA_PROTO_DOWN] = { .type = NLA_U8 },
- [IFLA_XDP] = { .type = NLA_NESTED },
-+ [IFLA_GROUP] = { .type = NLA_U32 },
- };
-
- static const struct nla_policy ifla_info_policy[IFLA_INFO_MAX+1] = {
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-sctp-disable-bh-in-sctp_for_each_endpoint.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-sctp-disable-bh-in-sctp_for_each_endpoint.patch
deleted file mode 100644
index e4c5bf57..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-sctp-disable-bh-in-sctp_for_each_endpoint.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Xin Long
-Date: Sat, 10 Jun 2017 14:48:14 +0800
-Subject: sctp: disable BH in sctp_for_each_endpoint
-
-From: Xin Long
-
-
-[ Upstream commit 581409dacc9176b0de1f6c4ca8d66e13aa8e1b29 ]
-
-Now sctp holds read_lock when foreach sctp_ep_hashtable without disabling
-BH. If CPU schedules to another thread A at this moment, the thread A may
-be trying to hold the write_lock with disabling BH.
-
-As BH is disabled and CPU cannot schedule back to the thread holding the
-read_lock, while the thread A keeps waiting for the read_lock. A dead
-lock would be triggered by this.
-
-This patch is to fix this dead lock by calling read_lock_bh instead to
-disable BH when holding the read_lock in sctp_for_each_endpoint.
-
-Fixes: 626d16f50f39 ("sctp: export some apis or variables for sctp_diag and reuse some for proc")
-Reported-by: Xiumei Mu
-Signed-off-by: Xin Long
-Acked-by: Marcelo Ricardo Leitner
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman
----
- net/sctp/socket.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/net/sctp/socket.c
-+++ b/net/sctp/socket.c
-@@ -4460,13 +4460,13 @@ int sctp_for_each_endpoint(int (*cb)(str
-
- for (head = sctp_ep_hashtable; hash < sctp_ep_hashsize;
- hash++, head++) {
-- read_lock(&head->lock);
-+ read_lock_bh(&head->lock);
- sctp_for_each_hentry(epb, &head->chain) {
- err = cb(sctp_ep(epb), p);
- if (err)
- break;
- }
-- read_unlock(&head->lock);
-+ read_unlock_bh(&head->lock);
- }
-
- return err;
diff --git a/kernel/tools/cpupowertools/files/patches/mageia/stable-sctp-return-next-obj-by-passing-pos-1-into-sctp_transport_get_idx.patch b/kernel/tools/cpupowertools/files/patches/mageia/stable-sctp-return-next-obj-by-passing-pos-1-into-sctp_transport_get_idx.patch
deleted file mode 100644
index acc67c16..00000000
--- a/kernel/tools/cpupowertools/files/patches/mageia/stable-sctp-return-next-obj-by-passing-pos-1-into-sctp_transport_get_idx.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From foo@baz Thu Jun 29 18:57:46 CEST 2017
-From: Xin Long
-Date: Thu, 15 Jun 2017 17:49:08 +0800
-Subject: sctp: return next obj by passing pos + 1 into sctp_transport_get_idx
-
-From: Xin Long
-
-
-[ Upstream commit 988c7322116970696211e902b468aefec95b6ec4 ]
-
-In sctp_for_each_transport, pos is used to save how many objs it has
-dumped. Now it gets the last obj by sctp_transport_get_idx, then gets
-the next obj by sctp_transport_get_next.
-
-The issue is that in the meanwhile if some objs in transport hashtable
-are removed and the objs nums are less than pos, sctp_transport_get_idx
-would return NULL and hti.walker.tbl is NULL as well. At this moment
-it should stop hti, instead of continue getting the next obj. Or it
-would cause a NULL pointer dereference in sctp_transport_get_next.
-
-This patch is to pass pos + 1 into sctp_transport_get_idx to get the
-next obj directly, even if pos > objs nums, it would return NULL and
-stop hti.
-
-Fixes: 626d16f50f39 ("sctp: export some apis or variables for sctp_diag and reuse some for proc")
-Signed-off-by: Xin Long
-Signed-off-by: David S. Miller
-Signed-off-by: Greg Kroah-Hartman