Commit graph

567768 commits

Author SHA1 Message Date
Paul Hber
bde4ebb5f9 l2tp: avoid use-after-free caused by l2tp_ip_backlog_recv
am: 2cd0afc64e

Change-Id: Ib7bcb274c63e13807b1e25f74b6018866e2d8eb1
2017-03-22 11:29:11 +00:00
Julian Anastasov
0a4171764d ipv4: mask tos for input route
am: 354f79125f

Change-Id: I39b7ce23fe7319187421d3e6f0cdd91b16d1fb8c
2017-03-22 11:29:01 +00:00
David Forster
c298010eed vti6: return GRE_KEY for vti6
am: f1b3aae1f1

Change-Id: I62e249897c31124ca45296c2563c9e3d665e49fb
2017-03-22 11:28:51 +00:00
Matthias Schiffer
4c8e89b3fd vxlan: correctly validate VXLAN ID against VXLAN_N_VID
am: 51a219a137

Change-Id: Ibe33b8e55a3c7625b7b985260b38b443ffbfadc9
2017-03-22 11:28:41 +00:00
Florian Westphal
560f3eaad0 netlink: remove mmapped netlink support
am: 0c0be310ba

Change-Id: I85d714d9cc491fd7cb3d1af553864f22c4f1e8fb
2017-03-22 11:28:31 +00:00
Paul Hüber
2cd0afc64e l2tp: avoid use-after-free caused by l2tp_ip_backlog_recv
[ Upstream commit 51fb60eb162ab84c5edf2ae9c63cf0b878e5547e ]

l2tp_ip_backlog_recv may not return -1 if the packet gets dropped.
The return value is passed up to ip_local_deliver_finish, which treats
negative values as an IP protocol number for resubmission.

Signed-off-by: Paul Hüber <phueber@kernsp.in>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-22 12:04:14 +01:00
Julian Anastasov
354f79125f ipv4: mask tos for input route
[ Upstream commit 6e28099d38c0e50d62c1afc054e37e573adf3d21 ]

Restore the lost masking of TOS in input route code to
allow ip rules to match it properly.

Problem [1] noticed by Shmulik Ladkani <shmulik.ladkani@gmail.com>

[1] http://marc.info/?t=137331755300040&r=1&w=2

Fixes: 89aef8921b ("ipv4: Delete routing cache.")
Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-22 12:04:14 +01:00
David Forster
f1b3aae1f1 vti6: return GRE_KEY for vti6
[ Upstream commit 7dcdf941cdc96692ab99fd790c8cc68945514851 ]

Align vti6 with vti by returning GRE_KEY flag. This enables iproute2
to display tunnel keys on "ip -6 tunnel show"

Signed-off-by: David Forster <dforster@brocade.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-22 12:04:13 +01:00
Matthias Schiffer
51a219a137 vxlan: correctly validate VXLAN ID against VXLAN_N_VID
[ Upstream commit 4e37d6911f36545b286d15073f6f2222f840e81c ]

The incorrect check caused an off-by-one error: the maximum VID 0xffffff
was unusable.

Fixes: d342894c5d ("vxlan: virtual extensible lan")
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Acked-by: Jiri Benc <jbenc@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-22 12:04:13 +01:00
Florian Westphal
0c0be310ba netlink: remove mmapped netlink support
commit d1b4c689d4130bcfd3532680b64db562300716b6 upstream.

mmapped netlink has a number of unresolved issues:

- TX zerocopy support had to be disabled more than a year ago via
  commit 4682a03586 ("netlink: Always copy on mmap TX.")
  because the content of the mmapped area can change after netlink
  attribute validation but before message processing.

- RX support was implemented mainly to speed up nfqueue dumping packet
  payload to userspace.  However, since commit ae08ce0021
  ("netfilter: nfnetlink_queue: zero copy support") we avoid one copy
  with the socket-based interface too (via the skb_zerocopy helper).

The other problem is that skbs attached to mmaped netlink socket
behave different from normal skbs:

- they don't have a shinfo area, so all functions that use skb_shinfo()
(e.g. skb_clone) cannot be used.

- reserving headroom prevents userspace from seeing the content as
it expects message to start at skb->head.
See for instance
commit aa3a022094fa ("netlink: not trim skb for mmaped socket when dump").

- skbs handed e.g. to netlink_ack must have non-NULL skb->sk, else we
crash because it needs the sk to check if a tx ring is attached.

Also not obvious, leads to non-intuitive bug fixes such as 7c7bdf359
("netfilter: nfnetlink: use original skbuff when acking batches").

