Merge 4.14.98 into android-4.14
authorGreg Kroah-Hartman <gregkh@google.com>
Thu, 7 Feb 2019 08:05:32 +0000 (09:05 +0100)
committerGreg Kroah-Hartman <gregkh@google.com>
Thu, 7 Feb 2019 08:05:32 +0000 (09:05 +0100)
Changes in 4.14.98
Fix "net: ipv4: do not handle duplicate fragments as overlapping"
ipv6: Consider sk_bound_dev_if when binding a socket to an address
ipv6: sr: clear IP6CB(skb) on SRH ip4ip6 encapsulation
l2tp: copy 4 more bytes to linear part if necessary
net/mlx4_core: Add masking for a few queries on HCA caps
netrom: switch to sock timer API
net/rose: fix NULL ax25_cb kernel panic
net: set default network namespace in init_dummy_netdev()
ucc_geth: Reset BQL queue when stopping device
net/mlx5e: Allow MAC invalidation while spoofchk is ON
Revert "net/mlx5e: E-Switch, Initialize eswitch only if eswitch manager"
virtio_net: Don't enable NAPI when interface is down
virtio_net: Don't call free_old_xmit_skbs for xdp_frames
virtio_net: Fix not restoring real_num_rx_queues
sctp: improve the events for sctp stream adding
sctp: improve the events for sctp stream reset
l2tp: remove l2specific_len dependency in l2tp_core
l2tp: fix reading optional fields of L2TPv3
ipvlan, l3mdev: fix broken l3s mode wrt local routes
CIFS: Do not count -ENODATA as failure for query directory
fs/dcache: Fix incorrect nr_dentry_unused accounting in shrink_dcache_sb()
iommu/vt-d: Fix memory leak in intel_iommu_put_resv_regions()
selftests/seccomp: Enhance per-arch ptrace syscall skip tests
NFS: Fix up return value on fatal errors in nfs_page_async_flush()
ARM: cns3xxx: Fix writing to wrong PCI config registers after alignment
arm64: kaslr: ensure randomized quantities are clean also when kaslr is off
arm64: hyp-stub: Forbid kprobing of the hyp-stub
arm64: hibernate: Clean the __hyp_text to PoC after resume
gpio: altera-a10sr: Set proper output level for direction_output
gpio: pcf857x: Fix interrupts on multiple instances
gfs2: Revert "Fix loop in gfs2_rbm_find"
mmc: bcm2835: Fix DMA channel leak on probe error
ALSA: hda/realtek - Fixed hp_pin no value
IB/hfi1: Remove overly conservative VM_EXEC flag check
platform/x86: asus-nb-wmi: Map 0x35 to KEY_SCREENLOCK
platform/x86: asus-nb-wmi: Drop mapping of 0x33 and 0x34 scan codes
mmc: sdhci-iproc: handle mmc_of_parse() errors during probe
kernel/exit.c: release ptraced tasks before zap_pid_ns_processes
oom, oom_reaper: do not enqueue same task twice
mm, oom: fix use-after-free in oom_kill_process
mm: hwpoison: use do_send_sig_info() instead of force_sig()
mm: migrate: don't rely on __PageMovable() of newpage after unlocking it
md/raid5: fix 'out of memory' during raid cache recovery
cifs: Always resolve hostname before reconnecting
drivers: core: Remove glue dirs from sysfs earlier
fanotify: fix handling of events on child sub-directory
Linux 4.14.98

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
1  2 
Makefile
fs/dcache.c
net/ipv6/af_inet6.c
net/l2tp/l2tp_core.c
net/l2tp/l2tp_core.h
net/l2tp/l2tp_ip.c
net/l2tp/l2tp_ip6.c

diff --cc Makefile
Simple merge
diff --cc fs/dcache.c
Simple merge
Simple merge
index 728acd5dfa627362eda281500dc514312e9a22d1,e494f04819e9c08f73cc3e013d81ed8e9186a8ac..12b7752b31935bba5e5b08a9c195ddfab6442bcf
@@@ -978,7 -983,11 +975,11 @@@ static int l2tp_udp_recv_core(struct l2
                goto error;
        }
  
 -      l2tp_recv_common(session, skb, ptr, optr, hdrflags, length, payload_hook);
+       if (tunnel->version == L2TP_HDR_VER_3 &&
+           l2tp_v3_ensure_opt_in_linear(session, skb, &ptr, &optr))
+               goto error;
 +      l2tp_recv_common(session, skb, ptr, optr, hdrflags, length);
        l2tp_session_dec_refcount(session);
  
        return 0;
Simple merge
index 0fb7a086897223ed0bd174f2a4590246e0f81113,f7880becc16568e955d34eaedf12616bcbf1a0e3..8ab3340a31140d6c935ca769f90ac1549c38662b
@@@ -165,7 -165,10 +165,10 @@@ static int l2tp_ip_recv(struct sk_buff 
                print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, ptr, length);
        }
  
 -      l2tp_recv_common(session, skb, ptr, optr, 0, skb->len, tunnel->recv_payload_hook);
+       if (l2tp_v3_ensure_opt_in_linear(session, skb, &ptr, &optr))
+               goto discard_sess;
 +      l2tp_recv_common(session, skb, ptr, optr, 0, skb->len);
        l2tp_session_dec_refcount(session);
  
        return 0;
index 37d0d09f5e4b1af47a10e5f4c66557d7076f6362,3c77507601c7fa6ffcf5fed3abd1277da6a82b63..f444b207b51db681ce5089e4b03681f5a96a5e58
@@@ -178,7 -178,11 +178,10 @@@ static int l2tp_ip6_recv(struct sk_buf
                print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, ptr, length);
        }
  
 -      l2tp_recv_common(session, skb, ptr, optr, 0, skb->len,
 -                       tunnel->recv_payload_hook);
+       if (l2tp_v3_ensure_opt_in_linear(session, skb, &ptr, &optr))
+               goto discard_sess;
 +      l2tp_recv_common(session, skb, ptr, optr, 0, skb->len);
        l2tp_session_dec_refcount(session);
  
        return 0;