Commit Graph

3548 Commits

Author SHA1 Message Date
Amit Klein 6b9b57d971 inet: update the IP ID generation algorithm to higher standards.
Commit 355b98553789 ("netns: provide pure entropy for net_hash_mix()")
makes net_hash_mix() return a true 32 bits of entropy.  When used in the
IP ID generation algorithm, this has the effect of extending the IP ID
generation key from 32 bits to 64 bits.

However, net_hash_mix() is only used for IP ID generation starting with
kernel version 4.1.  Therefore, earlier kernels remain with 32-bit key
no matter what the net_hash_mix() return value is.

This change addresses the issue by explicitly extending the key to 64
bits for kernels older than 4.1.

Change-Id: I65004d96d909d9de86651a361ee8ae47e801abec
Signed-off-by: Amit Klein <aksecurity@gmail.com>
Cc: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-07-11 12:43:52 +02:00
Jan Stancek 8619e77085 ipv6: fix possible deadlock in ip6_fl_purge / ip6_fl_gc
Use spin_lock_bh in ip6_fl_purge() to prevent following potentially
deadlock scenario between ip6_fl_purge() and ip6_fl_gc() timer.

  =================================
  [ INFO: inconsistent lock state ]
  3.19.0 #1 Not tainted
  ---------------------------------
  inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
  swapper/5/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
   (ip6_fl_lock){+.?...}, at: [<ffffffff8171155d>] ip6_fl_gc+0x2d/0x180
  {SOFTIRQ-ON-W} state was registered at:
    [<ffffffff810ee9a0>] __lock_acquire+0x4a0/0x10b0
    [<ffffffff810efd54>] lock_acquire+0xc4/0x2b0
    [<ffffffff81751d2d>] _raw_spin_lock+0x3d/0x80
    [<ffffffff81711798>] ip6_flowlabel_net_exit+0x28/0x110
    [<ffffffff815f9759>] ops_exit_list.isra.1+0x39/0x60
    [<ffffffff815fa320>] cleanup_net+0x100/0x1e0
    [<ffffffff810ad80a>] process_one_work+0x20a/0x830
    [<ffffffff810adf4b>] worker_thread+0x11b/0x460
    [<ffffffff810b42f4>] kthread+0x104/0x120
    [<ffffffff81752bfc>] ret_from_fork+0x7c/0xb0
  irq event stamp: 84640
  hardirqs last  enabled at (84640): [<ffffffff81752080>] _raw_spin_unlock_irq+0x30/0x50
  hardirqs last disabled at (84639): [<ffffffff81751eff>] _raw_spin_lock_irq+0x1f/0x80
  softirqs last  enabled at (84628): [<ffffffff81091ad1>] _local_bh_enable+0x21/0x50
  softirqs last disabled at (84629): [<ffffffff81093b7d>] irq_exit+0x12d/0x150

  other info that might help us debug this:
   Possible unsafe locking scenario:

         CPU0
         ----
    lock(ip6_fl_lock);
    <Interrupt>
      lock(ip6_fl_lock);

   *** DEADLOCK ***

Signed-off-by: Jan Stancek <jstancek@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Joe Maples <joe@frap129.org>
2019-08-26 14:20:55 +02:00
Nathan Chancellor 68bcf63600 Android 8.1.0 Release 0.62
-----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCWxWzwwAKCRDorT+BmrEO
 eEmGAJ9Y4YMBAgQmIsz5GjbvNk3Kqu3RGACdEcAsk2is8cSq1kKvF6Hmlappr3w=
 =pyl6
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAlsVt6IACgkQmXOSYMts
 txaWWg//bg+TS8zJixr4WwRjFL/eMLtLVKViMQX5p7ZEaaKZzzV178fG/yICUEGa
 TIDjR9RIFU2P17y7NJCN/Jwn3qSNgf1gxuSSUboNAPYUK3L9qFIGTmUZHGQ0nGMc
 q6eVO+leIF38+aePzD6utysAzrCO3rd7MKFyHaukQUVX0z46ObUZYUkNlxcalVfL
 /+8rzUOX5JnuD0iUaU1LwgxY/Kox2IDkmJCiI1mnexUGJ7fCDOZN5HLG+7bsRw2r
 +YiKzzOqsoAIiXNlZOL7K4fnB3kt0pslcsv4apt75547xqSl1guVM3qUOLhvgpKL
 yn2C0DLwi7QP5WOJjiyT7dNlmRBE1d5X/cWZZGffUbhMMcvFDxXO9yXmI9cS2nB9
 2tfhlvEjf4COtmoai/5LwsyoLfJn+gtiAzQ2J7D+/FqMSYcF4p+cj0nKNNu5+aN7
 od5RFOnodKIeGoGf6XJcPQtOZnCu+TpUe+xMaACTnolT/xHlcyCV5xCL+E6waNg5
 0mGCOEOyXM3+LlFul8o++dd8UFDQr83Sq9VJ+S6flKIM/ShIle9bxvsO3TSu9Uy/
 QlmP9/NBdnLmPqdabauq1HNINpQAFAnPFtP8MqHYGEdZczpAGf9ihJWFtAEPRWSw
 /KoFtUWCMsvFMnIz3EDAr2i3afb2/vE1seQc/X44uErwqsng8M8=
 =PN63
 -----END PGP SIGNATURE-----

Merge tag 'android-8.1.0_r0.62' into android-msm-bullhead-3.10

Android 8.1.0 Release 0.62

* tag 'android-8.1.0_r0.62':
  Revert "ion: ensure CMO target is valid"
  msm: ADSPRPC: Use ID in response to get context pointer
  qcacld-2.0: Fix potential buffer overwrite in the htt_t2h_lp_msg_handler
  qcacld-2.0: Add data_len check to avoid OOB access
  BACKPORT: ASN.1: fix out-of-bounds read when parsing indefinite length item
  UPSTREAM: KEYS: fix out-of-bounds read during ASN.1 parsing
  qcacld-2.0: Fix potential buffer overflow
  ion: ensure CMO target is valid
  crypto: hmac - require that the underlying hash algorithm is unkeyed
  qcacld-2.0: Move NBUF_UPDATE_TX_PKT_COUNT before freeing netbuf
  diag: dci: check signed values for negativity
  diag: Add conditional check for len in dci_process_ctrl_status()
  diag: Validate copying length against source buffer length
  mm-camera2:isp2: Handle use after free buffer
  ANDROID: Bluetooth: hidp: buffer overflow in hidp_process_report
  UPSTREAM: HID: Bluetooth: hidp: make sure input buffers are big enough
  qcacld-2.0: Remove FW memory dump feature
  BACKPORT: ipv6: fix udpv6 sendmsg crash caused by too small MTU
  UPSTREAM: ipv4, ipv6: ensure raw socket message is big enough to hold an IP header
  msm: ADSPRPC: use access_ok to validate pointers
  ASoC: wcd_cpe_core: Add mutex lock for CPE session

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-06-04 15:05:19 -07:00
Mike Maloney 04300ee215 BACKPORT: ipv6: fix udpv6 sendmsg crash caused by too small MTU
The logic in __ip6_append_data() assumes that the MTU is at least large
enough for the headers.  A device's MTU may be adjusted after being
added while sendmsg() is processing data, resulting in
__ip6_append_data() seeing any MTU.  For an mtu smaller than the size of
the fragmentation header, the math results in a negative 'maxfraglen',
which causes problems when refragmenting any previous skb in the
skb_write_queue, leaving it possibly malformed.

Instead sendmsg returns EINVAL when the mtu is calculated to be less
than IPV6_MIN_MTU.

Found by syzkaller:
kernel BUG at ./include/linux/skbuff.h:2064!
invalid opcode: 0000 [#1] SMP KASAN
Dumping ftrace buffer:
   (ftrace buffer empty)
Modules linked in:
CPU: 1 PID: 14216 Comm: syz-executor5 Not tainted 4.13.0-rc4+ #2
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
task: ffff8801d0b68580 task.stack: ffff8801ac6b8000
RIP: 0010:__skb_pull include/linux/skbuff.h:2064 [inline]
RIP: 0010:__ip6_make_skb+0x18cf/0x1f70 net/ipv6/ip6_output.c:1617
RSP: 0018:ffff8801ac6bf570 EFLAGS: 00010216
RAX: 0000000000010000 RBX: 0000000000000028 RCX: ffffc90003cce000
RDX: 00000000000001b8 RSI: ffffffff839df06f RDI: ffff8801d9478ca0
RBP: ffff8801ac6bf780 R08: ffff8801cc3f1dbc R09: 0000000000000000
R10: ffff8801ac6bf7a0 R11: 43cb4b7b1948a9e7 R12: ffff8801cc3f1dc8
R13: ffff8801cc3f1d40 R14: 0000000000001036 R15: dffffc0000000000
FS:  00007f43d740c700(0000) GS:ffff8801dc100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f7834984000 CR3: 00000001d79b9000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 ip6_finish_skb include/net/ipv6.h:911 [inline]
 udp_v6_push_pending_frames+0x255/0x390 net/ipv6/udp.c:1093
 udpv6_sendmsg+0x280d/0x31a0 net/ipv6/udp.c:1363
 inet_sendmsg+0x11f/0x5e0 net/ipv4/af_inet.c:762
 sock_sendmsg_nosec net/socket.c:633 [inline]
 sock_sendmsg+0xca/0x110 net/socket.c:643
 SYSC_sendto+0x352/0x5a0 net/socket.c:1750
 SyS_sendto+0x40/0x50 net/socket.c:1718
 entry_SYSCALL_64_fastpath+0x1f/0xbe
RIP: 0033:0x4512e9
RSP: 002b:00007f43d740bc08 EFLAGS: 00000216 ORIG_RAX: 000000000000002c
RAX: ffffffffffffffda RBX: 00000000007180a8 RCX: 00000000004512e9
RDX: 000000000000002e RSI: 0000000020d08000 RDI: 0000000000000005
RBP: 0000000000000086 R08: 00000000209c1000 R09: 000000000000001c
R10: 0000000000040800 R11: 0000000000000216 R12: 00000000004b9c69
R13: 00000000ffffffff R14: 0000000000000005 R15: 00000000202c2000
Code: 9e 01 fe e9 c5 e8 ff ff e8 7f 9e 01 fe e9 4a ea ff ff 48 89 f7 e8 52 9e 01 fe e9 aa eb ff ff e8 a8 b6 cf fd 0f 0b e8 a1 b6 cf fd <0f> 0b 49 8d 45 78 4d 8d 45 7c 48 89 85 78 fe ff ff 49 8d 85 ba
RIP: __skb_pull include/linux/skbuff.h:2064 [inline] RSP: ffff8801ac6bf570
RIP: __ip6_make_skb+0x18cf/0x1f70 net/ipv6/ip6_output.c:1617 RSP: ffff8801ac6bf570

Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: Mike Maloney <maloney@google.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 749439bfac6e1a2932c582e2699f91d329658196)

Bug: 65023306
Change-Id: I3b713621c749b7fd3a070116be8996ae2e2dd6e8
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2018-04-16 17:42:02 +00:00
Alexander Potapenko 1d6da6b5ed UPSTREAM: ipv4, ipv6: ensure raw socket message is big enough to hold an IP header
raw_send_hdrinc() and rawv6_send_hdrinc() expect that the buffer copied
from the userspace contains the IPv4/IPv6 header, so if too few bytes are
copied, parts of the header may remain uninitialized.

This bug has been detected with KMSAN.

For the record, the KMSAN report:

==================================================================
BUG: KMSAN: use of unitialized memory in nf_ct_frag6_gather+0xf5a/0x44a0
inter: 0
CPU: 0 PID: 1036 Comm: probe Not tainted 4.11.0-rc5+ #2455
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:16
 dump_stack+0x143/0x1b0 lib/dump_stack.c:52
 kmsan_report+0x16b/0x1e0 mm/kmsan/kmsan.c:1078
 __kmsan_warning_32+0x5c/0xa0 mm/kmsan/kmsan_instr.c:510
 nf_ct_frag6_gather+0xf5a/0x44a0 net/ipv6/netfilter/nf_conntrack_reasm.c:577
 ipv6_defrag+0x1d9/0x280 net/ipv6/netfilter/nf_defrag_ipv6_hooks.c:68
 nf_hook_entry_hookfn ./include/linux/netfilter.h:102
 nf_hook_slow+0x13f/0x3c0 net/netfilter/core.c:310
 nf_hook ./include/linux/netfilter.h:212
 NF_HOOK ./include/linux/netfilter.h:255
 rawv6_send_hdrinc net/ipv6/raw.c:673
 rawv6_sendmsg+0x2fcb/0x41a0 net/ipv6/raw.c:919
 inet_sendmsg+0x3f8/0x6d0 net/ipv4/af_inet.c:762
 sock_sendmsg_nosec net/socket.c:633
 sock_sendmsg net/socket.c:643
 SYSC_sendto+0x6a5/0x7c0 net/socket.c:1696
 SyS_sendto+0xbc/0xe0 net/socket.c:1664
 do_syscall_64+0x72/0xa0 arch/x86/entry/common.c:285
 entry_SYSCALL64_slow_path+0x25/0x25 arch/x86/entry/entry_64.S:246
RIP: 0033:0x436e03
RSP: 002b:00007ffce48baf38 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
RAX: ffffffffffffffda RBX: 00000000004002b0 RCX: 0000000000436e03
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000003
RBP: 00007ffce48baf90 R08: 00007ffce48baf50 R09: 000000000000001c
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000401790 R14: 0000000000401820 R15: 0000000000000000
origin: 00000000d9400053
 save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:59
 kmsan_save_stack_with_flags mm/kmsan/kmsan.c:362
 kmsan_internal_poison_shadow+0xb1/0x1a0 mm/kmsan/kmsan.c:257
 kmsan_poison_shadow+0x6d/0xc0 mm/kmsan/kmsan.c:270
 slab_alloc_node mm/slub.c:2735
 __kmalloc_node_track_caller+0x1f4/0x390 mm/slub.c:4341
 __kmalloc_reserve net/core/skbuff.c:138
 __alloc_skb+0x2cd/0x740 net/core/skbuff.c:231
 alloc_skb ./include/linux/skbuff.h:933
 alloc_skb_with_frags+0x209/0xbc0 net/core/skbuff.c:4678
 sock_alloc_send_pskb+0x9ff/0xe00 net/core/sock.c:1903
 sock_alloc_send_skb+0xe4/0x100 net/core/sock.c:1920
 rawv6_send_hdrinc net/ipv6/raw.c:638
 rawv6_sendmsg+0x2918/0x41a0 net/ipv6/raw.c:919
 inet_sendmsg+0x3f8/0x6d0 net/ipv4/af_inet.c:762
 sock_sendmsg_nosec net/socket.c:633
 sock_sendmsg net/socket.c:643
 SYSC_sendto+0x6a5/0x7c0 net/socket.c:1696
 SyS_sendto+0xbc/0xe0 net/socket.c:1664
 do_syscall_64+0x72/0xa0 arch/x86/entry/common.c:285
 return_from_SYSCALL_64+0x0/0x6a arch/x86/entry/entry_64.S:246
==================================================================

, triggered by the following syscalls:
  socket(PF_INET6, SOCK_RAW, IPPROTO_RAW) = 3
  sendto(3, NULL, 0, 0, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6, "ff00::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EPERM

A similar report is triggered in net/ipv4/raw.c if we use a PF_INET socket
instead of a PF_INET6 one.

Signed-off-by: Alexander Potapenko <glider@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 86f4c90a1c5c1493f07f2d12c1079f5bf01936f2)

Bug: 65023306
Change-Id: I19ac32e9e53e6339cd02ef0815b2552ab0c14daf
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2018-04-16 17:40:04 +00:00
Nathan Chancellor ab94de8fcf This is the 3.10.108 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJZ/kCIAAoJEE44bZycYXAvRXwQAIZY4bXFnlvl8qJZLd8GV6gT
 8FErDT14eHKBXZUe1a4TFFJ4FU/dVWfPEPJf2k/aotqjwEysxy5MhOApun12ZbF4
 nL6ahNemhNxdIRQFVKBw6HCLyqNwbeBSD3ycLd6FNio4Xxz+3UHO1hoVEbTPSGOf
 XD+100wsV3CHvoCnkmoGXH4PiD1zaNVPwJEh4Fu6yVJQPXDilszTNZgVv4oujhsZ
 zp7Si3SpttfojkOcWgyqrV7jg2ALZxagf4SZ0KbbpwM/5fKEpYtC3sDDE3HyvcVm
 CN0ApTIg7xnuaPsDMwHU9EGLVwlAZEAeiWtR2Byg1YoRQ7mEP9PfkP9xJv9YPxvP
 Ovy7CqezRFjjscVsvrWScFaVtsdYbnT9e5uw2N3yLimHEKy+37x333gLCpbr+/0c
 gsJMJMYTiq1MYUTpa+qf+rB0lQVo972+7FsjOs4ovdy+IJrpgMnKaL6U8drOns7t
 Nmyf1cZTC6YPELnEA8LiRCRsi26HHA6Tknu8Nu2/uOEjeYD0y9iVivptwDB2W35Q
 cECNGSJ85qCob73WDYB5ErGQCTwIm0PTdjzEvjCTxRooT164uhzfr0BdIWhIsdV5
 uPNnkTYj3PkDlMGHhjVARI32In/VQyuf7hsugpVPn4/wKZV3jGJ/rMugAR2eSfTn
 TFrKUsUdH0DYPZKgIhh8
 =wa9B
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAlpqfQ0ACgkQmXOSYMts
 txZ98RAAjyab1BYfLJMVklDBqzIIWnBqniRPOCReTZ3f+4KDwFVPl5wVT89DHci/
 ooIonHqI1BKKuYDIgTL7idK6vGTFo6bTpUT8FZvsjU0V3mFYySA4Yo9aC5G6nXW9
 w/dkaOpX1jtkMTukiAqENryBDs7gYXZ0sbqxnq7pgrnnDepVUStZ7ncoWYdxOADG
 E6Mirskj5fE/MHsVAenYtVmJVFDlvj6P04MT5bGL9e5EIz5CP3ekOqasdsBWj6rE
 yg1JOaH6eOsgSCsP7M9dGxYglKH9nfkJHRnlU3HbXrRdSupTRvs8zC6u9W0DDI2g
 XlrDTIM2UAM1hhRFMhly41o+8zpGHTi8puLJsNYL6bRM33V678dNrnEr/xnzNGpR
 QwC38JWJYymGTkUtW7J1T/GVlWbsF17/fJ5EBG9hSHphrtSjP0nF1i1dAo/MI6hb
 IY+MxVzO3CTZ22Bwjg9DNz56V+RUg56xy//sHSz3GoI6kuFt4tYzwNmLf0Fkj5VJ
 lEI6vDYW/YTlWFFGdNaycvVwj+uETKepx0MIPx2Xt/mY3YNPwMUA2EBfjew+6709
 cbTkn/XxcIZTzZmqKsZ/wZkDK7hKatdlxbcqI2tzidL03MfC3nK83L3YGrJnpbXd
 TU/kR3CWWFVgG574B24ssutT4nrYeHUBp+xGDcQSnwbmihig6NU=
 =pENk
 -----END PGP SIGNATURE-----

Merge 3.10.108 into android-msm-bullhead-3.10-oreo-m5

