From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Kuniyuki Iwashima <kuniyu@amazon.com>,
Jakub Kicinski <kuba@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.18 052/158] tcp/udp: Make early_demux back namespacified.
Date: Wed, 27 Jul 2022 18:11:56 +0200 [thread overview]
Message-ID: <20220727161023.607020784@linuxfoundation.org> (raw)
In-Reply-To: <20220727161021.428340041@linuxfoundation.org>
From: Kuniyuki Iwashima <kuniyu@amazon.com>
[ Upstream commit 11052589cf5c0bab3b4884d423d5f60c38fcf25d ]
Commit e21145a9871a ("ipv4: namespacify ip_early_demux sysctl knob") made
it possible to enable/disable early_demux on a per-netns basis. Then, we
introduced two knobs, tcp_early_demux and udp_early_demux, to switch it for
TCP/UDP in commit dddb64bcb346 ("net: Add sysctl to toggle early demux for
tcp and udp"). However, the .proc_handler() was wrong and actually
disabled us from changing the behaviour in each netns.
We can execute early_demux if net.ipv4.ip_early_demux is on and each proto
.early_demux() handler is not NULL. When we toggle (tcp|udp)_early_demux,
the change itself is saved in each netns variable, but the .early_demux()
handler is a global variable, so the handler is switched based on the
init_net's sysctl variable. Thus, netns (tcp|udp)_early_demux knobs have
nothing to do with the logic. Whether we CAN execute proto .early_demux()
is always decided by init_net's sysctl knob, and whether we DO it or not is
by each netns ip_early_demux knob.
This patch namespacifies (tcp|udp)_early_demux again. For now, the users
of the .early_demux() handler are TCP and UDP only, and they are called
directly to avoid retpoline. So, we can remove the .early_demux() handler
from inet6?_protos and need not dereference them in ip6?_rcv_finish_core().
If another proto needs .early_demux(), we can restore it at that time.
Fixes: dddb64bcb346 ("net: Add sysctl to toggle early demux for tcp and udp")
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://lore.kernel.org/r/20220713175207.7727-1-kuniyu@amazon.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
include/net/protocol.h | 4 ---
include/net/tcp.h | 2 +-
include/net/udp.h | 2 +-
net/ipv4/af_inet.c | 14 ++-------
net/ipv4/ip_input.c | 37 ++++++++++++++----------
net/ipv4/sysctl_net_ipv4.c | 59 ++------------------------------------
net/ipv6/ip6_input.c | 23 ++++++++-------
net/ipv6/tcp_ipv6.c | 9 ++----
net/ipv6/udp.c | 9 ++----
9 files changed, 45 insertions(+), 114 deletions(-)
diff --git a/include/net/protocol.h b/include/net/protocol.h
index f51c06ae365f..6aef8cb11cc8 100644
--- a/include/net/protocol.h
+++ b/include/net/protocol.h
@@ -35,8 +35,6 @@
/* This is used to register protocols. */
struct net_protocol {
- int (*early_demux)(struct sk_buff *skb);
- int (*early_demux_handler)(struct sk_buff *skb);
int (*handler)(struct sk_buff *skb);
/* This returns an error if we weren't able to handle the error. */
@@ -52,8 +50,6 @@ struct net_protocol {
#if IS_ENABLED(CONFIG_IPV6)
struct inet6_protocol {
- void (*early_demux)(struct sk_buff *skb);
- void (*early_demux_handler)(struct sk_buff *skb);
int (*handler)(struct sk_buff *skb);
/* This returns an error if we weren't able to handle the error. */
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 2d9a78b3beaa..113ce516ce42 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -932,7 +932,7 @@ extern const struct inet_connection_sock_af_ops ipv6_specific;
INDIRECT_CALLABLE_DECLARE(void tcp_v6_send_check(struct sock *sk, struct sk_buff *skb));
INDIRECT_CALLABLE_DECLARE(int tcp_v6_rcv(struct sk_buff *skb));
-INDIRECT_CALLABLE_DECLARE(void tcp_v6_early_demux(struct sk_buff *skb));
+void tcp_v6_early_demux(struct sk_buff *skb);
#endif
diff --git a/include/net/udp.h b/include/net/udp.h
index f1c2a88c9005..07d0ceadcf6e 100644
--- a/include/net/udp.h
+++ b/include/net/udp.h
@@ -167,7 +167,7 @@ static inline void udp_csum_pull_header(struct sk_buff *skb)
typedef struct sock *(*udp_lookup_t)(const struct sk_buff *skb, __be16 sport,
__be16 dport);
-INDIRECT_CALLABLE_DECLARE(void udp_v6_early_demux(struct sk_buff *));
+void udp_v6_early_demux(struct sk_buff *skb);
INDIRECT_CALLABLE_DECLARE(int udpv6_rcv(struct sk_buff *));
struct sk_buff *__udp_gso_segment(struct sk_buff *gso_skb,
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 8c0a22a5b36c..f5d5911a8abd 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -1711,24 +1711,14 @@ static const struct net_protocol igmp_protocol = {
};
#endif
-/* thinking of making this const? Don't.
- * early_demux can change based on sysctl.
- */
-static struct net_protocol tcp_protocol = {
- .early_demux = tcp_v4_early_demux,
- .early_demux_handler = tcp_v4_early_demux,
+static const struct net_protocol tcp_protocol = {
.handler = tcp_v4_rcv,
.err_handler = tcp_v4_err,
.no_policy = 1,
.icmp_strict_tag_validation = 1,
};
-/* thinking of making this const? Don't.
- * early_demux can change based on sysctl.
- */
-static struct net_protocol udp_protocol = {
- .early_demux = udp_v4_early_demux,
- .early_demux_handler = udp_v4_early_demux,
+static const struct net_protocol udp_protocol = {
.handler = udp_rcv,
.err_handler = udp_err,
.no_policy = 1,
diff --git a/net/ipv4/ip_input.c b/net/ipv4/ip_input.c
index 95f7bb052784..f3fd6c398309 100644
--- a/net/ipv4/ip_input.c
+++ b/net/ipv4/ip_input.c
@@ -312,14 +312,13 @@ static bool ip_can_use_hint(const struct sk_buff *skb, const struct iphdr *iph,
ip_hdr(hint)->tos == iph->tos;
}
-INDIRECT_CALLABLE_DECLARE(int udp_v4_early_demux(struct sk_buff *));
-INDIRECT_CALLABLE_DECLARE(int tcp_v4_early_demux(struct sk_buff *));
+int tcp_v4_early_demux(struct sk_buff *skb);
+int udp_v4_early_demux(struct sk_buff *skb);
static int ip_rcv_finish_core(struct net *net, struct sock *sk,
struct sk_buff *skb, struct net_device *dev,
const struct sk_buff *hint)
{
const struct iphdr *iph = ip_hdr(skb);
- int (*edemux)(struct sk_buff *skb);
int err, drop_reason;
struct rtable *rt;
@@ -332,21 +331,29 @@ static int ip_rcv_finish_core(struct net *net, struct sock *sk,
goto drop_error;
}
- if (net->ipv4.sysctl_ip_early_demux &&
+ if (READ_ONCE(net->ipv4.sysctl_ip_early_demux) &&
!skb_dst(skb) &&
!skb->sk &&
!ip_is_fragment(iph)) {
- const struct net_protocol *ipprot;
- int protocol = iph->protocol;
-
- ipprot = rcu_dereference(inet_protos[protocol]);
- if (ipprot && (edemux = READ_ONCE(ipprot->early_demux))) {
- err = INDIRECT_CALL_2(edemux, tcp_v4_early_demux,
- udp_v4_early_demux, skb);
- if (unlikely(err))
- goto drop_error;
- /* must reload iph, skb->head might have changed */
- iph = ip_hdr(skb);
+ switch (iph->protocol) {
+ case IPPROTO_TCP:
+ if (READ_ONCE(net->ipv4.sysctl_tcp_early_demux)) {
+ tcp_v4_early_demux(skb);
+
+ /* must reload iph, skb->head might have changed */
+ iph = ip_hdr(skb);
+ }
+ break;
+ case IPPROTO_UDP:
+ if (READ_ONCE(net->ipv4.sysctl_udp_early_demux)) {
+ err = udp_v4_early_demux(skb);
+ if (unlikely(err))
+ goto drop_error;
+
+ /* must reload iph, skb->head might have changed */
+ iph = ip_hdr(skb);
+ }
+ break;
}
}
diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
index ffe0264a51b8..6b718688865e 100644
--- a/net/ipv4/sysctl_net_ipv4.c
+++ b/net/ipv4/sysctl_net_ipv4.c
@@ -354,61 +354,6 @@ static int proc_tcp_fastopen_key(struct ctl_table *table, int write,
return ret;
}
-static void proc_configure_early_demux(int enabled, int protocol)
-{
- struct net_protocol *ipprot;
-#if IS_ENABLED(CONFIG_IPV6)
- struct inet6_protocol *ip6prot;
-#endif
-
- rcu_read_lock();
-
- ipprot = rcu_dereference(inet_protos[protocol]);
- if (ipprot)
- ipprot->early_demux = enabled ? ipprot->early_demux_handler :
- NULL;
-
-#if IS_ENABLED(CONFIG_IPV6)
- ip6prot = rcu_dereference(inet6_protos[protocol]);
- if (ip6prot)
- ip6prot->early_demux = enabled ? ip6prot->early_demux_handler :
- NULL;
-#endif
- rcu_read_unlock();
-}
-
-static int proc_tcp_early_demux(struct ctl_table *table, int write,
- void *buffer, size_t *lenp, loff_t *ppos)
-{
- int ret = 0;
-
- ret = proc_dou8vec_minmax(table, write, buffer, lenp, ppos);
-
- if (write && !ret) {
- int enabled = init_net.ipv4.sysctl_tcp_early_demux;
-
- proc_configure_early_demux(enabled, IPPROTO_TCP);
- }
-
- return ret;
-}
-
-static int proc_udp_early_demux(struct ctl_table *table, int write,
- void *buffer, size_t *lenp, loff_t *ppos)
-{
- int ret = 0;
-
- ret = proc_dou8vec_minmax(table, write, buffer, lenp, ppos);
-
- if (write && !ret) {
- int enabled = init_net.ipv4.sysctl_udp_early_demux;
-
- proc_configure_early_demux(enabled, IPPROTO_UDP);
- }
-
- return ret;
-}
-
static int proc_tfo_blackhole_detect_timeout(struct ctl_table *table,
int write, void *buffer,
size_t *lenp, loff_t *ppos)
@@ -711,14 +656,14 @@ static struct ctl_table ipv4_net_table[] = {
.data = &init_net.ipv4.sysctl_udp_early_demux,
.maxlen = sizeof(u8),
.mode = 0644,
- .proc_handler = proc_udp_early_demux
+ .proc_handler = proc_dou8vec_minmax,
},
{
.procname = "tcp_early_demux",
.data = &init_net.ipv4.sysctl_tcp_early_demux,
.maxlen = sizeof(u8),
.mode = 0644,
- .proc_handler = proc_tcp_early_demux
+ .proc_handler = proc_dou8vec_minmax,
},
{
.procname = "nexthop_compat_mode",
diff --git a/net/ipv6/ip6_input.c b/net/ipv6/ip6_input.c
index 5b5ea35635f9..caba03e551ef 100644
--- a/net/ipv6/ip6_input.c
+++ b/net/ipv6/ip6_input.c
@@ -45,20 +45,23 @@
#include <net/inet_ecn.h>
#include <net/dst_metadata.h>
-INDIRECT_CALLABLE_DECLARE(void tcp_v6_early_demux(struct sk_buff *));
static void ip6_rcv_finish_core(struct net *net, struct sock *sk,
struct sk_buff *skb)
{
- void (*edemux)(struct sk_buff *skb);
-
- if (net->ipv4.sysctl_ip_early_demux && !skb_dst(skb) && skb->sk == NULL) {
- const struct inet6_protocol *ipprot;
-
- ipprot = rcu_dereference(inet6_protos[ipv6_hdr(skb)->nexthdr]);
- if (ipprot && (edemux = READ_ONCE(ipprot->early_demux)))
- INDIRECT_CALL_2(edemux, tcp_v6_early_demux,
- udp_v6_early_demux, skb);
+ if (READ_ONCE(net->ipv4.sysctl_ip_early_demux) &&
+ !skb_dst(skb) && !skb->sk) {
+ switch (ipv6_hdr(skb)->nexthdr) {
+ case IPPROTO_TCP:
+ if (READ_ONCE(net->ipv4.sysctl_tcp_early_demux))
+ tcp_v6_early_demux(skb);
+ break;
+ case IPPROTO_UDP:
+ if (READ_ONCE(net->ipv4.sysctl_udp_early_demux))
+ udp_v6_early_demux(skb);
+ break;
+ }
}
+
if (!skb_valid_dst(skb))
ip6_route_input(skb);
}
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index cbc5fff3d846..5185c11dc444 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -1822,7 +1822,7 @@ INDIRECT_CALLABLE_SCOPE int tcp_v6_rcv(struct sk_buff *skb)
goto discard_it;
}
-INDIRECT_CALLABLE_SCOPE void tcp_v6_early_demux(struct sk_buff *skb)
+void tcp_v6_early_demux(struct sk_buff *skb)
{
const struct ipv6hdr *hdr;
const struct tcphdr *th;
@@ -2176,12 +2176,7 @@ struct proto tcpv6_prot = {
};
EXPORT_SYMBOL_GPL(tcpv6_prot);
-/* thinking of making this const? Don't.
- * early_demux can change based on sysctl.
- */
-static struct inet6_protocol tcpv6_protocol = {
- .early_demux = tcp_v6_early_demux,
- .early_demux_handler = tcp_v6_early_demux,
+static const struct inet6_protocol tcpv6_protocol = {
.handler = tcp_v6_rcv,
.err_handler = tcp_v6_err,
.flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index a535c3f2e4af..aea28bf701be 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -1052,7 +1052,7 @@ static struct sock *__udp6_lib_demux_lookup(struct net *net,
return NULL;
}
-INDIRECT_CALLABLE_SCOPE void udp_v6_early_demux(struct sk_buff *skb)
+void udp_v6_early_demux(struct sk_buff *skb)
{
struct net *net = dev_net(skb->dev);
const struct udphdr *uh;
@@ -1660,12 +1660,7 @@ int udpv6_getsockopt(struct sock *sk, int level, int optname,
return ipv6_getsockopt(sk, level, optname, optval, optlen);
}
-/* thinking of making this const? Don't.
- * early_demux can change based on sysctl.
- */
-static struct inet6_protocol udpv6_protocol = {
- .early_demux = udp_v6_early_demux,
- .early_demux_handler = udp_v6_early_demux,
+static const struct inet6_protocol udpv6_protocol = {
.handler = udpv6_rcv,
.err_handler = udpv6_err,
.flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,
--
2.35.1
next prev parent reply other threads:[~2022-07-27 17:33 UTC|newest]
Thread overview: 169+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-27 16:11 [PATCH 5.18 000/158] 5.18.15-rc1 review Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 001/158] pinctrl: armada-37xx: use raw spinlocks for regmap to avoid invalid wait context Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 002/158] pinctrl: stm32: fix optional IRQ support to gpios Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 003/158] riscv: add as-options for modules with assembly compontents Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 004/158] mlxsw: spectrum_router: Fix IPv4 nexthop gateway indication Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 005/158] lockdown: Fix kexec lockdown bypass with ima policy Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 006/158] mmc: sdhci-omap: Fix a lockdep warning for PM runtime init Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 007/158] mtd: rawnand: gpmi: Set WAIT_FOR_READY timeout based on program/erase times Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 008/158] drm/ttm: fix locking in vmap/vunmap TTM GEM helpers Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 009/158] drm/amd/display: Fix new dmub notification enabling in DM Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 010/158] drm/scheduler: Dont kill jobs in interrupt context Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 011/158] net: usb: ax88179_178a needs FLAG_SEND_ZLP Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 012/158] bus: mhi: host: pci_generic: add Telit FN980 v1 hardware revision Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 013/158] bus: mhi: host: pci_generic: add Telit FN990 Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 014/158] PCI: hv: Fix multi-MSI to allow more than one MSI vector Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 015/158] PCI: hv: Fix hv_arch_irq_unmask() for multi-MSI Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 016/158] PCI: hv: Reuse existing IRTE allocation in compose_msi_msg() Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 017/158] PCI: hv: Fix interrupt mapping for multi-MSI Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 018/158] r8152: fix a WOL issue Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 019/158] ip: Fix data-races around sysctl_ip_default_ttl Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 020/158] xfrm: xfrm_policy: fix a possible double xfrm_pols_put() in xfrm_bundle_lookup() Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 021/158] power: supply: ab8500_fg: add missing destroy_workqueue in ab8500_fg_probe Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 022/158] power/reset: arm-versatile: Fix refcount leak in versatile_reboot_probe Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 023/158] RDMA/irdma: Do not advertise 1GB page size for x722 Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 024/158] RDMA/irdma: Fix sleep from invalid context BUG Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 025/158] pinctrl: ralink: rename MT7628(an) functions to MT76X8 Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 026/158] pinctrl: ralink: rename pinctrl-rt2880 to pinctrl-ralink Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 027/158] pinctrl: ralink: Check for null return of devm_kcalloc Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 028/158] pinctrl: sunplus: Add check for kcalloc Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 029/158] perf/core: Fix data race between perf_event_set_output() and perf_mmap_close() Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 030/158] e1000e: Enable GPT clock before sending message to CSME Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 031/158] Revert "e1000e: Fix possible HW unit hang after an s0ix exit" Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 032/158] igc: Reinstate IGC_REMOVED logic and implement it properly Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 033/158] ip: Fix data-races around sysctl_ip_no_pmtu_disc Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 034/158] ip: Fix data-races around sysctl_ip_fwd_use_pmtu Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 035/158] ip: Fix data-races around sysctl_ip_fwd_update_priority Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 036/158] ip: Fix data-races around sysctl_ip_nonlocal_bind Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 037/158] ip: Fix a data-race around sysctl_ip_autobind_reuse Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 038/158] ip: Fix a data-race around sysctl_fwmark_reflect Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 039/158] tcp/dccp: Fix a data-race around sysctl_tcp_fwmark_accept Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 040/158] tcp: sk->sk_bound_dev_if once in inet_request_bound_dev_if() Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 041/158] tcp: Fix data-races around sysctl_tcp_l3mdev_accept Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 042/158] tcp: Fix data-races around sysctl_tcp_mtu_probing Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 043/158] tcp: Fix data-races around sysctl_tcp_base_mss Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 044/158] tcp: Fix data-races around sysctl_tcp_min_snd_mss Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 045/158] tcp: Fix a data-race around sysctl_tcp_mtu_probe_floor Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 046/158] tcp: Fix a data-race around sysctl_tcp_probe_threshold Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 047/158] tcp: Fix a data-race around sysctl_tcp_probe_interval Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 048/158] stmmac: dwmac-mediatek: fix clock issue Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 049/158] net: stmmac: fix pm runtime issue in stmmac_dvr_remove() Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 050/158] net: stmmac: fix unbalanced ptp clock issue in suspend/resume flow Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 051/158] net: dsa: microchip: ksz_common: Fix refcount leak bug Greg Kroah-Hartman
2022-07-27 16:11 ` Greg Kroah-Hartman [this message]
2022-07-27 16:11 ` [PATCH 5.18 053/158] i2c: mlxcpld: Fix register setting for 400KHz frequency Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 054/158] i2c: cadence: Change large transfer count reset logic to be unconditional Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.18 055/158] perf tests: Stop Convert perf time to TSC test opening events twice Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 056/158] perf tests: Fix Convert perf time to TSC test for hybrid Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 057/158] pinctrl: ocelot: Fix pincfg for lan966x Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 058/158] pinctrl: ocelot: Fix pincfg Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 059/158] net: stmmac: fix dma queue left shift overflow issue Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 060/158] net/tls: Fix race in TLS device down flow Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 061/158] net: prestera: acl: use proper mask for port selector Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 062/158] igmp: Fix data-races around sysctl_igmp_llm_reports Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 063/158] igmp: Fix a data-race around sysctl_igmp_max_memberships Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 064/158] igmp: Fix data-races around sysctl_igmp_max_msf Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 065/158] igmp: Fix data-races around sysctl_igmp_qrv Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 066/158] tcp: Fix data-races around keepalive sysctl knobs Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 067/158] tcp: Fix data-races around sysctl_tcp_syn(ack)?_retries Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 068/158] tcp: Fix data-races around sysctl_tcp_syncookies Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 069/158] tcp: Fix data-races around sysctl_tcp_migrate_req Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 070/158] tcp: Fix data-races around sysctl_tcp_reordering Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 071/158] tcp: Fix data-races around some timeout sysctl knobs Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 072/158] tcp: Fix a data-race around sysctl_tcp_notsent_lowat Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 073/158] tcp: Fix a data-race around sysctl_tcp_tw_reuse Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 074/158] tcp: Fix data-races around sysctl_max_syn_backlog Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 075/158] tcp: Fix data-races around sysctl_tcp_fastopen Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 076/158] tcp: Fix data-races around sysctl_tcp_fastopen_blackhole_timeout Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 077/158] iavf: Fix VLAN_V2 addition/rejection Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 078/158] iavf: Disallow changing rx/tx-frames and rx/tx-frames-irq Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 079/158] iavf: Fix handling of dummy receive descriptors Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 080/158] iavf: Fix missing state logs Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 081/158] ACPI: CPPC: Dont require flexible address space if X86_FEATURE_CPPC is supported Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 082/158] pinctrl: armada-37xx: Reuse GPIO fwnode in armada_37xx_irqchip_register() Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 083/158] pinctrl: armada-37xx: make irq_lock a raw spinlock to avoid invalid wait context Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 084/158] net: lan966x: Fix taking rtnl_lock while holding spin_lock Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 085/158] net: lan966x: Fix usage of lan966x->mac_lock when entry is added Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 086/158] net: lan966x: Fix usage of lan966x->mac_lock when entry is removed Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 087/158] net: lan966x: Fix usage of lan966x->mac_lock inside lan966x_mac_irq_handler Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 088/158] net: lan966x: Fix usage of lan966x->mac_lock when used by FDB Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 089/158] i40e: Fix erroneous adapter reinitialization during recovery process Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 090/158] ixgbe: Add locking to prevent panic when setting sriov_numvfs to zero Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 091/158] net: dsa: fix dsa_port_vlan_filtering when global Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 092/158] net: dsa: move reset of VLAN filtering to dsa_port_switchdev_unsync_attrs Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 093/158] net: dsa: fix NULL pointer dereference in dsa_port_reset_vlan_filtering Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 094/158] net: stmmac: remove redunctant disable xPCS EEE call Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 095/158] gpio: pca953x: only use single read/write for No AI mode Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 096/158] gpio: pca953x: use the correct range when do regmap sync Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 097/158] gpio: pca953x: use the correct register address when regcache sync during init Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 098/158] be2net: Fix buffer overflow in be_get_module_eeprom Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 099/158] net: dsa: sja1105: silent spi_device_id warnings Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 100/158] net: dsa: vitesse-vsc73xx: " Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 101/158] amt: use workqueue for gateway side message handling Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 102/158] amt: remove unnecessary locks Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 103/158] amt: use READ_ONCE() in amt module Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 104/158] amt: add missing regeneration nonce logic in request logic Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 105/158] amt: drop unexpected advertisement message Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 106/158] amt: drop unexpected query message Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 107/158] amt: drop unexpected multicast data Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 108/158] amt: do not use amt->nr_tunnels outside of lock Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 109/158] drm/panel-edp: Fix variable typo when saving hpd absent delay from DT Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 110/158] drm/imx/dcss: Add missing of_node_put() in fail path Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 111/158] can: rcar_canfd: Add missing of_node_put() in rcar_canfd_probe() Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 112/158] ipv4: Fix a data-race around sysctl_fib_multipath_use_neigh Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 113/158] ipv4: Fix data-races around sysctl_fib_multipath_hash_policy Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 114/158] ipv4: Fix data-races around sysctl_fib_multipath_hash_fields Greg Kroah-Hartman
2022-07-27 16:12 ` [PATCH 5.18 115/158] ip: Fix data-races around sysctl_ip_prot_sock Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 116/158] udp: Fix a data-race around sysctl_udp_l3mdev_accept Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 117/158] tcp: Fix data-races around sysctl knobs related to SYN option Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 118/158] tcp: Fix a data-race around sysctl_tcp_early_retrans Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 119/158] tcp: Fix data-races around sysctl_tcp_recovery Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 120/158] tcp: Fix a data-race around sysctl_tcp_thin_linear_timeouts Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 121/158] tcp: Fix data-races around sysctl_tcp_slow_start_after_idle Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 122/158] tcp: Fix a data-race around sysctl_tcp_retrans_collapse Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 123/158] tcp: Fix a data-race around sysctl_tcp_stdurg Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 124/158] tcp: Fix a data-race around sysctl_tcp_rfc1337 Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 125/158] tcp: Fix a data-race around sysctl_tcp_abort_on_overflow Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 126/158] tcp: Fix data-races around sysctl_tcp_max_reordering Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 127/158] net/sched: cls_api: Fix flow action initialization Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 128/158] selftests: gpio: fix include path to kernel headers for out of tree builds Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 129/158] gpio: gpio-xilinx: Fix integer overflow Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 130/158] KVM: selftests: Fix target thread to be migrated in rseq_test Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 131/158] spi: bcm2835: bcm2835_spi_handle_err(): fix NULL pointer deref for non DMA transfers Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 132/158] KVM: Dont null dereference ops->destroy Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 133/158] mm/mempolicy: fix uninit-value in mpol_rebind_policy() Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 134/158] bpf: Make sure mac_header was set before using it Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 135/158] sched/deadline: Fix BUG_ON condition for deboosted tasks Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 136/158] perf/x86/intel/lbr: Fix unchecked MSR access error on HSW Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 137/158] x86/bugs: Warn when "ibrs" mitigation is selected on Enhanced IBRS parts Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 138/158] clk: lan966x: Fix the lan966x clock gate register address Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 139/158] dlm: fix pending remove if msg allocation fails Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 140/158] crypto: qat - set to zero DH parameters before free Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 141/158] crypto: qat - use pre-allocated buffers in datapath Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 142/158] crypto: qat - refactor submission logic Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 143/158] crypto: qat - add backlog mechanism Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 144/158] crypto: qat - fix memory leak in RSA Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 145/158] crypto: qat - remove dma_free_coherent() for RSA Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 146/158] crypto: qat - remove dma_free_coherent() for DH Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 147/158] crypto: qat - add param check for RSA Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 148/158] crypto: qat - add param check for DH Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 149/158] crypto: qat - re-enable registration of algorithms Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 150/158] exfat: fix referencing wrong parent directory information after renaming Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 151/158] exfat: use updated exfat_chain directly during renaming Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 152/158] x86/amd: Use IBPB for firmware calls Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 153/158] x86/alternative: Report missing return thunk details Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 154/158] watchqueue: make sure to serialize wqueue->defunct properly Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 155/158] ASoC: SOF: pm: add explicit behavior for ACPI S1 and S2 Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 156/158] ASoC: SOF: pm: add definitions for S4 and S5 states Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 157/158] ASoC: SOF: Intel: disable IMR boot when resuming from ACPI " Greg Kroah-Hartman
2022-07-27 16:13 ` [PATCH 5.18 158/158] watch-queue: remove spurious double semicolon Greg Kroah-Hartman
2022-07-28 0:48 ` [PATCH 5.18 000/158] 5.18.15-rc1 review Florian Fainelli
2022-07-28 5:35 ` Naresh Kamboju
2022-07-28 6:17 ` Ron Economos
2022-07-28 8:51 ` Bagas Sanjaya
2022-07-28 10:04 ` Jiri Slaby
2022-07-28 14:32 ` Jon Hunter
2022-07-28 14:37 ` Shuah Khan
2022-07-28 16:01 ` Sudip Mukherjee (Codethink)
2022-07-28 22:59 ` Guenter Roeck
2022-07-29 15:29 ` Justin Forbes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220727161023.607020784@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=kuba@kernel.org \
--cc=kuniyu@amazon.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).