mmaped netlink also didn't play nicely with the skb_zerocopy helper
used by nfqueue and openvswitch.  Daniel Borkmann fixed this via
commit 6bb0fef489 ("netlink, mmap: fix edge-case leakages in nf queue
zero-copy")' but at the cost of also needing to provide remaining
length to the allocation function.

nfqueue also has problems when used with mmaped rx netlink:
- mmaped netlink doesn't allow use of nfqueue batch verdict messages.
  Problem is that in the mmap case, the allocation time also determines
  the ordering in which the frame will be seen by userspace (A
  allocating before B means that A is located in earlier ring slot,
  but this also means that B might get a lower sequence number then A
  since seqno is decided later.  To fix this we would need to extend the
  spinlocked region to also cover the allocation and message setup which
  isn't desirable.
- nfqueue can now be configured to queue large (GSO) skbs to userspace.
  Queing GSO packets is faster than having to force a software segmentation
  in the kernel, so this is a desirable option.  However, with a mmap based
  ring one has to use 64kb per ring slot element, else mmap has to fall back
  to the socket path (NL_MMAP_STATUS_COPY) for all large packets.

To use the mmap interface, userspace not only has to probe for mmap netlink
support, it also has to implement a recv/socket receive path in order to
handle messages that exceed the size of an rx ring element.

Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Ken-ichirou MATSUZAWA <chamaken@gmail.com>
Cc: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: Patrick McHardy <kaber@trash.net>
Cc: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Shi Yuejie <shiyuejie@outlook.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-22 12:04:13 +01:00
Jin Qian
659da09c3d ANDROID: mmc: core: export emmc revision
Change-Id: If23bc838327ef751ee65baadc429e218eaa2a848
Signed-off-by: Jin Qian <jinqian@google.com>
2017-03-21 17:31:13 -07:00
Jungseung Lee
bc5b6dd5df BACKPORT: mmc: core: Export device lifetime information through sysfs
In the eMMC 5.0 version of the spec, several EXT_CSD fields about
device lifetime are added.

 - Two types of estimated indications reflected by averaged wear out of memory
 - An indication reflected by average reserved blocks

Export the information through sysfs.

Signed-off-by: Jungseung Lee <js07.lee@samsung.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2017-03-20 22:23:20 +00:00
Badhri Jagan Sridharan
b631d8c06f ANDROID: android-verity: do not compile as independent module
dm-android-verity depends on optional kernel command line parameters.
When compiled as module the __setup macro ends up being a no-op
resulting in the following warnings:

/work/build/batch/drivers/md/dm-android-verity.c:91:19: warning: 'verity_buildvariant' defined but not used [-Wunused-function]
 static int __init verity_buildvariant(char *line)
                   ^~~~~~~~~~~~~~~~~~~
/work/build/batch/drivers/md/dm-android-verity.c:83:19: warning: 'verity_keyid_param' defined but not used [-Wunused-function]
 static int __init verity_keyid_param(char *line)
                   ^~~~~~~~~~~~~~~~~~
/work/build/batch/drivers/md/dm-android-verity.c:75:19: warning: 'verity_mode_param' defined but not used [-Wunused-function]
 static int __init verity_mode_param(char *line)
                   ^~~~~~~~~~~~~~~~~
/work/build/batch/drivers/md/dm-android-verity.c:67:19: warning: 'verified_boot_state_param' defined but not used [-Wunused-function]
 static int __init verified_boot_state_param(char *line)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~
Tested with allmodconfig.

Change-Id: Idfe0c97b216bb620cc7264e968b494eb3a765157
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
2017-03-20 22:05:11 +00:00
Todd Kjos
77e4e5b8af resolve merge conflicts of 1c5265be54 to android-4.4
Change-Id: Idd5f2956c09b193b2a6ba02410e90b52aa2284d7
2017-03-20 08:57:38 -07:00
Mikulas Patocka
83193f99f1 dm: flush queued bios when process blocks to avoid deadlock
am: cd8ad4d9eb

Change-Id: I3348df4146daa436541af94224776d3cbc6f45b2
2017-03-18 11:25:00 +00:00
Dan Williams
14671ac721 nfit, libnvdimm: fix interleave set cookie calculation
am: 66dd58f56e

Change-Id: If1b31bbd5fe6a404d167a6b207bef928b998fba0
2017-03-18 11:24:51 +00:00
Michael Holzheu
4a44b75d1e s390/kdump: Use "LINUX" ELF note name instead of "CORE"
am: a084aeef56

Change-Id: I0bc63ef6143c3bbe7e50c89ece98ab39a93d0082
2017-03-18 11:24:41 +00:00
Janosch Frank
d73e47204a KVM: s390: Fix guest migration for huge guests resulting in panic
am: b0e85701a7

Change-Id: I12bd03d14c3bf2c1e5d2c70e1765eba1d6d202b9
2017-03-18 11:24:32 +00:00
Luis de Bethencourt
03c7b939b1 mvsas: fix misleading indentation
am: 61fbad6a28

Change-Id: I5422457ab66bd8a08f22fae79351dc7133d4f225
2017-03-18 11:24:22 +00:00
Krzysztof Kozlowski
5aac664c0c serial: samsung: Continue to work if DMA request fails
am: 72ca0ab306

Change-Id: I6b2c536ac7ea2371badb4b8080d2806a001a44d1
2017-03-18 11:24:12 +00:00
Johan Hovold
5b6244690a USB: serial: io_ti: fix information leak in completion handler
am: 72bb2b96b8

Change-Id: Ie1079bef9c43dce4ccecb52acbee12b4dd044e3f
2017-03-18 11:24:04 +00:00
Johan Hovold
946f6288ff USB: serial: io_ti: fix NULL-deref in interrupt callback
am: e71c7bad68

Change-Id: I865b297bdb9d8c9eb69e7548ceef6e640f9061e6
2017-03-18 11:23:55 +00:00
Johan Hovold
f6753981f4 USB: iowarrior: fix NULL-deref in write
am: 6498086195

Change-Id: Ib6ec11fa0bef224af9368ee4aba48d8d4663da50
2017-03-18 11:23:45 +00:00
Johan Hovold
bf259081a4 USB: iowarrior: fix NULL-deref at probe
am: 179295c38d

Change-Id: If8771741f6228ec6af891a160d5af5f6789f5409
2017-03-18 11:23:37 +00:00
Johan Hovold
c98a41cdb8 USB: serial: omninet: fix reference leaks at open
am: 54f11a9662

Change-Id: If2605f1daf506ae915776138b6268d0769a39487
2017-03-18 11:23:27 +00:00
Johan Hovold
a94cfa2ac4 USB: serial: safe_serial: fix information leak in completion handler
am: 3cdc946387

Change-Id: I2a29b5d7a753bd94d320bda52427bd62ab042787
2017-03-18 11:23:18 +00:00
Guenter Roeck
33451f0582 usb: host: xhci-plat: Fix timeout on removal of hot pluggable xhci controllers
am: cf09c7d60c

Change-Id: I5cab1e3af61dd148ff737ba1dc68935407342983
2017-03-18 11:23:09 +00:00
Peter Chen
7badd91967 usb: host: xhci-dbg: HCIVERSION should be a binary number
am: 40c5634ffe

Change-Id: I41ed67d92ce661cb607ae65e297856b34e6a05d5
2017-03-18 11:22:59 +00:00
Felipe Balbi
5bfd45cfa0 usb: gadget: function: f_fs: pass companion descriptor along
am: 4a1a3bb70f

Change-Id: I7b29e1d8050144b745f4885566e37d2bbca122a3
2017-03-18 11:22:49 +00:00
Felipe Balbi
49e48368a6 usb: dwc3: gadget: make Set Endpoint Configuration macros safe
am: 10af248565

Change-Id: I5c852ac4d0fbe9276986df1a57e93979ec8f6cf9
2017-03-18 11:22:39 +00:00
Peter Chen
2b7b5c5f36 usb: gadget: dummy_hcd: clear usb_gadget region before registration
am: f47b97f2cd

Change-Id: Ifad25d5604ef1bc2c10cc4c5414348c23f37beb0
2017-03-18 11:22:28 +00:00
Ravi Bangoria
699ec839c0 powerpc: Emulation support for load/store instructions on LE
am: 2ca39d1300

Change-Id: I4db441c5727a8caef2b50f3a385197a1076ab55d
2017-03-18 11:22:17 +00:00
Rik van Riel
752883928d tracing: Add #undef to fix compile error
am: 074893495b

Change-Id: I20f387e74bc1cdd5c4a11d55b65e443b85606c0b
2017-03-18 11:22:06 +00:00
James Hogan
de761c12a4 MIPS: Netlogic: Fix CP0_EBASE redefinition warnings
am: 1276510585

Change-Id: Ib7ca5ebf52d798a057a0d509226b59116da302e9
2017-03-18 11:21:55 +00:00
Ralf Baechle
507638623f MIPS: DEC: Avoid la pseudo-instruction in delay slots
am: 2e4aff2405

Change-Id: Ia06f405fc818fa7f147d9ae2ac32f74451d580fa
2017-03-18 11:21:45 +00:00
Arnd Bergmann
9d92396f8a mm: memcontrol: avoid unused function warning
am: 5fad174344

Change-Id: I6734d095131126260931a16a670c66ec58ba4896
2017-03-18 11:21:33 +00:00
Arnd Bergmann
5caa0a5ddd cpmac: remove hopeless #warning
am: 5e45d834f7

Change-Id: Icfecd82f0ed400d01e16c1719451ddbdc886c5ef
2017-03-18 11:21:22 +00:00
Arnd Bergmann
285819747b MIPS: ralink: Remove unused rt*_wdt_reset functions
am: 32883383f5

Change-Id: I1c172b4be8bd694e5781d5f248ed19f8f6bb16e4
2017-03-18 11:21:11 +00:00
John Crispin
82caf1be31 MIPS: ralink: Cosmetic change to prom_init().
am: 4b91e7a2a9

Change-Id: Icd9d99ba438913cca6698b67caba94acd5416f1d
2017-03-18 11:20:59 +00:00
Arnd Bergmann
8726395744 mtd: pmcmsp: use kstrndup instead of kmalloc+strncpy
am: 3dc8f1e3a8

Change-Id: If4374a22df01b414e950e9621d7b0a0353b0dc3d
2017-03-18 11:20:47 +00:00
Arnd Bergmann
9e383c0ed9 MIPS: Update lemote2f_defconfig for CPU_FREQ_STAT change
am: d2a8d746ae

Change-Id: I2acfec230eda26006b4730a91067e86df5ad9c7e
2017-03-18 11:20:36 +00:00
Arnd Bergmann
07658ad370 MIPS: ip22: Fix ip28 build for modern gcc
am: c018595d83

Change-Id: Ibe3c6e3b5e809d24bd298007154b29936ebfdbdb
2017-03-18 11:20:25 +00:00
Arnd Bergmann
1e9d4597be MIPS: Update ip27_defconfig for SCSI_DH change
am: 7a6a965f35

Change-Id: Ibbda685b2c909cba88f0ec18af89dc23547b719f
2017-03-18 11:20:14 +00:00
Arnd Bergmann
d4a1ce0790 MIPS: ip27: Disable qlge driver in defconfig
am: 8ed0fdcc0c

Change-Id: Ie42b6a5c3da2ae00167f31199f5c6c16de680bc0
2017-03-18 11:20:05 +00:00
Arnd Bergmann
5d2e961aa3 MIPS: Update defconfigs for NF_CT_PROTO_DCCP/UDPLITE change
am: adc48c710b

Change-Id: Ib9e9d4fb9330edb63756d893ca382a9e070a2edb
2017-03-18 11:19:53 +00:00
Arnd Bergmann
bf38bfd770 crypto: improve gcc optimization flags for serpent and wp512
am: e041ad0664

Change-Id: I8ef3c2a7ccc25e521ab9bd5cd21702c695107411
2017-03-18 11:19:44 +00:00
Johan Hovold
ee51e01a82 USB: serial: digi_acceleport: fix OOB-event processing
am: a8cb5c02a2

Change-Id: I542f42e517db3d00ff3a2b5735149af2bf989c55
2017-03-18 11:19:34 +00:00
Johan Hovold
64272b3c31 USB: serial: digi_acceleport: fix OOB data sanity check
am: 4d95645f3d

Change-Id: Iabb41fdc9064da31bd16e93ecc1ed5846fca8df5
2017-03-18 11:19:21 +00:00
Greg Kroah-Hartman
28ec98bc2e Linux 4.4.55 2017-03-18 19:10:23 +08:00
Mikulas Patocka
cd8ad4d9eb dm: flush queued bios when process blocks to avoid deadlock
commit d67a5f4b5947aba4bfe9a80a2b86079c215ca755 upstream.

Commit df2cb6daa4 ("block: Avoid deadlocks with bio allocation by
stacking drivers") created a workqueue for every bio set and code
in bio_alloc_bioset() that tries to resolve some low-memory deadlocks
by redirecting bios queued on current->bio_list to the workqueue if the
system is low on memory.  However other deadlocks (see below **) may
happen, without any low memory condition, because generic_make_request
is queuing bios to current->bio_list (rather than submitting them).

** the related dm-snapshot deadlock is detailed here:
https://www.redhat.com/archives/dm-devel/2016-July/msg00065.html

Fix this deadlock by redirecting any bios on current->bio_list to the
bio_set's rescue workqueue on every schedule() call.  Consequently,
when the process blocks on a mutex, the bios queued on
current->bio_list are dispatched to independent workqueus and they can
complete without waiting for the mutex to be available.

The structure blk_plug contains an entry cb_list and this list can contain
arbitrary callback functions that are called when the process blocks.
To implement this fix DM (ab)uses the onstack plug's cb_list interface
to get its flush_current_bio_list() called at schedule() time.

This fixes the snapshot deadlock - if the map method blocks,
flush_current_bio_list() will be called and it redirects bios waiting
on current->bio_list to appropriate workqueues.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1267650
Depends-on: df2cb6daa4 ("block: Avoid deadlocks with bio allocation by stacking drivers")
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-18 19:09:58 +08:00