Changes in 3.10.108: (141 commits)
        ipvs: SNAT packet replies only for NATed connections
        net: reduce skb_warn_bad_offload() noise
        net: skb_needs_check() accepts CHECKSUM_NONE for tx
        Staging: comedi: comedi_fops: Avoid orphaned proc entry
        udp: consistently apply ufo or fragmentation
        Bluetooth: bnep: bnep_add_connection() should verify that it's dealing with l2cap socket
        Bluetooth: cmtp: cmtp_add_connection() should verify that it's dealing with l2cap socket
        tcp: introduce tcp_rto_delta_us() helper for xmit timer fix
        tcp: enable xmit timer fix by having TLP use time when RTO should fire
        tcp: fix xmit timer to only be reset if data ACKed/SACKed
        mm/page_alloc: Remove kernel address exposure in free_reserved_area()
        leak in O_DIRECT readv past the EOF
        usb: renesas_usbhs: fix the behavior of some usbhs_pkt_handle
        usb: renesas_usbhs: fix the sequence in xfer_work()
        usb: renesas_usbhs: Fix DMAC sequence for receiving zero-length packet
        fs/exec.c: account for argv/envp pointers
        rxrpc: Fix several cases where a padded len isn't checked in ticket decode
        xfrm: policy: check policy direction value
        nl80211: check for the required netlink attributes presence
        ALSA: seq: Fix use-after-free at creating a port
        MIPS: Send SIGILL for BPOSGE32 in `__compute_return_epc_for_insn'
        serial: ifx6x60: fix use-after-free on module unload
        KEYS: fix dereferencing NULL payload with nonzero length
        usb: chipidea: debug: check before accessing ci_role
        cpufreq: conservative: Allow down_threshold to take values from 1 to 10
        powerpc/kprobes: Pause function_graph tracing during jprobes handling
        staging: comedi: fix clean-up of comedi_class in comedi_init()
        brcmfmac: fix possible buffer overflow in brcmf_cfg80211_mgmt_tx()
        vt: fix unchecked __put_user() in tioclinux ioctls
        crypto: talitos - Extend max key length for SHA384/512-HMAC and AEAD
        PM / Domains: Fix unsafe iteration over modified list of device links
        powerpc/64: Fix atomic64_inc_not_zero() to return an int
        powerpc: Fix emulation of mfocrf in emulate_step()
        powerpc/asm: Mark cr0 as clobbered in mftb()
        usb: renesas_usbhs: fix usbhsc_resume() for !USBHSF_RUNTIME_PWCTRL
        MIPS: Actually decode JALX in `__compute_return_epc_for_insn'
        MIPS: Fix unaligned PC interpretation in `compute_return_epc'
        MIPS: math-emu: Prevent wrong ISA mode instruction emulation
        libata: array underflow in ata_find_dev()
        workqueue: restore WQ_UNBOUND/max_active==1 to be ordered
        ext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize
        ext4: fix overflow caused by missing cast in ext4_resize_fs()
        media: platform: davinci: return -EINVAL for VPFE_CMD_S_CCDC_RAW_PARAMS ioctl
        target: Avoid mappedlun symlink creation during lun shutdown
        fuse: initialize the flock flag in fuse_file on allocation
        scsi: zfcp: fix queuecommand for scsi_eh commands when DIX enabled
        scsi: zfcp: add handling for FCP_RESID_OVER to the fcp ingress path
        scsi: zfcp: fix missing trace records for early returns in TMF eh handlers
        scsi: zfcp: fix payload with full FCP_RSP IU in SCSI trace records
        scsi: zfcp: trace HBA FSF response by default on dismiss or timedout late response
        usb: renesas_usbhs: fix the BCLR setting condition for non-DCP pipe
        usb: renesas_usbhs: fix usbhsf_fifo_clear() for RX direction
        iommu/amd: Finish TLB flush in amd_iommu_unmap()
        direct-io: Prevent NULL pointer access in submit_page_section
        USB: serial: console: fix use-after-free after failed setup
        KEYS: don't let add_key() update an uninstantiated key
        FS-Cache: fix dereference of NULL user_key_payload
        ext4: keep existing extra fields when inode expands
        MIPS: Fix mips_atomic_set() retry condition
        KEYS: prevent creating a different user's keyrings
        KEYS: encrypted: fix dereference of NULL user_key_payload
        md/bitmap: disable bitmap_resize for file-backed bitmaps.
        lib/digsig: fix dereference of NULL user_key_payload
        netfilter: invoke synchronize_rcu after set the _hook_ to NULL
        md/raid10: submit bio directly to replacement disk
        md: fix super_offset endianness in super_1_rdev_size_change
        lib/cmdline.c: fix get_options() overflow while parsing ranges
        ext4: fix SEEK_HOLE
        net: prevent sign extension in dev_get_stats()
        kernel/extable.c: mark core_kernel_text notrace
        wext: handle NULL extra data in iwe_stream_add_point better
        netfilter: nf_ct_ext: fix possible panic after nf_ct_extend_unregister
        ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets
        ext4: avoid deadlock when expanding inode size
        sctp: don't dereference ptr before leaving _sctp_walk_{params, errors}()
        sctp: fix the check for _sctp_walk_params and _sctp_walk_errors
        sctp: fully initialize the IPv6 address in sctp_v6_to_addr()
        sctp: potential read out of bounds in sctp_ulpevent_type_enabled()
        tcp: disallow cwnd undo when switching congestion control
        netfilter: xt_TCPMSS: add more sanity tests on tcph->doff
        tcp: reset sk_rx_dst in tcp_disconnect()
        tcp: avoid setting cwnd to invalid ssthresh after cwnd reduction states
        tcp: when rearming RTO, if RTO time is in past then fire RTO ASAP
        tcp: initialize rcv_mss to TCP_MIN_MSS instead of 0
        net/packet: check length in getsockopt() called with PACKET_HDRLEN
        net: Set sk_prot_creator when cloning sockets to the right proto
        net/mlx4_core: Fix VF overwrite of module param which disables DMFS on new probed PFs
        net: 8021q: Fix one possible panic caused by BUG_ON in free_netdev
        x86/io: Add "memory" clobber to insb/insw/insl/outsb/outsw/outsl
        kvm: async_pf: fix rcu_irq_enter() with irqs enabled
        net: ping: do not abuse udp_poll()
        scsi: qla2xxx: don't disable a not previously enabled PCI device
        drm/vmwgfx: Handle vmalloc() failure in vmw_local_fifo_reserve()
        net: xilinx_emaclite: fix receive buffer overflow
        serial: efm32: Fix parity management in 'efm32_uart_console_get_options()'
        x86/mm/32: Set the '__vmalloc_start_set' flag in initmem_init()
        mfd: omap-usb-tll: Fix inverted bit use for USB TLL mode
        pvrusb2: reduce stack usage pvr2_eeprom_analyze()
        usb: r8a66597-hcd: select a different endpoint on timeout
        usb: r8a66597-hcd: decrease timeout
        drivers/misc/c2port/c2port-duramar2150.c: checking for NULL instead of IS_ERR()
        net: phy: fix marvell phy status reading
        net: korina: Fix NAPI versus resources freeing
        xfrm: NULL dereference on allocation failure
        xfrm: Oops on error in pfkey_msg2xfrm_state()
        cpufreq: s3c2416: double free on driver init error path
        KVM: x86: zero base3 of unusable segments
        KEYS: Fix an error code in request_master_key()
        ipv6: avoid unregistering inet6_dev for loopback
        cfg80211: Validate frequencies nested in NL80211_ATTR_SCAN_FREQUENCIES
        cfg80211: Check if PMKID attribute is of expected size
        mm: fix overflow check in expand_upwards()
        crypto: caam - fix signals handling
        ir-core: fix gcc-7 warning on bool arithmetic
        udf: Fix deadlock between writeback and udf_setsize()
        perf annotate: Fix broken arrow at row 0 connecting jmp instruction to its target
        net/mlx4: Remove BUG_ON from ICM allocation routine
        ipv4: initialize fib_trie prior to register_netdev_notifier call.
        workqueue: implicit ordered attribute should be overridable
        packet: fix tp_reserve race in packet_set_ring
        staging:iio:resolver:ad2s1210 fix negative IIO_ANGL_VEL read
        ALSA: core: Fix unexpected error at replacing user TLV
        ACPI / APEI: Add missing synchronize_rcu() on NOTIFY_SCI removal
        qlge: avoid memcpy buffer overflow
        ipv6: fix memory leak with multiple tables during netns destruction
        ipv6: fix typo in fib6_net_exit()
        ip6_gre: fix endianness errors in ip6gre_err
        crypto: AF_ALG - remove SGL terminator indicator when chaining
        scsi: qla2xxx: Fix an integer overflow in sysfs code
        tracing: Apply trace_clock changes to instance max buffer
        tracing: Erase irqsoff trace with empty write
        btrfs: prevent to set invalid default subvolid
        IB/ipoib: rtnl_unlock can not come after free_netdev
        team: fix memory leaks
        IB/qib: fix false-postive maybe-uninitialized warning
        KVM: nVMX: fix guest CR4 loading when emulating L2 to L1 exit
        usb: gadget: composite: Fix use-after-free in usb_composite_overwrite_options
        scsi: scsi_dh_emc: return success in clariion_std_inquiry()
        can: esd_usb2: Fix can_dlc value for received RTR, frames
        x86/apic: fix build breakage caused by incomplete backport to 3.10
        Linux 3.10.108

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-01-25 17:57:49 -07:00
Nathan Chancellor 8eef28437c This is the 3.10.107 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJZUiosAAoJEE44bZycYXAvcHYP/1OKMYQB/3G7GfEhMXdlpV31
 VjdzUg5X1JOE60anYNopvWQJgDFXMy9mTceUI3axDkfYb5iDFUpRBFEh70ggDL04
 bGB/J4n2Linjkj35u+S5P3fK6qBfg9+VDpTfUYPZGB5YjOjmaD06E8InBF8iUuC3
 6pkMtQKOptmKOc2hw84PsB3qm9ER2MMa92Lrs1rtcOihEqQMyKjkI/kzogs8XGje
 5gMt31VweScZed3d7i1r9tl/DTmzGcpEyVpz/x8gI7Xwi69FeeLy6cWbhK0VOsLA
 u7ul9mDa77bUC/jpBzJmIkS8fhzaTyUw8NQbtol9RSSIfzb+mvXyx9Vr7o4LYK2B
 P6AekC16x6R8KUED1hfxKdagguRACDfKf91bMAxDCN/PXqITVbk3RxxxH6wHAvOx
 Ihf4G5h800/ks6X1oMBYZcbFFbNCUHZjyL7V1M/iy1TrKuRhEtou4Ft3X+gOauLS
 CG8VR9Jo1/BAvMaJmy5Hg9RPNoxEMstDi6x3ugD0wH57XHSZ5QmFMBzCbuWR6hWM
 q1DvBK/I54BXlsdYU9WySn1hm2gKCNPZ+zGzLTo1l426vme+YjhC5911V7Tv+WHm
 lc5FTXWtXGhoAZuNSIGDrlv3Dyq44iMNrqXrhlPmJjWD3Hx4hFGGp2GyHOpK+5+7
 7egPk9m1WrhUKzA9m1/M
 =InCr
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAlpqfQUACgkQmXOSYMts
 txZNghAApD/SW4fTOx6RZFCPVjAP70FfXvZsQYf3Zfp44Ytm2Kax3GIABPuknlI+
 IZRAPnXb6KP8DNDdCyGcJ0avI5uw96sXyeZWlDZyeS1WHHizJq3+BLB09zzdegSk
 K1dJrobXCYNESmcQMT5diGwqLYkdOs3hh7Ehqut29njwCzVzNG3n43H9F15o9cUZ
 6lAM8/Zb6ai+0KgVgwC40QJneVltDEFfXVr6wo/IJXnYNaRCPKQM5lsG09pxxopG
 NVSsmUyeJI5bPWEm5vbuBL2JVhaCcMtTfAPHflqbtykE8eSVEWdTeCWPuGWcATB+
 2sGp3cVR2W7+4CHpbcnrXolmP/OI3jXHbG1LvyRqg4Iw1jgtZ8wwjCEkdsPz3fED
 g2+EtSYl/NLW7N8P4KQV9jzihYIfELBj9HQsEs5aPOstyjyxl12RxJvjw835v5ts
 oa7qKQAHIwZsuaB34qK+DjI5coNeKRvDMy5mm0GL3TqmLLFEzSVpaTceGpdvNLi0
 6k3RkuJzU0TwAoTShWyYu6AbV+8aHniBQbjzYs5sufRgDy9pjnfWzDqtUM+chTsm
 WaxwhpHdpOomwAfZr8/Zaf0xIxP/M99SFKevntE04Ft93P8dKuLqFcNAjQkMdibY
 UHrJ67nBllmDtlH8yGO9j4FD89O0QaBX4J3qGyIu5eE73/iibvo=
 =J7vi
 -----END PGP SIGNATURE-----

Merge 3.10.107 into android-msm-bullhead-3.10-oreo-m5

Changes in 3.10.107: (270 commits)
        Revert "Btrfs: don't delay inode ref updates during log, replay"
        Btrfs: fix memory leak in reading btree blocks
        ext4: use more strict checks for inodes_per_block on mount
        ext4: fix in-superblock mount options processing
        ext4: add sanity checking to count_overhead()
        ext4: validate s_first_meta_bg at mount time
        jbd2: don't leak modified metadata buffers on an aborted journal
        ext4: fix fencepost in s_first_meta_bg validation
        ext4: trim allocation requests to group size
        ext4: preserve the needs_recovery flag when the journal is aborted
        ext4: return EROFS if device is r/o and journal replay is needed
        ext4: fix inode checksum calculation problem if i_extra_size is small
        block: fix use-after-free in sys_ioprio_get()
        block: allow WRITE_SAME commands with the SG_IO ioctl
        block: fix del_gendisk() vs blkdev_ioctl crash
        dm crypt: mark key as invalid until properly loaded
        dm space map metadata: fix 'struct sm_metadata' leak on failed create
        md/raid5: limit request size according to implementation limits
        md:raid1: fix a dead loop when read from a WriteMostly disk
        md linear: fix a race between linear_add() and linear_congested()
        CIFS: Fix a possible memory corruption during reconnect
        CIFS: Fix missing nls unload in smb2_reconnect()
        CIFS: Fix a possible memory corruption in push locks
        CIFS: remove bad_network_name flag
        fs/cifs: make share unaccessible at root level mountable
        cifs: Do not send echoes before Negotiate is complete
        ocfs2: fix crash caused by stale lvb with fsdlm plugin
        ocfs2: fix BUG_ON() in ocfs2_ci_checkpointed()
        can: raw: raw_setsockopt: limit number of can_filter that can be set
        can: peak: fix bad memory access and free sequence
        can: c_can_pci: fix null-pointer-deref in c_can_start() - set device pointer
        can: ti_hecc: add missing prepare and unprepare of the clock
        can: bcm: fix hrtimer/tasklet termination in bcm op removal
        can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer
        ALSA: hda - Fix up GPIO for ASUS ROG Ranger
        ALSA: seq: Fix race at creating a queue
        ALSA: seq: Don't handle loop timeout at snd_seq_pool_done()
        ALSA: timer: Reject user params with too small ticks
        ALSA: seq: Fix link corruption by event error handling
        ALSA: seq: Fix racy cell insertions during snd_seq_pool_done()
        ALSA: seq: Fix race during FIFO resize
        ALSA: seq: Don't break snd_use_lock_sync() loop by timeout
        ALSA: usb-audio: Add QuickCam Communicate Deluxe/S7500 to volume_control_quirks
        usb: gadgetfs: restrict upper bound on device configuration size
        USB: gadgetfs: fix unbounded memory allocation bug
        USB: gadgetfs: fix use-after-free bug
        USB: gadgetfs: fix checks of wTotalLength in config descriptors
        xhci: free xhci virtual devices with leaf nodes first
        USB: serial: io_ti: bind to interface after fw download
        usb: gadget: composite: always set ep->mult to a sensible value
        USB: cdc-acm: fix double usb_autopm_put_interface() in acm_port_activate()
        USB: cdc-acm: fix open and suspend race
        USB: cdc-acm: fix failed open not being detected
        usb: dwc3: gadget: make Set Endpoint Configuration macros safe
        usb: host: xhci-plat: Fix timeout on removal of hot pluggable xhci controllers
        usb: dwc3: gadget: delay unmap of bounced requests
        usb: hub: Wait for connection to be reestablished after port reset
        usb: gadget: composite: correctly initialize ep->maxpacket
        USB: UHCI: report non-PME wakeup signalling for Intel hardware
        arm/xen: Use alloc_percpu rather than __alloc_percpu
        xfs: set AGI buffer type in xlog_recover_clear_agi_bucket
        xfs: clear _XBF_PAGES from buffers when readahead page
        ssb: Fix error routine when fallback SPROM fails
        drivers/gpu/drm/ast: Fix infinite loop if read fails
        scsi: avoid a permanent stop of the scsi device's request queue
        scsi: move the nr_phys_segments assert into scsi_init_io
        scsi: don't BUG_ON() empty DMA transfers
        scsi: storvsc: properly handle SRB_ERROR when sense message is present
        scsi: storvsc: properly set residual data length on errors
        target/pscsi: Fix TYPE_TAPE + TYPE_MEDIMUM_CHANGER export
        scsi: lpfc: Add shutdown method for kexec
        scsi: sr: Sanity check returned mode data
        scsi: sd: Fix capacity calculation with 32-bit sector_t
        s390/vmlogrdr: fix IUCV buffer allocation
        libceph: verify authorize reply on connect
        nfs_write_end(): fix handling of short copies
        powerpc/ps3: Fix system hang with GCC 5 builds
        sg_write()/bsg_write() is not fit to be called under KERNEL_DS
        ftrace/x86: Set ftrace_stub to weak to prevent gcc from using short jumps to it
        cred/userns: define current_user_ns() as a function
        net: ti: cpmac: Fix compiler warning due to type confusion
        tick/broadcast: Prevent NULL pointer dereference
        netvsc: reduce maximum GSO size
        drop_monitor: add missing call to genlmsg_end
        drop_monitor: consider inserted data in genlmsg_end
        igmp: Make igmp group member RFC 3376 compliant
        HID: hid-cypress: validate length of report
        Input: xpad - use correct product id for x360w controllers
        Input: i8042 - add noloop quirk for Dell Embedded Box PC 3000
        Input: iforce - validate number of endpoints before using them
        Input: kbtab - validate number of endpoints before using them
        Input: joydev - do not report stale values on first open
        Input: tca8418 - use the interrupt trigger from the device tree
        Input: mpr121 - handle multiple bits change of status register
        Input: mpr121 - set missing event capability
        Input: i8042 - add Clevo P650RS to the i8042 reset list
        i2c: fix kernel memory disclosure in dev interface
        vme: Fix wrong pointer utilization in ca91cx42_slave_get
        sysrq: attach sysrq handler correctly for 32-bit kernel
        pinctrl: sh-pfc: Do not unconditionally support PIN_CONFIG_BIAS_DISABLE
        x86/PCI: Ignore _CRS on Supermicro X8DTH-i/6/iF/6F
        qla2xxx: Fix crash due to null pointer access
        ARM: 8634/1: hw_breakpoint: blacklist Scorpion CPUs
        ARM: dts: da850-evm: fix read access to SPI flash
        NFSv4: Ensure nfs_atomic_open set the dentry verifier on ENOENT
        vmxnet3: Wake queue from reset work
        Fix memory leaks in cifs_do_mount()
        Compare prepaths when comparing superblocks
        Move check for prefix path to within cifs_get_root()
        Fix regression which breaks DFS mounting
        apparmor: fix uninitialized lsm_audit member
        apparmor: exec should not be returning ENOENT when it denies
        apparmor: fix disconnected bind mnts reconnection
        apparmor: internal paths should be treated as disconnected
        apparmor: check that xindex is in trans_table bounds
        apparmor: add missing id bounds check on dfa verification
        apparmor: don't check for vmalloc_addr if kvzalloc() failed
        apparmor: fix oops in profile_unpack() when policy_db is not present
        apparmor: fix module parameters can be changed after policy is locked
        apparmor: do not expose kernel stack
        vfio/pci: Fix integer overflows, bitmask check
        bna: Add synchronization for tx ring.
        sg: Fix double-free when drives detach during SG_IO
        move the call of __d_drop(anon) into __d_materialise_unique(dentry, anon)
        serial: 8250_pci: Detach low-level driver during PCI error recovery
        bnx2x: Correct ringparam estimate when DOWN
        tile/ptrace: Preserve previous registers for short regset write
        sysctl: fix proc_doulongvec_ms_jiffies_minmax()
        ISDN: eicon: silence misleading array-bounds warning
        ARC: [arcompact] handle unaligned access delay slot corner case
        parisc: Don't use BITS_PER_LONG in userspace-exported swab.h header
        nfs: Don't increment lock sequence ID after NFS4ERR_MOVED
        ipv6: addrconf: Avoid addrconf_disable_change() using RCU read-side lock
        af_unix: move unix_mknod() out of bindlock
        drm/nouveau/nv1a,nv1f/disp: fix memory clock rate retrieval
        crypto: api - Clear CRYPTO_ALG_DEAD bit before registering an alg
        ata: sata_mv:- Handle return value of devm_ioremap.
        mm/memory_hotplug.c: check start_pfn in test_pages_in_a_zone()
        mm, fs: check for fatal signals in do_generic_file_read()
        ARC: [arcompact] brown paper bag bug in unaligned access delay slot fixup
        sched/debug: Don't dump sched debug info in SysRq-W
        tcp: fix 0 divide in __tcp_select_window()
        macvtap: read vnet_hdr_size once
        packet: round up linear to header len
        vfs: fix uninitialized flags in splice_to_pipe()
        siano: make it work again with CONFIG_VMAP_STACK
        futex: Move futex_init() to core_initcall
        rtc: interface: ignore expired timers when enqueuing new timers
        irda: Fix lockdep annotations in hashbin_delete().
        tty: serial: msm: Fix module autoload
        rtlwifi: rtl_usb: Fix for URB leaking when doing ifconfig up/down
        af_packet: remove a stray tab in packet_set_ring()
        MIPS: Fix special case in 64 bit IP checksumming.
        mm: vmpressure: fix sending wrong events on underflow
        ipc/shm: Fix shmat mmap nil-page protection
        sd: get disk reference in sd_check_events()
        samples/seccomp: fix 64-bit comparison macros
        ath5k: drop bogus warning on drv_set_key with unsupported cipher
        rdma_cm: fail iwarp accepts w/o connection params
        NFSv4: fix getacl ERANGE for some ACL buffer sizes
        bcma: use (get|put)_device when probing/removing device driver
        powerpc/xmon: Fix data-breakpoint
        KVM: VMX: use correct vmcs_read/write for guest segment selector/base
        KVM: PPC: Book3S PR: Fix illegal opcode emulation
        KVM: s390: fix task size check
        s390: TASK_SIZE for kernel threads
        xtensa: move parse_tag_fdt out of #ifdef CONFIG_BLK_DEV_INITRD
        mac80211: flush delayed work when entering suspend
        drm/ast: Fix test for VGA enabled
        drm/ttm: Make sure BOs being swapped out are cacheable
        fat: fix using uninitialized fields of fat_inode/fsinfo_inode
        drivers: hv: Turn off write permission on the hypercall page
        xhci: fix 10 second timeout on removal of PCI hotpluggable xhci controllers
        crypto: improve gcc optimization flags for serpent and wp512
        mtd: pmcmsp: use kstrndup instead of kmalloc+strncpy
        cpmac: remove hopeless #warning
        mvsas: fix misleading indentation
        l2tp: avoid use-after-free caused by l2tp_ip_backlog_recv
        net: don't call strlen() on the user buffer in packet_bind_spkt()
        dccp: Unlock sock before calling sk_free()
        tcp: fix various issues for sockets morphing to listen state
        uapi: fix linux/packet_diag.h userspace compilation error
        ipv6: avoid write to a possibly cloned skb
        dccp: fix memory leak during tear-down of unsuccessful connection request
        futex: Fix potential use-after-free in FUTEX_REQUEUE_PI
        futex: Add missing error handling to FUTEX_REQUEUE_PI
        give up on gcc ilog2() constant optimizations
        cancel the setfilesize transation when io error happen
        crypto: ghash-clmulni - Fix load failure
        crypto: cryptd - Assign statesize properly
        ACPI / video: skip evaluating _DOD when it does not exist
        Drivers: hv: balloon: don't crash when memory is added in non-sorted order
        s390/pci: fix use after free in dma_init
        cpufreq: Fix and clean up show_cpuinfo_cur_freq()
        igb: Workaround for igb i210 firmware issue
        igb: add i211 to i210 PHY workaround
        ipv4: provide stronger user input validation in nl_fib_input()
        tcp: initialize icsk_ack.lrcvtime at session start time
        ACM gadget: fix endianness in notifications
        mmc: sdhci: Do not disable interrupts while waiting for clock
        uvcvideo: uvc_scan_fallback() for webcams with broken chain
        fbcon: Fix vc attr at deinit
        crypto: algif_hash - avoid zero-sized array
        virtio_balloon: init 1st buffer in stats vq
        c6x/ptrace: Remove useless PTRACE_SETREGSET implementation
        sparc/ptrace: Preserve previous registers for short regset write
        metag/ptrace: Preserve previous registers for short regset write
        metag/ptrace: Provide default TXSTATUS for short NT_PRSTATUS
        metag/ptrace: Reject partial NT_METAG_RPIPE writes
        libceph: force GFP_NOIO for socket allocations
        ACPI: Fix incompatibility with mcount-based function graph tracing
        ACPI / power: Avoid maybe-uninitialized warning
        rtc: s35390a: make sure all members in the output are set
        rtc: s35390a: implement reset routine as suggested by the reference
        rtc: s35390a: improve irq handling
        padata: avoid race in reordering
        HID: hid-lg: Fix immediate disconnection of Logitech Rumblepad 2
        HID: i2c-hid: Add sleep between POWER ON and RESET
        drm/vmwgfx: NULL pointer dereference in vmw_surface_define_ioctl()
        drm/vmwgfx: avoid calling vzalloc with a 0 size in vmw_get_cap_3d_ioctl()
        drm/vmwgfx: Remove getparam error message
        drm/vmwgfx: fix integer overflow in vmw_surface_define_ioctl()
        Reset TreeId to zero on SMB2 TREE_CONNECT
        metag/usercopy: Drop unused macros
        metag/usercopy: Zero rest of buffer from copy_from_user
        powerpc: Don't try to fix up misaligned load-with-reservation instructions
        mm/mempolicy.c: fix error handling in set_mempolicy and mbind.
        mtd: bcm47xxpart: fix parsing first block after aligned TRX
        net/packet: fix overflow in check for priv area size
        x86/vdso: Plug race between mapping and ELF header setup
        iscsi-target: Fix TMR reference leak during session shutdown
        iscsi-target: Drop work-around for legacy GlobalSAN initiator
        xen, fbfront: fix connecting to backend
        char: lack of bool string made CONFIG_DEVPORT always on
        platform/x86: acer-wmi: setup accelerometer when machine has appropriate notify event
        platform/x86: acer-wmi: setup accelerometer when ACPI device was found
        mm: Tighten x86 /dev/mem with zeroing reads
        virtio-console: avoid DMA from stack
        catc: Combine failure cleanup code in catc_probe()
        catc: Use heap buffer for memory size test
        net: ipv6: check route protocol when deleting routes
        Drivers: hv: don't leak memory in vmbus_establish_gpadl()
        Drivers: hv: get rid of timeout in vmbus_open()
        ubi/upd: Always flush after prepared for an update
        x86/mce/AMD: Give a name to MCA bank 3 when accessed with legacy MSRs
        powerpc: Reject binutils 2.24 when building little endian
        net/packet: fix overflow in check for tp_frame_nr
        net/packet: fix overflow in check for tp_reserve
        tty: nozomi: avoid a harmless gcc warning
        hostap: avoid uninitialized variable use in hfa384x_get_rid
        gfs2: avoid uninitialized variable warning
        net: neigh: guard against NULL solicit() method
        sctp: listen on the sock only when it's state is listening or closed
        ip6mr: fix notification device destruction
        MIPS: Fix crash registers on non-crashing CPUs
        RDS: Fix the atomicity for congestion map update
        xen/x86: don't lose event interrupts
        p9_client_readdir() fix
        nfsd: check for oversized NFSv2/v3 arguments
        ftrace/x86: Fix triple fault with graph tracing and suspend-to-ram
        kvm: nVMX: Allow L1 to intercept software exceptions (#BP and #OF)
        tun: read vnet_hdr_sz once
        printk: use rcuidle console tracepoint
        ipv6: check raw payload size correctly in ioctl
        x86: standardize mmap_rnd() usage
        x86/mm/32: Enable full randomization on i386 and X86_32
        mm: larger stack guard gap, between vmas
        mm: fix new crash in unmapped_area_topdown()
        Allow stack to grow up to address space limit
        Linux 3.10.107

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	arch/x86/mm/mmap.c
	drivers/mmc/host/sdhci.c
	drivers/usb/host/xhci-plat.c
	fs/ext4/super.c
	kernel/sched/core.c
2018-01-25 17:57:41 -07:00
Nathan Chancellor 8ca93b4c05 This is the 3.10.106 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJZQspmAAoJEE44bZycYXAvLXMP/3Uqx7K7dGjHvvhGA4DhnzSp
 bGLpjeP1sXXnnd932PN+qkGbl2j/NPjS74DobDqGWnrwxKRzQ21F4YkWJGtb4Pe2
 JKcY7y2rbKGcwhpS9qDMkSWuaUKJWF5MAsH08LnCWqlGphGwAH/uPTdqS4iI/CJM
 aQvaaITe5SVzvpvpyoCVdHqu8K+Ukraf91mvt7hlmrn9OnqO9us9MWulw5sSXQcd
 pM8ZbRkBDE5OFeVnPKJDBY+cR2ML41wekMMwvJWt7uRyrX2i5c7oQVXYoeYE4MKx
 Pueb7aG7LQwBUzNJCiZA6PAEFQPwNPCoxHZbAax0D6/JyDWOZukappquzjd6gLDM
 +U7mxeFTeNZJ5v9tUcUIOb4GaaFcccS3wdDP23V2N8iM88hFVwJn0RSy/pksX37+
 ZNDiEyDeJBjz3kh/Kf40zhFIIrABMozFeX3tpSRVVqXb+T6P9l8Y88O2LGY5FCXK
 QBbAC+jC4X4YI+4v+QWImg9mkfTwzZyjyAlfyjPlHVSK9KDP9M6LXpr2+jKS7jOc
 ievMOh9ku0HIVuSWGUKZSqjvcF01Bh99tFlX+KqipomwNTwa4hKCLmnOVflF1BPE
 8sfD9hvenA0e949kXrURUmqpg6Ujkrbb/lXuD7e2CakCu+XjEMf317R11TyTsHNG
 10hsmPsGDVcwbyFOFHS3
 =mvzl
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAlpqfEUACgkQmXOSYMts
 txbJOQ/+Pce1eBSgjESWKuz0OP9BfAe9RpWFi7lBZ/EgRwJVYEx6jau9EYXAQ7YT
 roCIsV6eufhMplYGHJz6EHxK2Hieb1zG9ooX9ss9GxiB6qmqeqC0Slm9EQE15yGT
 px3fVz9r86edqjtj7UKK0/n8DJUaFh5LWOymLD3d3/115RYQsl/GowugH9F79PvN
 pR+OyXq7srtfCmwdhZ65012Ef10RXqBRv0fCYBH6r+jkMqb7uSDFzdR39Z7k3QFk
 AM4+3lTm6EEZ4xZkcMyX3GuQWslpPAlvFdEx43TjdCbseXAqURoppmxvz+Izum75
 fy0oOdKl5OSpyZArRkUfZ0MnL6BHGcKxwYV4u1LupwvqPyaUT4yiT5VEUdy9EqJo
 Syrr0oSR2lrXqQESdxKkmOZVXyul0nF3Fh1p5QlU1/Id9oskMLYqcXegFyhr2Wyp
 +A4ZozljEQ4AGm4dYFdH3w8TcNDttjztYoKf8OXnaCOj3p/SEq84tk4Hm3vpoPvh
 5OzsZC3UB9gJ1mXsKOVKLJFCPzmg61KOvwhopfAcC6cyiIIf/MPCneZeOzsavtQX
 J+atSNcLVNE3jmrXvUrwxSpZ3KCc3Ti5Q8pD9ni6/B6st2+LO8EXPrS6n2+28nvu
 hVpjyCXLbghdmn1mjOGW9lvMQEg/Dupj/ocpCPHJnXpbpM8Mcjo=
 =3eAv
 -----END PGP SIGNATURE-----

Merge 3.10.106 into android-msm-bullhead-3.10-oreo-m5

Changes in 3.10.106: (252 commits)
        packet: fix race condition in packet_set_ring
        crypto: crypto_memneq - add equality testing of memory regions w/o timing leaks
        EVM: Use crypto_memneq() for digest comparisons
        libceph: don't set weight to IN when OSD is destroyed
        KVM: x86: fix emulation of "MOV SS, null selector"
        KVM: x86: Introduce segmented_write_std
        posix_acl: Clear SGID bit when setting file permissions
        tmpfs: clear S_ISGID when setting posix ACLs
        fbdev: color map copying bounds checking
        selinux: fix off-by-one in setprocattr
        tcp: avoid infinite loop in tcp_splice_read()
        xfrm_user: validate XFRM_MSG_NEWAE XFRMA_REPLAY_ESN_VAL replay_window
        xfrm_user: validate XFRM_MSG_NEWAE incoming ESN size harder
        KEYS: Disallow keyrings beginning with '.' to be joined as session keyrings
        KEYS: Change the name of the dead type to ".dead" to prevent user access
        KEYS: fix keyctl_set_reqkey_keyring() to not leak thread keyrings
        ext4: fix data exposure after a crash
        locking/rtmutex: Prevent dequeue vs. unlock race
        m68k: Fix ndelay() macro
        hotplug: Make register and unregister notifier API symmetric
        Btrfs: fix tree search logic when replaying directory entry deletes
        USB: serial: kl5kusb105: fix open error path
        block_dev: don't test bdev->bd_contains when it is not stable
        crypto: caam - fix AEAD givenc descriptors
        ext4: fix mballoc breakage with 64k block size
        ext4: fix stack memory corruption with 64k block size
        ext4: reject inodes with negative size
        ext4: return -ENOMEM instead of success
        f2fs: set ->owner for debugfs status file's file_operations
        block: protect iterate_bdevs() against concurrent close
        scsi: zfcp: fix use-after-"free" in FC ingress path after TMF
        scsi: zfcp: do not trace pure benign residual HBA responses at default level
        scsi: zfcp: fix rport unblock race with LUN recovery
        ftrace/x86_32: Set ftrace_stub to weak to prevent gcc from using short jumps to it
        IB/mad: Fix an array index check
        IB/multicast: Check ib_find_pkey() return value
        powerpc: Convert cmp to cmpd in idle enter sequence
        usb: gadget: composite: Test get_alt() presence instead of set_alt()
        USB: serial: omninet: fix NULL-derefs at open and disconnect
        USB: serial: quatech2: fix sleep-while-atomic in close
        USB: serial: pl2303: fix NULL-deref at open
        USB: serial: keyspan_pda: verify endpoints at probe
        USB: serial: spcp8x5: fix NULL-deref at open
        USB: serial: io_ti: fix NULL-deref at open
        USB: serial: io_ti: fix another NULL-deref at open
        USB: serial: iuu_phoenix: fix NULL-deref at open
        USB: serial: garmin_gps: fix memory leak on failed URB submit
        USB: serial: ti_usb_3410_5052: fix NULL-deref at open
        USB: serial: io_edgeport: fix NULL-deref at open
        USB: serial: oti6858: fix NULL-deref at open
        USB: serial: cyberjack: fix NULL-deref at open
        USB: serial: kobil_sct: fix NULL-deref in write
        USB: serial: mos7840: fix NULL-deref at open
        USB: serial: mos7720: fix NULL-deref at open
        USB: serial: mos7720: fix use-after-free on probe errors
        USB: serial: mos7720: fix parport use-after-free on probe errors
        USB: serial: mos7720: fix parallel probe
        usb: xhci-mem: use passed in GFP flags instead of GFP_KERNEL
        usb: musb: Fix trying to free already-free IRQ 4
        ALSA: usb-audio: Fix bogus error return in snd_usb_create_stream()
        USB: serial: kl5kusb105: abort on open exception path
        staging: iio: ad7606: fix improper setting of oversampling pins
        usb: dwc3: gadget: always unmap EP0 requests
        cris: Only build flash rescue image if CONFIG_ETRAX_AXISFLASHMAP is selected
        hwmon: (ds620) Fix overflows seen when writing temperature limits
        clk: clk-wm831x: fix a logic error
        iommu/amd: Fix the left value check of cmd buffer
        scsi: mvsas: fix command_active typo
        target/iscsi: Fix double free in lio_target_tiqn_addtpg()
        mmc: mmc_test: Uninitialized return value
        powerpc/pci/rpadlpar: Fix device reference leaks
        ser_gigaset: return -ENOMEM on error instead of success
        net, sched: fix soft lockup in tc_classify
        net: stmmac: Fix race between stmmac_drv_probe and stmmac_open
        gro: Enter slow-path if there is no tailroom
        gro: use min_t() in skb_gro_reset_offset()
        gro: Disable frag0 optimization on IPv6 ext headers
        powerpc: Fix build warning on 32-bit PPC
        Input: i8042 - add Pegatron touchpad to noloop table
        mm/hugetlb.c: fix reservation race when freeing surplus pages
        USB: serial: kl5kusb105: fix line-state error handling
        USB: serial: ch341: fix initial modem-control state
        USB: serial: ch341: fix open error handling
        USB: serial: ch341: fix control-message error handling
        USB: serial: ch341: fix open and resume after B0
        USB: serial: ch341: fix resume after reset
        USB: serial: ch341: fix modem-control and B0 handling
        x86/cpu: Fix bootup crashes by sanitizing the argument of the 'clearcpuid=' command-line option
        NFSv4.1: nfs4_fl_prepare_ds must be careful about reporting success.
        powerpc/ibmebus: Fix further device reference leaks
        powerpc/ibmebus: Fix device reference leaks in sysfs interface
        IB/mlx4: Set traffic class in AH
        IB/mlx4: Fix port query for 56Gb Ethernet links
        perf scripting: Avoid leaking the scripting_context variable
        ARM: dts: imx31: fix clock control module interrupts description
        svcrpc: don't leak contexts on PROC_DESTROY
        mmc: mxs-mmc: Fix additional cycles after transmission stop
        mtd: nand: xway: disable module support
        ubifs: Fix journal replay wrt. xattr nodes
        arm64/ptrace: Preserve previous registers for short regset write
        arm64/ptrace: Avoid uninitialised struct padding in fpr_set()
        arm64/ptrace: Reject attempts to set incomplete hardware breakpoint fields
        ARM: ux500: fix prcmu_is_cpu_in_wfi() calculation
        ite-cir: initialize use_demodulator before using it
        fuse: do not use iocb after it may have been freed
        crypto: caam - fix non-hmac hashes
        drm/i915: Don't leak edid in intel_crt_detect_ddc()
        s5k4ecgx: select CRC32 helper
        platform/x86: intel_mid_powerbtn: Set IRQ_ONESHOT
        net: fix harmonize_features() vs NETIF_F_HIGHDMA
        tcp: initialize max window for a new fastopen socket
        svcrpc: fix oops in absence of krb5 module
        ARM: 8643/3: arm/ptrace: Preserve previous registers for short regset write
        mac80211: Fix adding of mesh vendor IEs
        scsi: zfcp: fix use-after-free by not tracing WKA port open/close on failed send
        drm/i915: fix use-after-free in page_flip_completed()
        net: use a work queue to defer net_disable_timestamp() work
        ipv4: keep skb->dst around in presence of IP options
        netlabel: out of bound access in cipso_v4_validate()
        ip6_gre: fix ip6gre_err() invalid reads
        ping: fix a null pointer dereference
        l2tp: do not use udp_ioctl()
        packet: fix races in fanout_add()
        packet: Do not call fanout_release from atomic contexts
        net: socket: fix recvmmsg not returning error from sock_error
        USB: serial: mos7840: fix another NULL-deref at open
        USB: serial: ftdi_sio: fix modem-status error handling
        USB: serial: ftdi_sio: fix extreme low-latency setting
        USB: serial: ftdi_sio: fix line-status over-reporting
        USB: serial: spcp8x5: fix modem-status handling
        USB: serial: opticon: fix CTS retrieval at open
        USB: serial: ark3116: fix register-accessor error handling
        x86/platform/goldfish: Prevent unconditional loading
        goldfish: Sanitize the broken interrupt handler
        ocfs2: do not write error flag to user structure we cannot copy from/to
        mfd: pm8921: Potential NULL dereference in pm8921_remove()
        drm/nv50/disp: min/max are reversed in nv50_crtc_gamma_set()
        net: 6lowpan: fix lowpan_header_create non-compression memcpy call
        vti4: Don't count header length twice.
        net/sched: em_meta: Fix 'meta vlan' to correctly recognize zero VID frames
        MIPS: OCTEON: Fix copy_from_user fault handling for large buffers
        MIPS: Clear ISA bit correctly in get_frame_info()
        MIPS: Prevent unaligned accesses during stack unwinding
        MIPS: Fix get_frame_info() handling of microMIPS function size
        MIPS: Fix is_jump_ins() handling of 16b microMIPS instructions
        MIPS: Calculate microMIPS ra properly when unwinding the stack
        MIPS: Handle microMIPS jumps in the same way as MIPS32/MIPS64 jumps
        uvcvideo: Fix a wrong macro
        scsi: aacraid: Reorder Adapter status check
        ath9k: use correct OTP register offsets for the AR9340 and AR9550
        fuse: add missing FR_FORCE
        RDMA/core: Fix incorrect structure packing for booleans
        NFSv4: fix getacl head length estimation
        s390/qdio: clear DSCI prior to scanning multiple input queues
        IB/ipoib: Fix deadlock between rmmod and set_mode
        ktest: Fix child exit code processing
        nlm: Ensure callback code also checks that the files match
        dm: flush queued bios when process blocks to avoid deadlock
        USB: serial: digi_acceleport: fix OOB data sanity check
        USB: serial: digi_acceleport: fix OOB-event processing
        MIPS: ip27: Disable qlge driver in defconfig
        tracing: Add #undef to fix compile error
        USB: serial: safe_serial: fix information leak in completion handler
        USB: serial: omninet: fix reference leaks at open
        USB: iowarrior: fix NULL-deref at probe
        USB: iowarrior: fix NULL-deref in write
        USB: serial: io_ti: fix NULL-deref in interrupt callback
        USB: serial: io_ti: fix information leak in completion handler
        vxlan: correctly validate VXLAN ID against VXLAN_N_VID
        ipv4: mask tos for input route
        locking/static_keys: Add static_key_{en,dis}able() helpers
        net: net_enable_timestamp() can be called from irq contexts
        dccp/tcp: fix routing redirect race
        net sched actions: decrement module reference count after table flush.
        perf/core: Fix event inheritance on fork()
        isdn/gigaset: fix NULL-deref at probe
        xen: do not re-use pirq number cached in pci device msi msg data
        net: properly release sk_frag.page
        net: unix: properly re-increment inflight counter of GC discarded candidates
        Input: ims-pcu - validate number of endpoints before using them
        Input: hanwang - validate number of endpoints before using them
        Input: yealink - validate number of endpoints before using them
        Input: cm109 - validate number of endpoints before using them
        USB: uss720: fix NULL-deref at probe
        USB: idmouse: fix NULL-deref at probe
        USB: wusbcore: fix NULL-deref at probe
        uwb: i1480-dfu: fix NULL-deref at probe
        uwb: hwa-rc: fix NULL-deref at probe
        mmc: ushc: fix NULL-deref at probe
        ext4: mark inode dirty after converting inline directory
        scsi: libsas: fix ata xfer length
        ALSA: ctxfi: Fallback DMA mask to 32bit
        ALSA: ctxfi: Fix the incorrect check of dma_set_mask() call
        ACPI / PNP: Avoid conflicting resource reservations
        ACPI / resources: free memory on error in add_region_before()
        ACPI / PNP: Reserve ACPI resources at the fs_initcall_sync stage
        USB: OHCI: Fix race between ED unlink and URB submission
        i2c: at91: manage unexpected RXRDY flag when starting a transfer
        ipv4: igmp: Allow removing groups from a removed interface
        ptrace: fix PTRACE_LISTEN race corrupting task->state
        ring-buffer: Fix return value check in test_ringbuffer()
        metag/usercopy: Fix alignment error checking
        metag/usercopy: Add early abort to copy_to_user
        metag/usercopy: Set flags before ADDZ
        metag/usercopy: Fix src fixup in from user rapf loops
        metag/usercopy: Add missing fixups
        s390/decompressor: fix initrd corruption caused by bss clear
        net/mlx4_en: Fix bad WQE issue
        net/mlx4_core: Fix racy CQ (Completion Queue) free
        char: Drop bogus dependency of DEVPORT on !M68K
        powerpc: Disable HFSCR[TM] if TM is not supported
        pegasus: Use heap buffers for all register access
        rtl8150: Use heap buffers for all register access
        tracing: Allocate the snapshot buffer before enabling probe
        ring-buffer: Have ring_buffer_iter_empty() return true when empty
        netfilter: arp_tables: fix invoking 32bit "iptable -P INPUT ACCEPT" failed in 64bit kernel
        net: phy: handle state correctly in phy_stop_machine
        l2tp: take reference on sessions being dumped
        MIPS: KGDB: Use kernel context for sleeping threads
        ARM: dts: imx31: move CCM device node to AIPS2 bus devices
        ARM: dts: imx31: fix AVIC base address
        tun: Fix TUN_PKT_STRIP setting
        Staging: vt6655-6: potential NULL dereference in hostap_disable_hostapd()
        net: sctp: rework multihoming retransmission path selection to rfc4960
        perf trace: Use the syscall raw_syscalls:sys_enter timestamp
        USB: usbtmc: add missing endpoint sanity check
        ping: implement proper locking
        USB: fix problems with duplicate endpoint addresses
        USB: dummy-hcd: fix bug in stop_activity (handle ep0)
        mm/init: fix zone boundary creation
        can: Fix kernel panic at security_sock_rcv_skb
        Drivers: hv: avoid vfree() on crash
        xc2028: avoid use after free
        xc2028: unlock on error in xc2028_set_config()
        xc2028: Fix use-after-free bug properly
        ipv6: fix ip6_tnl_parse_tlv_enc_lim()
        ipv6: pointer math error in ip6_tnl_parse_tlv_enc_lim()
        ipv6: fix the use of pcpu_tstats in ip6_tunnel
        sctp: avoid BUG_ON on sctp_wait_for_sndbuf
        sctp: deny peeloff operation on asocs with threads sleeping on it
        KVM: x86: clear bus pointer when destroyed
        kvm: exclude ioeventfd from counting kvm_io_range limit
        KVM: kvm_io_bus_unregister_dev() should never fail
        TTY: n_hdlc, fix lockdep false positive
        tty: n_hdlc: get rid of racy n_hdlc.tbuf
        ipv6: handle -EFAULT from skb_copy_bits
        fs: exec: apply CLOEXEC before changing dumpable task flags
        mm/huge_memory.c: respect FOLL_FORCE/FOLL_COW for thp
        dccp/tcp: do not inherit mc_list from parent
        char: lp: fix possible integer overflow in lp_setup()
        dccp: fix freeing skb too early for IPV6_RECVPKTINFO
        Linux 3.10.106

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	drivers/mfd/pm8921-core.c
	include/linux/cpu.h
	kernel/cpu.c
	net/ipv4/inet_connection_sock.c
	net/ipv4/ping.c
2018-01-25 17:54:29 -07:00
Nathan Chancellor a626beca4c This is the 3.10.105 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJYnZNdAAoJEE44bZycYXAvJv0P/jpPc+jKb+D0FVUOiYDkY5Rw
 jxsZ3oeruTIeSFAAIzusVMLm9moBJA6DThuTHU5Kt68mRaKB2lgmqwkkvQAPTSYh
 tnDQwlrF7dOSVmPczJFHalpaLpRdXdQP9r8y+38PibaFZPssKdnZr3BBfdOdi5DT
 lj029AGKfG7co6Hb/iAhsxuAFfPmvGHY4QNwJ2FRbU1m6MDtmCTbXzF0fc6X5AW1
 qrtaWwPulJtZ/5MPk7aFyNpuCpNvIaTEqNaQsZbuz3bHfzDQVLerWze98vgHC0QM
 2YOTP6TnEiHhxHGMb9SywUgSV1ylx0X542YDfxmcfyxBWRr0khlxQh1gpX+waqE3
 pqdSlvN7AFzifw6kubbG2/XjkNvFtJcDTgrL3qco4utIezSijXmoOsDpKNnJuzk/
 kSD5WYd+Q1CSHOkqZX29QPw1Dl/7Ftm7GPfxu7Pis1OBuPByqtRkEfmn9DpiKSs5
 Aja0ljZYiQ3jy3fH+WlEzo6PVSxx0ZxKg0fOShlpgjj8KjMUdGfl9cB1OZxyWnNH
 UiQ9iIWd3tJci7WbsBOfawsQpq3EIJxZKjyUmLYpBht5/YenYxOBDCr/CLJDQBGI
 IQUPAs/E1JGDxGTUY3AmsaMVrcX2yOfhLzjrsVJGqSdote0um+2PdTLZHE4MMiz2
 Dh6CbUVYWS1KNgmQ8T8L
 =k5mW
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAlpqeiwACgkQmXOSYMts
 txaBAQ/+KqZh90YZI+gRHGdczbo3XnlryHMdpp+DTIFtN3zU+2LM352oP+haoJfr
 YhNsixcMhW5TX0is5fg4SkIc0B3ooGKZLVKOPIRw+1NLBAVG5yVuYxW7I1faJgk6
 F37+4rvq7KAOPCNMjAEXRt7GqZ4WZjgvgKy+u5wzKh3k5kUylqDwlP2qdgx2L5Rc
 IxyxgOuaVGV6dZTyAyRlRMild5Tlz+SMY4pWoMe0sulDDXhd5/5PnGNVIgh+XqB6
 m0AGkIIzPVe+wmg6n1iYs93dQO0Jmu6DL47Zv4f3ASZNL/XVSLvU9ie63FyWGZXG
 e52qAPtztXInEOo15vPQSAAq7McZHDTzhHhsU/ZtkBT+LeSUU+rsxXddJ2EO5UgC
 O3cVm11x1FWMzbBtFNFtkqeri2Y2OxvU4O81mfNP1oOUQBTMeSHTzQ8psbCdXeEr
 ktSOtI+nakPmDE3aq4YSaz7BwSgt2tU/vZehkrTxtAQJxt0b88r2xFfThy5WScT1
 v6muoqxlprjjvFld7v99P8cXxJq4QrxKUxXtEBTdB79Q5xtCC29OAcTelpPFDCED
 /KpgZflubzH/Z872AW9Ru8OL9PYty6hBNDOP4aHLSFWfCu3KQxL6BMEeqi5qBjBX
 mJ8JT0dCQYP6xONIWq6a3fICroNMazhNFxdpPSfsQFRhujhjGPg=
 =zhKv
 -----END PGP SIGNATURE-----

Merge 3.10.105 into android-msm-bullhead-3.10-oreo-m5

Changes in 3.10.105: (315 commits)
        sched/core: Fix a race between try_to_wake_up() and a woken up task
        sched/core: Fix an SMP ordering race in try_to_wake_up() vs. schedule()
        crypto: algif_skcipher - Require setkey before accept(2)
        crypto: af_alg - Disallow bind/setkey/... after accept(2)
        crypto: af_alg - Add nokey compatibility path
        crypto: algif_skcipher - Add nokey compatibility path
        crypto: hash - Add crypto_ahash_has_setkey
        crypto: shash - Fix has_key setting
        crypto: algif_hash - Require setkey before accept(2)
        crypto: skcipher - Add crypto_skcipher_has_setkey
        crypto: algif_skcipher - Add key check exception for cipher_null
        crypto: af_alg - Allow af_af_alg_release_parent to be called on nokey path
        crypto: algif_hash - Remove custom release parent function
        crypto: algif_skcipher - Remove custom release parent function
        crypto: af_alg - Forbid bind(2) when nokey child sockets are present
        crypto: algif_hash - Fix race condition in hash_check_key
        crypto: algif_skcipher - Fix race condition in skcipher_check_key
        crypto: algif_skcipher - Load TX SG list after waiting
        crypto: cryptd - initialize child shash_desc on import
        crypto: skcipher - Fix blkcipher walk OOM crash
        crypto: gcm - Fix IV buffer size in crypto_gcm_setkey
        MIPS: KVM: Fix unused variable build warning
        KVM: MIPS: Precalculate MMIO load resume PC
        KVM: MIPS: Drop other CPU ASIDs on guest MMU changes
        KVM: nVMX: postpone VMCS changes on MSR_IA32_APICBASE write
        KVM: MIPS: Make ERET handle ERL before EXL
        KVM: x86: fix wbinvd_dirty_mask use-after-free
        KVM: x86: fix missed SRCU usage in kvm_lapic_set_vapic_addr
        KVM: Disable irq while unregistering user notifier
        PM / devfreq: Fix incorrect type issue.
        ppp: defer netns reference release for ppp channel
        x86/mm/xen: Suppress hugetlbfs in PV guests
        xen: Add RING_COPY_REQUEST()
        xen-netback: don't use last request to determine minimum Tx credit
        xen-netback: use RING_COPY_REQUEST() throughout
        xen-blkback: only read request operation from shared ring once
        xen/pciback: Save xen_pci_op commands before processing it
        xen/pciback: Save the number of MSI-X entries to be copied later.
        xen/pciback: Return error on XEN_PCI_OP_enable_msi when device has MSI or MSI-X enabled
        xen/pciback: Return error on XEN_PCI_OP_enable_msix when device has MSI or MSI-X enabled
        xen/pciback: Do not install an IRQ handler for MSI interrupts.
        xen/pciback: For XEN_PCI_OP_disable_msi[|x] only disable if device has MSI(X) enabled.
        xen/pciback: Don't allow MSI-X ops if PCI_COMMAND_MEMORY is not set.
        xen-pciback: Add name prefix to global 'permissive' variable
        x86/xen: fix upper bound of pmd loop in xen_cleanhighmap()
        x86/traps: Ignore high word of regs->cs in early_idt_handler_common
        x86/mm: Disable preemption during CR3 read+write
        x86/apic: Do not init irq remapping if ioapic is disabled
        x86/mm/pat, /dev/mem: Remove superfluous error message
        x86/paravirt: Do not trace _paravirt_ident_*() functions
        x86/build: Build compressed x86 kernels as PIE
        x86/um: reuse asm-generic/barrier.h
        iommu/amd: Update Alias-DTE in update_device_table()
        iommu/amd: Free domain id when free a domain of struct dma_ops_domain
        ARM: 8616/1: dt: Respect property size when parsing CPUs
        ARM: 8618/1: decompressor: reset ttbcr fields to use TTBR0 on ARMv7
        ARM: sa1100: clear reset status prior to reboot
        ARM: sa1111: fix pcmcia suspend/resume
        arm64: avoid returning from bad_mode
        arm64: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO
        arm64: spinlocks: implement smp_mb__before_spinlock() as smp_mb()
        arm64: debug: avoid resetting stepping state machine when TIF_SINGLESTEP
        MIPS: Malta: Fix IOCU disable switch read for MIPS64
        MIPS: ptrace: Fix regs_return_value for kernel context
        powerpc/mm: Don't alias user region to other regions below PAGE_OFFSET
        powerpc/vdso64: Use double word compare on pointers
        powerpc/powernv: Use CPU-endian PEST in pnv_pci_dump_p7ioc_diag_data()
        powerpc/64: Fix incorrect return value from __copy_tofrom_user
        powerpc/nvram: Fix an incorrect partition merge
        avr32: fix copy_from_user()
        avr32: fix 'undefined reference to `___copy_from_user'
        avr32: off by one in at32_init_pio()
        s390/dasd: fix hanging device after clear subchannel
        parisc: Ensure consistent state when switching to kernel stack at syscall entry
        microblaze: fix __get_user()
        microblaze: fix copy_from_user()
        mn10300: failing __get_user() and get_user() should zero
        m32r: fix __get_user()
        sh64: failing __get_user() should zero
        score: fix __get_user/get_user
        s390: get_user() should zero on failure
        ARC: uaccess: get_user to zero out dest in cause of fault
        asm-generic: make get_user() clear the destination on errors
        frv: fix clear_user()
        cris: buggered copy_from_user/copy_to_user/clear_user
        blackfin: fix copy_from_user()
        score: fix copy_from_user() and friends
        sh: fix copy_from_user()
        hexagon: fix strncpy_from_user() error return
        mips: copy_from_user() must zero the destination on access_ok() failure
        asm-generic: make copy_from_user() zero the destination properly
        alpha: fix copy_from_user()
        metag: copy_from_user() should zero the destination on access_ok() failure
        parisc: fix copy_from_user()
        openrisc: fix copy_from_user()
        openrisc: fix the fix of copy_from_user()
        mn10300: copy_from_user() should zero on access_ok() failure...
        sparc32: fix copy_from_user()
        ppc32: fix copy_from_user()
        ia64: copy_from_user() should zero the destination on access_ok() failure
        fix fault_in_multipages_...() on architectures with no-op access_ok()
        fix memory leaks in tracing_buffers_splice_read()
        arc: don't leak bits of kernel stack into coredump
        Fix potential infoleak in older kernels
        swapfile: fix memory corruption via malformed swapfile
        coredump: fix unfreezable coredumping task
        usb: dwc3: gadget: increment request->actual once
        USB: validate wMaxPacketValue entries in endpoint descriptors
        USB: fix typo in wMaxPacketSize validation
        usb: xhci: Fix panic if disconnect
        USB: serial: fix memleak in driver-registration error path
        USB: kobil_sct: fix non-atomic allocation in write path
        USB: serial: mos7720: fix non-atomic allocation in write path
        USB: serial: mos7840: fix non-atomic allocation in write path
        usb: renesas_usbhs: fix clearing the {BRDY,BEMP}STS condition
        USB: change bInterval default to 10 ms
        usb: gadget: fsl_qe_udc: signedness bug in qe_get_frame()
        USB: serial: cp210x: fix hardware flow-control disable
        usb: misc: legousbtower: Fix NULL pointer deference
        usb: gadget: function: u_ether: don't starve tx request queue
        USB: serial: cp210x: fix tiocmget error handling
        usb: gadget: u_ether: remove interrupt throttling
        usb: chipidea: move the lock initialization to core file
        Fix USB CB/CBI storage devices with CONFIG_VMAP_STACK=y
        ALSA: rawmidi: Fix possible deadlock with virmidi registration
        ALSA: timer: fix NULL pointer dereference in read()/ioctl() race
        ALSA: timer: fix division by zero after SNDRV_TIMER_IOCTL_CONTINUE
        ALSA: timer: fix NULL pointer dereference on memory allocation failure
        ALSA: ali5451: Fix out-of-bound position reporting
        ALSA: pcm : Call kill_fasync() in stream lock
        zfcp: fix fc_host port_type with NPIV
        zfcp: fix ELS/GS request&response length for hardware data router
        zfcp: close window with unblocked rport during rport gone
        zfcp: retain trace level for SCSI and HBA FSF response records
        zfcp: restore: Dont use 0 to indicate invalid LUN in rec trace
        zfcp: trace on request for open and close of WKA port
        zfcp: restore tracing of handle for port and LUN with HBA records
        zfcp: fix D_ID field with actual value on tracing SAN responses
        zfcp: fix payload trace length for SAN request&response
        zfcp: trace full payload of all SAN records (req,resp,iels)
        scsi: zfcp: spin_lock_irqsave() is not nestable
        scsi: mpt3sas: Fix secure erase premature termination
        scsi: mpt3sas: Unblock device after controller reset
        scsi: mpt3sas: fix hang on ata passthrough commands
        mpt2sas: Fix secure erase premature termination
        scsi: megaraid_sas: Fix data integrity failure for JBOD (passthrough) devices
        scsi: megaraid_sas: fix macro MEGASAS_IS_LOGICAL to avoid regression
        scsi: ibmvfc: Fix I/O hang when port is not mapped
        scsi: Fix use-after-free
        scsi: arcmsr: Buffer overflow in arcmsr_iop_message_xfer()
        scsi: scsi_debug: Fix memory leak if LBP enabled and module is unloaded
        scsi: arcmsr: Send SYNCHRONIZE_CACHE command to firmware
        ext4: validate that metadata blocks do not overlap superblock
        ext4: avoid modifying checksum fields directly during checksum verification
        ext4: use __GFP_NOFAIL in ext4_free_blocks()
        ext4: reinforce check of i_dtime when clearing high fields of uid and gid
        ext4: allow DAX writeback for hole punch
        ext4: sanity check the block and cluster size at mount time
        reiserfs: fix "new_insert_key may be used uninitialized ..."
        reiserfs: Unlock superblock before calling reiserfs_quota_on_mount()
        xfs: fix superblock inprogress check
        libxfs: clean up _calc_dquots_per_chunk
        btrfs: ensure that file descriptor used with subvol ioctls is a dir
        ocfs2/dlm: fix race between convert and migration
        ocfs2: fix start offset to ocfs2_zero_range_for_truncate()
        ubifs: Fix assertion in layout_in_gaps()
        ubifs: Fix xattr_names length in exit paths
        UBIFS: Fix possible memory leak in ubifs_readdir()
        ubifs: Abort readdir upon error
        ubifs: Fix regression in ubifs_readdir()
        UBI: fastmap: scrub PEB when bitflips are detected in a free PEB EC header
        NFSv4.x: Fix a refcount leak in nfs_callback_up_net
        NFSD: Using free_conn free connection
        NFS: Don't drop CB requests with invalid principals
        NFSv4: Open state recovery must account for file permission changes
        fs/seq_file: fix out-of-bounds read
        fs/super.c: fix race between freeze_super() and thaw_super()
        isofs: Do not return EACCES for unknown filesystems
        hostfs: Freeing an ERR_PTR in hostfs_fill_sb_common()
        driver core: Delete an unnecessary check before the function call "put_device"
        driver core: fix race between creating/querying glue dir and its cleanup
        drm/radeon: fix radeon_move_blit on 32bit systems
        drm: Reject page_flip for !DRIVER_MODESET
        drm/radeon: Ensure vblank interrupt is enabled on DPMS transition to on
        qxl: check for kmap failures
        Input: i8042 - break load dependency between atkbd/psmouse and i8042
        Input: i8042 - set up shared ps2_cmd_mutex for AUX ports
        Input: ili210x - fix permissions on "calibrate" attribute
        hwrng: exynos - Disable runtime PM on probe failure
        hwrng: omap - Fix assumption that runtime_get_sync will always succeed
        hwrng: omap - Only fail if pm_runtime_get_sync returns < 0
        i2c-eg20t: fix race between i2c init and interrupt enable
        em28xx-i2c: rt_mutex_trylock() returns zero on failure
        i2c: core: fix NULL pointer dereference under race condition
        i2c: at91: fix write transfers by clearing pending interrupt first
        iio: accel: kxsd9: Fix raw read return
        iio: accel: kxsd9: Fix scaling bug
        thermal: hwmon: Properly report critical temperature in sysfs
        cdc-acm: fix wrong pipe type on rx interrupt xfers
        timers: Use proper base migration in add_timer_on()
        EDAC: Increment correct counter in edac_inc_ue_error()
        IB/ipoib: Fix memory corruption in ipoib cm mode connect flow
        IB/core: Fix use after free in send_leave function
        IB/ipoib: Don't allow MC joins during light MC flush
        IB/mlx4: Fix incorrect MC join state bit-masking on SR-IOV
        IB/mlx4: Fix create CQ error flow
        IB/uverbs: Fix leak of XRC target QPs
        IB/cm: Mark stale CM id's whenever the mad agent was unregistered
        mtd: blkdevs: fix potential deadlock + lockdep warnings
        mtd: pmcmsp-flash: Allocating too much in init_msp_flash()
        mtd: nand: davinci: Reinitialize the HW ECC engine in 4bit hwctl
        perf symbols: Fixup symbol sizes before picking best ones
        perf: Tighten (and fix) the grouping condition
        tty: Prevent ldisc drivers from re-using stale tty fields
        tty: limit terminal size to 4M chars
        tty: vt, fix bogus division in csi_J
        vt: clear selection before resizing
        drivers/vfio: Rework offsetofend()
        include/stddef.h: Move offsetofend() from vfio.h to a generic kernel header
        stddef.h: move offsetofend inside #ifndef/#endif guard, neaten
        ipv6: don't call fib6_run_gc() until routing is ready
        ipv6: split duplicate address detection and router solicitation timer
        ipv6: move DAD and addrconf_verify processing to workqueue
        ipv6: addrconf: fix dev refcont leak when DAD failed
        ipv6: fix rtnl locking in setsockopt for anycast and multicast
        ip6_gre: fix flowi6_proto value in ip6gre_xmit_other()
        ipv6: correctly add local routes when lo goes up
        ipv6: dccp: fix out of bound access in dccp_v6_err()
        ipv6: dccp: add missing bind_conflict to dccp_ipv6_mapped
        ip6_tunnel: Clear IP6CB in ip6tunnel_xmit()
        ip6_tunnel: disable caching when the traffic class is inherited
        net/irda: handle iriap_register_lsap() allocation failure
        tcp: fix use after free in tcp_xmit_retransmit_queue()
        tcp: properly scale window in tcp_v[46]_reqsk_send_ack()
        tcp: fix overflow in __tcp_retransmit_skb()
        tcp: fix wrong checksum calculation on MTU probing
        tcp: take care of truncations done by sk_filter()
        bonding: Fix bonding crash
        net: ratelimit warnings about dst entry refcount underflow or overflow
        mISDN: Support DR6 indication in mISDNipac driver
        mISDN: Fixing missing validation in base_sock_bind()
        net: disable fragment reassembly if high_thresh is set to zero
        ipvs: count pre-established TCP states as active
        iwlwifi: pcie: fix access to scratch buffer
        svc: Avoid garbage replies when pc_func() returns rpc_drop_reply
        brcmsmac: Free packet if dma_mapping_error() fails in dma_rxfill
        brcmsmac: Initialize power in brcms_c_stf_ss_algo_channel_get()
        brcmfmac: avoid potential stack overflow in brcmf_cfg80211_start_ap()
        pstore: Fix buffer overflow while write offset equal to buffer size
        net/mlx4_core: Allow resetting VF admin mac to zero
        firewire: net: guard against rx buffer overflows
        firewire: net: fix fragmented datagram_size off-by-one
        netfilter: fix namespace handling in nf_log_proc_dostring
        can: bcm: fix warning in bcm_connect/proc_register
        net: fix sk_mem_reclaim_partial()
        net: avoid sk_forward_alloc overflows
        ipmr, ip6mr: fix scheduling while atomic and a deadlock with ipmr_get_route
        packet: call fanout_release, while UNREGISTERING a netdev
        net: sctp, forbid negative length
        sctp: validate chunk len before actually using it
        net: clear sk_err_soft in sk_clone_lock()
        net: mangle zero checksum in skb_checksum_help()
        dccp: do not send reset to already closed sockets
        dccp: fix out of bound access in dccp_v4_err()
        sctp: assign assoc_id earlier in __sctp_connect
        neigh: check error pointer instead of NULL for ipv4_neigh_lookup()
        ipv4: use new_gw for redirect neigh lookup
        mac80211: fix purging multicast PS buffer queue
        mac80211: discard multicast and 4-addr A-MSDUs
        cfg80211: limit scan results cache size
        mwifiex: printk() overflow with 32-byte SSIDs
        ipv4: Set skb->protocol properly for local output
        net: sky2: Fix shutdown crash
        kaweth: fix firmware download
        tracing: Move mutex to protect against resetting of seq data
        kernel/fork: fix CLONE_CHILD_CLEARTID regression in nscd
        Revert "ipc/sem.c: optimize sem_lock()"
        cfq: fix starvation of asynchronous writes
        drbd: Fix kernel_sendmsg() usage - potential NULL deref
        lib/genalloc.c: start search from start of chunk
        tools/vm/slabinfo: fix an unintentional printf
        rcu: Fix soft lockup for rcu_nocb_kthread
        ratelimit: fix bug in time interval by resetting right begin time
        mfd: core: Fix device reference leak in mfd_clone_cell
        PM / sleep: fix device reference leak in test_suspend
        mmc: mxs: Initialize the spinlock prior to using it
        mmc: block: don't use CMD23 with very old MMC cards
        pstore/core: drop cmpxchg based updates
        pstore/ram: Use memcpy_toio instead of memcpy
        pstore/ram: Use memcpy_fromio() to save old buffer
        mb86a20s: fix the locking logic
        mb86a20s: fix demod settings
        cx231xx: don't return error on success
        cx231xx: fix GPIOs for Pixelview SBTVD hybrid
        gpio: mpc8xxx: Correct irq handler function
        uio: fix dmem_region_start computation
        KEYS: Fix short sprintf buffer in /proc/keys show function
        hv: do not lose pending heartbeat vmbus packets
        staging: iio: ad5933: avoid uninitialized variable in error case
        mei: bus: fix received data size check in NFC fixup
        ACPI / APEI: Fix incorrect return value of ghes_proc()
        PCI: Handle read-only BARs on AMD CS553x devices
        tile: avoid using clocksource_cyc2ns with absolute cycle count
        dm flakey: fix reads to be issued if drop_writes configured
        mm,ksm: fix endless looping in allocating memory when ksm enable
        can: dev: fix deadlock reported after bus-off
        hwmon: (adt7411) set bit 3 in CFG1 register
        mpi: Fix NULL ptr dereference in mpi_powm() [ver #3]
        mfd: 88pm80x: Double shifting bug in suspend/resume
        ASoC: omap-mcpdm: Fix irq resource handling
        regulator: tps65910: Work around silicon erratum SWCZ010
        dm: mark request_queue dead before destroying the DM device
        fbdev/efifb: Fix 16 color palette entry calculation
        metag: Only define atomic_dec_if_positive conditionally
        Linux 3.10.105

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	arch/arm/mach-sa1100/generic.c
	arch/arm64/kernel/traps.c
	crypto/blkcipher.c
	drivers/devfreq/devfreq.c
	drivers/usb/dwc3/gadget.c
	drivers/usb/gadget/u_ether.c
	fs/ubifs/dir.c
	include/net/if_inet6.h
	lib/genalloc.c
	net/ipv6/addrconf.c
	net/ipv6/tcp_ipv6.c
	net/wireless/scan.c
	sound/core/timer.c
2018-01-25 17:45:32 -07:00
Nathan Chancellor 88e100f704 This is the 3.10.103 stable release
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXwrqoAAoJEE44bZycYXAvXY0P/0ggO2AAwJONCzFgBk3yZKi1
 aHiSvhq4JLkFnHk3KRQJwBqAPzDkc9C41If65RTZcNwdczzPMVRBxpzIrQhzjTpg
 xv2MwuuuTFQpOaJStmRbYSa8uiNs9KCmO357E6Rtz47bNrngqTk6TcXV2qIJxjl9
 P5s8+l5iUIfLsPx1AIN9vCiSAeWdL2FLcVvJiIFrfpLfJd0FI0un2Z21/Cw14OLM
 uoK2I8wf+DzwQdRXTUij+8+yC80IMh+bPmQR5QRcJ/jZx5xj5cdhhabWHZPw2InQ
 PzPbX/xG514qNosRkALFM0xOgdpsikhOZwr4LzXJoYreFr3uarUiIQ2pGXR/DANY
 nDmFNuvfwRxJTF8wXNW7J9jxLAhgqlJ5mOfWnNTI1filpUg+zCrp9O2DzyjBZOJA
 7bzvCQgFG6pIawicIYX1cLZ+rdEB+oEmpQJtXkAUK9jg84jqluoq/NTQ4leNbjtl
 1Vk0Gbvz28FX821lpcrNbEibkmN7MAbAr3LXYKYFtGd3RqED7LlSe1B1bxk4dS+6
 FhKcZXpYXlofwGrZieGgdq/NieCUClbfTmBSbqmX7vCM3k0p5pIak+GGFoJW+rAl
 VTqrxyrB5eBr4T1m04EuK6tIxbFo/SF78CgkjbOE6ghTkqe6BLuntMqXIcKn/lrO
 8t0Tg0S+MrzTv3LWsnzx
 =9dk8
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAlpqdbgACgkQmXOSYMts
 txa6FA//biC/xNB75MuS7nVE/4mDKnpzjejjiIWgtWFkcp+NHXIHa2JS8E1hfAfN
 3oCifMMDIF8+QoQvjz6MBuxzxc4BoqxEju0Ez+/ktm8R6fTw7SEholmo+nGh4fGW
 LlXwf2r2HcDrS+MzepCCVK5H2ewso4cDmnqJNVRME/R2CgTf1U+ALQ/Vv+UzXEYp
 m+LbIRzWx6QcrGd9FiPg8uJ08vy/E5hZBjehKWTm1hMNvPuCysDhL6Cy7mfJhrOm
 2/FypjVZHgkj+6ZMTkDOSS9mXvPmZSJ91rQCjt+Mk52OfYycbiALtBWiz3ekwYHc
 wGkyzRHFMLCnjNTNBAk9LHMOdEHfR4hnvb7zaKvrAui7QyweDgX86SuqS+Okyb6Y
 DXvPkzSMIs/cQc+0y1d9nSJ+ASTVAJBGewrvqENza0UDO+7r8OF+Yuu9ttlZSzVI
 ABoCqcE2lqIJEVaCbjGD+r3fAclGQEJHzGhUxBvrvgBz4pKn5E3FMuB+Ll72BQo0
 od1uUvP1TIBf9Sy0/k54tYusMR6pZ+0q5ffpAcVHwYg4ScUIv3e2DNlS2YwaAhg0
 zUG5Is5jfIjOSzZ1cxNtlicCKKEWZgECI7i013Hx5AP3Im1ZwXZr82plOnGg16pl
 Yt1pusfixkqhdi6S2gbULO4JfMN5WUDB0PvZAWCJ3US0uqi3ftE=
 =9Iqv
 -----END PGP SIGNATURE-----

Merge 3.10.103 into android-msm-bullhead-3.10-oreo-m5

Changes in 3.10.103: (178 commits)
        X.509: remove possible code fragility: enumeration values not handled
        x86, asmlinkage, apm: Make APM data structure used from assembler visible
        netfilter: x_tables: validate e->target_offset early
        netfilter: x_tables: make sure e->next_offset covers remaining blob size
        netfilter: x_tables: fix unconditional helper
        netfilter: x_tables: don't move to non-existent next rule
        netfilter: x_tables: add and use xt_check_entry_offsets
        netfilter: x_tables: kill check_entry helper
        netfilter: x_tables: assert minimum target size
        netfilter: x_tables: add compat version of xt_check_entry_offsets
        netfilter: x_tables: check standard target size too
        netfilter: x_tables: check for bogus target offset
        netfilter: x_tables: validate all offsets and sizes in a rule
        netfilter: x_tables: don't reject valid target size on some architectures
        netfilter: arp_tables: simplify translate_compat_table args
        netfilter: ip_tables: simplify translate_compat_table args
        netfilter: ip6_tables: simplify translate_compat_table args
        netfilter: x_tables: xt_compat_match_from_user doesn't need a retval
        netfilter: ensure number of counters is >0 in do_replace()
        netfilter: x_tables: do compat validation via translate_table
        Revert "netfilter: ensure number of counters is >0 in do_replace()"
        netfilter: x_tables: introduce and use xt_copy_counters_from_user
        perf/x86: Honor the architectural performance monitoring version
        perf/x86: Fix undefined shift on 32-bit kernels
        signal: remove warning about using SI_TKILL in rt_[tg]sigqueueinfo
        PCI/ACPI: Fix _OSC ordering to allow PCIe hotplug use when available
        udp: properly support MSG_PEEK with truncated buffers
        USB: fix invalid memory access in hub_activate()
        USB: usbfs: fix potential infoleak in devio
        USB: fix up faulty backports
        USB: EHCI: declare hostpc register as zero-length array
        USB: serial: option: add support for Telit LE910 PID 0x1206
        usb: musb: Stop bulk endpoint while queue is rotated
        usb: musb: Ensure rx reinit occurs for shared_fifo endpoints
        usb: renesas_usbhs: protect the CFIFOSEL setting in usbhsg_ep_enable()
        x86/mm: Add barriers and document switch_mm()-vs-flush synchronization
        pipe: limit the per-user amount of pages allocated in pipes
        cdc_ncm: do not call usbnet_link_change from cdc_ncm_bind
        KEYS: potential uninitialized variable
        mm: migrate dirty page without clear_page_dirty_for_io etc
        printk: do cond_resched() between lines while outputting to consoles
        HID: hiddev: validate num_values for HIDIOCGUSAGES, HIDIOCSUSAGES commands
        libceph: apply new_state before new_up_client on incrementals
        tmpfs: don't undo fallocate past its last page
        tmpfs: fix regression hang in fallocate undo
        tcp: make challenge acks less predictable
        tcp: record TLP and ER timer stats in v6 stats
        tcp: consider recv buf for the initial window scale
        MIPS: KVM: Fix mapped fault broken commpage handling
        MIPS: KVM: Add missing gfn range check
        MIPS: KVM: Fix gfn range check in kseg0 tlb faults
        MIPS: KVM: Propagate kseg0/mapped tlb fault errors
        MIPS: math-emu: Fix jalr emulation when rd == $0
        MIPS: Fix siginfo.h to use strict posix types
        MIPS: ath79: make bootconsole wait for both THRE and TEMT
        MIPS: Fix 64k page support for 32 bit kernels.
        MIPS: KVM: Fix modular KVM under QEMU
        Input: uinput - handle compat ioctl for UI_SET_PHYS
        Input: wacom_w8001 - w8001_MAX_LENGTH should be 13
        Input: xpad - validate USB endpoint count during probe
        ath5k: Change led pin configuration for compaq c700 laptop
        aacraid: Relinquish CPU during timeout wait
        aacraid: Fix for aac_command_thread hang
        PCI: Disable all BAR sizing for devices with non-compliant BARs
        rtlwifi: Fix logic error in enter/exit power-save mode
        powerpc/book3s64: Fix branching to OOL handlers in relocatable kernel
        powerpc: Fix definition of SIAR and SDAR registers
        powerpc: Use privileged SPR number for MMCR2
        powerpc/pseries/eeh: Handle RTAS delay requests in configure_bridge
        powerpc/iommu: Remove the dependency on EEH struct in DDW mechanism
        powerpc/pseries: Fix PCI config address for DDW
        powerpc/tm: Always reclaim in start_thread() for exec() class syscalls
        sunrpc: fix stripping of padded MIC tokens
        drm/gma500: Fix possible out of bounds read
        drm/fb_helper: Fix references to dev->mode_config.num_connector
        drm/radeon: fix asic initialization for virtualized environments
        drm/radeon: add a delay after ATPX dGPU power off
        drm/radeon: Poll for both connect/disconnect on analog connectors
        drm/radeon: fix firmware info version checks
        ext4: fix hang when processing corrupted orphaned inode list
        ext4: address UBSAN warning in mb_find_order_for_block()
        ext4: silence UBSAN in ext4_mb_init()
        ext4: verify extent header depth
        ext4: check for extents that wrap around
        ext4: don't call ext4_should_journal_data() on the journal inode
        ext4: short-cut orphan cleanup on error
        ext4: fix reference counting bug on block allocation error
        dma-debug: avoid spinlock recursion when disabling dma-debug
        xfs: xfs_iflush_cluster fails to abort on error
        xfs: fix inode validity check in xfs_iflush_cluster
        xfs: skip stale inodes in xfs_iflush_cluster
        KVM: x86: fix OOPS after invalid KVM_SET_DEBUGREGS
        ARM: fix PTRACE_SETVFPREGS on SMP systems
        arm: oabi compat: add missing access checks
        parisc: Fix pagefault crash in unaligned __get_user() call
        ecryptfs: forbid opening files without mmap handler
        fix d_walk()/non-delayed __d_free() race
        crypto: ux500 - memmove the right size
        crypto: gcm - Filter out async ghash if necessary
        crypto: scatterwalk - Fix test in scatterwalk_done
        sit: correct IP protocol used in ipip6_err
        ipmr/ip6mr: Initialize the last assert time of mfc entries.
        net: alx: Work around the DMA RX overflow issue
        mac80211: mesh: flush mesh paths unconditionally
        mac80211_hwsim: Add missing check for HWSIM_ATTR_SIGNAL
        IB/mlx4: Properly initialize GRH TClass and FlowLabel in AHs
        IB/security: Restrict use of the write() interface
        IB/IPoIB: Don't update neigh validity for unresolved entries
        IB/mlx4: Fix the SQ size of an RC QP
        x86, build: copy ldlinux.c32 to image.iso
        kprobes/x86: Clear TF bit in fault on single-stepping
        x86/amd_nb: Fix boot crash on non-AMD systems
        NFS: Fix another OPEN_DOWNGRADE bug
        mm: Export migrate_page_move_mapping and migrate_page_copy
        UBIFS: Implement ->migratepage()
        cdc_ncm: workaround for EM7455 "silent" data interface
        kvm: Fix irq route entries exceeding KVM_MAX_IRQ_ROUTES
        tracing: Handle NULL formats in hold_module_trace_bprintk_format()
        base: make module_create_drivers_dir race-free
        iio: Fix error handling in iio_trigger_attach_poll_func
        staging: iio: accel: fix error check
        iio: accel: kxsd9: fix the usage of spi_w8r8()
        iio:ad7266: Fix broken regulator error handling
        iio:ad7266: Fix probe deferral for vref
        tty/vt/keyboard: fix OOB access in do_compute_shiftstate()
        ALSA: dummy: Fix a use-after-free at closing
        ALSA: au88x0: Fix calculation in vortex_wtdma_bufshift()
        ALSA: ctl: Stop notification after disconnection
        ALSA: timer: Fix leak in SNDRV_TIMER_IOCTL_PARAMS
        ALSA: timer: Fix leak in events via snd_timer_user_ccallback
        ALSA: timer: Fix leak in events via snd_timer_user_tinterrupt
        scsi: fix race between simultaneous decrements of ->host_failed
        scsi: remove scsi_end_request
        Fix reconnect to not defer smb3 session reconnect long after socket reconnect
        xen/acpi: allow xen-acpi-processor driver to load on Xen 4.7
        s390/seccomp: fix error return for filtered system calls
        fs/nilfs2: fix potential underflow in call to crc32_le
        arc: unwind: warn only once if DW2_UNWIND is disabled
        xen/pciback: Fix conf_space read/write overlap check.
        Revert "ecryptfs: forbid opening files without mmap handler"
        ecryptfs: don't allow mmap when the lower fs doesn't support it
        ARC: use ASL assembler mnemonic
        qeth: delete napi struct when removing a qeth device
        mmc: block: fix packed command header endianness
        can: at91_can: RX queue could get stuck at high bus load
        can: fix oops caused by wrong rtnl dellink usage
        ipr: Clear interrupt on croc/crocodile when running with LSI
        net: mvneta: set real interrupt per packet for tx_done
        sctp: Prevent soft lockup when sctp_accept() is called during a timeout event
        x86/mm: Improve switch_mm() barrier comments
        KEYS: 64-bit MIPS needs to use compat_sys_keyctl for 32-bit userspace
        scsi_lib: correctly retry failed zero length REQ_TYPE_FS commands
        block: fix use-after-free in seq file
        fuse: fix wrong assignment of ->flags in fuse_send_init()
        net/irda: fix NULL pointer dereference on memory allocation failure
        gpio: pca953x: Fix NBANK calculation for PCA9536
        hp-wmi: Fix wifi cannot be hard-unblocked
        s5p-mfc: Set device name for reserved memory region devs
        s5p-mfc: Add release callback for memory region devs
        Bluetooth: Fix l2cap_sock_setsockopt() with optname BT_RCVMTU
        cifs: Check for existing directory when opening file with O_CREAT
        netlabel: add address family checks to netlbl_{sock,req}_delattr()
        balloon: check the number of available pages in leak balloon
        ftrace/recordmcount: Work around for addition of metag magic but not relocations
        metag: Fix __cmpxchg_u32 asm constraint for CMP
        ubi: Make volume resize power cut aware
        ubi: Fix race condition between ubi device creation and udev
        dm flakey: error READ bios during the down_interval
        module: Invalidate signatures on force-loaded modules
        be2iscsi: Fix bogus WARN_ON length check
        squash mm: Export migrate_page_... : also make it non-static
        HID: hid-input: Add parentheses to quell gcc warning
        ALSA: oxygen: Fix logical-not-parentheses warning
        net: rfkill: Do not ignore errors from regulator_enable()
        isdn: hfcpci_softirq: get func return to suppress compiler warning
        stb6100: fix buffer length check in stb6100_write_reg_range()
        spi: spi-xilinx: cleanup a check in xilinx_spi_txrx_bufs()
        Linux 3.10.103

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	drivers/usb/core/quirks.c
	fs/fuse/inode.c
	kernel/panic.c
	net/ipv4/tcp_input.c
2018-01-25 17:26:32 -07:00
Nathan Chancellor eae14ab1fa
netfilter: x_tables: Revert backports for cleaner 3.10.103 merge
These are all present in 3.10.103.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-01-25 17:24:51 -07:00
Nathan Chancellor 459f05e480 This is the 3.10.102 stable release
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXXS5iAAoJEE44bZycYXAvDj8P/jbhmGAgW6tw2cnS90QIZDqG
 M/nclEId61jICNvbfP6zsioKeWyrmzr5G7NjqTThsSNhCo/DXs3ddMqLy3pOaFdq
 mytXtHIUpwZoplEib+ODinW40CMqnu11XSWEcee2nrsPuGNsnc7BY0wmFBa6UVCV
 rOZef9SN9lJcZSYY/auvgLDXOXdQ+NMxp5hau30aF5HBO8hTDXStjPRcUwCvz7aR
 govTQJHlS4HzLH3JOYS3Dt8IYFDOrKhQIby2nFdw7eiUxHCRy2F0asabTh3DzCw1
 iLvFroozjyVXwozfWMqLCvMa+514MXJy8Nkva6xiAHraC8UrgfPtcNsTdgtkdH9T
 V2Am9b0L7yiBdG6hsZLxkU3akk7vU/0dtppwzvudANT6i2tGcDSBeaZq3T2pAv7B
 7coY53GzHZdQnbdTZbYeS1fxebxyXw50D5OJkF8DyLhoL7Uj2Dvv0QdjKv+U/e5D
 VQ+ZyGcBdCLuOzflXysI10E01y0/M3FrkubgGBM4Oh0eYKCHJaHG/NCZy5JY/qxy
 S0phem8RbeZPbcL14z+5buWIi1lUkTiCIMG8c32ZEmDh84drnICqABA0RzKmqdkj
 ucQa+PzkMQ1DyhAMUl/CwpBfSqf1Zs3agLo78Kp5MTGfeAA90m0SeVqhmDgWhwqG
 HhSlsPFfMfmJl5S0uJpQ
 =UhFl
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAlpqdSoACgkQmXOSYMts
 txbb1A/6A1pJjz3//6RsYU7G2f4WgAjqCRzQDPtVtBUwpyBtj7DuAxNGeOAvw0KM
 BfOTy0fhtgHfOV6F4kynIuU6scNY8zZlZ2ZCgndhiC45dlDBSto2mYgF9DmDl7m3
 rRhiWmmSqFvJW+USxCETg8PxXVIs0Si+TU8AfBKJt3Mf25UyLsrm/hIDqg3FtkyP
 STZlpmACGQEJl6qTVTubTv6/psJc0oE7gUZ2G4TTuFxt+p3/4MPf+pnicl5jcP04
 laN1k2ce8ciV8Tc7f5zM55ArLGM+M4QQNRqO6Wrl7gQvtXpn6Efno9aY2MuaXtdm
 7sKKvQWj0QMS/9tei+wGS73gDsfIb1qrsaMWD9UF9zGb7miGkRr3wdDZPYurysWy
 5cIL1TErJDiIVlVedL/o8EYOxCYamSQPJ35WGxSgeS9kqfTlh3C1angGy9EOpv27
 ER1myFM4TUc51ziPIFlEeBu1ku4vVY7atCsZU25VqKFLAapeDG3xuK1RDmal/PTd
 d2JahllwPQ4Uh8OUNeHcN4Ptxf/fBVezSCZw1tv6vkAUdt6uXcbweutDw74cWlNJ
 KbKd5yluWVCAVsOSiVNRFX8ij/9GeJvu94eU5o7jiC578TQTRrMdKyxEqVKzz6te
 39rFoX20GZ7IosRoJDp9gsJTA7GAVsCcfU9CK/SNL3jxGLFvJbo=
 =CaKB
 -----END PGP SIGNATURE-----

Merge 3.10.102 into android-msm-bullhead-3.10-oreo-m5

Changes in 3.10.102: (144 commits)
        pipe: Fix buffer offset after partially failed read
        x86/iopl/64: Properly context-switch IOPL on Xen PV
        ext4: fix NULL pointer dereference in ext4_mark_inode_dirty()
        compiler-gcc: integrate the various compiler-gcc[345].h files
        x86: LLVMLinux: Fix "incomplete type const struct x86cpu_device_id"
        KVM: i8254: change PIT discard tick policy
        KVM: fix spin_lock_init order on x86
        EDAC, amd64_edac: Shift wrapping issue in f1x_get_norm_dct_addr()
        PCI: Disable IO/MEM decoding for devices with non-compliant BARs
        linux/const.h: Add _BITUL() and _BITULL()
        x86: Rename X86_CR4_RDWRGSFS to X86_CR4_FSGSBASE
        x86, processor-flags: Fix the datatypes and add bit number defines
        x86/iopl: Fix iopl capability check on Xen PV
        sg: fix dxferp in from_to case
        aacraid: Fix memory leak in aac_fib_map_free
        be2iscsi: set the boot_kset pointer to NULL in case of failure
        usb: retry reset if a device times out
        USB: cdc-acm: more sanity checking
        USB: iowarrior: fix oops with malicious USB descriptors
        USB: usb_driver_claim_interface: add sanity checking
        USB: mct_u232: add sanity checking in probe
        USB: digi_acceleport: do sanity checking for the number of ports
        USB: cypress_m8: add endpoint sanity check
        USB: serial: cp210x: Adding GE Healthcare Device ID
        USB: option: add "D-Link DWM-221 B1" device id
        pwc: Add USB id for Philips Spc880nc webcam
        Input: powermate - fix oops with malicious USB descriptors
        net: irda: Fix use-after-free in irtty_open()
        8250: use callbacks to access UART_DLL/UART_DLM
        bttv: Width must be a multiple of 16 when capturing planar formats
        media: v4l2-compat-ioctl32: fix missing length copy in put_v4l2_buffer32
        ALSA: intel8x0: Add clock quirk entry for AD1981B on IBM ThinkPad X41.
        jbd2: fix FS corruption possibility in jbd2_journal_destroy() on umount path
        bcache: fix cache_set_flush() NULL pointer dereference on OOM
        watchdog: rc32434_wdt: fix ioctl error handling
        splice: handle zero nr_pages in splice_to_pipe()
        xtensa: ISS: don't hang if stdin EOF is reached
        xtensa: clear all DBREAKC registers on start
        md/raid5: Compare apples to apples (or sectors to sectors)
        rapidio/rionet: fix deadlock on SMP
        ipr: Fix out-of-bounds null overwrite
        ipr: Fix regression when loading firmware
        drm/radeon: Don't drop DP 2.7 Ghz link setup on some cards.
        tracing: Have preempt(irqs)off trace preempt disabled functions
        tracing: Fix crash from reading trace_pipe with sendfile
        tracing: Fix trace_printk() to print when not using bprintk()
        scripts/coccinelle: modernize &
        Input: ims-pcu - sanity check against missing interfaces
        Input: ati_remote2 - fix crashes on detecting device with invalid descriptor
        ocfs2/dlm: fix race between convert and recovery
        ocfs2/dlm: fix BUG in dlm_move_lockres_to_recovery_list
        mtd: onenand: fix deadlock in onenand_block_markbad
        sched/cputime: Fix steal time accounting vs. CPU hotplug
        perf/x86/intel: Fix PEBS data source interpretation on Nehalem/Westmere
        hwmon: (max1111) Return -ENODEV from max1111_read_channel if not instantiated
        parisc: Avoid function pointers for kernel exception routines
        parisc: Fix kernel crash with reversed copy_from_user()
        ALSA: timer: Use mod_timer() for rearming the system timer
        net: jme: fix suspend/resume on JMC260
        sctp: lack the check for ports in sctp_v6_cmp_addr
        ipv6: re-enable fragment header matching in ipv6_find_hdr
        cdc_ncm: toggle altsetting to force reset before setup
        usbnet: cleanup after bind() in probe()
        udp6: fix UDP/IPv6 encap resubmit path
        sh_eth: fix NULL pointer dereference in sh_eth_ring_format()
        net: Fix use after free in the recvmmsg exit path
        farsync: fix off-by-one bug in fst_add_one
        ath9k: fix buffer overrun for ar9287
        qlge: Fix receive packets drop.
        ppp: take reference on channels netns
        qmi_wwan: add "D-Link DWM-221 B1" device id
        ipv4: l2tp: fix a potential issue in l2tp_ip_recv
        ipv6: l2tp: fix a potential issue in l2tp_ip6_recv
        ip6_tunnel: set rtnl_link_ops before calling register_netdevice
        usb: renesas_usbhs: avoid NULL pointer derefernce in usbhsf_pkt_handler()
        usb: renesas_usbhs: disable TX IRQ before starting TX DMAC transfer
        ext4: add lockdep annotations for i_data_sem
        HID: usbhid: fix inconsistent reset/resume/reset-resume behavior
        drm/radeon: hold reference to fences in radeon_sa_bo_new (3.17 and older)
        usbvision-video: fix memory leak of alt_max_pkt_size
        usbvision: fix leak of usb_dev on failure paths in usbvision_probe()
        usbvision: fix crash on detecting device with invalid configuration
        usb: xhci: fix wild pointers in xhci_mem_cleanup
        usb: hcd: out of bounds access in for_each_companion
        crypto: gcm - Fix rfc4543 decryption crash
        nl80211: check netlink protocol in socket release notification
        Input: gtco - fix crash on detecting device without endpoints
        i2c: cpm: Fix build break due to incompatible pointer types
        EDAC: i7core, sb_edac: Don't return NOTIFY_BAD from mce_decoder callback
        ASoC: s3c24xx: use const snd_soc_component_driver pointer
        efi: Fix out-of-bounds read in variable_matches()
        workqueue: fix ghost PENDING flag while doing MQ IO
        USB: usbip: fix potential out-of-bounds write
        paride: make 'verbose' parameter an 'int' again
        fbdev: da8xx-fb: fix videomodes of lcd panels
        misc/bmp085: Enable building as a module
        rtc: vr41xx: Wire up alarm_irq_enable
        drivers/misc/ad525x_dpot: AD5274 fix RDAC read back errors
        include/linux/poison.h: fix LIST_POISON{1,2} offset
        Drivers: hv: vmbus: prevent cpu offlining on newer hypervisors
        perf stat: Document --detailed option
        ARM: OMAP3: Add cpuidle parameters table for omap3430
        compiler-gcc: disable -ftracer for __noclone functions
        ipvs: correct initial offset of Call-ID header search in SIP persistence engine
        nbd: ratelimit error msgs after socket close
        clk: versatile: sp810: support reentrance
        lpfc: fix misleading indentation
        ARM: SoCFPGA: Fix secondary CPU startup in thumb2 kernel
        proc: prevent accessing /proc/<PID>/environ until it's ready
        batman-adv: Fix broadcast/ogm queue limit on a removed interface
        MAINTAINERS: Remove asterisk from EFI directory names
        ACPICA: Dispatcher: Update thread ID for recursive method calls
        USB: serial: cp210x: add ID for Link ECU
        USB: serial: cp210x: add Straizona Focusers device ids
        Input: ads7846 - correct the value got from SPI
        powerpc: scan_features() updates incorrect bits for REAL_LE
        crypto: hash - Fix page length clamping in hash walk
        get_rock_ridge_filename(): handle malformed NM entries
        Input: max8997-haptic - fix NULL pointer dereference
        asmlinkage, pnp: Make variables used from assembler code visible
        ARM: OMAP3: Fix booting with thumb2 kernel
        decnet: Do not build routes to devices without decnet private data.
        route: do not cache fib route info on local routes with oif
        packet: fix heap info leak in PACKET_DIAG_MCLIST sock_diag interface
        atl2: Disable unimplemented scatter/gather feature
        net: fix infoleak in llc
        net: fix infoleak in rtnetlink
        VSOCK: do not disconnect socket when peer has shutdown SEND only
        net: bridge: fix old ioctl unlocked net device walk
        net: fix a kernel infoleak in x25 module
        fs/cifs: correctly to anonymous authentication via NTLMSSP
        ring-buffer: Use long for nr_pages to avoid overflow failures
        ring-buffer: Prevent overflow of size in ring_buffer_resize()
        mfd: omap-usb-tll: Fix scheduling while atomic BUG
        mmc: mmc: Fix partition switch timeout for some eMMCs
        mmc: longer timeout for long read time quirk
        Bluetooth: vhci: purge unhandled skbs
        USB: serial: keyspan: fix use-after-free in probe error path
        USB: serial: quatech2: fix use-after-free in probe error path
        USB: serial: io_edgeport: fix memory leaks in probe error path
        USB: serial: option: add support for Cinterion PH8 and AHxx
        tty: vt, return error when con_startup fails
        serial: samsung: Reorder the sequence of clock control when call s3c24xx_serial_set_termios()
        Linux 3.10.102

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	drivers/media/v4l2-core/v4l2-compat-ioctl32.c
	fs/pipe.c
	kernel/trace/trace_printk.c
	net/core/rtnetlink.c
	net/socket.c
2018-01-25 17:24:10 -07:00
Nathan Chancellor 94d2d91a4f This is the 3.10.98 stable release
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJWz1zgAAoJEDjbvchgkmk+yU8P/10DITNzrhCfz5wbhvvn9Uvo
 7H1DziOora3u9h8/rz6xqgFEz2/9cZ03KoLcpGha7kEFBsvgVhN3uSI0YFpVV2mT
 8/oh1ADdkky3Pld0f7gDGydDvrmgqx83/69SQ8hDQ8Mr2QTaKNvK05QGC2/EO9kI
 OcUAXjdAGglmf5rfhNhXodG/F2DtsA55uCzeyuBhcPE3bM7d4/48pwr1b2tW2CR8
 hsprRvSz+kGgHXQy8jYdxKEI66OC/i22xVnxEc8PZmPZ0fFfmszzc9nzhcseWfpe
 0JGgfwAtM8Va+bX4kfvqPpc2qR0r8Z2iEKNnAHnGutOvSWvow0l1OEedsb/+s1J6
 /AYlPIkgTxwLDAwBIymPgowkEMOPVZzPL0tkoZI8wjB+eqUxxLlIa2dNByCyUs/U
 1xTy+0UDMMDXG911mJl+yZFvd4R7lQUavIEStmMQ+A/Go2KrATaqIM8WETBlm7oH
 s3hZ3E+RBWmfD/6JQwsJNkwv6yWeaRXNE+bj8C1r/uBdPyGqX9T22OaIOlio+I71
 XBNEM5mrTlNeNVIUIKW29qmLBxBrH2LLwpv/dRyfOfzfhi1B+dl9+3sJauvrSmWi
 jrR1khGmmaZcfOT2DVmpwlDQCQcyMcy8S8RTTAHhhuNmWtSjdc3TcfRlHXvP0sOu
 ruXBufxernb94E7sqsvF
 =LW9r
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAlpqdMoACgkQmXOSYMts
 txYJKxAAkVgmXLjjtJbCUkYLzohjXabtfF9ekfy7UPRdBU+PPRC2c8tHcR6LCqXd
 v+hEiI80h72BqEVE4y3ztFZlhbpSonIcmRrG+/gWsWcWmY9S0owilHwhmrl3uvmC
 Fvso6+5oWVvVXuM8I4Ul/3bXmScVhv/rh22iN2hhOS7WgEVdqlhmYHC/KIpRK+rD
 dyUQ2eONgr14FyGswgK0zLaFKXvKhQfEjvAu4KXJek0sIPIUEVdZ5xgS2v4eLigN
 W0+ewi4DCTESCU8GCnZwwU1OIbe2De09sPIVwBM644bOIJRxOJxnL0a11IjwOaye
 P9ne98G3M1vTruiM+/dA40eGh7kFiKKlIqCO1mf1IqrQSYq+sNEuDSmD9XY+huRZ
 ktDue8NcUmFgJzJxeRYfdatCNF/esfdIzuzbFnw+Jr+EPACn6FiOXFgkJkUpo204
 wvv+nOhiYlSJQT81jqmVTn3iGyvZIJd15uCEryguNt8LmLafGlztYBZ5dSUkejcu
 nAipexnYGyrufD5XhshZlcBt1S1FCQZd3lUBETmqLzP+hiZG76ti96i2ro2hnyM5
 TWva2zmC1Cp89l0dWJjtNSohD4S6226Jc6ebHTDO/67gpsj3dlbH3IR7rDqKXgof
 AFltzPMYnfMPYuDmANTu7vqlJGI5974xrDA1hRAUN49YVxD5YKk=
 =fJ2P
 -----END PGP SIGNATURE-----

Merge 3.10.98 into android-msm-bullhead-3.10-oreo-m5

Changes in 3.10.98: (55 commits)
        ALSA: seq: Fix double port list deletion
        wan/x25: Fix use-after-free in x25_asy_open_tty()
        staging/speakup: Use tty_ldisc_ref() for paste kworker
        pty: fix possible use after free of tty->driver_data
        pty: make sure super_block is still valid in final /dev/tty close
        AIO: properly check iovec sizes
        ext4: fix potential integer overflow
        Btrfs: fix hang on extent buffer lock caused by the inode_paths ioctl
        perf: Fix inherited events vs. tracepoint filters
        ptrace: use fsuid, fsgid, effective creds for fs access checks
        tools lib traceevent: Fix output of %llu for 64 bit values read on 32 bit machines
        tracing: Fix freak link error caused by branch tracer
        klist: fix starting point removed bug in klist iterators
        scsi: restart list search after unlock in scsi_remove_target
        scsi_sysfs: Fix queue_ramp_up_period return code
        iscsi-target: Fix rx_login_comp hang after login failure
        Fix a memory leak in scsi_host_dev_release()
        SCSI: Fix NULL pointer dereference in runtime PM
        iscsi-target: Fix potential dead-lock during node acl delete
        SCSI: fix crashes in sd and sr runtime PM
        drivers/scsi/sg.c: mark VMA as VM_IO to prevent migration
        scsi_dh_rdac: always retry MODE SELECT on command lock violation
        scsi: fix soft lockup in scsi_remove_target() on module removal
        iio:ad7793: Fix ad7785 product ID
        iio: lpc32xx_adc: fix warnings caused by enabling unprepared clock
        iio:ad5064: Make sure ad5064_i2c_write() returns 0 on success
        iio: adis_buffer: Fix out-of-bounds memory access
        iio: dac: mcp4725: set iio name property in sysfs
        cifs: fix erroneous return value
        nfs: Fix race in __update_open_stateid()
        udf: limit the maximum number of indirect extents in a row
        udf: Prevent buffer overrun with multi-byte characters
        udf: Check output buffer length when converting name to CS0
        ARM: 8519/1: ICST: try other dividends than 1
        ARM: 8517/1: ICST: avoid arithmetic overflow in icst_hz()
        fuse: break infinite loop in fuse_fill_write_pages()
        mm: soft-offline: check return value in second __get_any_page() call
        Input: elantech - add Fujitsu Lifebook U745 to force crc_enabled
        Input: elantech - mark protocols v2 and v3 as semi-mt
        Input: i8042 - add Fujitsu Lifebook U745 to the nomux list
        iommu/vt-d: Fix 64-bit accesses to 32-bit DMAR_GSTS_REG
        mm/memory_hotplug.c: check for missing sections in test_pages_in_a_zone()
        xhci: Fix list corruption in urb dequeue at host removal
        m32r: fix m32104ut_defconfig build fail
        dma-debug: switch check from _text to _stext
        scripts/bloat-o-meter: fix python3 syntax error
        memcg: only free spare array when readers are done
        radix-tree: fix race in gang lookup
        radix-tree: fix oops after radix_tree_iter_retry
        intel_scu_ipcutil: underflow in scu_reg_access()
        x86/asm/irq: Stop relying on magic JMP behavior for early_idt_handlers
        futex: Drop refcount if requeue_pi() acquired the rtmutex
        ip6mr: call del_timer_sync() in ip6mr_free_table()
        module: wrapper for symbol name.
        Linux 3.10.98

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-01-25 17:22:34 -07:00
Nathan Chancellor 5f010c6c0b This is the 3.10.96 stable release
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJWqv2IAAoJEDjbvchgkmk+180QAKqYrypT3cyClNOHGRFRaxID
 Sxo8S9tr8apxaIeP/nfZH3fYXyoadKBwxet15PNYwGVex3jBIVO0M0kspNPu9guG
 ogM0hf558EiWpdN5kydwCyN2ukJkhPP9r1ZQ5T84UcqflIboLDYXksqW1w8JX7wm
 dumt8kbbnN42e9S1bXD79CRaBB+dkNBTg0fdfpCi7pOQvUQD9DAs/j6XM1ZkOouX
 P+/vnIWbRwzbVqlJSaWNfBotlNsydosazJD9lg8iFIRDpVGJPKYbDMP2MPpyrmyA
 mesNRIy0wD9cixXW6jMS3fkSOY27N5hZIYYVPWQ8vfCcooTej4GHw37C7Inlh8z6
 iWf/sy1Hu+vniJKAr0BD86ocZxnaMv//BQtwCJZv3TfuQ93QkaRmEznEnCHYGN4M
 thoaS7oYGfrJnsHKkh913Kr3K7QuvyFttOE058PloYzJbCPV+YVRa/UGyuR6qOCl
 SbuSMXDdUDcf/Wznr6S6p6T2GIfM8GYvfm7hzIYwHpClCQpDR3lRdonDAg82mdMh
 YCNbEZQ32+l8idBX/YG97MskMD869237yh4MLUUWoxLTbevAblkYSt81WuDO4Gya
 PcWcB+zH4t2Y25W9yVoTKmaJSJPhT4ngNFSy7V8zKgVG2Vmz4YIuLRhd6N2/fGcd
 FVSXw7uHZhrn+SEl+L6W
 =tiwo
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAlpqcPkACgkQmXOSYMts
 txZ4uw/9Hej/LcL0HWcjPVYvTS/aESazHijvR4eX/nQwC5d01JjVprP63xk58W5W
 qv/6hobuEiS/L3nlvTEleQ+NXmEFnt0SXme5bBYHl/BeWwHSd5fPQpOcPm/Wul39
 L1SuaNcLkf/+dW8asr5X6R0zUrPRaUhAmIwaRy79u/vr/tdJoTygAt5xRWxYZYLT
 etUYPpZPKNm5UVZ0Zb0ppJlTrQWJPRpuhsM9hXoL37fPOk7yDbXXzmfo4VkHrFVm
 8RM7PZIa4rVkN6rH2cZyH3aPj11CRB2VHe09Zj/by86rgXFEbccO70MwPoE66w4Z
 Q7rdAo6rx0MErcTAp/zx27IcFiQD9xfeDqbWG8By5CwaEACu2PwW2jl4FTy4UY2B
 sFX05SKFnJE/tWuQCictvlJ2QMIoJCb5VLv3bjmaco2/hnrn2aPvfMReXVthWXlx
 WkUNw9LoP8f4OC2v6I+SnliN9QM1JBQ3u2cEEF2ul8wksPFsRTBUqQhXtdoUFexO
 TThtRmSkpbXe8ZHIaIFVnQWiUO28Z50lkZo+axLH+soxNVWUJD2MgzjKMLj70a9k
 2PR9gZIC9UBLGtnQm3hWommFFWCCUhfGtnWY77SRrE5CuyI00c4qmWAQRfFpa+nM
 1DWw8fIv9w7t+RJ+xxs3umwXcwBKQ8EMUMsyZhnvoFgFqy93ZYg=
 =QpjP
 -----END PGP SIGNATURE-----

Merge 3.10.96 into android-msm-bullhead-3.10-oreo-m5

Changes in 3.10.96: (54 commits)
        af_unix: fix incorrect revert of 'lock_interruptible' in stream receive code
        x86/signal: Fix restart_syscall number for x32 tasks
        xen/gntdev: Grant maps should not be subject to NUMA balancing
        x86/xen: don't reset vcpu_info on a cancelled suspend
        KVM: PPC: Book3S HV: Prohibit setting illegal transaction state in MSR
        x86/reboot/quirks: Add iMac10,1 to pci_reboot_dmi_table[]
        x86/boot: Double BOOT_HEAP_SIZE to 64KB
        ipmi: move timer init to before irq is setup
        ALSA: hda - Add Intel Lewisburg device IDs Audio
        ALSA: hda - Apply pin fixup for HP ProBook 6550b
        ALSA: rme96: Fix unexpected volume reset after rate changes
        ALSA: hda - Add inverted dmic for Packard Bell DOTS
        ALSA: hda - Set SKL+ hda controller power at freeze() and thaw()
        ALSA: hda/realtek - Fix silent headphone output on MacPro 4,1 (v2)
        ALSA: seq: Fix missing NULL check at remove_events ioctl
        ALSA: seq: Fix race at timer setup and close
        ALSA: timer: Harden slave timer list handling
        ALSA: timer: Fix race among timer ioctls
        ALSA: timer: Fix double unlink of active_list
        ALSA: seq: Fix snd_seq_call_port_info_ioctl in compat mode
        ALSA: pcm: Fix snd_pcm_hw_params struct copy in compat mode
        ALSA: hrtimer: Fix stall by hrtimer_cancel()
        ALSA: control: Avoid kernel warnings from tlv ioctl with numid 0
        ASoC: wm8962: correct addresses for HPF_C_0/1
        ASoC: arizona: Fix bclk for sample rates that are multiple of 4kHz
        ASoC: compress: Fix compress device direction check
        usb: xhci: fix config fail of FS hub behind a HS hub with MTT
        USB: ipaq.c: fix a timeout loop
        USB: cp210x: add ID for ELV Marble Sound Board 1
        xhci: refuse loading if nousb is used
        veth: don’t modify ip_summed; doing so treats packets with bad checksums as good.
        ipv6/addrlabel: fix ip6addrlbl_get()
        sctp: sctp should release assoc when sctp_make_abort_user return NULL in sctp_close
        connector: bump skb->users before callback invocation
        unix: properly account for FDs passed over unix sockets
        bridge: Only call /sbin/bridge-stp for the initial network namespace
        net: possible use after free in dst_release
        tcp_yeah: don't set ssthresh below 2
        phonet: properly unshare skbs in phonet_rcv()
        isdn_ppp: Add checks for allocation failure in isdn_ppp_open()
        ppp, slip: Validate VJ compression slot parameters completely
        team: Replace rcu_read_lock with a mutex in team_vlan_rx_kill_vid
        powerpc/tm: Block signal return setting invalid MSR state
        powerpc: Make value-returning atomics fully ordered
        powerpc: Make {cmp}xchg* and their atomic_ versions fully ordered
        scripts/recordmcount.pl: support data in text section on powerpc
        arm64: fix building without CONFIG_UID16
        arm64: Clear out any singlestep state on a ptrace detach operation
        arm64: mm: ensure that the zero page is visible to the page table walker
        parisc iommu: fix panic due to trying to allocate too large region
        HID: core: Avoid uninitialized buffer access
        openrisc: fix CONFIG_UID16 setting
        mn10300: Select CONFIG_HAVE_UID16 to fix build failure
        Linux 3.10.96

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	arch/mn10300/Kconfig
	sound/core/timer.c
2018-01-25 17:06:17 -07:00
Nathan Chancellor 23fbf01bd8 This is the 3.10.95 stable release
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJWowK8AAoJEDjbvchgkmk+sFIP/3HvyY47jKTX7ykzRa78wJZK
 0ihPIOzV1OjgjvfRQZ4d6olGDMDuP5YbSAc0gHlIy71FO/cP7uPYSKZI9IrJAwSB
 ZEovaAS05nhbA1UuJFZo9V7JVYSc4IXNH/QoMvzJS+Zrpr0v0tlnxQSvP3kaeQpL
 Z5dbSd27XyzPp7gYM87Bn+OMkI1tPl+addyhqe7YwJ3MM7OUluLsZYxf30exoPjH
 bdckbaXVi1U+WUzA1OI7XboOuKQZh6NT+ZixheB7EQPvbN5kxZRDQKtNJWjnk24d
 ycU0KfGC1VntMULWhwJnn+elTxrQf0aVWkJcZM6xBri+g0BmGIli1DAD1WyYj3c7
 NSPDlTiNFcm95SUgDpB2PvT7Bue6T/0kRadpZJNgpjZgLtVMXo0r62Lo9Y11Y9Oa
 jRqSf7f7BsUJ+X3SDylcXXL60uiz5DOLpAyMp8TmI9JBh1hTymUhiHcEHR9iSUz+
 0QOw6P/XKfIXVe0qhzSeWXaRCKIFZIwWrNMztfj2U/SZtAmsoQ76Lpx2jCf/nqGz
 3IFAQ/dVhcfLRvOrcYPKFsMDWiLKMJNVTeKe2a9ywh8WCWajROfZvozm856dY42F
 gUTUn2MsAnm2T+wNnYcFZo0y2i8EaA4FfjEYfoUeEgyIDqc3w8+YjvgCFwDldLr4
 oMm63KBsozCC09L5rRpU
 =8AjQ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAlpqcIwACgkQmXOSYMts
 txZYsA//V8o4K4DIOIKDba1XSfocbydB4MyS8+rfavpSyRlrRdSdsR4p29mCY97H
 R3fem9CXUaRbW0gvQszYvZ7QgE/GgBeqAhuqIZzpX45F/o573XaPTFW7lSK1e4F/
 zn+kn7sww21AlQVoc6EMHyTWXqNtrKwwAaItUD7M4j5ZSYZ6b6FCPABSnJWLoNdl
 mkl2VmxcuOc48jgN3TV/K0igy4JxJlj94Uz3fomHcYdzCE2knHpkI2mP4ThOrmmn
 VWVr3F+IuX11J5Y9iR5DEzMq8KL9K+0P7P/k8xzuriYXi58+LYtiLZ0KgPU6vkLD
 1TvOlO/Katv2GOr2nHW4xo/NNtabkL0OaovuSHisbnqk1HXZHUMMvePDm45LY0Wl
 h/AdFlCJbt/8lF4I9VrYHCLKMa7kRnKl15vJLiMic5IWm3GSprtg7bOWYx0koUff
 ic5y/VduP6lJ6xfMDMKAO5yPFssCjxU+VBpVHF1zFe2ipeHnlCpG+q457Ic/PhRc
 iMXicZtGDVQ+l3T0RvJqpB03bx9vVV5M+EOOVY/esMUXIN2zE5jBVW3D1LSdcNq3
 cHeK0lILycbF0SfC3J72ASusbhu+tut4XIYXZEYWcbhxANTRhEudRqa+MwHQXBr/
 VTbkaYoCXRJBVMOG7lVZPveMMzTrDhqzOklmHn3VdCcPkY+yrfE=
 =SyC6
 -----END PGP SIGNATURE-----

Merge 3.10.95 into android-msm-bullhead-3.10-oreo-m5

Changes in 3.10.95: (36 commits)
        unix: avoid use-after-free in ep_remove_wait_queue
        sctp: translate host order to network order when setting a hmacid
        snmp: Remove duplicate OUTMCAST stat increment
        net: qmi_wwan: add XS Stick W100-2 from 4G Systems
        tcp: md5: fix lockdep annotation
        tcp: initialize tp->copied_seq in case of cross SYN connection
        net, scm: fix PaX detected msg_controllen overflow in scm_detach_fds
        net: ipmr: fix static mfc/dev leaks on table destruction
        net: ip6mr: fix static mfc/dev leaks on table destruction
        broadcom: fix PHY_ID_BCM5481 entry in the id table
        ipv6: distinguish frag queues by device for multicast and link-local packets
        ipv6: sctp: implement sctp_v6_destroy_sock()
        Btrfs: fix race leading to BUG_ON when running delalloc for nodatacow
        ext4, jbd2: ensure entering into panic after recording an error in superblock
        firewire: ohci: fix JMicron JMB38x IT context discovery
        nfs4: start callback_ident at idr 1
        nfs: if we have no valid attrs, then don't declare the attribute cache valid
        USB: cdc_acm: Ignore Infineon Flash Loader utility
        USB: cp210x: Remove CP2110 ID from compatibility list
        USB: add quirk for devices with broken LPM
        USB: whci-hcd: add check for dma mapping error
        usb: Use the USB_SS_MULT() macro to decode burst multiplier for log message
        gre6: allow to update all parameters via rtnl
        atl1c: Improve driver not to do order 4 GFP_ATOMIC allocation
        sctp: update the netstamp_needed counter when copying sockets
        ipv6: sctp: clone options to avoid use after free
        net: add validation for the socket syscall protocol argument
        sh_eth: fix kernel oops in skb_put()
        pptp: verify sockaddr_len in pptp_bind() and pptp_connect()
        bluetooth: Validate socket address length in sco_sock_bind().
        af_unix: Revert 'lock_interruptible' in stream receive code
        KEYS: Fix race between key destruction and finding a keyring by name
        KEYS: Fix crash when attempt to garbage collect an uninstantiated keyring
        KEYS: Fix race between read and revoke
        KEYS: Fix keyring ref leak in join_session_keyring()
        Linux 3.10.95

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	net/bluetooth/sco.c
	net/unix/af_unix.c
2018-01-25 17:04:28 -07:00
Nathan Chancellor 278da30af0 This is the 3.10.90 stable release
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJWDQYBAAoJEDjbvchgkmk+PrcQAICXm5q6InTIv16/Q2PKdny6
 iydBdhM8sBUYt2fFv0hOJgEXgzQ1HeNQ4JLNrfUHocoSw6gTq4e7pFN4AsyhoZzy
 DB2ZQ6cpxK6C3QPUa0C+zevoY/LsJac5TkNKT5RCxGRRolPgtTgtFw9RIXZdGPYo
 3Fpt8xrwBp+SS6cXUH7j7hJEeSCpcDN3P8xq1DcAmLX1fm8At9MLOujyaILQis4U
 oSaAinjg7rfTYbIpZFYix6B9F8PGqWe6/+bKLljhQhH7V7oR7aAyGKfKM53Gr1/h
 Y0j+FbLxa9GNeYlR/Kw79fiX8fMpW88qGQ26rSAVIN7JtMReu7CBRHY7/hvTsyrR
 wYywcHs9+zDUDlDMbp/v5ecTBkXVNRecEJpKtd7wQ7P4M79K3lR3Ar8sNxRvnP77
 IHLBBNQTzOagZLQXWAYfTdmsWXjf1J4Ij673Ae1DZf2/mkSp/3wXslDYwHbrLIP4
 WIYDlqc8B4+TxyJWNPXflfI6c2/nWU0ASYP/bMGGA9Kg+hReMW2DrGY0MTYCsfPg
 uhu9hq8AW9JIEwA5t8sj4iebq2U1Nl1QgdpuwmgolmROwmie7zf6+yuK6e7XKpwe
 A5vC7fDNTNmZOOo2tcNIH5QdHjrF/S19Re3dd1J44eBtkYiR4KM7vuBTMCrYf7r8
 cknJgSXzT1VMvcpM84Zq
 =w0iE
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAlpqcAwACgkQmXOSYMts
 txZtmA/+IzGuQW8ZtcxJgkca+QNgod6AW32WiH5btVRwRe0SiifT1vFSqIouKSWI
 rwIG0E2qDpYMitydli5zooSF5pUGW+zzyKiNElBQhbBQvZuS2VxUBlaqRvWXIk6e
 heDueAC/0OfXTuDRNf4Omj9BcI78881LTz/VUd3NKkOrf4qA6Xjjj8HGIlGgYO0h
 UtkbsGP2QzWo51X1Ad2TqZbs0rFP0kO2dOHIohVd4QQKIxNctLOj2+5oYpgxyNnA
 uxGOGQp5JnBOolclT2yVTuKLSHLRIzdqX+fB/swxoUjmeFMEsj8KEEtfZEIP+vP3
 b0rhNReA/v0j5Z6r/0oKtwqWm4p2aBjjhmmloMNu8xmpyxCnS5o9zits3HEzJ8EL
 MJ/NbRIhIGi2eLtGHn54+yS9MeX5AWurzLI+iNw8SBnDRKdbAMy0iki+puLtNP1f
 OaNmH67mHXNTt5juowHAMmbqb7UAHSIpHR1AthpahRZ+nSob9Z1I8b7aTvjB96n0
 sYBoe2eDIIFS6hqvkFh5pfv4uH9Ut171yu0G5fI7J9mfRsPuPhwmk0ZhBTby2a2n
 u8XuJe5oOwMphYCAZELdkfU6Y8ZpNWGySV7nIxKIc7bnYsDP/PukzbGqoITgtxU8
 W6CDDk8TVH0aCtnodpgiIvihYoPUc2FpodRD2aQRgcPVomO//wc=
 =qmSH
 -----END PGP SIGNATURE-----

Merge 3.10.90 into android-msm-bullhead-3.10-oreo-m5

Changes in 3.10.90: (55 commits)
        unshare: Unsharing a thread does not require unsharing a vm
        rtlwifi: rtl8192cu: Add new device ID
        tg3: Fix temperature reporting
        mac80211: enable assoc check for mesh interfaces
        arm64: kconfig: Move LIST_POISON to a safe value
        arm64: compat: fix vfp save/restore across signal handlers in big-endian
        arm64: head.S: initialise mdcr_el2 in el2_setup
        ALSA: hda - Enable headphone jack detect on old Fujitsu laptops
        ALSA: hda - Use ALC880_FIXUP_FUJITSU for FSC Amilo M1437
        powerpc/mm: Fix pte_pagesize_index() crash on 4K w/64K hash
        powerpc/rtas: Introduce rtas_get_sensor_fast() for IRQ handlers
        Add radeon suspend/resume quirk for HP Compaq dc5750.
        x86/mm: Initialize pmd_idx in page_table_range_init_count()
        rc-core: fix remove uevent generation
        NFSv4: don't set SETATTR for O_RDONLY|O_EXCL
        NFS: nfs_set_pgio_error sometimes misses errors
        parisc: Filter out spurious interrupts in PA-RISC irq handler
        vmscan: fix increasing nr_isolated incurred by putback unevictable pages
        fs: if a coredump already exists, unlink and recreate with O_EXCL
        mmc: core: fix race condition in mmc_wait_data_done
        md/raid10: always set reshape_safe when initializing reshape_position.
        xen/gntdev: convert priv->lock to a mutex
        hfs: fix B-tree corruption after insertion at position 0
        IB/uverbs: reject invalid or unknown opcodes
        IB/uverbs: Fix race between ib_uverbs_open and remove_one
        IB/mlx4: Forbid using sysfs to change RoCE pkeys
        IB/mlx4: Use correct SL on AH query under RoCE
        hfs,hfsplus: cache pages correctly between bnode_create and bnode_free
        sctp: fix ASCONF list handling
        vhost/scsi: potential memory corruption
        x86: bpf_jit: fix compilation of large bpf programs
        ipv6: Make MLD packets to only be processed locally
        net/tipc: initialize security state for new connection socket
        bridge: mdb: zero out the local br_ip variable before use
        net: pktgen: fix race between pktgen_thread_worker() and kthread_stop()
        net: call rcu_read_lock early in process_backlog
        net: Clone skb before setting peeked flag
        net: Fix skb csum races when peeking
        net: Fix skb_set_peeked use-after-free bug
        bridge: mdb: fix double add notification
        isdn/gigaset: reset tty->receive_room when attaching ser_gigaset
        ipv6: lock socket in ip6_datagram_connect()
        bonding: fix destruction of bond with devices different from arphrd_ether
        inet: frags: fix defragmented packet's IP header for af_packet
        netlink: don't hold mutex in rcu callback when releasing mmapd ring
        rds: fix an integer overflow test in rds_info_getsockopt()
        ip6_gre: release cached dst on tunnel removal
        usbnet: Get EVENT_NO_RUNTIME_PM bit before it is cleared
        ipv6: fix exthdrs offload registration in out_rt path
        net/ipv6: Correct PIM6 mrt_lock handling
        sctp: fix race on protocol/netns initialization
        fib_rules: fix fib rule dumps across multiple skbs
        vfs: Remove incorrect debugging WARN in prepend_path
        Revert "iio: bmg160: IIO_BUFFER and IIO_TRIGGERED_BUFFER are required"
        Linux 3.10.90

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-01-25 17:02:20 -07:00
Nathan Chancellor 4307935977 This is the 3.10.83 stable release
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJVl0l6AAoJEDjbvchgkmk+zxsP/inK1pJeQd3q7k8/e8vg60yi
 vtyuLZwcgZ5LqBeMBRYwXM5TRVgMsKYltIzLmZj/foK5cH+SrpANrFXZrjl6T32x
 k1UMd/xY5yoylGmNdIUnLjgxMCQ0XCBVhASA7Xvh6OEdMinVmcgsoB8OJSrcQZy+
 5HL30uBDO2QtBWLaioZikLie77JoDLQmCM83otlSsWd6f0A0eCRRJzJ7zS9UUxR1
 wA1eNmhwvbGVQE1FNmBMhAdh7kSRkaR6wrOcn2qDoNXiZ87wVnKUSrKXxrXo1E3z
 fFtui6dJUYlyjskfkFM+KJ8FaGkjShVWh9VJGQs3x3WGlQMZTrDhoOsKbwl8iFyl
 58cJ/vojCe76pbxcL1g+koPRAe917C6yV7nR+yRi7Epsv5NwWwQfsR7OmMwIAulj
 QIxqPos1a33DdNdesPYrZfUG1vcZ1JhNko4G8CIr5OmrPcZPe6QI1X3qwaM52ML0
 nTDwjHxZGiruNl4OkDHfwX+aOXWKqJivqzWA239XDePz/peNL0DZJFCFc9Ado1h5
 2bt1gNxn1Oiy0TPlDr3wLwjBjcYXIwICxGj0Hqh9hUv+IRL4JkfBUhG68koCgc2i
 KbKZZioPamF7MvMukahF87f/SMOXYPhqs7pSKR9zzkzwLFBNpZ6h+rYvii8xB4LX
 LztDlieyin8YFXI9MbM2
 =YwGL
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAlpqbKIACgkQmXOSYMts
 txZZPg//fMdsCYndbngE1i784SkIo80ilvQkEfIvIXA6YlT+BSW0DedZ4yE1nMED
 cf3NIaIYxtId6MyTqA7HUBZnq/j2Xoa4f3Nq9cY0S3X0NJjLRD8fd9LxGy0iUWkn
 BiODFt/lXB8OiMCpAsV8u7/71oTeRC3RyKOHGjkyMT1+sGzWDzdq688R4/ZmajoF
 nKjL6tBwSFmWY7yyCoJB+5me4UTHmM5hh0dq8JoOUTYdhoJtN8nBK79yOd5VJazZ
 B2MmSPNgnGD0ieFY6yTa0WbpbM2vZGzJSAnRFdb9WpOh5LGcQ2Tbz/+kD5uRzQNQ
 lykb+jhPaNYo3v60ufVK3Jhfy1si2O36V2GibZgDiJFcN3tgi5666Ho6PnB6dFs2
 V9NxBChAdeRHd5eLfDvO5mZxZtnnO45zvoVT4BVjqBFXA66RIVENw2bYvS7NFSUw
 K1e6YyUjV3WAd7Rmo4/tYPVfvwecEmC/vqMyXIugl5rOZ/5i8mol9qCU8tR6+JOQ
 cWKWsJIPZebSUGZ6ByTR7v22UxwRwL8vAir5UwX5Qxa6HnfcefXjrcxgn854ORr8
 nVSjRsJ8Q4cdC73Uja3gXmzcQkk67INWHfGqJBfS4nKSJrxD1WE1iPXTev9wlG7a
 h7m3j0XudE2dNN/8EFat8GBuedekIu0K1AYx6ESTAWMvXIzOSX4=
 =8vm4
 -----END PGP SIGNATURE-----

Merge 3.10.83 into android-msm-bullhead-3.10-oreo-m5

Changes in 3.10.83: (23 commits)
        fput: turn "list_head delayed_fput_list" into llist_head
        get rid of s_files and files_lock
        config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected
        netfilter: nfnetlink_cthelper: Remove 'const' and '&' to avoid warnings
        netfilter: Zero the tuple in nfnl_cthelper_parse_tuple()
        include/linux/sched.h: don't use task->pid/tgid in same_thread_group/has_group_leader_pid
        __ptrace_may_access() should not deny sub-threads
        ACPICA: Utilities: Cleanup to convert physical address printing formats.
        ACPICA: Utilities: Cleanup to remove useless ACPI_PRINTF/FORMAT_xxx helpers.
        sb_edac: Fix erroneous bytes->gigabytes conversion
        hpsa: refine the pci enable/disable handling
        hpsa: add missing pci_set_master in kdump path
        fs: take i_mutex during prepare_binprm for set[ug]id executables
        x86/microcode/intel: Guard against stack overflow in the loader
        Btrfs: make xattr replace operations atomic
        xfrm: Increase the garbage collector threshold
        ipv6: prevent fib6_run_gc() contention
        ipv6: update ip6_rt_last_gc every time GC is run
        d_walk() might skip too much
        ARM: clk-imx6q: refine sata's parent
        KVM: nSVM: Check for NRIPS support before updating control field
        bus: mvebu: pass the coherency availability information at init time
        Linux 3.10.83

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	fs/exec.c
	fs/super.c
2018-01-25 16:47:46 -07:00
Nathan Chancellor 32224079fd This is the 3.10.76 stable release
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJVQJeUAAoJEDjbvchgkmk+NlgP/jf4vyIubRhZNnEveDjCqCam
 OWVT/Q8fRLru9tEp8/b+gdWDDTZON7jJh5ERrwzzRud/LQwQudK+OhVlm7kKPXmY
 8uz6xdlcieKnMQleAQ/UiYqMv6VvjlAhNzUqcn60EeeAmMTix9WDFU0DFU2tvyFt
 qUR17px8vJDVI34Vv2d/Ihgt5lxMa8Bue4jZIQmPxdDHNiW9c8IUqr6vMDer4Ih0
 KuiES3FkQa61b5rEisNOWqEv/w+BH5Hn1XiN3gjBm5YznOhLHWJ5kR/2ewqCWbef
 DRdegojueSyN+ktzEDUnEWpC8zLhk3L4lBXILDSLBHvnoeEc17G5wMYKIe8DSk0B
 +tjSMq/IZMOaj68fYznOWH+UH3iBbQTSGriQShjR1zNqIz0XMMljkJNwnvzN4N3x
 0wNxr8mniIWvX7sCMYS6AWPFJCTNB6xi4mD7SJAeXzsD9+y/wUQkVymY0VkI7wxS
 OenmRy7GF7s/HLMUDTllEZ787dUdZSkrGLYooIii45dwWK87EB+4LkQT/9q1aPry
 JzAQYUxIK9vco/Xhy+CHfImoaovqzKHdxqgt5PbTHuCwj+3uKYChmBECQ4raeuU8
 JIqsr33wxlzhmzXhiwD4IcJvtDd6UiDeTpMtQOvBBce1gsKpL2+MS6s+8OiasO5F
 6TQV7+NtW4CS74ExjBjt
 =KO7Y
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAlpqavQACgkQmXOSYMts
 txas9Q//d0gcyDkHLn+viInrU5Mm4QV5GmMRPL3LnsNIiiJEjoLxKCX48dmPv1/1
 Qk8IOMQRTfBn6l4lNc5AoEP2Q2SYqCKJLKBooRBoDPw9FlsrlJ2BdGz/Bm8SXSxQ
 fM3IQ76GpeW2YOXF7bVNrmOdlye5/JcmhkOT0augXFWKyTLVpVrqO/V4Nm07UAUe
 6iw82ZNxLN9Rcm6H0l92VqI0//gcxYGZi0dfpDoWrvoND10Sz2URMRxzcns8t5Ri
 1YmT+Y9cPO+3DCqNbTmwct1zQ2TlnJotm5S5DGqTznoGzNmv2PMTEIAWaWN63P0M
 T+cJgQxLDJp8ycr9C1oyfwmH2nvS3SQUGS8eDKXN0eNAbAaVrDN80Kl5pzQUfvba
 sUfK3IPU/8brZRcKYtvlc9TlEUlStxQSaUtcTXLpQ4bkoMst+9W/SFEKLScOW0No
 PBi3EhTpAjBN+EmDn6QHG0virHPn9M18s0Z1ZlSzdAyCA4mLY//JyabIEofCTz58
 mIXmfPix9iNoBL/bekGpmqF/4B9nymUrWHQDvUflXbFwf0DrrLnEEGMNmpjJk4bx
 oxDuRb0/gzD7zs2pbTaWeysnl5UsmVDiQM9xLQBowNo+I4NoPv2+u9klHii4qEHW
 JlWsWJg4lFy6u7a9rQYjLEZWVZSNX6Y6e3er5m3qhyCbQwlKIQU=
 =U1aW
 -----END PGP SIGNATURE-----

Merge 3.10.76 into android-msm-bullhead-3.10-oreo-m5

Changes in 3.10.76: (34 commits)
        conditionally define U32_MAX
        remove extra definitions of U32_MAX
        tcp: prevent fetching dst twice in early demux code
        ipv6: Don't reduce hop limit for an interface
        tcp: fix FRTO undo on cumulative ACK of SACKed range
        tcp: tcp_make_synack() should clear skb->tstamp
        8139cp: Call dev_kfree_skby_any instead of kfree_skb.
        8139too: Call dev_kfree_skby_any instead of dev_kfree_skb.
        r8169: Call dev_kfree_skby_any instead of dev_kfree_skb.
        bnx2: Call dev_kfree_skby_any instead of dev_kfree_skb.
        tg3: Call dev_kfree_skby_any instead of dev_kfree_skb.
        ixgb: Call dev_kfree_skby_any instead of dev_kfree_skb.
        benet: Call dev_kfree_skby_any instead of kfree_skb.
        serial: 8250_dw: Fix deadlock in LCR workaround
        jfs: fix readdir regression
        splice: Apply generic position and size checks to each write
        mm: Fix NULL pointer dereference in madvise(MADV_WILLNEED) support
        Bluetooth: Enable Atheros 0cf3:311e for firmware upload
        Bluetooth: Add firmware update for Atheros 0cf3:311f
        Bluetooth: btusb: Add IMC Networks (Broadcom based)
        Bluetooth: Add support for Intel bootloader devices
        Bluetooth: Ignore isochronous endpoints for Intel USB bootloader
        netfilter: conntrack: disable generic tracking for known protocols
        KVM: x86: SYSENTER emulation is broken
        kconfig: Fix warning "‘jump’ may be used uninitialized"
        move d_rcu from overlapping d_child to overlapping d_alias
        deal with deadlock in d_walk()
        vm: add VM_FAULT_SIGSEGV handling support
        vm: make stack guard page errors return VM_FAULT_SIGSEGV rather than SIGBUS
        x86: mm: move mmap_sem unlock from mm_fault_error() to caller
        sb_edac: avoid INTERNAL ERROR message in EDAC with unspecified channel
        arc: mm: Fix build failure
        dcache: Fix locking bugs in backported "deal with deadlock in d_walk()"
        Linux 3.10.76

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-01-25 16:40:36 -07:00
Sabrina Dubroca 6f47a87d15 ip6_gre: fix endianness errors in ip6gre_err
commit d1e158e2d7a0a91110b206653f0e02376e809150 upstream.

info is in network byte order, change it back to host byte order
before use. In particular, the current code sets the MTU of the tunnel
to a wrong (too big) value.

Fixes: c12b395a46 ("gre: Support GRE over IPv6")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-11-02 10:46:00 +01:00
Eric Dumazet 488ec7b227 ipv6: fix typo in fib6_net_exit()
commit 32a805baf0fb70b6dbedefcd7249ac7f580f9e3b upstream.

IPv6 FIB should use FIB6_TABLE_HASHSZ, not FIB_TABLE_HASHSZ.

Fixes: ba1cc08d9488 ("ipv6: fix memory leak with multiple tables during netns destruction")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-11-02 10:46:00 +01:00
Sabrina Dubroca 4e39d5e48b ipv6: fix memory leak with multiple tables during netns destruction
commit ba1cc08d9488c94cb8d94f545305688b72a2a300 upstream.

fib6_net_exit only frees the main and local tables. If another table was
created with fib6_alloc_table, we leak it when the netns is destroyed.

Fix this in the same way ip_fib_net_exit cleans up tables, by walking
through the whole hashtable of fib6_table's. We can get rid of the
special cases for local and main, since they're also part of the
hashtable.

Reproducer:
    ip netns add x
    ip -net x -6 rule add from 6003:1::/64 table 100
    ip netns del x

Reported-by: Jianlin Shi <jishi@redhat.com>
Fixes: 58f09b78b7 ("[NETNS][IPV6] ip6_fib - make it per network namespace")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-11-02 10:46:00 +01:00
WANG Cong fa69abfe6a ipv6: avoid unregistering inet6_dev for loopback
commit 60abc0be96e00ca71bac083215ac91ad2e575096 upstream.

The per netns loopback_dev->ip6_ptr is unregistered and set to
NULL when its mtu is set to smaller than IPV6_MIN_MTU, this
leads to that we could set rt->rt6i_idev NULL after a
rt6_uncached_list_flush_dev() and then crash after another
call.

In this case we should just bring its inet6_dev down, rather
than unregistering it, at least prior to commit 176c39af29
("netns: fix addrconf_ifdown kernel panic") we always
override the case for loopback.

Thanks a lot to Andrey for finding a reliable reproducer.

Fixes: 176c39af29 ("netns: fix addrconf_ifdown kernel panic")
Reported-by: Andrey Konovalov <andreyknvl@google.com>
Cc: Andrey Konovalov <andreyknvl@google.com>
Cc: Daniel Lezcano <dlezcano@fr.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Acked-by: David Ahern <dsahern@gmail.com>
Tested-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-11-02 07:16:30 +01:00
Eric Dumazet f7eb769a8d net: ping: do not abuse udp_poll()
commit 77d4b1d36926a9b8387c6b53eeba42bcaaffcea3 upstream.

Alexander reported various KASAN messages triggered in recent kernels

The problem is that ping sockets should not use udp_poll() in the first
place, and recent changes in UDP stack finally exposed this old bug.

Fixes: c319b4d76b ("net: ipv4: add IPPROTO_ICMP socket kind")
Fixes: 6d0bfe226116 ("net: ipv6: Add IPv6 support to the ping socket.")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Sasha Levin <alexander.levin@verizon.com>
Cc: Solar Designer <solar@openwall.com>
Cc: Vasiliy Kulikov <segoon@openwall.com>
Cc: Lorenzo Colitti <lorenzo@google.com>
Acked-By: Lorenzo Colitti <lorenzo@google.com>
Tested-By: Lorenzo Colitti <lorenzo@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[wt: removed the parts related to ping6 as 6d0bfe226116 is not in 3.10]

Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-11-02 07:16:25 +01:00
Willem de Bruijn 69ddef7b41 udp: consistently apply ufo or fragmentation
commit 85f1bd9a7b5a79d5baa8bf44af19658f7bf77bfa upstream.

When iteratively building a UDP datagram with MSG_MORE and that
datagram exceeds MTU, consistently choose UFO or fragmentation.

Once skb_is_gso, always apply ufo. Conversely, once a datagram is
split across multiple skbs, do not consider ufo.

Sendpage already maintains the first invariant, only add the second.
IPv6 does not have a sendpage implementation to modify.

A gso skb must have a partial checksum, do not follow sk_no_check_tx
in udp_send_skb.

Found by syzkaller.

[gregkh - tweaks for 3.18 for ipv6, hopefully they are correct...]
[wt: s/skb_is_gso/skb_has_frags for 3.10]

Fixes: e89e9cf539 ("[IPv4/IPv6]: UFO Scatter-gather approach")
Reported-by: Andrey Konovalov <andreyknvl@google.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>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-11-01 22:12:41 +01:00
Jonathan Solnit 78ce025a11 Merge branch 'android-msm-bullhead-3.10-nyc-mr2' into android-msm-bullhead-3.10-oc
September 2017.1

Bug: 63173580
2017-07-18 20:28:55 -07:00
WANG Cong 6b58aa8f59 BACKPORT: ipv6/dccp: do not inherit ipv6_mc_list from parent
Like commit 657831ffc38e ("dccp/tcp: do not inherit mc_list from parent")
we should clear ipv6_mc_list etc. for IPv6 sockets too.

Cc: Eric Dumazet <edumazet@google.com>
Bug: 62299478
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 83eaddab4378db256d00d295bda6ca997cd13a52)
Signed-off-by: Connor O'Brien <connoro@google.com>

