stable.vger.kernel.org archive mirror
 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, syzbot <syzkaller@googlegroups.com>,
	Willem de Bruijn <willemb@google.com>,
	"David S. Miller" <davem@davemloft.net>
Subject: [PATCH 4.20 009/145] ip: validate header length on virtual device xmit
Date: Mon,  7 Jan 2019 13:30:46 +0100	[thread overview]
Message-ID: <20190107104438.533894989@linuxfoundation.org> (raw)
In-Reply-To: <20190107104437.308206189@linuxfoundation.org>

4.20-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Willem de Bruijn <willemb@google.com>

[ Upstream commit cb9f1b783850b14cbd7f87d061d784a666dfba1f ]

KMSAN detected read beyond end of buffer in vti and sit devices when
passing truncated packets with PF_PACKET. The issue affects additional
ip tunnel devices.

Extend commit 76c0ddd8c3a6 ("ip6_tunnel: be careful when accessing the
inner header") and commit ccfec9e5cb2d ("ip_tunnel: be careful when
accessing the inner header").

Move the check to a separate helper and call at the start of each
ndo_start_xmit function in net/ipv4 and net/ipv6.

Minor changes:
- convert dev_kfree_skb to kfree_skb on error path,
  as dev_kfree_skb calls consume_skb which is not for error paths.
- use pskb_network_may_pull even though that is pedantic here,
  as the same as pskb_may_pull for devices without llheaders.
- do not cache ipv6 hdrs if used only once
  (unsafe across pskb_may_pull, was more relevant to earlier patch)

Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 include/net/ip_tunnels.h |   20 ++++++++++++++++++++
 net/ipv4/ip_gre.c        |    9 +++++++++
 net/ipv4/ip_tunnel.c     |    9 ---------
 net/ipv4/ip_vti.c        |   12 +++++++++---
 net/ipv6/ip6_gre.c       |   10 +++++++---
 net/ipv6/ip6_tunnel.c    |   10 +++-------
 net/ipv6/ip6_vti.c       |    8 ++++----
 net/ipv6/ip6mr.c         |   17 +++++++++++------
 net/ipv6/sit.c           |    3 +++
 9 files changed, 66 insertions(+), 32 deletions(-)

--- a/include/net/ip_tunnels.h
+++ b/include/net/ip_tunnels.h
@@ -307,6 +307,26 @@ int ip_tunnel_encap_del_ops(const struct
 int ip_tunnel_encap_setup(struct ip_tunnel *t,
 			  struct ip_tunnel_encap *ipencap);
 
+static inline bool pskb_inet_may_pull(struct sk_buff *skb)
+{
+	int nhlen;
+
+	switch (skb->protocol) {
+#if IS_ENABLED(CONFIG_IPV6)
+	case htons(ETH_P_IPV6):
+		nhlen = sizeof(struct ipv6hdr);
+		break;
+#endif
+	case htons(ETH_P_IP):
+		nhlen = sizeof(struct iphdr);
+		break;
+	default:
+		nhlen = 0;
+	}
+
+	return pskb_network_may_pull(skb, nhlen);
+}
+
 static inline int ip_encap_hlen(struct ip_tunnel_encap *e)
 {
 	const struct ip_tunnel_encap_ops *ops;
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -674,6 +674,9 @@ static netdev_tx_t ipgre_xmit(struct sk_
 	struct ip_tunnel *tunnel = netdev_priv(dev);
 	const struct iphdr *tnl_params;
 
+	if (!pskb_inet_may_pull(skb))
+		goto free_skb;
+
 	if (tunnel->collect_md) {
 		gre_fb_xmit(skb, dev, skb->protocol);
 		return NETDEV_TX_OK;
@@ -717,6 +720,9 @@ static netdev_tx_t erspan_xmit(struct sk
 	struct ip_tunnel *tunnel = netdev_priv(dev);
 	bool truncate = false;
 
+	if (!pskb_inet_may_pull(skb))
+		goto free_skb;
+
 	if (tunnel->collect_md) {
 		erspan_fb_xmit(skb, dev, skb->protocol);
 		return NETDEV_TX_OK;
@@ -760,6 +766,9 @@ static netdev_tx_t gre_tap_xmit(struct s
 {
 	struct ip_tunnel *tunnel = netdev_priv(dev);
 
+	if (!pskb_inet_may_pull(skb))
+		goto free_skb;
+
 	if (tunnel->collect_md) {
 		gre_fb_xmit(skb, dev, htons(ETH_P_TEB));
 		return NETDEV_TX_OK;
--- a/net/ipv4/ip_tunnel.c
+++ b/net/ipv4/ip_tunnel.c
@@ -627,7 +627,6 @@ void ip_tunnel_xmit(struct sk_buff *skb,
 		    const struct iphdr *tnl_params, u8 protocol)
 {
 	struct ip_tunnel *tunnel = netdev_priv(dev);
-	unsigned int inner_nhdr_len = 0;
 	const struct iphdr *inner_iph;
 	struct flowi4 fl4;
 	u8     tos, ttl;
@@ -637,14 +636,6 @@ void ip_tunnel_xmit(struct sk_buff *skb,
 	__be32 dst;
 	bool connected;
 
-	/* ensure we can access the inner net header, for several users below */
-	if (skb->protocol == htons(ETH_P_IP))
-		inner_nhdr_len = sizeof(struct iphdr);
-	else if (skb->protocol == htons(ETH_P_IPV6))
-		inner_nhdr_len = sizeof(struct ipv6hdr);
-	if (unlikely(!pskb_may_pull(skb, inner_nhdr_len)))
-		goto tx_error;
-
 	inner_iph = (const struct iphdr *)skb_inner_network_header(skb);
 	connected = (tunnel->parms.iph.daddr != 0);
 
--- a/net/ipv4/ip_vti.c
+++ b/net/ipv4/ip_vti.c
@@ -241,6 +241,9 @@ static netdev_tx_t vti_tunnel_xmit(struc
 	struct ip_tunnel *tunnel = netdev_priv(dev);
 	struct flowi fl;
 
+	if (!pskb_inet_may_pull(skb))
+		goto tx_err;
+
 	memset(&fl, 0, sizeof(fl));
 
 	switch (skb->protocol) {
@@ -253,15 +256,18 @@ static netdev_tx_t vti_tunnel_xmit(struc
 		memset(IP6CB(skb), 0, sizeof(*IP6CB(skb)));
 		break;
 	default:
-		dev->stats.tx_errors++;
-		dev_kfree_skb(skb);
-		return NETDEV_TX_OK;
+		goto tx_err;
 	}
 
 	/* override mark with tunnel output key */
 	fl.flowi_mark = be32_to_cpu(tunnel->parms.o_key);
 
 	return vti_xmit(skb, dev, &fl);
+
+tx_err:
+	dev->stats.tx_errors++;
+	kfree_skb(skb);
+	return NETDEV_TX_OK;
 }
 
 static int vti4_err(struct sk_buff *skb, u32 info)
--- a/net/ipv6/ip6_gre.c
+++ b/net/ipv6/ip6_gre.c
@@ -879,6 +879,9 @@ static netdev_tx_t ip6gre_tunnel_xmit(st
 	struct net_device_stats *stats = &t->dev->stats;
 	int ret;
 
+	if (!pskb_inet_may_pull(skb))
+		goto tx_err;
+
 	if (!ip6_tnl_xmit_ctl(t, &t->parms.laddr, &t->parms.raddr))
 		goto tx_err;
 
@@ -921,6 +924,9 @@ static netdev_tx_t ip6erspan_tunnel_xmit
 	int nhoff;
 	int thoff;
 
+	if (!pskb_inet_may_pull(skb))
+		goto tx_err;
+
 	if (!ip6_tnl_xmit_ctl(t, &t->parms.laddr, &t->parms.raddr))
 		goto tx_err;
 
@@ -993,8 +999,6 @@ static netdev_tx_t ip6erspan_tunnel_xmit
 			goto tx_err;
 		}
 	} else {
-		struct ipv6hdr *ipv6h = ipv6_hdr(skb);
-
 		switch (skb->protocol) {
 		case htons(ETH_P_IP):
 			memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
@@ -1002,7 +1006,7 @@ static netdev_tx_t ip6erspan_tunnel_xmit
 						 &dsfield, &encap_limit);
 			break;
 		case htons(ETH_P_IPV6):
-			if (ipv6_addr_equal(&t->parms.raddr, &ipv6h->saddr))
+			if (ipv6_addr_equal(&t->parms.raddr, &ipv6_hdr(skb)->saddr))
 				goto tx_err;
 			if (prepare_ip6gre_xmit_ipv6(skb, dev, &fl6,
 						     &dsfield, &encap_limit))
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -1243,10 +1243,6 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, str
 	u8 tproto;
 	int err;
 
-	/* ensure we can access the full inner ip header */
-	if (!pskb_may_pull(skb, sizeof(struct iphdr)))
-		return -1;
-
 	iph = ip_hdr(skb);
 	memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
 
@@ -1321,9 +1317,6 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
 	u8 tproto;
 	int err;
 
-	if (unlikely(!pskb_may_pull(skb, sizeof(*ipv6h))))
-		return -1;
-
 	ipv6h = ipv6_hdr(skb);
 	tproto = READ_ONCE(t->parms.proto);
 	if ((tproto != IPPROTO_IPV6 && tproto != 0) ||
@@ -1405,6 +1398,9 @@ ip6_tnl_start_xmit(struct sk_buff *skb,
 	struct net_device_stats *stats = &t->dev->stats;
 	int ret;
 
+	if (!pskb_inet_may_pull(skb))
+		goto tx_err;
+
 	switch (skb->protocol) {
 	case htons(ETH_P_IP):
 		ret = ip4ip6_tnl_xmit(skb, dev);
--- a/net/ipv6/ip6_vti.c
+++ b/net/ipv6/ip6_vti.c
@@ -522,18 +522,18 @@ vti6_tnl_xmit(struct sk_buff *skb, struc
 {
 	struct ip6_tnl *t = netdev_priv(dev);
 	struct net_device_stats *stats = &t->dev->stats;
-	struct ipv6hdr *ipv6h;
 	struct flowi fl;
 	int ret;
 
+	if (!pskb_inet_may_pull(skb))
+		goto tx_err;
+
 	memset(&fl, 0, sizeof(fl));
 
 	switch (skb->protocol) {
 	case htons(ETH_P_IPV6):
-		ipv6h = ipv6_hdr(skb);
-
 		if ((t->parms.proto != IPPROTO_IPV6 && t->parms.proto != 0) ||
-		    vti6_addr_conflict(t, ipv6h))
+		    vti6_addr_conflict(t, ipv6_hdr(skb)))
 			goto tx_err;
 
 		xfrm_decode_session(skb, &fl, AF_INET6);
--- a/net/ipv6/ip6mr.c
+++ b/net/ipv6/ip6mr.c
@@ -51,6 +51,7 @@
 #include <linux/export.h>
 #include <net/ip6_checksum.h>
 #include <linux/netconf.h>
+#include <net/ip_tunnels.h>
 
 #include <linux/nospec.h>
 
@@ -599,13 +600,12 @@ static netdev_tx_t reg_vif_xmit(struct s
 		.flowi6_iif	= skb->skb_iif ? : LOOPBACK_IFINDEX,
 		.flowi6_mark	= skb->mark,
 	};
-	int err;
 
-	err = ip6mr_fib_lookup(net, &fl6, &mrt);
-	if (err < 0) {
-		kfree_skb(skb);
-		return err;
-	}
+	if (!pskb_inet_may_pull(skb))
+		goto tx_err;
+
+	if (ip6mr_fib_lookup(net, &fl6, &mrt) < 0)
+		goto tx_err;
 
 	read_lock(&mrt_lock);
 	dev->stats.tx_bytes += skb->len;
@@ -614,6 +614,11 @@ static netdev_tx_t reg_vif_xmit(struct s
 	read_unlock(&mrt_lock);
 	kfree_skb(skb);
 	return NETDEV_TX_OK;
+
+tx_err:
+	dev->stats.tx_errors++;
+	kfree_skb(skb);
+	return NETDEV_TX_OK;
 }
 
 static int reg_vif_get_iflink(const struct net_device *dev)
--- a/net/ipv6/sit.c
+++ b/net/ipv6/sit.c
@@ -1021,6 +1021,9 @@ tx_error:
 static netdev_tx_t sit_tunnel_xmit(struct sk_buff *skb,
 				   struct net_device *dev)
 {
+	if (!pskb_inet_may_pull(skb))
+		goto tx_err;
+
 	switch (skb->protocol) {
 	case htons(ETH_P_IP):
 		sit_tunnel_xmit__(skb, dev, IPPROTO_IPIP);



  parent reply	other threads:[~2019-01-07 13:24 UTC|newest]

Thread overview: 164+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-07 12:30 [PATCH 4.20 000/145] 4.20.1-stable review Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 001/145] panic: avoid deadlocks in re-entrant console drivers Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 002/145] iwlwifi: add new cards for 9560, 9462, 9461 and killer series Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 003/145] media: ov5640: Fix set format regression Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 004/145] bnx2x: Fix NULL pointer dereference in bnx2x_del_all_vlans() on some hw Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 005/145] tap: call skb_probe_transport_header after setting skb->dev Greg Kroah-Hartman
2019-01-07 13:39   ` Christian Borntraeger
2019-01-07 12:30 ` [PATCH 4.20 006/145] ax25: fix a use-after-free in ax25_fillin_cb() Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 007/145] ibmveth: fix DMA unmap error in ibmveth_xmit_start error path Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 008/145] ieee802154: lowpan_header_create check must check daddr Greg Kroah-Hartman
2019-01-07 12:30 ` Greg Kroah-Hartman [this message]
2019-01-07 12:30 ` [PATCH 4.20 010/145] net: core: Fix Spectre v1 vulnerability Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 011/145] net/hamradio/6pack: use mod_timer() to rearm timers Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 012/145] isdn: fix kernel-infoleak in capi_unlocked_ioctl Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 013/145] netrom: fix locking in nr_find_socket() Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 014/145] net/wan: fix a double free in x25_asy_open_tty() Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 015/145] packet: validate address length if non-zero Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 016/145] phonet: af_phonet: Fix Spectre v1 vulnerability Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 017/145] ptr_ring: wrap back ->producer in __ptr_ring_swap_queue() Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 018/145] sock: Make sock->sk_stamp thread-safe Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 019/145] tipc: fix a double free in tipc_enable_bearer() Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 020/145] IB/hfi1: Incorrect sizing of sge for PIO will OOPs Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 021/145] ALSA: rme9652: Fix potential Spectre v1 vulnerability Greg Kroah-Hartman
2019-01-07 12:30 ` [PATCH 4.20 022/145] ALSA: emu10k1: Fix potential Spectre v1 vulnerabilities Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 023/145] ALSA: pcm: Fix potential Spectre v1 vulnerability Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 024/145] ALSA: emux: Fix potential Spectre v1 vulnerabilities Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 025/145] powerpc/fsl: Fix spectre_v2 mitigations reporting Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 026/145] mtd: atmel-quadspi: disallow building on ebsa110 Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 027/145] mtd: rawnand: marvell: prevent timeouts on a loaded machine Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 028/145] mtd: rawnand: Fix JEDEC detection Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 029/145] mtd: rawnand: omap2: Pass the parent of pdev to dma_request_chan() Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 030/145] ALSA: hda: add mute LED support for HP EliteBook 840 G4 Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 031/145] ALSA: hda/realtek: Enable audio jacks of ASUS UX391UA with ALC294 Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 032/145] ALSA: fireface: fix for state to fetch PCM frames Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 033/145] ALSA: firewire-lib: fix wrong handling payload_length as payload_quadlet Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 034/145] ALSA: firewire-lib: fix wrong assignment for out_packet_without_header tracepoint Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 035/145] ALSA: firewire-lib: use the same print format for without_header tracepoints Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 036/145] ALSA: hda/realtek: Enable the headset mic auto detection for ASUS laptops Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 037/145] ALSA: hda/tegra: clear pending irq handlers Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 038/145] usb: dwc2: host: use hrtimer for NAK retries Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 039/145] USB: serial: pl2303: add ids for Hewlett-Packard HP POS pole displays Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 040/145] USB: serial: option: add Fibocom NL678 series Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 041/145] usb: r8a66597: Fix a possible concurrency use-after-free bug in r8a66597_endpoint_disable() Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 042/145] usb: dwc2: disable power_down on Amlogic devices Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 043/145] Revert "usb: dwc3: pci: Use devm functions to get the phy GPIOs" Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 044/145] usb: roles: Add a description for the class to Kconfig Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 045/145] media: dvb-usb-v2: Fix incorrect use of transfer_flags URB_FREE_BUFFER Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 046/145] i915: fix missing user_access_end() in page fault exception case Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 047/145] staging: wilc1000: fix missing read_write setting when reading data Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 048/145] staging: bcm2835-audio: double free in init error path Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 049/145] ASoC: intel: cht_bsw_max98090_ti: Add pmc_plt_clk_0 quirk for Chromebook Clapper Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 050/145] ASoC: intel: cht_bsw_max98090_ti: Add pmc_plt_clk_0 quirk for Chromebook Gnawty Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 051/145] s390/pci: fix sleeping in atomic during hotplug Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 052/145] Input: atmel_mxt_ts - dont try to free unallocated kernel memory Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 053/145] Input: elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 054/145] x86/speculation/l1tf: Drop the swap storage limit restriction when l1tf=off Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 055/145] x86/mm: Drop usage of __flush_tlb_all() in kernel_physical_mapping_init() Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 056/145] KVM: x86: Use jmp to invoke kvm_spurious_fault() from .fixup Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 057/145] arm64: KVM: Make VHE Stage-2 TLB invalidation operations non-interruptible Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 058/145] KVM: PPC: Book3S HV: Fix race between kvm_unmap_hva_range and MMU mode switch Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 059/145] KVM: nVMX: Free the VMREAD/VMWRITE bitmaps if alloc_kvm_area() fails Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 060/145] platform-msi: Free descriptors in platform_msi_domain_free() Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 061/145] drm/v3d: Skip debugfs dumping GCA on platforms without GCA Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 062/145] DRM: UDL: get rid of useless vblank initialization Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 063/145] clocksource/drivers/arc_timer: Utilize generic sched_clock Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 064/145] perf machine: Record if a arch has a single user/kernel address space Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 065/145] perf thread: Add fallback functions for cases where cpumode is insufficient Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 066/145] perf tools: Use fallback for sample_addr_correlates_sym() cases Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 067/145] perf script: Use fallbacks for branch stacks Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 068/145] perf pmu: Suppress potential format-truncation warning Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 069/145] perf env: Also consider env->arch == NULL as local operation Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 070/145] ocxl: Fix endiannes bug in ocxl_link_update_pe() Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 071/145] ocxl: Fix endiannes bug in read_afu_name() Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 072/145] ext4: add ext4_sb_bread() to disambiguate ENOMEM cases Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 073/145] ext4: fix possible use after free in ext4_quota_enable Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 074/145] ext4: missing unlock/put_page() in ext4_try_to_write_inline_data() Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 075/145] ext4: fix EXT4_IOC_GROUP_ADD ioctl Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 076/145] ext4: include terminating u32 in size of xattr entries when expanding inodes Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 077/145] ext4: avoid declaring fs inconsistent due to invalid file handles Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 078/145] ext4: force inode writes when nfsd calls commit_metadata() Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 079/145] ext4: check for shutdown and r/o file system in ext4_write_inode() Greg Kroah-Hartman
2019-01-07 21:56   ` Sasha Levin
2019-01-09 13:44     ` Sasha Levin
2019-01-09 16:44     ` Greg Kroah-Hartman
2019-01-09 23:18       ` Sasha Levin
2019-01-07 12:31 ` [PATCH 4.20 080/145] spi: bcm2835: Fix race on DMA termination Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 081/145] spi: bcm2835: Fix book-keeping of " Greg Kroah-Hartman
2019-01-07 12:31 ` [PATCH 4.20 082/145] spi: bcm2835: Avoid finishing transfer prematurely in IRQ mode Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 083/145] clk: rockchip: fix typo in rk3188 spdif_frac parent Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 084/145] clk: sunxi-ng: Use u64 for calculation of NM rate Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 085/145] crypto: cavium/nitrox - fix a DMA pool free failure Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 086/145] crypto: chcr - small packet Tx stalls the queue Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 087/145] crypto: testmgr - add AES-CFB tests Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 088/145] crypto: cfb - fix decryption Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 089/145] cgroup: fix CSS_TASK_ITER_PROCS Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 090/145] binder: fix use-after-free due to ksys_close() during fdget() Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 091/145] cdc-acm: fix abnormal DATA RX issue for Mediatek Preloader Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 092/145] btrfs: dev-replace: go back to suspended state if target device is missing Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 093/145] btrfs: dev-replace: go back to suspend state if another EXCL_OP is running Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 094/145] Btrfs: fix deadlock with memory reclaim during scrub Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 095/145] btrfs: skip file_extent generation check for free_space_inode in run_delalloc_nocow Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 096/145] Btrfs: fix fsync of files with multiple hard links in new directories Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 097/145] btrfs: run delayed items before dropping the snapshot Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 098/145] Btrfs: send, fix race with transaction commits that create snapshots Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 099/145] brcmfmac: fix roamoff=1 modparam Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 100/145] brcmfmac: Fix out of bounds memory access during fw load Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 101/145] KEYS: fix parsing invalid pkey info string Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 102/145] powerpc/tm: Set MSR[TS] just prior to recheckpoint Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 103/145] powerpc/tm: Unset MSR[TS] if not recheckpointing Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 104/145] f2fs: read page index before freeing Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 105/145] f2fs: fix to update new block address correctly for OPU Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 106/145] f2fs: fix missing unlock(sbi->gc_mutex) Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 107/145] f2fs: fix validation of the block count in sanity_check_raw_super Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 108/145] f2fs: sanity check of xattr entry size Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 109/145] serial: uartps: Fix interrupt mask issue to handle the RX interrupts properly Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 110/145] media: cec: keep track of outstanding transmits Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 111/145] media: cec-pin: fix broken tx_ignore_nack_until_eom error injection Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 112/145] media: rc: cec devices do not have a lirc chardev Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 113/145] media: imx274: fix stack corruption in imx274_read_reg Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 114/145] media: vivid: free bitmap_cap when updating std/timings/etc Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 115/145] media: vim2m: use cancel_delayed_work_sync instead of flush_schedule_work Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 116/145] media: vb2: check memory model for VIDIOC_CREATE_BUFS Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 117/145] media: v4l2-tpg: array index could become negative Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 118/145] media: v4l2-fwnode: Fix setting V4L2_MBUS_DATA_ACTIVE_HIGH/LOW flag Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 119/145] tools lib traceevent: Fix processing of dereferenced args in bprintk events Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 120/145] MIPS: math-emu: Write-protect delay slot emulation pages Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 121/145] MIPS: c-r4k: Add r4k_blast_scache_node for Loongson-3 Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 122/145] MIPS: Ensure pmd_present() returns false after pmd_mknotpresent() Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 123/145] MIPS: Align kernel load address to 64KB Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 124/145] MIPS: Expand MIPS32 ASIDs to 64 bits Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 125/145] MIPS: OCTEON: mark RGMII interface disabled on OCTEON III Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 126/145] MIPS: Fix a R10000_LLSC_WAR logic in atomic.h Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 127/145] CIFS: Fix error mapping for SMB2_LOCK command which caused OFD lock problem Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 128/145] smb3: fix large reads on encrypted connections Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 129/145] CIFS: return correct errors when pinning memory failed for direct I/O Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 130/145] CIFS: use the correct length when pinning memory for direct I/O for write Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 131/145] arm64: KVM: Avoid setting the upper 32 bits of VTCR_EL2 to 1 Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 132/145] arm/arm64: KVM: vgic: Force VM halt when changing the active state of GICv3 PPIs/SGIs Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 133/145] ARM: dts: exynos: Specify I2S assigned clocks in proper node Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 134/145] rtc: m41t80: Correct alarm month range with RTC reads Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 135/145] KVM: arm/arm64: vgic: Do not cond_resched_lock() with IRQs disabled Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 136/145] KVM: arm/arm64: vgic: Cap SPIs to the VM-defined maximum Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 137/145] KVM: arm/arm64: vgic-v2: Set active_source to 0 when restoring state Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 138/145] KVM: arm/arm64: Fix VMID alloc race by reverting to lock-less Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 139/145] KVM: arm/arm64: vgic: Fix off-by-one bug in vgic_get_irq() Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 140/145] iommu/arm-smmu-v3: Fix big-endian CMD_SYNC writes Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 141/145] arm64: compat: Avoid sending SIGILL for unallocated syscall numbers Greg Kroah-Hartman
2019-01-07 12:32 ` [PATCH 4.20 142/145] arm64: compat: Dont pull syscall number from regs in arm_compat_syscall Greg Kroah-Hartman
2019-01-07 12:33 ` [PATCH 4.20 143/145] parisc: Remap hugepage-aligned pages in set_kernel_text_rw() Greg Kroah-Hartman
2019-01-07 12:33 ` [PATCH 4.20 144/145] tpm: tpm_try_transmit() refactor error flow Greg Kroah-Hartman
2019-01-07 12:33 ` [PATCH 4.20 145/145] tpm: tpm_i2c_nuvoton: use correct command duration for TPM 2.x Greg Kroah-Hartman
2019-01-07 18:05 ` [PATCH 4.20 000/145] 4.20.1-stable review Guenter Roeck
2019-01-07 21:17 ` Guenter Roeck
2019-01-08  7:45   ` Greg Kroah-Hartman
2019-01-08  9:33     ` Greg Kroah-Hartman
2019-01-08 12:16       ` Greg Kroah-Hartman
2019-01-07 22:36 ` shuah
2019-01-08  7:45   ` Greg Kroah-Hartman
2019-01-08 10:58 ` Naresh Kamboju
2019-01-08 12:26   ` Greg Kroah-Hartman
2019-01-08 12:20 ` Greg Kroah-Hartman
2019-01-08 19:39 ` Dmitrii Tcvetkov
2019-01-09  6:05   ` Greg Kroah-Hartman
2019-01-08 23:09 ` 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=20190107104438.533894989@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=syzkaller@googlegroups.com \
    --cc=willemb@google.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 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).