All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	"Ilya Ponetayev" <i.ponetaev@ndmsystems.com>,
	"Toke Høiland-Jørgensen" <toke@redhat.com>,
	"David S. Miller" <davem@davemloft.net>
Subject: [PATCH 4.19 018/133] sched: consistently handle layer3 header accesses in the presence of VLANs
Date: Mon, 20 Jul 2020 17:36:05 +0200	[thread overview]
Message-ID: <20200720152804.604174594@linuxfoundation.org> (raw)
In-Reply-To: <20200720152803.732195882@linuxfoundation.org>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 12566 bytes --]

From: "Toke Høiland-Jørgensen" <toke@redhat.com>

[ Upstream commit d7bf2ebebc2bd61ab95e2a8e33541ef282f303d4 ]

There are a couple of places in net/sched/ that check skb->protocol and act
on the value there. However, in the presence of VLAN tags, the value stored
in skb->protocol can be inconsistent based on whether VLAN acceleration is
enabled. The commit quoted in the Fixes tag below fixed the users of
skb->protocol to use a helper that will always see the VLAN ethertype.

However, most of the callers don't actually handle the VLAN ethertype, but
expect to find the IP header type in the protocol field. This means that
things like changing the ECN field, or parsing diffserv values, stops
working if there's a VLAN tag, or if there are multiple nested VLAN
tags (QinQ).

To fix this, change the helper to take an argument that indicates whether
the caller wants to skip the VLAN tags or not. When skipping VLAN tags, we
make sure to skip all of them, so behaviour is consistent even in QinQ
mode.

To make the helper usable from the ECN code, move it to if_vlan.h instead
of pkt_sched.h.

v3:
- Remove empty lines
- Move vlan variable definitions inside loop in skb_protocol()
- Also use skb_protocol() helper in IP{,6}_ECN_decapsulate() and
  bpf_skb_ecn_set_ce()

v2:
- Use eth_type_vlan() helper in skb_protocol()
- Also fix code that reads skb->protocol directly
- Change a couple of 'if/else if' statements to switch constructs to avoid
  calling the helper twice

Reported-by: Ilya Ponetayev <i.ponetaev@ndmsystems.com>
Fixes: d8b9605d2697 ("net: sched: fix skb->protocol use in case of accelerated vlan path")
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 include/linux/if_vlan.h  |   28 ++++++++++++++++++++++++++++
 include/net/inet_ecn.h   |   23 ++++++++++++++++-------
 include/net/pkt_sched.h  |   11 -----------
 net/core/filter.c        |    8 ++++----
 net/sched/act_connmark.c |    9 ++++++---
 net/sched/act_csum.c     |    2 +-
 net/sched/act_skbedit.c  |    2 +-
 net/sched/cls_api.c      |    2 +-
 net/sched/cls_flow.c     |    8 ++++----
 net/sched/cls_flower.c   |    2 +-
 net/sched/em_ipset.c     |    2 +-
 net/sched/em_meta.c      |    2 +-
 net/sched/sch_cake.c     |    4 ++--
 net/sched/sch_dsmark.c   |    6 +++---
 net/sched/sch_teql.c     |    2 +-
 15 files changed, 70 insertions(+), 41 deletions(-)

--- a/include/linux/if_vlan.h
+++ b/include/linux/if_vlan.h
@@ -313,6 +313,34 @@ static inline bool eth_type_vlan(__be16
 	}
 }
 
