Merge remote-tracking branch 'up/f37' into f37-riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
This commit is contained in:
commit
b6c02a9d00
@ -1,3 +1,6 @@
|
|||||||
|
"https://gitlab.com/cki-project/kernel-ark/-/commit"/22cf453b7de6d2bbee993bb3bc097cade3946a11
|
||||||
|
22cf453b7de6d2bbee993bb3bc097cade3946a11 net: neigh: decrement the family specific qlen
|
||||||
|
|
||||||
"https://gitlab.com/cki-project/kernel-ark/-/commit"/0ca565fc9cc218255dbee7dd5b13e24caa89e264
|
"https://gitlab.com/cki-project/kernel-ark/-/commit"/0ca565fc9cc218255dbee7dd5b13e24caa89e264
|
||||||
0ca565fc9cc218255dbee7dd5b13e24caa89e264 PCI/PM: Always disable PTM for all devices during suspend
|
0ca565fc9cc218255dbee7dd5b13e24caa89e264 PCI/PM: Always disable PTM for all devices during suspend
|
||||||
|
|
||||||
|
12
kernel.spec
12
kernel.spec
@ -122,17 +122,17 @@ Summary: The Linux kernel
|
|||||||
# the --with-release option overrides this setting.)
|
# the --with-release option overrides this setting.)
|
||||||
%define debugbuildsenabled 1
|
%define debugbuildsenabled 1
|
||||||
# define buildid .local
|
# define buildid .local
|
||||||
%define specversion 6.0.9
|
%define specversion 6.0.10
|
||||||
%define patchversion 6.0
|
%define patchversion 6.0
|
||||||
%define pkgrelease 300
|
%define pkgrelease 300
|
||||||
%define kversion 6
|
%define kversion 6
|
||||||
%define tarfile_release 6.0.9
|
%define tarfile_release 6.0.10
|
||||||
# This is needed to do merge window version magic
|
# This is needed to do merge window version magic
|
||||||
%define patchlevel 0
|
%define patchlevel 0
|
||||||
# This allows pkg_release to have configurable %%{?dist} tag
|
# This allows pkg_release to have configurable %%{?dist} tag
|
||||||
%define specrelease 300%{?buildid}.0.riscv64%{?dist}
|
%define specrelease 300%{?buildid}.0.riscv64%{?dist}
|
||||||
# This defines the kabi tarball version
|
# This defines the kabi tarball version
|
||||||
%define kabiversion 6.0.9
|
%define kabiversion 6.0.10
|
||||||
|
|
||||||
# If this variable is set to 1, a bpf selftests build failure will cause a
|
# If this variable is set to 1, a bpf selftests build failure will cause a
|
||||||
# fatal kernel package build error
|
# fatal kernel package build error
|
||||||
@ -3193,9 +3193,13 @@ fi
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
%changelog
|
%changelog
|
||||||
* Thu Nov 17 2022 David Abdurachmanov <davidlt@rivosinc.com> [6.0.9-0.0.riscv64]
|
* Sun Nov 27 2022 David Abdurachmanov <davidlt@rivosinc.com> [6.0.10-0.0.riscv64]
|
||||||
- Add support for riscv64
|
- Add support for riscv64
|
||||||
|
|
||||||
|
* Sat Nov 26 2022 Justin M. Forbes <jforbes@fedoraproject.org> [6.0.10-0]
|
||||||
|
- net: neigh: decrement the family specific qlen (Thomas Zeitlhofer)
|
||||||
|
- Linux v6.0.10
|
||||||
|
|
||||||
* Wed Nov 16 2022 Justin M. Forbes <jforbes@fedoraproject.org> [6.0.9-0]
|
* Wed Nov 16 2022 Justin M. Forbes <jforbes@fedoraproject.org> [6.0.9-0]
|
||||||
- Linux v6.0.9
|
- Linux v6.0.9
|
||||||
|
|
||||||
|
@ -35,8 +35,10 @@
|
|||||||
include/linux/pci.h | 3 +
|
include/linux/pci.h | 3 +
|
||||||
include/linux/rmi.h | 1 +
|
include/linux/rmi.h | 1 +
|
||||||
include/linux/security.h | 5 +
|
include/linux/security.h | 5 +
|
||||||
|
include/net/neighbour.h | 2 +-
|
||||||
init/Kconfig | 2 +-
|
init/Kconfig | 2 +-
|
||||||
kernel/module/signing.c | 9 +-
|
kernel/module/signing.c | 9 +-
|
||||||
|
net/core/neighbour.c | 58 ++--
|
||||||
net/ipv4/fib_semantics.c | 8 +-
|
net/ipv4/fib_semantics.c | 8 +-
|
||||||
scripts/pahole-flags.sh | 3 +
|
scripts/pahole-flags.sh | 3 +
|
||||||
scripts/tags.sh | 2 +
|
scripts/tags.sh | 2 +
|
||||||
@ -45,10 +47,10 @@
|
|||||||
security/lockdown/lockdown.c | 1 +
|
security/lockdown/lockdown.c | 1 +
|
||||||
security/security.c | 6 +
|
security/security.c | 6 +
|
||||||
tools/testing/selftests/net/fib_nexthops.sh | 5 +
|
tools/testing/selftests/net/fib_nexthops.sh | 5 +
|
||||||
47 files changed, 762 insertions(+), 362 deletions(-)
|
49 files changed, 793 insertions(+), 391 deletions(-)
|
||||||
|
|
||||||
diff --git a/Makefile b/Makefile
|
diff --git a/Makefile b/Makefile
|
||||||
index a234f16783ed..4cf0f80ced16 100644
|
index 4f7da26fef78..ce8f093a79f1 100644
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -18,6 +18,10 @@ $(if $(filter __%, $(MAKECMDGOALS)), \
|
@@ -18,6 +18,10 @@ $(if $(filter __%, $(MAKECMDGOALS)), \
|
||||||
@ -256,10 +258,10 @@ index dabe45eba055..82cf1ddf25d6 100644
|
|||||||
return ctx.rc;
|
return ctx.rc;
|
||||||
}
|
}
|
||||||
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
|
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
|
||||||
index 42cec8120f18..c6dc77dba6b6 100644
|
index adfeb5770efd..9ed777d8512f 100644
|
||||||
--- a/drivers/acpi/scan.c
|
--- a/drivers/acpi/scan.c
|
||||||
+++ b/drivers/acpi/scan.c
|
+++ b/drivers/acpi/scan.c
|
||||||
@@ -1752,6 +1752,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
|
@@ -1753,6 +1753,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
|
||||||
if (!acpi_match_device_ids(device, ignore_serial_bus_ids))
|
if (!acpi_match_device_ids(device, ignore_serial_bus_ids))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@ -1202,10 +1204,10 @@ index b9cf17cbbbd5..9aa33fc59f67 100644
|
|||||||
|
|
||||||
if (!ctrl->max_namespaces ||
|
if (!ctrl->max_namespaces ||
|
||||||
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
|
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
|
||||||
index a0bf9560cf67..2a226be9b32a 100644
|
index 70555022cb44..66c4f089d175 100644
|
||||||
--- a/drivers/nvme/host/nvme.h
|
--- a/drivers/nvme/host/nvme.h
|
||||||
+++ b/drivers/nvme/host/nvme.h
|
+++ b/drivers/nvme/host/nvme.h
|
||||||
@@ -844,6 +844,7 @@ void nvme_mpath_wait_freeze(struct nvme_subsystem *subsys);
|
@@ -854,6 +854,7 @@ void nvme_mpath_wait_freeze(struct nvme_subsystem *subsys);
|
||||||
void nvme_mpath_start_freeze(struct nvme_subsystem *subsys);
|
void nvme_mpath_start_freeze(struct nvme_subsystem *subsys);
|
||||||
void nvme_mpath_default_iopolicy(struct nvme_subsystem *subsys);
|
void nvme_mpath_default_iopolicy(struct nvme_subsystem *subsys);
|
||||||
void nvme_failover_req(struct request *req);
|
void nvme_failover_req(struct request *req);
|
||||||
@ -1213,7 +1215,7 @@ index a0bf9560cf67..2a226be9b32a 100644
|
|||||||
void nvme_kick_requeue_lists(struct nvme_ctrl *ctrl);
|
void nvme_kick_requeue_lists(struct nvme_ctrl *ctrl);
|
||||||
int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl,struct nvme_ns_head *head);
|
int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl,struct nvme_ns_head *head);
|
||||||
void nvme_mpath_add_disk(struct nvme_ns *ns, __le32 anagrpid);
|
void nvme_mpath_add_disk(struct nvme_ns *ns, __le32 anagrpid);
|
||||||
@@ -880,6 +881,9 @@ static inline bool nvme_ctrl_use_ana(struct nvme_ctrl *ctrl)
|
@@ -890,6 +891,9 @@ static inline bool nvme_ctrl_use_ana(struct nvme_ctrl *ctrl)
|
||||||
static inline void nvme_failover_req(struct request *req)
|
static inline void nvme_failover_req(struct request *req)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -1944,6 +1946,19 @@ index 7bd0c490703d..7779eaf1ffa1 100644
|
|||||||
#endif /* CONFIG_SECURITY */
|
#endif /* CONFIG_SECURITY */
|
||||||
|
|
||||||
#if defined(CONFIG_SECURITY) && defined(CONFIG_WATCH_QUEUE)
|
#if defined(CONFIG_SECURITY) && defined(CONFIG_WATCH_QUEUE)
|
||||||
|
diff --git a/include/net/neighbour.h b/include/net/neighbour.h
|
||||||
|
index 3827a6b395fd..bce6b228cf56 100644
|
||||||
|
--- a/include/net/neighbour.h
|
||||||
|
+++ b/include/net/neighbour.h
|
||||||
|
@@ -83,7 +83,7 @@ struct neigh_parms {
|
||||||
|
struct rcu_head rcu_head;
|
||||||
|
|
||||||
|
int reachable_time;
|
||||||
|
- int qlen;
|
||||||
|
+ u32 qlen;
|
||||||
|
int data[NEIGH_VAR_DATA_MAX];
|
||||||
|
DECLARE_BITMAP(data_state, NEIGH_VAR_DATA_MAX);
|
||||||
|
};
|
||||||
diff --git a/init/Kconfig b/init/Kconfig
|
diff --git a/init/Kconfig b/init/Kconfig
|
||||||
index 532362fcfe31..30d547537ea0 100644
|
index 532362fcfe31..30d547537ea0 100644
|
||||||
--- a/init/Kconfig
|
--- a/init/Kconfig
|
||||||
@ -1980,6 +1995,111 @@ index a2ff4242e623..f0d2be1ee4f1 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
int module_sig_check(struct load_info *info, int flags)
|
int module_sig_check(struct load_info *info, int flags)
|
||||||
|
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
|
||||||
|
index 84755db81e9d..35f5a3125808 100644
|
||||||
|
--- a/net/core/neighbour.c
|
||||||
|
+++ b/net/core/neighbour.c
|
||||||
|
@@ -307,7 +307,31 @@ static int neigh_del_timer(struct neighbour *n)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static void pneigh_queue_purge(struct sk_buff_head *list, struct net *net)
|
||||||
|
+static struct neigh_parms *neigh_get_dev_parms_rcu(struct net_device *dev,
|
||||||
|
+ int family)
|
||||||
|
+{
|
||||||
|
+ switch (family) {
|
||||||
|
+ case AF_INET:
|
||||||
|
+ return __in_dev_arp_parms_get_rcu(dev);
|
||||||
|
+ case AF_INET6:
|
||||||
|
+ return __in6_dev_nd_parms_get_rcu(dev);
|
||||||
|
+ }
|
||||||
|
+ return NULL;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void neigh_parms_qlen_dec(struct net_device *dev, int family)
|
||||||
|
+{
|
||||||
|
+ struct neigh_parms *p;
|
||||||
|
+
|
||||||
|
+ rcu_read_lock();
|
||||||
|
+ p = neigh_get_dev_parms_rcu(dev, family);
|
||||||
|
+ if (p)
|
||||||
|
+ p->qlen--;
|
||||||
|
+ rcu_read_unlock();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void pneigh_queue_purge(struct sk_buff_head *list, struct net *net,
|
||||||
|
+ int family)
|
||||||
|
{
|
||||||
|
struct sk_buff_head tmp;
|
||||||
|
unsigned long flags;
|
||||||
|
@@ -321,13 +345,7 @@ static void pneigh_queue_purge(struct sk_buff_head *list, struct net *net)
|
||||||
|
struct net_device *dev = skb->dev;
|
||||||
|
|
||||||
|
if (net == NULL || net_eq(dev_net(dev), net)) {
|
||||||
|
- struct in_device *in_dev;
|
||||||
|
-
|
||||||
|
- rcu_read_lock();
|
||||||
|
- in_dev = __in_dev_get_rcu(dev);
|
||||||
|
- if (in_dev)
|
||||||
|
- in_dev->arp_parms->qlen--;
|
||||||
|
- rcu_read_unlock();
|
||||||
|
+ neigh_parms_qlen_dec(dev, family);
|
||||||
|
__skb_unlink(skb, list);
|
||||||
|
__skb_queue_tail(&tmp, skb);
|
||||||
|
}
|
||||||
|
@@ -409,7 +427,8 @@ static int __neigh_ifdown(struct neigh_table *tbl, struct net_device *dev,
|
||||||
|
write_lock_bh(&tbl->lock);
|
||||||
|
neigh_flush_dev(tbl, dev, skip_perm);
|
||||||
|
pneigh_ifdown_and_unlock(tbl, dev);
|
||||||
|
- pneigh_queue_purge(&tbl->proxy_queue, dev ? dev_net(dev) : NULL);
|
||||||
|
+ pneigh_queue_purge(&tbl->proxy_queue, dev ? dev_net(dev) : NULL,
|
||||||
|
+ tbl->family);
|
||||||
|
if (skb_queue_empty_lockless(&tbl->proxy_queue))
|
||||||
|
del_timer_sync(&tbl->proxy_timer);
|
||||||
|
return 0;
|
||||||
|
@@ -1621,13 +1640,8 @@ static void neigh_proxy_process(struct timer_list *t)
|
||||||
|
|
||||||
|
if (tdif <= 0) {
|
||||||
|
struct net_device *dev = skb->dev;
|
||||||
|
- struct in_device *in_dev;
|
||||||
|
|
||||||
|
- rcu_read_lock();
|
||||||
|
- in_dev = __in_dev_get_rcu(dev);
|
||||||
|
- if (in_dev)
|
||||||
|
- in_dev->arp_parms->qlen--;
|
||||||
|
- rcu_read_unlock();
|
||||||
|
+ neigh_parms_qlen_dec(dev, tbl->family);
|
||||||
|
__skb_unlink(skb, &tbl->proxy_queue);
|
||||||
|
|
||||||
|
if (tbl->proxy_redo && netif_running(dev)) {
|
||||||
|
@@ -1821,7 +1835,7 @@ int neigh_table_clear(int index, struct neigh_table *tbl)
|
||||||
|
cancel_delayed_work_sync(&tbl->managed_work);
|
||||||
|
cancel_delayed_work_sync(&tbl->gc_work);
|
||||||
|
del_timer_sync(&tbl->proxy_timer);
|
||||||
|
- pneigh_queue_purge(&tbl->proxy_queue, NULL);
|
||||||
|
+ pneigh_queue_purge(&tbl->proxy_queue, NULL, tbl->family);
|
||||||
|
neigh_ifdown(tbl, NULL);
|
||||||
|
if (atomic_read(&tbl->entries))
|
||||||
|
pr_crit("neighbour leakage\n");
|
||||||
|
@@ -3542,18 +3556,6 @@ static int proc_unres_qlen(struct ctl_table *ctl, int write,
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static struct neigh_parms *neigh_get_dev_parms_rcu(struct net_device *dev,
|
||||||
|
- int family)
|
||||||
|
-{
|
||||||
|
- switch (family) {
|
||||||
|
- case AF_INET:
|
||||||
|
- return __in_dev_arp_parms_get_rcu(dev);
|
||||||
|
- case AF_INET6:
|
||||||
|
- return __in6_dev_nd_parms_get_rcu(dev);
|
||||||
|
- }
|
||||||
|
- return NULL;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
static void neigh_copy_dflt_parms(struct net *net, struct neigh_parms *p,
|
||||||
|
int index)
|
||||||
|
{
|
||||||
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
|
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
|
||||||
index 2dc97583d279..e9a7f70a54df 100644
|
index 2dc97583d279..e9a7f70a54df 100644
|
||||||
--- a/net/ipv4/fib_semantics.c
|
--- a/net/ipv4/fib_semantics.c
|
||||||
|
6
sources
6
sources
@ -1,3 +1,3 @@
|
|||||||
SHA512 (linux-6.0.9.tar.xz) = c2ce54256b4fddd79ddc2a7cc1eda5c9384c1292c3aca459af32d915689a798556b2afe8ae09a14dc19f663ea35033c71e177848a83169651202ed675c1bb6b8
|
SHA512 (linux-6.0.10.tar.xz) = 7101ac0cad3c4e77b0529ed6b2e9ac1a609bf19923931cf71638b9adfa9cb0d305fa24780099da0687cf7f5e6b52698e58f00e52db563612ff1353c7c9786566
|
||||||
SHA512 (kernel-abi-stablelists-6.0.9.tar.bz2) = dc06402d3dfdb01487de9680617e71cfe76e863df3563415463b5f8e8fa34d2e473e09d9391a016c3e7b890fa702d75c12a9ca2aae596e2042aee98bf760d749
|
SHA512 (kernel-abi-stablelists-6.0.10.tar.bz2) = 3e2cbf38e49289d15337aaad95744dece77e79f6dcc499da2fd94932658f959f905286a4d02b16998f8fc0c988426ec09694083df63e45b206e1583e96f1b2ac
|
||||||
SHA512 (kernel-kabi-dw-6.0.9.tar.bz2) = ab02ad68ef73fe395e060ea31df279f9f0fc6e412b2f063674623965905152fcff5c3841c7b9dd70bef88b5e0b6c38949d5703da0246d39d53d86e17d8f6382f
|
SHA512 (kernel-kabi-dw-6.0.10.tar.bz2) = fd18b14565f1c76b8a8b26a585f9d4784ea27ae1d2b145b40bcdddf77afdb2b4b6f95b07f58d56b5d3f5d86ef7819181a4f6733dabc6114f2e62bfe8c6dded32
|
||||||
|
Loading…
Reference in New Issue
Block a user