rebase patches on top of Ubuntu-6.8.0-38.38
(generated with debian/scripts/import-upstream-tag) Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
7f3ace3df0
commit
64439d549f
@ -55,10 +55,10 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
||||
2 files changed, 111 insertions(+)
|
||||
|
||||
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
|
||||
index 3470cb524222..3c9192618839 100644
|
||||
index 4272acb3d047..d18cc2c1f9c3 100644
|
||||
--- a/Documentation/admin-guide/kernel-parameters.txt
|
||||
+++ b/Documentation/admin-guide/kernel-parameters.txt
|
||||
@@ -4399,6 +4399,15 @@
|
||||
@@ -4400,6 +4400,15 @@
|
||||
Also, it enforces the PCI Local Bus spec
|
||||
rule that those bits should be 0 in system reset
|
||||
events (useful for kexec/kdump cases).
|
||||
|
@ -14,10 +14,10 @@ Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/net/core/dev.c b/net/core/dev.c
|
||||
index c9b8412f1c9d..67a9b4c1a511 100644
|
||||
index c365aa06f886..c9066a7aa4c5 100644
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -10464,7 +10464,7 @@ static struct net_device *netdev_wait_allrefs_any(struct list_head *list)
|
||||
@@ -10470,7 +10470,7 @@ static struct net_device *netdev_wait_allrefs_any(struct list_head *list)
|
||||
if (time_after(jiffies, warning_time +
|
||||
READ_ONCE(netdev_unregister_timeout_secs) * HZ)) {
|
||||
list_for_each_entry(dev, list, todo_list) {
|
||||
|
@ -78,7 +78,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
||||
3 files changed, 21 insertions(+)
|
||||
|
||||
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
|
||||
index adba49afb5fe..e6e4408c8d51 100644
|
||||
index 3a02276899db..e07a6089ba4b 100644
|
||||
--- a/arch/x86/kvm/cpuid.c
|
||||
+++ b/arch/x86/kvm/cpuid.c
|
||||
@@ -262,6 +262,12 @@ static u64 cpuid_get_supported_xcr0(struct kvm_cpuid_entry2 *entries, int nent)
|
||||
@ -95,7 +95,7 @@ index adba49afb5fe..e6e4408c8d51 100644
|
||||
int nent)
|
||||
{
|
||||
diff --git a/arch/x86/kvm/cpuid.h b/arch/x86/kvm/cpuid.h
|
||||
index 856e3037e74f..0ac5a84adcd5 100644
|
||||
index 23dbb9eb277c..07da153802e4 100644
|
||||
--- a/arch/x86/kvm/cpuid.h
|
||||
+++ b/arch/x86/kvm/cpuid.h
|
||||
@@ -32,6 +32,8 @@ int kvm_vcpu_ioctl_get_cpuid2(struct kvm_vcpu *vcpu,
|
||||
@ -108,7 +108,7 @@ index 856e3037e74f..0ac5a84adcd5 100644
|
||||
|
||||
int cpuid_query_maxphyaddr(struct kvm_vcpu *vcpu);
|
||||
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
|
||||
index 8e4e48840290..3af8e426ead3 100644
|
||||
index c84927216fad..880e2b87777e 100644
|
||||
--- a/arch/x86/kvm/x86.c
|
||||
+++ b/arch/x86/kvm/x86.c
|
||||
@@ -5580,6 +5580,19 @@ static int kvm_vcpu_ioctl_x86_set_xsave(struct kvm_vcpu *vcpu,
|
||||
|
@ -11,7 +11,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
|
||||
index 8a1471f794cb..fa9c6e056f1b 100644
|
||||
index c4c6240d14f9..5e037a9ea6a6 100644
|
||||
--- a/drivers/iommu/intel/iommu.c
|
||||
+++ b/drivers/iommu/intel/iommu.c
|
||||
@@ -234,6 +234,7 @@ static int dmar_map_gfx = 1;
|
||||
|
@ -1,50 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
|
||||
Date: Wed, 3 Apr 2024 15:21:58 +0200
|
||||
Subject: [PATCH] net: usb: ax88179_178a: avoid the interface always configured
|
||||
as random address
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
After the commit d2689b6a86b9 ("net: usb: ax88179_178a: avoid two
|
||||
consecutive device resets"), reset is not executed from bind operation and
|
||||
mac address is not read from the device registers or the devicetree at that
|
||||
moment. Since the check to configure if the assigned mac address is random
|
||||
or not for the interface, happens after the bind operation from
|
||||
usbnet_probe, the interface keeps configured as random address, although the
|
||||
address is correctly read and set during open operation (the only reset
|
||||
now).
|
||||
|
||||
In order to keep only one reset for the device and to avoid the interface
|
||||
always configured as random address, after reset, configure correctly the
|
||||
suitable field from the driver, if the mac address is read successfully from
|
||||
the device registers or the devicetree. Take into account if a locally
|
||||
administered address (random) was previously stored.
|
||||
|
||||
cc: stable@vger.kernel.org # 6.6+
|
||||
Fixes: d2689b6a86b9 ("net: usb: ax88179_178a: avoid two consecutive device resets")
|
||||
Reported-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
|
||||
Reviewed-by: Simon Horman <horms@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20240403132158.344838-1-jtornosm@redhat.com
|
||||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
(cherry picked from commit 2e91bb99b9d4f756e92e83c4453f894dda220f09)
|
||||
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
||||
---
|
||||
drivers/net/usb/ax88179_178a.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c
|
||||
index d837c1887416..e0e9b4c53cb0 100644
|
||||
--- a/drivers/net/usb/ax88179_178a.c
|
||||
+++ b/drivers/net/usb/ax88179_178a.c
|
||||
@@ -1273,6 +1273,8 @@ static void ax88179_get_mac_addr(struct usbnet *dev)
|
||||
|
||||
if (is_valid_ether_addr(mac)) {
|
||||
eth_hw_addr_set(dev->net, mac);
|
||||
+ if (!is_local_ether_addr(mac))
|
||||
+ dev->net->addr_assign_type = NET_ADDR_PERM;
|
||||
} else {
|
||||
netdev_info(dev->net, "invalid MAC address, using random\n");
|
||||
eth_hw_addr_random(dev->net);
|
@ -1,61 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Chuck Lever <chuck.lever@oracle.com>
|
||||
Date: Wed, 3 Apr 2024 10:36:25 -0400
|
||||
Subject: [PATCH] SUNRPC: Fix a slow server-side memory leak with RPC-over-TCP
|
||||
|
||||
Jan Schunk reports that his small NFS servers suffer from memory
|
||||
exhaustion after just a few days. A bisect shows that commit
|
||||
e18e157bb5c8 ("SUNRPC: Send RPC message on TCP with a single
|
||||
sock_sendmsg() call") is the first bad commit.
|
||||
|
||||
That commit assumed that sock_sendmsg() releases all the pages in
|
||||
the underlying bio_vec array, but the reality is that it doesn't.
|
||||
svc_xprt_release() releases the rqst's response pages, but the
|
||||
record marker page fragment isn't one of those, so it is never
|
||||
released.
|
||||
|
||||
This is a narrow fix that can be applied to stable kernels. A
|
||||
more extensive fix is in the works.
|
||||
|
||||
Reported-by: Jan Schunk <scpcom@gmx.de>
|
||||
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218671
|
||||
Fixes: e18e157bb5c8 ("SUNRPC: Send RPC message on TCP with a single sock_sendmsg() call")
|
||||
Cc: Alexander Duyck <alexander.duyck@gmail.com>
|
||||
Cc: Jakub Kacinski <kuba@kernel.org>
|
||||
Cc: David Howells <dhowells@redhat.com>
|
||||
Reviewed-by: David Howells <dhowells@redhat.com>
|
||||
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
||||
(cherry picked from commit 05258a0a69b3c5d2c003f818702c0a52b6fea861)
|
||||
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
|
||||
---
|
||||
net/sunrpc/svcsock.c | 10 +---------
|
||||
1 file changed, 1 insertion(+), 9 deletions(-)
|
||||
|
||||
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
|
||||
index 545017a3daa4..6b3f01beb294 100644
|
||||
--- a/net/sunrpc/svcsock.c
|
||||
+++ b/net/sunrpc/svcsock.c
|
||||
@@ -1206,15 +1206,6 @@ static int svc_tcp_recvfrom(struct svc_rqst *rqstp)
|
||||
* MSG_SPLICE_PAGES is used exclusively to reduce the number of
|
||||
* copy operations in this path. Therefore the caller must ensure
|
||||
* that the pages backing @xdr are unchanging.
|
||||
- *
|
||||
- * Note that the send is non-blocking. The caller has incremented
|
||||
- * the reference count on each page backing the RPC message, and
|
||||
- * the network layer will "put" these pages when transmission is
|
||||
- * complete.
|
||||
- *
|
||||
- * This is safe for our RPC services because the memory backing
|
||||
- * the head and tail components is never kmalloc'd. These always
|
||||
- * come from pages in the svc_rqst::rq_pages array.
|
||||
*/
|
||||
static int svc_tcp_sendmsg(struct svc_sock *svsk, struct svc_rqst *rqstp,
|
||||
rpc_fraghdr marker, unsigned int *sentp)
|
||||
@@ -1244,6 +1235,7 @@ static int svc_tcp_sendmsg(struct svc_sock *svsk, struct svc_rqst *rqstp,
|
||||
iov_iter_bvec(&msg.msg_iter, ITER_SOURCE, rqstp->rq_bvec,
|
||||
1 + count, sizeof(marker) + rqstp->rq_res.len);
|
||||
ret = sock_sendmsg(svsk->sk_sock, &msg);
|
||||
+ page_frag_free(buf);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
*sentp += ret;
|
Loading…
Reference in New Issue
Block a user