Change-Id: I6bcb4627885b7444949852f580a901fdae409349
2017-07-18 23:41:20 +00:00
Eric Dumazet 4c000367fe BACKPORT: ip6_gre: fix ip6gre_err() invalid reads
Andrey Konovalov reported out of bound accesses in ip6gre_err()

If GRE flags contains GRE_KEY, the following expression
*(((__be32 *)p) + (grehlen / 4) - 1)

accesses data ~40 bytes after the expected point, since
grehlen includes the size of IPv6 headers.

Let's use a "struct gre_base_hdr *greh" pointer to make this
code more readable.

p[1] becomes greh->protocol.
grhlen is the GRE header length.

Fixes: c12b395a46 ("gre: Support GRE over IPv6")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Roberto Pereira <rpere@google.com>
(cherry picked from commit 7892032cfe67f4bde6fc2ee967e45a8fbaf33756)
Bug:37871211
Change-Id: I839afd0948805b98e1aa6cbaca56f2e443f303af
2017-07-18 23:29:18 +00:00
Jamie Bainbridge 36805c5166 ipv6: check raw payload size correctly in ioctl
commit 105f5528b9bbaa08b526d3405a5bcd2ff0c953c8 upstream.

In situations where an skb is paged, the transport header pointer and
tail pointer can be the same because the skb contents are in frags.