+/* A getter for the SKB protocol field which will handle VLAN tags consistently
+ * whether VLAN acceleration is enabled or not.
+ */
+static inline __be16 skb_protocol(const struct sk_buff *skb, bool skip_vlan)
+{
+	unsigned int offset = skb_mac_offset(skb) + sizeof(struct ethhdr);
+	__be16 proto = skb->protocol;
+
+	if (!skip_vlan)
+		/* VLAN acceleration strips the VLAN header from the skb and
+		 * moves it to skb->vlan_proto
+		 */
+		return skb_vlan_tag_present(skb) ? skb->vlan_proto : proto;
+
+	while (eth_type_vlan(proto)) {
+		struct vlan_hdr vhdr, *vh;
+
+		vh = skb_header_pointer(skb, offset, sizeof(vhdr), &vhdr);
+		if (!vh)
+			break;
+
+		proto = vh->h_vlan_encapsulated_proto;
+		offset += sizeof(vhdr);
+	}
+
+	return proto;
+}
+
 static inline bool vlan_hw_offload_capable(netdev_features_t features,
 					   __be16 proto)
 {
--- a/include/net/inet_ecn.h
+++ b/include/net/inet_ecn.h
@@ -4,6 +4,7 @@
 
 #include <linux/ip.h>
 #include <linux/skbuff.h>
+#include <linux/if_vlan.h>
 
 #include <net/inet_sock.h>
 #include <net/dsfield.h>
@@ -142,7 +143,7 @@ static inline void ipv6_copy_dscp(unsign
 
 static inline int INET_ECN_set_ce(struct sk_buff *skb)
 {
-	switch (skb->protocol) {
+	switch (skb_protocol(skb, true)) {
 	case cpu_to_be16(ETH_P_IP):
 		if (skb_network_header(skb) + sizeof(struct iphdr) <=
 		    skb_tail_pointer(skb))
@@ -209,12 +210,16 @@ static inline int IP_ECN_decapsulate(con
 {
 	__u8 inner;
 
-	if (skb->protocol == htons(ETH_P_IP))
+	switch (skb_protocol(skb, true)) {
+	case htons(ETH_P_IP):
 		inner = ip_hdr(skb)->tos;
-	else if (skb->protocol == htons(ETH_P_IPV6))
+		break;
+	case htons(ETH_P_IPV6):
 		inner = ipv6_get_dsfield(ipv6_hdr(skb));
-	else
+		break;
+	default:
 		return 0;
+	}
 
 	return INET_ECN_decapsulate(skb, oiph->tos, inner);
 }
@@ -224,12 +229,16 @@ static inline int IP6_ECN_decapsulate(co
 {
 	__u8 inner;
 
-	if (skb->protocol == htons(ETH_P_IP))
+	switch (skb_protocol(skb, true)) {
+	case htons(ETH_P_IP):
 		inner = ip_hdr(skb)->tos;
-	else if (skb->protocol == htons(ETH_P_IPV6))
+		break;
+	case htons(ETH_P_IPV6):
 		inner = ipv6_get_dsfield(ipv6_hdr(skb));
-	else
+		break;
+	default:
 		return 0;
+	}
 
 	return INET_ECN_decapsulate(skb, ipv6_get_dsfield(oipv6h), inner);
 }
--- a/include/net/pkt_sched.h
+++ b/include/net/pkt_sched.h
@@ -122,17 +122,6 @@ static inline void qdisc_run(struct Qdis
 	}
 }
 
-static inline __be16 tc_skb_protocol(const struct sk_buff *skb)
-{
-	/* We need to take extra care in case the skb came via
-	 * vlan accelerated path. In that case, use skb->vlan_proto
-	 * as the original vlan header was already stripped.
-	 */
-	if (skb_vlan_tag_present(skb))
-		return skb->vlan_proto;
-	return skb->protocol;
-}
-
 /* Calculate maximal size of packet seen by hard_start_xmit
    routine of this device.
  */
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -2695,7 +2695,7 @@ static int bpf_skb_proto_6_to_4(struct s
 
 static int bpf_skb_proto_xlat(struct sk_buff *skb, __be16 to_proto)
 {
-	__be16 from_proto = skb->protocol;
+	__be16 from_proto = skb_protocol(skb, true);
 
 	if (from_proto == htons(ETH_P_IP) &&
 	      to_proto == htons(ETH_P_IPV6))
@@ -2768,7 +2768,7 @@ static const struct bpf_func_proto bpf_s
 
 static u32 bpf_skb_net_base_len(const struct sk_buff *skb)
 {
-	switch (skb->protocol) {
+	switch (skb_protocol(skb, true)) {
 	case htons(ETH_P_IP):
 		return sizeof(struct iphdr);
 	case htons(ETH_P_IPV6):
@@ -2848,7 +2848,7 @@ static int bpf_skb_adjust_net(struct sk_
 	u32 len_cur, len_diff_abs = abs(len_diff);
 	u32 len_min = bpf_skb_net_base_len(skb);
 	u32 len_max = __bpf_skb_max_len(skb);
-	__be16 proto = skb->protocol;
+	__be16 proto = skb_protocol(skb, true);
 	bool shrink = len_diff < 0;
 	int ret;
 
@@ -4552,7 +4552,7 @@ static int bpf_push_seg6_encap(struct sk
 
 	switch (type) {
 	case BPF_LWT_ENCAP_SEG6_INLINE:
-		if (skb->protocol != htons(ETH_P_IPV6))
+		if (skb_protocol(skb, true) != htons(ETH_P_IPV6))
 			return -EBADMSG;
 
 		err = seg6_do_srh_inline(skb, srh);
--- a/net/sched/act_connmark.c
+++ b/net/sched/act_connmark.c
@@ -46,17 +46,20 @@ static int tcf_connmark_act(struct sk_bu
 	tcf_lastuse_update(&ca->tcf_tm);
 	bstats_update(&ca->tcf_bstats, skb);
 
-	if (skb->protocol == htons(ETH_P_IP)) {
+	switch (skb_protocol(skb, true)) {
+	case htons(ETH_P_IP):
 		if (skb->len < sizeof(struct iphdr))
 			goto out;
 
 		proto = NFPROTO_IPV4;
-	} else if (skb->protocol == htons(ETH_P_IPV6)) {
+		break;
+	case htons(ETH_P_IPV6):
 		if (skb->len < sizeof(struct ipv6hdr))
 			goto out;
 
 		proto = NFPROTO_IPV6;
-	} else {
+		break;
+	default:
 		goto out;
 	}
 
--- a/net/sched/act_csum.c
+++ b/net/sched/act_csum.c
@@ -577,7 +577,7 @@ static int tcf_csum_act(struct sk_buff *
 		goto drop;
 
 	update_flags = params->update_flags;
-	protocol = tc_skb_protocol(skb);
+	protocol = skb_protocol(skb, false);
 again:
 	switch (protocol) {
 	case cpu_to_be16(ETH_P_IP):
--- a/net/sched/act_skbedit.c
+++ b/net/sched/act_skbedit.c
@@ -51,7 +51,7 @@ static int tcf_skbedit_act(struct sk_buf
 	if (params->flags & SKBEDIT_F_INHERITDSFIELD) {
 		int wlen = skb_network_offset(skb);
 
-		switch (tc_skb_protocol(skb)) {
+		switch (skb_protocol(skb, true)) {
 		case htons(ETH_P_IP):
 			wlen += sizeof(struct iphdr);
 			if (!pskb_may_pull(skb, wlen))
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -969,7 +969,7 @@ int tcf_classify(struct sk_buff *skb, co
 reclassify:
 #endif
 	for (; tp; tp = rcu_dereference_bh(tp->next)) {
-		__be16 protocol = tc_skb_protocol(skb);
+		__be16 protocol = skb_protocol(skb, false);
 		int err;
 
 		if (tp->protocol != protocol &&
--- a/net/sched/cls_flow.c
+++ b/net/sched/cls_flow.c
@@ -84,7 +84,7 @@ static u32 flow_get_dst(const struct sk_
 	if (dst)
 		return ntohl(dst);
 
-	return addr_fold(skb_dst(skb)) ^ (__force u16) tc_skb_protocol(skb);
+	return addr_fold(skb_dst(skb)) ^ (__force u16)skb_protocol(skb, true);
 }
 
 static u32 flow_get_proto(const struct sk_buff *skb,
@@ -108,7 +108,7 @@ static u32 flow_get_proto_dst(const stru
 	if (flow->ports.ports)
 		return ntohs(flow->ports.dst);
 
-	return addr_fold(skb_dst(skb)) ^ (__force u16) tc_skb_protocol(skb);
+	return addr_fold(skb_dst(skb)) ^ (__force u16)skb_protocol(skb, true);
 }
 
 static u32 flow_get_iif(const struct sk_buff *skb)
@@ -155,7 +155,7 @@ static u32 flow_get_nfct(const struct sk
 static u32 flow_get_nfct_src(const struct sk_buff *skb,
 			     const struct flow_keys *flow)
 {
-	switch (tc_skb_protocol(skb)) {
+	switch (skb_protocol(skb, true)) {
 	case htons(ETH_P_IP):
 		return ntohl(CTTUPLE(skb, src.u3.ip));
 	case htons(ETH_P_IPV6):
@@ -168,7 +168,7 @@ fallback:
 static u32 flow_get_nfct_dst(const struct sk_buff *skb,
 			     const struct flow_keys *flow)
 {
-	switch (tc_skb_protocol(skb)) {
+	switch (skb_protocol(skb, true)) {
 	case htons(ETH_P_IP):
 		return ntohl(CTTUPLE(skb, dst.u3.ip));
 	case htons(ETH_P_IPV6):
--- a/net/sched/cls_flower.c
+++ b/net/sched/cls_flower.c
@@ -203,7 +203,7 @@ static int fl_classify(struct sk_buff *s
 		/* skb_flow_dissect() does not set n_proto in case an unknown
 		 * protocol, so do it rather here.
 		 */
-		skb_key.basic.n_proto = skb->protocol;
+		skb_key.basic.n_proto = skb_protocol(skb, false);
 		skb_flow_dissect_tunnel_info(skb, &mask->dissector, &skb_key);
 		skb_flow_dissect(skb, &mask->dissector, &skb_key, 0);
 
--- a/net/sched/em_ipset.c
+++ b/net/sched/em_ipset.c
@@ -62,7 +62,7 @@ static int em_ipset_match(struct sk_buff
 	};
 	int ret, network_offset;
 
-	switch (tc_skb_protocol(skb)) {
+	switch (skb_protocol(skb, true)) {
 	case htons(ETH_P_IP):
 		state.pf = NFPROTO_IPV4;
 		if (!pskb_network_may_pull(skb, sizeof(struct iphdr)))
--- a/net/sched/em_meta.c
+++ b/net/sched/em_meta.c
@@ -199,7 +199,7 @@ META_COLLECTOR(int_priority)
 META_COLLECTOR(int_protocol)
 {
 	/* Let userspace take care of the byte ordering */
-	dst->value = tc_skb_protocol(skb);
+	dst->value = skb_protocol(skb, false);
 }
 
 META_COLLECTOR(int_pkttype)
--- a/net/sched/sch_cake.c
+++ b/net/sched/sch_cake.c
@@ -589,7 +589,7 @@ static void cake_update_flowkeys(struct
 	struct nf_conntrack_tuple tuple = {};
 	bool rev = !skb->_nfct;
 
-	if (tc_skb_protocol(skb) != htons(ETH_P_IP))
+	if (skb_protocol(skb, true) != htons(ETH_P_IP))
 		return;
 
 	if (!nf_ct_get_tuple_skb(&tuple, skb))
@@ -1514,7 +1514,7 @@ static u8 cake_handle_diffserv(struct sk
 	u16 *buf, buf_;
 	u8 dscp;
 
-	switch (tc_skb_protocol(skb)) {
+	switch (skb_protocol(skb, true)) {
 	case htons(ETH_P_IP):
 		buf = skb_header_pointer(skb, offset, sizeof(buf_), &buf_);
 		if (unlikely(!buf))
--- a/net/sched/sch_dsmark.c
+++ b/net/sched/sch_dsmark.c
@@ -207,7 +207,7 @@ static int dsmark_enqueue(struct sk_buff
 	if (p->set_tc_index) {
 		int wlen = skb_network_offset(skb);
 
-		switch (tc_skb_protocol(skb)) {
+		switch (skb_protocol(skb, true)) {
 		case htons(ETH_P_IP):
 			wlen += sizeof(struct iphdr);
 			if (!pskb_may_pull(skb, wlen) ||
@@ -300,7 +300,7 @@ static struct sk_buff *dsmark_dequeue(st
 	index = skb->tc_index & (p->indices - 1);
 	pr_debug("index %d->%d\n", skb->tc_index, index);
 
-	switch (tc_skb_protocol(skb)) {
+	switch (skb_protocol(skb, true)) {
 	case htons(ETH_P_IP):
 		ipv4_change_dsfield(ip_hdr(skb), p->mv[index].mask,
 				    p->mv[index].value);
@@ -317,7 +317,7 @@ static struct sk_buff *dsmark_dequeue(st
 		 */
 		if (p->mv[index].mask != 0xff || p->mv[index].value)
 			pr_warn("%s: unsupported protocol %d\n",
-				__func__, ntohs(tc_skb_protocol(skb)));
+				__func__, ntohs(skb_protocol(skb, true)));
 		break;
 	}
 
--- a/net/sched/sch_teql.c
+++ b/net/sched/sch_teql.c
@@ -243,7 +243,7 @@ __teql_resolve(struct sk_buff *skb, stru
 		char haddr[MAX_ADDR_LEN];
 
 		neigh_ha_snapshot(haddr, n, dev);
-		err = dev_hard_header(skb, dev, ntohs(tc_skb_protocol(skb)),
+		err = dev_hard_header(skb, dev, ntohs(skb_protocol(skb, false)),
 				      haddr, NULL, skb->len);
 
 		if (err < 0)



  parent reply	other threads:[~2020-07-20 15:50 UTC|newest]

Thread overview: 166+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-20 15:35 [PATCH 4.19 000/133] 4.19.134-rc1 review Greg Kroah-Hartman
2020-07-20 15:35 ` [PATCH 4.19 001/133] perf: Make perf able to build with latest libbfd Greg Kroah-Hartman
2020-07-20 15:35 ` [PATCH 4.19 002/133] net: rmnet: fix lower interface leak Greg Kroah-Hartman
2020-07-20 15:35 ` [PATCH 4.19 003/133] genetlink: remove genl_bind Greg Kroah-Hartman
2020-07-20 15:35 ` [PATCH 4.19 004/133] ipv4: fill fl4_icmp_{type,code} in ping_v4_sendmsg Greg Kroah-Hartman
2020-07-20 15:35 ` [PATCH 4.19 005/133] l2tp: remove skb_dst_set() from l2tp_xmit_skb() Greg Kroah-Hartman
2020-07-20 15:35 ` [PATCH 4.19 006/133] llc: make sure applications use ARPHRD_ETHER Greg Kroah-Hartman
2020-07-20 15:35 ` [PATCH 4.19 007/133] net: Added pointer check for dst->ops->neigh_lookup in dst_neigh_lookup_skb Greg Kroah-Hartman
2020-07-20 15:35 ` [PATCH 4.19 008/133] net_sched: fix a memory leak in atm_tc_init() Greg Kroah-Hartman
2020-07-20 15:35 ` [PATCH 4.19 009/133] net: usb: qmi_wwan: add support for Quectel EG95 LTE modem Greg Kroah-Hartman
2020-07-20 15:35 ` [PATCH 4.19 010/133] tcp: fix SO_RCVLOWAT possible hangs under high mem pressure Greg Kroah-Hartman
2020-07-20 15:35 ` [PATCH 4.19 011/133] tcp: make sure listeners dont initialize congestion-control state Greg Kroah-Hartman
2020-07-20 15:35 ` [PATCH 4.19 012/133] tcp: md5: add missing memory barriers in tcp_md5_do_add()/tcp_md5_hash_key() Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 013/133] tcp: md5: do not send silly options in SYNCOOKIES Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 014/133] tcp: md5: refine tcp_md5_do_add()/tcp_md5_hash_key() barriers Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 015/133] tcp: md5: allow changing MD5 keys in all socket states Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 016/133] cgroup: fix cgroup_sk_alloc() for sk_clone_lock() Greg Kroah-Hartman
2020-08-13 11:30   ` Yang Yingliang
2020-08-13 11:41     ` Greg Kroah-Hartman
2020-08-13 12:07       ` Yang Yingliang
2020-07-20 15:36 ` [PATCH 4.19 017/133] cgroup: Fix sock_cgroup_data on big-endian Greg Kroah-Hartman
2020-07-20 15:36 ` Greg Kroah-Hartman [this message]
2020-07-20 15:36 ` [PATCH 4.19 019/133] vlan: consolidate VLAN parsing code and limit max parsing depth Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 020/133] drm/msm: fix potential memleak in error branch Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 021/133] drm/exynos: fix ref count leak in mic_pre_enable Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 022/133] m68k: nommu: register start of the memory with memblock Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 023/133] m68k: mm: fix node memblock init Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 024/133] arm64/alternatives: use subsections for replacement sequences Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 025/133] tpm_tis: extra chip->ops check on error path in tpm_tis_core_init Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 026/133] gfs2: read-only mounts should grab the sd_freeze_gl glock Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 027/133] i2c: eg20t: Load module automatically if ID matches Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 028/133] arm64/alternatives: dont patch up internal branches Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 029/133] iio:magnetometer:ak8974: Fix alignment and data leak issues Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 030/133] iio:humidity:hdc100x " Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 031/133] iio: magnetometer: ak8974: Fix runtime PM imbalance on error Greg Kroah-Hartman
2020-07-22 11:26   ` Pavel Machek
2020-07-20 15:36 ` [PATCH 4.19 032/133] iio: mma8452: Add missed iio_device_unregister() call in mma8452_probe() Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 033/133] iio: pressure: zpa2326: handle pm_runtime_get_sync failure Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 034/133] iio:humidity:hts221 Fix alignment and data leak issues Greg Kroah-Hartman
2020-07-22 11:28   ` Pavel Machek
2020-07-23  8:31     ` Jonathan Cameron
2020-07-20 15:36 ` [PATCH 4.19 035/133] iio:pressure:ms5611 Fix buffer element alignment Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 036/133] iio:health:afe4403 Fix timestamp alignment and prevent data leak Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 037/133] spi: fix initial SPI_SR value in spi-fsl-dspi Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 038/133] spi: spi-fsl-dspi: Fix lockup if device is shutdown during SPI transfer Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 039/133] net: dsa: bcm_sf2: Fix node reference count Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 040/133] of: of_mdio: Correct loop scanning logic Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 041/133] Revert "usb/ohci-platform: Fix a warning when hibernating" Greg Kroah-Hartman
2020-07-20 21:07   ` Pavel Machek
2020-07-21  1:29     ` Sasha Levin
2020-07-21 10:38       ` Greg Kroah-Hartman
2020-07-21 11:29       ` Pavel Machek
2020-07-21 13:30         ` Sasha Levin
2020-07-20 15:36 ` [PATCH 4.19 042/133] Revert "usb/xhci-plat: Set PM runtime as active on resume" Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 043/133] Revert "usb/ehci-platform: " Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 044/133] net: sfp: add support for module quirks Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 045/133] net: sfp: add some quirks for GPON modules Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 046/133] HID: quirks: Remove ITE 8595 entry from hid_have_special_driver Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 047/133] ARM: at91: pm: add quirk for sam9x60s ulp1 Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 048/133] scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled Greg Kroah-Hartman
2020-07-22 12:01   ` Pavel Machek
2020-07-20 15:36 ` [PATCH 4.19 049/133] ALSA: usb-audio: Create a registration quirk for Kingston HyperX Amp (0951:16d8) Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 050/133] doc: dt: bindings: usb: dwc3: Update entries for disabling SS instances in park mode Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 051/133] mmc: sdhci: do not enable card detect interrupt for gpio cd type Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 052/133] ALSA: usb-audio: Rewrite registration quirk handling Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 053/133] ACPI: video: Use native backlight on Acer Aspire 5783z Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 054/133] ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Alpha S Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 055/133] Input: mms114 - add extra compatible for mms345l Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 056/133] ACPI: video: Use native backlight on Acer TravelMate 5735Z Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 057/133] ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Flight S Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 058/133] iio:health:afe4404 Fix timestamp alignment and prevent data leak Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 059/133] phy: sun4i-usb: fix dereference of pointer phy0 before it is null checked Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 060/133] arm64: dts: meson: add missing gxl rng clock Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 061/133] spi: spi-sun6i: sun6i_spi_transfer_one(): fix setting of clock rate Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 062/133] usb: gadget: udc: atmel: fix uninitialized read in debug printk Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 063/133] staging: comedi: verify array index is correct before using it Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 064/133] Revert "thermal: mediatek: fix register index error" Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 065/133] ARM: dts: socfpga: Align L2 cache-controller nodename with dtschema Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 066/133] regmap: debugfs: Dont sleep while atomic for fast_io regmaps Greg Kroah-Hartman
2020-07-22 12:09   ` Pavel Machek
2020-08-06 20:10     ` Doug Anderson
2020-07-20 15:36 ` [PATCH 4.19 067/133] copy_xstate_to_kernel: Fix typo which caused GDB regression Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 068/133] apparmor: ensure that dfa state tables have entries Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 069/133] perf stat: Zero all the ena and run array slot stats for interval mode Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 070/133] soc: qcom: rpmh: Update dirty flag only when data changes Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 071/133] soc: qcom: rpmh: Invalidate SLEEP and WAKE TCSes before flushing new data Greg Kroah-Hartman
2020-07-20 15:36 ` [PATCH 4.19 072/133] soc: qcom: rpmh-rsc: Clear active mode configuration for wake TCS Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 073/133] soc: qcom: rpmh-rsc: Allow using free WAKE TCS for active request Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 074/133] mtd: rawnand: marvell: Use nand_cleanup() when the device is not yet registered Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 075/133] mtd: rawnand: marvell: Fix probe error path Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 076/133] mtd: rawnand: timings: Fix default tR_max and tCCS_min timings Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 077/133] mtd: rawnand: brcmnand: fix CS0 layout Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 078/133] mtd: rawnand: oxnas: Keep track of registered devices Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 079/133] mtd: rawnand: oxnas: Unregister all devices on error Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 080/133] mtd: rawnand: oxnas: Release all devices in the _remove() path Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 081/133] slimbus: core: Fix mismatch in of_node_get/put Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 082/133] HID: magicmouse: do not set up autorepeat Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 083/133] HID: quirks: Always poll Obins Anne Pro 2 keyboard Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 084/133] HID: quirks: Ignore Simply Automated UPB PIM Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 085/133] ALSA: line6: Perform sanity check for each URB creation Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 086/133] ALSA: line6: Sync the pending work cancel at disconnection Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 087/133] ALSA: usb-audio: Fix race against the error recovery URB submission Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 088/133] ALSA: hda/realtek - change to suitable link model for ASUS platform Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 089/133] ALSA: hda/realtek - Enable Speaker for ASUS UX533 and UX534 Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 090/133] USB: c67x00: fix use after free in c67x00_giveback_urb Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 091/133] usb: dwc2: Fix shutdown callback in platform Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 092/133] usb: chipidea: core: add wakeup support for extcon Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 093/133] usb: gadget: function: fix missing spinlock in f_uac1_legacy Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 094/133] USB: serial: iuu_phoenix: fix memory corruption Greg Kroah-Hartman
2020-07-21 11:33   ` Pavel Machek
2020-07-21 11:54     ` Johan Hovold
2020-07-22 10:52       ` Pavel Machek
2020-07-22 11:05         ` Johan Hovold
2020-07-20 15:37 ` [PATCH 4.19 095/133] USB: serial: cypress_m8: enable Simply Automated UPB PIM Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 096/133] USB: serial: ch341: add new Product ID for CH340 Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 097/133] USB: serial: option: add GosunCn GM500 series Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 098/133] USB: serial: option: add Quectel EG95 LTE modem Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 099/133] virt: vbox: Fix VBGL_IOCTL_VMMDEV_REQUEST_BIG and _LOG req numbers to match upstream Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 100/133] virt: vbox: Fix guest capabilities mask check Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 101/133] virtio: virtio_console: add missing MODULE_DEVICE_TABLE() for rproc serial Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 102/133] serial: mxs-auart: add missed iounmap() in probe failure and remove Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 103/133] ovl: inode reference leak in ovl_is_inuse true case Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 104/133] ovl: relax WARN_ON() when decoding lower directory file handle Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 105/133] ovl: fix unneeded call to ovl_change_flags() Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 106/133] fuse: Fix parameter for FS_IOC_{GET,SET}FLAGS Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 107/133] Revert "zram: convert remaining CLASS_ATTR() to CLASS_ATTR_RO()" Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 108/133] mei: bus: dont clean driver pointer Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 109/133] Input: i8042 - add Lenovo XiaoXin Air 12 to i8042 nomux list Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 110/133] uio_pdrv_genirq: fix use without device tree and no interrupt Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 111/133] timer: Prevent base->clk from moving backward Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 112/133] timer: Fix wheel index calculation on last level Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 113/133] MIPS: Fix build for LTS kernel caused by backporting lpj adjustment Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 114/133] riscv: use 16KB kernel stack on 64-bit Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 115/133] hwmon: (emc2103) fix unable to change fan pwm1_enable attribute Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 116/133] powerpc/book3s64/pkeys: Fix pkey_access_permitted() for execute disable pkey Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 117/133] intel_th: pci: Add Jasper Lake CPU support Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 118/133] intel_th: pci: Add Tiger Lake PCH-H support Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 119/133] intel_th: pci: Add Emmitsburg PCH support Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 120/133] intel_th: Fix a NULL dereference when hub driver is not loaded Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 121/133] dmaengine: fsl-edma: Fix NULL pointer exception in fsl_edma_tx_handler Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 122/133] misc: atmel-ssc: lock with mutex instead of spinlock Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 123/133] thermal/drivers/cpufreq_cooling: Fix wrong frequency converted from power Greg Kroah-Hartman
2020-07-21 11:43   ` Pavel Machek
2020-07-22  5:34     ` Viresh Kumar
2020-07-22  7:43       ` Pavel Machek
2020-07-22  8:48         ` Viresh Kumar
2020-07-21 11:50   ` Pavel Machek
2020-07-20 15:37 ` [PATCH 4.19 124/133] arm64: ptrace: Override SPSR.SS when single-stepping is enabled Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 125/133] arm64: ptrace: Consistently use pseudo-singlestep exceptions Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 126/133] arm64: compat: Ensure upper 32 bits of x0 are zero on syscall return Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 127/133] sched: Fix unreliable rseq cpu_id for new tasks Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 128/133] sched/fair: handle case of task_h_load() returning 0 Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 129/133] genirq/affinity: Handle affinity setting on inactive interrupts correctly Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 130/133] printk: queue wake_up_klogd irq_work only if per-CPU areas are ready Greg Kroah-Hartman
2020-07-20 22:05   ` Pavel Machek
2020-07-21  2:03     ` Sergey Senozhatsky
2020-07-20 15:37 ` [PATCH 4.19 131/133] libceph: dont omit recovery_deletes in target_copy() Greg Kroah-Hartman
2020-07-20 15:37 ` [PATCH 4.19 132/133] rxrpc: Fix trace string Greg Kroah-Hartman
2020-07-20 15:38 ` [PATCH 4.19 133/133] spi: sprd: switch the sequence of setting WDG_LOAD_LOW and _HIGH Greg Kroah-Hartman
2020-07-20 23:43 ` [PATCH 4.19 000/133] 4.19.134-rc1 review Shuah Khan
2020-07-21  7:59 ` Naresh Kamboju
2020-07-21 11:56 ` Pavel Machek
2020-07-22 12:48   ` Greg Kroah-Hartman
     [not found] ` <20200720152803.732195882-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
2020-07-21 13:14   ` Thierry Reding
2020-07-21 13:14     ` Thierry Reding
2020-07-21 16:37 ` Guenter Roeck

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=20200720152804.604174594@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=davem@davemloft.net \
    --cc=i.ponetaev@ndmsystems.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=toke@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.