This results in ioctl(SIOCINQ/FIONREAD) incorrectly returning a
length of 0 when the length to receive is actually greater than zero.

skb->len is already correctly set in ip6_input_finish() with
pskb_pull(), so use skb->len as it always returns the correct result
for both linear and paged data.

Signed-off-by: Jamie Bainbridge <jbainbri@redhat.com>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-06-20 14:04:54 +02:00
Nikolay Aleksandrov ab93db27af ip6mr: fix notification device destruction
commit 723b929ca0f79c0796f160c2eeda4597ee98d2b8 upstream.

Andrey Konovalov reported a BUG caused by the ip6mr code which is caused
because we call unregister_netdevice_many for a device that is already
being destroyed. In IPv4's ipmr that has been resolved by two commits
long time ago by introducing the "notify" parameter to the delete
function and avoiding the unregister when called from a notifier, so
let's do the same for ip6mr.

The trace from Andrey:
------------[ cut here ]------------
kernel BUG at net/core/dev.c:6813!
invalid opcode: 0000 [#1] SMP KASAN
Modules linked in:
CPU: 1 PID: 1165 Comm: kworker/u4:3 Not tainted 4.11.0-rc7+ #251
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs
01/01/2011
Workqueue: netns cleanup_net
task: ffff880069208000 task.stack: ffff8800692d8000
RIP: 0010:rollback_registered_many+0x348/0xeb0 net/core/dev.c:6813
RSP: 0018:ffff8800692de7f0 EFLAGS: 00010297
RAX: ffff880069208000 RBX: 0000000000000002 RCX: 0000000000000001
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88006af90569
RBP: ffff8800692de9f0 R08: ffff8800692dec60 R09: 0000000000000000
R10: 0000000000000006 R11: 0000000000000000 R12: ffff88006af90070
R13: ffff8800692debf0 R14: dffffc0000000000 R15: ffff88006af90000
FS:  0000000000000000(0000) GS:ffff88006cb00000(0000)
knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fe7e897d870 CR3: 00000000657e7000 CR4: 00000000000006e0
Call Trace:
 unregister_netdevice_many.part.105+0x87/0x440 net/core/dev.c:7881
 unregister_netdevice_many+0xc8/0x120 net/core/dev.c:7880
 ip6mr_device_event+0x362/0x3f0 net/ipv6/ip6mr.c:1346
 notifier_call_chain+0x145/0x2f0 kernel/notifier.c:93
 __raw_notifier_call_chain kernel/notifier.c:394
 raw_notifier_call_chain+0x2d/0x40 kernel/notifier.c:401
 call_netdevice_notifiers_info+0x51/0x90 net/core/dev.c:1647
 call_netdevice_notifiers net/core/dev.c:1663
 rollback_registered_many+0x919/0xeb0 net/core/dev.c:6841
 unregister_netdevice_many.part.105+0x87/0x440 net/core/dev.c:7881
 unregister_netdevice_many net/core/dev.c:7880
 default_device_exit_batch+0x4fa/0x640 net/core/dev.c:8333
 ops_exit_list.isra.4+0x100/0x150 net/core/net_namespace.c:144
 cleanup_net+0x5a8/0xb40 net/core/net_namespace.c:463
 process_one_work+0xc04/0x1c10 kernel/workqueue.c:2097
 worker_thread+0x223/0x19c0 kernel/workqueue.c:2231
 kthread+0x35e/0x430 kernel/kthread.c:231
 ret_from_fork+0x31/0x40 arch/x86/entry/entry_64.S:430
Code: 3c 32 00 0f 85 70 0b 00 00 48 b8 00 02 00 00 00 00 ad de 49 89
47 78 e9 93 fe ff ff 49 8d 57 70 49 8d 5f 78 eb 9e e8 88 7a 14 fe <0f>
0b 48 8b 9d 28 fe ff ff e8 7a 7a 14 fe 48 b8 00 00 00 00 00
RIP: rollback_registered_many+0x348/0xeb0 RSP: ffff8800692de7f0
---[ end trace e0b29c57e9b3292c ]---

Reported-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Tested-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-06-20 14:04:51 +02:00
Mantas M 3fa16561f1 net: ipv6: check route protocol when deleting routes
commit c2ed1880fd61a998e3ce40254a99a2ad000f1a7d upstream.

The protocol field is checked when deleting IPv4 routes, but ignored for
IPv6, which causes problems with routing daemons accidentally deleting
externally set routes (observed by multiple bird6 users).

This can be verified using `ip -6 route del <prefix> proto something`.

Signed-off-by: Mantas Mikulėnas <grawity@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-06-20 14:04:47 +02:00
Florian Westphal cb93d3f489 ipv6: avoid write to a possibly cloned skb
commit 79e49503efe53a8c51d8b695bedc8a346c5e4a87 upstream.

ip6_fragment, in case skb has a fraglist, checks if the
skb is cloned.  If it is, it will move to the 'slow path' and allocates
new skbs for each fragment.

However, right before entering the slowpath loop, it updates the
nexthdr value of the last ipv6 extension header to NEXTHDR_FRAGMENT,
to account for the fragment header that will be inserted in the new
ipv6-fragment skbs.

In case original skb is cloned this munges nexthdr value of another
skb.  Avoid this by doing the nexthdr update for each of the new fragment
skbs separately.

This was observed with tcpdump on a bridge device where netfilter ipv6
reassembly is active:  tcpdump shows malformed fragment headers as
the l4 header (icmpv6, tcp, etc). is decoded as a fragment header.

Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
Reported-by: Andreas Karis <akaris@redhat.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-06-20 14:04:31 +02:00
Kefeng Wang cba3e28f6c ipv6: addrconf: Avoid addrconf_disable_change() using RCU read-side lock
commit 03e4deff4987f79c34112c5ba4eb195d4f9382b0 upstream.

Just like commit 4acd4945cd ("ipv6: addrconf: Avoid calling
netdevice notifiers with RCU read-side lock"), it is unnecessary
to make addrconf_disable_change() use RCU iteration over the
netdev list, since it already holds the RTNL lock, or we may meet
Illegal context switch in RCU read-side critical section.

Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-06-20 14:04:17 +02:00
Dave Jones 8676954ba6 ipv6: handle -EFAULT from skb_copy_bits
commit a98f91758995cb59611e61318dddd8a6956b52c3 upstream.

By setting certain socket options on ipv6 raw sockets, we can confuse the
length calculation in rawv6_push_pending_frames triggering a BUG_ON.

RIP: 0010:[<ffffffff817c6390>] [<ffffffff817c6390>] rawv6_sendmsg+0xc30/0xc40
RSP: 0018:ffff881f6c4a7c18  EFLAGS: 00010282
RAX: 00000000fffffff2 RBX: ffff881f6c681680 RCX: 0000000000000002
RDX: ffff881f6c4a7cf8 RSI: 0000000000000030 RDI: ffff881fed0f6a00
RBP: ffff881f6c4a7da8 R08: 0000000000000000 R09: 0000000000000009
R10: ffff881fed0f6a00 R11: 0000000000000009 R12: 0000000000000030
R13: ffff881fed0f6a00 R14: ffff881fee39ba00 R15: ffff881fefa93a80

Call Trace:
 [<ffffffff8118ba23>] ? unmap_page_range+0x693/0x830
 [<ffffffff81772697>] inet_sendmsg+0x67/0xa0
 [<ffffffff816d93f8>] sock_sendmsg+0x38/0x50
 [<ffffffff816d982f>] SYSC_sendto+0xef/0x170
 [<ffffffff816da27e>] SyS_sendto+0xe/0x10
 [<ffffffff81002910>] do_syscall_64+0x50/0xa0
 [<ffffffff817f7cbc>] entry_SYSCALL64_slow_path+0x25/0x25

Handle by jumping to the failure path if skb_copy_bits gets an EFAULT.

Reproducer:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

#define LEN 504

int main(int argc, char* argv[])
{
	int fd;
	int zero = 0;
	char buf[LEN];

	memset(buf, 0, LEN);

	fd = socket(AF_INET6, SOCK_RAW, 7);

	setsockopt(fd, SOL_IPV6, IPV6_CHECKSUM, &zero, 4);
	setsockopt(fd, SOL_IPV6, IPV6_DSTOPTS, &buf, LEN);

	sendto(fd, buf, 1, 0, (struct sockaddr *) buf, 110);
}

Signed-off-by: Dave Jones <davej@codemonkey.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-06-08 00:47:11 +02:00
Li RongQing abcfcd047b ipv6: fix the use of pcpu_tstats in ip6_tunnel
commit abb6013cca147ad940b0e9fee260d2d9e93b7018 upstream.

when read/write the 64bit data, the correct lock should be hold.

Fixes: 87b6d218f3 ("tunnel: implement 64 bits statistics")

Cc: Stephen Hemminger <stephen@networkplumber.org>
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Li RongQing <roy.qing.li@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-06-08 00:47:10 +02:00
Dan Carpenter e246c0986e ipv6: pointer math error in ip6_tnl_parse_tlv_enc_lim()
commit 63117f09c768be05a0bf465911297dc76394f686 upstream.

Casting is a high precedence operation but "off" and "i" are in terms of
bytes so we need to have some parenthesis here.

Fixes: fbfa743a9d2a ("ipv6: fix ip6_tnl_parse_tlv_enc_lim()")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-06-08 00:47:10 +02:00
Eric Dumazet 72bbf335e7 ipv6: fix ip6_tnl_parse_tlv_enc_lim()
commit fbfa743a9d2a0ffa24251764f10afc13eb21e739 upstream.

This function suffers from multiple issues.

First one is that pskb_may_pull() may reallocate skb->head,
so the 'raw' pointer needs either to be reloaded or not used at all.

Second issue is that NEXTHDR_DEST handling does not validate
that the options are present in skb->data, so we might read
garbage or access non existent memory.

With help from Willem de Bruijn.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Dmitry Vyukov  <dvyukov@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-06-08 00:47:10 +02:00
Jon Maxwell 29c4bf40ac dccp/tcp: fix routing redirect race
commit 45caeaa5ac0b4b11784ac6f932c0ad4c6b67cda0 upstream.

As Eric Dumazet pointed out this also needs to be fixed in IPv6.
v2: Contains the IPv6 tcp/Ipv6 dccp patches as well.

We have seen a few incidents lately where a dst_enty has been freed
with a dangling TCP socket reference (sk->sk_dst_cache) pointing to that
dst_entry. If the conditions/timings are right a crash then ensues when the
freed dst_entry is referenced later on. A Common crashing back trace is:

 #8 [] page_fault at ffffffff8163e648
    [exception RIP: __tcp_ack_snd_check+74]
.
.
 #9 [] tcp_rcv_established at ffffffff81580b64
#10 [] tcp_v4_do_rcv at ffffffff8158b54a
#11 [] tcp_v4_rcv at ffffffff8158cd02
#12 [] ip_local_deliver_finish at ffffffff815668f4
#13 [] ip_local_deliver at ffffffff81566bd9
#14 [] ip_rcv_finish at ffffffff8156656d
#15 [] ip_rcv at ffffffff81566f06
#16 [] __netif_receive_skb_core at ffffffff8152b3a2
#17 [] __netif_receive_skb at ffffffff8152b608
#18 [] netif_receive_skb at ffffffff8152b690
#19 [] vmxnet3_rq_rx_complete at ffffffffa015eeaf [vmxnet3]
#20 [] vmxnet3_poll_rx_only at ffffffffa015f32a [vmxnet3]
#21 [] net_rx_action at ffffffff8152bac2
#22 [] __do_softirq at ffffffff81084b4f
#23 [] call_softirq at ffffffff8164845c
#24 [] do_softirq at ffffffff81016fc5
#25 [] irq_exit at ffffffff81084ee5
#26 [] do_IRQ at ffffffff81648ff8

Of course it may happen with other NIC drivers as well.

It's found the freed dst_entry here:

 224 static bool tcp_in_quickack_mode(struct sock *sk)↩
 225 {↩
 226 ▹       const struct inet_connection_sock *icsk = inet_csk(sk);↩
 227 ▹       const struct dst_entry *dst = __sk_dst_get(sk);↩
 228 ↩
 229 ▹       return (dst && dst_metric(dst, RTAX_QUICKACK)) ||↩
 230 ▹       ▹       (icsk->icsk_ack.quick && !icsk->icsk_ack.pingpong);↩
 231 }↩

But there are other backtraces attributed to the same freed dst_entry in
netfilter code as well.

All the vmcores showed 2 significant clues:

- Remote hosts behind the default gateway had always been redirected to a
different gateway. A rtable/dst_entry will be added for that host. Making
more dst_entrys with lower reference counts. Making this more probable.

- All vmcores showed a postitive LockDroppedIcmps value, e.g:

LockDroppedIcmps                  267

A closer look at the tcp_v4_err() handler revealed that do_redirect() will run
regardless of whether user space has the socket locked. This can result in a
race condition where the same dst_entry cached in sk->sk_dst_entry can be
decremented twice for the same socket via:

do_redirect()->__sk_dst_check()-> dst_release().

Which leads to the dst_entry being prematurely freed with another socket
pointing to it via sk->sk_dst_cache and a subsequent crash.

To fix this skip do_redirect() if usespace has the socket locked. Instead let
the redirect take place later when user space does not have the socket
locked.

The dccp/IPv6 code is very similar in this respect, so fixing it there too.

As Eric Garver pointed out the following commit now invalidates routes. Which
can set the dst->obsolete flag so that ipv4_dst_check() returns null and
triggers the dst_release().

Fixes: ceb3320610 ("ipv4: Kill routes during PMTU/redirect updates.")
Cc: Eric Garver <egarver@redhat.com>
Cc: Hannes Sowa <hsowa@redhat.com>
Signed-off-by: Jon Maxwell <jmaxwell37@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-06-08 00:47:04 +02:00
Eric Dumazet a05c8e3964 ip6_gre: fix ip6gre_err() invalid reads
commit 7892032cfe67f4bde6fc2ee967e45a8fbaf33756 upstream.

Andrey Konovalov reported out of bound accesses in ip6gre_err()

If GRE flags contains GRE_KEY, the following expression
*(((__be32 *)p) + (grehlen / 4) - 1)

accesses data ~40 bytes after the expected point, since
grehlen includes the size of IPv6 headers.

Let's use a "struct gre_base_hdr *greh" pointer to make this
code more readable.

p[1] becomes greh->protocol.
grhlen is the GRE header length.

Fixes: c12b395a46 ("gre: Support GRE over IPv6")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-06-08 00:46:58 +02:00
Herbert Xu 8ec6068428 gro: Disable frag0 optimization on IPv6 ext headers
commit 57ea52a865144aedbcd619ee0081155e658b6f7d upstream.

The GRO fast path caches the frag0 address.  This address becomes
invalid if frag0 is modified by pskb_may_pull or its variants.
So whenever that happens we must disable the frag0 optimization.

This is usually done through the combination of gro_header_hard
and gro_header_slow, however, the IPv6 extension header path did
the pulling directly and would continue to use the GRO fast path
incorrectly.

This patch fixes it by disabling the fast path when we enter the
IPv6 extension header path.

Fixes: 78a478d0ef ("gro: Inline skb_gro_header and cache frag0 virtual address")
Reported-by: Slava Shwartsman <slavash@mellanox.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-06-08 00:46:54 +02:00
Maciej Żenczykowski dad64933db BACKPORT: ipv6 addrconf: implement RFC7559 router solicitation backoff
This implements:
  https://tools.ietf.org/html/rfc7559

Backoff is performed according to RFC3315 section 14:
  https://tools.ietf.org/html/rfc3315#section-14

We allow setting /proc/sys/net/ipv6/conf/*/router_solicitations
to a negative value meaning an unlimited number of retransmits,
and we make this the new default (inline with the RFC).

We also add a new setting:
  /proc/sys/net/ipv6/conf/*/router_solicitation_max_interval
defaulting to 1 hour (per RFC recommendation).

Signed-off-by: Maciej Żenczykowski <maze@google.com>
Acked-by: Erik Kline <ek@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit bd11f0741fa5a2c296629898ad07759dd12b35bb in
DaveM's net-next/master, should make Linus' tree in 4.9-rc1)
Change-Id: Ia32cdc5c61481893ef8040734e014bf2229fc39e
2017-04-11 16:47:07 +09:00
Joel Scherpelz e29230a913 net: ipv6: Add sysctl for minimum prefix len acceptable in RIOs.
This commit adds a new sysctl accept_ra_rt_info_min_plen that
defines the minimum acceptable prefix length of Route Information
Options. The new sysctl is intended to be used together with
accept_ra_rt_info_max_plen to configure a range of acceptable
prefix lengths. It is useful to prevent misconfigurations from
unintentionally blackholing too much of the IPv6 address space
(e.g., home routers announcing RIOs for fc00::/7, which is
incorrect).

Backport of net-next commit bbea124bc99d ("net: ipv6: Add sysctl for minimum prefix len acceptable in RIOs.")

[lorenzo@google.com: fixed conflicts in include/uapi/linux/ipv6.h]
Bug: 33333670
Test: net_test passes

Signed-off-by: Joel Scherpelz <jscherpelz@google.com>
Acked-by: Lorenzo Colitti <lorenzo@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-04-07 06:22:09 +00:00
John Dias 383afae450 Merge branch 'android-msm-bullhead-3.10-nyc-mr2' into android-msm-bullhead-3.10
April 2017.1

Bug: 34977530
2017-02-23 17:05:32 -08:00
Eric Dumazet f6432eda14 UPSTREAM: udp: properly support MSG_PEEK with truncated buffers
commit 197c949e7798fbf28cfadc69d9ca0c2abbf93191 upstream.

Backport of this upstream commit into stable kernels :
89c22d8c3b27 ("net: Fix skb csum races when peeking")
exposed a bug in udp stack vs MSG_PEEK support, when user provides
a buffer smaller than skb payload.

In this case,
skb_copy_and_csum_datagram_iovec(skb, sizeof(struct udphdr),
                                 msg->msg_iov);
returns -EFAULT.

This bug does not happen in upstream kernels since Al Viro did a great
job to replace this into :
skb_copy_and_csum_datagram_msg(skb, sizeof(struct udphdr), msg);
This variant is safe vs short buffers.

For the time being, instead reverting Herbert Xu patch and add back
skb->ip_summed invalid changes, simply store the result of
udp_lib_checksum_complete() so that we avoid computing the checksum a
second time, and avoid the problematic
skb_copy_and_csum_datagram_iovec() call.

This patch can be applied on recent kernels as it avoids a double
checksumming, then backported to stable kernels as a bug fix.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
[ luis: backported to 3.16: adjusted context ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
Signed-off-by: Charles (Chas) Williams <ciwillia@brocade.com>
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit 98f57e42ca)
Bug: 32813456
Change-Id: I53e4014eaa54fb9de304d23437da6ce461c2ddc6
2017-02-14 23:55:38 +00:00
Nikolay Aleksandrov 2943dca4f3 ipmr, ip6mr: fix scheduling while atomic and a deadlock with ipmr_get_route
commit 2cf750704bb6d7ed8c7d732e071dd1bc890ea5e8 upstream.

Since the commit below the ipmr/ip6mr rtnl_unicast() code uses the portid
instead of the previous dst_pid which was copied from in_skb's portid.
Since the skb is new the portid is 0 at that point so the packets are sent
to the kernel and we get scheduling while atomic or a deadlock (depending
on where it happens) by trying to acquire rtnl two times.
Also since this is RTM_GETROUTE, it can be triggered by a normal user.

Here's the sleeping while atomic trace:
[ 7858.212557] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:620
[ 7858.212748] in_atomic(): 1, irqs_disabled(): 0, pid: 0, name: swapper/0
[ 7858.212881] 2 locks held by swapper/0/0:
[ 7858.213013]  #0:  (((&mrt->ipmr_expire_timer))){+.-...}, at: [<ffffffff810fbbf5>] call_timer_fn+0x5/0x350
[ 7858.213422]  #1:  (mfc_unres_lock){+.....}, at: [<ffffffff8161e005>] ipmr_expire_process+0x25/0x130
[ 7858.213807] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.8.0-rc7+ #179
[ 7858.213934] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[ 7858.214108]  0000000000000000 ffff88005b403c50 ffffffff813a7804 0000000000000000
[ 7858.214412]  ffffffff81a1338e ffff88005b403c78 ffffffff810a4a72 ffffffff81a1338e
[ 7858.214716]  000000000000026c 0000000000000000 ffff88005b403ca8 ffffffff810a4b9f
[ 7858.215251] Call Trace:
[ 7858.215412]  <IRQ>  [<ffffffff813a7804>] dump_stack+0x85/0xc1
[ 7858.215662]  [<ffffffff810a4a72>] ___might_sleep+0x192/0x250
[ 7858.215868]  [<ffffffff810a4b9f>] __might_sleep+0x6f/0x100
[ 7858.216072]  [<ffffffff8165bea3>] mutex_lock_nested+0x33/0x4d0
[ 7858.216279]  [<ffffffff815a7a5f>] ? netlink_lookup+0x25f/0x460
[ 7858.216487]  [<ffffffff8157474b>] rtnetlink_rcv+0x1b/0x40
[ 7858.216687]  [<ffffffff815a9a0c>] netlink_unicast+0x19c/0x260
[ 7858.216900]  [<ffffffff81573c70>] rtnl_unicast+0x20/0x30
[ 7858.217128]  [<ffffffff8161cd39>] ipmr_destroy_unres+0xa9/0xf0
[ 7858.217351]  [<ffffffff8161e06f>] ipmr_expire_process+0x8f/0x130
[ 7858.217581]  [<ffffffff8161dfe0>] ? ipmr_net_init+0x180/0x180
[ 7858.217785]  [<ffffffff8161dfe0>] ? ipmr_net_init+0x180/0x180
[ 7858.217990]  [<ffffffff810fbc95>] call_timer_fn+0xa5/0x350
[ 7858.218192]  [<ffffffff810fbbf5>] ? call_timer_fn+0x5/0x350
[ 7858.218415]  [<ffffffff8161dfe0>] ? ipmr_net_init+0x180/0x180
[ 7858.218656]  [<ffffffff810fde10>] run_timer_softirq+0x260/0x640
[ 7858.218865]  [<ffffffff8166379b>] ? __do_softirq+0xbb/0x54f
[ 7858.219068]  [<ffffffff816637c8>] __do_softirq+0xe8/0x54f
[ 7858.219269]  [<ffffffff8107a948>] irq_exit+0xb8/0xc0
[ 7858.219463]  [<ffffffff81663452>] smp_apic_timer_interrupt+0x42/0x50
[ 7858.219678]  [<ffffffff816625bc>] apic_timer_interrupt+0x8c/0xa0
[ 7858.219897]  <EOI>  [<ffffffff81055f16>] ? native_safe_halt+0x6/0x10
[ 7858.220165]  [<ffffffff810d64dd>] ? trace_hardirqs_on+0xd/0x10
[ 7858.220373]  [<ffffffff810298e3>] default_idle+0x23/0x190
[ 7858.220574]  [<ffffffff8102a20f>] arch_cpu_idle+0xf/0x20
[ 7858.220790]  [<ffffffff810c9f8c>] default_idle_call+0x4c/0x60
[ 7858.221016]  [<ffffffff810ca33b>] cpu_startup_entry+0x39b/0x4d0
[ 7858.221257]  [<ffffffff8164f995>] rest_init+0x135/0x140
[ 7858.221469]  [<ffffffff81f83014>] start_kernel+0x50e/0x51b
[ 7858.221670]  [<ffffffff81f82120>] ? early_idt_handler_array+0x120/0x120
[ 7858.221894]  [<ffffffff81f8243f>] x86_64_start_reservations+0x2a/0x2c
[ 7858.222113]  [<ffffffff81f8257c>] x86_64_start_kernel+0x13b/0x14a

Fixes: 2942e90050 ("[RTNETLINK]: Use rtnl_unicast() for rtnetlink unicasts")
Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-02-10 11:03:52 +01:00
Michal Kubecek 5a0b77dcdb net: disable fragment reassembly if high_thresh is set to zero
commit 30759219f562cfaaebe7b9c1d1c0e6b5445c69b0 upstream.

Before commit 6d7b857d54 ("net: use lib/percpu_counter API for
fragmentation mem accounting"), setting high threshold to 0 prevented
fragment reassembly as first fragment would be always evicted before
second could be added to the queue. While inefficient, some users
apparently relied on it.

Since the commit mentioned above, a percpu counter is used for
reassembly memory accounting and high batch size avoids taking slow path
in most common scenarios. As a result, a whole full sized packet can be
reassembled without the percpu counter's main counter changing its
value so that even with high_thresh set to 0, fragmented packets can be
still reassembled and processed.

Add explicit checks preventing reassembly if high threshold is zero.

[mk] backport to 3.12

Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-02-10 11:03:48 +01:00
Eric Dumazet 56325d9fb7 tcp: take care of truncations done by sk_filter()
commit ac6e780070e30e4c35bd395acfe9191e6268bdd3 upstream.

With syzkaller help, Marco Grassi found a bug in TCP stack,
crashing in tcp_collapse()

Root cause is that sk_filter() can truncate the incoming skb,
but TCP stack was not really expecting this to happen.
It probably was expecting a simple DROP or ACCEPT behavior.

We first need to make sure no part of TCP header could be removed.
Then we need to adjust TCP_SKB_CB(skb)->end_seq

Many thanks to syzkaller team and Marco for giving us a reproducer.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Marco Grassi <marco.gra@gmail.com>
Reported-by: Vladis Dronov <vdronov@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-02-10 11:03:46 +01:00
Eric Dumazet 1c50d3ae6d tcp: properly scale window in tcp_v[46]_reqsk_send_ack()
commit 20a2b49fc538540819a0c552877086548cff8d8d upstream.

When sending an ack in SYN_RECV state, we must scale the offered
window if wscale option was negotiated and accepted.

Tested:
 Following packetdrill test demonstrates the issue :

0.000 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
+0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0

+0 bind(3, ..., ...) = 0
+0 listen(3, 1) = 0

// Establish a connection.
+0 < S 0:0(0) win 20000 <mss 1000,sackOK,wscale 7, nop, TS val 100 ecr 0>
+0 > S. 0:0(0) ack 1 win 28960 <mss 1460,sackOK, TS val 100 ecr 100, nop, wscale 7>

+0 < . 1:11(10) ack 1 win 156 <nop,nop,TS val 99 ecr 100>
// check that window is properly scaled !
+0 > . 1:1(0) ack 1 win 226 <nop,nop,TS val 200 ecr 100>

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Acked-by: Yuchung Cheng <ycheng@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-02-10 11:03:46 +01:00
Paolo Abeni 68836e4966 ip6_tunnel: disable caching when the traffic class is inherited
commit b5c2d49544e5930c96e2632a7eece3f4325a1888 upstream.

If an ip6 tunnel is configured to inherit the traffic class from
the inner header, the dst_cache must be disabled or it will foul
the policy routing.

The issue is apprently there since at leat Linux-2.6.12-rc2.

Reported-by: Liam McBirnie <liam.mcbirnie@boeing.com>
Cc: Liam McBirnie <liam.mcbirnie@boeing.com>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-02-10 11:03:45 +01:00
Nicolas Dichtel 14ba02f999 ipv6: correctly add local routes when lo goes up
commit a220445f9f4382c36a53d8ef3e08165fa27f7e2c upstream.

The goal of the patch is to fix this scenario:
 ip link add dummy1 type dummy
 ip link set dummy1 up
 ip link set lo down ; ip link set lo up

After that sequence, the local route to the link layer address of dummy1 is
not there anymore.

When the loopback is set down, all local routes are deleted by
addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still
exists, because the corresponding idev has a reference on it. After the rcu
grace period, dst_rcu_free() is called, and thus ___dst_free(), which will
set obsolete to DST_OBSOLETE_DEAD.

In this case, init_loopback() is called before dst_rcu_free(), thus
obsolete is still sets to something <= 0. So, the function doesn't add the
route again. To avoid that race, let's check the rt6 refcnt instead.

Fixes: 25fb6ca4ed ("net IPv6 : Fix broken IPv6 routing table after loopback down-up")
Fixes: a881ae1f62 ("ipv6: don't call addrconf_dst_alloc again when enable lo")
Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up")
Reported-by: Francesco Santoro <francesco.santoro@6wind.com>
Reported-by: Samuel Gauthier <samuel.gauthier@6wind.com>
CC: Balakumaran Kannan <Balakumaran.Kannan@ap.sony.com>
CC: Maruthi Thotad <Maruthi.Thotad@ap.sony.com>
CC: Sabrina Dubroca <sd@queasysnail.net>
CC: Hannes Frederic Sowa <hannes@stressinduktion.org>
CC: Weilong Chen <chenweilong@huawei.com>
CC: Gao feng <gaofeng@cn.fujitsu.com>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-02-10 11:03:44 +01:00
Lance Richardson 1735aaba62 ip6_gre: fix flowi6_proto value in ip6gre_xmit_other()
commit db32e4e49ce2b0e5fcc17803d011a401c0a637f6 upstream.

Similar to commit 3be07244b733 ("ip6_gre: fix flowi6_proto value in
xmit path"), set flowi6_proto to IPPROTO_GRE for output route lookup.

Up until now, ip6gre_xmit_other() has set flowi6_proto to a bogus value.
This affected output route lookup for packets sent on an ip6gretap device
in cases where routing was dependent on the value of flowi6_proto.

Since the correct proto is already set in the tunnel flowi6 template via
commit 252f3f5a1189 ("ip6_gre: Set flowi6_proto as IPPROTO_GRE in xmit
path."), simply delete the line setting the incorrect flowi6_proto value.

Suggested-by: Jiri Benc <jbenc@redhat.com>
Fixes: c12b395a46 ("gre: Support GRE over IPv6")
Reviewed-by: Shmulik Ladkani <shmulik.ladkani@gmail.com>
Signed-off-by: Lance Richardson <lrichard@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2017-02-10 11:03:43 +01:00