[openchrome-devel] drm-openchrome: Changes to 'drm-next-4.19'
Kevin Brace
kevinbrace at kemper.freedesktop.org
Tue Jul 17 02:36:38 UTC 2018
New branch 'drm-next-4.19' available with the following commits:
commit b48b001db30ce680652906876239fd2967cfd696
Merge: 839508f2a378 bf642e3a1996
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Mon Jul 16 19:08:05 2018 -0700
Merge tag 'drm-fixes-2018-07-16-1' of git://anongit.freedesktop.org/drm/drm into drm-next-4.19
i915, amdgpu, armada, sun4i and tegra fixes
commit bf642e3a1996f1ed8f083c5ecd4b51270a9e11bc
Merge: a929b32537bc 09d2da310d61
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Jul 16 10:32:11 2018 +1000
Merge tag 'drm-intel-fixes-2018-07-12' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
I already pulled the first fix, pull the GVT fixes.
- GVT fix for KBL vGPU hang to update virtual register from LRI.
Signed-off-by: Dave Airlie <airlied at redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180713070922.GA19840@intel.com
commit a929b32537bc6800f7b54df56455ca942bcd3035
Merge: 990187537be1 92298c1cd8e8
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Jul 16 09:57:22 2018 +1000
Merge branch 'drm-armada-fixes' of git://git.armlinux.org.uk/~rmk/linux-arm into drm-fixes
Two armada fixes.
Signed-off-by: Dave Airlie <airlied at redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180713075427.GA16160@rmk-PC.armlinux.org.uk
commit 990187537be1136ccd739efa550780ca4ee1a100
Merge: 2757de4c0986 3156b53c2e2f
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Jul 16 09:50:26 2018 +1000
Merge tag 'drm-misc-fixes-2018-07-13' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes
Fixes for v4.18-rc5:
- Single fix for a build error when the driver is builtin,
but the backend is a loadable module.
Signed-off-by: Dave Airlie <airlied at redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/9c596cf5-3f24-070e-74f2-c59bfbaf68fa@linux.intel.com
commit 2757de4c098616a3da29f149bd2b7f0842989830
Merge: e280057762cd 5265f0338bc0
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Jul 16 09:48:54 2018 +1000
Merge tag 'drm/tegra/for-4.18-rc5' of git://anongit.freedesktop.org/tegra/linux into drm-fixes
drm/tegra: Fixes for v4.18-rc5
This contains a couple of one- or two-line fixes for various minor
issues in the Tegra driver.
Signed-off-by: Dave Airlie <airlied at redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180712070142.15571-1-thierry.reding@gmail.com
commit e280057762cd553a6863b7e3a73f5040ed879a15
Merge: f88147e4e1c2 02ce6ce2e1d0
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Jul 16 09:45:56 2018 +1000
Merge branch 'drm-fixes-4.18' of git://people.freedesktop.org/~agd5f/linux into drm-fixes
A few display and GPUVM fixes for 4.18.
A few more fixes for 4.18. Two display fixes and a fix to avoid a segfault if
the GPU does not power up properly on resume. These are on top of my pull
from earlier this week.
Signed-off-by: Dave Airlie <airlied at redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180712043820.2877-1-alexander.deucher@amd.com
commit f88147e4e1c2268a38aea326573f533652ee2314
Merge: 572d8fda26fe 96a85cc517a9
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Jul 16 09:42:48 2018 +1000
Merge tag 'drm-intel-fixes-2018-07-10' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
- Fix hotplug irq ack on i965/g4x (Ville)
Signed-off-by: Dave Airlie <airlied at redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180710213249.GA16479@intel.com
commit 02ce6ce2e1d07e31e8314c761a2caa087ea094ce
Author: Alex Deucher <alexander.deucher at amd.com>
Date: Thu Jul 12 08:38:09 2018 -0500
drm/amdgpu/pp/smu7: use a local variable for toc indexing
Rather than using the index variable stored in vram. If
the device fails to come back online after a resume cycle,
reads from vram will return all 1s which will cause a
segfault. Based on a patch from Thomas Martitz <kugel at rockbox.org>.
This avoids the segfault, but we still need to sort out
why the GPU does not come back online after a resume.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=105760
Acked-by: Christian König <christian.koenig at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Cc: stable at vger.kernel.org
commit 8d4235f71513cdccd9dc52b674323c3591552bc1
Author: David Francis <David.Francis at amd.com>
Date: Thu Jul 12 10:07:49 2018 -0400
amd/dc/dce100: On dce100, set clocks to 0 on suspend
[Why]
When a dce100 asic was suspended, the clocks were not set to 0.
Upon resume, the new clock was compared to the existing clock,
they were found to be the same, and so the clock was not set.
This resulted in a pernicious blackscreen.
[How]
In atomic commit, check to see if there are any active pipes.
If no, set clocks to 0
Signed-off-by: David Francis <David.Francis at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
commit d89d01f2232b90e8024ae07ff5ab213521875448
Author: Harry Wentland <harry.wentland at amd.com>
Date: Thu Jul 12 10:23:21 2018 -0400
drm/amd/display: Convert 10kHz clks from PPLib into kHz for Vega
The driver is expecting clock frequency in kHz, while SMU returns
the values in 10kHz, which causes the bandwidth validation to fail
4.18 has the faulty clock assignment in pp_to_dc_clock_levels_with_latency
only, which is only used by Vega. Make sure we multiply these values
by 10 here, as we do for other ASICs as powerplay assigned them
wrong. 4.19 has the proper fix in powerplay.
v2: Add Fixes tag
v3: Fixes -> Bugzilla, with simplified link
Bugzilla: https://bugs.freedesktop.org/107082
Signed-off-by: Mikita Lipski <mikita.lipski at amd.com>
Signed-off-by: Harry Wentland <harry.wentland at amd.com>
Acked-by: Michel Dänzer <michel.daenzer at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
commit 09d2da310d61c4bfae33ea05b88e7a8f31350d9e
Merge: 96a85cc517a9 6cef21a19649
Author: Rodrigo Vivi <rodrigo.vivi at intel.com>
Date: Thu Jul 12 00:15:52 2018 -0700
Merge tag 'gvt-fixes-2018-07-11' of https://github.com/intel/gvt-linux into drm-intel-fixes
gvt-fixes-2018-07-11
- Fix KBL virtual register update from LRI for GPU hang (Henry)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180711024056.GV1267@zhen-hp.sh.intel.com
commit 9d4a0d4cdc8b5904ec7c9b9e04bab3e9e60d7a74
Author: Andrey Grodzovsky <andrey.grodzovsky at amd.com>
Date: Thu Jul 5 14:49:34 2018 -0400
drm/amdgpu: Verify root PD is mapped into kernel address space (v4)
Problem: When PD/PT update made by CPU root PD was not yet mapped causing
page fault.
Fix: Verify root PD is mapped into CPU address space.
v2:
Make sure that we add the root PD to the relocated list
since then it's get mapped into CPU address space bt default
in amdgpu_vm_update_directories.
v3:
Drop change to not move kernel type BOs to evicted list.
v4:
Remove redundant bo move to relocated list.
Link: https://bugs.freedesktop.org/show_bug.cgi?id=107065
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky at amd.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
Reviewed-by: Junwei Zhang <Jerry.Zhang at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Cc: stable at vger.kernel.org
commit 0b9021972d3eef525d53076d8c7ac091e988d2e4
Author: Christian König <christian.koenig at amd.com>
Date: Fri Jul 6 13:46:05 2018 +0200
drm/amd/display: fix invalid function table override
Otherwise we try to program hardware with the wrong watermark functions
when multiple DCE generations are installed in one system.
Signed-off-by: Christian König <christian.koenig at amd.com>
Reviewed-by: Harry Wentland <harry.wentland at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Cc: stable at vger.kernel.org
commit ed6b4b5559769c6c5a0fcb3fac8a9e1f4e58c4ae
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Mon Jun 25 11:07:17 2018 +0200
drm/amdgpu: Reserve VM root shared fence slot for command submission (v3)
Without this, there could not be enough slots, which could trigger the
BUG_ON in reservation_object_add_shared_fence.
v2:
* Jump to the error label instead of returning directly (Jerry Zhang)
v3:
* Reserve slots for command submission after VM updates (Christian König)
Cc: stable at vger.kernel.org
Bugzilla: https://bugs.freedesktop.org/106418
Reported-by: mikhail.v.gavrilov at gmail.com
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Signed-off-by: Junwei Zhang <Jerry.Zhang at amd.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
commit 5292221d6ddfed75e5b46cd42237a677094b99f3
Author: Alex Deucher <alexander.deucher at amd.com>
Date: Tue Jul 10 12:56:45 2018 -0500
Revert "drm/amd/display: Don't return ddc result and read_bytes in same return value"
This reverts commit 018d82e5f02ef3583411bcaa4e00c69786f46f19.
This breaks DDC in certain cases. Revert for 4.18 and previous kernels.
For 4.19, this is fixed with the following more extensive patches:
drm/amd/display: Serialize is_dp_sink_present
drm/amd/display: Break out function to simply read aux reply
drm/amd/display: Return aux replies directly to DRM
drm/amd/display: Right shift AUX reply value sooner than later
drm/amd/display: Read AUX channel even if only status byte is returned
Link: https://lists.freedesktop.org/archives/amd-gfx/2018-July/023788.html
Acked-by: Harry Wentland <harry.wentland at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Cc: stable at vger.kernel.org
commit 572d8fda26fecbb6bbb63e917b5610c7157cde96
Author: Gustavo A. R. Silva <gustavo at embeddedor.com>
Date: Wed Jul 4 17:20:41 2018 -0500
char: amd64-agp: Use 64-bit arithmetic instead of 32-bit
Cast *tmp* and *nb_base* to u64 in order to give the compiler
complete information about the proper arithmetic to use.
Notice that such variables are used in contexts that expect
expressions of type u64 (64 bits, unsigned) and the following
expressions are currently being evaluated using 32-bit arithmetic:
tmp << 25
nb_base << 25
Addresses-Coverity-ID: 200586 ("Unintentional integer overflow")
Addresses-Coverity-ID: 200587 ("Unintentional integer overflow")
Signed-off-by: Gustavo A. R. Silva <gustavo at embeddedor.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
commit 8fb8876b2d1432b352c96add3adefa28d2754672
Author: Souptick Joarder <jrdr.linux at gmail.com>
Date: Mon May 21 23:47:04 2018 +0530
char: agp: Change return type to vm_fault_t
Use new return type vm_fault_t for fault handler. For now,
this is just documenting that the function returns a
VM_FAULT value rather than an errno. Once all instances are
converted, vm_fault_t will become a distinct type.
Ref-> commit 1c8f422059ae ("mm: change return type to
vm_fault_t") was added in 4.17-rc1 to introduce the new
typedef vm_fault_t. Currently we are making change to all
drivers to return vm_fault_t for page fault handlers. As
part of that char/agp driver is also getting changed to
return vm_fault_t type from fault handler.
Signed-off-by: Souptick Joarder <jrdr.linux at gmail.com>
Reviewed-by: Matthew Wilcox <mawilcox at microsoft.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
commit dc81aab1be9fac2e11f31fe7538a50705eba08cf
Author: Daniel Vetter <daniel.vetter at ffwll.ch>
Date: Fri Jul 6 09:28:42 2018 +0200
MAINTAINERS: update drm tree
Mail to dri-devel went out, linux-next was updated, but we forgot this
one here.
Cc: David Airlie <airlied at linux.ie>
Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>
Acked-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180706072842.9009-1-daniel.vetter@ffwll.ch
commit fcaca5d8d164bc5148b7e4f7d5daf9a1c956afae
Merge: 1e4b044d2251 2c83a726d6fb
Author: Dave Airlie <airlied at redhat.com>
Date: Tue Jul 10 10:45:04 2018 +1000
Merge branch 'etnaviv/fixes' of https://git.pengutronix.de/git/lst/linux into drm-fixes
Lucas wrote:
"a couple of small fixes:
- 2 patches from Fabio to fix module reloading
- one patch to fix a userspace visible regression, where the job
timeout is a bit too eager and kills legitimate jobs"
Signed-off-by: Dave Airlie <airlied at redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1530868450.15725.8.camel@pengutronix.de
commit 96a85cc517a9ee4ae5e8d7f5a36cba05023784eb
Author: Ville Syrjälä <ville.syrjala at linux.intel.com>
Date: Thu Jun 14 20:56:25 2018 +0300
drm/i915: Fix hotplug irq ack on i965/g4x
Just like with PIPESTAT, the edge triggered IIR on i965/g4x
also causes problems for hotplug interrupts. To make sure
we don't get the IIR port interrupt bit stuck low with the
ISR bit high we must force an edge in ISR. Unfortunately
we can't borrow the PIPESTAT trick and toggle the enable
bits in PORT_HOTPLUG_EN as that act itself generates hotplug
interrupts. Instead we just have to loop until we've cleared
PORT_HOTPLUG_STAT, or we just give up and WARN.
v2: Don't frob with PORT_HOTPLUG_EN
Cc: stable at vger.kernel.org
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180614175625.1615-1-ville.syrjala@linux.intel.com
Reviewed-by: Imre Deak <imre.deak at intel.com>
(cherry picked from commit 0ba7c51a6fd80a89236f6ceb52e63f8a7f62bfd3)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
commit 92298c1cd8e8a6b56322b602ad72b54e6237631d
Author: Russell King <rmk+kernel at armlinux.org.uk>
Date: Tue Jun 26 17:06:06 2018 +0100
drm/armada: fix irq handling
Add the missing locks to the IRQ enable/disable paths, and fix a comment
in the interrupt handler: reading the ISR clears down the status bits,
but does not reset the interrupt so it can signal again. That seems to
require a write.
Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
commit d378859a667edc99e3473704847698cae97ca2b1
Author: Russell King <rmk+kernel at armlinux.org.uk>
Date: Sun Jun 24 14:35:10 2018 +0100
drm/armada: fix colorkey mode property
The colorkey mode property was not correctly disabling the colorkeying
when "disabled" mode was selected. Arrange for this to work as one
would expect.
Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
commit 5265f0338bc0feec6c0d544dfe005dec1a93cb93
Author: Mikko Perttunen <mperttunen at nvidia.com>
Date: Wed Jun 20 16:03:58 2018 +0300
drm/tegra: Fix comparison operator for buffer size
Here we are checking for the buffer length, not an offset for writing
to, so using > is correct. The current code incorrectly rejects a
command buffer ending at the memory buffer's end.
Signed-off-by: Mikko Perttunen <mperttunen at nvidia.com>
Reviewed-by: Dmitry Osipenko <digetx at gmail.com>
Signed-off-by: Thierry Reding <treding at nvidia.com>
commit ec58923215dbbeef59ee82923ee94d745f73db58
Author: Dmitry Osipenko <digetx at gmail.com>
Date: Fri Jul 6 21:02:36 2018 +0300
gpu: host1x: Check whether size of unpin isn't 0
Only gather pins are mapped by the Host1x driver, regular BO relocations
are not. Check whether size of unpin isn't 0, otherwise IOVA allocation at
0x0 could be erroneously released.
Signed-off-by: Dmitry Osipenko <digetx at gmail.com>
Signed-off-by: Thierry Reding <treding at nvidia.com>
commit 4466b1f0e022f94a026bd700fee34bff15cdc4ef
Author: Dmitry Osipenko <digetx at gmail.com>
Date: Sat May 19 04:07:10 2018 +0300
gpu: host1x: Skip IOMMU initialization if firewall is enabled
Host1x's CDMA can't access the command buffers if IOMMU and Host1x
firewall are enabled in the kernels config because firewall doesn't map
the copied buffer into IOVA space. Fix this by skipping IOMMU
initialization if firewall is enabled as firewall merges sparse cmdbufs
into a single contiguous buffer and hence IOMMU isn't needed in this case.
Signed-off-by: Dmitry Osipenko <digetx at gmail.com>
Signed-off-by: Thierry Reding <treding at nvidia.com>
commit 3156b53c2e2fadafa1a16412a8791b38f94b5bdc
Author: Arnd Bergmann <arnd at arndb.de>
Date: Fri Jul 6 16:28:28 2018 +0200
drm/sun4i: link in front-end code if needed
When the base sun4i DRM driver is built-in but the back-end is
a loadable module, we run into a link error:
drivers/gpu/drm/sun4i/sun4i_drv.o: In function `sun4i_drv_probe':
sun4i_drv.c:(.text+0x60c): undefined reference to `sun4i_frontend_of_table'
The dependency is a bit tricky, the best workaround I have come up
with is to use a Makefile hack to to interpret both
CONFIG_DRM_SUN4I_BACKEND=m and CONFIG_DRM_SUN4I_BACKEND=y
as a directive to build the front-end the same way as the main module.
Fixes: dd0421f47505 ("drm/sun4i: Add a driver for the display frontend")
Link: https://lore.kernel.org/lkml/20180301091908.zcptz3ezqr2c6ly5@flea/
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Signed-off-by: Maxime Ripard <maxime.ripard at bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180706142847.2032381-1-arnd@arndb.de
commit 1e4b044d22517cae7047c99038abb444423243ca
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 8 16:34:02 2018 -0700
Linux 4.18-rc4
commit ca04b3cca11acbaf904f707f2d9ca9654d7cc226
Merge: 23adbe6fb571 f0463f3619fd
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 8 14:12:46 2018 -0700
Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes from Olof Johansson:
"A small collection of fixes, sort of the usual at this point, all for
i.MX or OMAP:
- Enable ULPI drivers on i.MX to avoid a hang
- Pinctrl fix for touchscreen on i.MX51 ZII RDU1
- Fixes for ethernet clock references on am3517
- mmc0 write protect detection fix for am335x
- kzalloc->kcalloc conversion in an OMAP driver
- USB metastability fix for USB on dra7
- Fix touchscreen wakeup on am437x"
* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
ARM: imx_v4_v5_defconfig: Select ULPI support
ARM: imx_v6_v7_defconfig: Select ULPI support
ARM: dts: omap3: Fix am3517 mdio and emac clock references
ARM: dts: am335x-bone-common: Fix mmc0 Write Protect
bus: ti-sysc: Use 2-factor allocator arguments
ARM: dts: dra7: Disable metastability workaround for USB2
ARM: dts: imx51-zii-rdu1: fix touchscreen pinctrl
ARM: dts: am437x: make edt-ft5x06 a wakeup source
commit 23adbe6fb571897b57c1f3dd952d598edce2f8e6
Merge: 6f27a64092ae 612bc3b3d4be
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 8 13:56:25 2018 -0700
Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86/pti updates from Thomas Gleixner:
"Two small fixes correcting the handling of SSB mitigations on AMD
processors"
* 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/bugs: Fix the AMD SSBD usage of the SPEC_CTRL MSR
x86/bugs: Update when to check for the LS_CFG SSBD mitigation
commit 6f27a64092ae0993e3389081673a258a4c926186
Merge: 6fb2489d7f09 15279df6f26c
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 8 13:26:55 2018 -0700
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Thomas Gleixner:
- Prevent an out-of-bounds access in mtrr_write()
- Break a circular dependency in the new hyperv IPI acceleration code
- Address the build breakage related to inline functions by enforcing
gnu_inline and explicitly bringing native_save_fl() out of line,
which also adds a set of _ARM_ARG macros which provide 32/64bit
safety.
- Initialize the shadow CR4 per cpu variable before using it.
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/mtrr: Don't copy out-of-bounds data in mtrr_write
x86/hyper-v: Fix the circular dependency in IPI enlightenment
x86/paravirt: Make native_save_fl() extern inline
x86/asm: Add _ASM_ARG* constants for argument registers to <asm/asm.h>
compiler-gcc.h: Add __attribute__((gnu_inline)) to all inline declarations
x86/mm/32: Initialize the CR4 shadow before __flush_tlb_all()
commit 6fb2489d7f09e1a9360d0afec65bcde1a6a472d4
Merge: f5c926b99e42 1cef1150ef40
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 8 12:41:23 2018 -0700
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fixes from Thomas Gleixner:
- The hopefully final fix for the reported race problems in
kthread_parkme(). The previous attempt still left a hole and was
partially wrong.
- Plug a race in the remote tick mechanism which triggers a warning
about updates not being done correctly. That's a false positive if
the race condition is hit as the remote CPU is idle. Plug it by
checking the condition again when holding run queue lock.
- Fix a bug in the utilization estimation of a run queue which causes
the estimation to be 0 when a run queue is throttled.
- Advance the global expiration of the period timer when the timer is
restarted after a idle period. Otherwise the expiry time is stale and
the timer fires prematurely.
- Cure the drift between the bandwidth timer and the runqueue
accounting, which leads to bogus throttling of runqueues
- Place the call to cpufreq_update_util() correctly so the function
will observe the correct number of running RT tasks and not a stale
one.
* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
kthread, sched/core: Fix kthread_parkme() (again...)
sched/util_est: Fix util_est_dequeue() for throttled cfs_rq
sched/fair: Advance global expiration when period timer is restarted
sched/fair: Fix bandwidth timer clock drift condition
sched/rt: Fix call to cpufreq_update_util()
sched/nohz: Skip remote tick on idle task entirely
commit f5c926b99e421db13d2056bc99a624499a2be19e
Merge: 124b99fb8018 08b393d01c88
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 8 11:57:40 2018 -0700
Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull objtool fix from Thomas Gleixner:
"A single fix for objtool to address a bug in handling the cold
subfunction detection for aliased functions which was added recently.
The bug causes objtool to enter an infinite loop"
* 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
objtool: Support GCC 8 '-fnoreorder-functions'
commit 124b99fb8018a7ac45558d8ab249ed758e14e618
Merge: 70a2dc6abc8a 221e00d1fce9
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 8 11:29:14 2018 -0700
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fixes from Herbert Xu:
- add missing RETs in x86 aegis/morus
- fix build error in arm speck
* 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
crypto: x86 - Add missing RETs
crypto: arm/speck - fix building in Thumb2 mode
commit 70a2dc6abc8af028b0c71af6b3520574ee09e814
Merge: 8979319f2d36 a17712c8e4be
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 8 11:10:30 2018 -0700
Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Pull ext4 bugfixes from Ted Ts'o:
"Bug fixes for ext4; most of which relate to vulnerabilities where a
maliciously crafted file system image can result in a kernel OOPS or
hang.
At least one fix addresses an inline data bug could be triggered by
userspace without the need of a crafted file system (although it does
require that the inline data feature be enabled)"
* tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
ext4: check superblock mapped prior to committing
ext4: add more mount time checks of the superblock
ext4: add more inode number paranoia checks
ext4: avoid running out of journal credits when appending to an inline file
jbd2: don't mark block as modified if the handle is out of credits
ext4: never move the system.data xattr out of the inode body
ext4: clear i_data in ext4_inode_info when removing inline data
ext4: include the illegal physical block in the bad map ext4_error msg
ext4: verify the depth of extent tree in ext4_find_extent()
ext4: only look at the bg_flags field if it is valid
ext4: make sure bitmaps and the inode table don't overlap with bg descriptors
ext4: always check block group bounds in ext4_init_block_bitmap()
ext4: always verify the magic number in xattr blocks
ext4: add corruption check in ext4_xattr_set_entry()
ext4: add warn_on_error mount option
commit 8979319f2d361b5729b215e1d47cb5bbcaca9d76
Merge: b2d44d145d2a 83235822b8b4
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 8 10:55:21 2018 -0700
Merge tag 'pci-v4.18-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI fixes from Bjorn Helgaas:
- Fix a use-after-free in the endpoint code (Dan Carpenter)
- Stop defaulting CONFIG_PCIE_DW_PLAT_HOST to yes (Geert Uytterhoeven)
- Fix an nfp regression caused by a change in how we limit the number
of VFs we can enable (Jakub Kicinski)
- Fix failure path cleanup issues in the new R-Car gen3 PHY support
(Marek Vasut)
- Fix leaks of OF nodes in faraday, xilinx-nwl, xilinx (Nicholas Mc
Guire)
* tag 'pci-v4.18-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
nfp: stop limiting VFs to 0
PCI/IOV: Reset total_VFs limit after detaching PF driver
PCI: faraday: Add missing of_node_put()
PCI: xilinx-nwl: Add missing of_node_put()
PCI: xilinx: Add missing of_node_put()
PCI: endpoint: Use after free in pci_epf_unregister_driver()
PCI: controller: dwc: Do not let PCIE_DW_PLAT_HOST default to yes
PCI: rcar: Clean up PHY init on failure
PCI: rcar: Shut the PHY down in failpath
commit b2d44d145d2a72386b1b17da59a5e04989594897
Merge: 4f572efde460 729c0c9dd552
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sat Jul 7 18:31:34 2018 -0700
Merge tag '4.18-rc3-smb3fixes' of git://git.samba.org/sfrench/cifs-2.6
Pull cifs fixes from Steve French:
"Five smb3/cifs fixes for stable (including for some leaks and memory
overwrites) and also a few fixes for recent regressions in packet
signing.
Additional testing at the recent SMB3 test event, and some good work
by Paulo and others spotted the issues fixed here. In addition to my
xfstest runs on these, Aurelien and Stefano did additional test runs
to verify this set"
* tag '4.18-rc3-smb3fixes' of git://git.samba.org/sfrench/cifs-2.6:
cifs: Fix stack out-of-bounds in smb{2,3}_create_lease_buf()
cifs: Fix infinite loop when using hard mount option
cifs: Fix slab-out-of-bounds in send_set_info() on SMB2 ACE setting
cifs: Fix memory leak in smb2_set_ea()
cifs: fix SMB1 breakage
cifs: Fix validation of signed data in smb2
cifs: Fix validation of signed data in smb3+
cifs: Fix use after free of a mid_q_entry
commit 4f572efde4600a577d1fc0bcee191bc9cec842f8
Merge: 89ac2233d34d 7ec916f82c48
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sat Jul 7 17:55:16 2018 -0700
Merge tag 'dma-mapping-4.18-3' of git://git.infradead.org/users/hch/dma-mapping
Pull dma-mapping fix from Christoph Hellwig:
"Revert an incorrect dma-mapping commit for 4.18-rc"
* tag 'dma-mapping-4.18-3' of git://git.infradead.org/users/hch/dma-mapping:
Revert "iommu/intel-iommu: Enable CONFIG_DMA_DIRECT_OPS=y and clean up intel_{alloc,free}_coherent()"
commit 89ac2233d34dcf87854ad48d638d1a86db3f6bd2
Merge: ea9561cfc952 c4c2b7644cc9
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sat Jul 7 17:29:08 2018 -0700
Merge tag 'dmaengine-fix-4.18-rc4' of git://git.infradead.org/users/vkoul/slave-dma
Pull dmaengine fixes from Vinod Koul:
"We have few odd driver fixes and one email update change for you this
time:
- Driver fixes for k3dma (off by one), pl330 (burst residue
granularity) and omap-dma (incorrect residue_granularity)
- Sinan's email update"
* tag 'dmaengine-fix-4.18-rc4' of git://git.infradead.org/users/vkoul/slave-dma:
dmaengine: k3dma: Off by one in k3_of_dma_simple_xlate()
dmaengine: pl330: report BURST residue granularity
MAINTAINERS: Update email-id of Sinan Kaya
dmaengine: ti: omap-dma: Fix OMAP1510 incorrect residue_granularity
commit ea9561cfc952fc0a86184563c0a8c7371116e0f6
Merge: 43b6b6eca863 dc0f0a026d33
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sat Jul 7 17:15:38 2018 -0700
Merge tag 'for-linus-4.18-2' of git://github.com/cminyard/linux-ipmi
Pull IPMI fixes from Corey Minyard:
"A couple of small fixes: one to the BMC side of things that fixes an
interrupt issue, and one oops fix if init fails in a certain way on
the client driver"
* tag 'for-linus-4.18-2' of git://github.com/cminyard/linux-ipmi:
ipmi: kcs_bmc: fix IRQ exception if the channel is not open
ipmi: Cleanup oops on initialization failure
commit 43b6b6eca863cf2f83dc062484963377c66a72be
Merge: 624434af256a 1a381d4a0a9a
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sat Jul 7 10:51:25 2018 -0700
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull arm64 LDFLAGS clean-up from Catalin Marinas:
- use aarch64elf instead of aarch64linux
- move endianness options to LDFLAGS instead from LD
- remove no-op '-p' linker flag
* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
arm64: remove no-op -p linker flag
arm64: add endianness option to LDFLAGS instead of LD
arm64: Use aarch64elf and aarch64elfb emulation mode variants
commit 15279df6f26cf2013d713904b4a0c957ae8abb96
Author: Jann Horn <jannh at google.com>
Date: Fri Jul 6 23:50:03 2018 +0200
x86/mtrr: Don't copy out-of-bounds data in mtrr_write
Don't access the provided buffer out of bounds - this can cause a kernel
out-of-bounds read when invoked through sys_splice() or other things that
use kernel_write()/__kernel_write().
Fixes: 7f8ec5a4f01a ("x86/mtrr: Convert to use strncpy_from_user() helper")
Signed-off-by: Jann Horn <jannh at google.com>
Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
Cc: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Cc: "H. Peter Anvin" <hpa at zytor.com>
Cc: stable at vger.kernel.org
Link: https://lkml.kernel.org/r/20180706215003.156702-1-jannh@google.com
commit 624434af256a86b74b857f78b7c0d4a11b7dcb6c
Merge: 29119529d8de 26b5b874aff5
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Fri Jul 6 19:45:47 2018 -0700
Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI fixes from James Bottomley:
"This is two minor bug fixes (aacraid, target) and a fix for a
potential exploit in the way sg handles teardown"
* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
scsi: sg: mitigate read/write abuse
scsi: aacraid: Fix PD performance regression over incorrect qd being set
scsi: target: Fix truncated PR-in ReadKeys response
commit 29119529d8de5179db44fe59f0155b6534ade914
Merge: c2b58149d21f 9fea4b395260
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Fri Jul 6 19:13:42 2018 -0700
Merge tag 'for-linus-20180706' of git://git.kernel.dk/linux-block
Pull block fixes from Jens Axboe:
"Two minor fixes for this series:
- add LOOP_SET_BLOCK_SIZE as compat ioctl (Evan Green)
- drbd use-after-free fix (Lars Ellenberg)"
* tag 'for-linus-20180706' of git://git.kernel.dk/linux-block:
loop: Add LOOP_SET_BLOCK_SIZE in compat ioctl
drbd: fix access after free
commit c2b58149d21f619e34ed047ac27eaf280db692da
Merge: 1bb155702d0f 9cc63791fad6
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Fri Jul 6 12:32:17 2018 -0700
Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
Pull clk fixes from Stephen Boyd:
"The usual collection of driver fixlets:
- build cleanup/fix for the sunxi makefile that tried to save size
but failed and prevented dead code elimination from working
- two Davinci clk driver fixes for a typo causing build failures in
different configurations and an error check that checks the wrong
variable.
- undo the DT ABI breaking imx6ul binding header shuffle that got
merged this cycle"
* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
dt-bindings: clock: imx6ul: Do not change the clock definition order
clk: davinci: fix a typo (which leads to build failures)
clk: davinci: cfgchip: testing the wrong variable
clk: sunxi-ng: replace lib-y with obj-y
commit 1bb155702d0f533035aa2bd829b8e32848dbca3d
Merge: b4d0562137c9 d7ef4899d718
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Fri Jul 6 12:23:53 2018 -0700
Merge tag 'vfio-v4.18-rc4' of git://github.com/awilliam/linux-vfio
Pull VFIO fixes from Alex Williamson:
- Make vfio-pci IGD extensions optional via Kconfig (Alex Williamson)
- Remove unused and soon to be removed map_atomic callback from mbochs
sample driver, add unmap callback to avoid dmabuf leaks (Gerd
Hoffmann)
- Fix usage of get_user_pages_longterm() (Jason Gunthorpe)
- Fix sample mbochs driver vm_operations_struct.fault return type
(Souptick Joarder)
* tag 'vfio-v4.18-rc4' of git://github.com/awilliam/linux-vfio:
sample/vfio-mdev: Change return type to vm_fault_t
vfio: Use get_user_pages_longterm correctly
sample/mdev/mbochs: add mbochs_kunmap_dmabuf
sample/mdev/mbochs: remove mbochs_kmap_atomic_dmabuf
vfio/pci: Make IGD support a configurable option
commit b4d0562137c9035becad5fc0588f6163aed916db
Merge: c42c12a90545 9d6d99e3ac8c
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Fri Jul 6 09:14:34 2018 -0700
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 fixes from Martin Schwidefsky:
"A few more changes for v4.18:
- wire up the two new system calls io_pgetevents and rseq
- fix a register corruption in the expolines code for machines
without EXRL
- drastically reduce the memory utilization of the dasd driver
- fix reference counting for KVM page table pages"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
s390: wire up rseq system call
s390: wire up io_pgetevents system call
s390/mm: fix refcount usage for 4K pgste
s390/dasd: reduce the default queue depth and nr of hardware queues
s390: Correct register corruption in critical section cleanup
commit 1268ed0c474a5c8f165ef386f3310521b5e00e27
Author: K. Y. Srinivasan <kys at microsoft.com>
Date: Tue Jul 3 16:01:55 2018 -0700
x86/hyper-v: Fix the circular dependency in IPI enlightenment
The IPI hypercalls depend on being able to map the Linux notion of CPU ID
to the hypervisor's notion of the CPU ID. The array hv_vp_index[] provides
this mapping. Code for populating this array depends on the IPI functionality.
Break this circular dependency.
[ tglx: Use a proper define instead of '-1' with a u32 variable as pointed
out by Vitaly ]
Fixes: 68bb7bfb7985 ("X86/Hyper-V: Enable IPI enlightenments")
Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
Tested-by: Michael Kelley <mikelley at microsoft.com>
Cc: gregkh at linuxfoundation.org
Cc: devel at linuxdriverproject.org
Cc: olaf at aepfle.de
Cc: apw at canonical.com
Cc: jasowang at redhat.com
Cc: hpa at zytor.com
Cc: sthemmin at microsoft.com
Cc: Michael.H.Kelley at microsoft.com
Cc: vkuznets at redhat.com
Link: https://lkml.kernel.org/r/20180703230155.15160-1-kys@linuxonhyperv.com
commit c42c12a905454734bbddaa9ca62413b4d493234e
Merge: 97f4e1422954 c78d1f9d95a9
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Thu Jul 5 19:43:29 2018 -0700
Merge tag 'drm-fixes-2018-07-06' of git://anongit.freedesktop.org/drm/drm
Pull drm fixes from Dave Airlie:
"This is the drm fixes for rc4.
It's a bit larger than I'd like but the exynos cleanups are pretty
mechanical, and I'd rather have them in sooner rather than later so we
can avoid too much conflicts around them. The non-mechanincal exynos
changes are mostly fixes for new feature recently introduced.
Apart from the exynos updates, we have:
i915:
- GVT and GGTT mapping fixes
amdgpu:
- fix HDMI2.0 4K at 60 Hz regression
- Hotplug fixes for dual-GPU laptops to make power management better
- misc vega12 bios fixes, a race fix and some typos.
sii8620 bridge:
- small fixes around mode setting
core:
- use kvzalloc to allocate blob property memory"
* tag 'drm-fixes-2018-07-06' of git://anongit.freedesktop.org/drm/drm: (34 commits)
drm/amd/display: add a check for display depth validity
drm/amd/display: adding ycbcr420 pixel encoding for hdmi
drm/udl: fix display corruption of the last line
drm/bridge/sii8620: Fix link mode selection
drm/bridge/sii8620: Fix display of packed pixel modes
drm/bridge/sii8620: Send AVI infoframe in all MHL versions
drm/amdgpu: fix user fence write race condition
drm/i915: Try GGTT mmapping whole object as partial
drm/amdgpu/pm: fix display count in non-DC path
drm/amdgpu: fix swapped emit_ib_size in vce3
drm: Use kvzalloc for allocating blob property memory
drm/i915/gvt: changed DDI mode emulation type
drm/i915/gvt: fix a bug of partially write ggtt enties
drm/exynos: Replace drm_dev_unref with drm_dev_put
drm/exynos: Replace drm_gem_object_unreference_unlocked with put function
drm/exynos: Replace drm_framebuffer_{un/reference} with put,get functions
drm/exynos: ipp: use correct enum type
drm/exynos: decon5433: Fix WINCONx reset value
drm/exynos: decon5433: Fix per-plane global alpha for XRGB modes
drm/exynos: fimc: Use real buffer width for configuring the hardware
...
commit 97f4e1422954b42483a9cd23e7c879ab96c84cbe
Merge: 0fa3ecd87848 1fe4293f4b8d
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Thu Jul 5 19:29:07 2018 -0700
Merge tag 'trace-v4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull tracing fixes and cleanups from Steven Rostedt:
"While cleaning out my INBOX, I found a few patches that were lost in
the noise. These are minor bug fixes and clean ups. Those include:
- avoid a string overflow
- code that didn't match the comment (but should)
- a small code optimization (use of a conditional)
- quiet printf warnings
- nuke unused code
- fix function graph interrupt annotation"
* tag 'trace-v4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
tracing: Fix missing return symbol in function_graph output
ftrace: Nuke clear_ftrace_function
tracing: Use __printf markup to silence compiler
tracing: Optimize trace_buffer_iter() logic
tracing: Make create_filter() code match the comments
tracing: Avoid string overflow
commit c78d1f9d95a9f2cd5546c64f5315f54681dd6055
Merge: c8440a70bd20 aab109b340ea
Author: Dave Airlie <airlied at redhat.com>
Date: Fri Jul 6 10:46:58 2018 +1000
Merge tag 'exynos-drm-fixes-for-v4.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-fixes
Fixups
- Fix several problems to IPPv2 merged to mainline recentely.
. An align problem of width size that IPP driver incorrectly
calculated the real buffer size.
. Horizontal and vertical flip problem.
. Per-plane global alpha for XRGB modes.
. Incorrect variant of the YUV modes.
- Fix plane overlapping problem.
. The stange order of overlapping planes on XRGB modes
by setting global alpha value to maximum value.
Cleanup
- Rename a enum type, drm_ipp_size_id, to one specific to Exynos,
drm_exynos_ipp_limit_type.
- Replace {un/reference} with {put,get} functions.
. it replaces several reference/unreference functions with Linux
kernel nameing standard.
Signed-off-by: Dave Airlie <airlied at redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1530512041-21392-1-git-send-email-inki.dae@samsung.com
commit c8440a70bd204b4149971cfaeddc5e9aee72b7b0
Merge: 0581a5cb0624 413ff0b94248
Author: Dave Airlie <airlied at redhat.com>
Date: Fri Jul 6 10:44:35 2018 +1000
Merge branch 'drm-fixes-4.18' of git://people.freedesktop.org/~agd5f/linux into drm-fixes
- Fix an HDMI 2.0 4k at 60 regression
- Hotplug fixes for PX/HG laptops
- Fixes for vbios changes in vega12
- Fix a race in the user fence code
- Fix a couple of misc typos
Signed-off-by: Dave Airlie <airlied at redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180705155206.2752-1-alexander.deucher@amd.com
commit 0581a5cb06249cb694d5776e8995928e6639d93e
Merge: b7716735bb0e 3030deda0971
Author: Dave Airlie <airlied at redhat.com>
Date: Fri Jul 6 10:44:04 2018 +1000
Merge tag 'drm-intel-fixes-2018-07-05' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
A couple of GVT fixes, and a GGTT mmapping fix.
Signed-off-by: Dave Airlie <airlied at redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/8736wxq35t.fsf@intel.com
commit b7716735bb0ee56d4c311582da8ef6df77fc3700
Merge: 99ec9e77511d 44f9a4b0dc75
Author: Dave Airlie <airlied at redhat.com>
Date: Fri Jul 6 10:41:12 2018 +1000
Merge tag 'drm-misc-fixes-2018-07-05' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes
Fixes for v4.18-rc4:
- A few small fixes for the sii8620 bridge.
- Allocate blob property memory using kvzalloc instead of kmalloc.
Signed-off-by: Dave Airlie <airlied at redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/4267636e-bb7c-8f69-eeff-12e045b3e7e1@linux.intel.com
commit f0463f3619fd10e0cbaa5195bf2bc264a77a586d
Merge: 6d9d0f1763a9 0144eb204cdc
Author: Olof Johansson <olof at lixom.net>
Date: Thu Jul 5 14:59:20 2018 -0700
Merge tag 'omap-for-v4.18/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
Fixes for omap for v4.18-rc cycle
Few dts fixes for regressions for various SoCs and
devices for touchscreen wake, dra7 USB quirk, pinmux
for beaglebone mmc, and emac clock.
Also included is a change for ti-sysc to use kcalloc
that Kees wanted to get into v4.18 as that's the last
one he wanted to fix for improved defense against
allocation overflows.
* tag 'omap-for-v4.18/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: dts: omap3: Fix am3517 mdio and emac clock references
ARM: dts: am335x-bone-common: Fix mmc0 Write Protect
bus: ti-sysc: Use 2-factor allocator arguments
ARM: dts: dra7: Disable metastability workaround for USB2
ARM: dts: am437x: make edt-ft5x06 a wakeup source
Signed-off-by: Olof Johansson <olof at lixom.net>
commit 0fa3ecd87848c9c93c2c828ef4c3a8ca36ce46c7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Tue Jul 3 17:10:19 2018 -0700
Fix up non-directory creation in SGID directories
sgid directories have special semantics, making newly created files in
the directory belong to the group of the directory, and newly created
subdirectories will also become sgid. This is historically used for
group-shared directories.
But group directories writable by non-group members should not imply
that such non-group members can magically join the group, so make sure
to clear the sgid bit on non-directories for non-members (but remember
that sgid without group execute means "mandatory locking", just to
confuse things even more).
Reported-by: Jann Horn <jannh at google.com>
Cc: Andy Lutomirski <luto at kernel.org>
Cc: Al Viro <viro at zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit 7ec916f82c48dcfc115eee2e3e0e6d400e310fc5
Author: Christoph Hellwig <hch at lst.de>
Date: Thu Jul 5 13:29:55 2018 -0600
Revert "iommu/intel-iommu: Enable CONFIG_DMA_DIRECT_OPS=y and clean up intel_{alloc,free}_coherent()"
This commit may cause a less than required dma mask to be used for
some allocations, which apparently leads to module load failures for
iwlwifi sometimes.
This reverts commit d657c5c73ca987214a6f9436e435b34fc60f332a.
Signed-off-by: Christoph Hellwig <hch at lst.de>
Reported-by: Fabio Coatti <fabio.coatti at gmail.com>
Tested-by: Fabio Coatti <fabio.coatti at gmail.com>
commit 729c0c9dd55204f0c9a823ac8a7bfa83d36c7e78
Author: Stefano Brivio <sbrivio at redhat.com>
Date: Thu Jul 5 15:10:02 2018 +0200
cifs: Fix stack out-of-bounds in smb{2,3}_create_lease_buf()
smb{2,3}_create_lease_buf() store a lease key in the lease
context for later usage on a lease break.
In most paths, the key is currently sourced from data that
happens to be on the stack near local variables for oplock in
SMB2_open() callers, e.g. from open_shroot(), whereas
smb2_open_file() properly allocates space on its stack for it.
The address of those local variables holding the oplock is then
passed to create_lease_buf handlers via SMB2_open(), and 16
bytes near oplock are used. This causes a stack out-of-bounds
access as reported by KASAN on SMB2.1 and SMB3 mounts (first
out-of-bounds access is shown here):
[ 111.528823] BUG: KASAN: stack-out-of-bounds in smb3_create_lease_buf+0x399/0x3b0 [cifs]
[ 111.530815] Read of size 8 at addr ffff88010829f249 by task mount.cifs/985
[ 111.532838] CPU: 3 PID: 985 Comm: mount.cifs Not tainted 4.18.0-rc3+ #91
[ 111.534656] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
[ 111.536838] Call Trace:
[ 111.537528] dump_stack+0xc2/0x16b
[ 111.540890] print_address_description+0x6a/0x270
[ 111.542185] kasan_report+0x258/0x380
[ 111.544701] smb3_create_lease_buf+0x399/0x3b0 [cifs]
[ 111.546134] SMB2_open+0x1ef8/0x4b70 [cifs]
[ 111.575883] open_shroot+0x339/0x550 [cifs]
[ 111.591969] smb3_qfs_tcon+0x32c/0x1e60 [cifs]
[ 111.617405] cifs_mount+0x4f3/0x2fc0 [cifs]
[ 111.674332] cifs_smb3_do_mount+0x263/0xf10 [cifs]
[ 111.677915] mount_fs+0x55/0x2b0
[ 111.679504] vfs_kern_mount.part.22+0xaa/0x430
[ 111.684511] do_mount+0xc40/0x2660
[ 111.698301] ksys_mount+0x80/0xd0
[ 111.701541] do_syscall_64+0x14e/0x4b0
[ 111.711807] entry_SYSCALL_64_after_hwframe+0x44/0xa9
[ 111.713665] RIP: 0033:0x7f372385b5fa
[ 111.715311] Code: 48 8b 0d 99 78 2c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 66 78 2c 00 f7 d8 64 89 01 48
[ 111.720330] RSP: 002b:00007ffff27049d8 EFLAGS: 00000206 ORIG_RAX: 00000000000000a5
[ 111.722601] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f372385b5fa
[ 111.724842] RDX: 000055c2ecdc73b2 RSI: 000055c2ecdc73f9 RDI: 00007ffff270580f
[ 111.727083] RBP: 00007ffff2705804 R08: 000055c2ee976060 R09: 0000000000001000
[ 111.729319] R10: 0000000000000000 R11: 0000000000000206 R12: 00007f3723f4d000
[ 111.731615] R13: 000055c2ee976060 R14: 00007f3723f4f90f R15: 0000000000000000
[ 111.735448] The buggy address belongs to the page:
[ 111.737420] page:ffffea000420a7c0 count:0 mapcount:0 mapping:0000000000000000 index:0x0
[ 111.739890] flags: 0x17ffffc0000000()
[ 111.741750] raw: 0017ffffc0000000 0000000000000000 dead000000000200 0000000000000000
[ 111.744216] raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000
[ 111.746679] page dumped because: kasan: bad access detected
[ 111.750482] Memory state around the buggy address:
[ 111.752562] ffff88010829f100: 00 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 00
[ 111.754991] ffff88010829f180: 00 00 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00
[ 111.757401] >ffff88010829f200: 00 00 00 00 00 f1 f1 f1 f1 01 f2 f2 f2 f2 f2 f2
[ 111.759801] ^
[ 111.762034] ffff88010829f280: f2 02 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 00
[ 111.764486] ffff88010829f300: f2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 111.766913] ==================================================================
Lease keys are however already generated and stored in fid data
on open and create paths: pass them down to the lease context
creation handlers and use them.
Suggested-by: Aurélien Aptel <aaptel at suse.com>
Reviewed-by: Aurelien Aptel <aaptel at suse.com>
Fixes: b8c32dbb0deb ("CIFS: Request SMB2.1 leases")
Signed-off-by: Stefano Brivio <sbrivio at redhat.com>
Signed-off-by: Steve French <stfrench at microsoft.com>
commit 7ffbe65578b44fafdef577a360eb0583929f7c6e
Author: Paulo Alcantara <paulo at paulo.ac>
Date: Thu Jul 5 13:46:34 2018 -0300
cifs: Fix infinite loop when using hard mount option
For every request we send, whether it is SMB1 or SMB2+, we attempt to
reconnect tcon (cifs_reconnect_tcon or smb2_reconnect) before carrying
out the request.
So, while server->tcpStatus != CifsNeedReconnect, we wait for the
reconnection to succeed on wait_event_interruptible_timeout(). If it
returns, that means that either the condition was evaluated to true, or
timeout elapsed, or it was interrupted by a signal.
Since we're not handling the case where the process woke up due to a
received signal (-ERESTARTSYS), the next call to
wait_event_interruptible_timeout() will _always_ fail and we end up
looping forever inside either cifs_reconnect_tcon() or smb2_reconnect().
Here's an example of how to trigger that:
$ mount.cifs //foo/share /mnt/test -o
username=foo,password=foo,vers=1.0,hard
(break connection to server before executing bellow cmd)
$ stat -f /mnt/test & sleep 140
[1] 2511
$ ps -aux -q 2511
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2511 0.0 0.0 12892 1008 pts/0 S 12:24 0:00 stat -f
/mnt/test
$ kill -9 2511
(wait for a while; process is stuck in the kernel)
$ ps -aux -q 2511
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2511 83.2 0.0 12892 1008 pts/0 R 12:24 30:01 stat -f
/mnt/test
By using 'hard' mount point means that cifs.ko will keep retrying
indefinitely, however we must allow the process to be killed otherwise
it would hang the system.
Signed-off-by: Paulo Alcantara <palcantara at suse.de>
Cc: stable at vger.kernel.org
Reviewed-by: Aurelien Aptel <aaptel at suse.com>
Signed-off-by: Steve French <stfrench at microsoft.com>
commit f46ecbd97f508e68a7806291a139499794874f3d
Author: Stefano Brivio <sbrivio at redhat.com>
Date: Thu Jul 5 11:46:42 2018 +0200
cifs: Fix slab-out-of-bounds in send_set_info() on SMB2 ACE setting
A "small" CIFS buffer is not big enough in general to hold a
setacl request for SMB2, and we end up overflowing the buffer in
send_set_info(). For instance:
# mount.cifs //127.0.0.1/test /mnt/test -o username=test,password=test,nounix,cifsacl
# touch /mnt/test/acltest
# getcifsacl /mnt/test/acltest
REVISION:0x1
CONTROL:0x9004
OWNER:S-1-5-21-2926364953-924364008-418108241-1000
GROUP:S-1-22-2-1001
ACL:S-1-5-21-2926364953-924364008-418108241-1000:ALLOWED/0x0/0x1e01ff
ACL:S-1-22-2-1001:ALLOWED/0x0/R
ACL:S-1-22-2-1001:ALLOWED/0x0/R
ACL:S-1-5-21-2926364953-924364008-418108241-1000:ALLOWED/0x0/0x1e01ff
ACL:S-1-1-0:ALLOWED/0x0/R
# setcifsacl -a "ACL:S-1-22-2-1004:ALLOWED/0x0/R" /mnt/test/acltest
this setacl will cause the following KASAN splat:
[ 330.777927] BUG: KASAN: slab-out-of-bounds in send_set_info+0x4dd/0xc20 [cifs]
[ 330.779696] Write of size 696 at addr ffff88010d5e2860 by task setcifsacl/1012
[ 330.781882] CPU: 1 PID: 1012 Comm: setcifsacl Not tainted 4.18.0-rc2+ #2
[ 330.783140] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
[ 330.784395] Call Trace:
[ 330.784789] dump_stack+0xc2/0x16b
[ 330.786777] print_address_description+0x6a/0x270
[ 330.787520] kasan_report+0x258/0x380
[ 330.788845] memcpy+0x34/0x50
[ 330.789369] send_set_info+0x4dd/0xc20 [cifs]
[ 330.799511] SMB2_set_acl+0x76/0xa0 [cifs]
[ 330.801395] set_smb2_acl+0x7ac/0xf30 [cifs]
[ 330.830888] cifs_xattr_set+0x963/0xe40 [cifs]
[ 330.840367] __vfs_setxattr+0x84/0xb0
[ 330.842060] __vfs_setxattr_noperm+0xe6/0x370
[ 330.843848] vfs_setxattr+0xc2/0xd0
[ 330.845519] setxattr+0x258/0x320
[ 330.859211] path_setxattr+0x15b/0x1b0
[ 330.864392] __x64_sys_setxattr+0xc0/0x160
[ 330.866133] do_syscall_64+0x14e/0x4b0
[ 330.876631] entry_SYSCALL_64_after_hwframe+0x44/0xa9
[ 330.878503] RIP: 0033:0x7ff2e507db0a
[ 330.880151] Code: 48 8b 0d 89 93 2c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 49 89 ca b8 bc 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 56 93 2c 00 f7 d8 64 89 01 48
[ 330.885358] RSP: 002b:00007ffdc4903c18 EFLAGS: 00000246 ORIG_RAX: 00000000000000bc
[ 330.887733] RAX: ffffffffffffffda RBX: 000055d1170de140 RCX: 00007ff2e507db0a
[ 330.890067] RDX: 000055d1170de7d0 RSI: 000055d115b39184 RDI: 00007ffdc4904818
[ 330.892410] RBP: 0000000000000001 R08: 0000000000000000 R09: 000055d1170de7e4
[ 330.894785] R10: 00000000000002b8 R11: 0000000000000246 R12: 0000000000000007
[ 330.897148] R13: 000055d1170de0c0 R14: 0000000000000008 R15: 000055d1170de550
[ 330.901057] Allocated by task 1012:
[ 330.902888] kasan_kmalloc+0xa0/0xd0
[ 330.904714] kmem_cache_alloc+0xc8/0x1d0
[ 330.906615] mempool_alloc+0x11e/0x380
[ 330.908496] cifs_small_buf_get+0x35/0x60 [cifs]
[ 330.910510] smb2_plain_req_init+0x4a/0xd60 [cifs]
[ 330.912551] send_set_info+0x198/0xc20 [cifs]
[ 330.914535] SMB2_set_acl+0x76/0xa0 [cifs]
[ 330.916465] set_smb2_acl+0x7ac/0xf30 [cifs]
[ 330.918453] cifs_xattr_set+0x963/0xe40 [cifs]
[ 330.920426] __vfs_setxattr+0x84/0xb0
[ 330.922284] __vfs_setxattr_noperm+0xe6/0x370
[ 330.924213] vfs_setxattr+0xc2/0xd0
[ 330.926008] setxattr+0x258/0x320
[ 330.927762] path_setxattr+0x15b/0x1b0
[ 330.929592] __x64_sys_setxattr+0xc0/0x160
[ 330.931459] do_syscall_64+0x14e/0x4b0
[ 330.933314] entry_SYSCALL_64_after_hwframe+0x44/0xa9
[ 330.936843] Freed by task 0:
[ 330.938588] (stack is not available)
[ 330.941886] The buggy address belongs to the object at ffff88010d5e2800
which belongs to the cache cifs_small_rq of size 448
[ 330.946362] The buggy address is located 96 bytes inside of
448-byte region [ffff88010d5e2800, ffff88010d5e29c0)
[ 330.950722] The buggy address belongs to the page:
[ 330.952789] page:ffffea0004357880 count:1 mapcount:0 mapping:ffff880108fdca80 index:0x0 compound_mapcount: 0
[ 330.955665] flags: 0x17ffffc0008100(slab|head)
[ 330.957760] raw: 0017ffffc0008100 dead000000000100 dead000000000200 ffff880108fdca80
[ 330.960356] raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000
[ 330.963005] page dumped because: kasan: bad access detected
[ 330.967039] Memory state around the buggy address:
[ 330.969255] ffff88010d5e2880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 330.971833] ffff88010d5e2900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 330.974397] >ffff88010d5e2980: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc
[ 330.976956] ^
[ 330.979226] ffff88010d5e2a00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[ 330.981755] ffff88010d5e2a80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[ 330.984225] ==================================================================
Fix this by allocating a regular CIFS buffer in
smb2_plain_req_init() if the request command is SMB2_SET_INFO.
Reported-by: Jianhong Yin <jiyin at redhat.com>
Fixes: 366ed846df60 ("cifs: Use smb 2 - 3 and cifsacl mount options setacl function")
CC: Stable <stable at vger.kernel.org>
Signed-off-by: Stefano Brivio <sbrivio at redhat.com>
Reviewed-and-tested-by: Aurelien Aptel <aaptel at suse.com>
Signed-off-by: Steve French <stfrench at microsoft.com>
commit 6aa0c114eceec8cc61715f74a4ce91b048d7561c
Author: Paulo Alcantara <paulo at paulo.ac>
Date: Wed Jul 4 14:16:16 2018 -0300
cifs: Fix memory leak in smb2_set_ea()
This patch fixes a memory leak when doing a setxattr(2) in SMB2+.
Signed-off-by: Paulo Alcantara <palcantara at suse.de>
Cc: stable at vger.kernel.org
Signed-off-by: Steve French <stfrench at microsoft.com>
Reviewed-by: Aurelien Aptel <aaptel at suse.com>
commit 81f39f951b8098b1c59b01ad10d06d7dc01c7019
Author: Ronnie Sahlberg <lsahlber at redhat.com>
Date: Thu Jun 28 10:47:14 2018 +1000
cifs: fix SMB1 breakage
SMB1 mounting broke in commit 35e2cc1ba755
("cifs: Use correct packet length in SMB2_TRANSFORM header")
Fix it and also rename smb2_rqst_len to smb_rqst_len
to make it less unobvious that the function is also called from
CIFS/SMB1
Good job by Paulo reviewing and cleaning up Ronnie's original patch.
Signed-off-by: Ronnie Sahlberg <lsahlber at redhat.com>
Reviewed-by: Paulo Alcantara <palcantara at suse.de>
Signed-off-by: Steve French <stfrench at microsoft.com>
commit 8de8c4608fe9edc046c31bf82b2b7ebc1daae015
Author: Paulo Alcantara <paulo at paulo.ac>
Date: Sat Jun 23 14:52:24 2018 -0300
cifs: Fix validation of signed data in smb2
Fixes: c713c8770fa5 ("cifs: push rfc1002 generation down the stack")
We failed to validate signed data returned by the server because
__cifs_calc_signature() now expects to sign the actual data in iov but
we were also passing down the rfc1002 length.
Fix smb3_calc_signature() to calculate signature of rfc1002 length prior
to passing only the actual data iov[1-N] to __cifs_calc_signature(). In
addition, there are a few cases where no rfc1002 length is passed so we
make sure there's one (iov_len == 4).
Signed-off-by: Paulo Alcantara <palcantara at suse.de>
Reviewed-by: Ronnie Sahlberg <lsahlber at redhat.com>
Signed-off-by: Steve French <stfrench at microsoft.com>
commit 27c32b49c3dbfe1e5f57d2b61823bf9474ae0875
Author: Paulo Alcantara <paulo at paulo.ac>
Date: Sat Jun 23 14:52:23 2018 -0300
cifs: Fix validation of signed data in smb3+
Fixes: c713c8770fa5 ("cifs: push rfc1002 generation down the stack")
We failed to validate signed data returned by the server because
__cifs_calc_signature() now expects to sign the actual data in iov but
we were also passing down the rfc1002 length.
Fix smb3_calc_signature() to calculate signature of rfc1002 length prior
to passing only the actual data iov[1-N] to __cifs_calc_signature(). In
addition, there are a few cases where no rfc1002 length is passed so we
make sure there's one (iov_len == 4).
Signed-off-by: Paulo Alcantara <palcantara at suse.de>
Reviewed-by: Ronnie Sahlberg <lsahlber at redhat.com>
Signed-off-by: Steve French <stfrench at microsoft.com>
commit 696e420bb2a6624478105651d5368d45b502b324
Author: Lars Persson <lars.persson at axis.com>
Date: Mon Jun 25 14:05:25 2018 +0200
cifs: Fix use after free of a mid_q_entry
With protocol version 2.0 mounts we have seen crashes with corrupt mid
entries. Either the server->pending_mid_q list becomes corrupt with a
cyclic reference in one element or a mid object fetched by the
demultiplexer thread becomes overwritten during use.
Code review identified a race between the demultiplexer thread and the
request issuing thread. The demultiplexer thread seems to be written
with the assumption that it is the sole user of the mid object until
it calls the mid callback which either wakes the issuer task or
deletes the mid.
This assumption is not true because the issuer task can be woken up
earlier by a signal. If the demultiplexer thread has proceeded as far
as setting the mid_state to MID_RESPONSE_RECEIVED then the issuer
thread will happily end up calling cifs_delete_mid while the
demultiplexer thread still is using the mid object.
Inserting a delay in the cifs demultiplexer thread widens the race
window and makes reproduction of the race very easy:
if (server->large_buf)
buf = server->bigbuf;
+ usleep_range(500, 4000);
server->lstrp = jiffies;
To resolve this I think the proper solution involves putting a
reference count on the mid object. This patch makes sure that the
demultiplexer thread holds a reference until it has finished
processing the transaction.
Cc: stable at vger.kernel.org
Signed-off-by: Lars Persson <larper at axis.com>
Acked-by: Paulo Alcantara <palcantara at suse.de>
Reviewed-by: Ronnie Sahlberg <lsahlber at redhat.com>
Reviewed-by: Pavel Shilovsky <pshilov at microsoft.com>
Signed-off-by: Steve French <stfrench at microsoft.com>
commit d02d21ea007b6b33cdaf15c2f84fb1fea996ecc2
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Wed Jul 4 18:17:51 2018 -0700
autofs: rename 'autofs' module back to 'autofs4'
It turns out that systemd has a bug: it wants to load the autofs module
early because of some initialization ordering with udev, and it doesn't
do that correctly. Everywhere else it does the proper "look up module
name" that does the proper alias resolution, but in that early code, it
just uses a hardcoded "autofs4" for the module name.
The result of that is that as of commit a2225d931f75 ("autofs: remove
left-over autofs4 stubs"), you get
systemd[1]: Failed to insert module 'autofs4': No such file or directory
in the system logs, and a lack of module loading. All this despite the
fact that we had very clearly marked 'autofs4' as an alias for this
module.
What's so ridiculous about this is that literally everything else does
the module alias handling correctly, including really old versions of
systemd (that just used 'modprobe' to do this), and even all the other
systemd module loading code.
Only that special systemd early module load code is broken, hardcoding
the module names for not just 'autofs4', but also "ipv6", "unix",
"ip_tables" and "virtio_rng". Very annoying.
Instead of creating an _additional_ separate compatibility 'autofs4'
module, just rely on the fact that everybody else gets this right, and
just call the module 'autofs4' for compatibility reasons, with 'autofs'
as the alias name.
That will allow the systemd people to fix their bugs, adding the proper
alias handling, and maybe even fix the name of the module to be just
"autofs" (so that they can _test_ the alias handling). And eventually,
we can revert this silly compatibility hack.
See also
https://github.com/systemd/systemd/issues/9501
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902946
for the systemd bug reports upstream and in the Debian bug tracker
respectively.
Fixes: a2225d931f75 ("autofs: remove left-over autofs4 stubs")
Reported-by: Ben Hutchings <ben at decadent.org.uk>
Reported-by: Michael Biebl <biebl at debian.org>
Cc: Ian Kent <raven at themaw.net>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit 1a381d4a0a9a0f999a13faaba22bf6b3fc80dcb9
Author: Greg Hackmann <ghackmann at android.com>
Date: Wed Jun 27 12:46:14 2018 -0700
arm64: remove no-op -p linker flag
Linking the ARM64 defconfig kernel with LLVM lld fails with the error:
ld.lld: error: unknown argument: -p
Makefile:1015: recipe for target 'vmlinux' failed
Without this flag, the ARM64 defconfig kernel successfully links with
lld and boots on Dragonboard 410c.
After digging through binutils source and changelogs, it turns out that
-p is only relevant to ancient binutils installations targeting 32-bit
ARM. binutils accepts -p for AArch64 too, but it's always been
undocumented and silently ignored. A comment in
ld/emultempl/aarch64elf.em explains that it's "Only here for backwards
compatibility".
Since this flag is a no-op on ARM64, we can safely drop it.
Acked-by: Will Deacon <will.deacon at arm.com>
Reviewed-by: Nick Desaulniers <ndesaulniers at google.com>
Signed-off-by: Greg Hackmann <ghackmann at google.com>
Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
commit 06c85639897cf3ea6a11c5cb6929fb0d9d7efea5
Merge: 90dc8b65d243 df958569dbaa
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Thu Jul 5 09:52:30 2018 -0700
Merge tag 'acpi-4.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPI fixes from Rafael Wysocki:
"These fix a recent ACPICA regression, fix a battery driver regression
introduced during the 4.17 cycle and fix up the recently added support
for the PPTT ACPI table.
Specifics:
- Revert part of a recent ACPICA regression fix that added leading
newlines to ACPICA error messages and made the kernel log look
broken (Rafael Wysocki).
- Fix an ACPI battery driver regression introduced during the 4.17
cycle due to incorrect error handling that made Thinkpad 13 laptops
crash on boot (Jouke Witteveen).
- Fix up the recently added PPTT ACPI table support by covering the
case when a PPTT structure represents a processors group correctly
(Sudeep Holla)"
* tag 'acpi-4.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
ACPI / battery: Safe unregistering of hooks
ACPI / PPTT: use ACPI ID whenever ACPI_PPTT_ACPI_PROCESSOR_ID_VALID is set
ACPICA: Drop leading newlines from error messages
commit 90dc8b65d2436833f5bc5a5a243f0965216e141b
Merge: b19b92820935 88b96088e94e
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Thu Jul 5 09:50:18 2018 -0700
Merge tag 'pm-4.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management fixes from Rafael Wysocki:
"These fix a PCI power management regression introduced during the 4.17
cycle and fix up the recently added support for devices in multiple
power domains.
Specifics:
- Resume parallel PCI (non-PCIe) bridges on suspend-to-RAM (ACP S3)
to avoid confusing the platform firmware which started to happen
after a core power management regression fix that went in during
the 4.17 cycle (Rafael Wysocki).
- Fix up the recently added support for devices in multiple power
domains by avoiding to power up the entire domain unnecessarily
when attaching a device to it (Ulf Hansson)"
* tag 'pm-4.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
PM / Domains: Don't power on at attach for the multi PM domain case
PCI / ACPI / PM: Resume bridges w/o drivers on suspend-to-RAM
commit b19b9282093588e73401f9d4981310a8de975f7d
Merge: 760885f282b1 9a6a51154f8b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Thu Jul 5 09:47:18 2018 -0700
Merge tag 'riscv-for-linus-4.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux
Pull RISC-V fixes from Palmer Dabbelt:
"This contains a handful of fixes for the RISC-V port:
- A fix to R_RISCV_ADD32/R_RISCV_SUB32 relocations that allows
modules that use these to load correctly.
- The removal of of_platform_populate(), which is obselete.
- The removal of irq-riscv-intc.h, which is obselete.
- A fix to PTRACE_SETREGSET.
- Fixes that allow the RV32I kernel to build (at least for Zong, I've
got another patch on the mailing list that's necessary on my setup :)).
I've just given these a defconfig build test"
* tag 'riscv-for-linus-4.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux:
RISC-V: Fix PTRACE_SETREGSET bug.
RISC-V: Don't include irq-riscv-intc.h
riscv: remove unnecessary of_platform_populate call
RISC-V: fix R_RISCV_ADD32/R_RISCV_SUB32 relocations
RISC-V: Change variable type for 32-bit compatible
RISC-V: Add definiion of extract symbol's index and type for 32-bit
RISC-V: Select GENERIC_UCMPDI2 on RV32I
RISC-V: Add conditional macro for zone of DMA32
commit 760885f282b1531f89c4ed8aa198ae0ca1acc172
Merge: fc36def997cf ecd60532e060
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Thu Jul 5 09:45:25 2018 -0700
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
Pull m68knommu fix from Greg Ungerer:
"A single fix for breakage introduced in this merge window"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
m68k: fix "bad page state" oops on ColdFire boot
commit 413ff0b942481c7ac2e800abbbac5af318a65e61
Author: Mikita Lipski <mikita.lipski at amd.com>
Date: Wed Jul 4 17:27:56 2018 -0400
drm/amd/display: add a check for display depth validity
[why]
HDMI 2.0 fails to validate 4K at 60 timing with 10 bpc
[how]
Adding a helper function that would verify if the display depth
assigned would pass a bandwidth validation.
Drop the display depth by one level till calculated pixel clk
is lower than maximum TMDS clk.
Bugzilla: https://bugs.freedesktop.org/106959
Tested-by: Mike Lothian <mike at fireburn.co.uk>
Reviewed-by: Harry Wentland <harry.wentland at amd.com>
Signed-off-by: Mikita Lipski <mikita.lipski at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
commit a6311be8f062db5fe93a08a3722fae53a58f2499
Author: Mikita Lipski <mikita.lipski at amd.com>
Date: Wed Jul 4 17:26:26 2018 -0400
drm/amd/display: adding ycbcr420 pixel encoding for hdmi
[why]
HDMI EDID's VSDB contains spectial timings for specifically
YCbCr 4:2:0 colour space. In those cases we need to verify
if the mode provided is one of the special ones has to use
YCbCr 4:2:0 pixel encoding for display info.
[how]
Verify if the mode is using specific ycbcr420 colour space with
the help of DRM helper function and assign the mode to use
ycbcr420 pixel encoding.
Tested-by: Mike Lothian <mike at fireburn.co.uk>
Reviewed-by: Harry Wentland <harry.wentland at amd.com>
Signed-off-by: Mikita Lipski <mikita.lipski at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
commit 2c83a726d6fbb5d130d8f2edd82a258adb675ac3
Author: Lucas Stach <l.stach at pengutronix.de>
Date: Wed Jun 27 15:58:13 2018 +0200
drm/etnaviv: bring back progress check in job timeout handler
When the hangcheck handler was replaced by the DRM scheduler timeout
handling we dropped the forward progress check, as this might allow
clients to hog the GPU for a long time with a big job.
It turns out that even reasonably well behaved clients like the
Armada Xorg driver occasionally trip over the 500ms timeout. Bring
back the forward progress check to get rid of the userspace regression.
We would still like to fix userspace to submit smaller batches
if possible, but that is for another day.
Cc: <stable at vger.kernel.org>
Fixes: 6d7a20c07760 (drm/etnaviv: replace hangcheck with scheduler timeout)
Reported-by: Russell King <linux at armlinux.org.uk>
Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
Reviewed-by: Eric Anholt <eric at anholt.net>
commit df958569dbaa398f525057729717e44809ac4306
Merge: 673b4271665a 30998033f62a a0d5f3b69af7
Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Date: Thu Jul 5 13:03:43 2018 +0200
Merge branches 'acpi-tables' and 'acpica'
Merge ACPICA regression fix and a fix for the recently added PPTT
support.
* acpi-tables:
ACPI / PPTT: use ACPI ID whenever ACPI_PPTT_ACPI_PROCESSOR_ID_VALID is set
* acpica:
ACPICA: Drop leading newlines from error messages
commit 88b96088e94ec66f6c9015eee28cb9d053be69c0
Merge: 895b66129ad8 26112ddc254c
Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Date: Thu Jul 5 12:47:16 2018 +0200
Merge branch 'pm-pci'
Merge a PCI power management regression fix.
* pm-pci:
PCI / ACPI / PM: Resume bridges w/o drivers on suspend-to-RAM
commit 6cef21a1964933b77c855c55bac2723053cc676d
Author: Hang Yuan <hang.yuan at linux.intel.com>
Date: Tue Jul 3 17:31:17 2018 +0800
drm/i915/gvt: update vreg on inhibit context lri command
Commit cd7e 61b9"init mmio by lri command in vgpu inhibit context"
initializes registers saved/restored in context with its vreg value
through lri command in ring buffer. It relies on vreg got updated
on every guest access. There is a case found that Linux guest uses
lri command in inhibit-ctx to update the register. This patch adds
vreg update on this case.
v2: move mmio_attribute functions to gvt.h (Zhenyu)
v3: use mask_mmio_write in vreg update
v4: refine codes and add more comments (Zhenyu)
Fixes: cd7e61b9("drm/i915/gvt: init mmio by lri command in vgpu inhibit context")
Signed-off-by: Hang Yuan <hang.yuan at linux.intel.com>
Signed-off-by: Weinan Li <weinan.z.li at intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
commit 99ec9e77511dea55d81729fc80b6c63a61bfa8e0
Author: Mikulas Patocka <mpatocka at redhat.com>
Date: Sun Jun 3 16:40:54 2018 +0200
drm/udl: fix display corruption of the last line
The displaylink hardware has such a peculiarity that it doesn't render a
command until next command is received. This produces occasional
corruption, such as when setting 22x11 font on the console, only the first
line of the cursor will be blinking if the cursor is located at some
specific columns.
When we end up with a repeating pixel, the driver has a bug that it leaves
one uninitialized byte after the command (and this byte is enough to flush
the command and render it - thus it fixes the screen corruption), however
whe we end up with a non-repeating pixel, there is no byte appended and
this results in temporary screen corruption.
This patch fixes the screen corruption by always appending a byte 0xAF at
the end of URB. It also removes the uninitialized byte.
Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
Cc: stable at vger.kernel.org
Signed-off-by: Dave Airlie <airlied at redhat.com>
commit 2893af07e507e993ad71ca6d66a7b02be741571c
Author: Masahiro Yamada <yamada.masahiro at socionext.com>
Date: Tue Jul 3 10:22:00 2018 +0900
arm64: add endianness option to LDFLAGS instead of LD
With the recent syntax extension, Kconfig is now able to evaluate the
compiler / toolchain capability.
However, accumulating flags to 'LD' is not compatible with the way
it works; 'LD' must be passed to Kconfig to call $(ld-option,...)
from Kconfig files. If you tweak 'LD' in arch Makefile depending on
CONFIG_CPU_BIG_ENDIAN, this would end up with circular dependency
between Makefile and Kconfig.
Acked-by: Will Deacon <will.deacon at arm.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
commit 9a6a51154f8be90a76f6a8ea8809115c11cec9dd
Merge: 1db9b80980d2 7df85002178e
Author: Palmer Dabbelt <palmer at sifive.com>
Date: Wed Jul 4 14:12:53 2018 -0700
RISC-V: Fix the rv32i kernel build
These patches for building 32-bit RISC-V kernel.
- Fix the compile errors and warnings on RV32I.
- Fix some incompatible problem on RV32I.
- Add format.h for compatible of print format.
The fixed width integer types format for Elf_Addr will move to
generic header by another patch. For now, there are some warning
about unexpected argument of type on RV32I.
Change in v1:
- Fix some error in v1
- Remove implementation of fixed width integer types format for Elf_Addr.
commit 1db9b80980d26fe95c942e0bb8bde2ca715029ad
Author: Jim Wilson <jimw at sifive.com>
Date: Mon Jun 11 14:48:22 2018 -0700
RISC-V: Fix PTRACE_SETREGSET bug.
In riscv_gpr_set, pass regs instead of ®s to user_regset_copyin to fix
gdb segfault.
Signed-off-by: Jim Wilson <jimw at sifive.com>
Signed-off-by: Palmer Dabbelt <palmer at sifive.com>
commit 8606544890d7dc4f7a740963f70dc1e1d54f8e30
Author: Palmer Dabbelt <palmer at sifive.com>
Date: Fri Jun 22 15:46:28 2018 -0700
RISC-V: Don't include irq-riscv-intc.h
This file has never existed in the upstream kernel, but it's guarded by
an #ifdef that's also never existed in the upstream kernel. As a part
of our interrupt controller refactoring this header is no longer
necessary, but this reference managed to sneak in anyway.
Signed-off-by: Palmer Dabbelt <palmer at sifive.com>
commit f67f10b8a6c96ab6c1d6946d269e2ca5f9998cc2
Author: Rob Herring <robh at kernel.org>
Date: Tue Jun 19 15:41:34 2018 -0600
riscv: remove unnecessary of_platform_populate call
The DT core will call of_platform_default_populate, so it is not
necessary for arch specific code to call it unless there are custom
match entries, auxdata or parent device. Neither of those apply here, so
remove the call.
Cc: Palmer Dabbelt <palmer at sifive.com>
Cc: Albert Ou <aou at eecs.berkeley.edu>
Cc: linux-riscv at lists.infradead.org
Signed-off-by: Rob Herring <robh at kernel.org>
Signed-off-by: Palmer Dabbelt <palmer at sifive.com>
commit 781c8fe2da3d2c7c95cd7ffddbab63b80a79da4d
Author: Andreas Schwab <schwab at suse.de>
Date: Tue Jun 12 19:26:36 2018 +0200
RISC-V: fix R_RISCV_ADD32/R_RISCV_SUB32 relocations
The R_RISCV_ADD32/R_RISCV_SUB32 relocations should add/subtract the
address of the symbol (without overflow check), not its contents.
Signed-off-by: Andreas Schwab <schwab at suse.de>
Signed-off-by: Palmer Dabbelt <palmer at sifive.com>
commit 7df85002178e708aa749c63020fd333d9f085ced
Author: Zong Li <zong at andestech.com>
Date: Mon Jun 25 16:49:40 2018 +0800
RISC-V: Change variable type for 32-bit compatible
Signed-off-by: Zong Li <zong at andestech.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
Signed-off-by: Palmer Dabbelt <palmer at sifive.com>
commit c480d8911fda96a0f37634bd4dc4e2c8a87c38da
Author: Zong Li <zong at andestech.com>
Date: Mon Jun 25 16:49:39 2018 +0800
RISC-V: Add definiion of extract symbol's index and type for 32-bit
Use generic marco to get the index and type of symbol.
Signed-off-by: Zong Li <zong at andestech.com>
Signed-off-by: Palmer Dabbelt <palmer at sifive.com>
commit 8f79125d285d2d71ed110e875754942256efa51d
Author: Zong Li <zong at andestech.com>
Date: Mon Jun 25 16:49:38 2018 +0800
RISC-V: Select GENERIC_UCMPDI2 on RV32I
On 32-bit, it need to use __ucmpdi2, otherwise, it can't find the __ucmpdi2
symbol.
Signed-off-by: Zong Li <zong at andestech.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
Signed-off-by: Palmer Dabbelt <palmer at sifive.com>
commit d5fad48cfb4b183d87960904c177eeeb9412b929
Author: Zong Li <zong at andestech.com>
Date: Mon Jun 25 16:49:37 2018 +0800
RISC-V: Add conditional macro for zone of DMA32
The DMA32 is for 64-bit usage.
Signed-off-by: Zong Li <zong at andestech.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
Signed-off-by: Palmer Dabbelt <palmer at sifive.com>
commit d7ef4899d7182f9d4267b4e4a5cc3689c1a04f25
Author: Souptick Joarder <jrdr.linux at gmail.com>
Date: Wed Jul 4 21:00:14 2018 +0530
sample/vfio-mdev: Change return type to vm_fault_t
convert mbochs_region_vm_fault and mbochs_dmabuf_vm_fault
to return vm_fault_t type.
Signed-off-by: Souptick Joarder <jrdr.linux at gmail.com>
Signed-off-by: Alex Williamson <alex.williamson at redhat.com>
commit 38fc4248677552ce35efc09902fdcb06b61d7ef9
Author: Paul Kocialkowski <contact at paulk.fr>
Date: Mon Jul 2 11:16:59 2018 +0200
arm64: Use aarch64elf and aarch64elfb emulation mode variants
The aarch64linux and aarch64linuxb emulation modes are not supported by
bare-metal toolchains and Linux using them forbids building the kernel
with these toolchains.
Since there is apparently no reason to target these emulation modes, the
more generic elf modes are used instead, allowing to build on bare-metal
toolchains as well as the already-supported ones.
Fixes: 3d6a7b99e3fa ("arm64: ensure the kernel is compiled for LP64")
Cc: stable at vger.kernel.org
Acked-by: Will Deacon <will.deacon at arm.com>
Signed-off-by: Paul Kocialkowski <contact at paulk.fr>
Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
commit 44f9a4b0dc7563669772198e5b226cab58a00167
Author: Maciej Purski <m.purski at samsung.com>
Date: Thu Jun 28 18:44:03 2018 +0200
drm/bridge/sii8620: Fix link mode selection
Current link mode values do not allow to enable packed pixel modes.
Select packed pixel clock mode, if needed, every time the link mode
register gets updated.
Signed-off-by: Maciej Purski <m.purski at samsung.com>
Signed-off-by: Andrzej Hajda <a.hajda at samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1530204243-6370-4-git-send-email-m.purski@samsung.com
commit fdddc65ab35d575b42aab411b2dc687601eab680
Author: Maciej Purski <m.purski at samsung.com>
Date: Thu Jun 28 18:44:02 2018 +0200
drm/bridge/sii8620: Fix display of packed pixel modes
Current implementation does not guarantee packed pixel modes working
with every dongle. There are some dongles, which require selecting
the output mode explicitly.
Write proper values to registers in packed_pixel mode, based on how it
is done in vendor's code. Select output color space: RGB
(no packed pixel) or YCBCR422 (packed pixel).
This reverts commit e8b92efa629dac0e70ea4145c5e70616de5f89c8
("drm/bridge/sii8620: fix display of packed pixel modes in MHL2").
Signed-off-by: Maciej Purski <m.purski at samsung.com>
Signed-off-by: Andrzej Hajda <a.hajda at samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1530204243-6370-3-git-send-email-m.purski@samsung.com
commit f0139752f71b05c918d86101643eb00b312ab883
Author: Maciej Purski <m.purski at samsung.com>
Date: Thu Jun 28 18:44:01 2018 +0200
drm/bridge/sii8620: Send AVI infoframe in all MHL versions
Currently AVI infoframe is sent only in MHL3. However, some MHL2 dongles
need AVI infoframe to work correctly in either packed pixel mode or
non-packed pixel mode.
Send AVI infoframe in set_infoframes() in every case. Create an
infoframe using drm_hdmi_infoframe_from_display_mode() instead of
manually filling each infoframe structure's field.
Signed-off-by: Maciej Purski <m.purski at samsung.com>
Signed-off-by: Andrzej Hajda <a.hajda at samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1530204243-6370-2-git-send-email-m.purski@samsung.com
commit 673b4271665a12fa839a12abb50e6f6e9953c081
Author: Jouke Witteveen <j.witteveen at gmail.com>
Date: Wed Jul 4 12:27:15 2018 +0200
ACPI / battery: Safe unregistering of hooks
A hooking API was implemented for 4.17 in fa93854f7a7ed63d followed
by hooks for Thinkpad laptops in 2801b9683f740012. The Thinkpad
drivers did not support the Thinkpad 13 and the hooking API crashes
on unsupported batteries by altering a list of hooks during unsafe
iteration. Thus, Thinkpad 13 laptops could no longer boot.
Additionally, a lock was kept in place and debugging information was
printed out of order.
Fixes: fa93854f7a7e (battery: Add the battery hooking API)
Cc: 4.17+ <stable at vger.kernel.org> # 4.17+
Signed-off-by: Jouke Witteveen <j.witteveen at gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
commit c660f40b711980b42d8beac4b395a10645b20d5d
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: Fri Jun 29 13:23:25 2018 +0200
drm/amdgpu: fix user fence write race condition
The buffer object backing the user fence is reserved using the non-user
fence, i.e., as soon as the non-user fence is signaled, the user fence
buffer object can be moved or even destroyed.
Therefore, emit the user fence first.
Both fences have the same cache invalidation behavior, so this should
have no user-visible effect.
Signed-off-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Cc: stable at vger.kernel.org
commit 9d6d99e3ac8ccfd0945edb3c83cd912838775056
Author: Heiko Carstens <heiko.carstens at de.ibm.com>
Date: Sat Jun 30 10:54:15 2018 +0200
s390: wire up rseq system call
Signed-off-by: Heiko Carstens <heiko.carstens at de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>
commit 8bf935501a7ef1b2ec3b51c804d657d5895f221a
Author: Heiko Carstens <heiko.carstens at de.ibm.com>
Date: Sat Jun 30 10:53:57 2018 +0200
s390: wire up io_pgetevents system call
Signed-off-by: Heiko Carstens <heiko.carstens at de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>
commit fc36def997cfd6cbff3eda4f82853a5c311c5466
Author: Pavel Tatashin <pasha.tatashin at oracle.com>
Date: Tue Jul 3 17:02:53 2018 -0700
mm: teach dump_page() to correctly output poisoned struct pages
If struct page is poisoned, and uninitialized access is detected via
PF_POISONED_CHECK(page) dump_page() is called to output the page. But,
the dump_page() itself accesses struct page to determine how to print
it, and therefore gets into a recursive loop.
For example:
dump_page()
__dump_page()
PageSlab(page)
PF_POISONED_CHECK(page)
VM_BUG_ON_PGFLAGS(PagePoisoned(page), page)
dump_page() recursion loop.
Link: http://lkml.kernel.org/r/20180702180536.2552-1-pasha.tatashin@oracle.com
Fixes: f165b378bbdf ("mm: uninitialized struct page poisoning sanity checking")
Signed-off-by: Pavel Tatashin <pasha.tatashin at oracle.com>
Acked-by: Michal Hocko <mhocko at suse.com>
Cc: <stable at vger.kernel.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit 5e4e290d3751607726a62f0b49e11261a0a9345e
Author: Arnd Bergmann <arnd at arndb.de>
Date: Tue Jul 3 17:02:49 2018 -0700
ARM: disable KCOV for trusted foundations code
The ARM trusted foundations code is currently broken in linux-next when
CONFIG_KCOV_INSTRUMENT_ALL is set:
/tmp/ccHdQsCI.s: Assembler messages:
/tmp/ccHdQsCI.s:37: Error: .err encountered
/tmp/ccHdQsCI.s:38: Error: .err encountered
/tmp/ccHdQsCI.s:39: Error: .err encountered
scripts/Makefile.build:311: recipe for target 'arch/arm/firmware/trusted_foundations.o' failed
I could not find a function attribute that lets me disable
-fsanitize-coverage=trace-pc for just one function, so this turns it off
for the entire file instead.
Link: http://lkml.kernel.org/r/20180529103636.1535457-1-arnd@arndb.de
Fixes: 758517202bd2e4 ("arm: port KCOV to arm")
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Acked-by: Olof Johansson <olof at lixom.net>
Tested-by: Olof Johansson <olof at lixom.net>
Cc: Dmitry Vyukov <dvyukov at google.com>
Cc: Mark Rutland <mark.rutland at arm.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit 1e8e18f694a52d703665012ca486826f64bac29d
Author: Zhen Lei <thunder.leizhen at huawei.com>
Date: Tue Jul 3 17:02:46 2018 -0700
kasan: fix shadow_size calculation error in kasan_module_alloc
There is a special case that the size is "(N << KASAN_SHADOW_SCALE_SHIFT)
Pages plus X", the value of X is [1, KASAN_SHADOW_SCALE_SIZE-1]. The
operation "size >> KASAN_SHADOW_SCALE_SHIFT" will drop X, and the
roundup operation can not retrieve the missed one page. For example:
size=0x28006, PAGE_SIZE=0x1000, KASAN_SHADOW_SCALE_SHIFT=3, we will get
shadow_size=0x5000, but actually we need 6 pages.
shadow_size = round_up(size >> KASAN_SHADOW_SCALE_SHIFT, PAGE_SIZE);
This can lead to a kernel crash when kasan is enabled and the value of
mod->core_layout.size or mod->init_layout.size is like above. Because
the shadow memory of X has not been allocated and mapped.
move_module:
ptr = module_alloc(mod->core_layout.size);
...
memset(ptr, 0, mod->core_layout.size); //crashed
Unable to handle kernel paging request at virtual address ffff0fffff97b000
......
Call trace:
__asan_storeN+0x174/0x1a8
memset+0x24/0x48
layout_and_allocate+0xcd8/0x1800
load_module+0x190/0x23e8
SyS_finit_module+0x148/0x180
Link: http://lkml.kernel.org/r/1529659626-12660-1-git-send-email-thunder.leizhen@huawei.com
Signed-off-by: Zhen Lei <thunder.leizhen at huawei.com>
Reviewed-by: Dmitriy Vyukov <dvyukov at google.com>
Acked-by: Andrey Ryabinin <aryabinin at virtuozzo.com>
Cc: Alexander Potapenko <glider at google.com>
Cc: Hanjun Guo <guohanjun at huawei.com>
Cc: Libin <huawei.libin at huawei.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit 520495fe96d74e05db585fc748351e0504d8f40d
Author: Cannon Matthews <cannonmatthews at google.com>
Date: Tue Jul 3 17:02:43 2018 -0700
mm: hugetlb: yield when prepping struct pages
When booting with very large numbers of gigantic (i.e. 1G) pages, the
operations in the loop of gather_bootmem_prealloc, and specifically
prep_compound_gigantic_page, takes a very long time, and can cause a
softlockup if enough pages are requested at boot.
For example booting with 3844 1G pages requires prepping
(set_compound_head, init the count) over 1 billion 4K tail pages, which
takes considerable time.
Add a cond_resched() to the outer loop in gather_bootmem_prealloc() to
prevent this lockup.
Tested: Booted with softlockup_panic=1 hugepagesz=1G hugepages=3844 and
no softlockup is reported, and the hugepages are reported as
successfully setup.
Link: http://lkml.kernel.org/r/20180627214447.260804-1-cannonmatthews@google.com
Signed-off-by: Cannon Matthews <cannonmatthews at google.com>
Reviewed-by: Andrew Morton <akpm at linux-foundation.org>
Reviewed-by: Mike Kravetz <mike.kravetz at oracle.com>
Acked-by: Michal Hocko <mhocko at suse.com>
Cc: Andres Lagar-Cavilla <andreslc at google.com>
Cc: Peter Feiner <pfeiner at google.com>
Cc: Greg Thelen <gthelen at google.com>
Cc: <stable at vger.kernel.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit 1e2c043628c7736dd56536d16c0ce009bc834ae7
Author: Janosch Frank <frankja at linux.ibm.com>
Date: Tue Jul 3 17:02:39 2018 -0700
userfaultfd: hugetlbfs: fix userfaultfd_huge_must_wait() pte access
Use huge_ptep_get() to translate huge ptes to normal ptes so we can
check them with the huge_pte_* functions. Otherwise some architectures
will check the wrong values and will not wait for userspace to bring in
the memory.
Link: http://lkml.kernel.org/r/20180626132421.78084-1-frankja@linux.ibm.com
Fixes: 369cd2121be4 ("userfaultfd: hugetlbfs: userfaultfd_huge_must_wait for hugepmd ranges")
Signed-off-by: Janosch Frank <frankja at linux.ibm.com>
Reviewed-by: David Hildenbrand <david at redhat.com>
Reviewed-by: Mike Kravetz <mike.kravetz at oracle.com>
Cc: Andrea Arcangeli <aarcange at redhat.com>
Cc: <stable at vger.kernel.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit 1fe4293f4b8de75824935f8d8e9a99c7fc6873da
Author: Changbin Du <changbin.du at intel.com>
Date: Wed Jan 31 23:48:49 2018 +0800
tracing: Fix missing return symbol in function_graph output
The function_graph tracer does not show the interrupt return marker for the
leaf entry. On leaf entries, we see an unbalanced interrupt marker (the
interrupt was entered, but nevern left).
Before:
1) | SyS_write() {
1) | __fdget_pos() {
1) 0.061 us | __fget_light();
1) 0.289 us | }
1) | vfs_write() {
1) 0.049 us | rw_verify_area();
1) + 15.424 us | __vfs_write();
1) ==========> |
1) 6.003 us | smp_apic_timer_interrupt();
1) 0.055 us | __fsnotify_parent();
1) 0.073 us | fsnotify();
1) + 23.665 us | }
1) + 24.501 us | }
After:
0) | SyS_write() {
0) | __fdget_pos() {
0) 0.052 us | __fget_light();
0) 0.328 us | }
0) | vfs_write() {
0) 0.057 us | rw_verify_area();
0) | __vfs_write() {
0) ==========> |
0) 8.548 us | smp_apic_timer_interrupt();
0) <========== |
0) + 36.507 us | } /* __vfs_write */
0) 0.049 us | __fsnotify_parent();
0) 0.066 us | fsnotify();
0) + 50.064 us | }
0) + 50.952 us | }
Link: http://lkml.kernel.org/r/1517413729-20411-1-git-send-email-changbin.du@intel.com
Cc: stable at vger.kernel.org
Fixes: f8b755ac8e0cc ("tracing/function-graph-tracer: Output arrows signal on hardirq call/return")
Signed-off-by: Changbin Du <changbin.du at intel.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt at goodmis.org>
commit 5ccba64a560fa6ca06008d4001f5d46ebeb34b41
Author: Yisheng Xie <xieyisheng1 at huawei.com>
Date: Fri Feb 2 10:14:49 2018 +0800
ftrace: Nuke clear_ftrace_function
clear_ftrace_function is not used outside of ftrace.c and is not help to
use a function, so nuke it per Steve's suggestion.
Link: http://lkml.kernel.org/r/1517537689-34947-1-git-send-email-xieyisheng1@huawei.com
Suggested-by: Steven Rostedt <rostedt at goodmis.org>
Signed-off-by: Yisheng Xie <xieyisheng1 at huawei.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt at goodmis.org>
commit 26b68dd2f48fe7699a89f0cfbb9f4a650dc1c837
Author: Mathieu Malaterre <malat at debian.org>
Date: Thu Mar 8 21:58:43 2018 +0100
tracing: Use __printf markup to silence compiler
Silence warnings (triggered at W=1) by adding relevant __printf attributes.
CC kernel/trace/trace.o
kernel/trace/trace.c: In function ‘__trace_array_vprintk’:
kernel/trace/trace.c:2979:2: warning: function might be possible candidate for ‘gnu_printf’ format attribute [-Wsuggest-attribute=format]
len = vscnprintf(tbuffer, TRACE_BUF_SIZE, fmt, args);
^~~
AR kernel/trace/built-in.o
Link: http://lkml.kernel.org/r/20180308205843.27447-1-malat@debian.org
Signed-off-by: Mathieu Malaterre <malat at debian.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt at goodmis.org>
commit f26808ba7227a921e0e8549c7d3c52332b920085
Author: yuan linyu <Linyu.Yuan at alcatel-sbell.com.cn>
Date: Sun Apr 8 19:36:31 2018 +0800
tracing: Optimize trace_buffer_iter() logic
Simplify and optimize the logic in trace_buffer_iter() to use a conditional
operation instead of an if conditional.
Link: http://lkml.kernel.org/r/20180408113631.3947-1-cugyly@163.com
Signed-off-by: yuan linyu <Linyu.Yuan at alcatel-sbell.com.cn>
Signed-off-by: Steven Rostedt (VMware) <rostedt at goodmis.org>
commit f90658725ba7ebb031054866aff4cda0d099a3b1
Author: Steven Rostedt (VMware) <rostedt at goodmis.org>
Date: Mon Jul 2 11:41:38 2018 -0400
tracing: Make create_filter() code match the comments
The comment in create_filter() states that the passed in filter pointer
(filterp) will either be NULL or contain an error message stating why the
filter failed. But it also expects the filter pointer to point to NULL when
passed in. If it is not, the function create_filter_start() will warn and
return an error message without updating the filter pointer. This is not
what the comment states.
As we always expect the pointer to point to NULL, if it is not, trigger a
WARN_ON(), set it to NULL, and then continue the path as the rest will work
as the comment states. Also update the comment to state it must point to
NULL.
Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt at goodmis.org>
commit cf4d418e653afc84c9c873236033e06be5d58f1c
Author: Arnd Bergmann <arnd at arndb.de>
Date: Wed Mar 28 16:09:10 2018 +0200
tracing: Avoid string overflow
'err' is used as a NUL-terminated string, but using strncpy() with the length
equal to the buffer size may result in lack of the termination:
kernel/trace/trace_events_hist.c: In function 'hist_err_event':
kernel/trace/trace_events_hist.c:396:3: error: 'strncpy' specified bound 256 equals destination size [-Werror=stringop-truncation]
strncpy(err, var, MAX_FILTER_STR_VAL);
This changes it to use the safer strscpy() instead.
Link: http://lkml.kernel.org/r/20180328140920.2842153-1-arnd@arndb.de
Cc: stable at vger.kernel.org
Fixes: f404da6e1d46 ("tracing: Add 'last error' error facility for hist triggers")
Acked-by: Tom Zanussi <tom.zanussi at linux.intel.com>
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Signed-off-by: Steven Rostedt (VMware) <rostedt at goodmis.org>
commit 410da1e12ffed61129d61df5b7adce4d08c7f17c
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Tue Jul 3 09:53:43 2018 -0700
net/smc: fix up merge error with poll changes
My networking merge (commit 4e33d7d47943: "Pull networking fixes from
David Miller") got the poll() handling conflict wrong for af_smc.
The conflict between my a11e1d432b51 ("Revert changes to convert to
->poll_mask() and aio IOCB_CMD_POLL") and Ursula Braun's 24ac3a08e658
("net/smc: rebuild nonblocking connect") should have left the call to
sock_poll_wait() in place, just without the socket lock release/retake.
And I really should have realized that. But happily, I at least asked
Ursula to double-check the merge, and she set me right.
This also fixes an incidental whitespace issue nearby that annoyed me
while looking at this.
Pointed-out-by: Ursula Braun <ubraun at linux.ibm.com>
Cc: David Miller <davem at davemloft.net>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit 6d9d0f1763a90d5980901fd51a046fc02ba58d4c
Merge: 021c91791a5e 2ceb2780b790
Author: Olof Johansson <olof at lixom.net>
Date: Tue Jul 3 09:47:36 2018 -0700
Merge tag 'imx-fixes-4.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes
i.MX fixes for 4.18, round 2:
- A couple of imx defconfig updates selecting USB ULPI support to fix
a regression seen with USB driver, which is caused by commit
03e6275ae381 ("usb: chipidea: Fix ULPI on imx51").
- A fix on imx51-zii-rdu1 board touchscreen pinctrl setting, which
causes an interrupt storm.
* tag 'imx-fixes-4.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
ARM: imx_v4_v5_defconfig: Select ULPI support
ARM: imx_v6_v7_defconfig: Select ULPI support
ARM: dts: imx51-zii-rdu1: fix touchscreen pinctrl
Signed-off-by: Olof Johansson <olof at lixom.net>
commit 895b66129ad8c562865b64306032bdb378f4484f
Author: Ulf Hansson <ulf.hansson at linaro.org>
Date: Fri Jun 29 11:15:37 2018 +0200
PM / Domains: Don't power on at attach for the multi PM domain case
There are no legacy behavior in drivers to consider while attaching a
device to genpd - for the multiple PM domain case.
For that reason, let's instead require the driver to runtime resume the
device, via calling pm_runtime_get_sync() for example, when it needs to
power on the corresponding PM domain.
This allows us to improve the situation during attach. Instead of always
power on the PM domain, which may be unnecessary, let's leave it in its
current state. Additionally, to avoid the PM domain to stay powered on,
let's schedule a power off work.
Fixes: 3c095f32a92b (PM / Domains: Add support for multi PM domains ...)
Signed-off-by: Ulf Hansson <ulf.hansson at linaro.org>
Acked-by: Viresh Kumar <viresh.kumar at linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
commit 9fea4b395260175de4016b42982f45a3e6e03d0b
Author: Evan Green <evgreen at chromium.org>
Date: Mon Jul 2 16:03:46 2018 -0700
loop: Add LOOP_SET_BLOCK_SIZE in compat ioctl
This change adds LOOP_SET_BLOCK_SIZE as one of the supported ioctls
in lo_compat_ioctl. It only takes an unsigned long argument, and
in practice a 32-bit value works fine.
Reviewed-by: Omar Sandoval <osandov at fb.com>
Signed-off-by: Evan Green <evgreen at chromium.org>
Signed-off-by: Jens Axboe <axboe at kernel.dk>
commit 2ceb2780b790b74bc408a949f6aedbad8afa693e
Author: Fabio Estevam <fabio.estevam at nxp.com>
Date: Tue Jun 26 08:37:09 2018 -0300
ARM: imx_v4_v5_defconfig: Select ULPI support
Select CONFIG_USB_CHIPIDEA_ULPI and CONFIG_USB_ULPI_BUS so that
USB ULPI can be functional on some boards like that use ULPI
interface.
Signed-off-by: Fabio Estevam <fabio.estevam at nxp.com>
Signed-off-by: Shawn Guo <shawnguo at kernel.org>
commit 157bcc06094c3c5800d3f4676527047b79b618e7
Author: Fabio Estevam <fabio.estevam at nxp.com>
Date: Mon Jun 25 09:34:03 2018 -0300
ARM: imx_v6_v7_defconfig: Select ULPI support
Select CONFIG_USB_CHIPIDEA_ULPI and CONFIG_USB_ULPI_BUS so that
USB ULPI can be functional on some boards like imx51-babbge.
This fixes a kernel hang in 4.18-rc1 on i.mx51-babbage, caused by commit
03e6275ae381 ("usb: chipidea: Fix ULPI on imx51").
Suggested-by: Andrey Smirnov <andrew.smirnov at gmail.com>
Signed-off-by: Fabio Estevam <fabio.estevam at nxp.com>
Signed-off-by: Shawn Guo <shawnguo at kernel.org>
commit 3030deda09711e5d81eabf5cd95a567576601343
Merge: d403397c7c08 a4cae23cc05c
Author: Jani Nikula <jani.nikula at intel.com>
Date: Tue Jul 3 14:57:43 2018 +0300
Merge tag 'gvt-fixes-2018-07-03' of https://github.com/intel/gvt-linux into drm-intel-fixes
gvt-fixes-2018-07-03
- replace virtual transcoder mode as DVI to fix guest warning (Xiaolin)
- fix partial GGTT entry write (Yan)
Signed-off-by: Jani Nikula <jani.nikula at intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180703061139.GQ1267@zhen-hp.sh.intel.com
commit d403397c7c0821704a2f4da2694b46e423791261
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Sat Jun 30 10:05:09 2018 +0100
drm/i915: Try GGTT mmapping whole object as partial
If the whole object is already pinned by HW for use as scanout, we will
fail to move it to the mappable region and so must resort to using a
partial VMA covering the whole object.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104513
Fixes: aa136d9d72c2 ("drm/i915: Convert partial ggtt vma to full ggtt if it spans the entire object")
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
Cc: Matthew Auld <matthew.william.auld at gmail.com>
Reviewed-by: Matthew Auld <matthew.william.auld at gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180630090509.469-1-chris@chris-wilson.co.uk
(cherry picked from commit 7e7367d3bc6cf27dd7e007e7897fcebfeff1ee8b)
Signed-off-by: Jani Nikula <jani.nikula at intel.com>
commit d0a8d9378d16eb3c69bd8e6d23779fbdbee3a8c7
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: Thu Jun 21 09:23:24 2018 -0700
x86/paravirt: Make native_save_fl() extern inline
native_save_fl() is marked static inline, but by using it as
a function pointer in arch/x86/kernel/paravirt.c, it MUST be outlined.
paravirt's use of native_save_fl() also requires that no GPRs other than
%rax are clobbered.
Compilers have different heuristics which they use to emit stack guard
code, the emittance of which can break paravirt's callee saved assumption
by clobbering %rcx.
Marking a function definition extern inline means that if this version
cannot be inlined, then the out-of-line version will be preferred. By
having the out-of-line version be implemented in assembly, it cannot be
instrumented with a stack protector, which might violate custom calling
conventions that code like paravirt rely on.
The semantics of extern inline has changed since gnu89. This means that
folks using GCC versions >= 5.1 may see symbol redefinition errors at
link time for subdirs that override KBUILD_CFLAGS (making the C standard
used implicit) regardless of this patch. This has been cleaned up
earlier in the patch set, but is left as a note in the commit message
for future travelers.
Reports:
https://lkml.org/lkml/2018/5/7/534
https://github.com/ClangBuiltLinux/linux/issues/16
Discussion:
https://bugs.llvm.org/show_bug.cgi?id=37512
https://lkml.org/lkml/2018/5/24/1371
Thanks to the many folks that participated in the discussion.
Debugged-by: Alistair Strachan <astrachan at google.com>
Debugged-by: Matthias Kaehlcke <mka at chromium.org>
Suggested-by: Arnd Bergmann <arnd at arndb.de>
Suggested-by: H. Peter Anvin <hpa at zytor.com>
Suggested-by: Tom Stellar <tstellar at redhat.com>
Reported-by: Sedat Dilek <sedat.dilek at gmail.com>
Tested-by: Sedat Dilek <sedat.dilek at gmail.com>
Signed-off-by: Nick Desaulniers <ndesaulniers at google.com>
Acked-by: Juergen Gross <jgross at suse.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: acme at redhat.com
Cc: akataria at vmware.com
Cc: akpm at linux-foundation.org
Cc: andrea.parri at amarulasolutions.com
Cc: ard.biesheuvel at linaro.org
Cc: aryabinin at virtuozzo.com
Cc: astrachan at google.com
Cc: boris.ostrovsky at oracle.com
Cc: brijesh.singh at amd.com
Cc: caoj.fnst at cn.fujitsu.com
Cc: geert at linux-m68k.org
Cc: ghackmann at google.com
Cc: gregkh at linuxfoundation.org
Cc: jan.kiszka at siemens.com
Cc: jarkko.sakkinen at linux.intel.com
Cc: joe at perches.com
Cc: jpoimboe at redhat.com
Cc: keescook at google.com
Cc: kirill.shutemov at linux.intel.com
Cc: kstewart at linuxfoundation.org
Cc: linux-efi at vger.kernel.org
Cc: linux-kbuild at vger.kernel.org
Cc: manojgupta at google.com
Cc: mawilcox at microsoft.com
Cc: michal.lkml at markovi.net
Cc: mjg59 at google.com
Cc: mka at chromium.org
Cc: pombredanne at nexb.com
Cc: rientjes at google.com
Cc: rostedt at goodmis.org
Cc: thomas.lendacky at amd.com
Cc: tweek at google.com
Cc: virtualization at lists.linux-foundation.org
Cc: will.deacon at arm.com
Cc: yamada.masahiro at socionext.com
Link: http://lkml.kernel.org/r/20180621162324.36656-4-ndesaulniers@google.com
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 0e2e160033283e20f688d8bad5b89460cc5bfcc4
Author: H. Peter Anvin <hpa at linux.intel.com>
Date: Thu Jun 21 09:23:23 2018 -0700
x86/asm: Add _ASM_ARG* constants for argument registers to <asm/asm.h>
i386 and x86-64 uses different registers for arguments; make them
available so we don't have to #ifdef in the actual code.
Native size and specified size (q, l, w, b) versions are provided.
Signed-off-by: H. Peter Anvin <hpa at linux.intel.com>
Signed-off-by: Nick Desaulniers <ndesaulniers at google.com>
Reviewed-by: Sedat Dilek <sedat.dilek at gmail.com>
Acked-by: Juergen Gross <jgross at suse.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: acme at redhat.com
Cc: akataria at vmware.com
Cc: akpm at linux-foundation.org
Cc: andrea.parri at amarulasolutions.com
Cc: ard.biesheuvel at linaro.org
Cc: arnd at arndb.de
Cc: aryabinin at virtuozzo.com
Cc: astrachan at google.com
Cc: boris.ostrovsky at oracle.com
Cc: brijesh.singh at amd.com
Cc: caoj.fnst at cn.fujitsu.com
Cc: geert at linux-m68k.org
Cc: ghackmann at google.com
Cc: gregkh at linuxfoundation.org
Cc: jan.kiszka at siemens.com
Cc: jarkko.sakkinen at linux.intel.com
Cc: joe at perches.com
Cc: jpoimboe at redhat.com
Cc: keescook at google.com
Cc: kirill.shutemov at linux.intel.com
Cc: kstewart at linuxfoundation.org
Cc: linux-efi at vger.kernel.org
Cc: linux-kbuild at vger.kernel.org
Cc: manojgupta at google.com
Cc: mawilcox at microsoft.com
Cc: michal.lkml at markovi.net
Cc: mjg59 at google.com
Cc: mka at chromium.org
Cc: pombredanne at nexb.com
Cc: rientjes at google.com
Cc: rostedt at goodmis.org
Cc: thomas.lendacky at amd.com
Cc: tstellar at redhat.com
Cc: tweek at google.com
Cc: virtualization at lists.linux-foundation.org
Cc: will.deacon at arm.com
Cc: yamada.masahiro at socionext.com
Link: http://lkml.kernel.org/r/20180621162324.36656-3-ndesaulniers@google.com
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit d03db2bc26f0e4a6849ad649a09c9c73fccdc656
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: Thu Jun 21 09:23:22 2018 -0700
compiler-gcc.h: Add __attribute__((gnu_inline)) to all inline declarations
Functions marked extern inline do not emit an externally visible
function when the gnu89 C standard is used. Some KBUILD Makefiles
overwrite KBUILD_CFLAGS. This is an issue for GCC 5.1+ users as without
an explicit C standard specified, the default is gnu11. Since c99, the
semantics of extern inline have changed such that an externally visible
function is always emitted. This can lead to multiple definition errors
of extern inline functions at link time of compilation units whose build
files have removed an explicit C standard compiler flag for users of GCC
5.1+ or Clang.
Suggested-by: Arnd Bergmann <arnd at arndb.de>
Suggested-by: H. Peter Anvin <hpa at zytor.com>
Suggested-by: Joe Perches <joe at perches.com>
Signed-off-by: Nick Desaulniers <ndesaulniers at google.com>
Acked-by: Juergen Gross <jgross at suse.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: acme at redhat.com
Cc: akataria at vmware.com
Cc: akpm at linux-foundation.org
Cc: andrea.parri at amarulasolutions.com
Cc: ard.biesheuvel at linaro.org
Cc: aryabinin at virtuozzo.com
Cc: astrachan at google.com
Cc: boris.ostrovsky at oracle.com
Cc: brijesh.singh at amd.com
Cc: caoj.fnst at cn.fujitsu.com
Cc: geert at linux-m68k.org
Cc: ghackmann at google.com
Cc: gregkh at linuxfoundation.org
Cc: jan.kiszka at siemens.com
Cc: jarkko.sakkinen at linux.intel.com
Cc: jpoimboe at redhat.com
Cc: keescook at google.com
Cc: kirill.shutemov at linux.intel.com
Cc: kstewart at linuxfoundation.org
Cc: linux-efi at vger.kernel.org
Cc: linux-kbuild at vger.kernel.org
Cc: manojgupta at google.com
Cc: mawilcox at microsoft.com
Cc: michal.lkml at markovi.net
Cc: mjg59 at google.com
Cc: mka at chromium.org
Cc: pombredanne at nexb.com
Cc: rientjes at google.com
Cc: rostedt at goodmis.org
Cc: sedat.dilek at gmail.com
Cc: thomas.lendacky at amd.com
Cc: tstellar at redhat.com
Cc: tweek at google.com
Cc: virtualization at lists.linux-foundation.org
Cc: will.deacon at arm.com
Cc: yamada.masahiro at socionext.com
Link: http://lkml.kernel.org/r/20180621162324.36656-2-ndesaulniers@google.com
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 612bc3b3d4be749f73a513a17d9b3ee1330d3487
Author: Tom Lendacky <thomas.lendacky at amd.com>
Date: Mon Jul 2 16:36:02 2018 -0500
x86/bugs: Fix the AMD SSBD usage of the SPEC_CTRL MSR
On AMD, the presence of the MSR_SPEC_CTRL feature does not imply that the
SSBD mitigation support should use the SPEC_CTRL MSR. Other features could
have caused the MSR_SPEC_CTRL feature to be set, while a different SSBD
mitigation option is in place.
Update the SSBD support to check for the actual SSBD features that will
use the SPEC_CTRL MSR.
Signed-off-by: Tom Lendacky <thomas.lendacky at amd.com>
Cc: Borislav Petkov <bpetkov at suse.de>
Cc: David Woodhouse <dwmw at amazon.co.uk>
Cc: Konrad Rzeszutek Wilk <konrad.wilk at oracle.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Fixes: 6ac2f49edb1e ("x86/bugs: Add AMD's SPEC_CTRL MSR usage")
Link: http://lkml.kernel.org/r/20180702213602.29202.33151.stgit@tlendack-t1.amdoffice.net
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 845d382bb15c6e7dc5026c0ff919c5b13fc7e11b
Author: Tom Lendacky <thomas.lendacky at amd.com>
Date: Mon Jul 2 16:35:53 2018 -0500
x86/bugs: Update when to check for the LS_CFG SSBD mitigation
If either the X86_FEATURE_AMD_SSBD or X86_FEATURE_VIRT_SSBD features are
present, then there is no need to perform the check for the LS_CFG SSBD
mitigation support.
Signed-off-by: Tom Lendacky <thomas.lendacky at amd.com>
Cc: Borislav Petkov <bpetkov at suse.de>
Cc: David Woodhouse <dwmw at amazon.co.uk>
Cc: Konrad Rzeszutek Wilk <konrad.wilk at oracle.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Link: http://lkml.kernel.org/r/20180702213553.29202.21089.stgit@tlendack-t1.amdoffice.net
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 0144eb204cdcdf09a76794b4a294291388e739bc
Author: Adam Ford <aford173 at gmail.com>
Date: Mon Jun 25 07:41:33 2018 -0500
ARM: dts: omap3: Fix am3517 mdio and emac clock references
A previous patch removed OMAP clock aliases that were perceived
to be unnecessary. Unfortunately, it broke the ethernet on the
am3517-evm. This patch enables the MDIO clock and EMAC clock.
Fixes: 0ed266d7ae5e ("clk: ti: omap3: cleanup unnecessary clock aliases")
Cc: stable at vger.kernel.org #4.16+
Signed-off-by: Adam Ford <aford173 at gmail.com>
Signed-off-by: Tony Lindgren <tony at atomide.com>
commit 4fb5f58e8d191f7c81637ad81284e4848afb4244
Author: Zhenzhong Duan <zhenzhong.duan at oracle.com>
Date: Mon Jul 2 23:49:54 2018 -0700
x86/mm/32: Initialize the CR4 shadow before __flush_tlb_all()
On 32-bit kernels, __flush_tlb_all() may have read the CR4 shadow before the
initialization of CR4 shadow in cpu_init().
Fix it by adding an explicit cr4_init_shadow() call into start_secondary()
which is the first function called on non-boot SMP CPUs - ahead of the
__flush_tlb_all() call.
( This is somewhat of a layering violation, but start_secondary() does
CR4 bootstrap in the PCID case anyway. )
Signed-off-by: Zhenzhong Duan <zhenzhong.duan at oracle.com>
Cc: Andy Lutomirski <luto at kernel.org>
Cc: Borislav Petkov <bp at alien8.de>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: "H. Peter Anvin" <hpa at zytor.com>
Link: http://lkml.kernel.org/r/b07b6ae9-4b57-4b40-b9bc-50c2c67f1d91@default
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 1cef1150ef40ec52f507436a14230cbc2623299c
Author: Peter Zijlstra <peterz at infradead.org>
Date: Thu Jun 7 11:45:49 2018 +0200
kthread, sched/core: Fix kthread_parkme() (again...)
Gaurav reports that commit:
85f1abe0019f ("kthread, sched/wait: Fix kthread_parkme() completion issue")
isn't working for him. Because of the following race:
> controller Thread CPUHP Thread
> takedown_cpu
> kthread_park
> kthread_parkme
> Set KTHREAD_SHOULD_PARK
> smpboot_thread_fn
> set Task interruptible
>
>
> wake_up_process
> if (!(p->state & state))
> goto out;
>
> Kthread_parkme
> SET TASK_PARKED
> schedule
> raw_spin_lock(&rq->lock)
> ttwu_remote
> waiting for __task_rq_lock
> context_switch
>
> finish_lock_switch
>
>
>
> Case TASK_PARKED
> kthread_park_complete
>
>
> SET Running
Furthermore, Oleg noticed that the whole scheduler TASK_PARKED
handling is buggered because the TASK_DEAD thing is done with
preemption disabled, the current code can still complete early on
preemption :/
So basically revert that earlier fix and go with a variant of the
alternative mentioned in the commit. Promote TASK_PARKED to special
state to avoid the store-store issue on task->state leading to the
WARN in kthread_unpark() -> __kthread_bind().
But in addition, add wait_task_inactive() to kthread_park() to ensure
the task really is PARKED when we return from kthread_park(). This
avoids the whole kthread still gets migrated nonsense -- although it
would be really good to get this done differently.
Reported-by: Gaurav Kohli <gkohli at codeaurora.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz at infradead.org>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Oleg Nesterov <oleg at redhat.com>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Fixes: 85f1abe0019f ("kthread, sched/wait: Fix kthread_parkme() completion issue")
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 3482d98bbc730758b63a5d1cf41d05ea17481412
Author: Vincent Guittot <vincent.guittot at linaro.org>
Date: Thu Jun 14 12:33:00 2018 +0200
sched/util_est: Fix util_est_dequeue() for throttled cfs_rq
When a cfs_rq is throttled, parent cfs_rq->nr_running is decreased and
everything happens at cfs_rq level. Currently util_est stays unchanged
in such case and it keeps accounting the utilization of throttled tasks.
This can somewhat make sense as we don't dequeue tasks but only throttled
cfs_rq.
If a task of another group is enqueued/dequeued and root cfs_rq becomes
idle during the dequeue, util_est will be cleared whereas it was
accounting util_est of throttled tasks before. So the behavior of util_est
is not always the same regarding throttled tasks and depends of side
activity. Furthermore, util_est will not be updated when the cfs_rq is
unthrottled as everything happens at cfs_rq level. Main results is that
util_est will stay null whereas we now have running tasks. We have to wait
for the next dequeue/enqueue of the previously throttled tasks to get an
up to date util_est.
Remove the assumption that cfs_rq's estimated utilization of a CPU is 0
if there is no running task so the util_est of a task remains until the
latter is dequeued even if its cfs_rq has been throttled.
Signed-off-by: Vincent Guittot <vincent.guittot at linaro.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz at infradead.org>
Reviewed-by: Patrick Bellasi <patrick.bellasi at arm.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Fixes: 7f65ea42eb00 ("sched/fair: Add util_est on top of PELT")
Link: http://lkml.kernel.org/r/1528972380-16268-1-git-send-email-vincent.guittot@linaro.org
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit f1d1be8aee6c461652aea8f58bedebaa73d7f4d3
Author: Xunlei Pang <xlpang at linux.alibaba.com>
Date: Wed Jun 20 18:18:34 2018 +0800
sched/fair: Advance global expiration when period timer is restarted
When period gets restarted after some idle time, start_cfs_bandwidth()
doesn't update the expiration information, expire_cfs_rq_runtime() will
see cfs_rq->runtime_expires smaller than rq clock and go to the clock
drift logic, wasting needless CPU cycles on the scheduler hot path.
Update the global expiration in start_cfs_bandwidth() to avoid frequent
expire_cfs_rq_runtime() calls once a new period begins.
Signed-off-by: Xunlei Pang <xlpang at linux.alibaba.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz at infradead.org>
Reviewed-by: Ben Segall <bsegall at google.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Link: http://lkml.kernel.org/r/20180620101834.24455-2-xlpang@linux.alibaba.com
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 512ac999d2755d2b7109e996a76b6fb8b888631d
Author: Xunlei Pang <xlpang at linux.alibaba.com>
Date: Wed Jun 20 18:18:33 2018 +0800
sched/fair: Fix bandwidth timer clock drift condition
I noticed that cgroup task groups constantly get throttled even
if they have low CPU usage, this causes some jitters on the response
time to some of our business containers when enabling CPU quotas.
It's very simple to reproduce:
mkdir /sys/fs/cgroup/cpu/test
cd /sys/fs/cgroup/cpu/test
echo 100000 > cpu.cfs_quota_us
echo $$ > tasks
then repeat:
cat cpu.stat | grep nr_throttled # nr_throttled will increase steadily
After some analysis, we found that cfs_rq::runtime_remaining will
be cleared by expire_cfs_rq_runtime() due to two equal but stale
"cfs_{b|q}->runtime_expires" after period timer is re-armed.
The current condition to judge clock drift in expire_cfs_rq_runtime()
is wrong, the two runtime_expires are actually the same when clock
drift happens, so this condtion can never hit. The orginal design was
correctly done by this commit:
a9cf55b28610 ("sched: Expire invalid runtime")
... but was changed to be the current implementation due to its locking bug.
This patch introduces another way, it adds a new field in both structures
cfs_rq and cfs_bandwidth to record the expiration update sequence, and
uses them to figure out if clock drift happens (true if they are equal).
Signed-off-by: Xunlei Pang <xlpang at linux.alibaba.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz at infradead.org>
Reviewed-by: Ben Segall <bsegall at google.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Fixes: 51f2176d74ac ("sched/fair: Fix unlocked reads of some cfs_b->quota/period")
Link: http://lkml.kernel.org/r/20180620101834.24455-1-xlpang@linux.alibaba.com
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 296b2ffe7fa9ed756c41415c6b1512bc4ad687b1
Author: Vincent Guittot <vincent.guittot at linaro.org>
Date: Tue Jun 26 15:53:22 2018 +0200
sched/rt: Fix call to cpufreq_update_util()
With commit:
8f111bc357aa ("cpufreq/schedutil: Rewrite CPUFREQ_RT support")
the schedutil governor uses rq->rt.rt_nr_running to detect whether an
RT task is currently running on the CPU and to set frequency to max
if necessary.
cpufreq_update_util() is called in enqueue/dequeue_top_rt_rq() but
rq->rt.rt_nr_running has not been updated yet when dequeue_top_rt_rq() is
called so schedutil still considers that an RT task is running when the
last task is dequeued. The update of rq->rt.rt_nr_running happens later
in dequeue_rt_stack().
In fact, we can take advantage of the sequence that the dequeue then
re-enqueue rt entities when a rt task is enqueued or dequeued;
As a result enqueue_top_rt_rq() is always called when a task is
enqueued or dequeued and also when groups are throttled or unthrottled.
The only place that not use enqueue_top_rt_rq() is when root rt_rq is
throttled.
Signed-off-by: Vincent Guittot <vincent.guittot at linaro.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz at infradead.org>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: efault at gmx.de
Cc: juri.lelli at redhat.com
Cc: patrick.bellasi at arm.com
Cc: viresh.kumar at linaro.org
Fixes: 8f111bc357aa ('cpufreq/schedutil: Rewrite CPUFREQ_RT support')
Link: http://lkml.kernel.org/r/1530021202-21695-1-git-send-email-vincent.guittot@linaro.org
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit d9c0ffcabd6aae7ff1e34e8078354c13bb9f1183
Author: Frederic Weisbecker <frederic at kernel.org>
Date: Thu Jun 28 18:29:41 2018 +0200
sched/nohz: Skip remote tick on idle task entirely
Some people have reported that the warning in sched_tick_remote()
occasionally triggers, especially in favour of some RCU-Torture
pressure:
WARNING: CPU: 11 PID: 906 at kernel/sched/core.c:3138 sched_tick_remote+0xb6/0xc0
Modules linked in:
CPU: 11 PID: 906 Comm: kworker/u32:3 Not tainted 4.18.0-rc2+ #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
Workqueue: events_unbound sched_tick_remote
RIP: 0010:sched_tick_remote+0xb6/0xc0
Code: e8 0f 06 b8 00 c6 03 00 fb eb 9d 8b 43 04 85 c0 75 8d 48 8b 83 e0 0a 00 00 48 85 c0 75 81 eb 88 48 89 df e8 bc fe ff ff eb aa <0f> 0b eb
+c5 66 0f 1f 44 00 00 bf 17 00 00 00 e8 b6 2e fe ff 0f b6
Call Trace:
process_one_work+0x1df/0x3b0
worker_thread+0x44/0x3d0
kthread+0xf3/0x130
? set_worker_desc+0xb0/0xb0
? kthread_create_worker_on_cpu+0x70/0x70
ret_from_fork+0x35/0x40
This happens when the remote tick applies on an idle task. Usually the
idle_cpu() check avoids that, but it is performed before we lock the
runqueue and it is therefore racy. It was intended to be that way in
order to prevent from useless runqueue locks since idle task tick
callback is a no-op.
Now if the racy check slips out of our hands and we end up remotely
ticking an idle task, the empty task_tick_idle() is harmless. Still
it won't pass the WARN_ON_ONCE() test that ensures rq_clock_task() is
not too far from curr->se.exec_start because update_curr_idle() doesn't
update the exec_start value like other scheduler policies. Hence the
reported false positive.
So let's have another check, while the rq is locked, to make sure we
don't remote tick on an idle task. The lockless idle_cpu() still applies
to avoid unecessary rq lock contention.
Reported-by: Jacek Tomaka <jacekt at dug.com>
Reported-by: Paul E. McKenney <paulmck at linux.vnet.ibm.com>
Reported-by: Anna-Maria Gleixner <anna-maria at linutronix.de>
Signed-off-by: Frederic Weisbecker <frederic at kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz at infradead.org>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Link: http://lkml.kernel.org/r/1530203381-31234-1-git-send-email-frederic@kernel.org
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 5d1c115241e4aa0034ddf44693c6bd2e89e10831
Author: Robert Nelson <robertcnelson at gmail.com>
Date: Mon Jul 2 15:21:43 2018 -0500
ARM: dts: am335x-bone-common: Fix mmc0 Write Protect
Mainline Commit b74c2b21e1551018af53ee6c1efc051dfce2d788 added the pinmux
settings for mmc1, however this pin (0x9a0) is routed to P9_42 on the cape
header. Thus any BeagleBone cape that utilizes P9_42 triggers mmc0's Write
Protect.
Fixes: b74c2b21e155 ("ARM: dts: am33xx: Add pinmux data for mmc1 in
am335x-evm, evmsk and beaglebone")
Signed-off-by: Robert Nelson <robertcnelson at gmail.com>
CC: Faiz Abbas <faiz_abbas at ti.com>
CC: Tony Lindgren <tony at atomide.com>
CC: Jason Kridner <jkridner at beagleboard.org>
CC: Drew Fustini <drew at beagleboard.org>
Signed-off-by: Tony Lindgren <tony at atomide.com>
commit f18ccd5d902138d099de0f38fb9b1510db5c9648
Merge: 07eaa43e66f5 207490517cf8
Author: Tony Lindgren <tony at atomide.com>
Date: Mon Jul 2 23:21:21 2018 -0700
Merge branch 'omap-for-v4.19/ti-sysc' into omap-for-v4.18/fixes
commit a17712c8e4be4fa5404d20e9cd3b2b21eae7bc56
Author: Jon Derrick <jonathan.derrick at intel.com>
Date: Mon Jul 2 18:45:18 2018 -0400
ext4: check superblock mapped prior to committing
This patch attempts to close a hole leading to a BUG seen with hot
removals during writes [1].
A block device (NVME namespace in this test case) is formatted to EXT4
without partitions. It's mounted and write I/O is run to a file, then
the device is hot removed from the slot. The superblock attempts to be
written to the drive which is no longer present.
The typical chain of events leading to the BUG:
ext4_commit_super()
__sync_dirty_buffer()
submit_bh()
submit_bh_wbc()
BUG_ON(!buffer_mapped(bh));
This fix checks for the superblock's buffer head being mapped prior to
syncing.
[1] https://www.spinics.net/lists/linux-ext4/msg56527.html
Signed-off-by: Jon Derrick <jonathan.derrick at intel.com>
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
Cc: stable at kernel.org
commit 30998033f62a9915e0f884d680569a39bc9ce133
Author: Sudeep Holla <Sudeep.Holla at arm.com>
Date: Fri Jun 29 17:17:57 2018 +0100
ACPI / PPTT: use ACPI ID whenever ACPI_PPTT_ACPI_PROCESSOR_ID_VALID is set
Currently, we use the ACPI processor ID only for the leaf/processor nodes
as the specification states it must match the value of the ACPI processor
ID field in the processor’s entry in the MADT.
However, if a PPTT structure represents a processors group, it
matches a processor container UID in the namespace and the
ACPI_PPTT_ACPI_PROCESSOR_ID_VALID flag indicates whether the
ACPI processor ID is valid.
Let's use UID whenever ACPI_PPTT_ACPI_PROCESSOR_ID_VALID is set to be
consistent instead of using table offset as it's currently done for
non-leaf nodes.
Fixes: 2bd00bcd73e5 (ACPI/PPTT: Add Processor Properties Topology Table parsing)
Signed-off-by: Sudeep Holla <sudeep.holla at arm.com>
Acked-by: Jeremy Linton <jeremy.linton at arm.com>
[ rjw: Changelog (minor) ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
commit d0fbad0aec1df29717fab736eb24c8a49cf2c70b
Merge: 8d2b6f6b4a80 bda3153998f3
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Mon Jul 2 12:40:59 2018 -0700
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md
Pull MD fixes from Shaohua Li:
"Two small fixes for MD:
- an error handling fix from me
- a recover bug fix for raid10 from BingJing"
* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
md/raid10: fix that replacement cannot complete recovery after reassemble
MD: cleanup resources in failure
commit 8d2b6f6b4a805ca74174e779bddde9ad075d3d43
Merge: 4e33d7d47943 ae15a41a6414
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Mon Jul 2 12:38:14 2018 -0700
Merge tag 'for-linus' of git://github.com/stffrdhrn/linux
Pull OpenRISC fixes from Stafford Horne:
"Two fixes for issues which were breaking OpenRISC boot:
- Fix bug in __pte_free_tlb() exposed in 4.18 by Matthew Wilcox's
page table flag addition.
- Fix issue booting on real hardware if delay slot detection
emulation is disabled"
* tag 'for-linus' of git://github.com/stffrdhrn/linux:
openrisc: entry: Fix delay slot exception detection
openrisc: Call destructor during __pte_free_tlb
commit c3d0280be8d5c6de9e3848e280493f561799bb67
Author: Alex Deucher <alexander.deucher at amd.com>
Date: Thu Jun 28 12:44:25 2018 -0500
drm/amdgpu/pm: fix display count in non-DC path
new_active_crtcs is a bitmask, new_active_crtc_count is the
actual count.
Reviewed-by: Rex Zhu <Rex.Zhu at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
commit 0859df22ab7cfb3ad2df2caed76cadce6ac33a80
Author: Alex Deucher <alexander.deucher at amd.com>
Date: Thu Jun 28 12:38:53 2018 -0500
drm/amdgpu: fix swapped emit_ib_size in vce3
The phys and vm versions had the values swapped.
Reviewed-by: Junwei Zhang <Jerry.Zhang at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
commit 4e33d7d47943aaa84a5904472cf2f9c6d6b0a6ca
Merge: 021c91791a5e e48e09799643
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Mon Jul 2 11:18:28 2018 -0700
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller:
1) Verify netlink attributes properly in nf_queue, from Eric Dumazet.
2) Need to bump memory lock rlimit for test_sockmap bpf test, from
Yonghong Song.
3) Fix VLAN handling in lan78xx driver, from Dave Stevenson.
4) Fix uninitialized read in nf_log, from Jann Horn.
5) Fix raw command length parsing in mlx5, from Alex Vesker.
6) Cleanup loopback RDS connections upon netns deletion, from Sowmini
Varadhan.
7) Fix regressions in FIB rule matching during create, from Jason A.
Donenfeld and Roopa Prabhu.
8) Fix mpls ether type detection in nfp, from Pieter Jansen van Vuuren.
9) More bpfilter build fixes/adjustments from Masahiro Yamada.
10) Fix XDP_{TX,REDIRECT} flushing in various drivers, from Jesper
Dangaard Brouer.
11) fib_tests.sh file permissions were broken, from Shuah Khan.
12) Make sure BH/preemption is disabled in data path of mac80211, from
Denis Kenzior.
13) Don't ignore nla_parse_nested() return values in nl80211, from
Johannes berg.
14) Properly account sock objects ot kmemcg, from Shakeel Butt.
15) Adjustments to setting bpf program permissions to read-only, from
Daniel Borkmann.
16) TCP Fast Open key endianness was broken, it always took on the host
endiannness. Whoops. Explicitly make it little endian. From Yuching
Cheng.
17) Fix prefix route setting for link local addresses in ipv6, from
David Ahern.
18) Potential Spectre v1 in zatm driver, from Gustavo A. R. Silva.
19) Various bpf sockmap fixes, from John Fastabend.
20) Use after free for GRO with ESP, from Sabrina Dubroca.
21) Passing bogus flags to crypto_alloc_shash() in ipv6 SR code, from
Eric Biggers.
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (87 commits)
qede: Adverstise software timestamp caps when PHC is not available.
qed: Fix use of incorrect size in memcpy call.
qed: Fix setting of incorrect eswitch mode.
qed: Limit msix vectors in kdump kernel to the minimum required count.
ipvlan: call dev_change_flags when ipvlan mode is reset
ipv6: sr: fix passing wrong flags to crypto_alloc_shash()
net: fix use-after-free in GRO with ESP
tcp: prevent bogus FRTO undos with non-SACK flows
bpf: sockhash, add release routine
bpf: sockhash fix omitted bucket lock in sock_close
bpf: sockmap, fix smap_list_map_remove when psock is in many maps
bpf: sockmap, fix crash when ipv6 sock is added
net: fib_rules: bring back rule_exists to match rule during add
hv_netvsc: split sub-channel setup into async and sync
net: use dev_change_tx_queue_len() for SIOCSIFTXQLEN
atm: zatm: Fix potential Spectre v1
s390/qeth: consistently re-enable device features
s390/qeth: don't clobber buffer on async TX completion
s390/qeth: avoid using is_multicast_ether_addr_64bits on (u8 *)[6]
s390/qeth: fix race when setting MAC address
...
commit 718b5406cd76f1aa6434311241b7febf0e8571ff
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Fri Jun 29 16:27:10 2018 +0200
drm: Use kvzalloc for allocating blob property memory
The property size may be controlled by userspace, can be large (I've
seen failure with order 4, i.e. 16 pages / 64 KB) and doesn't need to be
physically contiguous.
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180629142710.2069-1-michel@daenzer.net
Cc: stable at vger.kernel.org
commit 64dafbc9530c10300acffc57fae3269d95fa8f93
Author: Lars Ellenberg <lars.ellenberg at linbit.com>
Date: Mon Jun 25 11:39:52 2018 +0200
drbd: fix access after free
We have
struct drbd_requests { ... struct bio *private_bio; ... }
to hold a bio clone for local submission.
On local IO completion, we put that bio, and in case we want to use the
result later, we overload that member to hold the ERR_PTR() of the
completion result,
Which, before v4.3, used to be the passed in "int error",
so we could first bio_put(), then assign.
v4.3-rc1~100^2~21 4246a0b63bd8 block: add a bi_error field to struct bio
changed that:
bio_put(req->private_bio);
- req->private_bio = ERR_PTR(error);
+ req->private_bio = ERR_PTR(bio->bi_error);
Which introduces an access after free,
because it was non obvious that req->private_bio == bio.
Impact of that was mostly unnoticable, because we only use that value
in a multiple-failure case, and even then map any "unexpected" error
code to EIO, so worst case we could potentially mask a more specific
error with EIO in a multiple failure case.
Unless the pointed to memory region was unmapped, as is the case with
CONFIG_DEBUG_PAGEALLOC, in which case this results in
BUG: unable to handle kernel paging request
v4.13-rc1~70^2~75 4e4cbee93d56 block: switch bios to blk_status_t
changes it further to
bio_put(req->private_bio);
req->private_bio = ERR_PTR(blk_status_to_errno(bio->bi_status));
And blk_status_to_errno() now contains a WARN_ON_ONCE() for unexpected
values, which catches this "sometimes", if the memory has been reused
quickly enough for other things.
Should also go into stable since 4.3, with the trivial change around 4.13.
Cc: stable at vger.kernel.org
Fixes: 4246a0b63bd8 block: add a bi_error field to struct bio
Reported-by: Sarah Newman <srn at prgmr.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg at linbit.com>
Signed-off-by: Jens Axboe <axboe at kernel.dk>
commit e48e097996439cd73f36c89b98ba4175d84c9be6
Merge: 5dc2d3996a8b 82a4e71b1565
Author: David S. Miller <davem at davemloft.net>
Date: Mon Jul 2 20:41:31 2018 +0900
Merge branch 'qed-fixes'
Sudarsana Reddy Kalluru says:
====================
qed*: Fix series.
The patch series addresses few issues in the qed* drivers.
Please consider applying it to 'net' branch.
====================
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 82a4e71b1565dea8387f54503e806cf374e779ec
Author: Sudarsana Reddy Kalluru <sudarsana.kalluru at cavium.com>
Date: Sun Jul 1 20:03:08 2018 -0700
qede: Adverstise software timestamp caps when PHC is not available.
When ptp clock is not available for a PF (e.g., higher PFs in NPAR mode),
get-tsinfo() callback should return the software timestamp capabilities
instead of returning the error.
Fixes: 4c55215c ("qede: Add driver support for PTP")
Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru at cavium.com>
Signed-off-by: Michal Kalderon <Michal.Kalderon at cavium.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit cc9b27cdf7bd3c86df73439758ac1564bc8f5bbe
Author: Sudarsana Reddy Kalluru <sudarsana.kalluru at cavium.com>
Date: Sun Jul 1 20:03:07 2018 -0700
qed: Fix use of incorrect size in memcpy call.
Use the correct size value while copying chassis/port id values.
Fixes: 6ad8c632e ("qed: Add support for query/config dcbx.")
Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru at cavium.com>
Signed-off-by: Michal Kalderon <Michal.Kalderon at cavium.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 538f8d00ba8bb417c4d9e76c61dee59d812d8287
Author: Sudarsana Reddy Kalluru <sudarsana.kalluru at cavium.com>
Date: Sun Jul 1 20:03:06 2018 -0700
qed: Fix setting of incorrect eswitch mode.
By default, driver sets the eswitch mode incorrectly as VEB (virtual
Ethernet bridging).
Need to set VEB eswitch mode only when sriov is enabled, and it should be
to set NONE by default. The patch incorporates this change.
Fixes: 0fefbfbaa ("qed*: Management firmware - notifications and defaults")
Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru at cavium.com>
Signed-off-by: Michal Kalderon <Michal.Kalderon at cavium.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit bb7858ba1102f82470a917e041fd23e6385c31be
Author: Sudarsana Reddy Kalluru <sudarsana.kalluru at cavium.com>
Date: Sun Jul 1 20:03:05 2018 -0700
qed: Limit msix vectors in kdump kernel to the minimum required count.
Memory size is limited in the kdump kernel environment. Allocation of more
msix-vectors (or queues) consumes few tens of MBs of memory, which might
lead to the kdump kernel failure.
This patch adds changes to limit the number of MSI-X vectors in kdump
kernel to minimum required value (i.e., 2 per engine).
Fixes: fe56b9e6a ("qed: Add module with basic common support")
Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru at cavium.com>
Signed-off-by: Michal Kalderon <Michal.Kalderon at cavium.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 5dc2d3996a8b221c20dd0900bdad45031a572530
Author: Hangbin Liu <liuhangbin at gmail.com>
Date: Sun Jul 1 16:21:21 2018 +0800
ipvlan: call dev_change_flags when ipvlan mode is reset
After we change the ipvlan mode from l3 to l2, or vice versa, we only
reset IFF_NOARP flag, but don't flush the ARP table cache, which will
cause eth->h_dest to be equal to eth->h_source in ipvlan_xmit_mode_l2().
Then the message will not come out of host.
Here is the reproducer on local host:
ip link set eth1 up
ip addr add 192.168.1.1/24 dev eth1
ip link add link eth1 ipvlan1 type ipvlan mode l3
ip netns add net1
ip link set ipvlan1 netns net1
ip netns exec net1 ip link set ipvlan1 up
ip netns exec net1 ip addr add 192.168.2.1/24 dev ipvlan1
ip route add 192.168.2.0/24 via 192.168.1.2
ping 192.168.2.2 -c 2
ip netns exec net1 ip link set ipvlan1 type ipvlan mode l2
ping 192.168.2.2 -c 2
Add the same configuration on remote host. After we set the mode to l2,
we could find that the src/dst MAC addresses are the same on eth1:
21:26:06.648565 00:b7:13:ad:d3:05 > 00:b7:13:ad:d3:05, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 58356, offset 0, flags [DF], proto ICMP (1), length 84)
192.168.2.1 > 192.168.2.2: ICMP echo request, id 22686, seq 1, length 64
Fix this by calling dev_change_flags(), which will call netdevice notifier
with flag change info.
v2:
a) As pointed out by Wang Cong, check return value for dev_change_flags() when
change dev flags.
b) As suggested by Stefano and Sabrina, move flags setting before l3mdev_ops.
So we don't need to redo ipvlan_{, un}register_nf_hook() again in err path.
Reported-by: Jianlin Shi <jishi at redhat.com>
Reviewed-by: Stefano Brivio <sbrivio at redhat.com>
Reviewed-by: Sabrina Dubroca <sd at queasysnail.net>
Fixes: 2ad7bf3638411 ("ipvlan: Initial check-in of the IPVLAN driver.")
Signed-off-by: Hangbin Liu <liuhangbin at gmail.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit fc9c2029e37c3ae9efc28bf47045e0b87e09660c
Author: Eric Biggers <ebiggers at google.com>
Date: Sat Jun 30 15:26:56 2018 -0700
ipv6: sr: fix passing wrong flags to crypto_alloc_shash()
The 'mask' argument to crypto_alloc_shash() uses the CRYPTO_ALG_* flags,
not 'gfp_t'. So don't pass GFP_KERNEL to it.
Fixes: bf355b8d2c30 ("ipv6: sr: add core files for SR HMAC support")
Signed-off-by: Eric Biggers <ebiggers at google.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 603d4cf8fe095b1ee78f423d514427be507fb513
Author: Sabrina Dubroca <sd at queasysnail.net>
Date: Sat Jun 30 17:38:55 2018 +0200
net: fix use-after-free in GRO with ESP
Since the addition of GRO for ESP, gro_receive can consume the skb and
return -EINPROGRESS. In that case, the lower layer GRO handler cannot
touch the skb anymore.
Commit 5f114163f2f5 ("net: Add a skb_gro_flush_final helper.") converted
some of the gro_receive handlers that can lead to ESP's gro_receive so
that they wouldn't access the skb when -EINPROGRESS is returned, but
missed other spots, mainly in tunneling protocols.
This patch finishes the conversion to using skb_gro_flush_final(), and
adds a new helper, skb_gro_flush_final_remcsum(), used in VXLAN and
GUE.
Fixes: 5f114163f2f5 ("net: Add a skb_gro_flush_final helper.")
Signed-off-by: Sabrina Dubroca <sd at queasysnail.net>
Reviewed-by: Stefano Brivio <sbrivio at redhat.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 207490517cf80d99f471d1b54e747eb95a4b8bea
Author: Kees Cook <keescook at chromium.org>
Date: Mon Jun 18 10:45:49 2018 -0700
bus: ti-sysc: Use 2-factor allocator arguments
This adjusts the allocator calls to use 2-factor argument call style, as
done treewide already for improved defense against allocation overflows.
Signed-off-by: Kees Cook <keescook at chromium.org>
Signed-off-by: Tony Lindgren <tony at atomide.com>
commit 07eaa43e66f505980d00e0f5fe697f3da7c6a730
Author: Roger Quadros <rogerq at ti.com>
Date: Tue May 29 12:00:54 2018 +0300
ARM: dts: dra7: Disable metastability workaround for USB2
Disable the metastability workaround for USB2. The original
patch disabled the workaround on the wrong USB port.
Fixes: b8c9c6fa2002 ("ARM: dts: dra7: Disable USB metastability workaround for USB2")
Cc: <stable at vger.kernel.org> [4.16+]
Signed-off-by: Roger Quadros <rogerq at ti.com>
Signed-off-by: Tony Lindgren <tony at atomide.com>
commit dfa758638fd2d1184760deb2693abf76e982c53a
Author: Eric Farman <farman at linux.ibm.com>
Date: Fri Jun 29 19:54:01 2018 +0200
s390/mm: fix refcount usage for 4K pgste
s390 no longer uses the _mapcount field in struct page to identify
the page table format being used. While the code was diligent in handling
the different mappings, it neglected to turn "off" the map bits when
alloc_pgste was being used. This resulted in bits remaining "on" in the
_refcount field, and thus an artifically huge "in use" count that prevents
the pages from actually being released by __free_page.
There's opportunity for improvement in the "1 vs 3" vs "1U vs 3U" vs
"0x1 vs 0x11" etc. variations for all these calls, I am just keeping
things simple compared to neighboring code.
Fixes: 620b4e903179 ("s390: use _refcount for pgtables")
Reported-by: Halil Pasic <pasic at linux.ibm.com>
Bisected-by: Vasily Gorbik <gor at linux.ibm.com>
Signed-off-by: Eric Farman <farman at linux.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens at de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>
commit 3284da34a87ab7a527a593f89bbdaf6debe9e713
Author: Stefan Haberland <sth at linux.ibm.com>
Date: Tue Jun 12 16:47:10 2018 +0200
s390/dasd: reduce the default queue depth and nr of hardware queues
Reduce the default values for the number of hardware queues and queue depth
to significantly reduce the memory footprint of a DASD device.
The memory consumption per DASD device reduces from approximately 40MB to
approximately 1.5MB.
This is necessary to build systems with a large number of DASD devices and
a reasonable amount of memory.
Performance measurements showed that good performance results are possible
with the new default values even on systems with lots of CPUs and lots of
alias devices.
Fixes: e443343e509a ("s390/dasd: blk-mq conversion")
Reviewed-by: Jan Hoeppner <hoeppner at linux.ibm.com>
Reviewed-by: Peter Oberparleiter <oberpar at linux.ibm.com>
Signed-off-by: Stefan Haberland <sth at linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>
commit 08b393d01c88aff27347ed2b1b354eb4db2f1532
Author: Josh Poimboeuf <jpoimboe at redhat.com>
Date: Wed Jun 27 17:03:45 2018 -0500
objtool: Support GCC 8 '-fnoreorder-functions'
Since the following commit:
cd77849a69cf ("objtool: Fix GCC 8 cold subfunction detection for aliased functions")
... if the kernel is built with EXTRA_CFLAGS='-fno-reorder-functions',
objtool can get stuck in an infinite loop.
That flag causes the new GCC 8 cold subfunctions to be placed in .text
instead of .text.unlikely. But it also has an unfortunate quirk: in the
symbol table, the subfunction (e.g., nmi_panic.cold.7) is nested inside
the parent (nmi_panic).
That function overlap confuses objtool, and causes it to get into an
infinite loop in next_insn_same_func(). Here's Allan's description of
the loop:
"Objtool iterates through the instructions in nmi_panic using
next_insn_same_func. Once it reaches the end of nmi_panic at 0x534 it
jumps to 0x528 as that's the start of nmi_panic.cold.7. However, since
the instructions starting at 0x528 are still associated with nmi_panic
objtool will get stuck in a loop, continually jumping back to 0x528
after reaching 0x534."
Fix it by shortening the length of the parent function so that the
functions no longer overlap.
Reported-and-analyzed-by: Allan Xavier <allan.x.xavier at oracle.com>
Signed-off-by: Josh Poimboeuf <jpoimboe at redhat.com>
Cc: Allan Xavier <allan.x.xavier at oracle.com>
Cc: Andy Lutomirski <luto at kernel.org>
Cc: Borislav Petkov <bp at alien8.de>
Cc: Brian Gerst <brgerst at gmail.com>
Cc: Denys Vlasenko <dvlasenk at redhat.com>
Cc: H. Peter Anvin <hpa at zytor.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Link: http://lkml.kernel.org/r/9e704c52bee651129b036be14feda317ae5606ae.1530136978.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit a4cae23cc05ccec749c2fc70fa9d8cda7c582319
Author: Xiaolin Zhang <xiaolin.zhang at intel.com>
Date: Thu Jun 21 14:33:43 2018 +0800
drm/i915/gvt: changed DDI mode emulation type
changed gvt display transcode DDI mode from DP_SST to
DVI to address below calltrace issue during guest booting
up which is caused by zero dotclock initial value with DP_SST
mode. transcode DVI mode emulation also align with native with DP
connection.
[drm:drm_calc_timestamping_constants]
ERROR crtc 41: Can't calculate constants, dotclock = 0!
WARNING: at drivers/gpu/drm/drm_vblank.c:620
drm_calc_vbltimestamp_from_scanoutpos
Call Trace:
? drm_calc_timestamping_constants+0x144/0x150 [drm]
drm_get_last_vbltimestamp+0x54/0x90 [drm]
drm_reset_vblank_timestamp+0x59/0xd0 [drm]
drm_crtc_vblank_on+0x7b/0xd0 [drm]
intel_modeset_setup_hw_state+0xb67/0xfd0 [i915]
? gen2_read32+0x110/0x110 [i915]
? drm_modeset_lock+0x30/0xa0 [drm]
intel_modeset_init+0x794/0x19d0 [i915]
? intel_setup_gmbus+0x232/0x2e0 [i915]
i915_driver_load+0xb4a/0xf40 [i915]
Signed-off-by: Xiaolin Zhang <xiaolin.zhang at intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
commit 510fe10b6180137773dce9032b51bb82ff946c2d
Author: Zhao Yan <yan.y.zhao at intel.com>
Date: Tue Jun 19 15:44:11 2018 +0800
drm/i915/gvt: fix a bug of partially write ggtt enties
when guest writes ggtt entries, it could write 8 bytes a time if
gtt_entry_size is 8. But, qemu could split the 8 bytes into 2 consecutive
4-byte writes.
If each 4-byte partial write could trigger a host ggtt write, it is very
possible that a wrong combination is written to the host ggtt. E.g.
the higher 4 bytes is the old value, but the lower 4 bytes is the new
value, and this 8-byte combination is wrong but written to the ggtt, thus
causing bugs.
To handle this condition, we just record the first 4-byte write, then wait
until the second 4-byte write comes and write the combined 64-bit data to
host ggtt table.
To save memory space and to spot partial write as early as possible, we
don't keep this information for every ggtt index. Instread, we just record
the last ggtt write position, and assume the two 4-byte writes come in
consecutively for each vgpu.
This assumption is right based on the characteristic of ggtt entry which
stores memory address. When gtt_entry_size is 8, the guest memory physical
address should be 64 bits, so any sane guest driver should write 8-byte
long data at a time, so 2 consecutive 4-byte writes at the same ggtt index
should be trapped in gvt.
v2:
when incomplete ggtt entry write is located, e.g.
1. guest only writes 4 bytes at a ggtt offset and no long writes the
rest 4 bytes.
2. guest writes 4 bytes of a ggtt offset, then write at other ggtt
offsets, then return back to write the left 4 bytes of the first
ggtt offset.
add error handling logic to remap host entry to scratch page, and mark
guest virtual ggtt entry as not present. (zhenyu wang)
Signed-off-by: Zhao Yan <yan.y.zhao at intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
commit aab109b340eaf3968337e1d19d71ff0551c57365
Author: Thomas Zimmermann <tdz at users.sourceforge.net>
Date: Mon Jun 18 15:17:39 2018 +0200
drm/exynos: Replace drm_dev_unref with drm_dev_put
This patch unifies the naming of DRM functions for reference counting
of struct drm_device. The resulting code is more aligned with the rest
of the Linux kernel interfaces.
Signed-off-by: Thomas Zimmermann <tdz at users.sourceforge.net>
Signed-off-by: Inki Dae <inki.dae at samsung.com>
commit af7d9101a08d752bb6da9a80df6edbc618fab4cc
Author: Thomas Zimmermann <tdz at users.sourceforge.net>
Date: Mon Jun 18 15:17:38 2018 +0200
drm/exynos: Replace drm_gem_object_unreference_unlocked with put function
This patch unifies the naming of DRM functions for reference counting
of struct drm_gem_object. The resulting code is more aligned with the
rest of the Linux kernel interfaces.
Signed-off-by: Thomas Zimmermann <tdz at users.sourceforge.net>
Signed-off-by: Inki Dae <inki.dae at samsung.com>
commit fa7743b141678116c19b89c5492b330671a51e02
Author: Thomas Zimmermann <tdz at users.sourceforge.net>
Date: Mon Jun 18 15:17:37 2018 +0200
drm/exynos: Replace drm_framebuffer_{un/reference} with put,get functions
This patch unifies the naming of DRM functions for reference counting
of struct drm_framebuffer. The resulting code is more aligned with the
rest of the Linux kernel interfaces.
Signed-off-by: Thomas Zimmermann <tdz at users.sourceforge.net>
Signed-off-by: Inki Dae <inki.dae at samsung.com>
commit ecd60532e060e45c63c57ecf1c8549b1d656d34d
Author: Greg Ungerer <gerg at linux-m68k.org>
Date: Mon Jun 18 15:34:14 2018 +1000
m68k: fix "bad page state" oops on ColdFire boot
Booting a ColdFire m68k core with MMU enabled causes a "bad page state"
oops since commit 1d40a5ea01d5 ("mm: mark pages in use for page tables"):
BUG: Bad page state in process sh pfn:01ce2
page:004fefc8 count:0 mapcount:-1024 mapping:00000000 index:0x0
flags: 0x0()
raw: 00000000 00000000 00000000 fffffbff 00000000 00000100 00000200 00000000
raw: 039c4000
page dumped because: nonzero mapcount
Modules linked in:
CPU: 0 PID: 22 Comm: sh Not tainted 4.17.0-07461-g1d40a5ea01d5 #13
Fix by calling pgtable_page_dtor() in our __pte_free_tlb() code path,
so that the PG_table flag is cleared before we free the pte page.
Note that I had to change the type of pte_free() to be static from
extern. Otherwise you get a lot of warnings like this:
./arch/m68k/include/asm/mcf_pgalloc.h:80:2: warning: ‘pgtable_page_dtor’ is static but used in inline function ‘pte_free’ which is not static
pgtable_page_dtor(page);
^
And making it static is consistent with our use of this in the other
m68k pgalloc definitions of pte_free().
Signed-off-by: Greg Ungerer <gerg at linux-m68k.org>
CC: Matthew Wilcox <willy at infradead.org>
Reviewed-by: Geert Uytterhoeven <geert at linux-m68k.org>
commit 021c91791a5e7e85c567452f1be3e4c2c6cb6063
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 1 16:04:53 2018 -0700
Linux 4.18-rc3
commit d3bc0e67f8525760479e88a51e87bb0c026e40f3
Merge: 4a770e638f53 e4e7ede739f7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 1 12:38:16 2018 -0700
Merge tag 'for-4.18-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
Pull btrfs fixes from David Sterba:
"We have a few regression fixes for qgroup rescan status tracking and
the vm_fault_t conversion that mixed up the error values"
* tag 'for-4.18-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
Btrfs: fix mount failure when qgroup rescan is in progress
Btrfs: fix regression in btrfs_page_mkwrite() from vm_fault_t conversion
btrfs: quota: Set rescan progress to (u64)-1 if we hit last leaf
commit 4a770e638f531d078b580a5a24412c5e5f8f7ddb
Merge: d7563ca5bfca 877f919e192a
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 1 12:32:19 2018 -0700
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs fix from Al Viro:
"Followup to procfs-seq_file series this window"
This fixes a memory leak by making sure that proc seq files release any
private data on close. The 'proc_seq_open' has to be properly paired
with 'proc_seq_release' that releases the extra private data.
* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
proc: add proc_seq_release
commit d7563ca5bfca53398e100eb74345c5d3ef06bf9d
Merge: 652788a90d8e ebc2dc5f9b23
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 1 12:20:20 2018 -0700
Merge tag 'staging-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
Pull staging/IIO fixes from Greg KH:
"Here are a few small staging and IIO driver fixes for 4.18-rc3.
Nothing major or big, all just fixes for reported problems since
4.18-rc1. All of these have been in linux-next this week with no
reported problems"
* tag 'staging-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
staging: android: ion: Return an ERR_PTR in ion_map_kernel
staging: comedi: quatech_daqp_cs: fix no-op loop daqp_ao_insn_write()
iio: imu: inv_mpu6050: Fix probe() failure on older ACPI based machines
iio: buffer: fix the function signature to match implementation
iio: mma8452: Fix ignoring MMA8452_INT_DRDY
iio: tsl2x7x/tsl2772: avoid potential division by zero
iio: pressure: bmp280: fix relative humidity unit
commit 652788a90d8e4603104582fd1e2fcb95afad13d9
Merge: c2aee376cf35 21eff69aaaa0
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 1 12:05:53 2018 -0700
Merge tag 'tty-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty/serial fixes from Greg KH:
"Here are five fixes for the tty core and some serial drivers.
The tty core ones fix some security and other issues reported by the
syzbot that I have taken too long in responding to (sorry Tetsuo!).
The 8350 serial driver fix resolves an issue of devices that used to
work properly stopping working as they shouldn't have been added to a
blacklist.
All of these have been in linux-next for a few days with no reported
issues"
* tag 'tty-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
vt: prevent leaking uninitialized data to userspace via /dev/vcs*
serdev: fix memleak on module unload
serial: 8250_pci: Remove stalled entries in blacklist
n_tty: Access echo_* variables carefully.
n_tty: Fix stall at n_tty_receive_char_special().
commit c2aee376cf35d609feb8926afeb1d11e069a378c
Merge: c350d6d1d787 226e2d2d31b1
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 1 11:50:16 2018 -0700
Merge tag 'usb-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB fixes from Greg KH:
"Here is a number of USB gadget and other driver fixes for 4.18-rc3.
There's a bunch of them here, most of them being gadget driver and
xhci host controller fixes for reported issues (as normal), but there
are also some new device ids, and some fixes for the typec code.
There is an acpi core patch in here that was acked by the acpi
maintainer as it is needed for the typec fixes in order to properly
solve a problem in that driver.
All of these have been in linux-next this week with no reported
issues"
* tag 'usb-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (33 commits)
usb: chipidea: host: fix disconnection detect issue
usb: typec: tcpm: fix logbuffer index is wrong if _tcpm_log is re-entered
typec: tcpm: Fix a msecs vs jiffies bug
NFC: pn533: Fix wrong GFP flag usage
usb: cdc_acm: Add quirk for Uniden UBC125 scanner
staging/typec: fix tcpci_rt1711h build errors
usb: typec: ucsi: Fix for incorrect status data issue
usb: typec: ucsi: acpi: Workaround for cache mode issue
acpi: Add helper for deactivating memory region
usb: xhci: increase CRS timeout value
usb: xhci: tegra: fix runtime PM error handling
usb: xhci: remove the code build warning
xhci: Fix kernel oops in trace_xhci_free_virt_device
xhci: Fix perceived dead host due to runtime suspend race with event handler
dwc2: gadget: Fix ISOC IN DDMA PID bitfield value calculation
usb: gadget: dwc2: fix memory leak in gadget_init()
usb: gadget: composite: fix delayed_status race condition when set_interface
usb: dwc2: fix isoc split in transfer with no data
usb: dwc2: alloc dma aligned buffer for isoc split in
usb: dwc2: fix the incorrect bitmaps for the ports of multi_tt hub
...
commit c350d6d1d78789d73e8bf2047ab6564a4af4a02b
Merge: 883c9ab9eb59 210d0797c97d
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Jul 1 10:45:13 2018 -0700
Merge tag 'dma-mapping-4.18-2' of git://git.infradead.org/users/hch/dma-mapping
Pull dma mapping fixlet from Christoph Hellwig:
"Add a missing export required by riscv and unicore"
* tag 'dma-mapping-4.18-2' of git://git.infradead.org/users/hch/dma-mapping:
swiotlb: export swiotlb_dma_ops
commit 221e00d1fce976d8a04ff591a0150caf84e176f8
Author: Borislav Petkov <bp at alien8.de>
Date: Sat Jun 23 12:36:22 2018 +0200
crypto: x86 - Add missing RETs
Add explicit RETs to the tail calls of AEGIS and MORUS crypto algorithms
otherwise they run into INT3 padding due to
("x86/asm: Pad assembly functions with INT3 instructions")
leading to spurious debug exceptions.
Mike Galbraith <efault at gmx.de> took care of all the remaining callsites.
Signed-off-by: Borislav Petkov <bp at suse.de>
Acked-by: Ondrej Mosnacek <omosnacek at gmail.com>
Signed-off-by: Herbert Xu <herbert at gondor.apana.org.au>
commit a068b94d74ddb7776ca707b6d39d1ac0d2d057e6
Author: Eric Biggers <ebiggers at google.com>
Date: Mon Jun 18 15:33:23 2018 -0700
crypto: arm/speck - fix building in Thumb2 mode
Building the kernel with CONFIG_THUMB2_KERNEL=y and
CONFIG_CRYPTO_SPECK_NEON set fails with the following errors:
arch/arm/crypto/speck-neon-core.S: Assembler messages:
arch/arm/crypto/speck-neon-core.S:419: Error: r13 not allowed here -- `bic sp,#0xf'
arch/arm/crypto/speck-neon-core.S:423: Error: r13 not allowed here -- `bic sp,#0xf'
arch/arm/crypto/speck-neon-core.S:427: Error: r13 not allowed here -- `bic sp,#0xf'
arch/arm/crypto/speck-neon-core.S:431: Error: r13 not allowed here -- `bic sp,#0xf'
The problem is that the 'bic' instruction can't operate on the 'sp'
register in Thumb2 mode. Fix it by using a temporary register. This
isn't in the main loop, so the performance difference is negligible.
This also matches what aes-neonbs-core.S does.
Reported-by: Stefan Agner <stefan at agner.ch>
Fixes: ede9622162fa ("crypto: arm/speck - add NEON-accelerated implementation of Speck-XTS")
Signed-off-by: Eric Biggers <ebiggers at google.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
Reviewed-by: Stefan Agner <stefan at agner.ch>
Signed-off-by: Herbert Xu <herbert at gondor.apana.org.au>
commit 1236f22fbae15df3736ab4a984c64c0c6ee6254c
Author: Ilpo Järvinen <ilpo.jarvinen at helsinki.fi>
Date: Fri Jun 29 13:07:53 2018 +0300
tcp: prevent bogus FRTO undos with non-SACK flows
If SACK is not enabled and the first cumulative ACK after the RTO
retransmission covers more than the retransmitted skb, a spurious
FRTO undo will trigger (assuming FRTO is enabled for that RTO).
The reason is that any non-retransmitted segment acknowledged will
set FLAG_ORIG_SACK_ACKED in tcp_clean_rtx_queue even if there is
no indication that it would have been delivered for real (the
scoreboard is not kept with TCPCB_SACKED_ACKED bits in the non-SACK
case so the check for that bit won't help like it does with SACK).
Having FLAG_ORIG_SACK_ACKED set results in the spurious FRTO undo
in tcp_process_loss.
We need to use more strict condition for non-SACK case and check
that none of the cumulatively ACKed segments were retransmitted
to prove that progress is due to original transmissions. Only then
keep FLAG_ORIG_SACK_ACKED set, allowing FRTO undo to proceed in
non-SACK case.
(FLAG_ORIG_SACK_ACKED is planned to be renamed to FLAG_ORIG_PROGRESS
to better indicate its purpose but to keep this change minimal, it
will be done in another patch).
Besides burstiness and congestion control violations, this problem
can result in RTO loop: When the loss recovery is prematurely
undoed, only new data will be transmitted (if available) and
the next retransmission can occur only after a new RTO which in case
of multiple losses (that are not for consecutive packets) requires
one RTO per loss to recover.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen at helsinki.fi>
Tested-by: Neal Cardwell <ncardwell at google.com>
Acked-by: Neal Cardwell <ncardwell at google.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit ae15a41a641449f536578b0d9ec0e4ade130deb5
Author: Stafford Horne <shorne at gmail.com>
Date: Sun Jul 1 14:17:36 2018 +0900
openrisc: entry: Fix delay slot exception detection
Originally in patch e6d20c55a4 ("openrisc: entry: Fix delay slot
detection") I fixed delay slot detection, but only for QEMU. We missed
that hardware delay slot detection using delay slot exception flag (DSX)
was still broken. This was because QEMU set the DSX flag in both
pre-exception supervision register (ESR) and supervision register (SR)
register, but on real hardware the DSX flag is only set on the SR
register during exceptions.
Fix this by carrying the DSX flag into the SR register during exception.
We also update the DSX flag read locations to read the value from the SR
register not the pt_regs SR register which represents ESR. The ESR
should never have the DSX flag set.
In the process I updated/removed a few comments to match the current
state. Including removing a comment saying that the DSX detection logic
was inefficient and needed to be rewritten.
I have tested this on QEMU with a patch ensuring it matches the hardware
specification.
Link: https://lists.gnu.org/archive/html/qemu-devel/2018-07/msg00000.html
Fixes: e6d20c55a4 ("openrisc: entry: Fix delay slot detection")
Signed-off-by: Stafford Horne <shorne at gmail.com>
commit 06d793b114e9d922c03aa077ac6c5c51fdda2722
Author: Nick Dyer <nick at shmanahar.org>
Date: Thu Jun 21 19:10:00 2018 +0100
ARM: dts: imx51-zii-rdu1: fix touchscreen pinctrl
The pinctrl settings were incorrect for the touchscreen interrupt line, causing
an interrupt storm. This change has been tested with both the atmel_mxt_ts and
RMI4 drivers on the RDU1 units.
The value 0x4 comes from the value of register IOMUXC_SW_PAD_CTL_PAD_CSI1_D8
from the old vendor kernel.
Signed-off-by: Nick Dyer <nick at shmanahar.org>
Fixes: ceef0396f367 ("ARM: dts: imx: add ZII RDU1 board")
Cc: <stable at vger.kernel.org> # 4.15+
Reviewed-by: Fabio Estevam <fabio.estevam at nxp.com>
Tested-by: Chris Healy <cphealy at gmail.com>
Signed-off-by: Shawn Guo <shawnguo at kernel.org>
commit 271b955e52a965f729c9e67f281685c2e7d8726a
Merge: 35e8c7ba0863 bf2b866a2fe2
Author: David S. Miller <davem at davemloft.net>
Date: Sun Jul 1 09:27:44 2018 +0900
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
Daniel Borkmann says:
====================
pull-request: bpf 2018-07-01
The following pull-request contains BPF updates for your *net* tree.
The main changes are:
1) A bpf_fib_lookup() helper fix to change the API before freeze to
return an encoding of the FIB lookup result and return the nexthop
device index in the params struct (instead of device index as return
code that we had before), from David.
2) Various BPF JIT fixes to address syzkaller fallout, that is, do not
reject progs when set_memory_*() fails since it could still be RO.
Also arm32 JIT was not using bpf_jit_binary_lock_ro() API which was
an issue, and a memory leak in s390 JIT found during review, from
Daniel.
3) Multiple fixes for sockmap/hash to address most of the syzkaller
triggered bugs. Usage with IPv6 was crashing, a GPF in bpf_tcp_close(),
a missing sock_map_release() routine to hook up to callbacks, and a
fix for an omitted bucket lock in sock_close(), from John.
4) Two bpftool fixes to remove duplicated error message on program load,
and another one to close the libbpf object after program load. One
additional fix for nfp driver's BPF offload to avoid stopping offload
completely if replace of program failed, from Jakub.
5) Couple of BPF selftest fixes that bail out in some of the test
scripts if the user does not have the right privileges, from Jeffrin.
6) Fixes in test_bpf for s390 when CONFIG_BPF_JIT_ALWAYS_ON is set
where we need to set the flag that some of the test cases are expected
to fail, from Kleber.
7) Fix to detangle BPF_LIRC_MODE2 dependency from CONFIG_CGROUP_BPF
since it has no relation to it and lirc2 users often have configs
without cgroups enabled and thus would not be able to use it, from Sean.
8) Fix a selftest failure in sockmap by removing a useless setrlimit()
call that would set a too low limit where at the same time we are
already including bpf_rlimit.h that does the job, from Yonghong.
9) Fix BPF selftest config with missing missing NET_SCHED, from Anders.
====================
Signed-off-by: David S. Miller <davem at davemloft.net>
commit bf2b866a2fe2d74558fe4b7bdf63a4bc0afbdf70
Merge: ca09cb04af90 caac76a5170e
Author: Daniel Borkmann <daniel at iogearbox.net>
Date: Sun Jul 1 01:21:32 2018 +0200
Merge branch 'bpf-sockmap-fixes'
John Fastabend says:
====================
This addresses two syzbot issues that lead to identifying (by Eric and
Wei) a class of bugs where we don't correctly check for IPv4/v6
sockets and their associated state. The second issue was a locking
omission in sockhash.
The first patch addresses IPv6 socks and fixing an error where
sockhash would overwrite the prot pointer with IPv4 prot. To fix
this build similar solution to TLS ULP. Although we continue to
allow socks in all states not just ESTABLISH in this patch set
because as Martin points out there should be no issue with this
on the sockmap ULP because we don't use the ctx in this code. Once
multiple ULPs coexist we may need to revisit this. However we
can do this in *next trees.
The other issue syzbot found that the tcp_close() handler missed
locking the hash bucket lock which could result in corrupting the
sockhash bucket list if delete and close ran at the same time.
And also the smap_list_remove() routine was not working correctly
at all. This was not caught in my testing because in general my
tests (to date at least lets add some more robust selftest in
bpf-next) do things in the "expected" order, create map, add socks,
delete socks, then tear down maps. The tests we have that do the
ops out of this order where only working on single maps not multi-
maps so we never saw the issue. Thanks syzbot. The fix is to
restructure the tcp_close() lock handling. And fix the obvious
bug in smap_list_remove().
Finally, during review I noticed the release handler was omitted
from the upstream code (patch 4) due to an incorrect merge conflict
fix when I ported the code to latest bpf-next before submitting.
This would leave references to the map around if the user never
closes the map.
v3: rework patches, dropping ESTABLISH check and adding rcu
annotation along with the smap_list_remove fix
v4: missed one more case where maps was being accessed without
the sk_callback_lock, spoted by Martin as well.
v5: changed to use a specific lock for maps and reduced callback
lock so that it is only used to gaurd sk callbacks. I think
this makes the logic a bit cleaner and avoids confusion
ovoer what each lock is doing.
Also big thanks to Martin for thorough review he caught at least
one case where I missed a rcu_call().
====================
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit caac76a5170eb508529bbff9d9300e9c57126444
Author: John Fastabend <john.fastabend at gmail.com>
Date: Sat Jun 30 06:17:52 2018 -0700
bpf: sockhash, add release routine
Add map_release_uref pointer to hashmap ops. This was dropped when
original sockhash code was ported into bpf-next before initial
commit.
Fixes: 81110384441a ("bpf: sockmap, add hash map support")
Acked-by: Martin KaFai Lau <kafai at fb.com>
Signed-off-by: John Fastabend <john.fastabend at gmail.com>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit e9db4ef6bf4ca9894bb324c76e01b8f1a16b2650
Author: John Fastabend <john.fastabend at gmail.com>
Date: Sat Jun 30 06:17:47 2018 -0700
bpf: sockhash fix omitted bucket lock in sock_close
First the sk_callback_lock() was being used to protect both the
sock callback hooks and the psock->maps list. This got overly
convoluted after the addition of sockhash (in sockmap it made
some sense because masp and callbacks were tightly coupled) so
lets split out a specific lock for maps and only use the callback
lock for its intended purpose. This fixes a couple cases where
we missed using maps lock when it was in fact needed. Also this
makes it easier to follow the code because now we can put the
locking closer to the actual code its serializing.
Next, in sock_hash_delete_elem() the pattern was as follows,
sock_hash_delete_elem()
[...]
spin_lock(bucket_lock)
l = lookup_elem_raw()
if (l)
hlist_del_rcu()
write_lock(sk_callback_lock)
.... destroy psock ...
write_unlock(sk_callback_lock)
spin_unlock(bucket_lock)
The ordering is necessary because we only know the {p}sock after
dereferencing the hash table which we can't do unless we have the
bucket lock held. Once we have the bucket lock and the psock element
it is deleted from the hashmap to ensure any other path doing a lookup
will fail. Finally, the refcnt is decremented and if zero the psock
is destroyed.
In parallel with the above (or free'ing the map) a tcp close event
may trigger tcp_close(). Which at the moment omits the bucket lock
altogether (oops!) where the flow looks like this,
bpf_tcp_close()
[...]
write_lock(sk_callback_lock)
for each psock->maps // list of maps this sock is part of
hlist_del_rcu(ref_hash_node);
.... destroy psock ...
write_unlock(sk_callback_lock)
Obviously, and demonstrated by syzbot, this is broken because
we can have multiple threads deleting entries via hlist_del_rcu().
To fix this we might be tempted to wrap the hlist operation in a
bucket lock but that would create a lock inversion problem. In
summary to follow locking rules the psocks maps list needs the
sk_callback_lock (after this patch maps_lock) but we need the bucket
lock to do the hlist_del_rcu.
To resolve the lock inversion problem pop the head of the maps list
repeatedly and remove the reference until no more are left. If a
delete happens in parallel from the BPF API that is OK as well because
it will do a similar action, lookup the lock in the map/hash, delete
it from the map/hash, and dec the refcnt. We check for this case
before doing a destroy on the psock to ensure we don't have two
threads tearing down a psock. The new logic is as follows,
bpf_tcp_close()
e = psock_map_pop(psock->maps) // done with map lock
bucket_lock() // lock hash list bucket
l = lookup_elem_raw(head, hash, key, key_size);
if (l) {
//only get here if elmnt was not already removed
hlist_del_rcu()
... destroy psock...
}
bucket_unlock()
And finally for all the above to work add missing locking around map
operations per above. Then add RCU annotations and use
rcu_dereference/rcu_assign_pointer to manage values relying on RCU so
that the object is not free'd from sock_hash_free() while it is being
referenced in bpf_tcp_close().
Reported-by: syzbot+0ce137753c78f7b6acc1 at syzkaller.appspotmail.com
Fixes: 81110384441a ("bpf: sockmap, add hash map support")
Signed-off-by: John Fastabend <john.fastabend at gmail.com>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit 54fedb42c6537dcb0102e4a58a88456a6286999d
Author: John Fastabend <john.fastabend at gmail.com>
Date: Sat Jun 30 06:17:41 2018 -0700
bpf: sockmap, fix smap_list_map_remove when psock is in many maps
If a hashmap is free'd with open socks it removes the reference to
the hash entry from the psock. If that is the last reference to the
psock then it will also be free'd by the reference counting logic.
However the current logic that removes the hash reference from the
list of references is broken. In smap_list_remove() we first check
if the sockmap entry matches and then check if the hashmap entry
matches. But, the sockmap entry sill always match because its NULL in
this case which causes the first entry to be removed from the list.
If this is always the "right" entry (because the user adds/removes
entries in order) then everything is OK but otherwise a subsequent
bpf_tcp_close() may reference a free'd object.
To fix this create two list handlers one for sockmap and one for
sockhash.
Reported-by: syzbot+0ce137753c78f7b6acc1 at syzkaller.appspotmail.com
Fixes: 81110384441a ("bpf: sockmap, add hash map support")
Acked-by: Martin KaFai Lau <kafai at fb.com>
Signed-off-by: John Fastabend <john.fastabend at gmail.com>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit 9901c5d77e969d8215a8e8d087ef02e6feddc84c
Author: John Fastabend <john.fastabend at gmail.com>
Date: Sat Jun 30 06:17:36 2018 -0700
bpf: sockmap, fix crash when ipv6 sock is added
This fixes a crash where we assign tcp_prot to IPv6 sockets instead
of tcpv6_prot.
Previously we overwrote the sk->prot field with tcp_prot even in the
AF_INET6 case. This patch ensures the correct tcp_prot and tcpv6_prot
are used.
Tested with 'netserver -6' and 'netperf -H [IPv6]' as well as
'netperf -H [IPv4]'. The ESTABLISHED check resolves the previously
crashing case here.
Fixes: 174a79ff9515 ("bpf: sockmap with sk redirect support")
Reported-by: syzbot+5c063698bdbfac19f363 at syzkaller.appspotmail.com
Acked-by: Martin KaFai Lau <kafai at fb.com>
Signed-off-by: John Fastabend <john.fastabend at gmail.com>
Signed-off-by: Wei Wang <weiwan at google.com>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit a0d5f3b69af7733f3173a8e19d51f68a08017c76
Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Date: Sat Jun 30 23:24:04 2018 +0200
ACPICA: Drop leading newlines from error messages
Commit 5088814a6e93 (ACPICA: AML parser: attempt to continue loading
table after error) unintentionally added leading newlines to error
messages emitted by ACPICA which caused unexpected things to be
printed to the kernel log. Drop these newlines (which effectively
reverts the part of commit 5088814a6e93 adding them).
Fixes: 5088814a6e93 (ACPICA: AML parser: attempt to continue loading table after error)
Reported-by: Toralf Förster <toralf.foerster at gmx.de>
Reported-by: Guenter Roeck <linux at roeck-us.net>
Cc: 4.17+ <stable at vger.kernel.org> # 4.17+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
commit 26112ddc254c98681b224aa9ededefc01b6e02d2
Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Date: Sat Jun 30 23:19:33 2018 +0200
PCI / ACPI / PM: Resume bridges w/o drivers on suspend-to-RAM
It is reported that commit c62ec4610c40 (PM / core: Fix direct_complete
handling for devices with no callbacks) introduced a system suspend
regression on Samsung 305V4A by allowing a PCI bridge (not a PCIe
port) to stay in D3 over suspend-to-RAM, which is a side effect of
setting power.direct_complete for the children of that bridge that
have no PM callbacks.
On the majority of systems PCI bridges are not allowed to be
runtime-suspended (the power/control sysfs attribute is set to "on"
for them by default), but user space can change that setting and if
it does so and a given bridge has no children with PM callbacks, the
direct_complete optimization will be applied to it and it will stay
in suspend over system suspend. Apparently, that confuses the
platform firmware on the affected machine and that may very well
happen elsewhere, so avoid the direct_complete optimization for
PCI bridges with no drivers (if there is a driver, it should take
care of the PM handling) on suspend-to-RAM altogether (that should
not matter for suspend-to-idle as platform firmware is not involved
in it).
Fixes: c62ec4610c40 (PM / core: Fix direct_complete handling for devices with no callbacks)
Link: https://bugzilla.kernel.org/show_bug.cgi?id=199941
Reported-by: n0000b.n000b at gmail.com
Tested-by: n0000b.n000b at gmail.com
Reviewed-by: Mika Westerberg <mika.westerberg at linux.intel.com>
Acked-by: Bjorn Helgaas <bhelgaas at google.com>
Cc: 4.15+ <stable at vger.kernel.org> # 4.15+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
commit 883c9ab9eb595f8542d01e55d29a346c8d96862e
Merge: 08af78d7a52b 24b6c22504a2
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sat Jun 30 14:16:30 2018 -0700
Merge branch 'parisc-4.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
Pull parisc fixes and cleanups from Helge Deller:
"Nothing exiting in this patchset, just
- small cleanups of header files
- default to 4 CPUs when building a SMP kernel
- mark 16kB and 64kB page sizes broken
- addition of the new io_pgetevents syscall"
* 'parisc-4.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
parisc: Build kernel without -ffunction-sections
parisc: Reduce debug output in unwind code
parisc: Wire up io_pgetevents syscall
parisc: Default to 4 SMP CPUs
parisc: Convert printk(KERN_LEVEL) to pr_lvl()
parisc: Mark 16kB and 64kB page sizes BROKEN
parisc: Drop struct sigaction from not exported header file
commit 08af78d7a52b2b34f7e865102cfc49bfc9c8bcc9
Merge: 22d3e0c36e10 4ca2f0b945fa
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sat Jun 30 14:08:06 2018 -0700
Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes from Olof Johansson:
"A smaller batch for the end of the week (let's see if I can keep the
weekly cadence going for once).
All medium-grade fixes here, nothing worrisome:
- Fixes for some fairly old bugs around SD card write-protect
detection and GPIO interrupt assignments on Davinci.
- Wifi module suspend fix for Hikey.
- Minor DT tweaks to fix inaccuracies for Amlogic platforms, one
of which solves booting with third-party u-boot"
* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
arm64: dts: hikey960: Define wl1837 power capabilities
arm64: dts: hikey: Define wl1835 power capabilities
ARM64: dts: meson-gxl: fix Mali GPU compatible string
ARM64: dts: meson-axg: fix ethernet stability issue
ARM64: dts: meson-gx: fix ATF reserved memory region
ARM64: dts: meson-gxl-s905x-p212: Add phy-supply for usb0
ARM64: dts: meson: fix register ranges for SD/eMMC
ARM64: dts: meson: disable sd-uhs modes on the libretech-cc
ARM: dts: da850: Fix interrups property for gpio
ARM: davinci: board-da850-evm: fix WP pin polarity for MMC/SD
commit 22d3e0c36e10296da91e3bb8826592bacfbf4b9c
Merge: 0fbc4aeabc91 73d1c580f92b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sat Jun 30 13:05:30 2018 -0700
Merge tag 'kbuild-fixes-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull Kbuild fixes from Masahiro Yamada:
- introduce __diag_* macros and suppress -Wattribute-alias warnings
from GCC 8
- fix stack protector test script for x86_64
- fix line number handling in Kconfig
- document that '#' starts a comment in Kconfig
- handle P_SYMBOL property in dump debugging of Kconfig
- correct help message of LD_DEAD_CODE_DATA_ELIMINATION
- fix occasional segmentation faults in Kconfig
* tag 'kbuild-fixes-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
kconfig: loop boundary condition fix
kbuild: reword help of LD_DEAD_CODE_DATA_ELIMINATION
kconfig: handle P_SYMBOL in print_symbol()
kconfig: document Kconfig source file comments
kconfig: fix line numbers for if-entries in menu tree
stack-protector: Fix test with 32-bit userland and CONFIG_64BIT=y
powerpc: Remove -Wattribute-alias pragmas
disable -Wattribute-alias warning for SYSCALL_DEFINEx()
kbuild: add macro for controlling warnings to linux/compiler.h
commit bb94b55af3461e26b32f0e23d455abeae0cfca5d
Author: Jason Gunthorpe <jgg at mellanox.com>
Date: Fri Jun 29 11:31:50 2018 -0600
vfio: Use get_user_pages_longterm correctly
The patch noted in the fixes below converted get_user_pages_fast() to
get_user_pages_longterm(), however the two calls differ in a few ways.
First _fast() is documented to not require the mmap_sem, while _longterm()
is documented to need it. Hold the mmap sem as required.
Second, _fast accepts an 'int write' while _longterm uses 'unsigned int
gup_flags', so the expression '!!(prot & IOMMU_WRITE)' is only working by
luck as FOLL_WRITE is currently == 0x1. Use the expected FOLL_WRITE
constant instead.
Fixes: 94db151dc892 ("vfio: disable filesystem-dax page pinning")
Cc: <stable at vger.kernel.org>
Signed-off-by: Jason Gunthorpe <jgg at mellanox.com>
Acked-by: Dan Williams <dan.j.williams at intel.com>
Signed-off-by: Alex Williamson <alex.williamson at redhat.com>
commit 0fbc4aeabc91f2e39e0dffebe8f81a0eb3648d97
Merge: d7d538867931 d79d0d8ad0cb
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sat Jun 30 11:42:14 2018 -0700
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Ingo Molnar:
"The biggest diffstat comes from self-test updates, plus there's entry
code fixes, 5-level paging related fixes, console debug output fixes,
and misc fixes"
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/mm: Clean up the printk()s in show_fault_oops()
x86/mm: Drop unneeded __always_inline for p4d page table helpers
x86/efi: Fix efi_call_phys_epilog() with CONFIG_X86_5LEVEL=y
selftests/x86/sigreturn: Do minor cleanups
selftests/x86/sigreturn/64: Fix spurious failures on AMD CPUs
x86/entry/64/compat: Fix "x86/entry/64/compat: Preserve r8-r11 in int $0x80"
x86/mm: Don't free P4D table when it is folded at runtime
x86/entry/32: Add explicit 'l' instruction suffix
x86/mm: Get rid of KERN_CONT in show_fault_oops()
commit d7d5388679312b7a7b6377e38e2b8fb06a82d84e
Merge: 34a484d58c1d 933151013564
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sat Jun 30 11:26:25 2018 -0700
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf fixes from Ingo Molnar:
"Tooling fixes mostly, plus a build warning fix"
* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
perf/core: Move inline keyword at the beginning of declaration
tools/headers: Pick up latest kernel ABIs
perf tools: Fix crash caused by accessing feat_ops[HEADER_LAST_FEATURE]
perf script: Fix crash because of missing evsel->priv
perf script: Add missing output fields in a hint
perf bench: Fix numa report output code
perf stat: Remove duplicate event counting
perf alias: Rebuild alias expression string to make it comparable
perf alias: Remove trailing newline when reading sysfs files
perf tools: Fix a clang 7.0 compilation error
tools include uapi: Synchronize bpf.h with the kernel
tools include uapi: Update if_link.h to pick IFLA_{BRPORT_ISOLATED,VXLAN_TTL_INHERIT}
tools include powerpc: Update arch/powerpc/include/uapi/asm/unistd.h copy to get 'rseq' syscall
perf tools: Update x86's syscall_64.tbl, adding 'io_pgetevents' and 'rseq'
tools headers uapi: Synchronize drm/drm.h
perf intel-pt: Fix packet decoding of CYC packets
perf tests: Add valid callback for parse-events test
perf tests: Add event parsing error handling to parse events test
perf report powerpc: Fix crash if callchain is empty
perf test session topology: Fix test on s390
...
commit 34a484d58c1d0cdce4c5d63249ae89539dfad6b2
Merge: e6e5bec43c0d 0da74120c534
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sat Jun 30 11:15:12 2018 -0700
Merge tag 'selinux-pr-20180629' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux
Pull selinux fix from Paul Moore:
"One fairly straightforward patch to fix a longstanding issue where a
process could stall while accessing files in selinuxfs and block
everyone else due to a held mutex.
The patch passes all our tests and looks to apply cleanly to your
current tree"
* tag 'selinux-pr-20180629' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
selinux: move user accesses in selinuxfs out of locked regions
commit e6e5bec43c0d5dec97355ebf9f6c9bbf4d4c29d5
Merge: 1904148a361a 9544bc534720
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sat Jun 30 10:47:46 2018 -0700
Merge tag 'for-linus-20180629' of git://git.kernel.dk/linux-block
Pull block fixes from Jens Axboe:
"Small set of fixes for this series. Mostly just minor fixes, the only
oddball in here is the sg change.
The sg change came out of the stall fix for NVMe, where we added a
mempool and limited us to a single page allocation. CONFIG_SG_DEBUG
sort-of ruins that, since we'd need to account for that. That's
actually a generic problem, since lots of drivers need to allocate SG
lists. So this just removes support for CONFIG_SG_DEBUG, which I added
back in 2007 and to my knowledge it was never useful.
Anyway, outside of that, this pull contains:
- clone of request with special payload fix (Bart)
- drbd discard handling fix (Bart)
- SATA blk-mq stall fix (me)
- chunk size fix (Keith)
- double free nvme rdma fix (Sagi)"
* tag 'for-linus-20180629' of git://git.kernel.dk/linux-block:
sg: remove ->sg_magic member
drbd: Fix drbd_request_prepare() discard handling
blk-mq: don't queue more if we get a busy return
block: Fix cloning of requests with a special payload
nvme-rdma: fix possible double free of controller async event buffer
block: Fix transfer when chunk sectors exceeds max
commit 35e8c7ba0863acadd4b9badd09740af7a8331125
Author: Roopa Prabhu <roopa at cumulusnetworks.com>
Date: Fri Jun 29 14:32:15 2018 -0700
net: fib_rules: bring back rule_exists to match rule during add
After commit f9d4b0c1e969 ("fib_rules: move common handling of newrule
delrule msgs into fib_nl2rule"), rule_exists got replaced by rule_find
for existing rule lookup in both the add and del paths. While this
is good for the delete path, it solves a few problems but opens up
a few invalid key matches in the add path.
$ip -4 rule add table main tos 10 fwmark 1
$ip -4 rule add table main tos 10
RTNETLINK answers: File exists
The problem here is rule_find does not check if the key masks in
the new and old rule are the same and hence ends up matching a more
secific rule. Rule key masks cannot be easily compared today without
an elaborate if-else block. Its best to introduce key masks for easier
and accurate rule comparison in the future. Until then, due to fear of
regressions this patch re-introduces older loose rule_exists during add.
Also fixes both rule_exists and rule_find to cover missing attributes.
Fixes: f9d4b0c1e969 ("fib_rules: move common handling of newrule delrule msgs into fib_nl2rule")
Signed-off-by: Roopa Prabhu <roopa at cumulusnetworks.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 3ffe64f1a641b80a82d9ef4efa7a05ce69049871
Author: Stephen Hemminger <sthemmin at microsoft.com>
Date: Fri Jun 29 14:07:16 2018 -0700
hv_netvsc: split sub-channel setup into async and sync
When doing device hotplug the sub channel must be async to avoid
deadlock issues because device is discovered in softirq context.
When doing changes to MTU and number of channels, the setup
must be synchronous to avoid races such as when MTU and device
settings are done in a single ip command.
Reported-by: Thomas Walker <Thomas.Walker at twosigma.com>
Fixes: 8195b1396ec8 ("hv_netvsc: fix deadlock on hotplug")
Fixes: 732e49850c5e ("netvsc: fix race on sub channel creation")
Signed-off-by: Stephen Hemminger <sthemmin at microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 3f76df198288ceec92fc9eddecad1e73c52769b0
Author: Cong Wang <xiyou.wangcong at gmail.com>
Date: Fri Jun 29 13:42:48 2018 -0700
net: use dev_change_tx_queue_len() for SIOCSIFTXQLEN
As noticed by Eric, we need to switch to the helper
dev_change_tx_queue_len() for SIOCSIFTXQLEN call path too,
otheriwse still miss dev_qdisc_change_tx_queue_len().
Fixes: 6a643ddb5624 ("net: introduce helper dev_change_tx_queue_len()")
Reported-by: Eric Dumazet <edumazet at google.com>
Signed-off-by: Cong Wang <xiyou.wangcong at gmail.com>
Reviewed-by: Eric Dumazet <edumazet at google.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit ced9e191501e52b95e1b57b8e0db00943869eed0
Author: Gustavo A. R. Silva <gustavo at embeddedor.com>
Date: Fri Jun 29 13:28:07 2018 -0500
atm: zatm: Fix potential Spectre v1
pool can be indirectly controlled by user-space, hence leading to
a potential exploitation of the Spectre variant 1 vulnerability.
This issue was detected with the help of Smatch:
drivers/atm/zatm.c:1491 zatm_ioctl() warn: potential spectre issue
'zatm_dev->pool_info' (local cap)
Fix this by sanitizing pool before using it to index
zatm_dev->pool_info
Notice that given that speculation windows are large, the policy is
to kill the speculation on the first load and not worry if it can be
completed with a dependent load/store [1].
[1] https://marc.info/?l=linux-kernel&m=152449131114778&w=2
Signed-off-by: Gustavo A. R. Silva <gustavo at embeddedor.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit c7f653e0a8cf4e4a9951324f9b831cf88d813e48
Merge: bc800e8b39ba d025da9eb1e4
Author: David S. Miller <davem at davemloft.net>
Date: Sat Jun 30 21:19:55 2018 +0900
Merge branch 's390-qeth-fixes'
Julian Wiedmann says:
====================
s390/qeth: fixes 2018-06-29
please apply a few qeth fixes for -net and your 4.17 stable queue.
Patches 1-3 fix several issues wrt to MAC address management that were
introduced during the 4.17 cycle.
Patch 4 tackles a long-standing issue with busy multi-connection workloads
on devices in af_iucv mode.
Patch 5 makes sure to re-enable all active HW offloads, after a card was
previously set offline and thus lost its HW context.
====================
Signed-off-by: David S. Miller <davem at davemloft.net>
commit d025da9eb1e48d3e5f2a2ff13ac5ac536ba4be43
Author: Julian Wiedmann <jwi at linux.ibm.com>
Date: Fri Jun 29 19:45:54 2018 +0200
s390/qeth: consistently re-enable device features
commit e830baa9c3f0 ("qeth: restore device features after recovery") and
commit ce3443564145 ("s390/qeth: rely on kernel for feature recovery")
made sure that the HW functions for device features get re-programmed
after recovery.
But we missed that the same handling is also required when a card is
first set offline (destroying all HW context), and then online again.
Fix this by moving the re-enable action out of the recovery-only path.
Signed-off-by: Julian Wiedmann <jwi at linux.ibm.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit ce28867fd20c23cd769e78b4d619c4755bf71a1c
Author: Julian Wiedmann <jwi at linux.ibm.com>
Date: Fri Jun 29 19:45:53 2018 +0200
s390/qeth: don't clobber buffer on async TX completion
If qeth_qdio_output_handler() detects that a transmit requires async
completion, it replaces the pending buffer's metadata object
(qeth_qdio_out_buffer) so that this queue buffer can be re-used while
the data is pending completion.
Later when the CQ indicates async completion of such a metadata object,
qeth_qdio_cq_handler() tries to free any data associated with this
object (since HW has now completed the transfer). By calling
qeth_clear_output_buffer(), it erronously operates on the queue buffer
that _previously_ belonged to this transfer ... but which has been
potentially re-used several times by now.
This results in double-free's of the buffer's data, and failing
transmits as the buffer descriptor is scrubbed in mid-air.
The correct way of handling this situation is to
1. scrub the queue buffer when it is prepared for re-use, and
2. later obtain the data addresses from the async-completion notifier
(ie. the AOB), instead of the queue buffer.
All this only affects qeth devices used for af_iucv HiperTransport.
Fixes: 0da9581ddb0f ("qeth: exploit asynchronous delivery of storage blocks")
Signed-off-by: Julian Wiedmann <jwi at linux.ibm.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 9d0a58fb9747afd27d490c02a97889a1b59f6be4
Author: Vasily Gorbik <gor at linux.ibm.com>
Date: Fri Jun 29 19:45:52 2018 +0200
s390/qeth: avoid using is_multicast_ether_addr_64bits on (u8 *)[6]
*ether_addr*_64bits functions have been introduced to optimize
performance critical paths, which access 6-byte ethernet address as u64
value to get "nice" assembly. A harmless hack works nicely on ethernet
addresses shoved into a structure or a larger buffer, until busted by
Kasan on smth like plain (u8 *)[6].
qeth_l2_set_mac_address calls qeth_l2_remove_mac passing
u8 old_addr[ETH_ALEN] as an argument.
Adding/removing macs for an ethernet adapter is not that performance
critical. Moreover is_multicast_ether_addr_64bits itself on s390 is not
faster than is_multicast_ether_addr:
is_multicast_ether_addr(%r2) -> %r2
llc %r2,0(%r2)
risbg %r2,%r2,63,191,0
is_multicast_ether_addr_64bits(%r2) -> %r2
llgc %r2,0(%r2)
risbg %r2,%r2,63,191,0
So, let's just use is_multicast_ether_addr instead of
is_multicast_ether_addr_64bits.
Fixes: bcacfcbc82b4 ("s390/qeth: fix MAC address update sequence")
Reviewed-by: Julian Wiedmann <jwi at linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor at linux.ibm.com>
Signed-off-by: Julian Wiedmann <jwi at linux.ibm.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 4789a21880488048105590049fc41a99f53d565d
Author: Julian Wiedmann <jwi at linux.ibm.com>
Date: Fri Jun 29 19:45:51 2018 +0200
s390/qeth: fix race when setting MAC address
When qeth_l2_set_mac_address() finds the card in a non-reachable state,
it merely copies the new MAC address into dev->dev_addr so that
__qeth_l2_set_online() can later register it with the HW.
But __qeth_l2_set_online() may very well be running concurrently, so we
can't trust the card state without appropriate locking:
If the online sequence is past the point where it registers
dev->dev_addr (but not yet in SOFTSETUP state), any address change needs
to be properly programmed into the HW. Otherwise the netdevice ends up
with a different MAC address than what's set in the HW, and inbound
traffic is not forwarded as expected.
This is most likely to occur for OSD in LPAR, where
commit 21b1702af12e ("s390/qeth: improve fallback to random MAC address")
now triggers eg. systemd to immediately change the MAC when the netdevice
is registered with a NET_ADDR_RANDOM address.
Fixes: bcacfcbc82b4 ("s390/qeth: fix MAC address update sequence")
Signed-off-by: Julian Wiedmann <jwi at linux.ibm.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 4664610537d398d55be19432f9cd9c29c831e159
Author: Julian Wiedmann <jwi at linux.ibm.com>
Date: Fri Jun 29 19:45:50 2018 +0200
Revert "s390/qeth: use Read device to query hypervisor for MAC"
This reverts commit b7493e91c11a757cf0f8ab26989642ee4bb2c642.
On its own, querying RDEV for a MAC address works fine. But when upgrading
from a qeth that previously queried DDEV on a z/VM NIC (ie. any kernel with
commit ec61bd2fd2a2), the RDEV query now returns a _different_ MAC address
than the DDEV query.
If the NIC is configured with MACPROTECT, z/VM apparently requires us to
use the MAC that was initially returned (on DDEV) and registered. So after
upgrading to a kernel that uses RDEV, the SETVMAC registration cmd for the
new MAC address fails and we end up with a non-operabel interface.
To avoid regressions on upgrade, switch back to using DDEV for the MAC
address query. The downgrade path (first RDEV, later DDEV) is fine, in this
case both queries return the same MAC address.
Fixes: b7493e91c11a ("s390/qeth: use Read device to query hypervisor for MAC")
Reported-by: Michal Kubecek <mkubecek at suse.com>
Tested-by: Karsten Graul <kgraul at linux.ibm.com>
Signed-off-by: Julian Wiedmann <jwi at linux.ibm.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit bc800e8b39bad60ccdb83be828da63af71ab87b3
Author: Sabrina Dubroca <sd at queasysnail.net>
Date: Fri Jun 29 17:51:26 2018 +0200
alx: take rtnl before calling __alx_open from resume
The __alx_open function can be called from ndo_open, which is called
under RTNL, or from alx_resume, which isn't. Since commit d768319cd427,
we're calling the netif_set_real_num_{tx,rx}_queues functions, which
need to be called under RTNL.
This is similar to commit 0c2cc02e571a ("igb: Move the calls to set the
Tx and Rx queues into igb_open").
Fixes: d768319cd427 ("alx: enable multiple tx queues")
Signed-off-by: Sabrina Dubroca <sd at queasysnail.net>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit cafb39600e7a73263122a0e2db052d691686378f
Author: Bert Kenward <bkenward at solarflare.com>
Date: Fri Jun 29 16:29:28 2018 +0100
sfc: correctly initialise filter rwsem for farch
Fixes: fc7a6c287ff3 ("sfc: use a semaphore to lock farch filters too")
Suggested-by: Joseph Korty <joe.korty at concurrent-rt.com>
Signed-off-by: Bert Kenward <bkenward at solarflare.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 713b4a33524721767703956654f4d6713c556f2b
Author: Dan Murphy <dmurphy at ti.com>
Date: Fri Jun 29 10:28:31 2018 -0500
net: phy: DP83TC811: Fix disabling interrupts
Fix a bug where INT_STAT1 was written twice and
INT_STAT2 was ignored when disabling interrupts.
Fixes: b753a9faaf9a ("net: phy: DP83TC811: Introduce support for the DP83TC811 phy")
Reviewed-by: Andrew Lunn <andrew at lunn.ch>
Signed-off-by: Dan Murphy <dmurphy at ti.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit e7c7faa936680a2f0e78fc6d9683a5728421a150
Author: David Ahern <dsahern at gmail.com>
Date: Thu Jun 28 13:36:55 2018 -0700
net/ipv6: Fix updates to prefix route
Sowmini reported that a recent commit broke prefix routes for linklocal
addresses. The newly added modify_prefix_route is attempting to add a
new prefix route when the ifp priority does not match the route metric
however the check needs to account for the default priority. In addition,
the route add fails because the route already exists, and then the delete
removes the one that exists. Flip the order to do the delete first.
Fixes: 8308f3ff1753 ("net/ipv6: Add support for specifying metric of connected routes")
Reported-by: Sowmini Varadhan <sowmini.varadhan at oracle.com>
Tested-by: Sowmini Varadhan <sowmini.varadhan at oracle.com>
Signed-off-by: David Ahern <dsahern at gmail.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit d14b56f508ad70eca3e659545aab3c45200f258c
Author: Michal Hocko <mhocko at suse.com>
Date: Thu Jun 28 17:53:06 2018 +0200
net: cleanup gfp mask in alloc_skb_with_frags
alloc_skb_with_frags uses __GFP_NORETRY for non-sleeping allocations
which is just a noop and a little bit confusing.
__GFP_NORETRY was added by ed98df3361f0 ("net: use __GFP_NORETRY for
high order allocations") to prevent from the OOM killer. Yet this was
not enough because fb05e7a89f50 ("net: don't wait for order-3 page
allocation") didn't want an excessive reclaim for non-costly orders
so it made it completely NOWAIT while it preserved __GFP_NORETRY in
place which is now redundant.
Drop the pointless __GFP_NORETRY because this function is used as
copy&paste source for other places.
Reviewed-by: Eric Dumazet <edumazet at google.com>
Signed-off-by: Michal Hocko <mhocko at suse.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 7009828914d362d99e138e4cfdfbf46507607456
Merge: 484c016d9392 595e802e53f2
Author: David S. Miller <davem at davemloft.net>
Date: Sat Jun 30 18:51:06 2018 +0900
Merge branch 'DPAA-fixes'
Madalin Bucur says:
====================
DPAA fixes
A couple of fixes for the DPAA drivers, addressing an issue
with short UDP or TCP frames (with padding) that were marked
as having a wrong checksum and dropped by the FMan hardware
and a problem with the buffer used for the scatter-gather
table being too small as per the hardware requirements.
====================
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 595e802e53f24642a145cf7f3e4ac9afab4c21ec
Author: Madalin Bucur <madalin.bucur at nxp.com>
Date: Thu Jun 28 15:26:51 2018 +0300
dpaa_eth: DPAA SGT needs to be 256B
The DPAA HW requires that at least 256 bytes from the start of the
first scatter-gather table entry are allocated and accessible. The
hardware reads the maximum size the table can have in one access,
thus requiring that the allocation and mapping to be done for the
maximum size of 256B even if there is a smaller number of entries
in the table.
Signed-off-by: Madalin Bucur <madalin.bucur at nxp.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit b95f6fbc8e15803a596ca5e5e21008fba29694c6
Author: Madalin Bucur <madalin.bucur at nxp.com>
Date: Thu Jun 28 15:26:50 2018 +0300
fsl/fman: fix parser reporting bad checksum on short frames
The FMan hardware parser needs to be configured to remove the
short frame padding from the checksum calculation, otherwise
short UDP and TCP frames are likely to be marked as having a
bad checksum.
Signed-off-by: Madalin Bucur <madalin.bucur at nxp.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 484c016d9392786ce5c74017c206c706f29f823d
Author: Sudarsana Reddy Kalluru <sudarsana.kalluru at cavium.com>
Date: Thu Jun 28 04:52:15 2018 -0700
bnx2x: Fix receiving tx-timeout in error or recovery state.
Driver performs the internal reload when it receives tx-timeout event from
the OS. Internal reload might fail in some scenarios e.g., fatal HW issues.
In such cases OS still see the link, which would result in undesirable
functionalities such as re-generation of tx-timeouts.
The patch addresses this issue by indicating the link-down to OS when
tx-timeout is detected, and keeping the link in down state till the
internal reload is successful.
Please consider applying it to 'net' branch.
Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru at cavium.com>
Signed-off-by: Ariel Elior <ariel.elior at cavium.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 5037c6280606396ab4d3065b066d4b574df020dc
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date: Thu Jun 28 12:31:25 2018 +0300
cnic: tidy up a size calculation
Static checkers complain that id_tbl->table points to longs and 4 bytes
is smaller than sizeof(long). But the since other side is dividing by
32 instead of sizeof(long), that means the current code works fine.
Anyway, it's more conventional to use the BITS_TO_LONGS() macro when
we're allocating a bitmap.
Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 92291c95e71a7898109c1f95adfb48aa69e5ba7b
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date: Thu Jun 28 12:24:42 2018 +0300
atm: iphase: fix a 64 bit bug
The code assumes that there is 4 bytes in a pointer and it doesn't
allocate enough memory.
Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit c860e997e9170a6d68f9d1e6e2cf61f572191aaf
Author: Yuchung Cheng <ycheng at google.com>
Date: Wed Jun 27 16:04:48 2018 -0700
tcp: fix Fast Open key endianness
Fast Open key could be stored in different endian based on the CPU.
Previously hosts in different endianness in a server farm using
the same key config (sysctl value) would produce different cookies.
This patch fixes it by always storing it as little endian to keep
same API for LE hosts.
Reported-by: Daniele Iamartino <danielei at google.com>
Signed-off-by: Yuchung Cheng <ycheng at google.com>
Signed-off-by: Eric Dumazet <edumazet at google.com>
Signed-off-by: Neal Cardwell <ncardwell at google.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 1904148a361a07fb2d7cba1261d1d2c2f33c8d2e
Merge: 0d55ec6f3eb7 22db552b50fa
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Fri Jun 29 19:28:26 2018 -0700
Merge tag 'powerpc-4.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux
Pull powerpc fixes from Michael Ellerman:
"Two regression fixes, and a new syscall wire-up:
- A fix for the recent conversion to time64_t in the powermac RTC
routines, which caused time to go backward.
- Another fix for fallout from the split PMD PTL conversion.
- Wire up the new io_pgetevents() syscall.
Thanks to: Aneesh Kumar K.V, Arnd Bergmann, Breno Leitao, Mathieu
Malaterre"
* tag 'powerpc-4.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
powerpc/powermac: Fix rtc read/write functions
powerpc/mm/32: Fix pgtable_page_dtor call
powerpc: Wire up io_pgetevents
commit 4ca2f0b945fad835959fa596df47817797987cd2
Merge: 35911e01e5a3 3eb1b955cd7e
Author: Olof Johansson <olof at lixom.net>
Date: Fri Jun 29 14:08:27 2018 -0700
Merge tag 'davinci-fixes-for-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into fixes
This fixes polarity of SD card write-protect pin on DA850 EVM
and fixes interrupt property for DA850 SoC GPIO as defined in
device-tree.
Both of these are not introduced with v4.18 merge but have
existed prior.
* tag 'davinci-fixes-for-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
ARM: dts: da850: Fix interrups property for gpio
ARM: davinci: board-da850-evm: fix WP pin polarity for MMC/SD
Signed-off-by: Olof Johansson <olof at lixom.net>
commit 35911e01e5a374e3953b53d72e1a7e7c219f47a9
Merge: d2d369a9618b a30449eb3ac9
Author: Olof Johansson <olof at lixom.net>
Date: Fri Jun 29 14:06:49 2018 -0700
Merge tag 'hisi-fixes-for-4.18' of git://github.com/hisilicon/linux-hisi into fixes
ARM64: hisi fixes for 4.18
- Added power capabilities for the mmc host controller on the
hikey and hikey960 boards to avoid broken wifi.
* tag 'hisi-fixes-for-4.18' of git://github.com/hisilicon/linux-hisi:
arm64: dts: hikey960: Define wl1837 power capabilities
arm64: dts: hikey: Define wl1835 power capabilities
Signed-off-by: Olof Johansson <olof at lixom.net>
commit d2d369a9618be01b1f59965b447bb49e7c4ec305
Merge: 86676c4685f7 1c38f4afd5d4
Author: Olof Johansson <olof at lixom.net>
Date: Fri Jun 29 14:04:39 2018 -0700
Merge tag 'amlogic-fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into fixes
Amlogic fixes for v4.18-rc
- minor 64-bit DT fixes
* tag 'amlogic-fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
ARM64: dts: meson-gxl: fix Mali GPU compatible string
ARM64: dts: meson-axg: fix ethernet stability issue
ARM64: dts: meson-gx: fix ATF reserved memory region
ARM64: dts: meson-gxl-s905x-p212: Add phy-supply for usb0
ARM64: dts: meson: fix register ranges for SD/eMMC
ARM64: dts: meson: disable sd-uhs modes on the libretech-cc
Signed-off-by: Olof Johansson <olof at lixom.net>
commit 83235822b8b4fe47ecbd6b6bcbcc902860ac00fc
Author: Jakub Kicinski <jakub.kicinski at netronome.com>
Date: Fri Jun 29 15:09:00 2018 -0500
nfp: stop limiting VFs to 0
Before 8d85a7a4f2c9 ("PCI/IOV: Allow PF drivers to limit total_VFs to 0"),
pci_sriov_set_totalvfs(pdev, 0) meant "we can enable TotalVFs virtual
functions". After 8d85a7a4f2c9, it means "we can't enable *any* VFs".
That broke this scenario where nfp intends to remove any limit on the
number of VFs that can be enabled:
nfp_pci_probe
nfp_pcie_sriov_read_nfd_limit
nfp_rtsym_read_le("nfd_vf_cfg_max_vfs", &err)
pci_sriov_set_totalvfs(pf->pdev, 0) # if FW didn't expose a limit
...
# userspace writes N to sysfs "sriov_numvfs":
sriov_numvfs_store
pci_sriov_get_totalvfs # now returns 0
return -ERANGE
Prior to 8d85a7a4f2c9, pci_sriov_get_totalvfs() returned TotalVFs, but it
now returns 0.
Remove the pci_sriov_set_totalvfs(pdev, 0) calls so we don't limit the
number of VFs that can be enabled.
Fixes: 8d85a7a4f2c9 ("PCI/IOV: Allow PF drivers to limit total_VFs to 0")
Signed-off-by: Jakub Kicinski <jakub.kicinski at netronome.com>
[bhelgaas: changelog]
Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
commit 38972375ef7bdc7dd989bcb48d5448662a95bca2
Author: Jakub Kicinski <jakub.kicinski at netronome.com>
Date: Fri Jun 29 15:08:52 2018 -0500
PCI/IOV: Reset total_VFs limit after detaching PF driver
The TotalVFs register in the SR-IOV capability is the hardware limit on the
number of VFs. A PF driver can limit the number of VFs further with
pci_sriov_set_totalvfs(). When the PF driver is removed, reset any VF
limit that was imposed by the driver because that limit may not apply to
other drivers.
Before 8d85a7a4f2c9 ("PCI/IOV: Allow PF drivers to limit total_VFs to 0"),
pci_sriov_set_totalvfs(pdev, 0) meant "we can enable TotalVFs virtual
functions", and the nfp driver used that to remove the VF limit when the
driver unloads.
8d85a7a4f2c9 broke that because instead of removing the VF limit,
pci_sriov_set_totalvfs(pdev, 0) actually sets the limit to zero, and that
limit persists even if another driver is loaded.
We could fix that by making the nfp driver reset the limit when it unloads,
but it seems more robust to do it in the PCI core instead of relying on the
driver.
The regression scenario is:
nfp_pci_probe (driver 1)
...
nfp_pci_remove
pci_sriov_set_totalvfs(pf->pdev, 0) # limits VFs to 0
...
nfp_pci_probe (driver 2)
nfp_rtsym_read_le("nfd_vf_cfg_max_vfs")
# no VF limit from firmware
Now driver 2 is broken because the VF limit is still 0 from driver 1.
Fixes: 8d85a7a4f2c9 ("PCI/IOV: Allow PF drivers to limit total_VFs to 0")
Signed-off-by: Jakub Kicinski <jakub.kicinski at netronome.com>
[bhelgaas: changelog, rename functions]
Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
commit 0d55ec6f3eb727d937a94de8bd3828ef662f871b
Merge: 44813aa62aa2 24fe1b0efad4
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Fri Jun 29 12:25:26 2018 -0700
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull arm64 fixes from Catalin Marinas:
- The alternatives patching code uses flush_icache_range() which itself
uses alternatives. Change the code to use an unpatched variant of
cache maintenance
- Remove unnecessary ISBs from set_{pte,pmd,pud}
- perf: xgene_pmu: Fix IOB SLOW PMU parser error
* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
arm64: Remove unnecessary ISBs from set_{pte,pmd,pud}
arm64: Avoid flush_icache_range() in alternatives patching code
drivers/perf: xgene_pmu: Fix IOB SLOW PMU parser error
commit 44813aa62aa2f6ac98ba3554cf8bc49087098b74
Merge: 788695385933 12b731dd46d9
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Fri Jun 29 12:21:12 2018 -0700
Merge branch 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c fixes from Wolfram Sang:
- a revert because of bugzilla #200045 (and some documentation about
it)
- another regression fix in the i2c-gpio driver
- a leak fix for the i2c core
* 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
i2c: gpio: initialize SCL to HIGH again
i2c: smbus: kill memory leak on emulated and failed DMA SMBus xfers
i2c: algos: bit: mention our experience about initial states
Revert "i2c: algo-bit: init the bus to a known state"
commit 788695385933ff2dedaef0c3e5cb07659cc44018
Merge: cd993fc4316d 8b8f53af1ed9
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Fri Jun 29 12:19:47 2018 -0700
Merge tag 'ceph-for-4.18-rc3' of git://github.com/ceph/ceph-client
Pull ceph fix from Ilya Dryomov:
"A trivial dentry leak fix from Zheng"
* tag 'ceph-for-4.18-rc3' of git://github.com/ceph/ceph-client:
ceph: fix dentry leak in splice_dentry()
commit 3dc6ddfedc2818eaaa36842fbb049191e0c5e50f
Author: Nicholas Mc Guire <hofrat at osadl.org>
Date: Fri Jun 29 13:50:27 2018 -0500
PCI: faraday: Add missing of_node_put()
The call to of_get_next_child() returns a node pointer with refcount
incremented thus it must be explicitly decremented here in the error
path and after the last usage.
Fixes: d3c68e0a7e34 ("PCI: faraday: Add Faraday Technology FTPCI100 PCI Host Bridge driver")
Signed-off-by: Nicholas Mc Guire <hofrat at osadl.org>
[lorenzo.pieralisi at arm.com: updated commit log]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
Reviewed-by: Linus Walleij <linus.walleij at linaro.org>
commit 342639d996f18bc0a4db2f42a84230c0a966dc94
Author: Nicholas Mc Guire <hofrat at osadl.org>
Date: Fri Jun 29 13:50:10 2018 -0500
PCI: xilinx-nwl: Add missing of_node_put()
The call to of_get_next_child() returns a node pointer with
refcount incremented thus it must be explicitly decremented
here after the last usage.
Fixes: ab597d35ef11 ("PCI: xilinx-nwl: Add support for Xilinx NWL PCIe Host Controller")
Signed-off-by: Nicholas Mc Guire <hofrat at osadl.org>
[lorenzo.pieralisi at arm.com: updated commit log]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
commit 8c3f9bd851a4d3acf0a0f222d4e9e41c0cd1ea8e
Author: Nicholas Mc Guire <hofrat at osadl.org>
Date: Fri Jun 29 13:49:54 2018 -0500
PCI: xilinx: Add missing of_node_put()
The call to of_get_next_child() returns a node pointer with refcount
incremented thus it must be explicitly decremented here after the last
usage.
Fixes: 8961def56845 ("PCI: xilinx: Add Xilinx AXI PCIe Host Bridge IP driver")
Signed-off-by: Nicholas Mc Guire <hofrat at osadl.org>
[lorenzo.pieralisi at arm.com: reworked commit log]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
commit fb0de5b8dcc68da4a0d39b0f5fcd5368085ad7c1
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date: Fri Jun 29 13:49:24 2018 -0500
PCI: endpoint: Use after free in pci_epf_unregister_driver()
We need to use list_for_each_entry_safe() because the
pci_ep_cfs_remove_epf_group() function frees "group".
Fixes: ef1433f717a2 ("PCI: endpoint: Create configfs entry for each pci_epf_device_id table entry")
Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
[lorenzo.pieralisi at arm.com: updated commit log]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
Acked-by: Kishon Vijay Abraham I <kishon at ti.com>
commit 9bc5f0833a55c7bf768d517b5fdcf89ead43b794
Author: Geert Uytterhoeven <geert+renesas at glider.be>
Date: Fri Jun 29 13:49:04 2018 -0500
PCI: controller: dwc: Do not let PCIE_DW_PLAT_HOST default to yes
PCIE_DW_PLAT_HOST does not have any platform dependency, so it should
not default to yes.
Fixes: 1d906b22076e12cf ("PCI: dwc: Add support for EP mode")
Signed-off-by: Geert Uytterhoeven <geert+renesas at glider.be>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
Acked-by: Gustavo Pimentel <gustavo.pimentel at synopsys.com>
commit 3c5777c372b6eb2e17802b3dc4bd5ebea45d9bcc
Author: Marek Vasut <marek.vasut at gmail.com>
Date: Fri Jun 29 13:48:15 2018 -0500
PCI: rcar: Clean up PHY init on failure
If the Gen3 PHY fails to power up, the code does not undo the
initialization caused by phy_init(). Add the missing failure
handling to the rcar_pcie_phy_init_gen3() function.
Fixes: 517ca93a7159 ("PCI: rcar: Add R-Car gen3 PHY support")
Reported-by: Geert Uytterhoeven <geert+renesas at glider.be>
Signed-off-by: Marek Vasut <marek.vasut+renesas at gmail.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas at glider.be>
Acked-by: Simon Horman <horms+renesas at verge.net.au>
Cc: Geert Uytterhoeven <geert+renesas at glider.be>
Cc: Phil Edworthy <phil.edworthy at renesas.com>
Cc: Wolfram Sang <wsa at the-dreams.de>
commit 4050360f964694a3ac0c83badd1a441207c86889
Author: Marek Vasut <marek.vasut at gmail.com>
Date: Fri Jun 29 13:47:38 2018 -0500
PCI: rcar: Shut the PHY down in failpath
If anything fails past phy_init_fn() and the system is a Gen3 with
a PHY, the PHY will be left on and inited. This is caused by the
phy_init_fn, which is in fact a pointer to rcar_pcie_phy_init_gen3()
function, which starts the PHY, yet has no counterpart in the failpath.
Add that counterpart.
Fixes: 517ca93a7159 ("PCI: rcar: Add R-Car gen3 PHY support")
Signed-off-by: Marek Vasut <marek.vasut+renesas at gmail.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas at glider.be>
Acked-by: Simon Horman <horms+renesas at verge.net.au>
Cc: Geert Uytterhoeven <geert+renesas at glider.be>
Cc: Phil Edworthy <phil.edworthy at renesas.com>
Cc: Wolfram Sang <wsa at the-dreams.de>
commit 9cc63791fad6d2624878c93f3415da77780e68a7
Merge: c34cc2f26a4a 55c5e0c602c2
Author: Stephen Boyd <sboyd at kernel.org>
Date: Fri Jun 29 11:40:29 2018 -0700
Merge branch 'clk-fix-imx6ul-defs' into clk-fixes
* clk-fix-imx6ul-defs:
dt-bindings: clock: imx6ul: Do not change the clock definition order
commit 55c5e0c602c20cb6f350e5ae357cfd7e04ebb189
Author: Fabio Estevam <fabio.estevam at nxp.com>
Date: Sat Jun 2 11:02:02 2018 -0300
dt-bindings: clock: imx6ul: Do not change the clock definition order
Commit f5a4670de966 ("clk: imx: Add new clo01 and clo2 controlled
by CCOSR") introduced the CLK_CLKO definitions, but didn't put them
at the end of the list, which may cause dtb breakage when running an old
dtb with a newer kernel.
In order to avoid that, simply add the new CLK_CKO clock definitions
at the end of the list.
Fixes: f5a4670de966 ("clk: imx: Add new clo01 and clo2 controlled by CCOSR")
Reported-by: Stefan Wahren <stefan.wahren at i2se.com>
Signed-off-by: Fabio Estevam <fabio.estevam at nxp.com>
Acked-by: Rob Herring <robh at kernel.org>
Reviewed-by: Stefan Agner <stefan at agner.ch>
Signed-off-by: Stephen Boyd <sboyd at kernel.org>
commit ca09cb04af900768d32c8ba5f807dfc83e9ca4d3
Merge: 4c79579b44b1 85782e037f8a
Author: Alexei Starovoitov <ast at kernel.org>
Date: Fri Jun 29 10:47:35 2018 -0700
Merge branch 'bpf-fixes'
Daniel Borkmann says:
====================
This set contains three fixes that are mostly JIT and set_memory_*()
related. The third in the series in particular fixes the syzkaller
bugs that were still pending; aside from local reproduction & testing,
also 'syz test' wasn't able to trigger them anymore. I've tested this
series on x86_64, arm64 and s390x, and kbuild bot wasn't yelling either
for the rest. For details, please see patches as usual, thanks!
====================
Signed-off-by: Alexei Starovoitov <ast at kernel.org>
commit 85782e037f8aba8922dadb24a1523ca0b82ab8bc
Author: Daniel Borkmann <daniel at iogearbox.net>
Date: Thu Jun 28 23:34:59 2018 +0200
bpf: undo prog rejection on read-only lock failure
Partially undo commit 9facc336876f ("bpf: reject any prog that failed
read-only lock") since it caused a regression, that is, syzkaller was
able to manage to cause a panic via fault injection deep in set_memory_ro()
path by letting an allocation fail: In x86's __change_page_attr_set_clr()
it was able to change the attributes of the primary mapping but not in
the alias mapping via cpa_process_alias(), so the second, inner call
to the __change_page_attr() via __change_page_attr_set_clr() had to split
a larger page and failed in the alloc_pages() with the artifically triggered
allocation error which is then propagated down to the call site.
Thus, for set_memory_ro() this means that it returned with an error, but
from debugging a probe_kernel_write() revealed EFAULT on that memory since
the primary mapping succeeded to get changed. Therefore the subsequent
hdr->locked = 0 reset triggered the panic as it was performed on read-only
memory, so call-site assumptions were infact wrong to assume that it would
either succeed /or/ not succeed at all since there's no such rollback in
set_memory_*() calls from partial change of mappings, in other words, we're
left in a state that is "half done". A later undo via set_memory_rw() is
succeeding though due to matching permissions on that part (aka due to the
try_preserve_large_page() succeeding). While reproducing locally with
explicitly triggering this error, the initial splitting only happens on
rare occasions and in real world it would additionally need oom conditions,
but that said, it could partially fail. Therefore, it is definitely wrong
to bail out on set_memory_ro() error and reject the program with the
set_memory_*() semantics we have today. Shouldn't have gone the extra mile
since no other user in tree today infact checks for any set_memory_*()
errors, e.g. neither module_enable_ro() / module_disable_ro() for module
RO/NX handling which is mostly default these days nor kprobes core with
alloc_insn_page() / free_insn_page() as examples that could be invoked long
after bootup and original 314beb9bcabf ("x86: bpf_jit_comp: secure bpf jit
against spraying attacks") did neither when it got first introduced to BPF
so "improving" with bailing out was clearly not right when set_memory_*()
cannot handle it today.
Kees suggested that if set_memory_*() can fail, we should annotate it with
__must_check, and all callers need to deal with it gracefully given those
set_memory_*() markings aren't "advisory", but they're expected to actually
do what they say. This might be an option worth to move forward in future
but would at the same time require that set_memory_*() calls from supporting
archs are guaranteed to be "atomic" in that they provide rollback if part
of the range fails, once that happened, the transition from RW -> RO could
be made more robust that way, while subsequent RO -> RW transition /must/
continue guaranteeing to always succeed the undo part.
Reported-by: syzbot+a4eb8c7766952a1ca872 at syzkaller.appspotmail.com
Reported-by: syzbot+d866d1925855328eac3b at syzkaller.appspotmail.com
Fixes: 9facc336876f ("bpf: reject any prog that failed read-only lock")
Cc: Laura Abbott <labbott at redhat.com>
Cc: Kees Cook <keescook at chromium.org>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
Acked-by: Alexei Starovoitov <ast at kernel.org>
Signed-off-by: Alexei Starovoitov <ast at kernel.org>
commit f605ce5eb26ac934fb8106d75d46a2c875a2bf23
Author: Daniel Borkmann <daniel at iogearbox.net>
Date: Thu Jun 28 23:34:58 2018 +0200
bpf, s390: fix potential memleak when later bpf_jit_prog fails
If we would ever fail in the bpf_jit_prog() pass that writes the
actual insns to the image after we got header via bpf_jit_binary_alloc()
then we also need to make sure to free it through bpf_jit_binary_free()
again when bailing out. Given we had prior bpf_jit_prog() passes to
initially probe for clobbered registers, program size and to fill in
addrs arrray for jump targets, this is more of a theoretical one,
but at least make sure this doesn't break with future changes.
Fixes: 054623105728 ("s390/bpf: Add s390x eBPF JIT compiler backend")
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
Acked-by: Alexei Starovoitov <ast at kernel.org>
Signed-off-by: Alexei Starovoitov <ast at kernel.org>
commit 18d405af30bf6506bf2fc49056de7691c949812e
Author: Daniel Borkmann <daniel at iogearbox.net>
Date: Thu Jun 28 23:34:57 2018 +0200
bpf, arm32: fix to use bpf_jit_binary_lock_ro api
Any eBPF JIT that where its underlying arch supports ARCH_HAS_SET_MEMORY
would need to use bpf_jit_binary_{un,}lock_ro() pair instead of the
set_memory_{ro,rw}() pair directly as otherwise changes to the former
might break. arm32's eBPF conversion missed to change it, so fix this
up here.
Fixes: 39c13c204bb1 ("arm: eBPF JIT compiler")
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
Acked-by: Alexei Starovoitov <ast at kernel.org>
Signed-off-by: Alexei Starovoitov <ast at kernel.org>
commit 24b6c22504a27210a8377e54d24d425ae414f2c1
Author: Helge Deller <deller at gmx.de>
Date: Fri Apr 20 23:13:44 2018 +0200
parisc: Build kernel without -ffunction-sections
As suggested by Nick Piggin it seems we can drop the -ffunction-sections
compile flag, now that the kernel uses thin archives. Testing with 32-
and 64-bit kernel showed no difference in kernel size.
Suggested-by: Nicholas Piggin <npiggin at gmail.com>
Signed-off-by: Helge Deller <deller at gmx.de>
commit 9544bc5347207a68eb308cc8aaaed6c3a687cabd
Author: Jens Axboe <axboe at kernel.dk>
Date: Fri Jun 29 08:48:06 2018 -0600
sg: remove ->sg_magic member
This was introduced more than a decade ago when sg chaining was
added, but we never really caught anything with it. The scatterlist
entry size can be critical, since drivers allocate it, so remove
the magic member. Recently it's been triggering allocation stalls
and failures in NVMe.
Tested-by: Jordan Glover <Golden_Miller83 at protonmail.ch>
Acked-by: Christoph Hellwig <hch at lst.de>
Signed-off-by: Jens Axboe <axboe at kernel.dk>
commit cd993fc4316d5268f42ab991e9a2c8a6e6cd8dc1
Merge: 5e4e8c55c9fc 925d31668d5b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Fri Jun 29 07:22:46 2018 -0700
Merge tag 'pci-v4.18-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI fixes from Bjorn Helgaas:
- Fix crash caused by endpoint library initialization order change
(Alan Douglas)
- Fix shpchp NULL pointer dereference regression on non-ACPI platforms
(Bjorn Helgaas)
- Move PCI_DOMAINS selection to fix build regression (Lorenzo
Pieralisi)
* tag 'pci-v4.18-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
PCI: Initialize endpoint library before controllers
PCI: shpchp: Manage SHPC unconditionally on non-ACPI systems
commit 5e4e8c55c9fca8c5e06befc16d56800773fb3128
Merge: 48a3c64b4649 e27b4d4a7b98
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Fri Jun 29 07:14:41 2018 -0700
Merge tag 'pm-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management fixes from Rafael Wysocki:
"These fix up recently added features (the Kryo cpufreq driver and
performance states coverage in the generic power domains framework),
add missing documentation for a recently added sysfs knob in the
intel_pstate driver and fix an error in its documentation.
Specifics:
- Fix the initialization time error handling in the recently added
Kryo cpufreq driver (Dan Carpenter).
- Fix up the recently added coverage of performance states in the
generic power domains (genpd) framework (Viresh Kumar).
- Add missing documentation of the new hwp_dynamic_boost sysfs knob
in the intel_pstate driver (Rafael Wysocki).
- Fix incorrect sysfs path in the intel_pstate driver documentation
(Rafael Wysocki)"
* tag 'pm-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
Documentation: intel_pstate: Describe hwp_dynamic_boost sysfs knob
Documentation: admin-guide: intel_pstate: Fix sysfs path
PM / Domains: Rename opp_node to np
PM / Domains: Fix return value of of_genpd_opp_to_performance_state()
cpufreq: qcom-kryo: Fix error handling in probe()
commit 48a3c64b4649b5b23a4ca756af93b4ee820ff883
Merge: ff23908bb78b 2d8aa4ef6aac
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Fri Jun 29 07:11:03 2018 -0700
Merge tag 'drm-fixes-2018-06-29' of git://anongit.freedesktop.org/drm/drm
Pull drm fixes from Dave Airlie:
"Nothing too major this round:
- small set of mali-dp fixes
- single meson fix
- a bunch of amdgpu fixes (one makes non-4k page sizes not be a bad
experience)"
* tag 'drm-fixes-2018-06-29' of git://anongit.freedesktop.org/drm/drm:
drm/amd/display: release spinlock before committing updates to stream
drm/amdgpu:Support new VCN FW version naming convention
drm/amdgpu: fix UBSAN: Undefined behaviour for amdgpu_fence.c
drm/meson: Fix an un-handled error path in 'meson_drv_bind_master()'
drm/amdgpu: GPU vs CPU page size fixes in amdgpu_vm_bo_split_mapping
drm/amdgpu: Count disabled CRTCs in commit tail earlier
drm/mali-dp: Rectify the width and height passed to rotmem_required()
drm/arm/malidp: Preserve LAYER_FORMAT contents when setting format
drm: mali-dp: Enable Global SE interrupts mask for DP500
drm/arm/malidp: Ensure that the crtcs are shutdown before removing any encoder/connector
commit ff23908bb78bbc0999ff35e6f319f1648c4ded93
Merge: 2cd3ae212973 dbc626597c39
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Fri Jun 29 07:07:25 2018 -0700
Merge tag 'for-4.18/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
Pull device mapper fixes from Mike Snitzer:
- Fix dm core to use more efficient bio_split() instead of
bio_clone_bioset(). Also fixes splitting bio that has integrity
payload.
- Three fixes related to properly validating DAX capabilities of a
stacked DM device that will advertise DAX support.
- Update DM writecache target to use 2-factor allocator arguments. Kees
says this is the last related change for 4.18.
- Fix DM zoned target to use GFP_NOIO to avoid triggering reclaim
during IO submission (caught by lockdep).
- Fix DM thinp to gracefully recover from running out of data space
while a previous async discard completes (whereby freeing space).
- Fix DM thinp's metadata transaction commit to avoid needless work.
* tag 'for-4.18/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
dm: prevent DAX mounts if not supported
dax: check for QUEUE_FLAG_DAX in bdev_dax_supported()
pmem: only set QUEUE_FLAG_DAX for fsdax mode
dm thin: handle running out of data space vs concurrent discard
dm raid: don't use 'const' in function return
dm zoned: avoid triggering reclaim from inside dmz_map()
dm writecache: use 2-factor allocator arguments
dm thin metadata: remove needless work from __commit_transaction
dm: use bio_split() when splitting out the already processed bio
commit 49f1c61071f528ebda699ea59ab87aec3df79d4e
Merge: fad2d4ef6366 682630f00a21
Author: Jens Axboe <axboe at kernel.dk>
Date: Fri Jun 29 07:55:41 2018 -0600
Merge branch 'nvme-4.18' of git://git.infradead.org/nvme into for-linus
Pull single NVMe fix from Christoph.
* 'nvme-4.18' of git://git.infradead.org/nvme:
nvme-rdma: fix possible double free of controller async event buffer
commit fad2d4ef636654e926d374ef038f4cd4286661f6
Author: Bart Van Assche <bart.vanassche at wdc.com>
Date: Mon Jun 25 15:51:30 2018 -0700
drbd: Fix drbd_request_prepare() discard handling
Fix the test that verifies whether bio_op(bio) represents a discard
or write zeroes operation. Compile-tested only.
Cc: Philipp Reisner <philipp.reisner at linbit.com>
Cc: Lars Ellenberg <lars.ellenberg at linbit.com>
Fixes: 7435e9018f91 ("drbd: zero-out partial unaligned discards on local backend")
Signed-off-by: Bart Van Assche <bart.vanassche at wdc.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
Signed-off-by: Jens Axboe <axboe at kernel.dk>
commit 1f57f8d442f8017587eeebd8617913bfc3661d3d
Author: Jens Axboe <axboe at kernel.dk>
Date: Thu Jun 28 11:54:01 2018 -0600
blk-mq: don't queue more if we get a busy return
Some devices have different queue limits depending on the type of IO. A
classic case is SATA NCQ, where some commands can queue, but others
cannot. If we have NCQ commands inflight and encounter a non-queueable
command, the driver returns busy. Currently we attempt to dispatch more
from the scheduler, if we were able to queue some commands. But for the
case where we ended up stopping due to BUSY, we should not attempt to
retrieve more from the scheduler. If we do, we can get into a situation
where we attempt to queue a non-queueable command, get BUSY, then
successfully retrieve more commands from that scheduler and queue those.
This can repeat forever, starving the non-queuable command indefinitely.
Fix this by NOT attempting to pull more commands from the scheduler, if
we get a BUSY return. This should also be more optimal in terms of
letting requests stay in the scheduler for as long as possible, if we
get a BUSY due to the regular out-of-tags condition.
Reviewed-by: Omar Sandoval <osandov at fb.com>
Reviewed-by: Ming Lei <ming.lei at redhat.com>
Signed-off-by: Jens Axboe <axboe at kernel.dk>
commit 2cd3ae2129736f9019130064d09713a375870941
Author: Avi Kivity <avi at scylladb.com>
Date: Fri Jun 29 15:37:25 2018 +0200
aio: mark __aio_sigset::sigmask const
io_pgetevents() will not change the signal mask. Mark it const to make
it clear and to reduce the need for casts in user code.
Reviewed-by: Christoph Hellwig <hch at lst.de>
Signed-off-by: Avi Kivity <avi at scylladb.com>
Signed-off-by: Al Viro <viro at zeniv.linux.org.uk>
[hch: reapply the patch that got incorrectly reverted]
Signed-off-by: Christoph Hellwig <hch at lst.de>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit e88958e6369aeba48623afa18dd67fdf41c98d75
Author: Christoph Hellwig <hch at lst.de>
Date: Fri Jun 29 15:37:24 2018 +0200
net: handle NULL ->poll gracefully
The big aio poll revert broke various network protocols that don't
implement ->poll as a patch in the aio poll serie removed sock_no_poll
and made the common code handle this case.
Reported-by: syzbot+57727883dbad76db2ef0 at syzkaller.appspotmail.com
Reported-by: syzbot+cdb0d3176b53d35ad454 at syzkaller.appspotmail.com
Reported-by: syzbot+2c7e8f74f8b2571c87e8 at syzkaller.appspotmail.com
Reported-by: Tetsuo Handa <penguin-kernel at i-love.sakura.ne.jp>
Fixes: a11e1d432b51 ("Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL")
Signed-off-by: Christoph Hellwig <hch at lst.de>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit 0933cc294f7a5004210c200b540d2d1c14112095
Merge: e699e2c6a654 95bca62fb723
Author: David S. Miller <davem at davemloft.net>
Date: Fri Jun 29 22:09:26 2018 +0900
Merge tag 'mac80211-for-davem-2018-06-29' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
Johannes Berg says:
====================
Just three fixes:
* fix HT operation in mesh mode
* disable preemption in control frame TX
* check nla_parse_nested() return values
where missing (two places)
====================
Signed-off-by: David S. Miller <davem at davemloft.net>
commit e699e2c6a654ff8d7303f5297ab5dd83da7b23e0
Author: Shakeel Butt <shakeelb at google.com>
Date: Wed Jun 27 15:16:42 2018 -0700
net, mm: account sock objects to kmemcg
Currently the kernel accounts the memory for network traffic through
mem_cgroup_[un]charge_skmem() interface. However the memory accounted
only includes the truesize of sk_buff which does not include the size of
sock objects. In our production environment, with opt-out kmem
accounting, the sock kmem caches (TCP[v6], UDP[v6], RAW[v6], UNIX) are
among the top most charged kmem caches and consume a significant amount
of memory which can not be left as system overhead. So, this patch
converts the kmem caches of all sock objects to SLAB_ACCOUNT.
Signed-off-by: Shakeel Butt <shakeelb at google.com>
Suggested-by: Eric Dumazet <edumazet at google.com>
Reviewed-by: Kirill Tkhai <ktkhai at virtuozzo.com>
Reviewed-by: Eric Dumazet <edumazet at google.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit e94595b0f59c26581f6ae8a3972b99f56a415b76
Author: Stefan Agner <stefan at agner.ch>
Date: Sun Jun 17 10:55:29 2018 +0200
drm/exynos: ipp: use correct enum type
The limit_id_fallback array uses enum drm_ipp_size_id to index its
content. The content itself is of type enum drm_exynos_ipp_limit_type.
Cc: Marek Szyprowski <m.szyprowski at samsung.com>
Signed-off-by: Stefan Agner <stefan at agner.ch>
Signed-off-by: Inki Dae <inki.dae at samsung.com>
commit 7b7aa62c05eac9789c208b946f515983a9255d8d
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date: Thu Jun 7 13:07:49 2018 +0200
drm/exynos: decon5433: Fix WINCONx reset value
The only bits that should be preserved in decon_win_set_fmt() is
WINCONx_ENWIN_F. All other bits depends on the selected pixel formats and
are set by the mentioned function.
Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
Signed-off-by: Inki Dae <inki.dae at samsung.com>
commit ab337fc274a1957ff0771f19e826c736253f7c39
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date: Thu Jun 7 13:07:40 2018 +0200
drm/exynos: decon5433: Fix per-plane global alpha for XRGB modes
Set per-plane global alpha to maximum value to get proper blending of
XRGB and ARGB planes. This fixes the strange order of overlapping planes.
Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
Signed-off-by: Inki Dae <inki.dae at samsung.com>
commit 5d5657aac0b40867fe57c50d395e9bb08274ceb8
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date: Thu Jun 7 13:06:14 2018 +0200
drm/exynos: fimc: Use real buffer width for configuring the hardware
DMA hardware should respect buffer pitch, so use the width calculated from
the buffer pitch instead of the virtual one.
Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
Signed-off-by: Inki Dae <inki.dae at samsung.com>
commit dd209ef809080ced903e7747ee3ef640c923a1d2
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date: Thu Jun 7 13:06:13 2018 +0200
drm/exynos: gsc: Fix support for NV16/61, YUV420/YVU420 and YUV422 modes
Fix following issues related to planar YUV pixel format configuration:
- NV16/61 modes were incorrectly programmed as NV12/21,
- YVU420 was programmed as YUV420 on source,
- YVU420 and YUV422 were programmed as YUV420 on output.
Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
Signed-off-by: Inki Dae <inki.dae at samsung.com>
commit 4cc11a5f53049c8a2b02763a53ecd42371355c10
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date: Thu Jun 7 13:06:12 2018 +0200
drm/exynos: gsc: Fix DRM_MODE_REFLECT_{X,Y} interpretation
Horizontal (DRM_MODE_REFLECT_Y) and vertical (DMR_MODE_REFLECT_Y) flip
were swapped in GScaler driver. Fix this by swapping code for interpreting
them.
Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
Signed-off-by: Inki Dae <inki.dae at samsung.com>
commit 28b676329cc1adfa37b5291e13055e0819a80e42
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date: Thu Jun 7 13:06:11 2018 +0200
drm/exynos: gsc: Increase Exynos5433 buffer width alignment to 16 pixels
Investigation revealed that GScaler hardware requires the real buffer width
(pitch) to be aligned to 16 pixels.
Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
Signed-off-by: Inki Dae <inki.dae at samsung.com>
commit 4958a1c0c9c4a48d6ba9e2b184d93cab0dce68e1
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date: Thu Jun 7 13:06:10 2018 +0200
drm/exynos: gsc: Use real buffer width for configuring the hardware
DMA hardware should respect buffer pitch, so use the width calculated from
the buffer pitch instead of the virtual one.
Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
Signed-off-by: Inki Dae <inki.dae at samsung.com>
commit 4e1a6230313ad76c08633fa57853349de56f60a2
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date: Thu Jun 7 13:06:09 2018 +0200
drm/exynos: scaler: Fix support for YUV420, YUV422 and YUV444 modes
Fix Cb/CR components order in two-planar YUV420, YUV422 and YUV444 modes.
Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
Signed-off-by: Inki Dae <inki.dae at samsung.com>
commit 280e54c9f614c88292685383cf2d65057586e9fb
Author: Andrzej Pietrasiewicz <andrzej.p at samsung.com>
Date: Thu Jun 7 13:06:08 2018 +0200
drm/exynos: scaler: Reset hardware before starting the operation
Ensure that Scaler hardware is properly reset and interrupts are cleared
before processing next image.
Signed-off-by: Andrzej Pietrasiewicz <andrzej.p at samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
Signed-off-by: Inki Dae <inki.dae at samsung.com>
commit 1b0966c3e951da6ae523c4e954b1f43b22927948
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date: Thu Jun 7 13:06:07 2018 +0200
drm/exynos: rotator: Fix DRM_MODE_REFLECT_{X,Y} interpretation
Horizontal (DRM_MODE_REFLECT_Y) and vertical (DMR_MODE_REFLECT_Y) flip
were swapped in Rotator driver. Fix this by swapping code for interpreting
them.
Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
Signed-off-by: Inki Dae <inki.dae at samsung.com>
commit 69705ad21029b6e92c9facb0eb12cde1a4fd52b7
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date: Thu Jun 7 13:06:06 2018 +0200
drm/exynos: ipp: Rework checking for the correct buffer formats
Prepare a common function for size and scale checks and call it for
source and destination buffers. Then also move there the state-less checks
from exynos_drm_ipp_task_setup_buffer, so the format information is already
available in limits processing. Finally perform the IPP_LIMIT_BUFFER check
on the real width of the buffer (the width calculated from the provided
buffer pitch).
Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
Signed-off-by: Inki Dae <inki.dae at samsung.com>
commit e27b4d4a7b987ffa93a5a1249dd83dcb69f8d040
Merge: 649f53a3e4cf ad6384ba3ac9
Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Date: Fri Jun 29 09:54:20 2018 +0200
Merge branch 'pm-domains'
Merge fixups for the recent extenstion of the generic power domains
(genpd) framework covering performance states.
* pm-domains:
PM / Domains: Rename opp_node to np
PM / Domains: Fix return value of of_genpd_opp_to_performance_state()
commit 95bca62fb723a121954fc7ae5473bb2c1f0d5986
Author: Johannes Berg <johannes.berg at intel.com>
Date: Fri Jun 29 09:33:39 2018 +0200
nl80211: check nla_parse_nested() return values
At the very least we should check the return value if
nla_parse_nested() is called with a non-NULL policy.
Signed-off-by: Johannes Berg <johannes.berg at intel.com>
commit 188f60ab8e787fcbb5ac9d64ede23a0070231f09
Author: Bob Copeland <me at bobcopeland.com>
Date: Sun Jun 24 21:10:49 2018 -0400
nl80211: relax ht operation checks for mesh
Commit 9757235f451c, "nl80211: correct checks for
NL80211_MESHCONF_HT_OPMODE value") relaxed the range for the HT
operation field in meshconf, while also adding checks requiring
the non-greenfield and non-ht-sta bits to be set in certain
circumstances. The latter bit is actually reserved for mesh BSSes
according to Table 9-168 in 802.11-2016, so in fact it should not
be set.
wpa_supplicant sets these bits because the mesh and AP code share
the same implementation, but authsae does not. As a result, some
meshconf updates from authsae which set only the NONHT_MIXED
protection bits were being rejected.
In order to avoid breaking userspace by changing the rules again,
simply accept the values with or without the bits set, and mask
off the reserved bit to match the spec.
While in here, update the 802.11-2012 reference to 802.11-2016.
Fixes: 9757235f451c ("nl80211: correct checks for NL80211_MESHCONF_HT_OPMODE value")
Cc: Masashi Honma <masashi.honma at gmail.com>
Signed-off-by: Bob Copeland <bobcopeland at fb.com>
Reviewed-by: Masashi Honma <masashi.honma at gmail.com>
Reviewed-by: Masashi Honma <masashi.honma at gmail.com>
Signed-off-by: Johannes Berg <johannes.berg at intel.com>
commit e7441c9274a6a5453e06f4c2b8b5f72eca0a3f17
Author: Denis Kenzior <denkenz at gmail.com>
Date: Tue Jun 19 10:39:50 2018 -0500
mac80211: disable BHs/preemption in ieee80211_tx_control_port()
On pre-emption enabled kernels the following print was being seen due to
missing local_bh_disable/local_bh_enable calls. mac80211 assumes that
pre-emption is disabled in the data path.
BUG: using smp_processor_id() in preemptible [00000000] code: iwd/517
caller is __ieee80211_subif_start_xmit+0x144/0x210 [mac80211]
[...]
Call Trace:
dump_stack+0x5c/0x80
check_preemption_disabled.cold.0+0x46/0x51
__ieee80211_subif_start_xmit+0x144/0x210 [mac80211]
Fixes: 911806491425 ("mac80211: Add support for tx_control_port")
Signed-off-by: Denis Kenzior <denkenz at gmail.com>
[commit message rewrite, fixes tag]
Signed-off-by: Johannes Berg <johannes.berg at intel.com>
commit 12b731dd46d9ee646318e6e9dc587314a3908a46
Author: Wolfram Sang <wsa+renesas at sang-engineering.com>
Date: Sat Jun 16 21:56:36 2018 +0900
i2c: gpio: initialize SCL to HIGH again
It seems that during the conversion from gpio* to gpiod*, the initial
state of SCL was wrongly switched to LOW. Fix it to be HIGH again.
Fixes: 7bb75029ef34 ("i2c: gpio: Enforce open drain through gpiolib")
Signed-off-by: Wolfram Sang <wsa+renesas at sang-engineering.com>
Tested-by: Geert Uytterhoeven <geert+renesas at glider.be>
Reviewed-by: Linus Walleij <linus.walleij at linaro.org>
Signed-off-by: Wolfram Sang <wsa at the-dreams.de>
Cc: stable at kernel.org
commit 9aa613674f89d01248ae2e4afe691b515ff8fbb6
Author: Peter Rosin <peda at axentia.se>
Date: Wed Jun 20 11:43:23 2018 +0200
i2c: smbus: kill memory leak on emulated and failed DMA SMBus xfers
If DMA safe memory was allocated, but the subsequent I2C transfer
fails the memory is leaked. Plug this leak.
Fixes: 8a77821e74d6 ("i2c: smbus: use DMA safe buffers for emulated SMBus transactions")
Signed-off-by: Peter Rosin <peda at axentia.se>
Signed-off-by: Wolfram Sang <wsa at the-dreams.de>
Cc: stable at kernel.org
commit 2173ed0adc7f0473e6b6ad636d8684a0d82da5e9
Author: Wolfram Sang <wsa+renesas at sang-engineering.com>
Date: Sat Jun 16 22:37:57 2018 +0900
i2c: algos: bit: mention our experience about initial states
So, if somebody wants to re-implement this in the future, we pinpoint to
a problem case.
Signed-off-by: Wolfram Sang <wsa+renesas at sang-engineering.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Wolfram Sang <wsa at the-dreams.de>
commit 2a2c8ee2d72c4f1ba0f7fbb02dc74f971df0f934
Author: Wolfram Sang <wsa+renesas at sang-engineering.com>
Date: Sat Jun 16 22:37:56 2018 +0900
Revert "i2c: algo-bit: init the bus to a known state"
This reverts commit 3e5f06bed72fe72166a6778f630241a893f67799. As per
bugzilla #200045, this caused a regression. I don't really see a way to
fix it without having the hardware. So, revert the patch and I will fix
the issue I was seeing originally in the i2c-gpio driver itself. I
couldn't find new users of this algorithm since, so there should be no
one depending on the new behaviour.
Reported-by: Sergey Larin <cerg2010cerg2010 at mail.ru>
Fixes: 3e5f06bed72f ("i2c: algo-bit: init the bus to a known state")
Signed-off-by: Wolfram Sang <wsa+renesas at sang-engineering.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>
Tested-by: Sergey Larin <cerg2010cerg2010 at mail.ru>
Signed-off-by: Wolfram Sang <wsa at the-dreams.de>
Cc: stable at kernel.org
commit 0da74120c5341389b97c4ee27487a97224999ee1
Author: Jann Horn <jannh at google.com>
Date: Thu Jun 28 20:39:54 2018 -0400
selinux: move user accesses in selinuxfs out of locked regions
If a user is accessing a file in selinuxfs with a pointer to a userspace
buffer that is backed by e.g. a userfaultfd, the userspace access can
stall indefinitely, which can block fsi->mutex if it is held.
For sel_read_policy(), remove the locking, since this method doesn't seem
to access anything that requires locking.
For sel_read_bool(), move the user access below the locked region.
For sel_write_bool() and sel_commit_bools_write(), move the user access
up above the locked region.
Cc: stable at vger.kernel.org
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Jann Horn <jannh at google.com>
Acked-by: Stephen Smalley <sds at tycho.nsa.gov>
[PM: removed an unused variable in sel_read_policy()]
Signed-off-by: Paul Moore <paul at paul-moore.com>
commit 4c79579b44b1876444f4d04de31c1a37098a0350
Author: David Ahern <dsahern at gmail.com>
Date: Tue Jun 26 16:21:18 2018 -0700
bpf: Change bpf_fib_lookup to return lookup status
For ACLs implemented using either FIB rules or FIB entries, the BPF
program needs the FIB lookup status to be able to drop the packet.
Since the bpf_fib_lookup API has not reached a released kernel yet,
change the return code to contain an encoding of the FIB lookup
result and return the nexthop device index in the params struct.
In addition, inform the BPF program of any post FIB lookup reason as
to why the packet needs to go up the stack.
The fib result for unicast routes must have an egress device, so remove
the check that it is non-NULL.
Signed-off-by: David Ahern <dsahern at gmail.com>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit 3203c9010060806ff88c9989aeab4dc8d9a474dc
Author: Kleber Sacilotto de Souza <kleber.souza at canonical.com>
Date: Wed Jun 27 17:19:21 2018 +0200
test_bpf: flag tests that cannot be jited on s390
Flag with FLAG_EXPECTED_FAIL the BPF_MAXINSNS tests that cannot be jited
on s390 because they exceed BPF_SIZE_MAX and fail when
CONFIG_BPF_JIT_ALWAYS_ON is set. Also set .expected_errcode to -ENOTSUPP
so the tests pass in that case.
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza at canonical.com>
Acked-by: Song Liu <songliubraving at fb.com>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit 63ba82c0e63f1dd400d84e12f2142c2cb691aec1
Author: Helge Deller <deller at gmx.de>
Date: Thu Jun 28 22:21:24 2018 +0200
parisc: Reduce debug output in unwind code
Signed-off-by: Helge Deller <deller at gmx.de>
commit f9ff68521a5541e1fdaeb0ef11871c035b30e409
Author: Lyude Paul <lyude at redhat.com>
Date: Mon Jun 25 21:09:07 2018 -0400
drm/amdgpu: Dynamically probe for ATIF handle (v2)
The other day I was testing one of the HP laptops at my office with an
i915/amdgpu hybrid setup and noticed that hotplugging was non-functional
on almost all of the display outputs. I eventually discovered that all
of the external outputs were connected to the amdgpu device instead of
i915, and that the hotplugs weren't being detected so long as the GPU
was in runtime suspend. After some talking with folks at AMD, I learned
that amdgpu is actually supposed to support hotplug detection in runtime
suspend so long as the OEM has implemented it properly in the firmware.
On this HP ZBook 15 G4 (the machine in question), amdgpu wasn't managing
to find the ATIF handle at all despite the fact that I could see acpi
events being sent in response to any hotplugging. After going through
dumps of the firmware, I discovered that this machine did in fact
support ATIF, but that it's ATIF method lived in an entirely different
namespace than this device's handle (the device handle was
\_SB_.PCI0.PEG0.PEGP, but ATIF lives in ATPX's handle at
\_SB_.PCI0.GFX0).
So, fix this by probing ATPX's ACPI parent's namespace if we can't find
ATIF elsewhere, along with storing a pointer to the proper handle to use
for ATIF and using that instead of the device's handle.
This fixes HPD detection while in runtime suspend for this ZBook!
v2: Update the comment to reflect how the namespaces are arranged
based on the system configuration. (Alex)
Signed-off-by: Lyude Paul <lyude at redhat.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Cc: stable at vger.kernel.org
commit 4aa5d5eb82bb237d0bb3a38b2a7555054d018081
Author: Lyude Paul <lyude at redhat.com>
Date: Mon Jun 25 21:09:06 2018 -0400
drm/amdgpu: Add amdgpu_atpx_get_dhandle()
Since it seems that some vendors are storing the ATIF ACPI methods under
the same handle that ATPX lives under instead of the device's own
handle, we're going to need to be able to retrieve this handle later so
we can probe for ATIF there.
Signed-off-by: Lyude Paul <lyude at redhat.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Cc: stable at vger.kernel.org
commit 2cd5fe22d9a45cdf11c62bbe8db3ce9101207510
Author: Lyude Paul <lyude at redhat.com>
Date: Mon Jun 25 21:09:04 2018 -0400
drm/amdgpu: Make struct amdgpu_atif private to amdgpu_acpi.c
Currently, there is nothing in amdgpu that actually uses these structs
other than amdgpu_acpi.c. Additionally, since we're about to start
saving the correct ACPI handle to use for calling ATIF in this struct
this saves us from having to handle making sure that the acpi_handle
(and by proxy, the type definition for acpi_handle and all of the other
acpi headers) doesn't need to be included within the amdgpu_drv struct
itself. This follows the example set by amdgpu_atpx_handler.c.
Signed-off-by: Lyude Paul <lyude at redhat.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Cc: stable at vger.kernel.org
commit dbc626597c39b24cefce09fbd8e9dea85869a801
Author: Ross Zwisler <ross.zwisler at linux.intel.com>
Date: Tue Jun 26 16:30:41 2018 -0600
dm: prevent DAX mounts if not supported
Currently device_supports_dax() just checks to see if the QUEUE_FLAG_DAX
flag is set on the device's request queue to decide whether or not the
device supports filesystem DAX. Really we should be using
bdev_dax_supported() like filesystems do at mount time. This performs
other tests like checking to make sure the dax_direct_access() path works.
We also explicitly clear QUEUE_FLAG_DAX on the DM device's request queue if
any of the underlying devices do not support DAX. This makes the handling
of QUEUE_FLAG_DAX consistent with the setting/clearing of most other flags
in dm_table_set_restrictions().
Now that bdev_dax_supported() explicitly checks for QUEUE_FLAG_DAX, this
will ensure that filesystems built upon DM devices will only be able to
mount with DAX if all underlying devices also support DAX.
Signed-off-by: Ross Zwisler <ross.zwisler at linux.intel.com>
Fixes: commit 545ed20e6df6 ("dm: add infrastructure for DAX support")
Cc: stable at vger.kernel.org
Acked-by: Dan Williams <dan.j.williams at intel.com>
Reviewed-by: Toshi Kani <toshi.kani at hpe.com>
Signed-off-by: Mike Snitzer <snitzer at redhat.com>
commit 15256f6cc4b44f2e70503758150267fd2a53c0d6
Author: Ross Zwisler <ross.zwisler at linux.intel.com>
Date: Tue Jun 26 16:30:40 2018 -0600
dax: check for QUEUE_FLAG_DAX in bdev_dax_supported()
Add an explicit check for QUEUE_FLAG_DAX to __bdev_dax_supported(). This
is needed for DM configurations where the first element in the dm-linear or
dm-stripe target supports DAX, but other elements do not. Without this
check __bdev_dax_supported() will pass for such devices, letting a
filesystem on that device mount with the DAX option.
Signed-off-by: Ross Zwisler <ross.zwisler at linux.intel.com>
Suggested-by: Mike Snitzer <snitzer at redhat.com>
Fixes: commit 545ed20e6df6 ("dm: add infrastructure for DAX support")
Cc: stable at vger.kernel.org
Acked-by: Dan Williams <dan.j.williams at intel.com>
Reviewed-by: Toshi Kani <toshi.kani at hpe.com>
Signed-off-by: Mike Snitzer <snitzer at redhat.com>
commit 4557641b4c7046625c026fb809c47ef0d43ae595
Author: Ross Zwisler <ross.zwisler at linux.intel.com>
Date: Tue Jun 26 16:30:39 2018 -0600
pmem: only set QUEUE_FLAG_DAX for fsdax mode
QUEUE_FLAG_DAX is an indication that a given block device supports
filesystem DAX and should not be set for PMEM namespaces which are in "raw"
mode. These namespaces lack struct page and are prevented from
participating in filesystem DAX as of commit 569d0365f571 ("dax: require
'struct page' by default for filesystem dax").
Signed-off-by: Ross Zwisler <ross.zwisler at linux.intel.com>
Suggested-by: Mike Snitzer <snitzer at redhat.com>
Fixes: 569d0365f571 ("dax: require 'struct page' by default for filesystem dax")
Cc: stable at vger.kernel.org
Acked-by: Dan Williams <dan.j.williams at intel.com>
Reviewed-by: Toshi Kani <toshi.kani at hpe.com>
Signed-off-by: Mike Snitzer <snitzer at redhat.com>
commit bda3153998f3eb2cafa4a6311971143628eacdbc
Author: BingJing Chang <bingjingc at synology.com>
Date: Thu Jun 28 18:40:11 2018 +0800
md/raid10: fix that replacement cannot complete recovery after reassemble
During assemble, the spare marked for replacement is not checked.
conf->fullsync cannot be updated to be 1. As a result, recovery will
treat it as a clean array. All recovering sectors are skipped. Original
device is replaced with the not-recovered spare.
mdadm -C /dev/md0 -l10 -n4 -pn2 /dev/loop[0123]
mdadm /dev/md0 -a /dev/loop4
mdadm /dev/md0 --replace /dev/loop0
mdadm -S /dev/md0 # stop array during recovery
mdadm -A /dev/md0 /dev/loop[01234]
After reassemble, you can see recovery go on, but it completes
immediately. In fact, recovery is not actually processed.
To solve this problem, we just add the missing logics for replacment
spares. (In raid1.c or raid5.c, they have already been checked.)
Reported-by: Alex Chen <alexchen at synology.com>
Reviewed-by: Alex Wu <alexwu at synology.com>
Reviewed-by: Chung-Chiang Cheng <cccheng at synology.com>
Signed-off-by: BingJing Chang <bingjingc at synology.com>
Signed-off-by: Shaohua Li <shli at fb.com>
commit 90368a37fbbe76056db2b703c08903939a2a18dc
Merge: e26aac3caead 043f891b70e6
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Thu Jun 28 12:45:34 2018 -0700
Merge tag 'printk-for-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk
Pull printk fix from Petr Mladek:
"Revert a commit that went in by mistake. I already have a better fix
in the queue for 4.19"
* tag 'printk-for-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
Revert "lib/test_printf.c: call wait_for_random_bytes() before plain %p tests"
commit e26aac3caeadc476b96a1f384715e96b4a607342
Merge: c7e1d692ea82 c9a4c63888db
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Thu Jun 28 12:43:37 2018 -0700
Merge tag 'sound-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai:
"Over a dozen changes, but all small and clear fixes.
Half of them are the regression fixes for CA0132 HD-audio codec, and
the rest are, again, a few more fixups for HD-audio, two UBSAN fixes
in the core ioctls, and a trivial fix in the error path handling in
lx6464es driver"
* tag 'sound-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: seq: Fix UBSAN warning at SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT ioctl
ALSA: timer: Fix UBSAN warning at SNDRV_TIMER_IOCTL_NEXT_DEVICE ioctl
ALSA: hda/realtek - Fix the problem of two front mics on more machines
ALSA: hda/realtek - Add a quirk for FSC ESPRIMO U9210
ALSA: hda/ca0132: make array ca0132_alt_chmaps static
ALSA: hda - Force to link down at runtime suspend on ATI/AMD HDMI
ALSA: lx6464es: Missing error code in snd_lx6464es_create()
ALSA: hda/ca0132: Fix DMic data rate for Alienware M17x R4
ALSA: hda/ca0132: Restore PCM Analog Mic-In2
ALSA: hda/ca0132: Don't test for QUIRK_NONE
ALSA: hda/ca0132: Restore behavior of QUIRK_ALIENWARE
ALSA: hda/ca0132: Delete redundant UNSOL event requests
ALSA: hda/ca0132: Delete pointless assignments to struct auto_pin_cfg fields
ALSA: hda/realtek - Fix pop noise on Lenovo P50 & co
commit c7e1d692ea8250c42278bb67fdedee01c822985f
Merge: ea5f39f2f994 3f6e6986045d
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Thu Jun 28 12:31:59 2018 -0700
Merge tag 'mtd/fixes-for-4.18-rc3' of git://git.infradead.org/linux-mtd
Pull mtd fixes from Boris Brezillon:
"NAND fixes:
- add a quirk for a bunch of broken Macronix chips
- fix nand_block_bad() when chip->ecc.read_oob() returns a positive
value encoding the number of bitflips
- fix OOB handling in the MXC driver fo V2.1 controllers
- flag the ONFI_FEATURE_ON_DIE_ECC as supported in the Micron driver
- hardcode clk rate in the denali_dt driver to address a bad DT
representation (the proper fix will be queued for 4.19)
SPI NOR fixes:
- add an ULL constant to some ID definitions so that the ID is not
truncated on 32-bit platforms
MTD fixes:
- fix the sector unlocking logic in the CFI driver"
* tag 'mtd/fixes-for-4.18-rc3' of git://git.infradead.org/linux-mtd:
mtd: rawnand: denali_dt: set clk_x_rate to 200 MHz unconditionally
mtd: dataflash: Use ULL suffix for 64-bit constants
mtd: cfi_cmdset_0002: Avoid walking all chips when unlocking.
mtd: cfi_cmdset_0002: Fix unlocking requests crossing a chip boudary
mtd: cfi_cmdset_0002: fix SEGV unlocking multiple chips
mtd: cfi_cmdset_0002: Use right chip in do_ppb_xxlock()
mtd: rawnand: All AC chips have a broken GET_FEATURES(TIMINGS).
mtd: rawnand: fix return value check for bad block status
mtd: rawnand: mxc: set spare area size register explicitly
mtd: rawnand: micron: add ONFI_FEATURE_ON_DIE_ECC to supported features
commit 1513b1c93f825f74751897258e0bdde64fd3bb6a
Author: Evan Quan <evan.quan at amd.com>
Date: Mon Jun 11 15:20:39 2018 +0800
drm/amd/powerplay: smc_dpm_info structure change
A new member Vr2_I2C_address is added.
Signed-off-by: Evan Quan <evan.quan at amd.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
commit 36953aa94a8fcc884b970d63d3e4c650257dd03e
Author: Evan Quan <evan.quan at amd.com>
Date: Mon May 28 08:59:16 2018 +0800
drm/amd/powerplay: correct vega12 bootup values settings
The vbios firmware structure changed between v3_1 and v3_2. So,
the code to setup bootup values needs different paths based
on header version.
Signed-off-by: Evan Quan <evan.quan at amd.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
commit 363a3d3fb7d478d7dd49b8c6294436b8ba5984cc
Author: Evan Quan <evan.quan at amd.com>
Date: Mon Jun 11 16:46:40 2018 +0800
drm/amd/powerplay: correct vega12 thermal support as true
Thermal support is enabled on vega12.
Signed-off-by: Evan Quan <evan.quan at amd.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
commit ea5f39f2f994e6fb8cb8d0304aa5f422ae3bbf83
Merge: a11e1d432b51 008e682b5bf1
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Thu Jun 28 11:42:56 2018 -0700
Merge branch 'akpm' (patches from Andrew)
Merge fixes from Andrew Morton:
"7 fixes"
* emailed patches from Andrew Morton <akpm at linux-foundation.org>:
proc: add Alexey to MAINTAINERS
kasan: depend on CONFIG_SLUB_DEBUG
include/linux/dax.h: dax_iomap_fault() returns vm_fault_t
x86/e820: put !E820_TYPE_RAM regions into memblock.reserved
slub: fix failure when we delete and create a slab cache
Revert mm/vmstat.c: fix vmstat_update() preemption BUG
lib/percpu_ida.c: don't do alloc from per-CPU list if there is none
commit 008e682b5bf1bdd735b2eecf2f3903d7da49dd52
Author: Alexey Dobriyan <adobriyan at gmail.com>
Date: Wed Jun 27 23:26:24 2018 -0700
proc: add Alexey to MAINTAINERS
I know I'll regret it.
Link: http://lkml.kernel.org/r/20180627194840.GA18113@avx2
Signed-off-by: Alexey Dobriyan <adobriyan at gmail.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit dd275caf4a0d9b219fffe49288b6cc33cd564312
Author: Jason A. Donenfeld <Jason at zx2c4.com>
Date: Wed Jun 27 23:26:20 2018 -0700
kasan: depend on CONFIG_SLUB_DEBUG
KASAN depends on having access to some of the accounting that SLUB_DEBUG
does; without it, there are immediate crashes [1]. So, the natural
thing to do is to make KASAN select SLUB_DEBUG.
[1] http://lkml.kernel.org/r/CAHmME9rtoPwxUSnktxzKso14iuVCWT7BE_-_8PAC=pGw1iJnQg@mail.gmail.com
Link: http://lkml.kernel.org/r/20180622154623.25388-1-Jason@zx2c4.com
Fixes: f9e13c0a5a33 ("slab, slub: skip unnecessary kasan_cache_shutdown()")
Signed-off-by: Jason A. Donenfeld <Jason at zx2c4.com>
Acked-by: Michal Hocko <mhocko at suse.com>
Reviewed-by: Shakeel Butt <shakeelb at google.com>
Acked-by: Christoph Lameter <cl at linux.com>
Cc: Shakeel Butt <shakeelb at google.com>
Cc: David Rientjes <rientjes at google.com>
Cc: Pekka Enberg <penberg at kernel.org>
Cc: Joonsoo Kim <iamjoonsoo.kim at lge.com>
Cc: Andrey Ryabinin <aryabinin at virtuozzo.com>
Cc: <stable at vger.kernel.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit f77bc3a82ce58fe7977a11f28e0b6cac8a9e087c
Author: Souptick Joarder <jrdr.linux at gmail.com>
Date: Wed Jun 27 23:26:17 2018 -0700
include/linux/dax.h: dax_iomap_fault() returns vm_fault_t
Commit 1c8f422059ae ("mm: change return type to vm_fault_t") missed a
conversion. It's not a big problem at present because mainline is still
using
typedef int vm_fault_t;
Fixes: 1c8f422059ae ("mm: change return type to vm_fault_t")
Link: http://lkml.kernel.org/r/20180620172046.GA27894@jordon-HP-15-Notebook-PC
Signed-off-by: Souptick Joarder <jrdr.linux at gmail.com>
Reviewed-by: Andrew Morton <akpm at linux-foundation.org>
Cc: Matthew Wilcox <willy at infradead.org>
Cc: Dan Williams <dan.j.williams at intel.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit 124049decbb121ec32742c94fb5d9d6bed8f24d8
Author: Naoya Horiguchi <n-horiguchi at ah.jp.nec.com>
Date: Wed Jun 27 23:26:13 2018 -0700
x86/e820: put !E820_TYPE_RAM regions into memblock.reserved
There is a kernel panic that is triggered when reading /proc/kpageflags
on the kernel booted with kernel parameter 'memmap=nn[KMG]!ss[KMG]':
BUG: unable to handle kernel paging request at fffffffffffffffe
PGD 9b20e067 P4D 9b20e067 PUD 9b210067 PMD 0
Oops: 0000 [#1] SMP PTI
CPU: 2 PID: 1728 Comm: page-types Not tainted 4.17.0-rc6-mm1-v4.17-rc6-180605-0816-00236-g2dfb086ef02c+ #160
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.0-2.fc28 04/01/2014
RIP: 0010:stable_page_flags+0x27/0x3c0
Code: 00 00 00 0f 1f 44 00 00 48 85 ff 0f 84 a0 03 00 00 41 54 55 49 89 fc 53 48 8b 57 08 48 8b 2f 48 8d 42 ff 83 e2 01 48 0f 44 c7 <48> 8b 00 f6 c4 01 0f 84 10 03 00 00 31 db 49 8b 54 24 08 4c 89 e7
RSP: 0018:ffffbbd44111fde0 EFLAGS: 00010202
RAX: fffffffffffffffe RBX: 00007fffffffeff9 RCX: 0000000000000000
RDX: 0000000000000001 RSI: 0000000000000202 RDI: ffffed1182fff5c0
RBP: ffffffffffffffff R08: 0000000000000001 R09: 0000000000000001
R10: ffffbbd44111fed8 R11: 0000000000000000 R12: ffffed1182fff5c0
R13: 00000000000bffd7 R14: 0000000002fff5c0 R15: ffffbbd44111ff10
FS: 00007efc4335a500(0000) GS:ffff93a5bfc00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: fffffffffffffffe CR3: 00000000b2a58000 CR4: 00000000001406e0
Call Trace:
kpageflags_read+0xc7/0x120
proc_reg_read+0x3c/0x60
__vfs_read+0x36/0x170
vfs_read+0x89/0x130
ksys_pread64+0x71/0x90
do_syscall_64+0x5b/0x160
entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x7efc42e75e23
Code: 09 00 ba 9f 01 00 00 e8 ab 81 f4 ff 66 2e 0f 1f 84 00 00 00 00 00 90 83 3d 29 0a 2d 00 00 75 13 49 89 ca b8 11 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 34 c3 48 83 ec 08 e8 db d3 01 00 48 89 04 24
According to kernel bisection, this problem became visible due to commit
f7f99100d8d9 ("mm: stop zeroing memory during allocation in vmemmap")
which changes how struct pages are initialized.
Memblock layout affects the pfn ranges covered by node/zone. Consider
that we have a VM with 2 NUMA nodes and each node has 4GB memory, and
the default (no memmap= given) memblock layout is like below:
MEMBLOCK configuration:
memory size = 0x00000001fff75c00 reserved size = 0x000000000300c000
memory.cnt = 0x4
memory[0x0] [0x0000000000001000-0x000000000009efff], 0x000000000009e000 bytes on node 0 flags: 0x0
memory[0x1] [0x0000000000100000-0x00000000bffd6fff], 0x00000000bfed7000 bytes on node 0 flags: 0x0
memory[0x2] [0x0000000100000000-0x000000013fffffff], 0x0000000040000000 bytes on node 0 flags: 0x0
memory[0x3] [0x0000000140000000-0x000000023fffffff], 0x0000000100000000 bytes on node 1 flags: 0x0
...
If you give memmap=1G!4G (so it just covers memory[0x2]),
the range [0x100000000-0x13fffffff] is gone:
MEMBLOCK configuration:
memory size = 0x00000001bff75c00 reserved size = 0x000000000300c000
memory.cnt = 0x3
memory[0x0] [0x0000000000001000-0x000000000009efff], 0x000000000009e000 bytes on node 0 flags: 0x0
memory[0x1] [0x0000000000100000-0x00000000bffd6fff], 0x00000000bfed7000 bytes on node 0 flags: 0x0
memory[0x2] [0x0000000140000000-0x000000023fffffff], 0x0000000100000000 bytes on node 1 flags: 0x0
...
This causes shrinking node 0's pfn range because it is calculated by the
address range of memblock.memory. So some of struct pages in the gap
range are left uninitialized.
We have a function zero_resv_unavail() which does zeroing the struct pages
within the reserved unavailable range (i.e. memblock.memory &&
!memblock.reserved). This patch utilizes it to cover all unavailable
ranges by putting them into memblock.reserved.
Link: http://lkml.kernel.org/r/20180615072947.GB23273@hori1.linux.bs1.fc.nec.co.jp
Fixes: f7f99100d8d9 ("mm: stop zeroing memory during allocation in vmemmap")
Signed-off-by: Naoya Horiguchi <n-horiguchi at ah.jp.nec.com>
Tested-by: Oscar Salvador <osalvador at suse.de>
Tested-by: "Herton R. Krzesinski" <herton at redhat.com>
Acked-by: Michal Hocko <mhocko at suse.com>
Reviewed-by: Pavel Tatashin <pasha.tatashin at oracle.com>
Cc: Steven Sistare <steven.sistare at oracle.com>
Cc: Daniel Jordan <daniel.m.jordan at oracle.com>
Cc: Matthew Wilcox <willy at infradead.org>
Cc: <stable at vger.kernel.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit d50d82faa0c964e31f7a946ba8aba7c715ca7ab0
Author: Mikulas Patocka <mpatocka at redhat.com>
Date: Wed Jun 27 23:26:09 2018 -0700
slub: fix failure when we delete and create a slab cache
In kernel 4.17 I removed some code from dm-bufio that did slab cache
merging (commit 21bb13276768: "dm bufio: remove code that merges slab
caches") - both slab and slub support merging caches with identical
attributes, so dm-bufio now just calls kmem_cache_create and relies on
implicit merging.
This uncovered a bug in the slub subsystem - if we delete a cache and
immediatelly create another cache with the same attributes, it fails
because of duplicate filename in /sys/kernel/slab/. The slub subsystem
offloads freeing the cache to a workqueue - and if we create the new
cache before the workqueue runs, it complains because of duplicate
filename in sysfs.
This patch fixes the bug by moving the call of kobject_del from
sysfs_slab_remove_workfn to shutdown_cache. kobject_del must be called
while we hold slab_mutex - so that the sysfs entry is deleted before a
cache with the same attributes could be created.
Running device-mapper-test-suite with:
dmtest run --suite thin-provisioning -n /commit_failure_causes_fallback/
triggered:
Buffer I/O error on dev dm-0, logical block 1572848, async page read
device-mapper: thin: 253:1: metadata operation 'dm_pool_alloc_data_block' failed: error = -5
device-mapper: thin: 253:1: aborting current metadata transaction
sysfs: cannot create duplicate filename '/kernel/slab/:a-0000144'
CPU: 2 PID: 1037 Comm: kworker/u48:1 Not tainted 4.17.0.snitm+ #25
Hardware name: Supermicro SYS-1029P-WTR/X11DDW-L, BIOS 2.0a 12/06/2017
Workqueue: dm-thin do_worker [dm_thin_pool]
Call Trace:
dump_stack+0x5a/0x73
sysfs_warn_dup+0x58/0x70
sysfs_create_dir_ns+0x77/0x80
kobject_add_internal+0xba/0x2e0
kobject_init_and_add+0x70/0xb0
sysfs_slab_add+0xb1/0x250
__kmem_cache_create+0x116/0x150
create_cache+0xd9/0x1f0
kmem_cache_create_usercopy+0x1c1/0x250
kmem_cache_create+0x18/0x20
dm_bufio_client_create+0x1ae/0x410 [dm_bufio]
dm_block_manager_create+0x5e/0x90 [dm_persistent_data]
__create_persistent_data_objects+0x38/0x940 [dm_thin_pool]
dm_pool_abort_metadata+0x64/0x90 [dm_thin_pool]
metadata_operation_failed+0x59/0x100 [dm_thin_pool]
alloc_data_block.isra.53+0x86/0x180 [dm_thin_pool]
process_cell+0x2a3/0x550 [dm_thin_pool]
do_worker+0x28d/0x8f0 [dm_thin_pool]
process_one_work+0x171/0x370
worker_thread+0x49/0x3f0
kthread+0xf8/0x130
ret_from_fork+0x35/0x40
kobject_add_internal failed for :a-0000144 with -EEXIST, don't try to register things with the same name in the same directory.
kmem_cache_create(dm_bufio_buffer-16) failed with error -17
Link: http://lkml.kernel.org/r/alpine.LRH.2.02.1806151817130.6333@file01.intranet.prod.int.rdu2.redhat.com
Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
Reported-by: Mike Snitzer <snitzer at redhat.com>
Tested-by: Mike Snitzer <snitzer at redhat.com>
Cc: Christoph Lameter <cl at linux.com>
Cc: Pekka Enberg <penberg at kernel.org>
Cc: David Rientjes <rientjes at google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim at lge.com>
Cc: <stable at vger.kernel.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit 28557cc106e6d2aa8b8c5c7687ea9f8055ff3911
Author: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
Date: Wed Jun 27 23:26:05 2018 -0700
Revert mm/vmstat.c: fix vmstat_update() preemption BUG
Revert commit c7f26ccfb2c3 ("mm/vmstat.c: fix vmstat_update() preemption
BUG"). Steven saw a "using smp_processor_id() in preemptible" message
and added a preempt_disable() section around it to keep it quiet. This
is not the right thing to do it does not fix the real problem.
vmstat_update() is invoked by a kworker on a specific CPU. This worker
it bound to this CPU. The name of the worker was "kworker/1:1" so it
should have been a worker which was bound to CPU1. A worker which can
run on any CPU would have a `u' before the first digit.
smp_processor_id() can be used in a preempt-enabled region as long as
the task is bound to a single CPU which is the case here. If it could
run on an arbitrary CPU then this is the problem we have an should seek
to resolve.
Not only this smp_processor_id() must not be migrated to another CPU but
also refresh_cpu_vm_stats() which might access wrong per-CPU variables.
Not to mention that other code relies on the fact that such a worker
runs on one specific CPU only.
Therefore revert that commit and we should look instead what broke the
affinity mask of the kworker.
Link: http://lkml.kernel.org/r/20180504104451.20278-1-bigeasy@linutronix.de
Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
Cc: Steven J. Hill <steven.hill at cavium.com>
Cc: Tejun Heo <htejun at gmail.com>
Cc: Vlastimil Babka <vbabka at suse.cz>
Cc: Thomas Gleixner <tglx at linutronix.de>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit 4bb6e96ab808f88d746343637f0cc2243b527da5
Author: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
Date: Wed Jun 27 23:26:01 2018 -0700
lib/percpu_ida.c: don't do alloc from per-CPU list if there is none
In commit 804209d8a009 ("lib/percpu_ida.c: use _irqsave() instead of
local_irq_save() + spin_lock") I inlined alloc_local_tag() and mixed up
the >= check from percpu_ida_alloc() with the one in alloc_local_tag().
Don't alloc from per-CPU freelist if ->nr_free is zero.
Link: http://lkml.kernel.org/r/20180613075830.c3zeva52fuj6fxxv@linutronix.de
Fixes: 804209d8a009 ("lib/percpu_ida.c: use _irqsave() instead of local_irq_save() + spin_lock")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
Reported-by: David Disseldorp <ddiss at suse.de>
Tested-by: David Disseldorp <ddiss at suse.de>
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: Nicholas Bellinger <nab at linux-iscsi.org>
Cc: Shaohua Li <shli at fb.com>
Cc: Kent Overstreet <kent.overstreet at gmail.com>
Cc: Matthew Wilcox <willy at infradead.org>
Cc: Jens Axboe <axboe at kernel.dk>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit a11e1d432b51f63ba698d044441284a661f01144
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Thu Jun 28 09:43:44 2018 -0700
Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL
The poll() changes were not well thought out, and completely
unexplained. They also caused a huge performance regression, because
"->poll()" was no longer a trivial file operation that just called down
to the underlying file operations, but instead did at least two indirect
calls.
Indirect calls are sadly slow now with the Spectre mitigation, but the
performance problem could at least be largely mitigated by changing the
"->get_poll_head()" operation to just have a per-file-descriptor pointer
to the poll head instead. That gets rid of one of the new indirections.
But that doesn't fix the new complexity that is completely unwarranted
for the regular case. The (undocumented) reason for the poll() changes
was some alleged AIO poll race fixing, but we don't make the common case
slower and more complex for some uncommon special case, so this all
really needs way more explanations and most likely a fundamental
redesign.
[ This revert is a revert of about 30 different commits, not reverted
individually because that would just be unnecessarily messy - Linus ]
Cc: Al Viro <viro at zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch at lst.de>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit a30449eb3ac908f26b4bc963a58039a5f2725ffa
Author: oscardagrach <ryan at edited.us>
Date: Wed Jun 13 13:03:21 2018 -0500
arm64: dts: hikey960: Define wl1837 power capabilities
These properties are required for compatibility with runtime PM.
Without these properties, MMC host controller will not be aware
of power capabilities. When the wlcore driver attempts to power
on the device, it will erroneously fail with -EACCES. This fixes
a regression found here: https://lkml.org/lkml/2018/6/12/930
Fixes: 60f36637bbbd ("wlcore: sdio: allow pm to handle sdio power")
Signed-off-by: Ryan Grachek <ryan at edited.us>
Tested-by: John Stultz <john.stultz at linaro.org>
Acked-by: John Stultz <john.stultz at linaro.org>
Tested-by: Valentin Schneider <valentin.schneider at arm.com>
Signed-off-by: Wei Xu <xuwei5 at hisilicon.com>
commit f904390ac8b2657b97ba3c1ad2b1be0822fa62ad
Author: oscardagrach <ryan at edited.us>
Date: Wed Jun 13 10:13:05 2018 -0500
arm64: dts: hikey: Define wl1835 power capabilities
These properties are required for compatibility with runtime PM.
Without these properties, MMC host controller will not be aware
of power capabilities. When the wlcore driver attempts to power
on the device, it will erroneously fail with -EACCES.
Fixes: 60f36637bbbd ("wlcore: sdio: allow pm to handle sdio power")
Signed-off-by: Ryan Grachek <ryan at edited.us>
Tested-by: John Stultz <john.stultz at linaro.org>
Acked-by: John Stultz <john.stultz at linaro.org>
Signed-off-by: Wei Xu <xuwei5 at hisilicon.com>
commit 297ba57dcdec7ea37e702bcf1a577ac32a034e21
Author: Bart Van Assche <bart.vanassche at wdc.com>
Date: Wed Jun 27 12:55:18 2018 -0700
block: Fix cloning of requests with a special payload
This patch avoids that removing a path controlled by the dm-mpath driver
while mkfs is running triggers the following kernel bug:
kernel BUG at block/blk-core.c:3347!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 20 PID: 24369 Comm: mkfs.ext4 Not tainted 4.18.0-rc1-dbg+ #2
RIP: 0010:blk_end_request_all+0x68/0x70
Call Trace:
<IRQ>
dm_softirq_done+0x326/0x3d0 [dm_mod]
blk_done_softirq+0x19b/0x1e0
__do_softirq+0x128/0x60d
irq_exit+0x100/0x110
smp_call_function_single_interrupt+0x90/0x330
call_function_single_interrupt+0xf/0x20
</IRQ>
Fixes: f9d03f96b988 ("block: improve handling of the magic discard payload")
Reviewed-by: Ming Lei <ming.lei at redhat.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
Acked-by: Mike Snitzer <snitzer at redhat.com>
Signed-off-by: Bart Van Assche <bart.vanassche at wdc.com>
Cc: Hannes Reinecke <hare at suse.com>
Cc: Johannes Thumshirn <jthumshirn at suse.de>
Cc: <stable at vger.kernel.org>
Signed-off-by: Jens Axboe <axboe at kernel.dk>
commit 2765b3edc41bdf18960ca7e6b656fb933ac191d6
Author: Helge Deller <deller at gmx.de>
Date: Thu Jun 28 17:41:58 2018 +0200
parisc: Wire up io_pgetevents syscall
Signed-off-by: Helge Deller <deller at gmx.de>
commit 435d34c7a48de5e89047ef9c7dce6528831b258b
Author: Helge Deller <deller at gmx.de>
Date: Fri Jun 15 22:38:22 2018 +0200
parisc: Default to 4 SMP CPUs
I haven't seen any real SMP machine yet with > 4 CPUs (we don't suport
SuperDomes yet), so reducing the default maximum number of CPUs may speed up
various bitop functions which depend on number of CPUs in the system.
bload-o-meter on a typical 64-bit kernel shows:
Data: add/remove: 0/0 grow/shrink: 0/10 up/down: 0/-3724 (-3724)
Total: Before=1910404, After=1906680, chg -0.19%
Code: add/remove: 0/2 grow/shrink: 42/38 up/down: 2320/-3500 (-1180)
Total: Before=11053099, After=11051919, chg -0.01%
Signed-off-by: Helge Deller <deller at gmx.de>
commit 5e791d2e4785f9ec7da4a02b9e8d00dace9e6917
Author: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Date: Tue May 29 22:38:01 2018 +0300
parisc: Convert printk(KERN_LEVEL) to pr_lvl()
Convert printk(KERN_LEVEL) type of calls to pr_lvl() macros.
While here,
- convert printk() to pr_info()
- join back string literal to be on one line
- use %*phN (note, it gives 1 byte more for sake of simplicity)
Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Signed-off-by: Helge Deller <deller at gmx.de>
commit 1c971f39e62222d567f179ccaa1a186f1c203b52
Author: Helge Deller <deller at gmx.de>
Date: Fri Jun 15 22:33:44 2018 +0200
parisc: Mark 16kB and 64kB page sizes BROKEN
A full boot only succeeds with 4kB page sizes currently.
For 16kB and 64kB page size support somone needs to fix the LBA PCI code
at least, so mark those broken for now.
Signed-off-by: Helge Deller <deller at gmx.de>
commit 704e38303153c797d66c41bbe8325202f549b53c
Author: Helge Deller <deller at gmx.de>
Date: Fri May 18 16:27:15 2018 +0200
parisc: Drop struct sigaction from not exported header file
This header file isn't exported to userspace, so there is no benefit in
defining struct sigaction for userspace here.
Signed-off-by: Helge Deller <deller at gmx.de>
commit 682630f00a219a1b0696abe9c0967e660068187b
Author: Sagi Grimberg <sagi at grimberg.me>
Date: Mon Jun 25 20:58:17 2018 +0300
nvme-rdma: fix possible double free of controller async event buffer
If reconnect/reset failed where the controller async event buffer
was freed, we might end up freeing it again as we call
nvme_rdma_destroy_admin_queue again in the remove path. Given that
the sequence is guaranteed to serialize by .ctrl_stop, we simply
set ctrl->async_event_sqe.data to NULL and don't free it in future
visits.
Reported-by: Max Gurtovoy <maxg at mellanox.com>
Tested-by: Max Gurtovoy <maxg at mellanox.com>
Signed-off-by: Sagi Grimberg <sagi at grimberg.me>
Signed-off-by: Christoph Hellwig <hch at lst.de>
commit 73d1c580f92b203f4c3a189ee98c917c65712f7e
Author: Jerry James <loganjerry at gmail.com>
Date: Sat Jun 23 22:49:04 2018 +0200
kconfig: loop boundary condition fix
If buf[-1] just happens to hold the byte 0x0A, then nread can wrap around
to (size_t)-1, leading to invalid memory accesses.
This has caused segmentation faults when trying to build the latest
kernel snapshots for i686 in Fedora:
https://bugzilla.redhat.com/show_bug.cgi?id=1592374
Signed-off-by: Jerry James <loganjerry at gmail.com>
[alexpl at fedoraproject.org: reformatted patch for submission]
Signed-off-by: Alexander Ploumistos <alexpl at fedoraproject.org>
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
commit 8b9d27124094964b3c4f8985ba66355ac4d9e842
Author: Masahiro Yamada <yamada.masahiro at socionext.com>
Date: Sun Jun 24 01:41:51 2018 +0900
kbuild: reword help of LD_DEAD_CODE_DATA_ELIMINATION
Since commit 5d20ee3192a5 ("kbuild: Allow LD_DEAD_CODE_DATA_ELIMINATION
to be selectable if enabled"), HAVE_LD_DEAD_CODE_DATA_ELIMINATION is
supposed to be selected by architectures that are capable of this
functionality. LD_DEAD_CODE_DATA_ELIMINATION is now users' selection.
Update the help message.
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
commit ecd53ac2f2c6e42fe732d0aa282192cb6ad3faea
Author: Dirk Gouders <dirk at gouders.net>
Date: Fri Jun 22 21:27:38 2018 +0200
kconfig: handle P_SYMBOL in print_symbol()
Each symbol has a property of type P_SYMBOL since commit
59e89e3ddf85 (kconfig: save location of config symbols).
Handle those properties in print_symbol().
Further, place a pointer to print_symbol() in the comment above the
list of known property type.
Signed-off-by: Dirk Gouders <dirk at gouders.net>
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
commit 4205c88eaf17b5f3ee30032d68df55cd5d9077a1
Author: Jose Abreu <Jose.Abreu at synopsys.com>
Date: Wed Jun 27 15:03:20 2018 +0100
net: stmmac: Set DMA buffer size in HW
This is clearly a bug.
We need to set the DMA buffer size in the HW otherwise corruption can
occur when receiving packets.
This is probably not occuring because of small MTU values and because HW
has a default value internally (which currently is bigger than default
buffer size).
Signed-off-by: Jose Abreu <joabreu at synopsys.com>
Cc: David S. Miller <davem at davemloft.net>
Cc: Joao Pinto <jpinto at synopsys.com>
Cc: Vitor Soares <soares at synopsys.com>
Cc: Giuseppe Cavallaro <peppe.cavallaro at st.com>
Cc: Alexandre Torgue <alexandre.torgue at st.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 24ac3a08e65845a098140ff270229dec4a897404
Author: Ursula Braun <ubraun at linux.ibm.com>
Date: Wed Jun 27 17:59:50 2018 +0200
net/smc: rebuild nonblocking connect
The recent poll change may lead to stalls for non-blocking connecting
SMC sockets, since sock_poll_wait is no longer performed on the
internal CLC socket, but on the outer SMC socket. kernel_connect() on
the internal CLC socket returns with -EINPROGRESS, but the wake up
logic does not work in all cases. If the internal CLC socket is still
in state TCP_SYN_SENT when polled, sock_poll_wait() from sock_poll()
does not sleep. It is supposed to sleep till the state of the internal
CLC socket switches to TCP_ESTABLISHED.
This problem triggered a redesign of the SMC nonblocking connect logic.
This patch introduces a connect worker covering all connect steps
followed by a wake up of socket waiters. It allows to get rid of all
delays and locks in smc_poll().
Fixes: c0129a061442 ("smc: convert to ->poll_mask")
Signed-off-by: Ursula Braun <ubraun at linux.ibm.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 15ecbe94a45ef88491ca459b26efdd02f91edb6d
Author: Eric Dumazet <edumazet at google.com>
Date: Wed Jun 27 08:47:21 2018 -0700
tcp: add one more quick ack after after ECN events
Larry Brakmo proposal ( https://patchwork.ozlabs.org/patch/935233/
tcp: force cwnd at least 2 in tcp_cwnd_reduction) made us rethink
about our recent patch removing ~16 quick acks after ECN events.
tcp_enter_quickack_mode(sk, 1) makes sure one immediate ack is sent,
but in the case the sender cwnd was lowered to 1, we do not want
to have a delayed ack for the next packet we will receive.
Fixes: 522040ea5fdd ("tcp: do not aggressively quick ack after ECN events")
Signed-off-by: Eric Dumazet <edumazet at google.com>
Reported-by: Neal Cardwell <ncardwell at google.com>
Cc: Lawrence Brakmo <brakmo at fb.com>
Acked-by: Neal Cardwell <ncardwell at google.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 8e75887d321d102200abf3a9fa621e2c10ff4cc5
Author: Masahiro Yamada <yamada.masahiro at socionext.com>
Date: Tue Jun 26 20:13:48 2018 -0700
bpfilter: include bpfilter_umh in assembly instead of using objcopy
What we want here is to embed a user-space program into the kernel.
Instead of the complex ELF magic, let's simply wrap it in the assembly
with the '.incbin' directive.
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
Signed-off-by: Alexei Starovoitov <ast at kernel.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 977c7114ebda2e746a114840d3a875e0cdb826fb
Author: Doron Roberts-Kedes <doronrk at fb.com>
Date: Tue Jun 26 18:33:33 2018 -0700
strparser: Remove early eaten to fix full tcp receive buffer stall
On receving an incomplete message, the existing code stores the
remaining length of the cloned skb in the early_eaten field instead of
incrementing the value returned by __strp_recv. This defers invocation
of sock_rfree for the current skb until the next invocation of
__strp_recv, which returns early_eaten if early_eaten is non-zero.
This behavior causes a stall when the current message occupies the very
tail end of a massive skb, and strp_peek/need_bytes indicates that the
remainder of the current message has yet to arrive on the socket. The
TCP receive buffer is totally full, causing the TCP window to go to
zero, so the remainder of the message will never arrive.
Incrementing the value returned by __strp_recv by the amount otherwise
stored in early_eaten prevents stalls of this nature.
Signed-off-by: Doron Roberts-Kedes <doronrk at fb.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 21eff69aaaa0e766ca0ce445b477698dc6a9f55a
Author: Alexander Potapenko <glider at google.com>
Date: Thu Jun 14 12:23:09 2018 +0200
vt: prevent leaking uninitialized data to userspace via /dev/vcs*
KMSAN reported an infoleak when reading from /dev/vcs*:
BUG: KMSAN: kernel-infoleak in vcs_read+0x18ba/0x1cc0
Call Trace:
...
kmsan_copy_to_user+0x7a/0x160 mm/kmsan/kmsan.c:1253
copy_to_user ./include/linux/uaccess.h:184
vcs_read+0x18ba/0x1cc0 drivers/tty/vt/vc_screen.c:352
__vfs_read+0x1b2/0x9d0 fs/read_write.c:416
vfs_read+0x36c/0x6b0 fs/read_write.c:452
...
Uninit was created at:
kmsan_save_stack_with_flags mm/kmsan/kmsan.c:279
kmsan_internal_poison_shadow+0xb8/0x1b0 mm/kmsan/kmsan.c:189
kmsan_kmalloc+0x94/0x100 mm/kmsan/kmsan.c:315
__kmalloc+0x13a/0x350 mm/slub.c:3818
kmalloc ./include/linux/slab.h:517
vc_allocate+0x438/0x800 drivers/tty/vt/vt.c:787
con_install+0x8c/0x640 drivers/tty/vt/vt.c:2880
tty_driver_install_tty drivers/tty/tty_io.c:1224
tty_init_dev+0x1b5/0x1020 drivers/tty/tty_io.c:1324
tty_open_by_driver drivers/tty/tty_io.c:1959
tty_open+0x17b4/0x2ed0 drivers/tty/tty_io.c:2007
chrdev_open+0xc25/0xd90 fs/char_dev.c:417
do_dentry_open+0xccc/0x1440 fs/open.c:794
vfs_open+0x1b6/0x2f0 fs/open.c:908
...
Bytes 0-79 of 240 are uninitialized
Consistently allocating |vc_screenbuf| with kzalloc() fixes the problem
Reported-by: syzbot+17a8efdf800000 at syzkaller.appspotmail.com
Signed-off-by: Alexander Potapenko <glider at google.com>
Cc: stable <stable at vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit bc6cf3669d22371f573ab0305b3abf13887c0786
Author: Johan Hovold <johan at kernel.org>
Date: Wed Jun 13 17:08:59 2018 +0200
serdev: fix memleak on module unload
Make sure to free all resources associated with the ida on module
exit.
Fixes: cd6484e1830b ("serdev: Introduce new bus for serial attached devices")
Cc: stable <stable at vger.kernel.org> # 4.11
Signed-off-by: Johan Hovold <johan at kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit 20dcff436e9fcd2e106b0ccc48a52206bc176d70
Author: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Date: Wed Jun 6 21:00:41 2018 +0300
serial: 8250_pci: Remove stalled entries in blacklist
After the commit
7d8905d06405 ("serial: 8250_pci: Enable device after we check black list")
pure serial multi-port cards, such as CH355, got blacklisted and thus
not being enumerated anymore. Previously, it seems, blacklisting them
was on purpose to shut up pciserial_init_one() about record duplication.
So, remove the entries from blacklist in order to get cards enumerated.
Fixes: 7d8905d06405 ("serial: 8250_pci: Enable device after we check black list")
Reported-by: Matt Turner <mattst88 at gmail.com>
Cc: Sergej Pupykin <ml at sergej.pp.ru>
Cc: Alexandr Petrenko <petrenkoas83 at gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Reviewed-and-Tested-by: Matt Turner <mattst88 at gmail.com>
Cc: stable <stable at vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit ebec3f8f5271139df618ebdf8427e24ba102ba94
Author: Tetsuo Handa <penguin-kernel at I-love.SAKURA.ne.jp>
Date: Sat May 26 09:53:14 2018 +0900
n_tty: Access echo_* variables carefully.
syzbot is reporting stalls at __process_echoes() [1]. This is because
since ldata->echo_commit < ldata->echo_tail becomes true for some reason,
the discard loop is serving as almost infinite loop. This patch tries to
avoid falling into ldata->echo_commit < ldata->echo_tail situation by
making access to echo_* variables more carefully.
Since reset_buffer_flags() is called without output_lock held, it should
not touch echo_* variables. And omit a call to reset_buffer_flags() from
n_tty_open() by using vzalloc().
Since add_echo_byte() is called without output_lock held, it needs memory
barrier between storing into echo_buf[] and incrementing echo_head counter.
echo_buf() needs corresponding memory barrier before reading echo_buf[].
Lack of handling the possibility of not-yet-stored multi-byte operation
might be the reason of falling into ldata->echo_commit < ldata->echo_tail
situation, for if I do WARN_ON(ldata->echo_commit == tail + 1) prior to
echo_buf(ldata, tail + 1), the WARN_ON() fires.
Also, explicitly masking with buffer for the former "while" loop, and
use ldata->echo_commit > tail for the latter "while" loop.
[1] https://syzkaller.appspot.com/bug?id=17f23b094cd80df750e5b0f8982c521ee6bcbf40
Signed-off-by: Tetsuo Handa <penguin-kernel at I-love.SAKURA.ne.jp>
Reported-by: syzbot <syzbot+108696293d7a21ab688f at syzkaller.appspotmail.com>
Cc: Peter Hurley <peter at hurleysoftware.com>
Cc: stable <stable at vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit 3d63b7e4ae0dc5e02d28ddd2fa1f945defc68d81
Author: Tetsuo Handa <penguin-kernel at I-love.SAKURA.ne.jp>
Date: Sat May 26 09:53:13 2018 +0900
n_tty: Fix stall at n_tty_receive_char_special().
syzbot is reporting stalls at n_tty_receive_char_special() [1]. This is
because comparison is not working as expected since ldata->read_head can
change at any moment. Mitigate this by explicitly masking with buffer size
when checking condition for "while" loops.
[1] https://syzkaller.appspot.com/bug?id=3d7481a346958d9469bebbeb0537d5f056bdd6e8
Signed-off-by: Tetsuo Handa <penguin-kernel at I-love.SAKURA.ne.jp>
Reported-by: syzbot <syzbot+18df353d7540aa6b5467 at syzkaller.appspotmail.com>
Fixes: bc5a5e3f45d04784 ("n_tty: Don't wrap input buffer indices at buffer size")
Cc: stable <stable at vger.kernel.org>
Cc: Peter Hurley <peter at hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit 210d0797c97d0e8f3b1a932a0dc143f4c57008a3
Author: Christoph Hellwig <hch at lst.de>
Date: Thu Jun 28 13:59:25 2018 +0200
swiotlb: export swiotlb_dma_ops
For architectures that do not use per-device dma ops we need to export
the dma_map_ops structure returned from get_arch_dma_ops().
Fixes: 10314e09 ("riscv: add swiotlb support")
Signed-off-by: Christoph Hellwig <hch at lst.de>
Reported-by: Andreas Schwab <schwab at suse.de>
commit 226e2d2d31b1606c5fa8fb285b11e38badbad259
Merge: 90f26cc6bb90 24160628a34a
Author: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Date: Thu Jun 28 19:19:10 2018 +0900
Merge tag 'usb-serial-4.18-rc3' of https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus
Johan writes:
USB-serial fixes for v4.18-rc3
Here are bunch of new device ids for cp210x.
All have been in linux-next with no reported issues.
Signed-off-by: Johan Hovold <johan at kernel.org>
commit e4e7ede739f7fb468686dfffa2d1e35dca35bacd
Author: Filipe Manana <fdmanana at suse.com>
Date: Wed Jun 27 00:43:15 2018 +0100
Btrfs: fix mount failure when qgroup rescan is in progress
If a power failure happens while the qgroup rescan kthread is running,
the next mount operation will always fail. This is because of a recent
regression that makes qgroup_rescan_init() incorrectly return -EINVAL
when we are mounting the filesystem (through btrfs_read_qgroup_config()).
This causes the -EINVAL error to be returned regardless of any qgroup
flags being set instead of returning the error only when neither of
the flags BTRFS_QGROUP_STATUS_FLAG_RESCAN nor BTRFS_QGROUP_STATUS_FLAG_ON
are set.
A test case for fstests follows up soon.
Fixes: 9593bf49675e ("btrfs: qgroup: show more meaningful qgroup_rescan_init error message")
Signed-off-by: Filipe Manana <fdmanana at suse.com>
Reviewed-by: Qu Wenruo <wqu at suse.com>
Signed-off-by: David Sterba <dsterba at suse.com>
commit 717beb96d969561cff53aad2f09547db20ee6ffd
Author: Chris Mason <clm at fb.com>
Date: Mon Jun 25 10:03:41 2018 -0700
Btrfs: fix regression in btrfs_page_mkwrite() from vm_fault_t conversion
The vm_fault_t conversion commit introduced a ret2 variable for tracking
the integer return values from internal btrfs functions. It was
sometimes returning VM_FAULT_LOCKED for pages that were actually invalid
and had been removed from the radix. Something like this:
ret2 = btrfs_delalloc_reserve_space() // returns zero on success
lock_page(page)
if (page->mapping != inode->i_mapping)
goto out_unlock;
...
out_unlock:
if (!ret2) {
...
return VM_FAULT_LOCKED;
}
This ends up triggering this WARNING in btrfs_destroy_inode()
WARN_ON(BTRFS_I(inode)->block_rsv.size);
xfstests generic/095 was able to reliably reproduce the errors.
Since out_unlock: is only used for errors, this fix moves it below the
if (!ret2) check we use to return VM_FAULT_LOCKED for success.
Fixes: a528a2415087 (btrfs: change return type of btrfs_page_mkwrite to vm_fault_t)
Signed-off-by: Chris Mason <clm at fb.com>
Reviewed-by: David Sterba <dsterba at suse.com>
Signed-off-by: David Sterba <dsterba at suse.com>
commit 6f7de19ed3d4d3526ca5eca428009f97cf969c2f
Author: Qu Wenruo <wqu at suse.com>
Date: Wed Jun 27 18:19:55 2018 +0800
btrfs: quota: Set rescan progress to (u64)-1 if we hit last leaf
Commit ff3d27a048d9 ("btrfs: qgroup: Finish rescan when hit the last leaf
of extent tree") added a new exit for rescan finish.
However after finishing quota rescan, we set
fs_info->qgroup_rescan_progress to (u64)-1 before we exit through the
original exit path.
While we missed that assignment of (u64)-1 in the new exit path.
The end result is, the quota status item doesn't have the same value.
(-1 vs the last bytenr + 1)
Although it doesn't affect quota accounting, it's still better to keep
the original behavior.
Reported-by: Misono Tomohiro <misono.tomohiro at jp.fujitsu.com>
Fixes: ff3d27a048d9 ("btrfs: qgroup: Finish rescan when hit the last leaf of extent tree")
Signed-off-by: Qu Wenruo <wqu at suse.com>
Reviewed-by: Misono Tomohiro <misono.tomohiro at jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba at suse.com>
commit 04c6faa17558b1c044524e24d86adf1400f2017f
Merge: 933e671f8cff d412c31dae05
Author: David S. Miller <davem at davemloft.net>
Date: Thu Jun 28 16:21:35 2018 +0900
Merge tag 'mlx5-fixes-2018-06-26' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux
Saeed Mahameed says:
====================
mlx5-fixes-2018-06-26
Fixes for mlx5 core and netdev driver:
Two fixes from Alex Vesker to address command interface issues
- Race in command interface polling mode
- Incorrect raw command length parsing
From Shay Agroskin, Fix wrong size allocation for QoS ETC TC regitster.
From Or Gerlitz and Eli Cohin, Address backward compatability issues for when
Eswitch capability is not advertised for the PF host driver
- Fix required capability for manipulating MPFS
- E-Switch, Disallow vlan/spoofcheck setup if not being esw manager
- Avoid dealing with vport IB/eth representors if not being e-switch manager
- E-Switch, Avoid setup attempt if not being e-switch manager
- Don't attempt to dereference the ppriv struct if not being eswitch manager
====================
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 933e671f8cff87552d4d26cf3874633b11ae78ba
Author: Shuah Khan <shuah at kernel.org>
Date: Tue Jun 26 12:22:28 2018 -0600
selftests/net: Fix permissions for fib_tests.sh
fib_tests.sh became non-executable at some point. This is
what happens:
selftests: net: fib_tests.sh: Warning: file fib_tests.sh is
not executable, correct this.
not ok 1..11 selftests: net: fib_tests.sh [FAIL]
Fixes: d69faad76584 ("selftests: fib_tests: Add prefix route tests with metric")
Signed-off-by: Daniel Díaz <daniel.diaz at linaro.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit c4c2b7644cc9a41f17a8cc8904efe3f66ae4c7ed
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date: Fri Jun 22 14:15:47 2018 +0300
dmaengine: k3dma: Off by one in k3_of_dma_simple_xlate()
The d->chans[] array has d->dma_requests elements so the > should be
>= here.
Fixes: 8e6152bc660e ("dmaengine: Add hisilicon k3 DMA engine driver")
Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
Signed-off-by: Vinod Koul <vkoul at kernel.org>
commit e3f329c600033f011a978a8bc4ddb1e2e94c4f4d
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date: Tue Jun 19 15:20:50 2018 +0200
dmaengine: pl330: report BURST residue granularity
The reported residue is already calculated in BURST unit granularity, so
advertise this capability properly to other devices in the system.
Fixes: aee4d1fac887 ("dmaengine: pl330: improve pl330_tx_status() function")
Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
Signed-off-by: Vinod Koul <vkoul at kernel.org>
commit 12bd45b3a9fd6988444fdeb998750ee8ffaaf11b
Merge: fec9d3b1dc4c 2471c75efed3
Author: David S. Miller <davem at davemloft.net>
Date: Thu Jun 28 14:27:52 2018 +0900
Merge branch 'xdp-flush'
Jesper Dangaard Brouer says:
====================
xdp: don't mix XDP_TX and XDP_REDIRECT flush ops
Fix driver logic that are combining XDP_TX flush and XDP_REDIRECT map
flushing. These are two different XDP xmit modes, and it is clearly
wrong to invoke both types of flush operations when only one of the
XDP xmit modes is used.
====================
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 2471c75efed32529698c26da499954f0253cb401
Author: Jesper Dangaard Brouer <brouer at redhat.com>
Date: Tue Jun 26 17:39:58 2018 +0200
virtio_net: split XDP_TX kick and XDP_REDIRECT map flushing
The driver was combining XDP_TX virtqueue_kick and XDP_REDIRECT
map flushing (xdp_do_flush_map). This is suboptimal, these two
flush operations should be kept separate.
The suboptimal behavior was introduced in commit 9267c430c6b6
("virtio-net: add missing virtqueue kick when flushing packets").
Fixes: 9267c430c6b6 ("virtio-net: add missing virtqueue kick when flushing packets")
Signed-off-by: Jesper Dangaard Brouer <brouer at redhat.com>
Acked-by: Jason Wang <jasowang at redhat.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 2e6893123830d04edc366e0ce59d46e622e140c1
Author: Jesper Dangaard Brouer <brouer at redhat.com>
Date: Tue Jun 26 17:39:53 2018 +0200
i40e: split XDP_TX tail and XDP_REDIRECT map flushing
The driver was combining the XDP_TX tail flush and XDP_REDIRECT
map flushing (xdp_do_flush_map). This is suboptimal, these two
flush operations should be kept separate.
It looks like the mistake was copy-pasted from ixgbe.
Fixes: d9314c474d4f ("i40e: add support for XDP_REDIRECT")
Signed-off-by: Jesper Dangaard Brouer <brouer at redhat.com>
Acked-by: Björn Töpel <bjorn.topel at intel.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit ad088ec480768850db019a5cc543685e868a513d
Author: Jesper Dangaard Brouer <brouer at redhat.com>
Date: Tue Jun 26 17:39:48 2018 +0200
ixgbe: split XDP_TX tail and XDP_REDIRECT map flushing
The driver was combining the XDP_TX tail flush and XDP_REDIRECT
map flushing (xdp_do_flush_map). This is suboptimal, these two
flush operations should be kept separate.
Fixes: 11393cc9b9be ("xdp: Add batching support to redirect map")
Signed-off-by: Jesper Dangaard Brouer <brouer at redhat.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit fec9d3b1dc4c481f20f5d2f5aef3ad1cb7504186
Author: Alexandre Belloni <alexandre.belloni at bootlin.com>
Date: Tue Jun 26 10:44:01 2018 +0200
net: macb: initialize bp->queues[0].bp for at91rm9200
The macb driver currently crashes on at91rm9200 with the following trace:
Unable to handle kernel NULL pointer dereference at virtual address 00000014
[...]
[<c031da44>] (macb_rx_desc) from [<c031f2bc>] (at91ether_open+0x2e8/0x3f8)
[<c031f2bc>] (at91ether_open) from [<c041e8d8>] (__dev_open+0x120/0x13c)
[<c041e8d8>] (__dev_open) from [<c041ec08>] (__dev_change_flags+0x17c/0x1a8)
[<c041ec08>] (__dev_change_flags) from [<c041ec4c>] (dev_change_flags+0x18/0x4c)
[<c041ec4c>] (dev_change_flags) from [<c07a5f4c>] (ip_auto_config+0x220/0x10b0)
[<c07a5f4c>] (ip_auto_config) from [<c000a4fc>] (do_one_initcall+0x78/0x18c)
[<c000a4fc>] (do_one_initcall) from [<c0783e50>] (kernel_init_freeable+0x184/0x1c4)
[<c0783e50>] (kernel_init_freeable) from [<c0574d70>] (kernel_init+0x8/0xe8)
[<c0574d70>] (kernel_init) from [<c00090e0>] (ret_from_fork+0x14/0x34)
Solve that by initializing bp->queues[0].bp in at91ether_init (as is done
in macb_init).
Fixes: ae1f2a56d273 ("net: macb: Added support for many RX queues")
Signed-off-by: Alexandre Belloni <alexandre.belloni at bootlin.com>
Acked-by: Nicolas Ferre <nicolas.ferre at microchip.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 88e85a7daf8e21f2d6cb054374d480c540725cde
Author: Masahiro Yamada <yamada.masahiro at socionext.com>
Date: Tue Jun 26 12:55:35 2018 +0900
bpfilter: check compiler capability in Kconfig
With the brand-new syntax extension of Kconfig, we can directly
check the compiler capability in the configuration phase.
If the cc-can-link.sh fails, the BPFILTER_UMH is automatically
hidden by the dependency.
I also deleted 'default n', which is no-op.
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
Acked-by: Daniel Borkmann <daniel at iogearbox.net>
Acked-by: Alexei Starovoitov <ast at kernel.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 82be2ab159a3a0ae4024b946a31f12b221f6c8ff
Author: Wei Yongjun <weiyongjun1 at huawei.com>
Date: Wed Jun 27 17:47:37 2018 +0800
hinic: reset irq affinity before freeing irq
Following warning is seen when rmmod hinic. This is because affinity
value is not reset before calling free_irq(). This patch fixes it.
[ 55.181232] WARNING: CPU: 38 PID: 19589 at kernel/irq/manage.c:1608
__free_irq+0x2aa/0x2c0
Fixes: 352f58b0d9f2 ("net-next/hinic: Set Rxq irq to specific cpu for NUMA")
Signed-off-by: Wei Yongjun <weiyongjun1 at huawei.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 09014418391cab8b11427d19d8c968b594f56925
Merge: 2d2595719a97 b36e4523d4d5
Author: David S. Miller <davem at davemloft.net>
Date: Thu Jun 28 13:32:44 2018 +0900
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf
Pablo Neira Ayuso says:
====================
Netfilter fixes for net
The following patchset contains Netfilter fixes for your net tree:
1) Missing netlink attribute validation in nf_queue, uncovered by KASAN,
from Eric Dumazet.
2) Use pointer to sysctl table, save us 192 bytes of memory per netns.
Also from Eric.
3) Possible use-after-free when removing conntrack helper modules due
to missing synchronize RCU call. From Taehee Yoo.
4) Fix corner case in systcl writes to nf_log that lead to appending
data to uninitialized buffer, from Jann Horn.
5) Jann Horn says we may indefinitely block other users of nf_log_mutex
if a userspace access in proc_dostring() blocked e.g. due to a
userfaultfd.
6) Fix garbage collection race for unconfirmed conntrack entries,
from Florian Westphal.
====================
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 877f919e192a09e77962a13d7165783027dee5fd
Author: Chunyu Hu <chuhu at redhat.com>
Date: Sun Jun 10 03:51:24 2018 +0800
proc: add proc_seq_release
kmemleak reported some memory leak on reading proc files. After adding
some debug lines, find that proc_seq_fops is using seq_release as
release handler, which won't handle the free of 'private' field of
seq_file, while in fact the open handler proc_seq_open could create
the private data with __seq_open_private when state_size is greater
than zero. So after reading files created with proc_create_seq_private,
such as /proc/timer_list and /proc/vmallocinfo, the private mem of a
seq_file is not freed. Fix it by adding the paired proc_seq_release
as the default release handler of proc_seq_ops instead of seq_release.
Fixes: 44414d82cfe0 ("proc: introduce proc_create_seq_private")
Reviewed-by: Christoph Hellwig <hch at lst.de>
CC: Christoph Hellwig <hch at lst.de>
Signed-off-by: Chunyu Hu <chuhu at redhat.com>
Signed-off-by: Al Viro <viro at zeniv.linux.org.uk>
commit 1c38f4afd5d40234b67635b3c608a4093be04b96
Author: Martin Blumenstingl <martin.blumenstingl at googlemail.com>
Date: Sat Jun 23 17:00:56 2018 +0200
ARM64: dts: meson-gxl: fix Mali GPU compatible string
meson-gxl-mali.dtsi is only used on GXL SoCs. Thus it should use the GXL
specific compatible string instead of the GXBB one.
For now this is purely cosmetic since the (out-of-tree) lima driver for
this GPU currently uses the "arm,mali-450" match instead of the SoC
specific one. However, update the .dts to match the documentation since
this driver behavior might change in the future.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl at googlemail.com>
Acked-by: Neil Armstrong <narmstrong at baylibre.com>
Signed-off-by: Kevin Hilman <khilman at baylibre.com>
commit 6d28d577510f1a51f7ffbe830fdbf42077e0058b
Author: Jerome Brunet <jbrunet at baylibre.com>
Date: Mon Jun 25 14:56:53 2018 +0200
ARM64: dts: meson-axg: fix ethernet stability issue
Like the odroid-c2 and wetek, the s400 uses the RTL8211F and seems to
suffer from the kind of stability issue.
Doing an iperf3 download test, we can see a significant number of LPI
interrupts on the tx path. After a short while (5 to 15 seconds), the
network connection dies. If using rootfs over NFS, the connection may
also break during the boot sequence.
We still don't have a real explanation for this problem so let's disable
EEE once again.
Fixes: f6f6ac914b82 ("ARM64: dts: meson-axg: enable ethernet for A113D S400 board")
Signed-off-by: Jerome Brunet <jbrunet at baylibre.com>
Reviewed-by: Neil Armstrong <narmstrong at baylibre.com>
Signed-off-by: Kevin Hilman <khilman at baylibre.com>
commit 48e21ded0432ee1e2359d4143d7a6925cefee1b5
Author: Kevin Hilman <khilman at baylibre.com>
Date: Thu Jun 7 13:51:01 2018 -0700
ARM64: dts: meson-gx: fix ATF reserved memory region
Vendor firmware/uboot has different reserved regions depending on
firmware version, but current codebase reserves the same regions on
GXL and GXBB, so move the additional reserved memory region to common
.dtsi.
Found when putting a recent vendor u-boot on meson-gxbb-p200.
Suggested-by: Neil Armstrong <narmstrong at baylibre.com>
Cc: stable at vger.kernel.org
Signed-off-by: Kevin Hilman <khilman at baylibre.com>
commit d511b3e4087eedbe11c7496c396432b8b7c2d7d9
Author: Neil Armstrong <narmstrong at baylibre.com>
Date: Tue Jun 5 10:52:23 2018 +0200
ARM64: dts: meson-gxl-s905x-p212: Add phy-supply for usb0
Like LibreTech-CC, the USB0 needs the 5V regulator to be enabled to power the
devices on the P212 Reference Design based boards.
Fixes: b9f07cb4f41f ("ARM64: dts: meson-gxl-s905x-p212: enable the USB controller")
Signed-off-by: Neil Armstrong <narmstrong at baylibre.com>
Acked-by: Martin Blumenstingl <martin.blumenstingl at googlemail.com>
Signed-off-by: Kevin Hilman <khilman at baylibre.com>
commit e490520c902e06e837e07948f026e7949bb16007
Author: Kevin Hilman <khilman at baylibre.com>
Date: Mon Jun 4 15:23:09 2018 -0700
ARM64: dts: meson: fix register ranges for SD/eMMC
Based on updated information from Amlogic, correct the register range
for the SD/eMMC blocks to the right size.
Reported-by: Yixun Lan <yixun.lan at amlogic.com>
Tested-by: Yixun Lan <yixun.lan at amlogic.com>
Signed-off-by: Kevin Hilman <khilman at baylibre.com>
commit d5b4885b1dff72ac670b518cfeaac719d768bd4d
Author: Jerome Brunet <jbrunet at baylibre.com>
Date: Thu Apr 26 12:50:46 2018 +0200
ARM64: dts: meson: disable sd-uhs modes on the libretech-cc
There is a problem with the sd-uhs mode when doing a soft reboot.
Switching back from 1.8v to 3.3v messes with the card, which no longer
respond (timeout errors). According to the specification, we should
perform a card reset (power cycling the card) but this is something we
cannot control on this design.
Then the only solution to restore the communication with the card is an
"unplug-plug" which is not acceptable
Until we find a solution, if any, disable the sd-uhs modes on this design.
For the people using uhs at the moment, there will a performance drop as
a result.
Fixes: 3cde63ebc85c ("ARM64: dts: meson-gxl: libretech-cc: enable high speed modes")
Signed-off-by: Jerome Brunet <jbrunet at baylibre.com>
Cc: stable at vger.kernel.org
Signed-off-by: Kevin Hilman <khilman at baylibre.com>
commit f57494321cbf5b1e7769b6135407d2995a369e28
Merge: 0e49740c35c1 d8cb5e423789
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Wed Jun 27 12:21:06 2018 -0700
Merge tag 'xfs-4.18-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
Pull xfs fixes from Darrick Wong:
"Here are some patches for 4.18 to fix regressions, accounting
problems, overflow problems, and to strengthen metadata validation to
prevent corruption.
This series has been run through a full xfstests run over the weekend
and through a quick xfstests run against this morning's master, with
no major failures reported.
Changes since last update:
- more metadata validation strengthening to prevent crashes.
- fix extent offset overflow problem when insert_range on a 512b
block fs
- fix some off-by-one errors in the realtime fsmap code
- fix some math errors in the default resblks calculation when free
space is low
- fix a problem where stale page contents are exposed via mmap read
after a zero_range at eof
- fix accounting problems with per-ag reservations causing statfs
reports to vary incorrectly"
* tag 'xfs-4.18-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
xfs: fix fdblocks accounting w/ RMAPBT per-AG reservation
xfs: ensure post-EOF zeroing happens after zeroing part of a file
xfs: fix off-by-one error in xfs_rtalloc_query_range
xfs: fix uninitialized field in rtbitmap fsmap backend
xfs: recheck reflink state after grabbing ILOCK_SHARED for a write
xfs: don't allow insert-range to shift extents past the maximum offset
xfs: don't trip over negative free space in xfs_reserve_blocks
xfs: allow empty transactions while frozen
xfs: xfs_iflush_abort() can be called twice on cluster writeback failure
xfs: More robust inode extent count validation
xfs: simplify xfs_bmap_punch_delalloc_range
commit 0e49740c35c1d8f0c8fd84e9387b6a1007228d6f
Author: Timur Tabi <timur at kernel.org>
Date: Wed Jun 27 13:07:07 2018 -0500
MAINTAINERS: Timur has a kernel.org address
Timur Tabi no longer works for Qualcomm, and he now has a kernel.org
email address, so update MAINTAINERS accordingly.
Signed-off-by: Timur Tabi <timur at kernel.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit c34cc2f26a4a4c434f36746710f7aff800d8db57
Merge: 12f8c553a503 176cbf5f62e7
Author: Stephen Boyd <sboyd at kernel.org>
Date: Wed Jun 27 11:01:29 2018 -0700
Merge tag 'clk-davinci-fixes-4.18' of https://github.com/dlech/linux into clk-fixes
Pull davinci clk fixes for 4.18 from David Lechner:
Here are a couple of typo fixes for clk-davinci for 4.18.
* tag 'clk-davinci-fixes-4.18' of https://github.com/dlech/linux:
clk: davinci: fix a typo (which leads to build failures)
clk: davinci: cfgchip: testing the wrong variable
commit 24fe1b0efad4fcdd32ce46cffeab297f22581707
Author: Will Deacon <will.deacon at arm.com>
Date: Fri Jun 22 09:31:16 2018 +0100
arm64: Remove unnecessary ISBs from set_{pte,pmd,pud}
Commit 7f0b1bf04511 ("arm64: Fix barriers used for page table modifications")
fixed a reported issue with fixmap page-table entries not being visible
to the walker due to a missing DSB instruction. At the same time, it added
ISB instructions to the arm64 set_{pte,pmd,pud} functions, which are not
required by the architecture and make little sense in isolation.
Remove the redundant ISBs.
Acked-by: Catalin Marinas <catalin.marinas at arm.com>
Acked-by: Mark Rutland <mark.rutland at arm.com>
Signed-off-by: Will Deacon <will.deacon at arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
commit 429388682dc266e7a693f9c27e3aabd341d55343
Author: Will Deacon <will.deacon at arm.com>
Date: Fri Jun 22 09:31:15 2018 +0100
arm64: Avoid flush_icache_range() in alternatives patching code
The implementation of flush_icache_range() includes instruction sequences
which are themselves patched at runtime, so it is not safe to call from
the patching framework.
This patch reworks the alternatives cache-flushing code so that it rolls
its own internal D-cache maintenance using DC CIVAC before invalidating
the entire I-cache after all alternatives have been applied at boot.
Modules don't cause any issues, since flush_icache_range() is safe to
call by the time they are loaded.
Acked-by: Mark Rutland <mark.rutland at arm.com>
Reported-by: Rohit Khanna <rokhanna at nvidia.com>
Cc: Alexander Van Brunt <avanbrunt at nvidia.com>
Signed-off-by: Will Deacon <will.deacon at arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
commit 59ec39fe38264d9f61d9ea2dbe32cb681069b54d
Merge: f8a78bdb5116 662d855c66c0
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Wed Jun 27 09:56:23 2018 -0700
Merge tag 'mips_fixes_4.18_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux
Pull MIPS build fix from Paul Burton:
"A single build fix for 4.18:
Adjust rseq_signal_deliver() & rseq_handle_notify_resume() calls to
add the ksig argument introduced in v4.18-rc2, around the same time as
the unadjusted MIPS rseq support"
* tag 'mips_fixes_4.18_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
MIPS: Add ksig argument to rseq_{signal_deliver,handle_notify_resume}
commit f8a78bdb5116a703e583b995b2d2211d5db634df
Merge: 22c3b1521aed 86676c4685f7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Wed Jun 27 09:53:53 2018 -0700
Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes from Olof Johansson:
"A handful of fixes, nothing really concerning and most touching
devicetree files for various platforms.
I also regenerated the shared multiplatform defconfigs; they have
drifted quite a bit due to Kconfig changes and reordering, and several
platform maintainers tried doing the same which resulted in a lot of
conflict pain -- this way we get everybody onto the same base for next
merge window"
* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (31 commits)
arm64: dts: uniphier: fix widget name of headphone for LD11/LD20 boards
ARM: dts: Fix SPI node for Arria10
arm64: dts: stratix10: Fix SPI nodes for Stratix10
qcom: cmd-db: enforce CONFIG_OF_RESERVED_MEM dependency
ARM: Always build secure_cntvoff.S on ARM V7 to fix shmobile !SMP build
ARM: multi_v7_defconfig: renormalize based on recent additions
arm64: defconfig: renormalize based on recent additions
arm64: dts: msm8916: fix Coresight ETF graph connections
arm64: dts: apq8096-db820c: disable uart0 by default
ARM: dts: imx6sx: fix irq for pcie bridge
arm64: dts: Stingray: Fix I2C controller interrupt type
arm64: dts: ns2: Fix PCIe controller interrupt type
arm64: dts: ns2: Fix I2C controller interrupt type
arm64: dts: specify 1.8V EMMC capabilities for bcm958742t
arm64: dts: specify 1.8V EMMC capabilities for bcm958742k
ARM: dts: Cygnus: Fix PCIe controller interrupt type
ARM: dts: Cygnus: Fix I2C controller interrupt type
ARM: dts: BCM5301x: Fix i2c controller interrupt type
ARM: dts: HR2: Fix interrupt types for i2c and PCIe
ARM: dts: NSP: Fix PCIe controllers interrupt types
...
commit 22c3b1521aedb4732a9dba7d4d861b7fbb4203f6
Merge: debd52a05061 45df561a7ae2
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Wed Jun 27 09:49:30 2018 -0700
Merge tag 'microblaze-v4.18-rc3' of git://git.monstr.eu/linux-2.6-microblaze
Pull microblaze fixes from Michal Simek:
- fix architecture gpio heart beat code
- add new syscalls
- remove unused xlnx,compound handling
- remove platform.c
* tag 'microblaze-v4.18-rc3' of git://git.monstr.eu/linux-2.6-microblaze:
microblaze: consolidate GPIO reset handling
microblaze: remove unecessary of_platform_bus_probe call
microblaze: Add new syscalls io_pgetevents and rseq
microblaze: Remove architecture heart beat code
microblaze: heartbeat: fix missing prom.h include
commit debd52a0506147c0ce8370ee82f5a3b79efa2f26
Merge: c92067ae06cb 52ab9768f723
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Wed Jun 27 09:42:16 2018 -0700
Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI fixes from James Bottomley:
"Three small bug fixes (barrier elimination, memory leak on unload,
spinlock recursion) and a technical enhancement left over from the
merge window: the TCMU read length support is required for tape
devices read when the length of the read is greater than the tape
block size"
* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
scsi: scsi_debug: Fix memory leak on module unload
scsi: qla2xxx: Spinlock recursion in qla_target
scsi: ipr: Eliminate duplicate barriers
scsi: target: tcmu: add read length support
commit c92067ae06cb71561628d9f4b24b56c1813c54e0
Merge: 896a349228c4 03ae3a9caf4a
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Wed Jun 27 09:16:53 2018 -0700
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input updates from Dmitry Torokhov:
- the main change is a fix for my brain-dead patch to PS/2 button
reporting for some protocols that made it in 4.17
- there is a new driver for Spreadtum vibrator that I intended to send
during merge window but ended up not sending the 2nd pull request.
Given that this is a brand new driver we should not see regressions
here
- a fixup to Elantech PS/2 driver to avoid decoding errors on Thinkpad
P52
- addition of few more ACPI IDs for Silead and Elan drivers
- RMI4 is switched to using IRQ domain code instead of rolling its own
implementation
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: psmouse - fix button reporting for basic protocols
Input: xpad - fix GPD Win 2 controller name
Input: elan_i2c_smbus - fix more potential stack buffer overflows
Input: elan_i2c - add ELAN0618 (Lenovo v330 15IKB) ACPI ID
Input: elantech - fix V4 report decoding for module with middle key
Input: elantech - enable middle button of touchpads on ThinkPad P52
Input: do not assign new tracking ID when changing tool type
Input: make input_report_slot_state() return boolean
Input: synaptics-rmi4 - fix axis-swap behavior
Input: synaptics-rmi4 - fix the error return code in rmi_probe_interrupts()
Input: synaptics-rmi4 - convert irq distribution to irq_domain
Input: silead - add MSSL0002 ACPI HID
Input: goldfish_events - fix checkpatch warnings
Input: add Spreadtrum vibrator driver
commit 896a349228c494aa65279ccfc41d2395898f6f4d
Merge: 3b41c3e28e98 3619dec5103d
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Wed Jun 27 09:13:52 2018 -0700
Merge branch 'fixes-v4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
Pull more security subsystem fixes from James Morris:
"Two further fixes for the keys subsystem"
* 'fixes-v4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
dh key: fix rounding up KDF output length
certs/blacklist: fix const confusion
commit 3b41c3e28e9882760b78864487558b66aaa6261e
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Wed Jun 27 08:40:44 2018 -0700
checkpatch: remove warning for 'old' stable at kernel.org address
It may not be the actual real stable mailing list address, but the
stable scripts to actually pick up on the traditional way to mark stable
patches.
There are also reasons to explicitly avoid using the actual mailing list
address, since security patches with embargo dates generally do want the
stable marking, but don't want tools etc to mistakenly send the patch
out to the mailing list early.
So don't warn for things that are still actively used and explicitly
supported.
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
commit 7838306f5ace5183086ad507c58f5988913690e4
Merge: 7daf201d7fe8 a45fc268db20
Author: Catalin Marinas <catalin.marinas at arm.com>
Date: Wed Jun 27 16:01:05 2018 +0100
Merge branch 'perf/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux
* 'perf/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux:
drivers/perf: xgene_pmu: Fix IOB SLOW PMU parser error
commit 86676c4685f774d818f7a6c401c925bbf2a92903
Author: Katsuhiro Suzuki <suzuki.katsuhiro at socionext.com>
Date: Tue Jun 19 13:12:05 2018 +0900
arm64: dts: uniphier: fix widget name of headphone for LD11/LD20 boards
This patch fixes wrong name of headphone widget for receiving events
of insert/remove headphone plug from simple-card or audio-graph-card.
If we use wrong widget name then we get warning messages such as
"asoc-audio-graph-card sound: ASoC: DAPM unknown pin Headphones"
when the plug is inserted or removed from headphone jack.
Fixes: fb21a0acaa2b7 ("arm64: dts: uniphier: add sound node")
Signed-off-by: Katsuhiro Suzuki <suzuki.katsuhiro at socionext.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
Signed-off-by: Olof Johansson <olof at lixom.net>
commit bf6ba3aeb2962e5ee4a78e7535af579ecba630bb
Author: Fabio Estevam <fabio.estevam at nxp.com>
Date: Wed Jun 27 10:07:46 2018 -0300
drm/etnaviv: Fix driver unregistering
Russell King reported:
"When removing and reloading the etnaviv module, the following splat
occurs:
sysfs: cannot create duplicate filename '/devices/platform/etnaviv'
CPU: 0 PID: 1471 Comm: modprobe Not tainted 4.17.0+ #1608
Hardware name: Marvell Dove (Cubox)
Backtrace:
[<c00157d4>] (dump_backtrace) from [<c0015b8c>] (show_stack+0x18/0x1c)
r6:ef033e38 r5:ee07b340 r4:edb9d000 r3:00000000
[<c0015b74>] (show_stack) from [<c0620784>] (dump_stack+0x20/0x28)
[<c0620764>] (dump_stack) from [<c01bcd24>] (sysfs_warn_dup+0x5c/0x70)
[<c01bccc8>] (sysfs_warn_dup) from [<c01bce14>] (sysfs_create_dir_ns+0x90/0x98)
..."
Commit 246774d17fc0 ("drm/etnaviv: remove the need for a gpu-subsystem
DT node") introduced DRM registration via
platform_device_register_simple(), but missed to call
platform_device_unregister() inside etnaviv_exit().
Fix the problem by calling platform_device_unregister() inside
etnaviv_exit(). While at it, also rearrange the function calls
in the exit path to make them happen in the opposite order of
registration.
Tested on a imx6-sabresd board.
Cc: <stable at vger.kernel.org>
Fixes: 246774d17fc0 ("drm/etnaviv: remove the need for a gpu-subsystem DT node")
Reported-by: Russell King <linux at armlinux.org.uk>
Signed-off-by: Fabio Estevam <fabio.estevam at nxp.com>
Reviewed-by: Philipp Zabel <p.zabel at pengutronix.de>
Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
commit 45a0faaba9c8c5ba1e31a08a391aed0bad327167
Author: Fabio Estevam <fabio.estevam at nxp.com>
Date: Wed Jun 27 10:07:45 2018 -0300
drm/etnaviv: Check for platform_device_register_simple() failure
platform_device_register_simple() may fail, so we should better
check its return value and propagate it in the case of error.
Cc: <stable at vger.kernel.org>
Fixes: 246774d17fc0 ("drm/etnaviv: remove the need for a gpu-subsystem DT node")
Signed-off-by: Fabio Estevam <fabio.estevam at nxp.com>
Reviewed-by: Philipp Zabel <p.zabel at pengutronix.de>
Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
commit a685557fbbc3122ed11e8ad3fa63a11ebc5de8c3
Author: Mike Snitzer <snitzer at redhat.com>
Date: Tue Jun 26 12:04:23 2018 -0400
dm thin: handle running out of data space vs concurrent discard
Discards issued to a DM thin device can complete to userspace (via
fstrim) _before_ the metadata changes associated with the discards is
reflected in the thinp superblock (e.g. free blocks). As such, if a
user constructs a test that loops repeatedly over these steps, block
allocation can fail due to discards not having completed yet:
1) fill thin device via filesystem file
2) remove file
3) fstrim
From initial report, here:
https://www.redhat.com/archives/dm-devel/2018-April/msg00022.html
"The root cause of this issue is that dm-thin will first remove
mapping and increase corresponding blocks' reference count to prevent
them from being reused before DISCARD bios get processed by the
underlying layers. However. increasing blocks' reference count could
also increase the nr_allocated_this_transaction in struct sm_disk
which makes smd->old_ll.nr_allocated +
smd->nr_allocated_this_transaction bigger than smd->old_ll.nr_blocks.
In this case, alloc_data_block() will never commit metadata to reset
the begin pointer of struct sm_disk, because sm_disk_get_nr_free()
always return an underflow value."
While there is room for improvement to the space-map accounting that
thinp is making use of: the reality is this test is inherently racey and
will result in the previous iteration's fstrim's discard(s) completing
vs concurrent block allocation, via dd, in the next iteration of the
loop.
No amount of space map accounting improvements will be able to allow
user's to use a block before a discard of that block has completed.
So the best we can really do is allow DM thinp to gracefully handle such
aggressive use of all the pool's data by degrading the pool into
out-of-data-space (OODS) mode. We _should_ get that behaviour already
(if space map accounting didn't falsely cause alloc_data_block() to
believe free space was available).. but short of that we handle the
current reality that dm_pool_alloc_data_block() can return -ENOSPC.
Reported-by: Dennis Yang <dennisyang at qnap.com>
Cc: stable at vger.kernel.org
Signed-off-by: Mike Snitzer <snitzer at redhat.com>
commit 3eb1b955cd7ed1e621ace856710006c2a8a7f231
Author: Keerthy <j-keerthy at ti.com>
Date: Tue Jun 5 15:37:51 2018 +0530
ARM: dts: da850: Fix interrups property for gpio
The intc #interrupt-cells is equal to 1. Currently gpio
node has 2 cells per IRQ which is wrong. Remove the additional
cell for each of the interrupts.
Signed-off-by: Keerthy <j-keerthy at ti.com>
Fixes: 2e38b946dc54 ("ARM: davinci: da850: add GPIO DT node")
Signed-off-by: Sekhar Nori <nsekhar at ti.com>
commit d79d0d8ad0cb3d782b41631dfeac8eb05e414bcd
Author: Dmitry Vyukov <dvyukov at google.com>
Date: Wed Jun 27 11:07:15 2018 +0200
x86/mm: Clean up the printk()s in show_fault_oops()
- Remove 'nx_warning' and 'smep_warning', which are just pointless obfuscation.
- Also convert to pr_crit().
Suggested-by: Joe Perches <joe at perches.com>
Signed-off-by: Dmitry Vyukov <dvyukov at google.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Link: http://lkml.kernel.org/r/20180627090715.28076-1-dvyukov@gmail.com
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 649f53a3e4cf6873741673b9271275e484c56194
Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Date: Tue Jun 26 17:20:43 2018 +0200
Documentation: intel_pstate: Describe hwp_dynamic_boost sysfs knob
Document the recently introduced hwp_dynamic_boost sysfs knob
allowing user space to tell intel_pstate to use iowait boosting
in the active mode with HWP enabled (to improve performance).
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada at linux.intel.com>
commit 9e421b8fffb92bfd1c274f1deae611a6ab99d8a7
Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Date: Tue Jun 26 12:09:51 2018 +0200
Documentation: admin-guide: intel_pstate: Fix sysfs path
Fix an incorrect sysfs path in the intel_pstate admin-guide
documentation.
Fixes: 33fc30b47098 (cpufreq: intel_pstate: Document the current behavior and user interface)
Reported-by: Pawit Pornkitprasan <p.pawit at gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
commit 9331510135640429711afbd0c810686100824a79
Author: Mathieu Malaterre <malat at debian.org>
Date: Tue Jun 26 22:23:00 2018 +0200
perf/core: Move inline keyword at the beginning of declaration
Fix non-fatal warning triggered during compilation with W=1:
kernel/events/core.c:6106:1: warning: ‘inline’ is not at beginning of declaration [-Wold-style-declaration]
static void __always_inline
^~~~~~
Signed-off-by: Mathieu Malaterre <malat at debian.org>
Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme at kernel.org>
Cc: Jiri Olsa <jolsa at redhat.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Namhyung Kim <namhyung at kernel.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Link: http://lkml.kernel.org/r/20180626202301.20270-1-malat@debian.org
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit b8c1e4293a5d1dfd19ab7b0984bfce8191940500
Author: Kirill A. Shutemov <kirill.shutemov at linux.intel.com>
Date: Tue Jun 26 13:03:41 2018 +0300
x86/mm: Drop unneeded __always_inline for p4d page table helpers
This reverts the following commits:
1ea66554d3b0 ("x86/mm: Mark p4d_offset() __always_inline")
046c0dbec023 ("x86: Mark native_set_p4d() as __always_inline")
p4d_offset(), native_set_p4d() and native_p4d_clear() were marked
__always_inline in attempt to move __pgtable_l5_enabled into __initdata
section.
It was required as KASAN initialization code is a user of
USE_EARLY_PGTABLE_L5, so all pgtable_l5_enabled() translated to
__pgtable_l5_enabled there. This includes pgtable_l5_enabled() called
from inline p4d helpers.
If compiler would decided to not inline these p4d helpers, but leave
them standalone, we end up with section mismatch.
We don't need __always_inline here anymore. __pgtable_l5_enabled moved
back to be __ro_after_init. See the following commit:
51be13351517 ("Revert "x86/mm: Mark __pgtable_l5_enabled __initdata"")
Signed-off-by: Kirill A. Shutemov <kirill.shutemov at linux.intel.com>
Cc: Arnd Bergmann <arnd at arndb.de>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Link: http://lkml.kernel.org/r/20180626100341.49910-1-kirill.shutemov@linux.intel.com
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit cfe19577047e74cdac5826adbdc2337d8437f8fb
Author: Kirill A. Shutemov <kirill.shutemov at linux.intel.com>
Date: Mon Jun 25 15:08:52 2018 +0300
x86/efi: Fix efi_call_phys_epilog() with CONFIG_X86_5LEVEL=y
Open-coded page table entry checks don't work correctly when we fold the
page table level at runtime.
pgd_present() on 4-level paging machine always returns true, but
open-coded version of the check may return false-negative result and
we silently skip the rest of the loop body in efi_call_phys_epilog().
Replace open-coded checks with proper helpers.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov at linux.intel.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
Cc: Andrey Ryabinin <aryabinin at virtuozzo.com>
Cc: Baoquan He <bhe at redhat.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Matt Fleming <matt at codeblueprint.co.uk>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: stable at vger.kernel.org # v4.12+
Fixes: 94133e46a0f5 ("x86/efi: Correct EFI identity mapping under 'efi=old_map' when KASLR is enabled")
Link: http://lkml.kernel.org/r/20180625120852.18300-1-kirill.shutemov@linux.intel.com
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit e8a445dea219c32727016af14f847d2e8f7ebec8
Author: Andy Lutomirski <luto at kernel.org>
Date: Tue Jun 26 22:17:18 2018 -0700
selftests/x86/sigreturn: Do minor cleanups
We have short names for the requested and resulting register values.
Use them instead of spelling out the whole register entry for each
case.
Signed-off-by: Andy Lutomirski <luto at kernel.org>
Cc: Borislav Petkov <bp at alien8.de>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Link: http://lkml.kernel.org/r/bb3bc1f923a2f6fe7912d22a1068fe29d6033d38.1530076529.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit ec348020566009d3da9b99f07c05814d13969c78
Author: Andy Lutomirski <luto at kernel.org>
Date: Tue Jun 26 22:17:17 2018 -0700
selftests/x86/sigreturn/64: Fix spurious failures on AMD CPUs
When I wrote the sigreturn test, I didn't realize that AMD's busted
IRET behavior was different from Intel's busted IRET behavior:
On AMD CPUs, the CPU leaks the high 32 bits of the kernel stack pointer
to certain userspace contexts. Gee, thanks. There's very little
the kernel can do about it. Modify the test so it passes.
Signed-off-by: Andy Lutomirski <luto at kernel.org>
Cc: Borislav Petkov <bp at alien8.de>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Link: http://lkml.kernel.org/r/86e7fd3564497f657de30a36da4505799eebef01.1530076529.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 22cd978e598618e82c3c3348d2069184f6884182
Author: Andy Lutomirski <luto at kernel.org>
Date: Tue Jun 26 22:45:52 2018 -0700
x86/entry/64/compat: Fix "x86/entry/64/compat: Preserve r8-r11 in int $0x80"
Commit:
8bb2610bc496 ("x86/entry/64/compat: Preserve r8-r11 in int $0x80")
was busted: my original patch had a minor conflict with
some of the nospec changes, but "git apply" is very clever
and silently accepted the patch by making the same changes
to a different function in the same file. There was obviously
a huge offset, but "git apply" for some reason doesn't feel
any need to say so.
Move the changes to the correct function. Now the
test_syscall_vdso_32 selftests passes.
If anyone cares to observe the original problem, try applying the
patch at:
https://lore.kernel.org/lkml/d4c4d9985fbe64f8c9e19291886453914b48caee.1523975710.git.luto@kernel.org/raw
to the kernel at 316d097c4cd4e7f2ef50c40cff2db266593c4ec4:
- "git am" and "git apply" accept the patch without any complaints at all
- "patch -p1" at least prints out a message about the huge offset.
Reported-by: zhijianx.li at intel.com
Signed-off-by: Andy Lutomirski <luto at kernel.org>
Cc: Arjan van de Ven <arjan at linux.intel.com>
Cc: Borislav Petkov <bp at alien8.de>
Cc: Dan Williams <dan.j.williams at intel.com>
Cc: Dave Hansen <dave.hansen at linux.intel.com>
Cc: David Woodhouse <dwmw2 at infradead.org>
Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Cc: Josh Poimboeuf <jpoimboe at redhat.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: stable at vger.kernel.org #v4.17+
Fixes: 8bb2610bc496 ("x86/entry/64/compat: Preserve r8-r11 in int $0x80")
Link: http://lkml.kernel.org/r/6012b922485401bc42676e804171ded262fc2ef2.1530078306.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 2d2595719a97c876f35b1e60e5768e58753b268c
Author: Chengguang Xu <cgxu519 at gmx.com>
Date: Tue Jun 26 09:16:31 2018 +0800
nfp: cast sizeof() to int when comparing with error code
sizeof() will return unsigned value so in the error check
negative error code will be always larger than sizeof().
Fixes: a0d8e02c35ff ("nfp: add support for reading nffw info")
Signed-off-by: Chengguang Xu <cgxu519 at gmx.com>
Acked-by: Jakub Kicinski <jakub.kicinski at netronome.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 22db552b50fa11d8c1d171de908a1f9ef62172b7
Author: Arnd Bergmann <arnd at arndb.de>
Date: Tue Jun 19 16:02:27 2018 +0200
powerpc/powermac: Fix rtc read/write functions
As Mathieu pointed out, my conversion to time64_t was incorrect and
resulted in negative times to be read from the RTC. The problem is
that during the conversion from a byte array to a time64_t, the
'unsigned char' variable holding the top byte gets turned into a
negative signed 32-bit integer before being assigned to the 64-bit
variable for any times after 1972.
This changes the logic to cast to an unsigned 32-bit number first for
the Macintosh time and then convert that to the Unix time, which then
gives us a time in the documented 1904..2040 year range. I decided not
to use the longer 1970..2106 range that other drivers use, for
consistency with the literal interpretation of the register, but that
could be easily changed if we decide we want to support any Mac after
2040.
Just to be on the safe side, I'm also adding a WARN_ON that will
trigger if either the year 2040 has come and is observed by this
driver, or we run into an RTC that got set back to a pre-1970 date for
some reason (the two are indistinguishable).
For the RTC write functions, Andreas found another problem: both
pmu_request() and cuda_request() are varargs functions, so changing
the type of the arguments passed into them from 32 bit to 64 bit
breaks the API for the set_rtc_time functions. This changes it back to
32 bits.
The same code exists in arch/m68k/ and is patched in an identical way
now in a separate patch.
Fixes: 5bfd643583b2 ("powerpc: use time64_t in read_persistent_clock")
Reported-by: Mathieu Malaterre <malat at debian.org>
Reported-by: Andreas Schwab <schwab at linux-m68k.org>
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Tested-by: Mathieu Malaterre <malat at debian.org>
Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
commit f3c2c5ebd4d9f7074f2a685ad06ab618ca1a6a78
Merge: 7c8f4e6dc309 951a8ee6def3
Author: David S. Miller <davem at davemloft.net>
Date: Wed Jun 27 10:46:43 2018 +0900
Merge branch 'nfp-MPLS-and-shared-blocks-TC-offload-fixes'
Jakub Kicinski says:
====================
nfp: MPLS and shared blocks TC offload fixes
This series brings two fixes to TC filter/action offload code.
Pieter fixes matching MPLS packets when the match is purely on
the MPLS ethertype and none of the MPLS fields are used.
John provides a fix for offload of shared blocks. Unfortunately,
with shared blocks there is currently no guarantee that filters
which were added by the core will be removed before block unbind.
Our simple fix is to not support offload of rules on shared blocks
at all, a revert of this fix will be send for -next once the
reoffload infrastructure lands. The shared blocks became important
as we are trying to use them for bonding offload (managed from user
space) and lack of remove calls leads to resource leaks.
v2:
- fix build error reported by kbuild bot due to missing
tcf_block_shared() helper.
====================
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 951a8ee6def39e25d0e60b9394e5a249ba8b2390
Author: John Hurley <john.hurley at netronome.com>
Date: Mon Jun 25 20:36:28 2018 -0700
nfp: reject binding to shared blocks
TC shared blocks allow multiple qdiscs to be grouped together and filters
shared between them. Currently the chains of filters attached to a block
are only flushed when the block is removed. If a qdisc is removed from a
block but the block still exists, flow del messages are not passed to the
callback registered for that qdisc. For the NFP, this presents the
possibility of rules still existing in hw when they should be removed.
Prevent binding to shared blocks until the kernel can send per qdisc del
messages when block unbinds occur.
tcf_block_shared() was not used outside of the core until now, so also
add an empty implementation for builds with CONFIG_NET_CLS=n.
Fixes: 4861738775d7 ("net: sched: introduce shared filter blocks infrastructure")
Signed-off-by: John Hurley <john.hurley at netronome.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski at netronome.com>
Reviewed-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit a64119415ff248efa61301783bc26551df5dabf6
Author: Pieter Jansen van Vuuren <pieter.jansenvanvuuren at netronome.com>
Date: Mon Jun 25 20:36:27 2018 -0700
nfp: flower: fix mpls ether type detection
Previously it was not possible to distinguish between mpls ether types and
other ether types. This leads to incorrect classification of offloaded
filters that match on mpls ether type. For example the following two
filters overlap:
# tc filter add dev eth0 parent ffff: \
protocol 0x8847 flower \
action mirred egress redirect dev eth1
# tc filter add dev eth0 parent ffff: \
protocol 0x0800 flower \
action mirred egress redirect dev eth2
The driver now correctly includes the mac_mpls layer where HW stores mpls
fields, when it detects an mpls ether type. It also sets the MPLS_Q bit to
indicate that the filter should match mpls packets.
Fixes: bb055c198d9b ("nfp: add mpls match offloading support")
Signed-off-by: Pieter Jansen van Vuuren <pieter.jansenvanvuuren at netronome.com>
Reviewed-by: Simon Horman <simon.horman at netronome.com>
Reviewed-by: Jakub Kicinski <jakub.kicinski at netronome.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 7c8f4e6dc30996bff806285730a0bb4e714d3d52
Author: Jason A. Donenfeld <Jason at zx2c4.com>
Date: Tue Jun 26 01:39:32 2018 +0200
fib_rules: match rules based on suppress_* properties too
Two rules with different values of suppress_prefix or suppress_ifgroup
are not the same. This fixes an -EEXIST when running:
$ ip -4 rule add table main suppress_prefixlength 0
Signed-off-by: Jason A. Donenfeld <Jason at zx2c4.com>
Fixes: f9d4b0c1e969 ("fib_rules: move common handling of newrule delrule msgs into fib_nl2rule")
Signed-off-by: David S. Miller <davem at davemloft.net>
commit c809195f5523dd4d09403bbb1c9732d548aa0d1e
Author: Sowmini Varadhan <sowmini.varadhan at oracle.com>
Date: Mon Jun 25 06:41:25 2018 -0700
rds: clean up loopback rds_connections on netns deletion
The RDS core module creates rds_connections based on callbacks
from rds_loop_transport when sending/receiving packets to local
addresses.
These connections will need to be cleaned up when they are
created from a netns that is not init_net, and that netns is deleted.
Add the changes aligned with the changes from
commit ebeeb1ad9b8a ("rds: tcp: use rds_destroy_pending() to synchronize
netns/module teardown and rds connection/workq management") for
rds_loop_transport
Reported-and-tested-by: syzbot+4c20b3866171ce8441d2 at syzkaller.appspotmail.com
Acked-by: Santosh Shilimkar <santosh.shilimkar at oracle.com>
Signed-off-by: Sowmini Varadhan <sowmini.varadhan at oracle.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 03ae3a9caf4a59edd32b65c89c375a98ce3ea1ef
Author: Dmitry Torokhov <dmitry.torokhov at gmail.com>
Date: Mon Jun 25 12:02:40 2018 -0700
Input: psmouse - fix button reporting for basic protocols
The commit ba667650c568 ("Input: psmouse - clean up code") was pretty
brain-dead and broke extra buttons reporting for variety of PS/2 mice:
Genius, Thinkmouse and Intellimouse Explorer. We need to actually inspect
the data coming from the device when reporting events.
Fixes: ba667650c568 ("Input: psmouse - clean up code")
Reported-by: Jiri Slaby <jslaby at suse.cz>
Cc: stable at vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>
commit d412c31dae053bf30a1bc15582a9990df297a660
Author: Alex Vesker <valex at mellanox.com>
Date: Tue Jun 12 16:14:31 2018 +0300
net/mlx5: Fix command interface race in polling mode
The command interface can work in two modes: Events and Polling.
In the general case, each time we invoke a command, a work is
queued to handle it.
When working in events, the interrupt handler completes the
command execution. On the other hand, when working in polling
mode, the work itself completes it.
Due to a bug in the work handler, a command could have been
completed by the interrupt handler, while the work handler
hasn't finished yet, causing the it to complete once again
if the command interface mode was changed from Events to
polling after the interrupt handler was called.
mlx5_unload_one()
mlx5_stop_eqs()
// Destroy the EQ before cmd EQ
...cmd_work_handler()
write_doorbell()
--> EVENT_TYPE_CMD
mlx5_cmd_comp_handler() // First free
free_ent(cmd, ent->idx)
complete(&ent->done)
<-- mlx5_stop_eqs //cmd was complete
// move to polling before destroying the last cmd EQ
mlx5_cmd_use_polling()
cmd->mode = POLL;
--> cmd_work_handler (continues)
if (cmd->mode == POLL)
mlx5_cmd_comp_handler() // Double free
The solution is to store the cmd->mode before writing the doorbell.
Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
Signed-off-by: Alex Vesker <valex at mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>
commit 603b7bcff824740500ddfa001d7a7168b0b38542
Author: Alex Vesker <valex at mellanox.com>
Date: Fri May 25 20:25:59 2018 +0300
net/mlx5: Fix incorrect raw command length parsing
The NULL character was not set correctly for the string containing
the command length, this caused failures reading the output of the
command due to a random length. The fix is to initialize the output
length string.
Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
Signed-off-by: Alex Vesker <valex at mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>
commit d14fcb8d877caf1b8d6bd65d444bf62b21f2070c
Author: Shay Agroskin <shayag at mellanox.com>
Date: Tue May 22 14:14:02 2018 +0300
net/mlx5: Fix wrong size allocation for QoS ETC TC regitster
The driver allocates wrong size (due to wrong struct name) when issuing
a query/set request to NIC's register.
Fixes: d8880795dabf ("net/mlx5e: Implement DCBNL IEEE max rate")
Signed-off-by: Shay Agroskin <shayag at mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>
commit f811980444ec59ad62f9e041adbb576a821132c7
Author: Eli Cohen <eli at mellanox.com>
Date: Wed Jun 13 10:27:34 2018 +0300
net/mlx5: Fix required capability for manipulating MPFS
Manipulating of the MPFS requires eswitch manager capabilities.
Fixes: eeb66cdb6826 ('net/mlx5: Separate between E-Switch and MPFS')
Signed-off-by: Eli Cohen <eli at mellanox.com>
Reviewed-by: Or Gerlitz <ogerlitz at mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>
commit a8d70a054a718b63058b3d3ac58b6181815e4289
Author: Eli Cohen <eli at mellanox.com>
Date: Thu May 31 12:24:48 2018 +0300
net/mlx5: E-Switch, Disallow vlan/spoofcheck setup if not being esw manager
In smartnic env, if the host (PF) driver is not an e-switch manager, we
are not allowed to apply eswitch ports setups such as vlan (VST),
spoof-checks, min/max rate or state.
Make sure we are eswitch manager when coming to issue these callbacks
and err otherwise.
Also fix the definition of ESW_ALLOWED to rely on eswitch_manager
capability and on the vport_group_manger.
Operations on the VF nic vport context, such as setting a mac or reading
the vport counters are allowed to the PF in this scheme.
The modify nic vport guid code was modified to omit checking the
nic_vport_node_guid_modify eswitch capability.
The reason for doing so is that modifying node guid requires vport group
manager capability, and there's no need to check further capabilities.
1. set_vf_vlan - disallowed
2. set_vf_spoofchk - disallowed
3. set_vf_mac - allowed
4. get_vf_config - allowed
5. set_vf_trust - disallowed
6. set_vf_rate - disallowed
7. get_vf_stat - allowed
8. set_vf_link_state - disallowed
Fixes: f942380c1239 ('net/mlx5: E-Switch, Vport ingress/egress ACLs rules for spoofchk')
Signed-off-by: Eli Cohen <eli at mellanox.com>
Reviewed-by: Or Gerlitz <ogerlitz at mellanox.com>
Tested-by: Or Gerlitz <ogerlitz at mellanox.com>
commit aff2252a2ad3844ca47bf2f18af071101baace40
Author: Or Gerlitz <ogerlitz at mellanox.com>
Date: Thu May 31 11:40:17 2018 +0300
IB/mlx5: Avoid dealing with vport representors if not being e-switch manager
In smartnic env, the host (PF) driver might not be an e-switch
manager, hence the switchdev mode representors are running on
the embedded cpu (EC) and not at the host.
As such, we should avoid dealing with vport representors if
not being esw manager.
Fixes: b5ca15ad7e61 ('IB/mlx5: Add proper representors support')
Signed-off-by: Or Gerlitz <ogerlitz at mellanox.com>
Reviewed-by: Eli Cohen <eli at mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>
commit 733d3e5497070d05971352ca5087bac83c197c3d
Author: Or Gerlitz <ogerlitz at mellanox.com>
Date: Thu May 31 11:32:56 2018 +0300
net/mlx5e: Avoid dealing with vport representors if not being e-switch manager
In smartnic env, the host (PF) driver might not be an e-switch
manager, hence the switchdev mode representors are running on
the embedded cpu (EC) and not at the host.
As such, we should avoid dealing with vport representors if
not being esw manager.
While here, make sure to disallow eswitch switchdev related
setups through devlink if we are not esw managers.
Fixes: cb67b832921c ('net/mlx5e: Introduce SRIOV VF representors')
Signed-off-by: Or Gerlitz <ogerlitz at mellanox.com>
Reviewed-by: Eli Cohen <eli at mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>
commit 0efc8562491b7d36f6bbc4fbc8f3348cb6641e9c
Author: Or Gerlitz <ogerlitz at mellanox.com>
Date: Thu May 31 11:16:18 2018 +0300
net/mlx5: E-Switch, Avoid setup attempt if not being e-switch manager
In smartnic env, the host (PF) driver might not be an e-switch
manager, hence the FW will err on driver attempts to deal with
setting/unsetting the eswitch and as a result the overall setup
of sriov will fail.
Fix that by avoiding the operation if e-switch management is not
allowed for this driver instance. While here, move to use the
correct name for the esw manager capability name.
Fixes: 81848731ff40 ('net/mlx5: E-Switch, Add SR-IOV (FDB) support')
Signed-off-by: Or Gerlitz <ogerlitz at mellanox.com>
Reported-by: Guy Kushnir <guyk at mellanox.com>
Reviewed-by: Eli Cohen <eli at melloanox.com>
Tested-by: Eli Cohen <eli at melloanox.com>
Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>
commit 8ffd569aaa818f2624ca821d9a246342fa8b8c50
Author: Or Gerlitz <ogerlitz at mellanox.com>
Date: Mon Jun 4 19:46:53 2018 +0300
net/mlx5e: Don't attempt to dereference the ppriv struct if not being eswitch manager
The check for cpu hit statistics was not returning immediate false for
any non vport rep netdev and hence we crashed (say on mlx5 probed VFs) if
user-space tool was calling into any possible netdev in the system.
Fix that by doing a proper check before dereferencing.
Fixes: 1d447a39142e ('net/mlx5e: Extendable vport representor netdev private data')
Signed-off-by: Or Gerlitz <ogerlitz at mellanox.com>
Reported-by: Eli Cohen <eli at melloanox.com>
Reviewed-by: Eli Cohen <eli at melloanox.com>
Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>
commit 925d31668d5b6c9849c50167f31f9b5cf9eec892
Author: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
Date: Tue Jun 19 12:21:05 2018 +0100
PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
Commit 51bc085d6454 ("PCI: Improve host drivers compile test coverage")
added configuration options to allow PCI host controller drivers to be
compile tested on all architectures.
Some host controller drivers (eg PCIE_ALTERA) config entries select the
PCI_DOMAINS config option to enable PCI domains management in the kernel.
Now that host controller drivers can be compiled on all architectures, this
triggers build regressions on arches that do not implement the PCI_DOMAINS
required API (ie pci_domain_nr()):
drivers/ata/pata_ali.c: In function 'ali_init_chipset':
drivers/ata/pata_ali.c:469:38: error: implicit declaration of function 'pci_domain_nr'; did you mean 'pci_iomap_wc'?
Furthemore, some software configurations (ie Jailhouse) require a
PCI_DOMAINS enabled kernel to configure multiple host controllers without
having an explicit dependency on the ARM platform on which they run.
Make PCI_DOMAINS a visible configuration option on ARM so that software
configurations that need it can manually select it and move the PCI_DOMAINS
selection from PCI controllers configuration file to ARM sub-arch config
entries that currently require it, fixing the issue.
Fixes: 51bc085d6454 ("PCI: Improve host drivers compile test coverage")
Link: https://lkml.kernel.org/r/20180612170229.GA10141@roeck-us.net
Reported-by: Guenter Roeck <linux at roeck-us.net>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
Signed-off-by: Bjorn Helgaas <helgaas at kernel.org>
Acked-by: Jan Kiszka <jan.kiszka at siemens.com>
Acked-by: Ley Foon Tan <ley.foon.tan at intel.com>
Acked-by: Rob Herring <robh at kernel.org>
Cc: Scott Branden <scott.branden at broadcom.com>
Cc: Will Deacon <will.deacon at arm.com>
Cc: Russell King <linux at armlinux.org.uk>
Cc: Guenter Roeck <linux at roeck-us.net>
commit 68bb22e9d561ad7c20274eee92058048ac689b98
Author: Alan Douglas <adouglas at cadence.com>
Date: Fri Jun 22 17:17:17 2018 +0100
PCI: Initialize endpoint library before controllers
The endpoint library must be initialized before its users, which are in
drivers/pci/controllers. The endpoint initialization currently depends on
link order.
This corrects a kernel crash when loading the Cadence EP driver, since it
calls devm_pci_epc_create() and this is only valid once the endpoint
library has been initialized.
Fixes: 6e0832fa432e ("PCI: Collect all native drivers under drivers/pci/controller/")
Signed-off-by: Alan Douglas <adouglas at cadence.com>
Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
commit 15bfd21fbc5d35834b9ea383dc458a1f0c9e3434
Author: Keith Busch <keith.busch at intel.com>
Date: Tue Jun 26 09:14:58 2018 -0600
block: Fix transfer when chunk sectors exceeds max
A device may have boundary restrictions where the number of sectors
between boundaries exceeds its max transfer size. In this case, we need
to cap the max size to the smaller of the two limits.
Reported-by: Jitendra Bhivare <jitendra.bhivare at broadcom.com>
Tested-by: Jitendra Bhivare <jitendra.bhivare at broadcom.com>
Cc: <stable at vger.kernel.org>
Reviewed-by: Martin K. Petersen <martin.petersen at oracle.com>
Signed-off-by: Keith Busch <keith.busch at intel.com>
Signed-off-by: Jens Axboe <axboe at kernel.dk>
commit fd28b4b5fb811cb39b6dc77e3e63169dbf4819b9
Merge: 975ba94c2c3a 0ea3fa15b127
Author: Olof Johansson <olof at lixom.net>
Date: Tue Jun 26 10:42:31 2018 -0700
Merge tag 'qcom-fixes-for-4.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into fixes
Qualcomm Fixes for v4.18-rc2
* Fix compiler warnings for cmd-db driver
* tag 'qcom-fixes-for-4.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
qcom: cmd-db: enforce CONFIG_OF_RESERVED_MEM dependency
Signed-off-by: Olof Johansson <olof at lixom.net>
commit 975ba94c2c3aca4d9f1ae26f3916d7787495ce86
Author: Thor Thayer <thor.thayer at linux.intel.com>
Date: Fri Jun 22 13:37:34 2018 -0500
ARM: dts: Fix SPI node for Arria10
Remove the unused bus-num node and change num-chipselect
to num-cs to match SPI bindings.
Cc: stable at vger.kernel.org
Fixes: f2d6f8f817814 ("ARM: dts: socfpga: Add SPI Master1 for Arria10 SR chip")
Signed-off-by: Thor Thayer <thor.thayer at linux.intel.com>
Signed-off-by: Dinh Nguyen <dinguyen at kernel.org>
Signed-off-by: Olof Johansson <olof at lixom.net>
commit 4595299c5eaebbec0ca5822214ad1925a10b3876
Author: Thor Thayer <thor.thayer at linux.intel.com>
Date: Fri Jun 22 13:35:38 2018 -0500
arm64: dts: stratix10: Fix SPI nodes for Stratix10
Remove the unused bus-num node and change num-chipselect
to num-cs to match SPI bindings.
Cc: stable at vger.kernel.org
Fixes: 78cd6a9d8e154 ("arm64: dts: Add base stratix 10 dtsi")
Signed-off-by: Thor Thayer <thor.thayer at linux.intel.com>
Signed-off-by: Dinh Nguyen <dinguyen at kernel.org>
Signed-off-by: Olof Johansson <olof at lixom.net>
commit 26b5b874aff5659a7e26e5b1997e3df2c41fa7fd
Author: Jann Horn <jannh at google.com>
Date: Mon Jun 25 16:25:44 2018 +0200
scsi: sg: mitigate read/write abuse
As Al Viro noted in commit 128394eff343 ("sg_write()/bsg_write() is not fit
to be called under KERNEL_DS"), sg improperly accesses userspace memory
outside the provided buffer, permitting kernel memory corruption via
splice(). But it doesn't just do it on ->write(), also on ->read().
As a band-aid, make sure that the ->read() and ->write() handlers can not
be called in weird contexts (kernel context or credentials different from
file opener), like for ib_safe_file_access().
If someone needs to use these interfaces from different security contexts,
a new interface should be written that goes through the ->ioctl() handler.
I've mostly copypasted ib_safe_file_access() over as sg_safe_file_access()
because I couldn't find a good common header - please tell me if you know a
better way.
[mkp: s/_safe_/_check_/]
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: <stable at vger.kernel.org>
Signed-off-by: Jann Horn <jannh at google.com>
Acked-by: Douglas Gilbert <dgilbert at interlog.com>
Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
commit 3619dec5103dd999a777e3e4ea08c8f40a6ddc57
Author: Eric Biggers <ebiggers at google.com>
Date: Tue Jun 26 16:59:46 2018 +0100
dh key: fix rounding up KDF output length
Commit 383203eff718 ("dh key: get rid of stack allocated array") changed
kdf_ctr() to assume that the length of key material to derive is a
multiple of the digest size. The length was supposed to be rounded up
accordingly. However, the round_up() macro was used which only gives
the correct result on power-of-2 arguments, whereas not all hash
algorithms have power-of-2 digest sizes. In some cases this resulted in
a write past the end of the 'outbuf' buffer.
Fix it by switching to roundup(), which works for non-power-of-2 inputs.
Reported-by: syzbot+486f97f892efeb2075a3 at syzkaller.appspotmail.com
Reported-by: syzbot+29d17b7898b41ee120a5 at syzkaller.appspotmail.com
Reported-by: syzbot+8a608baf8751184ec727 at syzkaller.appspotmail.com
Reported-by: syzbot+d04e58bd384f1fe0b112 at syzkaller.appspotmail.com
Fixes: 383203eff718 ("dh key: get rid of stack allocated array")
Signed-off-by: Eric Biggers <ebiggers at google.com>
Acked-by: Kees Cook <keescook at chromium.org>
Acked-by: Tycho Andersen <tycho at tycho.ws>
Signed-off-by: James Morris <james.morris at microsoft.com>
commit 2e20ce4a66b798671c60198ea2547d5e090dd991
Author: Nick Desaulniers <nick.desaulniers at gmail.com>
Date: Tue Jun 26 16:59:40 2018 +0100
certs/blacklist: fix const confusion
Fixes commit 2be04df5668d ("certs/blacklist_nohashes.c: fix const confusion
in certs blacklist")
Signed-off-by: Nick Desaulniers <nick.desaulniers at gmail.com>
Signed-off-by: David Howells <dhowells at redhat.com>
Signed-off-by: James Morris <james.morris at microsoft.com>
commit 8b8f53af1ed9df88a4c0fbfdf3db58f62060edf3
Author: Yan, Zheng <zyan at redhat.com>
Date: Tue Jun 19 18:20:34 2018 +0800
ceph: fix dentry leak in splice_dentry()
In any case, d_splice_alias() does not drop reference of original
dentry.
Signed-off-by: "Yan, Zheng" <zyan at redhat.com>
Reviewed-by: Jeff Layton <jlayton at redhat.com>
Signed-off-by: Ilya Dryomov <idryomov at gmail.com>
commit b36e4523d4d56e2595e28f16f6ccf1cd6a9fc452
Author: Florian Westphal <fw at strlen.de>
Date: Wed Jun 20 23:32:26 2018 +0200
netfilter: nf_conncount: fix garbage collection confirm race
Yi-Hung Wei and Justin Pettit found a race in the garbage collection scheme
used by nf_conncount.
When doing list walk, we lookup the tuple in the conntrack table.
If the lookup fails we remove this tuple from our list because
the conntrack entry is gone.
This is the common cause, but turns out its not the only one.
The list entry could have been created just before by another cpu, i.e. the
conntrack entry might not yet have been inserted into the global hash.
The avoid this, we introduce a timestamp and the owning cpu.
If the entry appears to be stale, evict only if:
1. The current cpu is the one that added the entry, or,
2. The timestamp is older than two jiffies
The second constraint allows GC to be taken over by other
cpu too (e.g. because a cpu was offlined or napi got moved to another
cpu).
We can't pretend the 'doubtful' entry wasn't in our list.
Instead, when we don't find an entry indicate via IS_ERR
that entry was removed ('did not exist' or withheld
('might-be-unconfirmed').
This most likely also fixes a xt_connlimit imbalance earlier reported by
Dmitry Andrianov.
Cc: Dmitry Andrianov <dmitry.andrianov at alertme.com>
Reported-by: Justin Pettit <jpettit at vmware.com>
Reported-by: Yi-Hung Wei <yihung.wei at gmail.com>
Signed-off-by: Florian Westphal <fw at strlen.de>
Acked-by: Yi-Hung Wei <yihung.wei at gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>
commit 59b433c825569ce251371485f0e29fca888b549d
Author: Raghava Aditya Renukunta <RaghavaAditya.Renukunta at microsemi.com>
Date: Fri Jun 22 06:55:47 2018 -0700
scsi: aacraid: Fix PD performance regression over incorrect qd being set
The driver fails to set the correct queue depth for native devices, due to
failing to set the device type prior to calling aac_set_safw_target_qd().
This results in slave configure setting the queue depth to 1.
This causes around 30% performance degradation. Fixed by setting the dev
type before trying to set queue depth.
Reported-by: Steve Best <sbest at redhat.com>
Fixes: 0bcb45fb20c21 ("scsi: aacraid: Add helper function to set queue depth")
cc: stable at vger.kernel.org
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta at microsemi.com>
Reviewed-by: David Carroll <David.Carroll at microsemi.com>
Reviewed-by: Ewan D. Milne <emilne at redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
commit 813835028e9ae1f18cd11bb0ec591d0f0577d96a
Merge: 84bfed40fc25 b65c32ec5a94
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Tue Jun 26 08:44:15 2018 -0700
Merge branch 'fixes-v4.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
Pull security subsystem fixes from James Morris:
- Smack: fix a regression caused by 1bbc55131e5
- X.509: fix a (usually un-seen) bug in RSA signature parsing
* 'fixes-v4.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
X.509: unpack RSA signatureValue field from BIT STRING
Smack: Mark inode instant in smack_task_to_inode
commit 84bfed40fc25dd052620398fdcc19d8c77f02270
Merge: 6f0d349d922b c5b4a50b7401
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Tue Jun 26 08:41:54 2018 -0700
Merge tag 'for-4.18-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
Pull btrfs fixes from David Sterba:
"Two regression fixes and an incorrect error value propagation fix from
'rename exchange'"
* tag 'for-4.18-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
Btrfs: fix return value on rename exchange failure
btrfs: fix invalid-free in btrfs_extent_same
Btrfs: fix physical offset reported by fiemap for inline extents
commit ce00bf07cc95a57cd20b208e02b3c2604e532ae8
Author: Jann Horn <jannh at google.com>
Date: Mon Jun 25 17:22:00 2018 +0200
netfilter: nf_log: don't hold nf_log_mutex during user access
The old code would indefinitely block other users of nf_log_mutex if
a userspace access in proc_dostring() blocked e.g. due to a userfaultfd
region. Fix it by moving proc_dostring() out of the locked region.
This is a followup to commit 266d07cb1c9a ("netfilter: nf_log: fix
sleeping function called from invalid context"), which changed this code
from using rcu_read_lock() to taking nf_log_mutex.
Fixes: 266d07cb1c9a ("netfilter: nf_log: fix sleeping function calle[...]")
Signed-off-by: Jann Horn <jannh at google.com>
Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>
commit dffd22aed2aa1e804bccf19b30a421e89ee2ae61
Author: Jann Horn <jannh at google.com>
Date: Wed Jun 20 18:33:45 2018 +0200
netfilter: nf_log: fix uninit read in nf_log_proc_dostring
When proc_dostring() is called with a non-zero offset in strict mode, it
doesn't just write to the ->data buffer, it also reads. Make sure it
doesn't read uninitialized data.
Fixes: c6ac37d8d884 ("netfilter: nf_log: fix error on write NONE to [...]")
Signed-off-by: Jann Horn <jannh at google.com>
Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>
commit 1b6fe9798af8cb7d80fad5dd30ee1bcd1e0f51eb
Author: Adam Ford <aford173 at gmail.com>
Date: Thu May 17 20:20:52 2018 -0500
ARM: davinci: board-da850-evm: fix WP pin polarity for MMC/SD
When booting from MMC/SD in rw mode on DA850 EVM, the system
crashes because the write protect pin should be active high
and not active low. This patch fixes the polarity of the WP pin.
Fixes: bdf0e8364fd3 ("ARM: davinci: da850-evm: use gpio descriptor for mmc pins")
Signed-off-by: Adam Ford <aford173 at gmail.com>
Signed-off-by: Sekhar Nori <nsekhar at ti.com>
commit 094bdaddf129417ee5e5d885d2fe76a5adfada0f
Merge: 0ee1f4734967 9343ac87f2a4
Author: David S. Miller <davem at davemloft.net>
Date: Tue Jun 26 22:53:29 2018 +0900
Merge branch 'lan78xx-minor-fixes'
Dave Stevenson says:
====================
lan78xx minor fixes
This is a small set of patches for the Microchip LAN78xx chip,
as used in the Raspberry Pi 3B+.
The main debug/discussion was on
https://github.com/raspberrypi/linux/issues/2458
Initial symptoms were that VLANs were very unreliable.
A couple of things were found:
- firstly that the hardware timeout value set failed to
take into account the VLAN tag, so a full MTU packet
would be timed out.
- second was that regular checksum failures were being
reported. Disabling checksum offload confirmed that
the checksums were valid, and further experimentation
identified that it was only if the VLAN tags were being
passed through to the kernel that there were issues.
The hardware supports VLAN filtering and tag stripping,
therefore those have been implemented (much of the work
was already done), and the driver drops back to s/w
checksums should the choice be made not to use the h/w
VLAN stripping.
====================
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 9343ac87f2a4e09bf6e27b5f31e72e9e3a82abff
Author: Dave Stevenson <dave.stevenson at raspberrypi.org>
Date: Mon Jun 25 15:07:15 2018 +0100
net: lan78xx: Use s/w csum check on VLANs without tag stripping
Observations of VLANs dropping packets due to invalid
checksums when not offloading VLAN tag receive.
With VLAN tag stripping enabled no issue is observed.
Drop back to s/w checksums if VLAN offload is disabled.
Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit ec21ecf0aad27956dc64475e5acd78f3575df462
Author: Dave Stevenson <dave.stevenson at raspberrypi.org>
Date: Mon Jun 25 15:07:14 2018 +0100
net: lan78xx: Add support for VLAN tag stripping.
The chip supports stripping the VLAN tag and reporting it
in metadata.
Complete the support for this.
Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 4a27327b156e1e543c839a9358ba885564729ae7
Author: Dave Stevenson <dave.stevenson at raspberrypi.org>
Date: Mon Jun 25 15:07:13 2018 +0100
net: lan78xx: Add support for VLAN filtering.
HW_VLAN_CTAG_FILTER was partially implemented, but not advertised
to Linux.
Complete the implementation of this.
Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 2259b7a64d71f27311a19fd7a5bed47413d75985
Author: Dave Stevenson <dave.stevenson at raspberrypi.org>
Date: Mon Jun 25 15:07:12 2018 +0100
net: lan78xx: Allow for VLAN headers in timeout calcs
The frame abort timeout being set by lan78xx_set_rx_max_frame_length
didn't account for any VLAN headers, resulting in very low
throughput if used with tagged VLANs.
Use VLAN_ETH_HLEN instead of ETH_HLEN to correct for this.
Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 941c06d58503b9f2718b20bc45ee7f1d701a1e1e
Author: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>
Date: Mon Jun 25 13:45:09 2018 +0530
powerpc/mm/32: Fix pgtable_page_dtor call
Commit 667416f38554 ("powerpc/mm: Fix kernel crash on page table free")
added a call for pgtable_page_dtor in the rcu page table free routine. We missed
the fact that for 32 bit platforms we did call the 'dtor' early. Drop the extra
call for pgtable_page_dtor. We remove the call from __pte_free_tlb so that we
do the page table free and 'dtor' call together. This should help when we
switch these platforms to pte fragments.
Fixes: 667416f38554 ("powerpc/mm: Fix kernel crash on page table free")
Reported-by: Christophe Leroy <christophe.leroy at c-s.fr>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
commit 6f6f42466d902c92f21b46a45e6af22d1d663607
Author: Bjorn Helgaas <bhelgaas at google.com>
Date: Mon Jun 25 08:17:33 2018 -0500
PCI: shpchp: Manage SHPC unconditionally on non-ACPI systems
An SHPC can be operated either by platform firmware or by the OS. The OS
uses a host bridge ACPI _OSC method to negotiate for control of SHPC. If
firmware wants to prevent an OS from operating an SHPC, it must supply an
_OSC method that declines to grant SHPC ownership to the OS.
If acpi_pci_find_root() returns NULL, it means there's no ACPI host bridge
device (PNP0A03 or PNP0A08) and hence no _OSC method, so the OS is always
allowed to manage the SHPC.
Fix a NULL pointer dereference when CONFIG_ACPI=y but the current
hardware/firmware platform doesn't support ACPI. In that case,
acpi_get_hp_hw_control_from_firmware() is implemented but
acpi_pci_find_root() returns NULL.
Fixes: 90cc0c3cc709 ("PCI: shpchp: Add shpchp_is_native()")
Link: https://lkml.kernel.org/r/20180621164715.28160-1-marc.zyngier@arm.com
Reported-by: Marc Zyngier <marc.zyngier at arm.com>
Tested-by: Marc Zyngier <marc.zyngier at arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
Reviewed-by: Mika Westerberg <mika.westerberg at linux.intel.com>
commit dd349c3ffd93d15d01f4f5ace73870ca45ea249d
Author: Jeffrin Jose T <ahiliation at gmail.com>
Date: Sat Jun 23 03:10:32 2018 +0530
selftests: bpf: notification about privilege required to run test_lwt_seg6local.sh testing script
This test needs root privilege for it's successful execution.
This patch is atleast used to notify the user about the privilege
the script demands for the smooth execution of the test.
Signed-off-by: Jeffrin Jose T (Rajagiri SET) <ahiliation at gmail.com>
Acked-by: Song Liu <songliubraving at fb.com>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit b0e4b8bcd48bde31690f066044767475b2e4852b
Author: Jeffrin Jose T <ahiliation at gmail.com>
Date: Sat Jun 23 00:24:17 2018 +0530
selftests: bpf: notification about privilege required to run test_lirc_mode2.sh testing script
The test_lirc_mode2.sh script require root privilege for the successful
execution of the test.
This patch is to notify the user about the privilege the script
demands for the successful execution of the test.
Signed-off-by: Jeffrin Jose T (Rajagiri SET) <ahiliation at gmail.com>
Acked-by: Song Liu <songliubraving at fb.com>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit 5fadfc61934a33d362ca47c7f70786105d5681c1
Author: Anders Roxell <anders.roxell at linaro.org>
Date: Mon Jun 25 16:56:05 2018 +0200
selftests: bpf: add missing NET_SCHED to config
CONFIG_NET_SCHED wasn't enabled in arm64's defconfig only for x86.
So bpf/test_tunnel.sh tests fails with:
RTNETLINK answers: Operation not supported
RTNETLINK answers: Operation not supported
We have an error talking to the kernel, -1
Enable NET_SCHED and more tests pass.
Fixes: 3bce593ac06b ("selftests: bpf: config: add config fragments")
Signed-off-by: Anders Roxell <anders.roxell at linaro.org>
Acked-by: Song Liu <songliubraving at fb.com>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit fdb5c4531c1e0e50e609df83f736b6f3a02896e2
Author: Sean Young <sean at mess.org>
Date: Tue Jun 19 00:04:24 2018 +0100
bpf: fix attach type BPF_LIRC_MODE2 dependency wrt CONFIG_CGROUP_BPF
If the kernel is compiled with CONFIG_CGROUP_BPF not enabled, it is not
possible to attach, detach or query IR BPF programs to /dev/lircN devices,
making them impossible to use. For embedded devices, it should be possible
to use IR decoding without cgroups or CONFIG_CGROUP_BPF enabled.
This change requires some refactoring, since bpf_prog_{attach,detach,query}
functions are now always compiled, but their code paths for cgroups need
moving out. Rather than a #ifdef CONFIG_CGROUP_BPF in kernel/bpf/syscall.c,
moving them to kernel/bpf/cgroup.c and kernel/bpf/sockmap.c does not
require #ifdefs since that is already conditionally compiled.
Fixes: f4364dcfc86d ("media: rc: introduce BPF_PROG_LIRC_MODE2")
Signed-off-by: Sean Young <sean at mess.org>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit 0ee1f4734967af8321ecebaf9c74221ace34f2d5
Author: Jiri Slaby <jslaby at suse.cz>
Date: Mon Jun 25 09:26:27 2018 +0200
r8152: napi hangup fix after disconnect
When unplugging an r8152 adapter while the interface is UP, the NIC
becomes unusable. usb->disconnect (aka rtl8152_disconnect) deletes
napi. Then, rtl8152_disconnect calls unregister_netdev and that invokes
netdev->ndo_stop (aka rtl8152_close). rtl8152_close tries to
napi_disable, but the napi is already deleted by disconnect above. So
the first while loop in napi_disable never finishes. This results in
complete deadlock of the network layer as there is rtnl_mutex held by
unregister_netdev.
So avoid the call to napi_disable in rtl8152_close when the device is
already gone.
The other calls to usb_kill_urb, cancel_delayed_work_sync,
netif_stop_queue etc. seem to be fine. The urb and netdev is not
destroyed yet.
Signed-off-by: Jiri Slaby <jslaby at suse.cz>
Cc: linux-usb at vger.kernel.org
Cc: netdev at vger.kernel.org
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 0e311d237d7f3022b7dafb639b42541bfb42fe94
Author: Andrey Ryabinin <aryabinin at virtuozzo.com>
Date: Mon Jun 25 13:24:27 2018 +0300
x86/mm: Don't free P4D table when it is folded at runtime
When the P4D page table layer is folded at runtime, the p4d_free()
should do nothing, the same as in <asm-generic/pgtable-nop4d.h>.
It seems this bug should cause double-free in efi_call_phys_epilog(),
but I don't know how to trigger that code path, so I can't confirm that
by testing.
Signed-off-by: Andrey Ryabinin <aryabinin at virtuozzo.com>
Reviewed-by: Kirill A. Shutemov <kirill.shutemov at linux.intel.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: stable at vger.kernel.org # 4.17
Fixes: 98219dda2ab5 ("x86/mm: Fold p4d page table layer at runtime")
Link: http://lkml.kernel.org/r/20180625102427.15015-1-aryabinin@virtuozzo.com
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 236f0cd286b67291796362feeac4f342900cfa82
Author: Jan Beulich <JBeulich at suse.com>
Date: Mon Jun 25 04:21:59 2018 -0600
x86/entry/32: Add explicit 'l' instruction suffix
Omitting suffixes from instructions in AT&T mode is bad practice when
operand size cannot be determined by the assembler from register
operands, and is likely going to be warned about by upstream GAS in the
future (mine does already).
Add the single missing 'l' suffix here.
Signed-off-by: Jan Beulich <jbeulich at suse.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Andy Lutomirski <luto at kernel.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Link: http://lkml.kernel.org/r/5B30C24702000078001CD6A6@prv1-mh.provo.novell.com
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 4188f063e3694ccbf2a2044cf17cc325f91e458f
Author: Dmitry Vyukov <dvyukov at google.com>
Date: Mon Jun 25 14:38:08 2018 +0200
x86/mm: Get rid of KERN_CONT in show_fault_oops()
KERN_CONT leads to split lines in kernel output
and complicates useful changes to printk like
printing context before each line.
Only acceptable use of continuations is basically
boot-time testing.
Get rid of it.
Signed-off-by: Dmitry Vyukov <dvyukov at google.com>
Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky at gmail.com>
Cc: Andy Lutomirski <luto at kernel.org>
Cc: Borislav Petkov <bp at alien8.de>
Cc: Brian Gerst <brgerst at gmail.com>
Cc: Denys Vlasenko <dvlasenk at redhat.com>
Cc: H. Peter Anvin <hpa at zytor.com>
Cc: Josh Poimboeuf <jpoimboe at redhat.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Link: http://lkml.kernel.org/r/20180625123808.227417-1-dvyukov@gmail.com
[ Removed unnecessary parentheses and prettified the printk statement. ]
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 32fdbd90cc03f01d452138bab4d8a120873d6acf
Author: Ingo Molnar <mingo at kernel.org>
Date: Tue Jun 26 08:43:14 2018 +0200
tools/headers: Pick up latest kernel ABIs
Sync KVM ABI additions and x86 CPU features additions - neither of which
has any impact on the tooling build.
Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Namhyung Kim <namhyung at kernel.org>
Cc: Jiri Olsa <jolsa at redhat.com>
Cc: linux-kernel at vger.kernel.org
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 79598041079827a22b33dd3edcb0dd827b70e204
Merge: 6f0d349d922b 92ead7ee30c8
Author: Ingo Molnar <mingo at kernel.org>
Date: Tue Jun 26 08:37:57 2018 +0200
Merge tag 'perf-urgent-for-mingo-4.18-20180625' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
perf bench: (Jiri Olsa):
- Fix NUMA report output code handling of less than 1s runtimes.
perf script: (Ravi Bangoria)
- Add missing output fields in a 'perf script -h' hint.
- Fix crash because of missing evsel->priv.
- Fix crash caused by accessing feat_ops[HEADER_LAST_FEATURE], which
is just a end of features header marker.
perf stat: (Thomas Richter)
- Remove duplicate event counting
perf test:
- Wire parsing error handling in 'parse events' test (Jiri Olsa)
- Fix 'session topology' test on s/390 (Thomas Richter)
eBPF: (Yonghong Song)
- Fix a clang 7.0 compilation error when building perf linking
with libclang
intel-pt: (Adrian Hunter)
- Fix packet decoding of CYC packets.
Copies of kernel files: (Arnaldo Carvalho de Melo)
- Synchronize drm/drm.h UAPI
- Update x86's syscall_64.tbl, adding support for 'io_pgetevents' and 'rseq'
in 'perf trace'.
- Update powerpc uapi/asm/unistd.h, adding support for the 'rseq' syscall.
- Update if_link.h and bpf.h, no effect on tool features.
PowerPC: (Sandipan Das)
- Fix crash if callchain is empty.
s/390: (Thomas Richter)
- Support random socked_id assignment in the perf header.
- Support s390 random socket_id assignment in perf.data file.
- Make PMU alias definitions taken from sysfs and JSON files comparable
by normalizing them wrt spaces and newlines.
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
Signed-off-by: Ingo Molnar <mingo at kernel.org>
commit 7733e05b34f5d855c5590d816b41ddfee972d188
Author: Gerd Hoffmann <kraxel at redhat.com>
Date: Mon Jun 25 08:44:52 2018 +0200
sample/mdev/mbochs: add mbochs_kunmap_dmabuf
There is no default implementation for dma_buf_ops->unmap.
So add a function unmapping the page, otherwise we'll leak them.
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
Signed-off-by: Alex Williamson <alex.williamson at redhat.com>
commit 2203d8a76ea3b962559acfe3bb80eddfdfbc9cee
Author: Gerd Hoffmann <kraxel at redhat.com>
Date: Mon Jun 25 08:44:51 2018 +0200
sample/mdev/mbochs: remove mbochs_kmap_atomic_dmabuf
Atomic mapping interface for dmabufs will be removed.
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
Signed-off-by: Alex Williamson <alex.williamson at redhat.com>
commit 0ea3fa15b12739c5455cd5850ada4e9948171213
Author: Arnd Bergmann <arnd at arndb.de>
Date: Fri May 25 18:08:24 2018 +0200
qcom: cmd-db: enforce CONFIG_OF_RESERVED_MEM dependency
Without CONFIG_OF_RESERVED_MEM, gcc sees that the global cmd_db_header
variable is never initialized, and through code optimization concludes
that a lot of other code cannot possibly work after that:
drivers/soc/qcom/cmd-db.c: In function 'cmd_db_read_addr':
drivers/soc/qcom/cmd-db.c:197:21: error: 'ent.addr' may be used uninitialized in this function [-Werror=maybe-uninitialized]
return ret < 0 ? 0 : le32_to_cpu(ent.addr);
drivers/soc/qcom/cmd-db.c: In function 'cmd_db_read_aux_data':
drivers/soc/qcom/cmd-db.c:224:10: error: 'ent.len' may be used uninitialized in this function [-Werror=maybe-uninitialized]
ent_len = le16_to_cpu(ent.len);
drivers/soc/qcom/cmd-db.c:115:6: error: 'rsc_hdr.data_offset' may be used uninitialized in this function [-Werror=maybe-uninitialized]
u16 offset = le16_to_cpu(hdr->data_offset);
^~~~~~
drivers/soc/qcom/cmd-db.c:116:6: error: 'ent.offset' may be used uninitialized in this function [-Werror=maybe-uninitialized]
u16 loffset = le16_to_cpu(ent->offset);
^~~~~~~
drivers/soc/qcom/cmd-db.c: In function 'cmd_db_read_aux_data_len':
drivers/soc/qcom/cmd-db.c:250:38: error: 'ent.len' may be used uninitialized in this function [-Werror=maybe-uninitialized]
return ret < 0 ? 0 : le16_to_cpu(ent.len);
^
drivers/soc/qcom/cmd-db.c: In function 'cmd_db_read_slave_id':
drivers/soc/qcom/cmd-db.c:272:7: error: 'ent.addr' may be used uninitialized in this function [-Werror=maybe-uninitialized]
Using a hard CONFIG_OF_RESERVED_MEM dependency avoids this warning,
and we can remove the CONFIG_OF dependency.
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Reviewed-by: Bjorn Andersson <bjorn.andersson at linaro.org>
Signed-off-by: Andy Gross <andy.gross at linaro.org>
commit 9573ce74d3bc797758cbd55194aae1b7248f2503
Merge: ce397d215ccd 6b4154a655a2
Author: Andy Gross <andy.gross at linaro.org>
Date: Mon Jun 25 23:53:28 2018 -0500
Merge tag 'qcom-fixes-for-4.18-rc1' into linus
Qualcomm Fixes for v4.18-rc1
* Fix coresight graph on msm8916
* Disable uart0 on db820c by default
commit 90f26cc6bb90b35040f4da0347f480ea9df6e2fc
Author: Peter Chen <peter.chen at nxp.com>
Date: Wed Jun 6 09:43:27 2018 +0800
usb: chipidea: host: fix disconnection detect issue
The commit 4e88d4c08301 ("usb: add a flag to skip PHY
initialization to struct usb_hcd") delete the assignment
for hcd->usb_phy, it causes usb_phy_notify_connect{disconnect)
are not called, the USB PHY driver is not notified of hot plug
event, then the disconnection will not be detected by hardware.
Fixes: 4e88d4c08301 ("usb: add a flag to skip PHY initialization
to struct usb_hcd")
Acked-by: Martin Blumenstingl <martin.blumenstingl at googlemail.com>
Reported-by: Mats Karrman <mats.dev.list at gmail.com>
Tested-by: Mats Karrman <mats.dev.list at gmail.com>
Signed-off-by: Peter Chen <peter.chen at nxp.com>
commit ebc2dc5f9b231c1b64047c6717cd464104f086f4
Merge: 0a2bc00341dc 2a221c04228b
Author: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Date: Tue Jun 26 07:45:52 2018 +0800
Merge tag 'iio-fixes-4.18a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus
Jonathan writes:
First set of IIO fixes for the 4.18 cycle.
* bmp280
- Fix wrong relative humidity unit.
* buffer
- Fix a function signature to match the function.
* inv_mpu6050
- Fix a regression in which older ACPI devices won't have working
interrupts due to lack of information on the interrupt type.
* mma8452
- Don't ignore data ready interrupt when handling interrupts as will
look like an unhandled interrupt.
* tsl2x7x/tsl2772
- Avoid a potential division by zero.
commit 176cbf5f62e7a0aa0180af4826da9e7da1359988
Author: Bartosz Golaszewski <bgolaszewski at baylibre.com>
Date: Mon Jun 25 19:25:50 2018 +0200
clk: davinci: fix a typo (which leads to build failures)
This should have been DM365, not DM356.
Fixes: 4eff0bebf4ed5 ("clk: davinci: Fix link errors when not all SoCs are enabled")
Cc: stable at vger.kernel.org
Signed-off-by: Bartosz Golaszewski <bgolaszewski at baylibre.com>
Signed-off-by: David Lechner <david at lechnology.com>
commit 0613de37373bbbc747d434f643620472bd13303b
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date: Sat Jun 2 10:52:56 2018 +0300
clk: davinci: cfgchip: testing the wrong variable
There is a copy and paste bug here. We should be testing "usb1" instead
of "usb0".
Fixes: 58e1e2d2cd89 ("clk: davinci: cfgchip: Add TI DA8XX USB PHY clocks")
Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
Signed-off-by: David Lechner <david at lechnology.com>
commit b65c32ec5a942ab3ada93a048089a938918aba7f
Author: Maciej S. Szmigiero <mail at maciej.szmigiero.name>
Date: Sat May 19 14:23:54 2018 +0200
X.509: unpack RSA signatureValue field from BIT STRING
The signatureValue field of a X.509 certificate is encoded as a BIT STRING.
For RSA signatures this BIT STRING is of so-called primitive subtype, which
contains a u8 prefix indicating a count of unused bits in the encoding.
We have to strip this prefix from signature data, just as we already do for
key data in x509_extract_key_data() function.
This wasn't noticed earlier because this prefix byte is zero for RSA key
sizes divisible by 8. Since BIT STRING is a big-endian encoding adding zero
prefixes has no bearing on its value.
The signature length, however was incorrect, which is a problem for RSA
implementations that need it to be exactly correct (like AMD CCP).
Signed-off-by: Maciej S. Szmigiero <mail at maciej.szmigiero.name>
Fixes: c26fd69fa009 ("X.509: Add a crypto key parser for binary (DER) X.509 certificates")
Cc: stable at vger.kernel.org
Signed-off-by: James Morris <james.morris at microsoft.com>
commit 92ead7ee30c80f8852d28735cbcb9d79bc85f715
Author: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
Date: Mon Jun 25 18:12:20 2018 +0530
perf tools: Fix crash caused by accessing feat_ops[HEADER_LAST_FEATURE]
perf_event__process_feature() accesses feat_ops[HEADER_LAST_FEATURE]
which is not defined and thus perf is crashing. HEADER_LAST_FEATURE is
used as an end marker for the perf report but it's unused for perf
script/annotate. Ignore HEADER_LAST_FEATURE for perf script/annotate,
just like it is done in 'perf report'.
Before:
# perf record -o - ls | perf script
<SNIP 'ls' output>
Segmentation fault (core dumped)
#
After:
# perf record -o - ls | perf script
<SNIP 'ls' output>
Segmentation fault (core dumped)
ls 7031 4392.099856: 250000 cpu-clock:uhH: 7f5e0ce7cd60
ls 7031 4392.100355: 250000 cpu-clock:uhH: 7f5e0c706ef7
#
Signed-off-by: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
Cc: Andi Kleen <ak at linux.intel.com>
Cc: David Ahern <dsahern at gmail.com>
Cc: David Carrillo-Cisneros <davidcc at google.com>
Cc: Jin Yao <yao.jin at linux.intel.com>
Cc: Jiri Olsa <jolsa at redhat.com>
Cc: Namhyung Kim <namhyung at kernel.org>
Fixes: 57b5de463925 ("perf report: Support forced leader feature in pipe mode")
Link: http://lkml.kernel.org/r/20180625124220.6434-4-ravi.bangoria@linux.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit a3af66f51bd0bca72881ead4bf2bd19cb366582b
Author: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
Date: Mon Jun 25 18:12:19 2018 +0530
perf script: Fix crash because of missing evsel->priv
'perf script' in piped mode is crashing because evsel->priv is not set
properly. Fix it.
Before:
# perf record -o - -- ls | perf script
<SNIP 'ls' output>
Segmentation fault (core dumped)
#
After:
# perf record -o - -- ls | perf script
<SNIP 'ls' output>
ls 2282 1031.731974: 250000 cpu-clock:uhH: 7effe4b3d29e
ls 2282 1031.732222: 250000 cpu-clock:uhH: 7effe4b3a650
#
Signed-off-by: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
Tested-by: Arnaldo Carvalho de Melo <acme at redhat.com>
Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
Cc: Andi Kleen <ak at linux.intel.com>
Cc: David Ahern <dsahern at gmail.com>
Cc: David Carrillo-Cisneros <davidcc at google.com>
Cc: Jin Yao <yao.jin at linux.intel.com>
Cc: Jiri Olsa <jolsa at redhat.com>
Cc: Namhyung Kim <namhyung at kernel.org>
Fixes: a14390fde64e ("perf script: Allow creating per-event dump files")
Link: http://lkml.kernel.org/r/20180625124220.6434-3-ravi.bangoria@linux.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit 10e9cec905f96fdf47f398be70726e2931b376cd
Author: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
Date: Mon Jun 25 18:12:18 2018 +0530
perf script: Add missing output fields in a hint
A few fields are missing in a perf script -F hint. Add them.
Signed-off-by: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
Cc: Andi Kleen <ak at linux.intel.com>
Cc: David Ahern <dsahern at gmail.com>
Cc: David Carrillo-Cisneros <davidcc at google.com>
Cc: Jin Yao <yao.jin at linux.intel.com>
Cc: Jiri Olsa <jolsa at redhat.com>
Cc: Namhyung Kim <namhyung at kernel.org>
Link: http://lkml.kernel.org/r/20180625124220.6434-2-ravi.bangoria@linux.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit 983107072be1a39cbde67d45cb0059138190e015
Author: Jiri Olsa <jolsa at kernel.org>
Date: Wed Jun 20 11:40:36 2018 +0200
perf bench: Fix numa report output code
Currently we can hit following assert when running numa bench:
$ perf bench numa mem -p 3 -t 1 -P 512 -s 100 -zZ0cm --thp 1
perf: bench/numa.c:1577: __bench_numa: Assertion `!(!(((wait_stat) & 0x7f) == 0))' failed.
The assertion is correct, because we hit the SIGFPE in following line:
Thread 2.2 "thread 0/0" received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0x7fffd28c6700 (LWP 11750)]
0x000.. in worker_thread (__tdata=0x7.. ) at bench/numa.c:1257
1257 td->speed_gbs = bytes_done / (td->runtime_ns / NSEC_PER_SEC) / 1e9;
We don't check if the runtime is actually bigger than 1 second,
and thus this might end up with zero division within FPU.
Adding the check to prevent this.
Signed-off-by: Jiri Olsa <jolsa at kernel.org>
Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
Cc: David Ahern <dsahern at gmail.com>
Cc: Namhyung Kim <namhyung at kernel.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Link: http://lkml.kernel.org/r/20180620094036.17278-1-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit 6dde6429c5ff5b38d6d40a14a6ee105117e6364d
Author: Thomas Richter <tmricht at linux.ibm.com>
Date: Fri Jun 15 12:11:05 2018 +0200
perf stat: Remove duplicate event counting
'perf stat' shows a mismatch in perf stat regarding counter names on
s390:
Run command:
[root at s35lp76 perf]# ./perf stat -e tx_nc_tend -v --
~/mytesttx 1 >/tmp/111
tx_nc_tend: 1 573146 573146
tx_nc_tend: 1 573146 573146
Performance counter stats for '/root/mytesttx 1':
3 tx_nc_tend
0.001037252 seconds time elapsed
[root at s35lp76 perf]#
shows transaction counter tx_nc_tend with value 3 but it was triggered
only once as seen by the output of mytesttx.
When looking up the event name tx_nc_tend the following function
sequence is called:
parse_events_multi_pmu_add()
+--> perf_pmu__scan() being called with NULL argument
+--> pmu_read_sysfs() scans directory ../devices/ for
all PMUs
+--> perf_pmu__find() tries to find a PMU in the
global pmu list.
+--> pmu_lookup() called to read all file
entries when not in global
list.
pmu_lookup() causes the issue. It calls
+---> pmu_aliases() to read all the entries in the PMU directory.
On s390 this is named
/sys/devices/cpum_cf/events.
+--> pmu_aliases_parse() reads all files and creates an
alias for each file name.
So we end up with first entry created by
reading the sysfs file
[root at s35lp76 perf]# cat /sys/devices/cpum_cf
/events/TX_NC_TEND
event=0x008d
[root at s35lp76 perf]#
Debug output shows this entry
tx_nc_tend -> 'cpum_cf'/'event=0x008d
'/
After all files in this directory have been
read and aliases created this function is called:
+--> pmu_add_cpu_aliases()
This function looks up the CPU tables
created by the json files.
With json files for s390 now available all
the aliases are added to
the PMU alias list a second time.
The second entry is added by
reading the json file converted by jevent
resulting in file pmu-events/pmu-events.c:
{
.name = "tx_nc_tend",
.event = "event=0x8d",
.desc = "Unit: cpum_cf Completed TEND \
instructions \
in non-constrained TX mode",
.topic = "extended",
.long_desc = "A TEND instruction has \
completed in a \
non-constrained \
transactional-execution mode",
.pmu = "cpum_cf",
},
Debug output shows this entry
tx_nc_tend -> 'cpum_cf'/'event=0x8d'/
Function pmu_aliases_parse() and pmu_add_cpu_aliases() both use
__perf_pmu__new_alias() to add an alias to the PMU alias list. There is
no check if an alias already exist
So we end up with 2 entries for tx_nc_tend in the PMU alias list.
Having set up the PMU alias list for this PMU now
parse_events_multi_add_pmu() reads the complete alias list and adds each
alias with parse_events_add_pmu() to the global perfev_list. This
causes the alias to be added multiple times to the event list.
Fix this by making __perf_pmu__new_alias() to merge alias definitions if
an alias is already on the alias list. Also print a debug message when
the alias has mismatches in some fields.
Output before:
[root at s35lp76 perf]# ./perf stat -e tx_nc_tend -v \
-- ~/mytesttx 1 >/tmp/111
tx_nc_tend: 1 551446 551446
Performance counter stats for '/root/mytesttx 1':
3 tx_nc_tend
0.000961134 seconds time elapsed
[root at s35lp76 perf]#
Output after:
[root at s35lp76 perf]# ./perf stat -e tx_nc_tend -v \
-- ~/mytesttx 1 >/tmp/111
tx_nc_tend: 1 551446 551446
Performance counter stats for '/root/mytesttx 1':
1 tx_nc_tend
0.000961134 seconds time elapsed
[root at s35lp76 perf]#
Signed-off-by: Thomas Richter <tmricht at linux.ibm.com>
Reviewed-by: Hendrik Brueckner <brueckner at linux.ibm.com>
Reviewed-by: Jiri Olsa <jolsa at redhat.com>
Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
Link: http://lkml.kernel.org/r/20180615101105.47047-3-tmricht@linux.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit 0c24d6fb7bd3578e5b9e4972d01bbe3d087ded33
Author: Thomas Richter <tmricht at linux.ibm.com>
Date: Fri Jun 15 12:11:04 2018 +0200
perf alias: Rebuild alias expression string to make it comparable
PMU alias definitions in sysfs files may have spaces, newlines and
numbers with leading zeroes. Some alias definitions may also appear in
JSON files without spaces, etc.
Scan alias definitions and remove leading zeroes, spaces, newlines, etc
and rebuild string to make alias->str member comparable.
s390 for example has terms specified as event=0x0091 (read from files
../<PMU>/events/<FILE> and terms specified as event=0x91 (read from JSON
files).
Signed-off-by: Thomas Richter <tmricht at linux.ibm.com>
Reviewed-by: Hendrik Brueckner <brueckner at linux.ibm.com>
Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
Cc: Jiri Olsa <jolsa at redhat.com>
Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
Link: http://lkml.kernel.org/r/20180615101105.47047-2-tmricht@linux.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit ea23ac73085743a4f1682d6605fe019577c82e1e
Author: Thomas Richter <tmricht at linux.ibm.com>
Date: Fri Jun 15 12:11:03 2018 +0200
perf alias: Remove trailing newline when reading sysfs files
Remove a trailing newline when reading sysfs file contents such as
/sys/devices/cpum_cf/events/TX_NC_TEND. This shows when verbose option
-v is used.
Output before:
tx_nc_tend -> 'cpum_cf'/'event=0x008d
'/
Output after:
tx_nc_tend -> 'cpum_cf'/'event=0x8d'/
Signed-off-by: Thomas Richter <tmricht at linux.ibm.com>
Reviewed-by: Hendrik Brueckner <brueckner at linux.ibm.com>
Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
Cc: Jiri Olsa <jolsa at redhat.com>
Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
Link: http://lkml.kernel.org/r/20180615101105.47047-1-tmricht@linux.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit c6555c14572aeadf4fe2819abd971c4e7608b926
Author: Yonghong Song <yhs at fb.com>
Date: Sat Jun 16 10:47:39 2018 -0700
perf tools: Fix a clang 7.0 compilation error
Arnaldo reported the perf build failure with latest llvm/clang compiler
(7.0).
$ make LIBCLANGLLVM=1 -C tools/perf/
<SNIP>
CC /tmp/tmp.t53Qo38zci/tests/kmod-path.o
util/c++/clang.cpp: In function ‘std::unique_ptr<llvm::SmallVectorImpl<char> >
perf::getBPFObjectFromModule(llvm::Module*)’:
util/c++/clang.cpp:150:43: error: no matching function for call to
‘llvm::TargetMachine::addPassesToEmitFile(llvm::legacy::PassManager&,
llvm::raw_svector_ostream&, llvm::TargetMachine::CodeGenFileType)’
TargetMachine::CGFT_ObjectFile)) {
^
In file included from util/c++/clang.cpp:25:0:
/usr/local/include/llvm/Target/TargetMachine.h:254:16: note: candidate:
virtual bool llvm::TargetMachine::addPassesToEmitFile(
llvm::legacy::PassManagerBase&, llvm::raw_pwrite_stream&,
llvm::raw_pwrite_stream*, llvm::TargetMachine::CodeGenFileType, bool,
llvm::MachineModuleInfo*)
virtual bool addPassesToEmitFile(PassManagerBase &, raw_pwrite_stream &,
^~~~~~~~~~~~~~~~~~~
/usr/local/include/llvm/Target/TargetMachine.h:254:16: note:
candidate expects 6 arguments, 3 provided
mv: cannot stat '/tmp/tmp.t53Qo38zci/util/c++/.clang.o.tmp': No such file or directory
make[7]: *** [/home/acme/git/perf/tools/build/Makefile.build:101:
/tmp/tmp.t53Qo38zci/util/c++/clang.o] Error 1
make[6]: *** [/home/acme/git/perf/tools/build/Makefile.build:139: c++] Error 2
make[5]: *** [/home/acme/git/perf/tools/build/Makefile.build:139: util] Error 2
make[5]: *** Waiting for unfinished jobs....
CC /tmp/tmp.t53Qo38zci/tests/thread-map.o
The function addPassesToEmitFile signature changed in llvm 7.0 and such
a change caused the failure. This patch fixed the issue with using
proper function signatures under different compiler versions.
Reported-by: Arnaldo Carvalho de Melo <acme at redhat.com>
Signed-off-by: Yonghong Song <yhs at fb.com>
Tested-by: Arnaldo Carvalho de Melo <acme at redhat.com>
Cc: Alexei Starovoitov <ast at fb.com>
Cc: Daniel Borkmann <daniel at iogearbox.net>
Cc: Jiri Olsa <jolsa at kernel.org>
Cc: Martin KaFai Lau <kafai at fb.com>
Cc: Wang Nan <wangnan0 at huawei.com>
Link: http://lkml.kernel.org/r/20180616174739.1076733-1-yhs@fb.com
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit f568b472815fd6c34fe4cc30dde4572ee300d6c4
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date: Fri Jun 15 16:55:32 2018 -0300
tools include uapi: Synchronize bpf.h with the kernel
To pick the rename in:
bd3a08aaa9a3 ("bpf: flowlabel in bpf_fib_lookup should be flowinfo")
Silencing this build warning:
Warning: Kernel ABI header at 'tools/include/uapi/linux/bpf.h' differs from latest version at 'include/uapi/linux/bpf.h'
Cc: Adrian Hunter <adrian.hunter at intel.com>
Cc: Alexei Starovoitov <ast at kernel.org>
Cc: David Ahern <dsahern at gmail.com>
Cc: Jiri Olsa <jolsa at kernel.org>
Cc: Namhyung Kim <namhyung at kernel.org>
Cc: Wang Nan <wangnan0 at huawei.com>
Link: https://lkml.kernel.org/n/tip-zd1sgtbybtjrrt7bqdybu0s0@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit bb9a33cb8a807e5ae9906563f5c1533904651b8b
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date: Fri Jun 15 16:46:57 2018 -0300
tools include uapi: Update if_link.h to pick IFLA_{BRPORT_ISOLATED,VXLAN_TTL_INHERIT}
The IFLA_BRPORT_ISOLATED and IFLA_VXLAN_TTL_INHERIT defines were added in:
7d850abd5f4e ("net: bridge: add support for port isolation")
72f6d71e491e ("vxlan: add ttl inherit support")
Pick them, silencing this build warning:
Warning: Kernel ABI header at 'tools/include/uapi/linux/if_link.h' differs from latest version at 'include/uapi/linux/if_link.h'
Cc: Alexei Starovoitov <ast at kernel.org>
Cc: David S. Miller <davem at davemloft.net>
Cc: Eric Leblond <eric at regit.org>
Cc: Hangbin Liu <liuhangbin at gmail.com>
Cc: Nikolay Aleksandrov <nikolay at cumulusnetworks.com>
Link: https://lkml.kernel.org/n/tip-ezi5u0mmdqm0wfm0y2y8176r@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit 801f5e1ac783df9fafff8899ef2d5511bd4dbdcb
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date: Fri Jun 15 12:04:32 2018 -0300
tools include powerpc: Update arch/powerpc/include/uapi/asm/unistd.h copy to get 'rseq' syscall
This updates the tools/perf/ copy of the powerpc file used to generate
the syscall table file used to make 'perf trace' become aware of the new
'rseq' syscall, no matter in which system it gets built, i.e. older
systems where the syscalls are not available in the running kernel (via
tracefs) or in the system headers will still be aware of these
syscalls/.
From this commit:
bb862b021d75 ("powerpc: Wire up restartable sequences system call")
Silencing this tools/perf build warning:
Warning: Kernel ABI header at 'tools/arch/powerpc/include/uapi/asm/unistd.h' differs from latest version at 'arch/powerpc/include/uapi/asm/unistd.h'
Cc: Adrian Hunter <adrian.hunter at intel.com>
Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
Cc: Boqun Feng <boqun.feng at gmail.com>
Cc: David Ahern <dsahern at gmail.com>
Cc: Hendrik Brueckner <brueckner at linux.vnet.ibm.com>
Cc: Jiri Olsa <jolsa at redhat.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
Cc: Michael Ellerman <mpe at ellerman.id.au>
Cc: Namhyung Kim <namhyung at kernel.org>
Cc: Ravi Bangoria <ravi.bangoria at linux.vnet.ibm.com>
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: Thomas Richter <tmricht at linux.vnet.ibm.com>
Cc: Wang Nan <wangnan0 at huawei.com>
Link: https://lkml.kernel.org/n/tip-adtgz6u3apd76tghiu9w0k19@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit b1494ec029af6d6ea189cbc96ad66463f8df3579
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date: Fri Jun 15 11:48:43 2018 -0300
perf tools: Update x86's syscall_64.tbl, adding 'io_pgetevents' and 'rseq'
This updates the tools/perf/ copy of the system call table for x86 which makes
'perf trace' become aware of the new 'io_pgetevents' and 'rseq' syscalls, no
matter in which system it gets built, i.e. older systems where the syscalls are
not available in the running kernel (via tracefs) or in the system headers will
still be aware of these syscalls/.
These are the csets introducing the source drift:
05c17cedf85b ("x86: Wire up restartable sequence system call")
7a074e96dee6 ("aio: implement io_pgetevents")
This results in this build time change:
$ diff -u /tmp/build/perf/arch/x86/include/generated/asm/syscalls_64.c.old /tmp/build/perf/arch/x86/include/generated/asm/syscalls_64.c
--- /tmp/build/perf/arch/x86/include/generated/asm/syscalls_64.c.old 2018-06-15 11:48:17.648948094 -0300
+++ /tmp/build/perf/arch/x86/include/generated/asm/syscalls_64.c 2018-06-15 11:48:22.133942480 -0300
@@ -332,5 +332,7 @@
[330] = "pkey_alloc",
[331] = "pkey_free",
[332] = "statx",
+ [333] = "io_pgetevents",
+ [334] = "rseq",
};
-#define SYSCALLTBL_x86_64_MAX_ID 332
+#define SYSCALLTBL_x86_64_MAX_ID 334
$
This silences the following tools/perf/ build warning:
Warning: Kernel ABI header at 'tools/perf/arch/x86/entry/syscalls/syscall_64.tbl' differs from latest version at 'arch/x86/entry/syscalls/syscall_64.tbl'
Cc: Adrian Hunter <adrian.hunter at intel.com>
Cc: Christoph Hellwig <hch at lst.de>
Cc: David Ahern <dsahern at gmail.com>
Cc: Jiri Olsa <jolsa at kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
Cc: Namhyung Kim <namhyung at kernel.org>
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: Wang Nan <wangnan0 at huawei.com>
Link: https://lkml.kernel.org/n/tip-tfvyz51sabuzemrszbrhzxni@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit 7b818dc57230bf050bbc4218cd4df8ec59b9945d
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date: Fri Jun 15 11:33:35 2018 -0300
tools headers uapi: Synchronize drm/drm.h
To pick up the new ioctls added in these csets:
7595bda2fb43 ("drm: Add DRM client cap for aspect-ratio")
The DRM caps are not yet being decoded in 'perf trace', so this sync
doesn't incur in any change in behaviour in any tools, just silencing
this tools/perf/ build warning:
Warning: Kernel ABI header at 'tools/include/uapi/drm/drm.h' differs from latest version at 'include/uapi/drm/drm.h'
Cc: Adrian Hunter <adrian.hunter at intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
Cc: David Ahern <dsahern at gmail.com>
Cc: Jiri Olsa <jolsa at kernel.org>
Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
Cc: Namhyung Kim <namhyung at kernel.org>
Cc: Wang Nan <wangnan0 at huawei.com>
Link: https://lkml.kernel.org/n/tip-atwz0arwanq1npu8pptwkoxt@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit 621a5a327c1e36ffd7bb567f44a559f64f76358f
Author: Adrian Hunter <adrian.hunter at intel.com>
Date: Thu Jun 7 14:30:02 2018 +0300
perf intel-pt: Fix packet decoding of CYC packets
Use a 64-bit type so that the cycle count is not limited to 32-bits.
Signed-off-by: Adrian Hunter <adrian.hunter at intel.com>
Cc: Jiri Olsa <jolsa at redhat.com>
Cc: stable at vger.kernel.org
Link: http://lkml.kernel.org/r/1528371002-8862-1-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit 16ddcfbf7f3d07aa781e26b39f2c28636a4ed2fd
Author: Jiri Olsa <jolsa at kernel.org>
Date: Mon Jun 11 11:34:22 2018 +0200
perf tests: Add valid callback for parse-events test
Adding optional 'valid' callback for events tests in parse-events
object, so we don't try to parse PMUs, which are not supported.
Following line is displayed for skipped test:
running test 52 'intel_pt//u'... SKIP
Committer note:
Use named initializers in the struct evlist_test variable to avoid
breaking the build on centos:5, 6 and others with a similar gcc:
cc1: warnings being treated as errors
tests/parse-events.c: In function 'test_pmu_events':
tests/parse-events.c:1817: error: missing initializer
tests/parse-events.c:1817: error: (near initialization for 'e.type')
Signed-off-by: Jiri Olsa <jolsa at kernel.org>
Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
Cc: David Ahern <dsahern at gmail.com>
Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
Cc: Hendrik Brueckner <brueckner at linux.vnet.ibm.com>
Cc: Kim Phillips <kim.phillips at arm.com>
Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
Cc: Namhyung Kim <namhyung at kernel.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Richter <tmricht at linux.ibm.com>
Link: http://lkml.kernel.org/r/20180611093422.1005-2-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit 933ccf2002aaef1037cb676622a694f5390c3d59
Author: Jiri Olsa <jolsa at kernel.org>
Date: Mon Jun 11 11:34:21 2018 +0200
perf tests: Add event parsing error handling to parse events test
Add missing error handling for parse_events calls in test_event function
that led to following segfault on s390:
running test 52 'intel_pt//u'
perf: Segmentation fault
...
/lib64/libc.so.6(vasprintf+0xe6) [0x3fffca3f106]
/lib64/libc.so.6(asprintf+0x46) [0x3fffca1aa96]
./perf(parse_events_add_pmu+0xb8) [0x80132088]
./perf(parse_events_parse+0xc62) [0x8019529a]
./perf(parse_events+0x98) [0x801341c0]
./perf(test__parse_events+0x48) [0x800cd140]
./perf(cmd_test+0x26a) [0x800bd44a]
test child interrupted
Adding the struct parse_events_error argument to parse_events call. Also
adding parse_events_print_error to get more details on the parsing
failures, like:
# perf test 6 -v
running test 52 'intel_pt//u'failed to parse event 'intel_pt//u', err 1, str 'Cannot find PMU `intel_pt'. Missing kernel support?'
event syntax error: 'intel_pt//u'
\___ Cannot find PMU `intel_pt'. Missing kernel support?
Committer note:
Use named initializers in the struct parse_events_error variable to
avoid breaking the build on centos5, 6 and others with a similar gcc:
cc1: warnings being treated as errors
tests/parse-events.c: In function 'test_event':
tests/parse-events.c:1696: error: missing initializer
tests/parse-events.c:1696: error: (near initialization for 'err.str')
Reported-by: Kim Phillips <kim.phillips at arm.com>
Signed-off-by: Jiri Olsa <jolsa at kernel.org>
Tested-by: Kim Phillips <kim.phillips at arm.com>
Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
Cc: David Ahern <dsahern at gmail.com>
Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
Cc: Hendrik Brueckner <brueckner at linux.vnet.ibm.com>
Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
Cc: Namhyung Kim <namhyung at kernel.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Thomas Richter <tmricht at linux.ibm.com>
Link: http://lkml.kernel.org/r/20180611093422.1005-1-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit 143c99f6ac6812d23254e80844d6e34be897d3e1
Author: Sandipan Das <sandipan at linux.ibm.com>
Date: Mon Jun 11 16:10:49 2018 +0530
perf report powerpc: Fix crash if callchain is empty
For some cases, the callchain provided by the kernel may be empty. So,
the callchain ip filtering code will cause a crash if we do not check
whether the struct ip_callchain pointer is NULL before accessing any
members.
This can be observed on a powerpc64le system running Fedora 27 as shown
below.
# perf record -b -e cycles:u ls
Before:
# perf report --branch-history
perf: Segmentation fault
-------- backtrace --------
perf[0x1027615c]
linux-vdso64.so.1(__kernel_sigtramp_rt64+0x0)[0x7fff856304d8]
perf(arch_skip_callchain_idx+0x44)[0x10257c58]
perf[0x1017f2e4]
perf(thread__resolve_callchain+0x124)[0x1017ff5c]
perf(sample__resolve_callchain+0xf0)[0x10172788]
...
After:
# perf report --branch-history
Samples: 25 of event 'cycles:u', Event count (approx.): 2306870
Overhead Source:Line Symbol Shared Object
+ 11.60% _init+35736 [.] _init ls
+ 9.84% strcoll_l.c:137 [.] __strcoll_l libc-2.26.so
+ 9.16% memcpy.S:175 [.] __memcpy_power7 libc-2.26.so
+ 9.01% gconv_charset.h:54 [.] _nl_find_locale libc-2.26.so
+ 8.87% dl-addr.c:52 [.] _dl_addr libc-2.26.so
+ 8.83% _init+236 [.] _init ls
...
Reported-by: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
Signed-off-by: Sandipan Das <sandipan at linux.ibm.com>
Acked-by: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
Cc: Jiri Olsa <jolsa at redhat.com>
Cc: Naveen N. Rao <naveen.n.rao at linux.vnet.ibm.com>
Cc: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/20180611104049.11048-1-sandipan@linux.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit b930e62ecd362843002bdf84c2940439822af321
Author: Thomas Richter <tmricht at linux.ibm.com>
Date: Mon Jun 11 09:31:53 2018 +0200
perf test session topology: Fix test on s390
On s390 this test case fails because the socket identifiction numbers
assigned to the CPU are higher than the CPU identification numbers.
F/ix this by adding the platform architecture into the perf data header
flag information. This helps identifiing the test platform and handles
s390 specifics in process_cpu_topology().
Before:
[root at p23lp27 perf]# perf test -vvvvv -F 39
39: Session topology :
--- start ---
templ file: /tmp/perf-test-iUv755
socket_id number is too big.You may need to upgrade the perf tool.
---- end ----
Session topology: Skip
[root at p23lp27 perf]#
After:
[root at p23lp27 perf]# perf test -vvvvv -F 39
39: Session topology :
--- start ---
templ file: /tmp/perf-test-8X8VTs
CPU 0, core 0, socket 6
CPU 1, core 1, socket 3
---- end ----
Session topology: Ok
[root at p23lp27 perf]#
Signed-off-by: Thomas Richter <tmricht at linux.ibm.com>
Reviewed-by: Hendrik Brueckner <brueckner at linux.ibm.com>
Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
Fixes: c84974ed9fb6 ("perf test: Add entry to test cpu topology")
Link: http://lkml.kernel.org/r/20180611073153.15592-2-tmricht@linux.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit 01766229533f9bdb1144a41b4345c8c7286da7b4
Author: Thomas Richter <tmricht at linux.ibm.com>
Date: Mon Jun 11 09:31:52 2018 +0200
perf record: Support s390 random socket_id assignment
On s390 the socket identifier assigned to a CPU identifier is random and
(depending on the configuration of the LPAR) may be higher than the CPU
identifier. This is currently not supported.
Fix this by allowing arbitrary socket identifiers being assigned to
CPU id.
Output before:
[root at p23lp27 perf]# ./perf report --header -I -v
...
socket_id number is too big.You may need to upgrade the perf tool.
Error:
The perf.data file has no samples!
# ========
# captured on : Tue May 29 09:29:57 2018
# header version : 1
...
# Core ID and Socket ID information is not available
...
[root at p23lp27 perf]#
Output after:
[root at p23lp27 perf]# ./perf report --header -I -v
...
Error:
The perf.data file has no samples!
# ========
# captured on : Tue May 29 09:29:57 2018
# header version : 1
...
# CPU 0: Core ID 0, Socket ID 6
# CPU 1: Core ID 1, Socket ID 3
# CPU 2: Core ID -1, Socket ID -1
...
[root at p23lp27 perf]#
Signed-off-by: Thomas Richter <tmricht at linux.ibm.com>
Reviewed-by: Hendrik Brueckner <brueckner at linux.ibm.com>
Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
Link: http://lkml.kernel.org/r/20180611073153.15592-1-tmricht@linux.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
commit 0a2bc00341dcfcc793c0dbf4f8d43adf60458b05
Author: Laura Abbott <labbott at redhat.com>
Date: Mon Jun 11 11:06:53 2018 -0700
staging: android: ion: Return an ERR_PTR in ion_map_kernel
The expected return value from ion_map_kernel is an ERR_PTR. The error
path for a vmalloc failure currently just returns NULL, triggering
a warning in ion_buffer_kmap_get. Encode the vmalloc failure as an ERR_PTR.
Reported-by: syzbot+55b1d9f811650de944c6 at syzkaller.appspotmail.com
Signed-off-by: Laura Abbott <labbott at redhat.com>
Cc: stable <stable at vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit 1376b0a2160319125c3a2822e8c09bd283cd8141
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date: Tue Jun 5 12:36:30 2018 +0300
staging: comedi: quatech_daqp_cs: fix no-op loop daqp_ao_insn_write()
There is a '>' vs '<' typo so this loop is a no-op.
Fixes: d35dcc89fc93 ("staging: comedi: quatech_daqp_cs: fix daqp_ao_insn_write()")
Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
Reviewed-by: Ian Abbott <abbotti at mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit bdb60101df4a2999608430112a5abfb78628db1e
Author: Randy Dunlap <rdunlap at infradead.org>
Date: Fri Jun 22 20:08:21 2018 -0700
kconfig: document Kconfig source file comments
I saw this type of Kconfig construct on LKML:
config SYMBOOL
#bool "prompt string"
default y
and wondered what it does. Then I wondered if '#' comments are
even documented. They aren't, so add a little doc for that.
Ah, good. kconfig says:
arch/x86/Kconfig:2942:warning: config symbol defined without type
Signed-off-by: Randy Dunlap <rdunlap at infradead.org>
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
commit b2d00d7c61c84edd150310af3f556f8a3c6e2e67
Author: Dirk Gouders <dirk at gouders.net>
Date: Thu Jun 21 15:30:54 2018 +0200
kconfig: fix line numbers for if-entries in menu tree
The line numers for if-entries in the menu tree are off by one or more
lines which is confusing when debugging for correctness of unrelated changes.
According to the git log, commit a02f0570ae201c49 (kconfig: improve
error handling in the parser) was the last one that changed that part
of the parser and replaced
"if_entry: T_IF expr T_EOL"
by
"if_entry: T_IF expr nl"
but the commit message does not state why this has been done.
When reverting that part of the commit, only the line numers are
corrected (checked with cdebug = DEBUG_PARSE in zconf.y), otherwise
the menu tree remains unchanged (checked with zconfdump() enabled in
conf.c).
An example for the corrected line numbers:
drivers/soc/Kconfig:15:source drivers/soc/tegra/Kconfig
drivers/soc/tegra/Kconfig:4:if
drivers/soc/tegra/Kconfig:6:if
changes to:
drivers/soc/Kconfig:15:source drivers/soc/tegra/Kconfig
drivers/soc/tegra/Kconfig:1:if
drivers/soc/tegra/Kconfig:4:if
Signed-off-by: Dirk Gouders <dirk at gouders.net>
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
commit 5391e536dbf702de6581369e47c9c4cea3a87170
Author: Sven Joachim <svenjoac at gmx.de>
Date: Mon Jun 18 19:45:25 2018 +0200
stack-protector: Fix test with 32-bit userland and CONFIG_64BIT=y
When building a 64-bit 4.18-rc1 kernel with a 32-bit userland, I
noticed that stack protection was silently disabled. Adding -m64 in
gcc-x86_64-has-stack-protector.sh fixed that, similar to what has been
noticed in commit 2a61f4747eea ("stack-protector: test compiler
capability in Kconfig and drop AUTO mode") for
gcc-x86_32-has-stack-protector.sh.
Signed-off-by: Sven Joachim <svenjoac at gmx.de>
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
commit ac8517440344dbe598f7c1c23e686c800b563061
Author: Paul Burton <paul.burton at mips.com>
Date: Tue Jun 19 13:14:58 2018 -0700
powerpc: Remove -Wattribute-alias pragmas
With SYSCALL_DEFINEx() disabling -Wattribute-alias generically, there's
no need to duplicate that for PowerPC syscalls.
This reverts commit 415520373975 ("powerpc: fix build failure by
disabling attribute-alias warning in pci_32") and commit 2479bfc9bc60
("powerpc: Fix build by disabling attribute-alias warning for
SYSCALL_DEFINEx").
Signed-off-by: Paul Burton <paul.burton at mips.com>
Acked-by: Christophe Leroy <christophe.leroy at c-s.fr>
Acked-by: Michael Ellerman <mpe at ellerman.id.au>
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
commit bee20031772af3debe8cbaa234528f24c7892e8f
Author: Arnd Bergmann <arnd at arndb.de>
Date: Tue Jun 19 13:14:57 2018 -0700
disable -Wattribute-alias warning for SYSCALL_DEFINEx()
gcc-8 warns for every single definition of a system call entry
point, e.g.:
include/linux/compat.h:56:18: error: 'compat_sys_rt_sigprocmask' alias between functions of incompatible types 'long int(int, compat_sigset_t *, compat_sigset_t *, compat_size_t)' {aka 'long int(int, struct <anonymous> *, struct <anonymous> *, unsigned int)'} and 'long int(long int, long int, long int, long int)' [-Werror=attribute-alias]
asmlinkage long compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))\
^~~~~~~~~~
include/linux/compat.h:45:2: note: in expansion of macro 'COMPAT_SYSCALL_DEFINEx'
COMPAT_SYSCALL_DEFINEx(4, _##name, __VA_ARGS__)
^~~~~~~~~~~~~~~~~~~~~~
kernel/signal.c:2601:1: note: in expansion of macro 'COMPAT_SYSCALL_DEFINE4'
COMPAT_SYSCALL_DEFINE4(rt_sigprocmask, int, how, compat_sigset_t __user *, nset,
^~~~~~~~~~~~~~~~~~~~~~
include/linux/compat.h:60:18: note: aliased declaration here
asmlinkage long compat_SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__))\
^~~~~~~~~~
The new warning seems reasonable in principle, but it doesn't
help us here, since we rely on the type mismatch to sanitize the
system call arguments. After I reported this as GCC PR82435, a new
-Wno-attribute-alias option was added that could be used to turn the
warning off globally on the command line, but I'd prefer to do it a
little more fine-grained.
Interestingly, turning a warning off and on again inside of
a single macro doesn't always work, in this case I had to add
an extra statement inbetween and decided to copy the __SC_TEST
one from the native syscall to the compat syscall macro. See
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83256 for more details
about this.
[paul.burton at mips.com:
- Rebase atop current master.
- Split GCC & version arguments to __diag_ignore() in order to match
changes to the preceding patch.
- Add the comment argument to match the preceding patch.]
Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82435
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Signed-off-by: Paul Burton <paul.burton at mips.com>
Tested-by: Christophe Leroy <christophe.leroy at c-s.fr>
Tested-by: Stafford Horne <shorne at gmail.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
commit 8793bb7f4a9dd1396575d2e9337d331662cb7555
Author: Arnd Bergmann <arnd at arndb.de>
Date: Tue Jun 19 13:14:56 2018 -0700
kbuild: add macro for controlling warnings to linux/compiler.h
I have occasionally run into a situation where it would make sense to
control a compiler warning from a source file rather than doing so from
a Makefile using the $(cc-disable-warning, ...) or $(cc-option, ...)
helpers.
The approach here is similar to what glibc uses, using __diag() and
related macros to encapsulate a _Pragma("GCC diagnostic ...") statement
that gets turned into the respective "#pragma GCC diagnostic ..." by
the preprocessor when the macro gets expanded.
Like glibc, I also have an argument to pass the affected compiler
version, but decided to actually evaluate that one. For now, this
supports GCC_4_6, GCC_4_7, GCC_4_8, GCC_4_9, GCC_5, GCC_6, GCC_7,
GCC_8 and GCC_9. Adding support for CLANG_5 and other interesting
versions is straightforward here. GNU compilers starting with gcc-4.2
could support it in principle, but "#pragma GCC diagnostic push"
was only added in gcc-4.6, so it seems simpler to not deal with those
at all. The same versions show a large number of warnings already,
so it seems easier to just leave it at that and not do a more
fine-grained control for them.
The use cases I found so far include:
- turning off the gcc-8 -Wattribute-alias warning inside of the
SYSCALL_DEFINEx() macro without having to do it globally.
- Reducing the build time for a simple re-make after a change,
once we move the warnings from ./Makefile and
./scripts/Makefile.extrawarn into linux/compiler.h
- More control over the warnings based on other configurations,
using preprocessor syntax instead of Makefile syntax. This should make
it easier for the average developer to understand and change things.
- Adding an easy way to turn the W=1 option on unconditionally
for a subdirectory or a specific file. This has been requested
by several developers in the past that want to have their subsystems
W=1 clean.
- Integrating clang better into the build systems. Clang supports
more warnings than GCC, and we probably want to classify them
as default, W=1, W=2 etc, but there are cases in which the
warnings should be classified differently due to excessive false
positives from one or the other compiler.
- Adding a way to turn the default warnings into errors (e.g. using
a new "make E=0" tag) while not also turning the W=1 warnings into
errors.
This patch for now just adds the minimal infrastructure in order to
do the first of the list above. As the #pragma GCC diagnostic
takes precedence over command line options, the next step would be
to convert a lot of the individual Makefiles that set nonstandard
options to use __diag() instead.
[paul.burton at mips.com:
- Rebase atop current master.
- Add __diag_GCC, or more generally __diag_<compiler>, abstraction to
avoid code outside of linux/compiler-gcc.h needing to duplicate
knowledge about different GCC versions.
- Add a comment argument to __diag_{ignore,warn,error} which isn't
used in the expansion of the macros but serves to push people to
document the reason for using them - per feedback from Kees Cook.
- Translate severity to GCC-specific pragmas in linux/compiler-gcc.h
rather than using GCC-specific in linux/compiler_types.h.
- Drop all but GCC 8 macros, since we only need to define macros for
versions that we need to introduce pragmas for, and as of this
series that's just GCC 8.
- Capitalize comments in linux/compiler-gcc.h to match the style of
the rest of the file.
- Line up macro definitions with tabs in linux/compiler-gcc.h.]
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Signed-off-by: Paul Burton <paul.burton at mips.com>
Tested-by: Christophe Leroy <christophe.leroy at c-s.fr>
Tested-by: Stafford Horne <shorne at gmail.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
commit d5a4f93511b7000183c0d528739b824752139f79
Author: Peter Chen <peter.chen at nxp.com>
Date: Tue Jun 12 09:53:01 2018 +0800
usb: typec: tcpm: fix logbuffer index is wrong if _tcpm_log is re-entered
The port->logbuffer_head may be wrong if the two processes enters
_tcpm_log at the mostly same time. The 2nd process enters _tcpm_log
before the 1st process update the index, then the 2nd process will
not allocate logbuffer, when the 2nd process tries to use log buffer,
the index has already updated by the 1st process, so it will get
NULL pointer for updated logbuffer, the error message like below:
tcpci 0-0050: Log buffer index 6 is NULL
Cc: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Cc: Guenter Roeck <linux at roeck-us.net>
Cc: Jun Li <jun.li at nxp.com>
Signed-off-by: Peter Chen <peter.chen at nxp.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Cc: stable <stable at vger.kernel.org>
Reviewed-by: Guenter Roeck <linux at roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit 9578bcd0bb487b8ecef4b7eee799aafb678aa441
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date: Thu Jun 7 16:17:14 2018 +0300
typec: tcpm: Fix a msecs vs jiffies bug
The tcpm_set_state() function take msecs not jiffies.
Fixes: f0690a25a140 ("staging: typec: USB Type-C Port Manager (tcpm)")
Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
Acked-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Reviewed-by: Guenter Roeck <linux at roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit ecc443c03fb14abfb8a6af5e3b2d43b5257e60f2
Author: Hans de Goede <hdegoede at redhat.com>
Date: Thu Jun 7 15:54:48 2018 +0200
NFC: pn533: Fix wrong GFP flag usage
pn533_recv_response() is an urb completion handler, so it must use
GFP_ATOMIC. pn533_usb_send_frame() OTOH runs from a regular sleeping
context, so the pn533_submit_urb_for_response() there (and only there)
can use the regular GFP_KERNEL flags.
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1514134
Fixes: 9815c7cf22da ("NFC: pn533: Separate physical layer from ...")
Cc: Michael Thalmeier <michael.thalmeier at hale.at>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit 4a762569a2722b8a48066c7bacf0e1dc67d17fa1
Author: Houston Yaroschoff <hstn at 4ever3.net>
Date: Mon Jun 11 12:39:09 2018 +0200
usb: cdc_acm: Add quirk for Uniden UBC125 scanner
Uniden UBC125 radio scanner has USB interface which fails to work
with cdc_acm driver:
usb 1-1.5: new full-speed USB device number 4 using xhci_hcd
cdc_acm 1-1.5:1.0: Zero length descriptor references
cdc_acm: probe of 1-1.5:1.0 failed with error -22
Adding the NO_UNION_NORMAL quirk for the device fixes the issue:
usb 1-4: new full-speed USB device number 15 using xhci_hcd
usb 1-4: New USB device found, idVendor=1965, idProduct=0018
usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-4: Product: UBC125XLT
usb 1-4: Manufacturer: Uniden Corp.
usb 1-4: SerialNumber: 0001
cdc_acm 1-4:1.0: ttyACM0: USB ACM device
`lsusb -v` of the device:
Bus 001 Device 015: ID 1965:0018 Uniden Corporation
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1965 Uniden Corporation
idProduct 0x0018
bcdDevice 0.01
iManufacturer 1 Uniden Corp.
iProduct 2 UBC125XLT
iSerial 3 0001
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 48
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 0 None
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)
Signed-off-by: Houston Yaroschoff <hstn at 4ever3.net>
Cc: stable <stable at vger.kernel.org>
Acked-by: Oliver Neukum <oneukum at suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit e16711c32bca59a29d8ef449eda5b8427dc6eb6d
Author: Randy Dunlap <rdunlap at infradead.org>
Date: Wed Jun 20 17:05:42 2018 -0700
staging/typec: fix tcpci_rt1711h build errors
Fix Kconfig warning and build errors in staging/typec/rt1711h.c.
The driver uses I2C interfaces so it should depend on I2C.
WARNING: unmet direct dependencies detected for TYPEC_TCPCI
Depends on [m]: STAGING [=y] && TYPEC_TCPM [=y] && I2C [=m]
Selected by [y]:
- TYPEC_RT1711H [=y] && STAGING [=y] && TYPEC_TCPM [=y]
and then:
drivers/staging/typec/tcpci.o: In function `tcpci_probe':
../drivers/staging/typec/tcpci.c:536: undefined reference to `__devm_regmap_init_i2c'
drivers/staging/typec/tcpci.o: In function `tcpci_i2c_driver_init':
../drivers/staging/typec/tcpci.c:593: undefined reference to `i2c_register_driver'
drivers/staging/typec/tcpci.o: In function `tcpci_i2c_driver_exit':
../drivers/staging/typec/tcpci.c:593: undefined reference to `i2c_del_driver'
drivers/staging/typec/tcpci_rt1711h.o: In function `rt1711h_check_revision':
../drivers/staging/typec/tcpci_rt1711h.c:218: undefined reference to `i2c_smbus_read_word_data'
../drivers/staging/typec/tcpci_rt1711h.c:225: undefined reference to `i2c_smbus_read_word_data'
drivers/staging/typec/tcpci_rt1711h.o: In function `rt1711h_probe':
../drivers/staging/typec/tcpci_rt1711h.c:251: undefined reference to `__devm_regmap_init_i2c'
drivers/staging/typec/tcpci_rt1711h.o: In function `rt1711h_i2c_driver_init':
../drivers/staging/typec/tcpci_rt1711h.c:308: undefined reference to `i2c_register_driver'
drivers/staging/typec/tcpci_rt1711h.o: In function `rt1711h_i2c_driver_exit':
../drivers/staging/typec/tcpci_rt1711h.c:308: undefined reference to `i2c_del_driver'
Fixes: ce08eaeb6388 ("staging: typec: rt1711h typec chip driver")
Reported-by: kbuild test robot <lkp at intel.com>
Signed-off-by: Randy Dunlap <rdunlap at infradead.org>
Cc: ShuFan Lee <shufan_lee at richtek.com>
Cc: kbuild-all at 01.org
Reviewed-by: Guenter Roeck <linux at roeck-us.net>
Revieved-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit 68816e16b4789f2d05e77b6dcb77564cf5d6a8d8
Author: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Date: Thu Jun 21 16:43:19 2018 +0300
usb: typec: ucsi: Fix for incorrect status data issue
According to UCSI Specification, Connector Change Event only
means a change in the Connector Status and Operation Mode
fields of the STATUS data structure. So any other change
should create another event.
Unfortunately on some platforms the firmware acting as PPM
(platform policy manager - usually embedded controller
firmware) still does not report any other status changes if
there is a connector change event. So if the connector power
or data role was changed when a device was plugged to the
connector, the driver does not get any indication about
that. The port will show wrong roles if that happens.
To fix the issue, always checking the data and power role
together with a connector change event.
Fixes: c1b0bc2dabfa ("usb: typec: Add support for UCSI interface")
Signed-off-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Cc: stable <stable at vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit 1f9f9d168ce619608572b01771c47a41b15429e6
Author: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Date: Thu Jun 21 16:43:18 2018 +0300
usb: typec: ucsi: acpi: Workaround for cache mode issue
This fixes an issue where the driver fails with an error:
ioremap error for 0x3f799000-0x3f79a000, requested 0x2, got 0x0
On some platforms the UCSI ACPI mailbox SystemMemory
Operation Region may be setup before the driver has been
loaded. That will lead into the driver failing to map the
mailbox region, as it has been already marked as write-back
memory. acpi_os_ioremap() for x86 uses ioremap_cache()
unconditionally.
When the issue happens, the embedded controller has a
pending query event for the UCSI notification right after
boot-up which causes the operation region to be setup before
UCSI driver has been loaded.
The fix is to notify acpi core that the driver is about to
access memory region which potentially overlaps with an
operation region right before mapping it.
acpi_release_memory() will check if the memory has already
been setup (mapped) by acpi core, and deactivate it (unmap)
if it has. The driver is then able to map the memory with
ioremap_nocache() and set the memtype to uncached for the
region.
Reported-by: Paul Menzel <pmenzel at molgen.mpg.de>
Fixes: 8243edf44152 ("usb: typec: ucsi: Add ACPI driver")
Cc: stable at vger.kernel.org
Signed-off-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit d2d2e3c46be5d6dd8001d0eebdf7cafb9bc7006b
Author: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Date: Thu Jun 21 16:43:17 2018 +0300
acpi: Add helper for deactivating memory region
Sometimes memory resource may be overlapping with
SystemMemory Operation Region by design, for example if the
memory region is used as a mailbox for communication with a
firmware in the system. One occasion of such mailboxes is
USB Type-C Connector System Software Interface (UCSI).
With regions like that, it is important that the driver is
able to map the memory with the requirements it has. For
example, the driver should be allowed to map the memory as
non-cached memory. However, if the operation region has been
accessed before the driver has mapped the memory, the memory
has been marked as write-back by the time the driver is
loaded. That means the driver will fail to map the memory
if it expects non-cached memory.
To work around the problem, introducing helper that the
drivers can use to temporarily deactivate (unmap)
SystemMemory Operation Regions that overlap with their
IO memory.
Fixes: 8243edf44152 ("usb: typec: ucsi: Add ACPI driver")
Cc: stable at vger.kernel.org
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Signed-off-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit 305886ca87be480ae159908c2affd135c04215cf
Author: Ajay Gupta <ajaykuee at gmail.com>
Date: Thu Jun 21 16:19:45 2018 +0300
usb: xhci: increase CRS timeout value
Some controllers take almost 55ms to complete controller
restore state (CRS).
There is no timeout limit mentioned in xhci specification so
fixing the issue by increasing the timeout limit to 100ms
[reformat code comment -Mathias]
Signed-off-by: Ajay Gupta <ajaykuee at gmail.com>
Signed-off-by: Nagaraj Annaiah <naga.annaiah at gmail.com>
Signed-off-by: Mathias Nyman <mathias.nyman at linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit 3431a150fd89bc74cd2f2aaf6977cc0e278fb445
Author: Stefan Agner <stefan at agner.ch>
Date: Thu Jun 21 16:19:44 2018 +0300
usb: xhci: tegra: fix runtime PM error handling
The address-of operator will always evaluate to true. However,
power should be explicitly disabled if no power domain is used.
Remove the address-of operator.
Fixes: 58c38116c6cc ("usb: xhci: tegra: Add support for managing powergates")
Signed-off-by: Stefan Agner <stefan at agner.ch>
Acked-by: Jon Hunter <jonathanh at nvidia.com>
Signed-off-by: Mathias Nyman <mathias.nyman at linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit 36eb93509c45d0bdbd8d09a01ab9d857972f5963
Author: Dongjiu Geng <gengdongjiu at huawei.com>
Date: Thu Jun 21 16:19:43 2018 +0300
usb: xhci: remove the code build warning
Initialize the 'err' variate to remove the build warning,
the warning is shown as below:
drivers/usb/host/xhci-tegra.c: In function 'tegra_xusb_mbox_thread':
drivers/usb/host/xhci-tegra.c:552:6: warning: 'err' may be used uninitialized in this function [-Wuninitialized]
drivers/usb/host/xhci-tegra.c:482:6: note: 'err' was declared here
Fixes: e84fce0f8837 ("usb: xhci: Add NVIDIA Tegra XUSB controller driver")
Signed-off-by: Dongjiu Geng <gengdongjiu at huawei.com>
Acked-by: Thierry Reding <treding at nvidia.com>
Acked-by: Jon Hunter <jonathanh at nvidia.com>
Signed-off-by: Mathias Nyman <mathias.nyman at linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit d850c1658328e757635a46763783c6fd56390dcb
Author: Zhengjun Xing <zhengjun.xing at linux.intel.com>
Date: Thu Jun 21 16:19:42 2018 +0300
xhci: Fix kernel oops in trace_xhci_free_virt_device
commit 44a182b9d177 ("xhci: Fix use-after-free in xhci_free_virt_device")
set dev->udev pointer to NULL in xhci_free_dev(), it will cause kernel
panic in trace_xhci_free_virt_device. This patch reimplement the trace
function trace_xhci_free_virt_device, remove dev->udev dereference and
added more useful parameters to show in the trace function,it also makes
sure dev->udev is not NULL before calling trace_xhci_free_virt_device.
This issue happened when xhci-hcd trace is enabled and USB devices hot
plug test. Original use-after-free patch went to stable so this needs so
be applied there as well.
[ 1092.022457] usb 2-4: USB disconnect, device number 6
[ 1092.092772] BUG: unable to handle kernel NULL pointer dereference at 0000000000000000
[ 1092.101694] PGD 0 P4D 0
[ 1092.104601] Oops: 0000 [#1] SMP
[ 1092.207734] Workqueue: usb_hub_wq hub_event
[ 1092.212507] RIP: 0010:trace_event_raw_event_xhci_log_virt_dev+0x6c/0xf0
[ 1092.220050] RSP: 0018:ffff8c252e883d28 EFLAGS: 00010086
[ 1092.226024] RAX: ffff8c24af86fa84 RBX: 0000000000000003 RCX: ffff8c25255c2a01
[ 1092.234130] RDX: 0000000000000000 RSI: 00000000aef55009 RDI: ffff8c252e883d28
[ 1092.242242] RBP: ffff8c252550e2c0 R08: ffff8c24af86fa84 R09: 0000000000000a70
[ 1092.250364] R10: 0000000000000a70 R11: 0000000000000000 R12: ffff8c251f21a000
[ 1092.258468] R13: 000000000000000c R14: ffff8c251f21a000 R15: ffff8c251f432f60
[ 1092.266572] FS: 0000000000000000(0000) GS:ffff8c252e880000(0000) knlGS:0000000000000000
[ 1092.275757] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1092.282281] CR2: 0000000000000000 CR3: 0000000154209001 CR4: 00000000003606e0
[ 1092.290384] Call Trace:
[ 1092.293156] <IRQ>
[ 1092.295439] xhci_free_virt_device.part.34+0x182/0x1a0
[ 1092.301288] handle_cmd_completion+0x7ac/0xfa0
[ 1092.306336] ? trace_event_raw_event_xhci_log_trb+0x6e/0xa0
[ 1092.312661] xhci_irq+0x3e8/0x1f60
[ 1092.316524] __handle_irq_event_percpu+0x75/0x180
[ 1092.321876] handle_irq_event_percpu+0x20/0x50
[ 1092.326922] handle_irq_event+0x36/0x60
[ 1092.331273] handle_edge_irq+0x6d/0x180
[ 1092.335644] handle_irq+0x16/0x20
[ 1092.339417] do_IRQ+0x41/0xc0
[ 1092.342782] common_interrupt+0xf/0xf
[ 1092.346955] </IRQ>
Fixes: 44a182b9d177 ("xhci: Fix use-after-free in xhci_free_virt_device")
Cc: <stable at vger.kernel.org>
Signed-off-by: Zhengjun Xing <zhengjun.xing at linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman at linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit 229bc19fd7aca4f37964af06e3583c1c8f36b5d6
Author: Mathias Nyman <mathias.nyman at linux.intel.com>
Date: Thu Jun 21 16:19:41 2018 +0300
xhci: Fix perceived dead host due to runtime suspend race with event handler
Don't rely on event interrupt (EINT) bit alone to detect pending port
change in resume. If no change event is detected the host may be suspended
again, oterwise roothubs are resumed.
There is a lag in xHC setting EINT. If we don't notice the pending change
in resume, and the controller is runtime suspeded again, it causes the
event handler to assume host is dead as it will fail to read xHC registers
once PCI puts the controller to D3 state.
[ 268.520969] xhci_hcd: xhci_resume: starting port polling.
[ 268.520985] xhci_hcd: xhci_hub_status_data: stopping port polling.
[ 268.521030] xhci_hcd: xhci_suspend: stopping port polling.
[ 268.521040] xhci_hcd: // Setting command ring address to 0x349bd001
[ 268.521139] xhci_hcd: Port Status Change Event for port 3
[ 268.521149] xhci_hcd: resume root hub
[ 268.521163] xhci_hcd: port resume event for port 3
[ 268.521168] xhci_hcd: xHC is not running.
[ 268.521174] xhci_hcd: handle_port_status: starting port polling.
[ 268.596322] xhci_hcd: xhci_hc_died: xHCI host controller not responding, assume dead
The EINT lag is described in a additional note in xhci specs 4.19.2:
"Due to internal xHC scheduling and system delays, there will be a lag
between a change bit being set and the Port Status Change Event that it
generated being written to the Event Ring. If SW reads the PORTSC and
sees a change bit set, there is no guarantee that the corresponding Port
Status Change Event has already been written into the Event Ring."
Cc: <stable at vger.kernel.org>
Signed-off-by: Mathias Nyman <mathias.nyman at linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
commit 560b423dd9af4272a1f3685c2d6b073fdc4af7c7
Author: Stafford Horne <shorne at gmail.com>
Date: Mon Jun 18 06:52:58 2018 +0900
openrisc: Call destructor during __pte_free_tlb
This fixes an issue uncovered when a recent change to add the "page
table" flag was merged. During bootup we see many errors like the
following:
BUG: Bad page state in process mkdir pfn:00bae
page:c1ff15c0 count:0 mapcount:-1024 mapping:00000000 index:0x0
flags: 0x0()
raw: 00000000 00000000 00000000 fffffbff 00000000 00000100 00000200 00000000
page dumped because: nonzero mapcount
Modules linked in:
CPU: 0 PID: 46 Comm: mkdir Tainted: G B 4.17.0-simple-smp-07461-g1d40a5ea01d5-dirty #993
Call trace:
[<(ptrval)>] show_stack+0x44/0x54
[<(ptrval)>] dump_stack+0xb0/0xe8
[<(ptrval)>] bad_page+0x138/0x174
[<(ptrval)>] ? cpumask_next+0x24/0x34
[<(ptrval)>] free_pages_check_bad+0x6c/0xd0
[<(ptrval)>] free_pcppages_bulk+0x174/0x42c
[<(ptrval)>] free_unref_page_commit.isra.17+0xb8/0xc8
[<(ptrval)>] free_unref_page_list+0x10c/0x190
[<(ptrval)>] ? set_reset_devices+0x0/0x2c
[<(ptrval)>] release_pages+0x3a0/0x414
[<(ptrval)>] tlb_flush_mmu_free+0x5c/0x90
[<(ptrval)>] tlb_flush_mmu+0x90/0xa4
[<(ptrval)>] arch_tlb_finish_mmu+0x50/0x94
[<(ptrval)>] tlb_finish_mmu+0x30/0x64
[<(ptrval)>] exit_mmap+0x110/0x1e0
[<(ptrval)>] mmput+0x50/0xf0
[<(ptrval)>] do_exit+0x274/0xa94
[<(ptrval)>] do_group_exit+0x50/0x110
[<(ptrval)>] __wake_up_parent+0x0/0x38
[<(ptrval)>] _syscall_return+0x0/0x4
During the __pte_free_tlb path openrisc fails to call the page
destructor which would clear the new bits that were introduced.
To fix this we are calling the destructor.
It seem openrisc was the only architecture missing this, all other
architectures either call the destructor like we are doing here or use
pte_free.
Note: failing to call the destructor was also messing up the zone stats
(and will be cause other problems if you were using SPLIT_PTE_PTLOCKS,
which we are not yet).
Fixes: 1d40a5ea01d53 ("mm: mark pages in use for page tables")
Acked-by: Matthew Wilcox <willy at infradead.org>
Signed-off-by: Stafford Horne <shorne at gmail.com>
commit 9d1a68c458c71171f8670d7e994ba1d135790fe7
Merge: 7daf201d7fe8 1d8e5c002758
Author: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Date: Mon Jun 25 20:42:16 2018 +0800
Merge tag 'fixes-for-v4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus
usb: fixes for v4.18-rc1
First set of fixes for the current -rc cycle. The main parts being
warnings of different kinds being fixed. We're also adding support for
Intel'l Icelake devices on dwc3-pci.c.
commit 043f891b70e6197bc181f3b087c2bd04c60fddd2
Author: Petr Mladek <pmladek at suse.com>
Date: Mon Jun 25 13:28:06 2018 +0200
Revert "lib/test_printf.c: call wait_for_random_bytes() before plain %p tests"
This reverts commit ee410f15b1418f2f4428e79980674c979081bcb7.
It might prevent the machine from boot. It would wait for enough
randomness at the very beginning of kernel_init(). But there is
basically nothing running in parallel that would help to produce
any randomness.
Reported-by: Steven Rostedt (VMware) <rostedt at goodmis.org>
Signed-off-by: Petr Mladek <pmladek at suse.com>
commit 68d676a089625daed9d61df56ac63b5cd7189efe
Author: Jakub Kicinski <jakub.kicinski at netronome.com>
Date: Fri Jun 22 11:56:56 2018 -0700
nfp: bpf: don't stop offload if replace failed
Stopping offload completely if replace of program failed dates
back to days of transparent offload. Back then we wanted to
silently fall back to the in-driver processing. Today we mark
programs for offload when they are loaded into the kernel, so
the transparent offload is no longer a reality.
Flags check in the driver will only allow replace of a driver
program with another driver program or an offload program with
another offload program.
When driver program is replaced stopping offload is a no-op,
because driver program isn't offloaded. When replacing
offloaded program if the offload fails the entire operation
will fail all the way back to user space and we should continue
using the old program. IOW when replacing a driver program
stopping offload is unnecessary and when replacing offloaded
program - it's a bug, old program should continue to run.
In practice this bug would mean that if offload operation was to
fail (either due to FW communication error, kernel OOM or new
program being offloaded but for a different netdev) driver
would continue reporting that previous XDP program is offloaded
but in fact no program will be loaded in hardware. The failure
is fairly unlikely (found by inspection, when working on the code)
but it's unpleasant.
Backport note: even though the bug was introduced in commit
cafa92ac2553 ("nfp: bpf: add support for XDP_FLAGS_HW_MODE"),
this fix depends on commit 441a33031fe5 ("net: xdp: don't allow
device-bound programs in driver mode"), so this fix is sufficient
only in v4.15 or newer. Kernels v4.13.x and v4.14.x do need to
stop offload if it was transparent/opportunistic, i.e. if
XDP_FLAGS_HW_MODE was not set on running program.
Fixes: cafa92ac2553 ("nfp: bpf: add support for XDP_FLAGS_HW_MODE")
Signed-off-by: Jakub Kicinski <jakub.kicinski at netronome.com>
Reviewed-by: Quentin Monnet <quentin.monnet at netronome.com>
Acked-by: Song Liu <songliubraving at fb.com>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit c9a4c63888dbb79ce4d068ca1dd8b05bc3f156b1
Author: Takashi Iwai <tiwai at suse.de>
Date: Mon Jun 25 11:13:59 2018 +0200
ALSA: seq: Fix UBSAN warning at SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT ioctl
The kernel may spew a WARNING with UBSAN undefined behavior at
handling ALSA sequencer ioctl SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT:
UBSAN: Undefined behaviour in sound/core/seq/seq_clientmgr.c:2007:14
signed integer overflow:
2147483647 + 1 cannot be represented in type 'int'
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x122/0x1c8 lib/dump_stack.c:113
ubsan_epilogue+0x12/0x86 lib/ubsan.c:159
handle_overflow+0x1c2/0x21f lib/ubsan.c:190
__ubsan_handle_add_overflow+0x2a/0x31 lib/ubsan.c:198
snd_seq_ioctl_query_next_client+0x1ac/0x1d0 sound/core/seq/seq_clientmgr.c:2007
snd_seq_ioctl+0x264/0x3d0 sound/core/seq/seq_clientmgr.c:2144
....
It happens only when INT_MAX is passed there, as we're incrementing it
unconditionally. So the fix is trivial, check the value with
INT_MAX. Although the bug itself is fairly harmless, it's better to
fix it so that fuzzers won't hit this again later.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=200211
Signed-off-by: Takashi Iwai <tiwai at suse.de>
commit b41f794f284966fd6ec634111e3b40d241389f96
Author: Takashi Iwai <tiwai at suse.de>
Date: Mon Jun 25 11:09:11 2018 +0200
ALSA: timer: Fix UBSAN warning at SNDRV_TIMER_IOCTL_NEXT_DEVICE ioctl
The kernel may spew a WARNING about UBSAN undefined behavior at
handling ALSA timer ioctl SNDRV_TIMER_IOCTL_NEXT_DEVICE:
UBSAN: Undefined behaviour in sound/core/timer.c:1524:19
signed integer overflow:
2147483647 + 1 cannot be represented in type 'int'
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x122/0x1c8 lib/dump_stack.c:113
ubsan_epilogue+0x12/0x86 lib/ubsan.c:159
handle_overflow+0x1c2/0x21f lib/ubsan.c:190
__ubsan_handle_add_overflow+0x2a/0x31 lib/ubsan.c:198
snd_timer_user_next_device sound/core/timer.c:1524 [inline]
__snd_timer_user_ioctl+0x204d/0x2520 sound/core/timer.c:1939
snd_timer_user_ioctl+0x67/0x95 sound/core/timer.c:1994
....
It happens only when a value with INT_MAX is passed, as we're
incrementing it unconditionally. So the fix is trivial, check the
value with INT_MAX. Although the bug itself is fairly harmless, it's
better to fix it so that fuzzers won't hit this again later.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=200213
Reported-and-tested-by: Team OWL337 <icytxw at gmail.com>
Cc: <stable at vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai at suse.de>
commit 891f6a726cacbb87e5b06076693ffab53bd378d7
Author: Christian Borntraeger <borntraeger at de.ibm.com>
Date: Thu Jun 21 14:49:38 2018 +0200
s390: Correct register corruption in critical section cleanup
In the critical section cleanup we must not mess with r1. For march=z9
or older, larl + ex (instead of exrl) are used with r1 as a temporary
register. This can clobber r1 in several interrupt handlers. Fix this by
using r11 as a temp register. r11 is being saved by all callers of
cleanup_critical.
Fixes: 6dd85fbb87 ("s390: move expoline assembler macros to a header")
Cc: stable at vger.kernel.org #v4.16
Reported-by: Oliver Kurz <okurz at suse.com>
Reported-by: Petr Tesařík <ptesarik at suse.com>
Signed-off-by: Christian Borntraeger <borntraeger at de.ibm.com>
Reviewed-by: Hendrik Brueckner <brueckner at linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>
commit e41fc8c5bd41b96bfae5ce4c66bee6edabc932e8
Author: Hui Wang <hui.wang at canonical.com>
Date: Mon Jun 25 14:40:56 2018 +0800
ALSA: hda/realtek - Fix the problem of two front mics on more machines
We have 3 more Lenovo machines, they all have 2 front mics on them,
so they need the fixup to change the location for one of two mics.
Among these 3 Lenovo machines, one of them has the same pin cfg as the
machine with subid 0x17aa3138, so use the pin cfg table to apply fixup
for them. The rest machines don't share the same pin cfg, so far use
the subid to apply fixup for them.
Fixes: a3dafb2200bf ("ALSA: hda/realtek - adjust the location of one mic")
Cc: <stable at vger.kernel.org>
Signed-off-by: Hui Wang <hui.wang at canonical.com>
Signed-off-by: Takashi Iwai <tiwai at suse.de>
commit 6f0d349d922ba44e4348a17a78ea51b7135965b1
Merge: 7daf201d7fe8 829eb05365ff
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Mon Jun 25 15:58:17 2018 +0800
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller:
1) Fix netpoll OOPS in r8169, from Ville Syrjälä.
2) Fix bpf instruction alignment on powerpc et al., from Eric Dumazet.
3) Don't ignore IFLA_MTU attribute when creating new ipvlan links. From
Xin Long.
4) Fix use after free in AF_PACKET, from Eric Dumazet.
5) Mis-matched RTNL unlock in xen-netfront, from Ross Lagerwall.
6) Fix VSOCK loopback on big-endian, from Claudio Imbrenda.
7) Missing RX buffer offset correction when computing DMA addresses in
mvneta driver, from Antoine Tenart.
8) Fix crashes in DCCP's ccid3_hc_rx_send_feedback, from Eric Dumazet.
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (34 commits)
sfc: make function efx_rps_hash_bucket static
strparser: Corrected typo in documentation.
qmi_wwan: add support for the Dell Wireless 5821e module
cxgb4: when disabling dcb set txq dcb priority to 0
net_sched: remove a bogus warning in hfsc
net: dccp: switch rx_tstamp_last_feedback to monotonic clock
net: dccp: avoid crash in ccid3_hc_rx_send_feedback()
net: Remove depends on HAS_DMA in case of platform dependency
MAINTAINERS: Add file patterns for dsa device tree bindings
net: mscc: make sparse happy
net: mvneta: fix the Rx desc DMA address in the Rx path
Documentation: e1000: Fix docs build error
Documentation: e100: Fix docs build error
Documentation: e1000: Use correct heading adornment
Documentation: e100: Use correct heading adornment
ipv6: mcast: fix unsolicited report interval after receiving querys
vhost_net: validate sock before trying to put its fd
VSOCK: fix loopback on big-endian systems
net: ethernet: ti: davinci_cpdma: make function cpdma_desc_pool_create static
xen-netfront: Update features after registering netdev
...
commit ad6384ba3ac98ad524194e37de379c1fe503870b
Author: Viresh Kumar <viresh.kumar at linaro.org>
Date: Wed Jun 20 11:45:37 2018 +0530
PM / Domains: Rename opp_node to np
The DT node passed here isn't necessarily an OPP node, as this routine
can also be used for cases where the "required-opps" property is present
directly in the device's node. Rename it.
This also removes a stale comment.
Acked-by: Ulf Hansson <ulf.hansson at linaro.org>
Signed-off-by: Viresh Kumar <viresh.kumar at linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
commit 5e03aa61a7f3cb99852bc3ad6925f5fa3c0dcc93
Author: Viresh Kumar <viresh.kumar at linaro.org>
Date: Thu Jun 14 10:53:34 2018 +0530
PM / Domains: Fix return value of of_genpd_opp_to_performance_state()
of_genpd_opp_to_performance_state() should return 0 for errors, but the
dummy routine isn't doing that. Fix it.
Signed-off-by: Viresh Kumar <viresh.kumar at linaro.org>
Acked-by: Ulf Hansson <ulf.hansson at linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
commit 49a6ec5b807ea4ad7ebe1f58080ebb8497cb2d2c
Author: Daniel Mack <daniel at zonque.org>
Date: Sun Jun 17 13:53:09 2018 +0200
ARM: dts: am437x: make edt-ft5x06 a wakeup source
The touchscreen driver no longer configures the device as wakeup source by
default. A "wakeup-source" property is needed.
Signed-off-by: Daniel Mack <daniel at zonque.org>
Signed-off-by: Tony Lindgren <tony at atomide.com>
commit dc0f0a026d33819bb82d5c26ab2fca838e2004be
Author: Haiyue Wang <haiyue.wang at linux.intel.com>
Date: Sat Jun 23 21:51:13 2018 +0800
ipmi: kcs_bmc: fix IRQ exception if the channel is not open
When kcs_bmc_handle_event calls kcs_force_abort function to handle the
not open (no user running) KCS channel transaction, the returned status
value -ENODEV causes the low level IRQ handler indicating that the irq
was not for him by returning IRQ_NONE. After some time, this IRQ will
be treated to be spurious one, and the exception dump happens.
irq 30: nobody cared (try booting with the "irqpoll" option)
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.10.15-npcm750 #1
Hardware name: NPCMX50 Chip family
[<c010b264>] (unwind_backtrace) from [<c0106930>] (show_stack+0x20/0x24)
[<c0106930>] (show_stack) from [<c03dad38>] (dump_stack+0x8c/0xa0)
[<c03dad38>] (dump_stack) from [<c0168810>] (__report_bad_irq+0x3c/0xdc)
[<c0168810>] (__report_bad_irq) from [<c0168c34>] (note_interrupt+0x29c/0x2ec)
[<c0168c34>] (note_interrupt) from [<c0165c80>] (handle_irq_event_percpu+0x5c/0x68)
[<c0165c80>] (handle_irq_event_percpu) from [<c0165cd4>] (handle_irq_event+0x48/0x6c)
[<c0165cd4>] (handle_irq_event) from [<c0169664>] (handle_fasteoi_irq+0xc8/0x198)
[<c0169664>] (handle_fasteoi_irq) from [<c016529c>] (__handle_domain_irq+0x90/0xe8)
[<c016529c>] (__handle_domain_irq) from [<c01014bc>] (gic_handle_irq+0x58/0x9c)
[<c01014bc>] (gic_handle_irq) from [<c010752c>] (__irq_svc+0x6c/0x90)
Exception stack(0xc0a01de8 to 0xc0a01e30)
1de0: 00002080 c0a6fbc0 00000000 00000000 00000000 c096d294
1e00: 00000000 00000001 dc406400 f03ff100 00000082 c0a01e94 c0a6fbc0 c0a01e38
1e20: 00200102 c01015bc 60000113 ffffffff
[<c010752c>] (__irq_svc) from [<c01015bc>] (__do_softirq+0xbc/0x358)
[<c01015bc>] (__do_softirq) from [<c011c798>] (irq_exit+0xb8/0xec)
[<c011c798>] (irq_exit) from [<c01652a0>] (__handle_domain_irq+0x94/0xe8)
[<c01652a0>] (__handle_domain_irq) from [<c01014bc>] (gic_handle_irq+0x58/0x9c)
[<c01014bc>] (gic_handle_irq) from [<c010752c>] (__irq_svc+0x6c/0x90)
Exception stack(0xc0a01ef8 to 0xc0a01f40)
1ee0: 00000000 000003ae
1f00: dcc0f338 c0111060 c0a00000 c0a0cc44 c0a0cbe4 c0a1c22b c07bc218 00000001
1f20: dcffca40 c0a01f54 c0a01f58 c0a01f48 c0103524 c0103528 60000013 ffffffff
[<c010752c>] (__irq_svc) from [<c0103528>] (arch_cpu_idle+0x48/0x4c)
[<c0103528>] (arch_cpu_idle) from [<c0681390>] (default_idle_call+0x30/0x3c)
[<c0681390>] (default_idle_call) from [<c0156f24>] (do_idle+0xc8/0x134)
[<c0156f24>] (do_idle) from [<c015722c>] (cpu_startup_entry+0x28/0x2c)
[<c015722c>] (cpu_startup_entry) from [<c067ad74>] (rest_init+0x84/0x88)
[<c067ad74>] (rest_init) from [<c0900d44>] (start_kernel+0x388/0x394)
[<c0900d44>] (start_kernel) from [<0000807c>] (0x807c)
handlers:
[<c041c5dc>] npcm7xx_kcs_irq
Disabling IRQ #30
It needs to change the returned status from -ENODEV to 0. The -ENODEV
was originally used to tell the low level IRQ handler that no user was
running, but not consider the IRQ handling desgin.
And multiple KCS channels share one IRQ handler, it needs to check the
IBF flag before doing force abort. If the IBF is set, after handling,
return 0 to low level IRQ handler to indicate that the IRQ is handled.
Signed-off-by: Haiyue Wang <haiyue.wang at linux.intel.com>
Signed-off-by: Corey Minyard <cminyard at mvista.com>
commit 2068db53b6337f8c6c7bcd07dea0b5e82b1a1a02
Author: Corey Minyard <cminyard at mvista.com>
Date: Wed Jun 20 07:19:01 2018 -0500
ipmi: Cleanup oops on initialization failure
Commit 93c303d2045b3 "ipmi_si: Clean up shutdown a bit" didn't
copy the behavior of the cleanup in one spot, it needed to
check for a non-NULL interface before cleaning it up.
Reported-by: Meelis Roos <mroos at linux.ee>
Signed-off-by: Corey Minyard <cminyard at mvista.com>
Tested-by: Meelis Roos <mroos at linux.ee>
commit 1dd2058f902eb2d8bd5bedab0b190a21d5245e71
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date: Thu Jun 21 11:06:41 2018 +0300
cpufreq: qcom-kryo: Fix error handling in probe()
We should return if get_cpu_device() fails or it leads to a NULL
dereference. Also dev_pm_opp_of_get_opp_desc_node() returns NULL on
error, it never returns error pointers.
Fixes: 46e2856b8e18 (cpufreq: Add Kryo CPU scaling driver)
Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
Acked-by: Viresh Kumar <viresh.kumar at linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
commit d8cb5e42378918e00eda58792f3ab86dd1e7d214
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date: Thu Jun 21 23:26:56 2018 -0700
xfs: fix fdblocks accounting w/ RMAPBT per-AG reservation
In __xfs_ag_resv_init we incorrectly calculate the amount by which to
decrease fdblocks when reserving blocks for the rmapbt. Because rmapbt
allocations do not decrease fdblocks, we must decrease fdblocks by the
entire size of the requested reservation in order to achieve our goal of
always having enough free blocks to satisfy an rmapbt expansion.
This is in contrast to the refcountbt/finobt, which /do/ subtract from
fdblocks whenever they allocate a block. For this allocation type we
preserve the existing behavior where we decrease fdblocks only by the
requested reservation minus the size of the existing tree.
This fixes the problem where the available block counts reported by
statfs change across a remount if there had been an rmapbt size change
since mount time.
Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
Reviewed-by: Allison Henderson <allison.henderson at oracle.com>
commit e53c4b598372001a13901b77649dc1b4afec3e85
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date: Thu Jun 21 23:26:58 2018 -0700
xfs: ensure post-EOF zeroing happens after zeroing part of a file
If a user asks us to zero_range part of a file, the end of the range is
EOF, and not aligned to a page boundary, invoke writeback of the EOF
page to ensure that the post-EOF part of the page is zeroed. This
ensures that we don't expose stale memory contents via mmap, if in a
clumsy manner.
Found by running generic/127 when it runs zero_range and mapread at EOF
one after the other.
Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
Reviewed-by: Allison Henderson <allison.henderson at oracle.com>
commit a3a374bf1889b1b401b25e6aada3ca4151a99d15
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date: Thu Jun 21 23:26:58 2018 -0700
xfs: fix off-by-one error in xfs_rtalloc_query_range
In commit 8ad560d2565e6 ("xfs: strengthen rtalloc query range checks")
we strengthened the input parameter checks in the rtbitmap range query
function, but introduced an off-by-one error in the process. The call
to xfs_rtfind_forw deals with the high key being rextents, but we clamp
the high key to rextents - 1. This causes the returned results to stop
one block short of the end of the rtdev, which is incorrect.
Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
Reviewed-by: Allison Henderson <allison.henderson at oracle.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
commit 232d0a24b0fc197c50e95fe65f236027b5fa1b74
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date: Thu Jun 21 23:26:57 2018 -0700
xfs: fix uninitialized field in rtbitmap fsmap backend
Initialize the extent count field of the high key so that when we use
the high key to synthesize an 'unknown owner' record (i.e. used space
record) at the end of the queried range we have a field with which to
compute rm_blockcount. This is not strictly necessary because the
synthesizer never uses the rm_blockcount field, but we can shut up the
static code analysis anyway.
Coverity-id: 1437358
Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
Reviewed-by: Allison Henderson <allison.henderson at oracle.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
commit 5bd88d153998c1b189fdeb8b8bd4cce36b5acf62
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date: Thu Jun 21 23:26:57 2018 -0700
xfs: recheck reflink state after grabbing ILOCK_SHARED for a write
The reflink iflag could have changed since the earlier unlocked check,
so if we got ILOCK_SHARED for a write and but we're now a reflink inode
we have to switch to ILOCK_EXCL and relock.
This helps us avoid blowing lock assertions in things like generic/166:
XFS: Assertion failed: xfs_isilocked(ip, XFS_ILOCK_EXCL), file: fs/xfs/xfs_reflink.c, line: 383
WARNING: CPU: 1 PID: 24707 at fs/xfs/xfs_message.c:104 assfail+0x25/0x30 [xfs]
Modules linked in: deadline_iosched dm_snapshot dm_bufio ext4 mbcache jbd2 dm_flakey xfs libcrc32c dax_pmem device_dax nd_pmem sch_fq_codel af_packet [last unloaded: scsi_debug]
CPU: 1 PID: 24707 Comm: xfs_io Not tainted 4.18.0-rc1-djw #1
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.10.2-1ubuntu1 04/01/2014
RIP: 0010:assfail+0x25/0x30 [xfs]
Code: ff 0f 0b c3 90 66 66 66 66 90 48 89 f1 41 89 d0 48 c7 c6 e8 ef 1b a0 48 89 fa 31 ff e8 54 f9 ff ff 80 3d fd ba 0f 00 00 75 03 <0f> 0b c3 0f 0b 66 0f 1f 44 00 00 66 66 66 66 90 48 63 f6 49 89 f9
RSP: 0018:ffffc90006423ad8 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff880030b65e80 RCX: 0000000000000000
RDX: 00000000ffffffc0 RSI: 000000000000000a RDI: ffffffffa01b0447
RBP: ffffc90006423c10 R08: 0000000000000000 R09: 0000000000000000
R10: ffff88003d43fc30 R11: f000000000000000 R12: ffff880077cda000
R13: 0000000000000000 R14: ffffc90006423c30 R15: ffffc90006423bf9
FS: 00007feba8986800(0000) GS:ffff88003ec00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000000138ab58 CR3: 000000003d40a000 CR4: 00000000000006a0
Call Trace:
xfs_reflink_allocate_cow+0x24c/0x3d0 [xfs]
xfs_file_iomap_begin+0x6d2/0xeb0 [xfs]
? iomap_to_fiemap+0x80/0x80
iomap_apply+0x5e/0x130
iomap_dio_rw+0x2e0/0x400
? iomap_to_fiemap+0x80/0x80
? xfs_file_dio_aio_write+0x133/0x4a0 [xfs]
xfs_file_dio_aio_write+0x133/0x4a0 [xfs]
xfs_file_write_iter+0x7b/0xb0 [xfs]
__vfs_write+0x16f/0x1f0
vfs_write+0xc8/0x1c0
ksys_pwrite64+0x74/0x90
do_syscall_64+0x56/0x180
entry_SYSCALL_64_after_hwframe+0x49/0xbe
Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
commit f62cb48e43195f66c7a40bbfcf11531fc1ff8999
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date: Thu Jun 21 23:26:57 2018 -0700
xfs: don't allow insert-range to shift extents past the maximum offset
Zorro Lang reports that generic/485 blows an assert on a filesystem with
512 byte blocks. The test tries to fallocate a post-eof extent at the
maximum file size and calls insert range to shift the extents right by
two blocks. On a 512b block filesystem this causes startoff to overflow
the 54-bit startoff field, leading to the assert.
Therefore, always check the rightmost extent to see if it would overflow
prior to invoking the insert range machinery.
Reported-by: zlang at redhat.com
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=200137
Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
Reviewed-by: Allison Henderson <allison.henderson at oracle.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
commit aafe12cee0b132824f5187987f8a3fb704b9f685
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date: Thu Jun 21 23:26:56 2018 -0700
xfs: don't trip over negative free space in xfs_reserve_blocks
If we somehow end up with a filesystem that has fewer free blocks than
the blocks set aside to avoid ENOSPC deadlocks, it's possible that the
free space calculation in xfs_reserve_blocks will spit out a negative
number (because percpu_counter_sum returns s64). We fail to notice
this negative number and set fdblks_delta to it. Now we increment
fdblocks(!) and the unsigned type of m_resblks means that we end up
setting a ridiculously huge m_resblks reservation.
Avoid this comedy of errors by detecting the negative free space and
returning -ENOSPC.
Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
Reviewed-by: Allison Henderson <allison.henderson at oracle.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
commit 10ee25268e1f8475905e1deb85bb83627dca561e
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date: Thu Jun 21 23:26:55 2018 -0700
xfs: allow empty transactions while frozen
In commit e89c041338ed6ef ("xfs: implement the GETFSMAP ioctl") we
created the ability to obtain empty transactions. These transactions
have no log or block reservations and therefore can't modify anything.
Since they're also NO_WRITECOUNT they can run while the fs is frozen,
so we don't need to WARN_ON about that usage.
Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
Reviewed-by: Allison Henderson <allison.henderson at oracle.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
commit 662d855c66c0a7400f9117b6ac02047942cd1d22
Author: Paul Burton <paul.burton at mips.com>
Date: Sun Jun 24 09:33:22 2018 -0700
MIPS: Add ksig argument to rseq_{signal_deliver,handle_notify_resume}
Commit 784e0300fe9f ("rseq: Avoid infinite recursion when delivering
SIGSEGV") added a new ksig argument to the rseq_signal_deliver() &
rseq_handle_notify_resume() functions, and was merged in v4.18-rc2.
Meanwhile MIPS support for restartable sequences was also merged in
v4.18-rc2 with commit 9ea141ad5471 ("MIPS: Add support for restartable
sequences"), and therefore didn't get updated for the API change.
This results in build failures like the following:
CC arch/mips/kernel/signal.o
arch/mips/kernel/signal.c: In function 'handle_signal':
arch/mips/kernel/signal.c:804:22: error: passing argument 1 of
'rseq_signal_deliver' from incompatible pointer type
[-Werror=incompatible-pointer-types]
rseq_signal_deliver(regs);
^~~~
In file included from ./include/linux/context_tracking.h:5,
from arch/mips/kernel/signal.c:12:
./include/linux/sched.h:1811:56: note: expected 'struct ksignal *' but
argument is of type 'struct pt_regs *'
static inline void rseq_signal_deliver(struct ksignal *ksig,
~~~~~~~~~~~~~~~~^~~~
arch/mips/kernel/signal.c:804:2: error: too few arguments to function
'rseq_signal_deliver'
rseq_signal_deliver(regs);
^~~~~~~~~~~~~~~~~~~
Fix this by adding the ksig argument as was done for other architectures
in commit 784e0300fe9f ("rseq: Avoid infinite recursion when delivering
SIGSEGV").
Signed-off-by: Paul Burton <paul.burton at mips.com>
Acked-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
Patchwork: https://patchwork.linux-mips.org/patch/19603/
Cc: James Hogan <jhogan at kernel.org>
Cc: Ralf Baechle <ralf at linux-mips.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Paul E. McKenney <paulmck at linux.vnet.ibm.com>
Cc: Boqun Feng <boqun.feng at gmail.com>
Cc: Will Deacon <will.deacon at arm.com>
Cc: linux-mips at linux-mips.org
Cc: linux-kernel at vger.kernel.org
commit 829eb05365ff06e8adc23f2541597d0cc3c18348
Author: Colin Ian King <colin.king at canonical.com>
Date: Sun Jun 24 11:57:31 2018 +0100
sfc: make function efx_rps_hash_bucket static
The function efx_rps_hash_bucket is local to the source and
does not need to be in global scope, so make it static.
Cleans up sparse warning:
symbol 'efx_rps_hash_bucket' was not declared. Should it be static?
Signed-off-by: Colin Ian King <colin.king at canonical.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 2a221c04228bbf683fc8d3cb5d177aebb38b393c
Author: Hans de Goede <hdegoede at redhat.com>
Date: Mon Jun 18 18:09:36 2018 +0200
iio: imu: inv_mpu6050: Fix probe() failure on older ACPI based machines
Commit 5ec6486daa98 ("iio:imu: inv_mpu6050: support more interrupt types")
causes inv_mpu_core_probe() to fail if the IRQ does not have a
trigger-type setup.
This happens on machines where the mpu6050 is enumerated through ACPI and
an older Interrupt type ACPI resource is used for the interrupt, rather
then a GpioInt type type, causing the mpu6050 driver to no longer work
there. This happens on e.g. the Asus T100TA.
This commits makes the mpu6050 fallback to the old IRQF_TRIGGER_RISING
default if the irq-type is not setup, fixing this.
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
Fixes: 5ec6486daa98 ("iio:imu: inv_mpu6050: support more interrupt types")
Reviewed-by: Martin Kelly <mkelly at xevo.com>
Reviewed-by: Jean-Baptiste Maneyrol <jmaneyrol at invensense.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>
commit 92397a6c38d139d50fabbe9e2dc09b61d53b2377
Author: Phil Reid <preid at electromag.com.au>
Date: Tue Jun 5 14:15:10 2018 +0800
iio: buffer: fix the function signature to match implementation
linux/iio/buffer-dma.h was not updated to when length was changed to
unsigned int.
Fixes: c043ec1ca5ba ("iio:buffer: make length types match kfifo types")
Signed-off-by: Phil Reid <preid at electromag.com.au>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>
commit b02ec67a8e38875cdc5f9214be885022f11c0017
Author: Leonard Crestez <leonard.crestez at nxp.com>
Date: Thu Jun 7 21:52:50 2018 +0300
iio: mma8452: Fix ignoring MMA8452_INT_DRDY
Interrupts are ignored if no event bit is set in the status status
register and this breaks the buffer interface. No data is shown when
running "iio_generic_buffer -n mma8451 -a" and interrupt counts go
crazy.
Fix by not returning IRQ_NONE if DRDY is set.
Fixes: 605f72de137a ("iio: accel: mma8452: improvements to handle
multiple events")
Signed-off-by: Leonard Crestez <leonard.crestez at nxp.com>
cc: <Stable at vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>
commit 288320f6e9a254bb595b4783c9bdfcc7c0e73153
Author: Colin Ian King <colin.king at canonical.com>
Date: Wed May 30 19:19:36 2018 +0100
iio: tsl2x7x/tsl2772: avoid potential division by zero
It may be possible for tsl2772_get_lux to return a zero lux value
and hence a division by zero can occur when lux_val is zero. Check
for this case and return -ERANGE to avoid the division by zero.
Detected by CoverityScan, CID#1469484 ("Division or modulo by zero")
Signed-off-by: Colin Ian King <colin.king at canonical.com>
Acked-by: Brian Masney <masneyb at onstation.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>
commit 13399ff25f179811ce9c1df1523eb39f9e4a4772
Author: Tomasz Duszynski <tduszyns at gmail.com>
Date: Mon May 28 17:38:59 2018 +0200
iio: pressure: bmp280: fix relative humidity unit
According to IIO ABI relative humidity reading should be
returned in milli percent.
This patch addresses that by applying proper scaling and
returning integer instead of fractional format type specifier.
Note that the fixes tag is before the driver was heavily refactored
to introduce spi support, so the patch won't apply that far back.
Signed-off-by: Tomasz Duszynski <tduszyns at gmail.com>
Fixes: 14beaa8f5ab1 ("iio: pressure: bmp280: add humidity support")
Acked-by: Matt Ranostay <matt.ranostay at konsulko.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>
commit 3531456aba6c8a8c905730af96dbb83608538b71
Author: Vakul Garg <vakul.garg at nxp.com>
Date: Sun Jun 24 18:14:01 2018 +0530
strparser: Corrected typo in documentation.
Replaced strp_pause() with strp_unpause() to correct a seemingly copy
paste documentation mistake.
Signed-off-by: Vakul Garg <vakul.garg at nxp.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit e7e197edd09c25774b4f12cab19f9d5462f240f4
Author: Aleksander Morgado <aleksander at aleksander.es>
Date: Sat Jun 23 23:22:52 2018 +0200
qmi_wwan: add support for the Dell Wireless 5821e module
This module exposes two USB configurations: a QMI+AT capable setup on
USB config #1 and a MBIM capable setup on USB config #2.
By default the kernel will choose the MBIM capable configuration as
long as the cdc_mbim driver is available. This patch adds support for
the QMI port in the secondary configuration.
Signed-off-by: Aleksander Morgado <aleksander at aleksander.es>
Acked-by: Bjørn Mork <bjorn at mork.no>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 5ce36338a30f9814fc4824f9fe6c20cd83d872c7
Author: Ganesh Goudar <ganeshgr at chelsio.com>
Date: Sat Jun 23 20:28:26 2018 +0530
cxgb4: when disabling dcb set txq dcb priority to 0
When we are disabling DCB, store "0" in txq->dcb_prio
since that's used for future TX Work Request "OVLAN_IDX"
values. Setting non zero priority upon disabling DCB
would halt the traffic.
Reported-by: AMG Zollner Robert <robert at cloudmedia.eu>
CC: David Ahern <dsa at cumulusnetworks.com>
Signed-off-by: Casey Leedom <leedom at chelsio.com>
Signed-off-by: Ganesh Goudar <ganeshgr at chelsio.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 0fff9001840c314fa4473dee256976b1e4535e73
Author: Geert Uytterhoeven <geert+renesas at glider.be>
Date: Wed Jun 6 11:25:16 2018 +0200
ARM: Always build secure_cntvoff.S on ARM V7 to fix shmobile !SMP build
If CONFIG_SMP=n, building a kernel for R-Car Gen2 fails with:
arch/arm/mach-shmobile/setup-rcar-gen2.o: In function `rcar_gen2_timer_init':
setup-rcar-gen2.c:(.init.text+0x30): undefined reference to `secure_cntvoff_init'
Indeed, on R-Car Gen2 SoCs, secure_cntvoff_init() is not only needed for
secondary CPUs, but also for the boot CPU. This is most visible on SoCs
with Cortex A7 cores (e.g. R-Car E2, cfr. commit 9ce3fa6816c2fb59 ("ARM:
shmobile: rcar-gen2: Add CA7 arch_timer initialization for r8a7794")),
but Cortex A15 is affected, too.
Fix this by always providing secure_cntvoff_init() when building for ARM
V7.
Reported-by: Arnd Bergmann <arnd at arndb.de>
Fixes: 7c607944bc657616 ("ARM: smp: Add initialization of CNTVOFF")
Fixes: cad160ed0a94927e ("ARM: shmobile: Convert file to use cntvoff")
Signed-off-by: Geert Uytterhoeven <geert+renesas at glider.be>
Reviewed-by: Maxime Ripard <maxime.ripard at bootlin.com>
Reviewed-by: Simon Horman <horms+renesas at verge.net.au>
Signed-off-by: Olof Johansson <olof at lixom.net>
commit f377ad03697e049791da78d587f7b35f9c591ba2
Merge: fd7d58f0dbc3 3877ef7a1cce
Author: Olof Johansson <olof at lixom.net>
Date: Sat Jun 23 15:14:40 2018 -0700
Merge tag 'socfpga_nand_fix_v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into fixes
ARM: dts: socfpga: fix NAND support
- NAND should be using nand_x_clk, not nand_clk
- fix NAND node compatible for Cyclone5 and Arria10
* tag 'socfpga_nand_fix_v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
ARM: dts: socfpga: Fix NAND controller node compatible for Arria10
ARM: dts: socfpga: Fix NAND controller node compatible
ARM: dts: socfpga: Fix NAND controller clock supply
Signed-off-by: Olof Johansson <olof at lixom.net>
commit fd7d58f0dbc3e3c6d68d4a3dccabfe1e52a23345
Author: Olof Johansson <olof at lixom.net>
Date: Sat Jun 23 10:24:23 2018 -0700
ARM: multi_v7_defconfig: renormalize based on recent additions
The defconfig has drifted over time, as Kconfig entries have changed order
or default values. Several maintainers ended up running 'savedefconfig'
themselves which caused a cascade of conflicts. Let's do it once and
for all in our tree before -rc2 instead.
Signed-off-by: Olof Johansson <olof at lixom.net>
commit c432c08805963f9b145b86b5f4ac945881e1b9df
Author: Olof Johansson <olof at lixom.net>
Date: Sat Jun 23 10:24:23 2018 -0700
arm64: defconfig: renormalize based on recent additions
The defconfig has drifted over time, as Kconfig entries have changed order
or default values. Several maintainers ended up running 'savedefconfig'
themselves which caused a cascade of conflicts. Let's do it once and
for all in our tree before -rc2 instead.
Signed-off-by: Olof Johansson <olof at lixom.net>
commit fab9715bb89720c0eaf1a289972d133502d5267d
Merge: 526e43e21296 6b4154a655a2
Author: Olof Johansson <olof at lixom.net>
Date: Sat Jun 23 10:22:43 2018 -0700
Merge tag 'qcom-fixes-for-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into fixes
Qualcomm Fixes for v4.18-rc1
* Fix coresight graph on msm8916
* Disable uart0 on db820c by default
* tag 'qcom-fixes-for-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
arm64: dts: msm8916: fix Coresight ETF graph connections
arm64: dts: apq8096-db820c: disable uart0 by default
Signed-off-by: Olof Johansson <olof at lixom.net>
commit 526e43e21296935b66f969452366c95408f43c0b
Merge: a6623f5f31ee d64324acdb70
Author: Olof Johansson <olof at lixom.net>
Date: Sat Jun 23 10:21:45 2018 -0700
Merge tag 'arm-soc/for-4.18/maintainers-arm64-fixes' of https://github.com/Broadcom/stblinux into fixes
This pull request contains Broadcom ARM64-based SoCs MAINTAINERS file
fixes for 4.18, please pull the following:
- Florian fixes the entry for the Northstar2 SoCs which was somehow lost
during a directory move. He also adds an entry for the Stingray SoCs
which was missing from the day files were added
* tag 'arm-soc/for-4.18/maintainers-arm64-fixes' of https://github.com/Broadcom/stblinux:
MAINTAINERS: Update Broadcom iProc entry with Stingray
MAINAINTERS: Corrected Broadcom Northstar2 entry
Signed-off-by: Olof Johansson <olof at lixom.net>
commit a6623f5f31eec60dccc8d8196452140b5364123d
Merge: 0988e8e2e1fe 75af23c4736c
Author: Olof Johansson <olof at lixom.net>
Date: Sat Jun 23 10:20:30 2018 -0700
Merge tag 'arm-soc/for-4.18/devicetree-arm64-fixes' of https://github.com/Broadcom/stblinux into fixes
This pull request contains Broadcom ARM64-based SoCs Device Tree fixes
for 4.18, please pull the following:
- Scott fixes both the bcm958742k and bcm958742t reference boards to
have the correct eMMC voltage specified
- Ray fixes the I2C and PCIe Device Tree nodes interrupt specifiers for
Northstar 2 and Stingray SoCs.
* tag 'arm-soc/for-4.18/devicetree-arm64-fixes' of https://github.com/Broadcom/stblinux:
arm64: dts: Stingray: Fix I2C controller interrupt type
arm64: dts: ns2: Fix PCIe controller interrupt type
arm64: dts: ns2: Fix I2C controller interrupt type
arm64: dts: specify 1.8V EMMC capabilities for bcm958742t
arm64: dts: specify 1.8V EMMC capabilities for bcm958742k
Signed-off-by: Olof Johansson <olof at lixom.net>
commit 0988e8e2e1fe252415bad8800553b20f1dd287df
Merge: 652caf4ab1e6 6cb1628ad350
Author: Olof Johansson <olof at lixom.net>
Date: Sat Jun 23 10:18:39 2018 -0700
Merge tag 'arm-soc/for-4.18/devicetree-fixes' of https://github.com/Broadcom/stblinux into fixes
This pull request contains Broadcom ARM-based SoCs Device Tree fixes for
4.18, please pull the following:
- Ray fixes the I2C and PCIe interrupt types for the Cygnus SoC
- Florian fixes the I2C and PCIe interrupts for the Northstar
(BCM5301x), Northstar Plus and Hurricane 2 SoCs
* tag 'arm-soc/for-4.18/devicetree-fixes' of https://github.com/Broadcom/stblinux:
ARM: dts: Cygnus: Fix PCIe controller interrupt type
ARM: dts: Cygnus: Fix I2C controller interrupt type
ARM: dts: BCM5301x: Fix i2c controller interrupt type
ARM: dts: HR2: Fix interrupt types for i2c and PCIe
ARM: dts: NSP: Fix PCIe controllers interrupt types
ARM: dts: NSP: Fix i2c controller interrupt type
Signed-off-by: Olof Johansson <olof at lixom.net>
commit 652caf4ab1e6ab9106c62a7b3b411cd67b72902f
Merge: cb04a7944505 1bcfe0564044
Author: Olof Johansson <olof at lixom.net>
Date: Sat Jun 23 10:17:38 2018 -0700
Merge tag 'imx-fixes-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes
i.MX fixes for 4.18:
- Fix i.MX6SX PCIe MSI interrupt number, so that MSI IRQs can be
properly propagated to the upstream interrupt controller.
- Fix GPCv2 MIPI/PCIe/USB_HSIC's PGC offset. The values in Reference
Manual are incorrect.
- Correct SDMA setting for i.MX6Q SPI5 device to fix the issue, that
the SPI controller RX FIFO was not empty after a DMA transfer, and
the driver gets stuck in the next PIO transfer when reading one word
more than expected.
* tag 'imx-fixes-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
ARM: dts: imx6sx: fix irq for pcie bridge
soc: imx: gpcv2: correct PGC offset
ARM: dts: imx6q: Use correct SDMA script for SPI5 core
Signed-off-by: Olof Johansson <olof at lixom.net>
commit cb04a7944505a0d4c8097ca7279555a8ce35000f
Merge: a514338b94e8 977d5ba4507d
Author: Olof Johansson <olof at lixom.net>
Date: Sat Jun 23 10:16:55 2018 -0700
Merge tag 'renesas-fixes-for-v4.18' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes
Renesas ARM Based SoC Fixes for v4.18
Make PM domain initialization more robust in Renesas R-Car SYSC driver.
This resolves a regression due to re-parenting of PM domains by
086b399965a7ee7e ("soc: renesas: r8a77990-sysc: Add workaround for 3DG-{A,B}").
* tag 'renesas-fixes-for-v4.18' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
soc: renesas: rcar-sysc: Make PM domain initialization more robust
Signed-off-by: Olof Johansson <olof at lixom.net>
commit a514338b94e8e9b5db51754ff69d2a7b1c70426e
Merge: ce397d215ccd ac62cc9d9cd6
Author: Olof Johansson <olof at lixom.net>
Date: Sat Jun 23 10:14:08 2018 -0700
Merge tag 'mvebu-fixes-4.17-2' of git://git.infradead.org/linux-mvebu into fixes
mvebu fixes for 4.17 (part 2)
- Use correct size for ICU nodes (irq controller) on Armada 7K/8K
- Fix "#cooling-cells" property's name on Synology DS116 (Armada 385)
* tag 'mvebu-fixes-4.17-2' of git://git.infradead.org/linux-mvebu:
arm: dts: armada: Fix "#cooling-cells" property's name
arm64: dts: marvell: fix CP110 ICU node size
Signed-off-by: Olof Johansson <olof at lixom.net>
commit b2f82565f2caa1a5c1a26e68593eaef355fae3f4
Author: Breno Leitao <leitao at debian.org>
Date: Wed Jun 20 16:35:16 2018 -0300
powerpc: Wire up io_pgetevents
Wire up io_pgetevents system call on powerpc.
io_pgetevents is a new syscall to read asynchronous I/O events from the
completion queue.
Tested with libaio branch aio-poll[1] and the io_pgetevents test (#22) passed
on both ppc64 LE and BE modes.
[1] https://pagure.io/libaio/branch/aio-poll
CC: Christoph Hellwig <hch at lst.de>
Signed-off-by: Breno Leitao <leitao at debian.org>
Acked-by: Christoph Hellwig <hch at lst.de>
Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
commit 6b4154a655a258c67bcfabbd4c3a06637e74ebcd
Author: Rob Herring <robh at kernel.org>
Date: Tue May 8 10:09:51 2018 -0500
arm64: dts: msm8916: fix Coresight ETF graph connections
The ETF input should be connected to the funnel output, and the ETF
output should be connected to the replicator input. The labels are wrong
and these got swapped:
Warning (graph_endpoint): /soc/funnel at 821000/ports/port at 8/endpoint: graph connection to node '/soc/etf at 825000/ports/port at 1/endpoint' is not bidirectional
Warning (graph_endpoint): /soc/replicator at 824000/ports/port at 2/endpoint: graph connection to node '/soc/etf at 825000/ports/port at 0/endpoint' is not bidirectional
Fixes: 7c10da373698 ("arm64: dts: qcom: Add msm8916 CoreSight components")
Cc: Ivan T. Ivanov <ivan.ivanov at linaro.org>
Cc: Mathieu Poirier <mathieu.poirier at linaro.org>
Cc: Andy Gross <andy.gross at linaro.org>
Cc: David Brown <david.brown at linaro.org>
Cc: linux-arm-msm at vger.kernel.org
Signed-off-by: Rob Herring <robh at kernel.org>
Reviewed-by: Mathieu Poirier <mathieu.poirier at linaro.org>
Tested-by: Mathieu Poirier <mathieu.poirier at linaro.org>
Signed-off-by: Andy Gross <andy.gross at linaro.org>
commit 1ebb2709ba39bf291a30dc1fcf937f46c4675f4d
Author: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
Date: Tue Jun 12 15:48:06 2018 +0100
arm64: dts: apq8096-db820c: disable uart0 by default
Access to UART0 is disabled by bootloaders. By leaving it enabled by
default would reboot the board.
Disable this for now, this would alteast give a board which boots.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson at linaro.org>
Signed-off-by: Andy Gross <andy.gross at linaro.org>
commit 35b42da69e35536da603a50e40aa6c41b2f7b0f8
Author: Cong Wang <xiyou.wangcong at gmail.com>
Date: Fri Jun 22 14:33:16 2018 -0700
net_sched: remove a bogus warning in hfsc
In update_vf():
cftree_remove(cl);
update_cfmin(cl->cl_parent);
the cl_cfmin of cl->cl_parent is intentionally updated to 0
when that parent only has one child. And if this parent is
root qdisc, we could end up, in hfsc_schedule_watchdog(),
that we can't decide the next schedule time for qdisc watchdog.
But it seems safe that we can just skip it, as this watchdog is
not always scheduled anyway.
Thanks to Marco for testing all the cases, nothing is broken.
Reported-by: Marco Berizzi <pupilla at libero.it>
Tested-by: Marco Berizzi <pupilla at libero.it>
Signed-off-by: Cong Wang <xiyou.wangcong at gmail.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 2ca4eb85744b1cd93076418ac8430ba527cc35bb
Merge: e020797b7def 0ce4e70ff006
Author: David S. Miller <davem at davemloft.net>
Date: Sat Jun 23 10:46:44 2018 +0900
Merge branch 'dccp-fixes-around-rx_tstamp_last_feedback'
Eric Dumazet says:
====================
net: dccp: fixes around rx_tstamp_last_feedback
This patch series fix some issues with rx_tstamp_last_feedback.
- Switch to monotonic clock.
- Avoid potential overflows on fast hosts/networks.
====================
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 0ce4e70ff00662ad7490e545ba0cd8c1fa179fca
Author: Eric Dumazet <edumazet at google.com>
Date: Fri Jun 22 06:44:15 2018 -0700
net: dccp: switch rx_tstamp_last_feedback to monotonic clock
To compute delays, better not use time of the day which can
be changed by admins or malicious programs.
Also change ccid3_first_li() to use s64 type for delta variable
to avoid potential overflows.
Signed-off-by: Eric Dumazet <edumazet at google.com>
Cc: Gerrit Renker <gerrit at erg.abdn.ac.uk>
Cc: dccp at vger.kernel.org
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 74174fe5634ffbf645a7ca5a261571f700b2f332
Author: Eric Dumazet <edumazet at google.com>
Date: Fri Jun 22 06:44:14 2018 -0700
net: dccp: avoid crash in ccid3_hc_rx_send_feedback()
On fast hosts or malicious bots, we trigger a DCCP_BUG() which
seems excessive.
syzbot reported :
BUG: delta (-6195) <= 0 at net/dccp/ccids/ccid3.c:628/ccid3_hc_rx_send_feedback()
CPU: 1 PID: 18 Comm: ksoftirqd/1 Not tainted 4.18.0-rc1+ #112
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x1c9/0x2b4 lib/dump_stack.c:113
ccid3_hc_rx_send_feedback net/dccp/ccids/ccid3.c:628 [inline]
ccid3_hc_rx_packet_recv.cold.16+0x38/0x71 net/dccp/ccids/ccid3.c:793
ccid_hc_rx_packet_recv net/dccp/ccid.h:185 [inline]
dccp_deliver_input_to_ccids+0xf0/0x280 net/dccp/input.c:180
dccp_rcv_established+0x87/0xb0 net/dccp/input.c:378
dccp_v4_do_rcv+0x153/0x180 net/dccp/ipv4.c:654
sk_backlog_rcv include/net/sock.h:914 [inline]
__sk_receive_skb+0x3ba/0xd80 net/core/sock.c:517
dccp_v4_rcv+0x10f9/0x1f58 net/dccp/ipv4.c:875
ip_local_deliver_finish+0x2eb/0xda0 net/ipv4/ip_input.c:215
NF_HOOK include/linux/netfilter.h:287 [inline]
ip_local_deliver+0x1e9/0x750 net/ipv4/ip_input.c:256
dst_input include/net/dst.h:450 [inline]
ip_rcv_finish+0x823/0x2220 net/ipv4/ip_input.c:396
NF_HOOK include/linux/netfilter.h:287 [inline]
ip_rcv+0xa18/0x1284 net/ipv4/ip_input.c:492
__netif_receive_skb_core+0x2488/0x3680 net/core/dev.c:4628
__netif_receive_skb+0x2c/0x1e0 net/core/dev.c:4693
process_backlog+0x219/0x760 net/core/dev.c:5373
napi_poll net/core/dev.c:5771 [inline]
net_rx_action+0x7da/0x1980 net/core/dev.c:5837
__do_softirq+0x2e8/0xb17 kernel/softirq.c:284
run_ksoftirqd+0x86/0x100 kernel/softirq.c:645
smpboot_thread_fn+0x417/0x870 kernel/smpboot.c:164
kthread+0x345/0x410 kernel/kthread.c:240
ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:412
Signed-off-by: Eric Dumazet <edumazet at google.com>
Reported-by: syzbot <syzkaller at googlegroups.com>
Cc: Gerrit Renker <gerrit at erg.abdn.ac.uk>
Cc: dccp at vger.kernel.org
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 7b4e88434c4e7982fb053c49657e1c8bbb8692d9
Author: Casey Schaufler <casey at schaufler-ca.com>
Date: Fri Jun 22 10:54:45 2018 -0700
Smack: Mark inode instant in smack_task_to_inode
Smack: Mark inode instant in smack_task_to_inode
/proc clean-up in commit 1bbc55131e59bd099fdc568d3aa0b42634dbd188
resulted in smack_task_to_inode() being called before smack_d_instantiate.
This resulted in the smk_inode value being ignored, even while present
for files in /proc/self. Marking the inode as instant here fixes that.
Signed-off-by: Casey Schaufler <casey at schaufler-ca.com>
Signed-off-by: James Morris <james.morris at microsoft.com>
commit e020797b7def11c8feeb3ee5c1f48c12cb959def
Author: Geert Uytterhoeven <geert at linux-m68k.org>
Date: Fri Jun 22 13:08:43 2018 +0200
net: Remove depends on HAS_DMA in case of platform dependency
Remove dependencies on HAS_DMA where a Kconfig symbol depends on another
symbol that implies HAS_DMA, and, optionally, on "|| COMPILE_TEST".
In most cases this other symbol is an architecture or platform specific
symbol, or PCI.
Generic symbols and drivers without platform dependencies keep their
dependencies on HAS_DMA, to prevent compiling subsystems or drivers that
cannot work anyway.
This simplifies the dependencies, and allows to improve compile-testing.
Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>
Reviewed-by: Mark Brown <broonie at kernel.org>
Acked-by: Robin Murphy <robin.murphy at arm.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 935c5e3eafe8186dd13e1eda24ad82ecae942852
Author: Geert Uytterhoeven <geert at linux-m68k.org>
Date: Fri Jun 22 12:08:13 2018 +0200
MAINTAINERS: Add file patterns for dsa device tree bindings
Submitters of device tree binding documentation may forget to CC
the subsystem maintainer if this is missing.
Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit c2cd650b5b2bd6b57f2f62be65b1a8a576d4de6d
Author: Antoine Tenart <antoine.tenart at bootlin.com>
Date: Fri Jun 22 11:50:52 2018 +0200
net: mscc: make sparse happy
This patch fixes a sparse warning about using an incorrect type in
argument 2 of ocelot_write_rix(), as an u32 was expected but a __be32
was given. The conversion to u32 is forced, which is safe as the value
will be written as-is in the hardware without any modification.
Fixes: 08d02364b12f ("net: mscc: fix the injection header")
Signed-off-by: Antoine Tenart <antoine.tenart at bootlin.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 271f7ff5aa5a73488b7a9d8b84b5205fb5b2f7cc
Author: Antoine Tenart <antoine.tenart at bootlin.com>
Date: Fri Jun 22 10:15:39 2018 +0200
net: mvneta: fix the Rx desc DMA address in the Rx path
When using s/w buffer management, buffers are allocated and DMA mapped.
When doing so on an arm64 platform, an offset correction is applied on
the DMA address, before storing it in an Rx descriptor. The issue is
this DMA address is then used later in the Rx path without removing the
offset correction. Thus the DMA address is wrong, which can led to
various issues.
This patch fixes this by removing the offset correction from the DMA
address retrieved from the Rx descriptor before using it in the Rx path.
Fixes: 8d5047cf9ca2 ("net: mvneta: Convert to be 64 bits compatible")
Signed-off-by: Antoine Tenart <antoine.tenart at bootlin.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 805f16a5f12fd68e10841013ccfaceb2f4d7066a
Author: Tobin C. Harding <me at tobin.cc>
Date: Fri Jun 22 10:37:08 2018 +1000
Documentation: e1000: Fix docs build error
Recent patch updated e1000 docs to rst format. Docs build (`make
htmldocs`) is currently failing due to this file with error:
(SEVERE/4) Unexpected section title.
This is because a section of the file is indented 2 spaces. Build error
can be cleared by aligning the text with column 0. While we are changing
these lines we can make sure line length does not exceed 72, that
newlines following headings are uniform, and that full stops are
followed by two spaces.
Align text with column 0, limit line length to 72, ensure two spaces
follow all full stops, ensure uniform use of newlines after heading.
Fixes commit (228046e76189 Documentation: e1000: Update kernel documentation)
CC: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
Signed-off-by: Tobin C. Harding <me at tobin.cc>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 3b0c3ebe2a42ce18a59828acc4578166367dc7b5
Author: Tobin C. Harding <me at tobin.cc>
Date: Fri Jun 22 10:37:07 2018 +1000
Documentation: e100: Fix docs build error
Recent patch updated e100 docs to rst format. Docs build (`make
htmldocs`) is currently failing due to this file with error:
(SEVERE/4) Unexpected section title.
This is because a section of the file is indented 2 spaces. Build error
can be cleared by aligning the text with column 0. While we are changing
these lines we can make sure line length does not exceed 72, that
newlines following headings are uniform, and that full stops are
followed by two spaces.
Align text with column 0, limit line length to 72, ensure two spaces
follow all full stops, ensure uniform use of newlines after heading.
Fixes commit (85d63445f411 Documentation: e100: Update the Intel 10/100 driver doc)
CC: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
Signed-off-by: Tobin C. Harding <me at tobin.cc>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 3be40e54764d3ac9c004dc1646ab2c4cc0f0905e
Author: Tobin C. Harding <me at tobin.cc>
Date: Fri Jun 22 10:37:06 2018 +1000
Documentation: e1000: Use correct heading adornment
Recently documentation file was converted to rst. The document title
has the incorrect heading adornment. From kernel docs:
* Please stick to this order of heading adornments:
1. ``=`` with overline for document title::
==============
Document title
==============
Add overline heading adornment to document title.
Fixes commit (228046e76189 Documentation: e1000: Update kernel documentation)
CC: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
Signed-off-by: Tobin C. Harding <me at tobin.cc>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 32e6996ca697099a4be5cd0dbd4b436699ca81a9
Author: Tobin C. Harding <me at tobin.cc>
Date: Fri Jun 22 10:37:05 2018 +1000
Documentation: e100: Use correct heading adornment
Recently documentation file was converted to rst. The document title
has the incorrect heading adornment. From kernel docs:
* Please stick to this order of heading adornments:
1. ``=`` with overline for document title::
==============
Document title
==============
Add overline heading adornment to document title.
Fixes commit (85d63445f411 Documentation: e100: Update the Intel 10/100 driver doc)
CC: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
Signed-off-by: Tobin C. Harding <me at tobin.cc>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 6c6da92808442908287fae8ebb0ca041a52469f4
Author: Hangbin Liu <liuhangbin at gmail.com>
Date: Thu Jun 21 19:49:36 2018 +0800
ipv6: mcast: fix unsolicited report interval after receiving querys
After recieving MLD querys, we update idev->mc_maxdelay with max_delay
from query header. This make the later unsolicited reports have the same
interval with mc_maxdelay, which means we may send unsolicited reports with
long interval time instead of default configured interval time.
Also as we will not call ipv6_mc_reset() after device up. This issue will
be there even after leave the group and join other groups.
Fixes: fc4eba58b4c14 ("ipv6: make unsolicited report intervals configurable for mld")
Signed-off-by: Hangbin Liu <liuhangbin at gmail.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit b8f1f65882f07913157c44673af7ec0b308d03eb
Author: Jason Wang <jasowang at redhat.com>
Date: Thu Jun 21 13:11:31 2018 +0800
vhost_net: validate sock before trying to put its fd
Sock will be NULL if we pass -1 to vhost_net_set_backend(), but when
we meet errors during ubuf allocation, the code does not check for
NULL before calling sockfd_put(), this will lead NULL
dereferencing. Fixing by checking sock pointer before.
Fixes: bab632d69ee4 ("vhost: vhost TX zero-copy support")
Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
Signed-off-by: Jason Wang <jasowang at redhat.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit f2ccaa5904666f84d4e6958d6db9d1e65ead5085
Author: Arnd Bergmann <arnd at arndb.de>
Date: Fri Jun 22 10:01:19 2018 +0200
dm raid: don't use 'const' in function return
A newly introduced function has 'const int' as the return type,
but as "make W=1" reports, that has no meaning:
drivers/md/dm-raid.c:510:18: error: type qualifiers ignored on function return type [-Werror=ignored-qualifiers]
This changes the return type to plain 'int'.
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Fixes: 33e53f06850f ("dm raid: introduce extended superblock and new raid types to support takeover/reshaping")
Signed-off-by: Mike Snitzer <snitzer at redhat.com>
Fixes: 552aa679f2657431 ("dm raid: use rs_is_raid*()")
Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>
Signed-off-by: Mike Snitzer <snitzer at redhat.com>
commit 2d0b2d64d325e22939d9db3ba784f1236459ed98
Author: Bart Van Assche <bart.vanassche at wdc.com>
Date: Fri Jun 22 08:09:11 2018 -0700
dm zoned: avoid triggering reclaim from inside dmz_map()
This patch avoids that lockdep reports the following:
======================================================
WARNING: possible circular locking dependency detected
4.18.0-rc1 #62 Not tainted
------------------------------------------------------
kswapd0/84 is trying to acquire lock:
00000000c313516d (&xfs_nondir_ilock_class){++++}, at: xfs_free_eofblocks+0xa2/0x1e0
but task is already holding lock:
00000000591c83ae (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x5/0x30
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #2 (fs_reclaim){+.+.}:
kmem_cache_alloc+0x2c/0x2b0
radix_tree_node_alloc.constprop.19+0x3d/0xc0
__radix_tree_create+0x161/0x1c0
__radix_tree_insert+0x45/0x210
dmz_map+0x245/0x2d0 [dm_zoned]
__map_bio+0x40/0x260
__split_and_process_non_flush+0x116/0x220
__split_and_process_bio+0x81/0x180
__dm_make_request.isra.32+0x5a/0x100
generic_make_request+0x36e/0x690
submit_bio+0x6c/0x140
mpage_readpages+0x19e/0x1f0
read_pages+0x6d/0x1b0
__do_page_cache_readahead+0x21b/0x2d0
force_page_cache_readahead+0xc4/0x100
generic_file_read_iter+0x7c6/0xd20
__vfs_read+0x102/0x180
vfs_read+0x9b/0x140
ksys_read+0x55/0xc0
do_syscall_64+0x5a/0x1f0
entry_SYSCALL_64_after_hwframe+0x49/0xbe
-> #1 (&dmz->chunk_lock){+.+.}:
dmz_map+0x133/0x2d0 [dm_zoned]
__map_bio+0x40/0x260
__split_and_process_non_flush+0x116/0x220
__split_and_process_bio+0x81/0x180
__dm_make_request.isra.32+0x5a/0x100
generic_make_request+0x36e/0x690
submit_bio+0x6c/0x140
_xfs_buf_ioapply+0x31c/0x590
xfs_buf_submit_wait+0x73/0x520
xfs_buf_read_map+0x134/0x2f0
xfs_trans_read_buf_map+0xc3/0x580
xfs_read_agf+0xa5/0x1e0
xfs_alloc_read_agf+0x59/0x2b0
xfs_alloc_pagf_init+0x27/0x60
xfs_bmap_longest_free_extent+0x43/0xb0
xfs_bmap_btalloc_nullfb+0x7f/0xf0
xfs_bmap_btalloc+0x428/0x7c0
xfs_bmapi_write+0x598/0xcc0
xfs_iomap_write_allocate+0x15a/0x330
xfs_map_blocks+0x1cf/0x3f0
xfs_do_writepage+0x15f/0x7b0
write_cache_pages+0x1ca/0x540
xfs_vm_writepages+0x65/0xa0
do_writepages+0x48/0xf0
__writeback_single_inode+0x58/0x730
writeback_sb_inodes+0x249/0x5c0
wb_writeback+0x11e/0x550
wb_workfn+0xa3/0x670
process_one_work+0x228/0x670
worker_thread+0x3c/0x390
kthread+0x11c/0x140
ret_from_fork+0x3a/0x50
-> #0 (&xfs_nondir_ilock_class){++++}:
down_read_nested+0x43/0x70
xfs_free_eofblocks+0xa2/0x1e0
xfs_fs_destroy_inode+0xac/0x270
dispose_list+0x51/0x80
prune_icache_sb+0x52/0x70
super_cache_scan+0x127/0x1a0
shrink_slab.part.47+0x1bd/0x590
shrink_node+0x3b5/0x470
balance_pgdat+0x158/0x3b0
kswapd+0x1ba/0x600
kthread+0x11c/0x140
ret_from_fork+0x3a/0x50
other info that might help us debug this:
Chain exists of:
&xfs_nondir_ilock_class --> &dmz->chunk_lock --> fs_reclaim
Possible unsafe locking scenario:
CPU0 CPU1
---- ----
lock(fs_reclaim);
lock(&dmz->chunk_lock);
lock(fs_reclaim);
lock(&xfs_nondir_ilock_class);
*** DEADLOCK ***
3 locks held by kswapd0/84:
#0: 00000000591c83ae (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x5/0x30
#1: 000000000f8208f5 (shrinker_rwsem){++++}, at: shrink_slab.part.47+0x3f/0x590
#2: 00000000cacefa54 (&type->s_umount_key#43){.+.+}, at: trylock_super+0x16/0x50
stack backtrace:
CPU: 7 PID: 84 Comm: kswapd0 Not tainted 4.18.0-rc1 #62
Hardware name: Supermicro Super Server/X10SRL-F, BIOS 2.0 12/17/2015
Call Trace:
dump_stack+0x85/0xcb
print_circular_bug.isra.36+0x1ce/0x1db
__lock_acquire+0x124e/0x1310
lock_acquire+0x9f/0x1f0
down_read_nested+0x43/0x70
xfs_free_eofblocks+0xa2/0x1e0
xfs_fs_destroy_inode+0xac/0x270
dispose_list+0x51/0x80
prune_icache_sb+0x52/0x70
super_cache_scan+0x127/0x1a0
shrink_slab.part.47+0x1bd/0x590
shrink_node+0x3b5/0x470
balance_pgdat+0x158/0x3b0
kswapd+0x1ba/0x600
kthread+0x11c/0x140
ret_from_fork+0x3a/0x50
Reported-by: Masato Suzuki <masato.suzuki at wdc.com>
Fixes: 4218a9554653 ("dm zoned: use GFP_NOIO in I/O path")
Cc: <stable at vger.kernel.org>
Signed-off-by: Bart Van Assche <bart.vanassche at wdc.com>
Signed-off-by: Mike Snitzer <snitzer at redhat.com>
commit 50a7d3ba7c9ac5e0b7e03fc7f420180989361dbf
Author: Kees Cook <keescook at chromium.org>
Date: Mon Jun 18 10:50:33 2018 -0700
dm writecache: use 2-factor allocator arguments
This adjusts the allocator calls to use the 2-factor argument style, as
already done treewide for better defense against allocator overflows.
Signed-off-by: Kees Cook <keescook at chromium.org>
[snitzer: tweaked code to leave assignment in a test alone]
Signed-off-by: Mike Snitzer <snitzer at redhat.com>
commit 7ccdbf85d3b2237cdbdafe6a47673dbdfab4b7a2
Author: Mike Snitzer <snitzer at redhat.com>
Date: Mon Jun 18 11:57:51 2018 -0400
dm thin metadata: remove needless work from __commit_transaction
Commit 5a32083d03fb5 ("dm: take care to copy the space map roots before
locking the superblock") properly removed the calls to dm_sm_root_size()
from __write_initial_superblock(). But the dm_sm_root_size() calls were
left dangling in __commit_transaction().
Fixes: 5a32083d03fb5 ("dm: take care to copy the space map roots before locking the superblock")
Signed-off-by: Mike Snitzer <snitzer at redhat.com>
commit f21c601a2bb319ec19eb4562eadc7797d90fd90e
Author: Mike Snitzer <snitzer at redhat.com>
Date: Fri Jun 15 09:35:33 2018 -0400
dm: use bio_split() when splitting out the already processed bio
Use of bio_clone_bioset() is inefficient if there is no need to clone
the original bio's bio_vec array. Best to use the bio_clone_fast()
variant. Also, just using bio_advance() is only part of what is needed
to properly setup the clone -- it doesn't account for the various
bio_integrity() related work that also needs to be performed (see
bio_split).
Address both of these issues by switching from bio_clone_bioset() to
bio_split().
Fixes: 18a25da8 ("dm: ensure bio submission follows a depth-first tree walk")
Cc: stable at vger.kernel.org # 4.15+, requires removal of '&' before md->queue->bio_split
Reported-by: Christoph Hellwig <hch at lst.de>
Reviewed-by: NeilBrown <neilb at suse.com>
Signed-off-by: Mike Snitzer <snitzer at redhat.com>
commit 3f6e6986045d47f87bd982910821b7ab9758487e
Author: Masahiro Yamada <yamada.masahiro at socionext.com>
Date: Sat Jun 23 01:06:34 2018 +0900
mtd: rawnand: denali_dt: set clk_x_rate to 200 MHz unconditionally
Since commit 1bb88666775e ("mtd: nand: denali: handle timing parameters
by setup_data_interface()"), denali_dt.c gets the clock rate from the
clock driver. The driver expects the frequency of the bus interface
clock, whereas the clock driver of SOCFPGA provides the core clock.
Thus, the setup_data_interface() hook calculates timing parameters
based on a wrong frequency.
To make it work without relying on the clock driver, hard-code the clock
frequency, 200MHz. This is fine for existing DT of UniPhier, and also
fixes the issue of SOCFPGA because both platforms use 200 MHz for the
bus interface clock.
Fixes: 1bb88666775e ("mtd: nand: denali: handle timing parameters by setup_data_interface()")
Cc: linux-stable <stable at vger.kernel.org> #4.14+
Reported-by: Philipp Rosenberger <p.rosenberger at linutronix.de>
Suggested-by: Boris Brezillon <boris.brezillon at bootlin.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
Tested-by: Richard Weinberger <richard at nod.at>
Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>
commit c5b4a50b74018b3677098151ec5f4fce07d5e6a0
Author: Filipe Manana <fdmanana at suse.com>
Date: Mon Jun 11 19:24:16 2018 +0100
Btrfs: fix return value on rename exchange failure
If we failed during a rename exchange operation after starting/joining a
transaction, we would end up replacing the return value, stored in the
local 'ret' variable, with the return value from btrfs_end_transaction().
So this could end up returning 0 (success) to user space despite the
operation having failed and aborted the transaction, because if there are
multiple tasks having a reference on the transaction at the time
btrfs_end_transaction() is called by the rename exchange, that function
returns 0 (otherwise it returns -EIO and not the original error value).
So fix this by not overwriting the return value on error after getting
a transaction handle.
Fixes: cdd1fedf8261 ("btrfs: add support for RENAME_EXCHANGE and RENAME_WHITEOUT")
CC: stable at vger.kernel.org # 4.9+
Signed-off-by: Filipe Manana <fdmanana at suse.com>
Reviewed-by: David Sterba <dsterba at suse.com>
Signed-off-by: David Sterba <dsterba at suse.com>
commit 275ec0cb946cb75ac8977f662e608fce92f8b8a8
Author: Takashi Iwai <tiwai at suse.de>
Date: Fri Jun 22 12:17:45 2018 +0200
ALSA: hda/realtek - Add a quirk for FSC ESPRIMO U9210
Fujitsu Seimens ESPRIMO Mobile U9210 requires the same fixup as H270
for the correct pin configs.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=200107
Cc: <stable at vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai at suse.de>
commit cbdceb9b3e1928554fffd0d889adf2d0d8edee4d
Author: Geert Uytterhoeven <geert at linux-m68k.org>
Date: Fri Jun 22 09:04:25 2018 +0200
mtd: dataflash: Use ULL suffix for 64-bit constants
With gcc 4.1.2 when compiling for 32-bit:
drivers/mtd/devices/mtd_dataflash.c:736: warning: integer constant is too large for ‘long’ type
drivers/mtd/devices/mtd_dataflash.c:737: warning: integer constant is too large for ‘long’ type
Add the missing "ULL" suffixes to fix this.
Fixes: 67e4145ebf2c161d ("mtd: dataflash: Add flash_info for AT45DB641E")
Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>
Acked-by: Andrey Smirnov <andrew.smirnov at gmail.com>
Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>
commit f1ce87f6080b1dda7e7b1eda3da332add19d87b9
Author: Joakim Tjernlund <joakim.tjernlund at infinera.com>
Date: Wed Jun 6 12:13:30 2018 +0200
mtd: cfi_cmdset_0002: Avoid walking all chips when unlocking.
cfi_ppb_unlock() walks all flash chips when unlocking sectors,
avoid walking chips unaffected by the unlock operation.
Fixes: 1648eaaa1575 ("mtd: cfi_cmdset_0002: Support Persistent Protection Bits (PPB) locking")
Cc: stable at vger.kernel.org
Signed-off-by: Joakim Tjernlund <joakim.tjernlund at infinera.com>
Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>
commit e53946dbd31a21f4bef155f8febba556933d62bf
Author: Dave Chinner <dchinner at redhat.com>
Date: Thu Jun 21 23:26:05 2018 -0700
xfs: xfs_iflush_abort() can be called twice on cluster writeback failure
When a corrupt inode is detected during xfs_iflush_cluster, we can
get a shutdown ASSERT failure like this:
XFS (pmem1): Metadata corruption detected at xfs_symlink_shortform_verify+0x5c/0xa0, inode 0x86627 data fork
XFS (pmem1): Unmount and run xfs_repair
XFS (pmem1): xfs_do_force_shutdown(0x8) called from line 3372 of file fs/xfs/xfs_inode.c. Return address = ffffffff814f4116
XFS (pmem1): Corruption of in-memory data detected. Shutting down filesystem
XFS (pmem1): xfs_do_force_shutdown(0x1) called from line 222 of file fs/xfs/libxfs/xfs_defer.c. Return address = ffffffff814a8a88
XFS (pmem1): xfs_do_force_shutdown(0x1) called from line 222 of file fs/xfs/libxfs/xfs_defer.c. Return address = ffffffff814a8ef9
XFS (pmem1): Please umount the filesystem and rectify the problem(s)
XFS: Assertion failed: xfs_isiflocked(ip), file: fs/xfs/xfs_inode.h, line: 258
.....
Call Trace:
xfs_iflush_abort+0x10a/0x110
xfs_iflush+0xf3/0x390
xfs_inode_item_push+0x126/0x1e0
xfsaild+0x2c5/0x890
kthread+0x11c/0x140
ret_from_fork+0x24/0x30
Essentially, xfs_iflush_abort() has been called twice on the
original inode that that was flushed. This happens because the
inode has been flushed to teh buffer successfully via
xfs_iflush_int(), and so when another inode is detected as corrupt
in xfs_iflush_cluster, the buffer is marked stale and EIO, and
iodone callbacks are run on it.
Running the iodone callbacks walks across the original inode and
calls xfs_iflush_abort() on it. When xfs_iflush_cluster() returns
to xfs_iflush(), it runs the error path for that function, and that
calls xfs_iflush_abort() on the inode a second time, leading to the
above assert failure as the inode is not flush locked anymore.
This bug has been there a long time.
The simple fix would be to just avoid calling xfs_iflush_abort() in
xfs_iflush() if we've got a failure from xfs_iflush_cluster().
However, xfs_iflush_cluster() has magic delwri buffer handling that
means it may or may not have run IO completion on the buffer, and
hence sometimes we have to call xfs_iflush_abort() from
xfs_iflush(), and sometimes we shouldn't.
After reading through all the error paths and the delwri buffer
code, it's clear that the error handling in xfs_iflush_cluster() is
unnecessary. If the buffer is delwri, it leaves it on the delwri
list so that when the delwri list is submitted it sees a shutdown
fliesystem in xfs_buf_submit() and that marks the buffer stale, EIO
and runs IO completion. i.e. exactly what xfs+iflush_cluster() does
when it's not a delwri buffer. Further, marking a buffer stale
clears the _XBF_DELWRI_Q flag on the buffer, which means when
submission of the buffer occurs, it just skips over it and releases
it.
IOWs, the error handling in xfs_iflush_cluster doesn't need to care
if the buffer is already on a the delwri queue or not - it just
needs to mark the buffer stale, EIO and run completions. That means
we can just use the easy fix for xfs_iflush() to avoid the double
abort.
Signed-off-by: Dave Chinner <dchinner at redhat.com>
Reviewed-by: Brian Foster <bfoster at redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong at oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
commit 23fcb3340d033d9f081e21e6c12c2db7eaa541d3
Author: Dave Chinner <dchinner at redhat.com>
Date: Thu Jun 21 23:25:57 2018 -0700
xfs: More robust inode extent count validation
When the inode is in extent format, it can't have more extents that
fit in the inode fork. We don't currenty check this, and so this
corruption goes unnoticed by the inode verifiers. This can lead to
crashes operating on invalid in-memory structures.
Attempts to access such a inode will now error out in the verifier
rather than allowing modification operations to proceed.
Reported-by: Wen Xu <wen.xu at gatech.edu>
Signed-off-by: Dave Chinner <dchinner at redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong at oracle.com>
[darrick: fix a typedef, add some braces and breaks to shut up compiler warnings]
Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
commit e2ac836307e346969737c60075fdb01bed1af503
Author: Christoph Hellwig <hch at lst.de>
Date: Thu Jun 21 23:24:38 2018 -0700
xfs: simplify xfs_bmap_punch_delalloc_range
Instead of using xfs_bmapi_read to find delalloc extents and then punch
them out using xfs_bunmapi, opencode the loop to iterate over the extents
and call xfs_bmap_del_extent_delay directly. This both simplifies the
code and reduces the number of extent tree lookups required.
Signed-off-by: Christoph Hellwig <hch at lst.de>
Reviewed-by: Brian Foster <bfoster at redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong at oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
commit e5ab564c9ebee77794842ca7d7476147b83d6a27
Author: Claudio Imbrenda <imbrenda at linux.vnet.ibm.com>
Date: Wed Jun 20 15:51:51 2018 +0200
VSOCK: fix loopback on big-endian systems
The dst_cid and src_cid are 64 bits, therefore 64 bit accessors should be
used, and in fact in virtio_transport_common.c only 64 bit accessors are
used. Using 32 bit accessors for 64 bit values breaks big endian systems.
This patch fixes a wrong use of le32_to_cpu in virtio_transport_send_pkt.
Fixes: b9116823189e85ccf384 ("VSOCK: add loopback to virtio_transport")
Signed-off-by: Claudio Imbrenda <imbrenda at linux.vnet.ibm.com>
Reviewed-by: Stefan Hajnoczi <stefanha at redhat.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 40141bb480a2c7805e8f4faec14ade90121ecb06
Author: Colin Ian King <colin.king at canonical.com>
Date: Thu Jun 21 18:16:45 2018 +0100
net: ethernet: ti: davinci_cpdma: make function cpdma_desc_pool_create static
The function cpdma_desc_pool_create is local to the source and does not
need to be in global scope, so make it static.
Cleans up sparse warning:
warning: symbol 'cpdma_desc_pool_create' was not declared. Should it
be static?
Signed-off-by: Colin Ian King <colin.king at canonical.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko at ti.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit dd6bee81c942c0ea01030da9356026afb88f9d18
Author: Enno Boland <gottox at voidlinux.eu>
Date: Tue Jun 19 11:55:33 2018 -0700
Input: xpad - fix GPD Win 2 controller name
This fixes using the controller with SDL2.
SDL2 has a naive algorithm to apply the correct settings to a controller.
For X-Box compatible controllers it expects that the controller name
contains a variation of a 'XBOX'-string.
This patch changes the identifier to contain "X-Box" as substring. Tested
with Steam and C-Dogs-SDL which both detect the controller properly after
adding this patch.
Fixes: c1ba08390a8b ("Input: xpad - add GPD Win 2 Controller USB IDs")
Cc: stable at vger.kernel.org
Signed-off-by: Enno Boland <gottox at voidlinux.eu>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>
commit 50fc7b61959af4b95fafce7fe5dd565199e0b61a
Author: Ben Hutchings <ben.hutchings at codethink.co.uk>
Date: Tue Jun 19 11:17:32 2018 -0700
Input: elan_i2c_smbus - fix more potential stack buffer overflows
Commit 40f7090bb1b4 ("Input: elan_i2c_smbus - fix corrupted stack")
fixed most of the functions using i2c_smbus_read_block_data() to
allocate a buffer with the maximum block size. However three
functions were left unchanged:
* In elan_smbus_initialize(), increase the buffer size in the same
way.
* In elan_smbus_calibrate_result(), the buffer is provided by the
caller (calibrate_store()), so introduce a bounce buffer. Also
name the result buffer size.
* In elan_smbus_get_report(), the buffer is provided by the caller
but happens to be the right length. Add a compile-time assertion
to ensure this remains the case.
Cc: <stable at vger.kernel.org> # 3.19+
Signed-off-by: Ben Hutchings <ben.hutchings at codethink.co.uk>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires at redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>
commit 8938fc7b8fe9ccfa11751ead502a8d385b607967
Author: Alexandr Savca <alexandr.savca at saltedge.com>
Date: Thu Jun 21 17:12:54 2018 -0700
Input: elan_i2c - add ELAN0618 (Lenovo v330 15IKB) ACPI ID
Add ELAN0618 to the list of supported touchpads; this ID is used in
Lenovo v330 15IKB devices.
Signed-off-by: Alexandr Savca <alexandr.savca at saltedge.com>
Cc: stable at vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>
commit e0ae2519ca004a628fa55aeef969c37edce522d3
Author: ??? <kt.liao at emc.com.tw>
Date: Thu Jun 21 17:15:32 2018 -0700
Input: elantech - fix V4 report decoding for module with middle key
Some touchpad has middle key and it will be indicated in bit 2 of packet[0].
We need to fix V4 formation's byte mask to prevent error decoding.
Signed-off-by: KT Liao <kt.liao at emc.com.tw>
Cc: stable at vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>
commit 24bb555e6e46d96e2a954aa0295029a81cc9bbaa
Author: Aaron Ma <aaron.ma at canonical.com>
Date: Thu Jun 21 17:14:01 2018 -0700
Input: elantech - enable middle button of touchpads on ThinkPad P52
PNPID is better way to identify the type of touchpads.
Enable middle button support on 2 types of touchpads on Lenovo P52.
Cc: stable at vger.kernel.org
Signed-off-by: Aaron Ma <aaron.ma at canonical.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires at redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>
commit 0cd8116f172eed018907303dbff5c112690eeb91
Author: Joakim Tjernlund <joakim.tjernlund at infinera.com>
Date: Wed Jun 6 12:13:29 2018 +0200
mtd: cfi_cmdset_0002: Fix unlocking requests crossing a chip boudary
The "sector is in requested range" test used to determine whether
sectors should be re-locked or not is done on a variable that is reset
everytime we cross a chip boundary, which can lead to some blocks being
re-locked while the caller expect them to be unlocked.
Fix the check to make sure this cannot happen.
Fixes: 1648eaaa1575 ("mtd: cfi_cmdset_0002: Support Persistent Protection Bits (PPB) locking")
Cc: stable at vger.kernel.org
Signed-off-by: Joakim Tjernlund <joakim.tjernlund at infinera.com>
Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>
commit 962c661f14ad08d524f4870eeaa2d0856b830840
Merge: 44a5cd436ec0 45c8184c1bed
Author: David S. Miller <davem at davemloft.net>
Date: Fri Jun 22 07:54:54 2018 +0900
Merge branch 'xen-netfront-fixes'
Ross Lagerwall says:
====================
xen-netfront: Fix issues with commit f599c64fdf7d
Fix a couple of issues with commit f599c64fdf7d ("xen-netfront: Fix race
between device setup and open").
====================
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 45c8184c1bed1ca8a7f02918552063a00b909bf5
Author: Ross Lagerwall <ross.lagerwall at citrix.com>
Date: Thu Jun 21 14:00:21 2018 +0100
xen-netfront: Update features after registering netdev
Update the features after calling register_netdev() otherwise the
device features are not set up correctly and it not possible to change
the MTU of the device. After this change, the features reported by
ethtool match the device's features before the commit which introduced
the issue and it is possible to change the device's MTU.
Fixes: f599c64fdf7d ("xen-netfront: Fix race between device setup and open")
Reported-by: Liam Shepherd <liam at dancer.es>
Signed-off-by: Ross Lagerwall <ross.lagerwall at citrix.com>
Reviewed-by: Juergen Gross <jgross at suse.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit cb257783c2927b73614b20f915a91ff78aa6f3e8
Author: Ross Lagerwall <ross.lagerwall at citrix.com>
Date: Thu Jun 21 14:00:20 2018 +0100
xen-netfront: Fix mismatched rtnl_unlock
Fixes: f599c64fdf7d ("xen-netfront: Fix race between device setup and open")
Reported-by: Ben Hutchings <ben.hutchings at codethink.co.uk>
Signed-off-by: Ross Lagerwall <ross.lagerwall at citrix.com>
Reviewed-by: Juergen Gross <jgross at suse.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 5fdfc3dbad099281bf027a353d5786c09408a8e5
Author: Joakim Tjernlund <joakim.tjernlund at infinera.com>
Date: Wed Jun 6 12:13:28 2018 +0200
mtd: cfi_cmdset_0002: fix SEGV unlocking multiple chips
cfi_ppb_unlock() tries to relock all sectors that were locked before
unlocking the whole chip.
This locking used the chip start address + the FULL offset from the
first flash chip, thereby forming an illegal address. Fix that by using
the chip offset(adr).
Fixes: 1648eaaa1575 ("mtd: cfi_cmdset_0002: Support Persistent Protection Bits (PPB) locking")
Cc: stable at vger.kernel.org
Signed-off-by: Joakim Tjernlund <joakim.tjernlund at infinera.com>
Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>
commit f93aa8c4de307069c270b2d81741961162bead6c
Author: Joakim Tjernlund <joakim.tjernlund at infinera.com>
Date: Wed Jun 6 12:13:27 2018 +0200
mtd: cfi_cmdset_0002: Use right chip in do_ppb_xxlock()
do_ppb_xxlock() fails to add chip->start when querying for lock status
(and chip_ready test), which caused false status reports.
Fix that by adding adr += chip->start and adjust call sites
accordingly.
Fixes: 1648eaaa1575 ("mtd: cfi_cmdset_0002: Support Persistent Protection Bits (PPB) locking")
Cc: stable at vger.kernel.org
Signed-off-by: Joakim Tjernlund <joakim.tjernlund at infinera.com>
Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>
commit 3e1a61b30c6a3a31314570c0c418a6bf84b056b1
Author: Yonghong Song <yhs at fb.com>
Date: Thu Jun 21 10:02:20 2018 -0700
tools/bpf: fix test_sockmap failure
On one of our production test machine, when running
bpf selftest test_sockmap, I got the following error:
# sudo ./test_sockmap
libbpf: failed to create map (name: 'sock_map'): Operation not permitted
libbpf: failed to load object 'test_sockmap_kern.o'
libbpf: Can't get the 0th fd from program sk_skb1: only -1 instances
......
load_bpf_file: (-1) Operation not permitted
ERROR: (-1) load bpf failed
The error is due to not-big-enough rlimit
struct rlimit r = {10 * 1024 * 1024, RLIM_INFINITY};
The test already includes "bpf_rlimit.h", which sets current
and max rlimit to RLIM_INFINITY. Let us just use it.
Signed-off-by: Yonghong Song <yhs at fb.com>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit fe3dd97dd66bb7fb23b8077a3803d2f951e60b00
Author: Mason Yang <masonccyang at mxic.com.tw>
Date: Wed Jun 20 11:46:30 2018 +0200
mtd: rawnand: All AC chips have a broken GET_FEATURES(TIMINGS).
Make sure we flag all broken chips as not supporting this feature.
Also move this logic to a new function to keep things readable.
Fixes: 34c5c01e0c8c ("mtd: rawnand: macronix: nack the support of changing timings for one chip")
Cc: <stable at vger.kernel.org>
Signed-off-by: Mason Yang <masonccyang at mxic.com.tw>
Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>
Reviewed-by: Miquel Raynal <miquel.raynal at bootlin.com>
commit 81e167c2a216e7b54e6add9d2badcda267fe33b1
Author: Jeffrin Jose T <ahiliation at gmail.com>
Date: Thu Jun 21 22:30:20 2018 +0530
selftests: bpf: notification about privilege required to run test_kmod.sh testing script
The test_kmod.sh script require root privilege for the successful
execution of the test.
This patch is to notify the user about the privilege the script
demands for the successful execution of the test.
Signed-off-by: Jeffrin Jose T (Rajagiri SET) <ahiliation at gmail.com>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit 44a5cd436ec067c9a62988aca3331ac6eee5268d
Author: Paolo Abeni <pabeni at redhat.com>
Date: Thu Jun 21 20:02:16 2018 +0200
cls_flower: fix use after free in flower S/W path
If flower filter is created without the skip_sw flag, fl_mask_put()
can race with fl_classify() and we can destroy the mask rhashtable
while a lookup operation is accessing it.
BUG: unable to handle kernel paging request at 00000000000911d1
PGD 0 P4D 0
SMP PTI
CPU: 3 PID: 5582 Comm: vhost-5541 Not tainted 4.18.0-rc1.vanilla+ #1950
Hardware name: Dell Inc. PowerEdge R730/072T6D, BIOS 2.1.7 06/16/2016
RIP: 0010:rht_bucket_nested+0x20/0x60
Code: 31 c8 c1 c1 18 29 c8 c3 66 90 8b 4f 04 ba 01 00 00 00 8b 07 48 8b bf 80 00 00 0
RSP: 0018:ffffafc5cfbb7a48 EFLAGS: 00010206
RAX: 0000000000001978 RBX: ffff9f12dff88a00 RCX: 00000000ffff9f12
RDX: 00000000000911d1 RSI: 0000000000000148 RDI: 0000000000000001
RBP: ffff9f12dff88a00 R08: 000000005f1cc119 R09: 00000000a715fae2
R10: ffffafc5cfbb7aa8 R11: ffff9f1cb4be804e R12: ffff9f1265e13000
R13: 0000000000000000 R14: ffffafc5cfbb7b48 R15: ffff9f12dff88b68
FS: 0000000000000000(0000) GS:ffff9f1d3f0c0000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000000911d1 CR3: 0000001575a94006 CR4: 00000000001626e0
Call Trace:
fl_lookup+0x134/0x140 [cls_flower]
fl_classify+0xf3/0x180 [cls_flower]
tcf_classify+0x78/0x150
__netif_receive_skb_core+0x69e/0xa50
netif_receive_skb_internal+0x42/0xf0
tun_get_user+0xdd5/0xfd0 [tun]
tun_sendmsg+0x52/0x70 [tun]
handle_tx+0x2b3/0x5f0 [vhost_net]
vhost_worker+0xab/0x100 [vhost]
kthread+0xf8/0x130
ret_from_fork+0x35/0x40
Modules linked in: act_mirred act_gact cls_flower vhost_net vhost tap sch_ingress
CR2: 00000000000911d1
Fix the above waiting for a RCU grace period before destroying the
rhashtable: we need to use tcf_queue_work(), as rhashtable_destroy()
must run in process context, as pointed out by Cong Wang.
v1 -> v2: use tcf_queue_work to run rhashtable_destroy().
Fixes: 05cd271fd61a ("cls_flower: Support multiple masks per priority")
Signed-off-by: Paolo Abeni <pabeni at redhat.com>
Acked-by: Jiri Pirko <jiri at mellanox.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 945d015ee0c3095d2290e845565a23dedfd8027c
Author: Eric Dumazet <edumazet at google.com>
Date: Thu Jun 21 14:16:02 2018 -0700
net/packet: fix use-after-free
We should put copy_skb in receive_queue only after
a successful call to virtio_net_hdr_from_skb().
syzbot report :
BUG: KASAN: use-after-free in __skb_unlink include/linux/skbuff.h:1843 [inline]
BUG: KASAN: use-after-free in __skb_dequeue include/linux/skbuff.h:1863 [inline]
BUG: KASAN: use-after-free in skb_dequeue+0x16a/0x180 net/core/skbuff.c:2815
Read of size 8 at addr ffff8801b044ecc0 by task syz-executor217/4553
CPU: 0 PID: 4553 Comm: syz-executor217 Not tainted 4.18.0-rc1+ #111
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x1c9/0x2b4 lib/dump_stack.c:113
print_address_description+0x6c/0x20b mm/kasan/report.c:256
kasan_report_error mm/kasan/report.c:354 [inline]
kasan_report.cold.7+0x242/0x2fe mm/kasan/report.c:412
__asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:433
__skb_unlink include/linux/skbuff.h:1843 [inline]
__skb_dequeue include/linux/skbuff.h:1863 [inline]
skb_dequeue+0x16a/0x180 net/core/skbuff.c:2815
skb_queue_purge+0x26/0x40 net/core/skbuff.c:2852
packet_set_ring+0x675/0x1da0 net/packet/af_packet.c:4331
packet_release+0x630/0xd90 net/packet/af_packet.c:2991
__sock_release+0xd7/0x260 net/socket.c:603
sock_close+0x19/0x20 net/socket.c:1186
__fput+0x35b/0x8b0 fs/file_table.c:209
____fput+0x15/0x20 fs/file_table.c:243
task_work_run+0x1ec/0x2a0 kernel/task_work.c:113
exit_task_work include/linux/task_work.h:22 [inline]
do_exit+0x1b08/0x2750 kernel/exit.c:865
do_group_exit+0x177/0x440 kernel/exit.c:968
__do_sys_exit_group kernel/exit.c:979 [inline]
__se_sys_exit_group kernel/exit.c:977 [inline]
__x64_sys_exit_group+0x3e/0x50 kernel/exit.c:977
do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x4448e9
Code: Bad RIP value.
RSP: 002b:00007ffd5f777ca8 EFLAGS: 00000202 ORIG_RAX: 00000000000000e7
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00000000004448e9
RDX: 00000000004448e9 RSI: 000000000000fcfb RDI: 0000000000000001
RBP: 00000000006cf018 R08: 00007ffd0000a45b R09: 0000000000000000
R10: 00007ffd5f777e48 R11: 0000000000000202 R12: 00000000004021f0
R13: 0000000000402280 R14: 0000000000000000 R15: 0000000000000000
Allocated by task 4553:
save_stack+0x43/0xd0 mm/kasan/kasan.c:448
set_track mm/kasan/kasan.c:460 [inline]
kasan_kmalloc+0xc4/0xe0 mm/kasan/kasan.c:553
kasan_slab_alloc+0x12/0x20 mm/kasan/kasan.c:490
kmem_cache_alloc+0x12e/0x760 mm/slab.c:3554
skb_clone+0x1f5/0x500 net/core/skbuff.c:1282
tpacket_rcv+0x28f7/0x3200 net/packet/af_packet.c:2221
deliver_skb net/core/dev.c:1925 [inline]
deliver_ptype_list_skb net/core/dev.c:1940 [inline]
__netif_receive_skb_core+0x1bfb/0x3680 net/core/dev.c:4611
__netif_receive_skb+0x2c/0x1e0 net/core/dev.c:4693
netif_receive_skb_internal+0x12e/0x7d0 net/core/dev.c:4767
netif_receive_skb+0xbf/0x420 net/core/dev.c:4791
tun_rx_batched.isra.55+0x4ba/0x8c0 drivers/net/tun.c:1571
tun_get_user+0x2af1/0x42f0 drivers/net/tun.c:1981
tun_chr_write_iter+0xb9/0x154 drivers/net/tun.c:2009
call_write_iter include/linux/fs.h:1795 [inline]
new_sync_write fs/read_write.c:474 [inline]
__vfs_write+0x6c6/0x9f0 fs/read_write.c:487
vfs_write+0x1f8/0x560 fs/read_write.c:549
ksys_write+0x101/0x260 fs/read_write.c:598
__do_sys_write fs/read_write.c:610 [inline]
__se_sys_write fs/read_write.c:607 [inline]
__x64_sys_write+0x73/0xb0 fs/read_write.c:607
do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
entry_SYSCALL_64_after_hwframe+0x49/0xbe
Freed by task 4553:
save_stack+0x43/0xd0 mm/kasan/kasan.c:448
set_track mm/kasan/kasan.c:460 [inline]
__kasan_slab_free+0x11a/0x170 mm/kasan/kasan.c:521
kasan_slab_free+0xe/0x10 mm/kasan/kasan.c:528
__cache_free mm/slab.c:3498 [inline]
kmem_cache_free+0x86/0x2d0 mm/slab.c:3756
kfree_skbmem+0x154/0x230 net/core/skbuff.c:582
__kfree_skb net/core/skbuff.c:642 [inline]
kfree_skb+0x1a5/0x580 net/core/skbuff.c:659
tpacket_rcv+0x189e/0x3200 net/packet/af_packet.c:2385
deliver_skb net/core/dev.c:1925 [inline]
deliver_ptype_list_skb net/core/dev.c:1940 [inline]
__netif_receive_skb_core+0x1bfb/0x3680 net/core/dev.c:4611
__netif_receive_skb+0x2c/0x1e0 net/core/dev.c:4693
netif_receive_skb_internal+0x12e/0x7d0 net/core/dev.c:4767
netif_receive_skb+0xbf/0x420 net/core/dev.c:4791
tun_rx_batched.isra.55+0x4ba/0x8c0 drivers/net/tun.c:1571
tun_get_user+0x2af1/0x42f0 drivers/net/tun.c:1981
tun_chr_write_iter+0xb9/0x154 drivers/net/tun.c:2009
call_write_iter include/linux/fs.h:1795 [inline]
new_sync_write fs/read_write.c:474 [inline]
__vfs_write+0x6c6/0x9f0 fs/read_write.c:487
vfs_write+0x1f8/0x560 fs/read_write.c:549
ksys_write+0x101/0x260 fs/read_write.c:598
__do_sys_write fs/read_write.c:610 [inline]
__se_sys_write fs/read_write.c:607 [inline]
__x64_sys_write+0x73/0xb0 fs/read_write.c:607
do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
entry_SYSCALL_64_after_hwframe+0x49/0xbe
The buggy address belongs to the object at ffff8801b044ecc0
which belongs to the cache skbuff_head_cache of size 232
The buggy address is located 0 bytes inside of
232-byte region [ffff8801b044ecc0, ffff8801b044eda8)
The buggy address belongs to the page:
page:ffffea0006c11380 count:1 mapcount:0 mapping:ffff8801d9be96c0 index:0x0
flags: 0x2fffc0000000100(slab)
raw: 02fffc0000000100 ffffea0006c17988 ffff8801d9bec248 ffff8801d9be96c0
raw: 0000000000000000 ffff8801b044e040 000000010000000c 0000000000000000
page dumped because: kasan: bad access detected
Memory state around the buggy address:
ffff8801b044eb80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ffff8801b044ec00: 00 00 00 00 00 00 00 00 00 00 00 00 00 fc fc fc
>ffff8801b044ec80: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb
^
ffff8801b044ed00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff8801b044ed80: fb fb fb fb fb fc fc fc fc fc fc fc fc fc fc fc
Fixes: 58d19b19cd99 ("packet: vnet_hdr support for tpacket_rcv")
Signed-off-by: Eric Dumazet <edumazet at google.com>
Reported-by: syzbot <syzkaller at googlegroups.com>
Cc: Willem de Bruijn <willemb at google.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit e9893e6fa932f42c90c4ac5849fa9aa0f0f00a34
Author: Abhishek Sahu <absahu at codeaurora.org>
Date: Wed Jun 13 14:32:36 2018 +0530
mtd: rawnand: fix return value check for bad block status
Positive return value from read_oob() is making false BAD
blocks. For some of the NAND controllers, OOB bytes will be
protected with ECC and read_oob() will return number of bitflips.
If there is any bitflip in ECC protected OOB bytes for BAD block
status page, then that block is getting treated as BAD.
Fixes: c120e75e0e7d ("mtd: nand: use read_oob() instead of cmdfunc() for bad block check")
Cc: <stable at vger.kernel.org>
Signed-off-by: Abhishek Sahu <absahu at codeaurora.org>
Reviewed-by: Miquel Raynal <miquel.raynal at bootlin.com>
Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>
commit f2e72a0b79a03c4046f08515d1479f613f2eb139
Merge: 3739a21e0ef6 bfee71fb7376
Author: Daniel Borkmann <daniel at iogearbox.net>
Date: Thu Jun 21 23:07:13 2018 +0200
Merge branch 'bpf-bpftool-fixes'
Jakub Kicinski says:
====================
Two small fixes for error handling in bpftool prog load, first patch
removes a duplicated message, second one frees resources correctly.
Multiple error messages break JSON:
{
"error": "can't pin the object (/sys/fs/bpf/a): File exists"
},{
"error": "failed to pin program"
}
====================
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit bfee71fb7376081349117fdc89f685a9e14a58c2
Author: Jakub Kicinski <jakub.kicinski at netronome.com>
Date: Wed Jun 20 11:42:46 2018 -0700
tools: bpftool: remember to close the libbpf object after prog load
Remembering to close all descriptors and free memory may not seem
important in a user space tool like bpftool, but if we were to run
in batch mode the consumed resources start to add up quickly. Make
sure program load closes the libbpf object (which unloads and frees
it).
Fixes: 49a086c201a9 ("bpftool: implement prog load command")
Signed-off-by: Jakub Kicinski <jakub.kicinski at netronome.com>
Reviewed-by: Quentin Monnet <quentin.monnet at netronome.com>
Acked-by: Song Liu <songliubraving at fb.com>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit 957f9a13df6c70aac31a1dade5e417c286d6d258
Author: Jakub Kicinski <jakub.kicinski at netronome.com>
Date: Wed Jun 20 11:42:45 2018 -0700
tools: bpftool: remove duplicated error message on prog load
do_pin_fd() will already print out an error message if something
goes wrong. Printing another error is unnecessary and will break
JSON output, since error messages are full objects:
$ bpftool -jp prog load tracex1_kern.o /sys/fs/bpf/a
{
"error": "can't pin the object (/sys/fs/bpf/a): File exists"
},{
"error": "failed to pin program"
}
Fixes: 49a086c201a9 ("bpftool: implement prog load command")
Signed-off-by: Jakub Kicinski <jakub.kicinski at netronome.com>
Reviewed-by: Quentin Monnet <quentin.monnet at netronome.com>
Acked-by: Song Liu <songliubraving at fb.com>
Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
commit 9c4a665ed83462039461dd34282e22160fb447ca
Author: Colin Ian King <colin.king at canonical.com>
Date: Thu Jun 21 19:34:57 2018 +0100
ALSA: hda/ca0132: make array ca0132_alt_chmaps static
The array ca0132_alt_chmaps is local to the source and does not
need to be in global scope, so make it static.
Cleans up sparse warning:
warning: symbol 'ca0132_alt_chmaps' was not declared. Should it be
static?
Signed-off-by: Colin Ian King <colin.king at canonical.com>
Signed-off-by: Takashi Iwai <tiwai at suse.de>
commit 22883ddc66df402f2fbc37fe1f4d2779238e4b2d
Author: Lu Fengqi <lufq.fnst at cn.fujitsu.com>
Date: Tue Jun 19 14:54:38 2018 +0800
btrfs: fix invalid-free in btrfs_extent_same
If this condition ((BTRFS_I(src)->flags & BTRFS_INODE_NODATASUM) !=
(BTRFS_I(dst)->flags & BTRFS_INODE_NODATASUM))
is hit, we will go to free the uninitialized cmp.src_pages and
cmp.dst_pages.
Fixes: 67b07bd4bec5 ("Btrfs: reuse cmp workspace in EXTENT_SAME ioctl")
Signed-off-by: Lu Fengqi <lufq.fnst at cn.fujitsu.com>
Reviewed-by: David Sterba <dsterba at suse.com>
Signed-off-by: David Sterba <dsterba at suse.com>
commit f098631848cd9f4142b6dec7ea95baad846e1670
Author: Filipe Manana <fdmanana at suse.com>
Date: Wed Jun 20 10:02:30 2018 +0100
Btrfs: fix physical offset reported by fiemap for inline extents
Commit 9d311e11fc1f ("Btrfs: fiemap: pass correct bytenr when
fm_extent_count is zero") introduced a regression where we no longer
report 0 as the physical offset for inline extents (and other extents
with a special block_start value). This is because it always sets the
variable used to report the physical offset ("disko") as em->block_start
plus some offset, and em->block_start has the value 18446744073709551614
((u64) -2) for inline extents.
This made the btrfs test 004 (from fstests) often fail, for example, for
a file with an inline extent we have the following items in the subvolume
tree:
item 101 key (418 INODE_ITEM 0) itemoff 11029 itemsize 160
generation 25 transid 38 size 1525 nbytes 1525
block group 0 mode 100666 links 1 uid 0 gid 0 rdev 0
sequence 0 flags 0x2(none)
atime 1529342058.461891730 (2018-06-18 18:14:18)
ctime 1529342058.461891730 (2018-06-18 18:14:18)
mtime 1529342058.461891730 (2018-06-18 18:14:18)
otime 1529342055.869892885 (2018-06-18 18:14:15)
item 102 key (418 INODE_REF 264) itemoff 11016 itemsize 13
index 25 namelen 3 name: fc7
item 103 key (418 EXTENT_DATA 0) itemoff 9470 itemsize 1546
generation 38 type 0 (inline)
inline extent data size 1525 ram_bytes 1525 compression 0 (none)
Then when test 004 invoked fiemap against the file it got a non-zero
physical offset:
$ filefrag -v /mnt/p0/d4/d7/fc7
Filesystem type is: 9123683e
File size of /mnt/p0/d4/d7/fc7 is 1525 (1 block of 4096 bytes)
ext: logical_offset: physical_offset: length: expected: flags:
0: 0.. 4095: 18446744073709551614.. 4093: 4096: last,not_aligned,inline,eof
/mnt/p0/d4/d7/fc7: 1 extent found
This resulted in the test failing like this:
btrfs/004 49s ... [failed, exit status 1]- output mismatch (see /home/fdmanana/git/hub/xfstests/results//btrfs/004.out.bad)
--- tests/btrfs/004.out 2016-08-23 10:17:35.027012095 +0100
+++ /home/fdmanana/git/hub/xfstests/results//btrfs/004.out.bad 2018-06-18 18:15:02.385872155 +0100
@@ -1,3 +1,10 @@
QA output created by 004
*** test backref walking
-*** done
+./tests/btrfs/004: line 227: [: 7.55578637259143e+22: integer expression expected
+ERROR: 7.55578637259143e+22 is not a valid numeric value.
+unexpected output from
+ /home/fdmanana/git/hub/btrfs-progs/btrfs inspect-internal logical-resolve -s 65536 -P 7.55578637259143e+22 /home/fdmanana/btrfs-tests/scratch_1
...
(Run 'diff -u tests/btrfs/004.out /home/fdmanana/git/hub/xfstests/results//btrfs/004.out.bad' to see the entire diff)
Ran: btrfs/004
The large number in scientific notation reported as an invalid numeric
value is the result from the filter passed to perl which multiplies the
physical offset by the block size reported by fiemap.
So fix this by ensuring the physical offset is always set to 0 when we
are processing an extent with a special block_start value.
Fixes: 9d311e11fc1f ("Btrfs: fiemap: pass correct bytenr when fm_extent_count is zero")
Signed-off-by: Filipe Manana <fdmanana at suse.com>
Signed-off-by: David Sterba <dsterba at suse.com>
commit 12f8c553a503d98b519cca650b188bf51ebdbdbf
Author: Masahiro Yamada <yamada.masahiro at socionext.com>
Date: Wed Apr 18 20:52:31 2018 +0900
clk: sunxi-ng: replace lib-y with obj-y
We had commit 06e226c7fb23 ("clk: sunxi-ng: Move all clock types to a
library") and commit 799c43415442 ("kbuild: thin archives make default
for all archs") in the same development cycle, from different trees.
With migration to the thin archive, the entire drivers/clk/sunxi-ng/lib.a
is linked to the vmlinux. This does not break build, but we do not get
any size saving.
However, we do not need to go back to the individual Kconfig options.
The default configuration pulls in all (or most) of the CCU parts anyway.
Also, once we enable CONFIG_LD_DEAD_CODE_DATA_ELIMINATION, we can simply
list all files with obj-y, and the linker will drop all unused functions
by itself.
After the long discussion [1], people there agreed to fix this, but
nobody sent a patch after all. I am doing it now.
I lifted up CONFIG_SUNXI_CCU to drivers/clk/Makefile because everything
in drivers/clk/sunxi-ng/ depends on SUNXI_CCU.
[1] https://patchwork.kernel.org/patch/9796521/
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
Acked-by: Stephen Boyd <sboyd at kernel.org>
Signed-off-by: Maxime Ripard <maxime.ripard at bootlin.com>
Acked-by: Chen-Yu Tsai <wens at csie.org>
Signed-off-by: Stephen Boyd <sboyd at kernel.org>
commit 45df561a7ae2ca5080708cc2cf84a236f4d930ef
Author: Rob Herring <robh at kernel.org>
Date: Tue Jun 19 15:36:20 2018 -0600
microblaze: consolidate GPIO reset handling
Now that platform.c only has the GPIO reset handling left, move the
initcall to reset.c and remove platform.c.
Cc: Michal Simek <monstr at monstr.eu>
Signed-off-by: Rob Herring <robh at kernel.org>
Signed-off-by: Michal Simek <michal.simek at xilinx.com>
commit 2dbeb7040a21846facbeea876e85cbde41fa81e9
Author: Rob Herring <robh at kernel.org>
Date: Tue Jun 19 15:36:19 2018 -0600
microblaze: remove unecessary of_platform_bus_probe call
The call to of_platform_bus_probe has no effect because the DT core
already probes default buses like "simple-bus" before this call.
Michal Simek said 'xlnx,compound' hasn't been used in a long time, so
that match entry isn't needed.
Cc: Michal Simek <monstr at monstr.eu>
Signed-off-by: Rob Herring <robh at kernel.org>
Signed-off-by: Michal Simek <michal.simek at xilinx.com>
commit 54b0a2011dfcd2e3fe2c28062694fbbe3eb377a3
Author: Michal Simek <michal.simek at xilinx.com>
Date: Thu Jun 14 08:24:39 2018 +0200
microblaze: Add new syscalls io_pgetevents and rseq
Wire up new syscalls io_pgetevents and rseq.
Signed-off-by: Michal Simek <michal.simek at xilinx.com>
commit 57cb54e53bddb59f5f542ddd4b0bfe005d31a8d5
Author: Takashi Iwai <tiwai at suse.de>
Date: Thu Jun 21 13:33:53 2018 +0200
ALSA: hda - Force to link down at runtime suspend on ATI/AMD HDMI
Henning Kühn reported that the discrete AMD GPU on his hybrid graphics
laptop no longer runtime-suspends due to the recent commit
07f4f97d7b4b ("vga_switcheroo: Use device link for HDA controller").
The root cause is that the HDMI codec on AMD GPU doesn't support
CLKSTOP and EPSS, which are currently mandatory for powering down the
HD-audio link at runtime suspend. Because the HD-audio link is still
up, HD-audio controller driver blocks the transition to D3.
For addressing the regression, this patch adds a new flag to indicate
the forced link-down, and sets it for AMD HDMI codecs appropriately
in the codec driver.
Fixes: 07f4f97d7b4b ("vga_switcheroo: Use device link for HDA controller")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106957
Reported-by: Lukas Wunner <lukas at wunner.de>
Reported-and-tested-by: Henning Kühn <prg at cooco.de>
Cc: <stable at vger.kernel.org> # v4.17+
Signed-off-by: Takashi Iwai <tiwai at suse.de>
commit f04684b4d85d6371126f476d3268ebf6a0bd57cf
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date: Thu Jun 21 11:07:21 2018 +0300
ALSA: lx6464es: Missing error code in snd_lx6464es_create()
We forgot to set the error code on this error path.
Fixes: 4a23fc8cc068 ("ALSA: lx6464es: add error handling for pci_ioremap_bar")
Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
Signed-off-by: Takashi Iwai <tiwai at suse.de>
commit 3739a21e0ef6ac06f46bd38e81daa95e8cb462bc
Author: Anders Roxell <anders.roxell at linaro.org>
Date: Thu Jun 21 00:43:44 2018 +0200
selftests: net: add tcp_inq to gitignore
sha: 702353b538f5 ("selftest: add test for TCP_INQ") forgot to add
tcp_inq to .gitignore.
Signed-off-by: Anders Roxell <anders.roxell at linaro.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 64d7839af8c8f67daaf9bf387135052c55d85f90
Author: Harini Katakam <harini.katakam at xilinx.com>
Date: Wed Jun 20 17:04:20 2018 +0530
net: macb: Fix ptp time adjustment for large negative delta
When delta passed to gem_ptp_adjtime is negative, the sign is
maintained in the ns_to_timespec64 conversion. Hence timespec_add
should be used directly. timespec_sub will just subtract the negative
value thus increasing the time difference.
Signed-off-by: Harini Katakam <harini.katakam at xilinx.com>
Acked-by: Nicolas Ferre <nicolas.ferre at microchip.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 30877961b1cdd6fdca783c2e8c4f0f47e95dc58c
Author: Xin Long <lucien.xin at gmail.com>
Date: Thu Jun 21 12:56:04 2018 +0800
ipvlan: fix IFLA_MTU ignored on NEWLINK
Commit 296d48568042 ("ipvlan: inherit MTU from master device") adjusted
the mtu from the master device when creating a ipvlan device, but it
would also override the mtu value set in rtnl_create_link. It causes
IFLA_MTU param not to take effect.
So this patch is to not adjust the mtu if IFLA_MTU param is set when
creating a ipvlan device.
Fixes: 296d48568042 ("ipvlan: inherit MTU from master device")
Reported-by: Jianlin Shi <jishi at redhat.com>
Signed-off-by: Xin Long <lucien.xin at gmail.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit fedb1bd3d274b33c432cb83c80c6b3cf54d509c8
Author: Marcelo Ricardo Leitner <marcelo.leitner at gmail.com>
Date: Wed Jun 20 12:47:52 2018 -0300
sctp: fix erroneous inc of snmp SctpFragUsrMsgs
Currently it is incrementing SctpFragUsrMsgs when the user message size
is of the exactly same size as the maximum fragment size, which is wrong.
The fix is to increment it only when user message is bigger than the
maximum fragment size.
Fixes: bfd2e4b8734d ("sctp: refactor sctp_datamsg_from_user")
Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner at gmail.com>
Acked-by: Neil Horman <nhorman at redhat.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 9262478220eac908ae6e168c3df2c453c87e2da3
Author: Eric Dumazet <edumazet at google.com>
Date: Wed Jun 20 17:24:09 2018 -0700
bpf: enforce correct alignment for instructions
After commit 9facc336876f ("bpf: reject any prog that failed read-only lock")
offsetof(struct bpf_binary_header, image) became 3 instead of 4,
breaking powerpc BPF badly, since instructions need to be word aligned.
Fixes: 9facc336876f ("bpf: reject any prog that failed read-only lock")
Signed-off-by: Eric Dumazet <edumazet at google.com>
Cc: Daniel Borkmann <daniel at iogearbox.net>
Cc: Martin KaFai Lau <kafai at fb.com>
Cc: Alexei Starovoitov <ast at kernel.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 08d02364b12faa54d76dbfea2090321fd27996f2
Author: Antoine Tenart <antoine.tenart at bootlin.com>
Date: Wed Jun 20 10:50:46 2018 +0200
net: mscc: fix the injection header
When injecting frames in the Ocelot switch driver an injection header
(IFH) should be used to configure various parameters related to a given
frame, such as the port onto which the frame should be departed or its
vlan id. Other parameters in the switch configuration can led to an
injected frame being sent without an IFH but this led to various issues
as the per-frame parameters are then not used. This is especially true
when using multiple ports for injection.
The IFH was injected with the wrong endianness which led to the switch
not taking it into account as the IFH_INJ_BYPASS bit was then unset.
(The bit tells the switch to use the IFH over its internal
configuration). This patch fixes it.
In addition to the endianness fix, the IFH is also fixed. As it was
(unwillingly) unused, some of its fields were not configured the right
way.
Fixes: a556c76adc05 ("net: mscc: Add initial Ocelot switch support")
Signed-off-by: Antoine Tenart <antoine.tenart at bootlin.com>
Reviewed-by: Alexandre Belloni <alexandre.belloni at bootlin.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit ea0820bb771175c7d4192fc6f5b5c56b3c6d5239
Author: Bartosz Golaszewski <bgolaszewski at baylibre.com>
Date: Wed Jun 20 10:03:56 2018 +0200
net: davinci_emac: match the mdio device against its compatible if possible
Device tree based systems without of_dev_auxdata will have the mdio
device named differently than "davinci_mdio(.0)". In this case use the
device's parent's compatible string for matching
Signed-off-by: Bartosz Golaszewski <bgolaszewski at baylibre.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 6d8b834989f56066499cb25fd7d60169ed5e188b
Author: Ville Syrjälä <ville.syrjala at linux.intel.com>
Date: Wed Jun 20 15:01:53 2018 +0300
r8169: Fix netpoll oops
Pass the correct thing to rtl8169_interrupt() from netpoll.
Cc: Realtek linux nic maintainers <nic_swsd at realtek.com>
Cc: netdev at vger.kernel.org
Cc: Heiner Kallweit <hkallweit1 at gmail.com>
Cc: David S. Miller <davem at davemloft.net>
Fixes: ebcd5daa7ffd ("r8169: change interrupt handler argument type")
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 456488cd952c23d451b0bdc5b5226b0707db80f7
Author: Vakul Garg <vakul.garg at nxp.com>
Date: Thu Jun 21 03:29:49 2018 +0530
strparser: Don't schedule in workqueue in paused state
In function strp_data_ready(), it is useless to call queue_work if
the state of strparser is already paused. The state checking should
be done before calling queue_work. The change reduces the context
switches and improves the ktls-rx throughput by approx 20% (measured
on cortex-a53 based platform).
Signed-off-by: Vakul Garg <vakul.garg at nxp.com>
Acked-by: Dave Watson <davejwatson at fb.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 73f9c33beb9e85850a11a1597b35a13650352509
Author: Anders Roxell <anders.roxell at linaro.org>
Date: Tue Jun 19 18:41:11 2018 +0200
selftests: net: add config fragments
Add fragments to pass bridge and vlan tests.
Fixes: 33b01b7b4f19 ("selftests: add rtnetlink test script")
Signed-off-by: Anders Roxell <anders.roxell at linaro.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit c24fb5e68ebfd485ecaa8b5d40cb4721a1d137ee
Author: Matteo Croce <mcroce at redhat.com>
Date: Wed Jun 20 16:04:34 2018 +0200
bpfilter: fix user mode helper cross compilation
Use $(OBJDUMP) instead of literal 'objdump' to avoid
using host toolchain when cross compiling.
Fixes: 421780fd4983 ("bpfilter: fix build error")
Signed-off-by: Matteo Croce <mcroce at redhat.com>
Reported-by: Stefano Brivio <sbrivio at redhat.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
commit 63ce3c384db26494615e3c8972bcd419ed71f4c4
Author: David Disseldorp <ddiss at suse.de>
Date: Tue Jun 19 17:58:24 2018 +0200
scsi: target: Fix truncated PR-in ReadKeys response
SPC5r17 states that the contents of the ADDITIONAL LENGTH field are not
altered based on the allocation length, so always calculate and pack the
full key list length even if the list itself is truncated.
According to Maged:
Yes it fixes the "Storage Spaces Persistent Reservation" test in the
Windows 2016 Server Failover Cluster validation suites when having
many connections that result in more than 8 registrations. I tested
your patch on 4.17 with iblock.
This behaviour can be tested using the libiscsi PrinReadKeys.Truncate test.
Cc: stable at vger.kernel.org
Signed-off-by: David Disseldorp <ddiss at suse.de>
Reviewed-by: Mike Christie <mchristi at redhat.com>
Tested-by: Maged Mokhtar <mmokhtar at petasan.org>
Reviewed-by: Christoph Hellwig <hch at lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
commit 3f77f244d8ec28e3a0a81240ffac7d626390060c
Author: Martin Kaiser <martin at kaiser.cx>
Date: Mon Jun 18 22:41:03 2018 +0200
mtd: rawnand: mxc: set spare area size register explicitly
The v21 version of the NAND flash controller contains a Spare Area Size
Register (SPAS) at offset 0x10. Its setting defaults to the maximum
spare area size of 218 bytes. The size that is set in this register is
used by the controller when it calculates the ECC bytes internally in
hardware.
Usually, this register is updated from settings in the IIM fuses when
the system is booting from NAND flash. For other boot media, however,
the SPAS register remains at the default setting, which may not work for
the particular flash chip on the board. The same goes for flash chips
whose configuration cannot be set in the IIM fuses (e.g. chips with 2k
sector size and 128 bytes spare area size can't be configured in the IIM
fuses on imx25 systems).
Set the SPAS register explicitly during the preset operation. Derive the
register value from mtd->oobsize that was detected during probe by
decoding the flash chip's ID bytes.
While at it, rename the define for the spare area register's offset to
NFC_V21_RSLTSPARE_AREA. The register at offset 0x10 on v1 controllers is
different from the register on v21 controllers.
Fixes: d484018 ("mtd: mxc_nand: set NFC registers after reset")
Cc: stable at vger.kernel.org
Signed-off-by: Martin Kaiser <martin at kaiser.cx>
Reviewed-by: Sascha Hauer <s.hauer at pengutronix.de>
Reviewed-by: Miquel Raynal <miquel.raynal at bootlin.com>
Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>
commit 1d8e5c00275825fc42aaa5597dab1d0b5b26bb64
Author: Minas Harutyunyan <Minas.Harutyunyan at synopsys.com>
Date: Wed May 23 16:24:44 2018 +0400
dwc2: gadget: Fix ISOC IN DDMA PID bitfield value calculation
PID bitfield in descriptor should be set based on particular request
length, not based on EP's mc value. PID value can't be set to 0 even
request length is 0.
Signed-off-by: Minas Harutyunyan <hminas at synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit 9bb073a053f0464ea74a4d4c331fdb7da58568d6
Author: Grigor Tovmasyan <Grigor.Tovmasyan at synopsys.com>
Date: Thu May 24 18:22:30 2018 +0400
usb: gadget: dwc2: fix memory leak in gadget_init()
Freed allocated request for ep0 to prevent memory leak in case when
dwc2_driver_probe() failed.
Cc: Stefan Wahren <stefan.wahren at i2se.com>
Cc: Marek Szyprowski <m.szyprowski at samsung.com>
Tested-by: Stefan Wahren <stefan.wahren at i2se.com>
Tested-by: Marek Szyprowski <m.szyprowski at samsung.com>
Acked-by: Minas Harutyunyan <hminas at synopsys.com>
Signed-off-by: Grigor Tovmasyan <tovmasya at synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit 980900d6318066b9f8314bfb87329a20fd0d1ca4
Author: Chunfeng Yun <chunfeng.yun at mediatek.com>
Date: Fri May 25 17:24:57 2018 +0800
usb: gadget: composite: fix delayed_status race condition when set_interface
It happens when enable debug log, if set_alt() returns
USB_GADGET_DELAYED_STATUS and usb_composite_setup_continue()
is called before increasing count of @delayed_status,
so fix it by using spinlock of @cdev->lock.
Signed-off-by: Chunfeng Yun <chunfeng.yun at mediatek.com>
Tested-by: Jay Hsu <shih-chieh.hsu at mediatek.com>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit 70c3c8cb83856758025c2a211dd022bc0478922a
Author: William Wu <william.wu at rock-chips.com>
Date: Fri May 11 17:46:32 2018 +0800
usb: dwc2: fix isoc split in transfer with no data
If isoc split in transfer with no data (the length of DATA0
packet is zero), we can't simply return immediately. Because
the DATA0 can be the first transaction or the second transaction
for the isoc split in transaction. If the DATA0 packet with no
data is in the first transaction, we can return immediately.
But if the DATA0 packet with no data is in the second transaction
of isoc split in transaction sequence, we need to increase the
qtd->isoc_frame_index and giveback urb to device driver if needed,
otherwise, the MDATA packet will be lost.
A typical test case is that connect the dwc2 controller with an
usb hs Hub (GL852G-12), and plug an usb fs audio device (Plantronics
headset) into the downstream port of Hub. Then use the usb mic
to record, we can find noise when playback.
In the case, the isoc split in transaction sequence like this:
- SSPLIT IN transaction
- CSPLIT IN transaction
- MDATA packet (176 bytes)
- CSPLIT IN transaction
- DATA0 packet (0 byte)
This patch use both the length of DATA0 and qtd->isoc_split_offset
to check if the DATA0 is in the second transaction.
Tested-by: Gevorg Sahakyan <sahakyan at synopsys.com>
Tested-by: Heiko Stuebner <heiko at sntech.de>
Acked-by: Minas Harutyunyan hminas at synopsys.com>
Signed-off-by: William Wu <william.wu at rock-chips.com>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit af424a410749ed7e0c2bffd3cedbc7c274d0ff6f
Author: William Wu <william.wu at rock-chips.com>
Date: Fri May 11 17:46:31 2018 +0800
usb: dwc2: alloc dma aligned buffer for isoc split in
The commit 3bc04e28a030 ("usb: dwc2: host: Get aligned DMA in
a more supported way") rips out a lot of code to simply the
allocation of aligned DMA. However, it also introduces a new
issue when use isoc split in transfer.
In my test case, I connect the dwc2 controller with an usb hs
Hub (GL852G-12), and plug an usb fs audio device (Plantronics
headset) into the downstream port of Hub. Then use the usb mic
to record, we can find noise when playback.
It's because that the usb Hub uses an MDATA for the first
transaction and a DATA0 for the second transaction for the isoc
split in transaction. An typical isoc split in transaction sequence
like this:
- SSPLIT IN transaction
- CSPLIT IN transaction
- MDATA packet
- CSPLIT IN transaction
- DATA0 packet
The DMA address of MDATA (urb->dma) is always DWORD-aligned, but
the DMA address of DATA0 (urb->dma + qtd->isoc_split_offset) may
not be DWORD-aligned, it depends on the qtd->isoc_split_offset (the
length of MDATA). In my test case, the length of MDATA is usually
unaligned, this cause DATA0 packet transmission error.
This patch use kmem_cache to allocate aligned DMA buf for isoc
split in transaction. Note that according to usb 2.0 spec, the
maximum data payload size is 1023 bytes for each fs isoc ep,
and the maximum allowable interrupt data payload size is 64 bytes
or less for fs interrupt ep. So we set the size of object to be
1024 bytes in the kmem cache.
Tested-by: Gevorg Sahakyan <sahakyan at synopsys.com>
Tested-by: Heiko Stuebner <heiko at sntech.de>
Acked-by: Minas Harutyunyan hminas at synopsys.com>
Signed-off-by: William Wu <william.wu at rock-chips.com>
Reviewed-by: Douglas Anderson <dianders at chromium.org>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit 8760675932ddb614e83702117d36ea644050c609
Author: William Wu <william.wu at rock-chips.com>
Date: Mon May 21 18:12:00 2018 +0800
usb: dwc2: fix the incorrect bitmaps for the ports of multi_tt hub
The dwc2_get_ls_map() use ttport to reference into the
bitmap if we're on a multi_tt hub. But the bitmaps index
from 0 to (hub->maxchild - 1), while the ttport index from
1 to hub->maxchild. This will cause invalid memory access
when the number of ttport is hub->maxchild.
Without this patch, I can easily meet a Kernel panic issue
if connect a low-speed USB mouse with the max port of FE2.1
multi-tt hub (1a40:0201) on rk3288 platform.
Fixes: 9f9f09b048f5 ("usb: dwc2: host: Totally redo the microframe scheduler")
Cc: <stable at vger.kernel.org>
Reviewed-by: Douglas Anderson <dianders at chromium.org>
Acked-by: Minas Harutyunyan hminas at synopsys.com>
Signed-off-by: William Wu <william.wu at rock-chips.com>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit 22bb5cfdf13ae70c6a34508a16cfeee48f162443
Author: Artur Petrosyan <Arthur.Petrosyan at synopsys.com>
Date: Wed May 23 09:26:08 2018 -0400
usb: dwc2: Fix host exit from hibernation flow.
In case when a hub is connected to DWC2 host
auto suspend occurs and host goes to
hibernation. When any device connected to hub
host hibernation exiting incorrectly.
- Added dwc2_hcd_rem_wakeup() function call to
exit from suspend state by remote wakeup.
- Increase timeout value for port suspend bit to be set.
Acked-by: Minas Harutyunyan <hminas at synopsys.com>
Signed-off-by: Artur Petrosyan <arturp at synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit 9925e6ebe5c2da9601037cca73462782900b9190
Author: Arnd Bergmann <arnd at arndb.de>
Date: Fri May 25 18:06:20 2018 +0200
usb: dwc3: qcom: mark PM functions as __maybe_unused
The #ifdef guards around these are wrong, resulting in warnings
in certain configurations:
drivers/usb/dwc3/dwc3-qcom.c:244:12: error: 'dwc3_qcom_resume' defined but not used [-Werror=unused-function]
static int dwc3_qcom_resume(struct dwc3_qcom *qcom)
^~~~~~~~~~~~~~~~
drivers/usb/dwc3/dwc3-qcom.c:223:12: error: 'dwc3_qcom_suspend' defined but not used [-Werror=unused-function]
static int dwc3_qcom_suspend(struct dwc3_qcom *qcom)
This replaces the guards with __maybe_unused annotations to shut up
the warnings and give better compile time coverage.
Fixes: a4333c3a6ba9 ("usb: dwc3: Add Qualcomm DWC3 glue driver")
Reviewed-by: Douglas Anderson <dianders at chromium.org>
Acked-by: Geert Uytterhoeven <geert at linux-m68k.org>
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit 93ef2dc0c4f7acf4253882a03c11f2ca8e41f387
Author: Wei Yongjun <weiyongjun1 at huawei.com>
Date: Wed Jun 6 14:22:24 2018 +0000
usb: dwc3: Fix error return code in dwc3_qcom_probe()
Fix to return error code -ENODEV from the get device failed error
handling case instead of 0, as done elsewhere in this function.
Fixes: a4333c3a6ba9 ("usb: dwc3: Add Qualcomm DWC3 glue driver")
Signed-off-by: Wei Yongjun <weiyongjun1 at huawei.com>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit 12baf7721143c83150fa973484b7b5fcd86b23f0
Author: Chris Packham <chris.packham at alliedtelesis.co.nz>
Date: Tue Jun 19 17:31:24 2018 +1200
mtd: rawnand: micron: add ONFI_FEATURE_ON_DIE_ECC to supported features
Add ONFI_FEATURE_ON_DIE_ECC to the set/get features list for Micron
NAND flash.
Fixes: 789157e41a06 ("mtd: rawnand: allow vendors to declare (un)supported features")
Cc: <stable at vger.kernel.org>
Signed-off-by: Chris Packham <chris.packham at alliedtelesis.co.nz>
Reviewed-by: Miquel Raynal <miquel.raynal at bootlin.com>
Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>
commit 1bcfe0564044be578841744faea1c2f46adc8178
Author: Oleksij Rempel <o.rempel at pengutronix.de>
Date: Fri Jun 15 09:41:29 2018 +0200
ARM: dts: imx6sx: fix irq for pcie bridge
Use the correct IRQ line for the MSI controller in the PCIe host
controller. Apparently a different IRQ line is used compared to other
i.MX6 variants. Without this change MSI IRQs aren't properly propagated
to the upstream interrupt controller.
Signed-off-by: Oleksij Rempel <o.rempel at pengutronix.de>
Reviewed-by: Lucas Stach <l.stach at pengutronix.de>
Fixes: b1d17f68e5c5 ("ARM: dts: imx: add initial imx6sx device tree source")
Signed-off-by: Shawn Guo <shawnguo at kernel.org>
commit 356073bcf6dbcc15cd8fb22d10cf8f35f4525271
Author: Sinan Kaya <okaya at codeaurora.org>
Date: Thu Jun 14 09:37:46 2018 -0400
MAINTAINERS: Update email-id of Sinan Kaya
I'm no longer with QCOM. I am still interested in maintaining or reviewing
PCI/DMA engine patches. Update email-id to an active one.
Signed-off-by: Sinan Kaya <okaya at codeaurora.org>
Signed-off-by: Vinod Koul <vkoul at kernel.org>
commit c9bd0946da243a8eb86b44ff613e2c813f9b683b
Author: Janusz Krzysztofik <jmkrzyszt at gmail.com>
Date: Tue Jun 5 18:59:57 2018 +0200
dmaengine: ti: omap-dma: Fix OMAP1510 incorrect residue_granularity
Commit 0198d7bb8a0c ("ASoC: omap-mcbsp: Convert to use the sdma-pcm
instead of omap-pcm") resulted in broken audio playback on OMAP1510
(discovered on Amstrad Delta).
When running on OMAP1510, omap-pcm used to obtain DMA offset from
snd_dmaengine_pcm_pointer_no_residue() based on DMA interrupt triggered
software calculations instead of snd_dmaengine_pcm_pointer() which
depended on residue value calculated from omap_dma_get_src_pos().
Similar code path is still available in now used
sound/soc/soc-generic-dmaengine-pcm.c but it is not triggered.
It was verified already before that omap_get_dma_src_pos() from
arch/arm/plat-omap/dma.c didn't work correctly for OMAP1510 - see
commit 1bdd7419910c ("ASoC: OMAP: fix OMAP1510 broken PCM pointer
callback") for details. Apparently the same applies to its successor,
omap_dma_get_src_pos() from drivers/dma/ti/omap-dma.c.
On the other hand, snd_dmaengine_pcm_pointer_no_residue() is described
as depreciated and discouraged for use in new drivers because of its
unreliable accuracy. However, it seems the only working option for
OPAM1510 now, as long as a software calculated residue is not
implemented as OMAP1510 fallback in omap-dma.
Using snd_dmaengine_pcm_pointer_no_residue() code path instead of
snd_dmaengine_pcm_pointer() in sound/soc/soc-generic-dmaengine-pcm.c
can be triggered in two ways:
- by passing pcm->flags |= SND_DMAENGINE_PCM_FLAG_NO_RESIDUE from
sound/soc/omap/sdma-pcm.c,
- by passing dma_caps.residue_granularity =
DMA_RESIDUE_GRANULARITY_DESCRIPTOR from DMA engine.
Let's do the latter.
Signed-off-by: Janusz Krzysztofik <jmkrzyszt at gmail.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
Signed-off-by: Vinod Koul <vkoul at kernel.org>
commit 52ab9768f723823a71dc659f0fad803a90f80236
Author: Luis Henriques <lhenriques at suse.com>
Date: Mon Jun 18 17:08:03 2018 +0100
scsi: scsi_debug: Fix memory leak on module unload
Since commit 80c49563e250 ("scsi: scsi_debug: implement IMMED bit") there
are long delays in F_SYNC_DELAY and F_SSU_DELAY. This can cause a memory
leak in schedule_resp(), which can be invoked while unloading the
scsi_debug module: free_all_queued() had already freed all sd_dp and
schedule_resp will alloc a new one, which will never get freed. Here's the
kmemleak report while running xfstests generic/350:
unreferenced object 0xffff88007d752b00 (size 128):
comm "rmmod", pid 26940, jiffies 4295816945 (age 7.588s)
hex dump (first 32 bytes):
00 2b 75 7d 00 88 ff ff 00 00 00 00 00 00 00 00 .+u}............
00 00 00 00 00 00 00 00 8e 31 a2 34 5f 03 00 00 .........1.4_...
backtrace:
[<000000002abd83d0>] 0xffffffffa000705e
[<000000004c063fda>] scsi_dispatch_cmd+0xc7/0x1a0
[<000000000c119a00>] scsi_request_fn+0x251/0x550
[<000000009de0c736>] __blk_run_queue+0x3f/0x60
[<000000001c4453c8>] blk_execute_rq_nowait+0x98/0xd0
[<00000000d17ec79f>] blk_execute_rq+0x3a/0x50
[<00000000a7654b6e>] scsi_execute+0x113/0x250
[<00000000fd78f7cd>] sd_sync_cache+0x95/0x160
[<0000000024dacb14>] sd_shutdown+0x9b/0xd0
[<00000000e9101710>] sd_remove+0x5f/0xb0
[<00000000c43f0d63>] device_release_driver_internal+0x13c/0x1f0
[<00000000e8ad57b6>] bus_remove_device+0xe9/0x160
[<00000000713a7b8a>] device_del+0x120/0x320
[<00000000e5db670c>] __scsi_remove_device+0x115/0x150
[<00000000eccbef30>] scsi_forget_host+0x20/0x60
[<00000000cd5a0738>] scsi_remove_host+0x6d/0x120
Cc: stable at vger.kernel.org # v4.17+
Signed-off-by: Luis Henriques <lhenriques at suse.com>
Acked-by: Douglas Gilbert <dgilbert at interlog.com>
Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
commit 49d7bd36813ea8e6b4c97b640d24e7fbd44c84f0
Author: Mikhail Malygin <m.malygin at yadro.com>
Date: Wed Jun 13 13:05:57 2018 +0000
scsi: qla2xxx: Spinlock recursion in qla_target
The patch reverts changes done in qlt_schedule_sess_for_deletion() to
avoid spinlock recursion sess->vha->work_lock should be used instead
of ha->tgt.sess_lock, that can be locked in callers: qlt_reset() or
qlt_handle_login()
[mkp: roll in build warning reported by sfr]
Fixes: 1c6cacf4ea6c04 ("scsi: qla2xxx: Fixup locking for session deletion")
Cc: <stable at vger.kernel.org> #v4.17
Signed-off-by: Mikhail Malygin <m.malygin at yadro.com>
Reported-by: Mikhail Malygin <m.malygin at yadro.com>
Tested-by: Mikhail Malygin <m.malygin at yadro.com>
Acked-by: Himanshu Madhani <himanshu.madhani at cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
commit f2233a33dc1fef4aa30dc11e4c676637bf358c3d
Author: Arnd Bergmann <arnd at arndb.de>
Date: Mon Mar 19 22:50:05 2018 -0400
scsi: ipr: Eliminate duplicate barriers
Driver does both wmb() and writel(). The latter already has a barrier
on some architectures like arm64. This ends up with CPU observing two
barriers back to back before executing the register write.
Drivers should generally assume that the barrier implied by writel() is
sufficient for ordering DMA. Remove the extraneous wmb() before it.
[mkp: Squashed Arnd's and Sinan's patches]
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Reported-by: Sinan Kaya <okaya at codeaurora.org>
Acked-by: Brian King <brking at linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
commit 6c3796d130ed2860489885a934dcb7bb334d5eb0
Author: bstroesser at ts.fujitsu.com <bstroesser at ts.fujitsu.com>
Date: Thu May 24 18:49:41 2018 +0200
scsi: target: tcmu: add read length support
Generally target core and TCMUser seem to work fine for tape devices and
media changers. But there is at least one situation where TCMUser is not
able to support sequential access device emulation correctly.
The situation is when an initiator sends a SCSI READ CDB with a length that
is greater than the length of the tape block to read. We can distinguish
two subcases:
A) The initiator sent the READ CDB with the SILI bit being set.
In this case the sequential access device has to transfer the data from
the tape block (only the length of the tape block) and transmit a good
status. The current interface between TCMUser and the userspace does
not support reduction of the read data size by the userspace program.
The patch below fixes this subcase by allowing the userspace program to
specify a reduced data size in read direction.
B) The initiator sent the READ CDB with the SILI bit not being set.
In this case the sequential access device has to transfer the data from
the tape block as in A), but additionally has to transmit CHECK
CONDITION with the ILI bit set and NO SENSE in the sensebytes. The
information field in the sensebytes must contain the residual count.
With the below patch a user space program can specify the real read data
length and appropriate sensebytes. TCMUser then uses the se_cmd flag
SCF_TREAT_READ_AS_NORMAL, to force target core to transmit the real data
size and the sensebytes. Note: the flag SCF_TREAT_READ_AS_NORMAL is
introduced by Lee Duncan's patch "[PATCH v4] target: transport should
handle st FM/EOM/ILI reads" from Tue, 15 May 2018 18:25:24 -0700.
Signed-off-by: Bodo Stroesser <bstroesser at ts.fujitsu.com>
Acked-by: Mike Christie <mchristi at redhat.com>
Reviewed-by: Lee Duncan <lduncan at suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
commit 08ca1b52f69b4dfa8703d54e26e2c6e11aa453eb
Author: Alex Williamson <alex.williamson at redhat.com>
Date: Mon Jun 18 16:39:50 2018 -0600
vfio/pci: Make IGD support a configurable option
Allow the code which provides extensions to support direct assignment
of Intel IGD (GVT-d) to be compiled out of the kernel if desired. The
config option for this was previously automatically enabled on X86,
therefore the default remains Y. This simply provides the option to
disable it even for X86.
Signed-off-by: Alex Williamson <alex.williamson at redhat.com>
commit a45fc268db20ecd859bb61e25045912b3194b5e6
Author: Hoan Tran <hoan.tran at amperecomputing.com>
Date: Thu Jun 7 14:35:01 2018 +0100
drivers/perf: xgene_pmu: Fix IOB SLOW PMU parser error
This patch fixes the below parser error of the IOB SLOW PMU.
# perf stat -a -e iob-slow0/cycle-count/ sleep 1
evenf syntax error: 'iob-slow0/cycle-count/'
\___ parser error
It replaces the "-" character by "_" character inside the PMU name.
Signed-off-by: Hoan Tran <hoan.tran at amperecomputing.com>
Signed-off-by: Will Deacon <will.deacon at arm.com>
commit 75af23c4736c5633894ea0baf9bca1cf6b248ca4
Author: Ray Jui <ray.jui at broadcom.com>
Date: Tue Jun 12 13:21:31 2018 -0700
arm64: dts: Stingray: Fix I2C controller interrupt type
Fix I2C controller interrupt to use IRQ_TYPE_LEVEL_HIGH for Broadcom
Stingray SoC.
Fixes: 1256ea18875d ("arm64: dts: Add I2C DT nodes for Stingray SoC")
Signed-off-by: Ray Jui <ray.jui at broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
commit bfc9dfdcb6e9493de5d4fe0d3ed3ce57672f8d07
Author: Shaohua Li <shli at fb.com>
Date: Wed Jun 13 08:39:49 2018 -0700
MD: cleanup resources in failure
We need destroy the memory pool in failure
Signed-off-by: Shaohua Li <shli at fb.com>
commit d0b8aed9e80ab526dbb04020bfc94ecea7bddb44
Author: Ray Jui <ray.jui at broadcom.com>
Date: Tue Jun 12 13:21:30 2018 -0700
arm64: dts: ns2: Fix PCIe controller interrupt type
Fix PCIe controller interrupt to use IRQ_TYPE_LEVEL_HIGH for Broadcom
NS2 SoC.
Fixes: fd5e5dd56a2f ("arm64: dts: Add PCIe0 and PCIe4 DT nodes for NS2")
Signed-off-by: Ray Jui <ray.jui at broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
commit e605c287deed45624e8d35a15e3f0b4faab1a62d
Author: Ray Jui <ray.jui at broadcom.com>
Date: Tue Jun 12 13:21:29 2018 -0700
arm64: dts: ns2: Fix I2C controller interrupt type
Fix I2C controller interrupt to use IRQ_TYPE_LEVEL_HIGH for Broadcom NS2
SoC.
Fixes: 7ac674e8df7a ("arm64: dts: Add I2C nodes for NS2")
Signed-off-by: Ray Jui <ray.jui at broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
commit 37c2bd81a86ebb1cc934bf52a29c33d6f9abff7f
Author: Scott Branden <scott.branden at broadcom.com>
Date: Tue May 22 10:01:39 2018 -0700
arm64: dts: specify 1.8V EMMC capabilities for bcm958742t
Specify 1.8V EMMC capabilities for bcm958742t board to indicate support
for UHS mode.
Fixes: d4b4aba6be8a ("arm64: dts: Initial DTS files for Broadcom Stingray SOC")
Signed-off-by: Scott Branden <scott.branden at broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
commit eba92503e980c08ac353d0d669d0bb143979abcd
Author: Scott Branden <scott.branden at broadcom.com>
Date: Fri May 18 08:21:20 2018 -0700
arm64: dts: specify 1.8V EMMC capabilities for bcm958742k
Specify 1.8V EMMC capabilities for bcm958742k board to indicate support
for UHS mode.
Fixes: d4b4aba6be8a ("arm64: dts: Initial DTS files for Broadcom Stingray SOC")
Signed-off-by: Scott Branden <scott.branden at broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
commit 6cb1628ad3506b315cdddd7676db0ff2af378d28
Author: Ray Jui <ray.jui at broadcom.com>
Date: Tue Jun 12 13:21:28 2018 -0700
ARM: dts: Cygnus: Fix PCIe controller interrupt type
Fix PCIe controller interrupt to use IRQ_TYPE_LEVEL_HIGH for Broadcom
Cygnus SoC
Fixes: cd590b50a936 ("ARM: dts: enable PCIe support for Cygnus")
Fixes: f6b889358a82 ("ARM: dts: Enable MSI support for Broadcom Cygnus")
Signed-off-by: Ray Jui <ray.jui at broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
commit 71ca3409703b62b6a092d0d9d13f366c121bc5d3
Author: Ray Jui <ray.jui at broadcom.com>
Date: Tue Jun 12 13:21:27 2018 -0700
ARM: dts: Cygnus: Fix I2C controller interrupt type
Fix I2C controller interrupt to use IRQ_TYPE_LEVEL_HIGH for Broadcom
Cygnus SoC.
Fixes: b51c05a331ff ("ARM: dts: add I2C device nodes for Broadcom Cygnus")
Signed-off-by: Ray Jui <ray.jui at broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
commit a0a8338e905734518ab9b10b06e7fd0201228f8b
Author: Florian Fainelli <f.fainelli at gmail.com>
Date: Mon Jun 11 15:53:40 2018 -0700
ARM: dts: BCM5301x: Fix i2c controller interrupt type
The i2c controller should be using IRQ_TYPE_LEVEL_HIGH, fix that.
Fixes: bb097e3e0045 ("ARM: dts: BCM5301X: Add I2C support to the DT")
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
commit dbe4a39331b7aa8bcac8ef2da780724e1af1619a
Author: Florian Fainelli <f.fainelli at gmail.com>
Date: Mon Jun 11 15:47:14 2018 -0700
ARM: dts: HR2: Fix interrupt types for i2c and PCIe
The i2c and PCIe controllers had an incorrect type which should have
been set to IRQ_TYPE_LEVEL_HIGH, fix that.
Fixes: b9099ec754b5 ("ARM: dts: Add Broadcom Hurricane 2 DTS include file")
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
commit 403fde644855bc71318c8db65646383e22653b13
Author: Florian Fainelli <f.fainelli at gmail.com>
Date: Mon Jun 11 15:47:13 2018 -0700
ARM: dts: NSP: Fix PCIe controllers interrupt types
The interrupts for the PCIe controllers should all be of type
IRQ_TYPE_LEVEL_HIGH instead of IRQ_TYPE_NONE.
Fixes: d71eb9412088 ("ARM: dts: NSP: Add MSI support on PCI")
Fixes: 522199029fdc ("ARM: dts: NSP: Fix PCIE DT issue")
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
commit a3e32e78a40017756c71ef6dad429ffe3301126a
Author: Florian Fainelli <f.fainelli at gmail.com>
Date: Mon Jun 11 15:47:12 2018 -0700
ARM: dts: NSP: Fix i2c controller interrupt type
The i2c controller should use IRQ_TYPE_LEVEL_HIGH instead of
IRQ_TYPE_NONE.
Fixes: 0f9f27a36d09 ("ARM: dts: NSP: Add I2C support to the DT")
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
commit d64324acdb7052b08b13ffc8c12af232c6a29afd
Author: Florian Fainelli <f.fainelli at gmail.com>
Date: Tue Jun 5 09:24:55 2018 -0700
MAINTAINERS: Update Broadcom iProc entry with Stingray
Update the MAINTAINERS file to cover the "stingray" pattern and a few
files under arch/arm64/boot/dts/broadcom/* as well as the clock driver
and binding.
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
commit 9f3cb9b71bc3166f27ceffe0b7295c464c638151
Author: Florian Fainelli <f.fainelli at gmail.com>
Date: Tue Jun 5 09:22:37 2018 -0700
MAINAINTERS: Corrected Broadcom Northstar2 entry
While moving the Northstar 2 DTS into a dedicated directory, the
corresponding MAINTAINERS file entry was not updated accordingly, fix
that.
Fixes: 63a913c157f5 ("arm64: dts: move ns2 into northstar2 directory")
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
commit ad9852af97587b8abe8102f9ddcb05c9769656f6
Author: Gao Feng <gfree.wind at vip.163.com>
Date: Wed Jun 13 12:26:13 2018 +0800
netfilter: nf_ct_helper: Fix possible panic after nf_conntrack_helper_unregister
The helper module would be unloaded after nf_conntrack_helper_unregister,
so it may cause a possible panic caused by race.
nf_ct_iterate_destroy(unhelp, me) reset the helper of conntrack as NULL,
but maybe someone has gotten the helper pointer during this period. Then
it would panic, when it accesses the helper and the module was unloaded.
Take an example as following:
CPU0 CPU1
ctnetlink_dump_helpinfo
helper = rcu_dereference(help->helper);
unhelp
set helper as NULL
unload helper module
helper->to_nlattr(skb, ct);
As above, the cpu0 tries to access the helper and its module is unloaded,
then the panic happens.
Signed-off-by: Gao Feng <gfree.wind at vip.163.com>
Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>
commit 9ce7bc036ae4cfe3393232c86e9e1fea2153c237
Author: Eric Dumazet <edumazet at google.com>
Date: Wed Jun 13 10:11:56 2018 -0700
netfilter: ipv6: nf_defrag: reduce struct net memory waste
It is a waste of memory to use a full "struct netns_sysctl_ipv6"
while only one pointer is really used, considering netns_sysctl_ipv6
keeps growing.
Also, since "struct netns_frags" has cache line alignment,
it is better to move the frags_hdr pointer outside, otherwise
we spend a full cache line for this pointer.
This saves 192 bytes of memory per netns.
Fixes: c038a767cd69 ("ipv6: add a new namespace for nf_conntrack_reasm")
Signed-off-by: Eric Dumazet <edumazet at google.com>
Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>
commit ba062ebb2cd561d404e0fba8ee4b3f5ebce7cbfc
Author: Eric Dumazet <edumazet at google.com>
Date: Wed Jun 13 09:13:39 2018 -0700
netfilter: nf_queue: augment nfqa_cfg_policy
Three attributes are currently not verified, thus can trigger KMSAN
warnings such as :
BUG: KMSAN: uninit-value in __arch_swab32 arch/x86/include/uapi/asm/swab.h:10 [inline]
BUG: KMSAN: uninit-value in __fswab32 include/uapi/linux/swab.h:59 [inline]
BUG: KMSAN: uninit-value in nfqnl_recv_config+0x939/0x17d0 net/netfilter/nfnetlink_queue.c:1268
CPU: 1 PID: 4521 Comm: syz-executor120 Not tainted 4.17.0+ #5
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x185/0x1d0 lib/dump_stack.c:113
kmsan_report+0x188/0x2a0 mm/kmsan/kmsan.c:1117
__msan_warning_32+0x70/0xc0 mm/kmsan/kmsan_instr.c:620
__arch_swab32 arch/x86/include/uapi/asm/swab.h:10 [inline]
__fswab32 include/uapi/linux/swab.h:59 [inline]
nfqnl_recv_config+0x939/0x17d0 net/netfilter/nfnetlink_queue.c:1268
nfnetlink_rcv_msg+0xb2e/0xc80 net/netfilter/nfnetlink.c:212
netlink_rcv_skb+0x37e/0x600 net/netlink/af_netlink.c:2448
nfnetlink_rcv+0x2fe/0x680 net/netfilter/nfnetlink.c:513
netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline]
netlink_unicast+0x1680/0x1750 net/netlink/af_netlink.c:1336
netlink_sendmsg+0x104f/0x1350 net/netlink/af_netlink.c:1901
sock_sendmsg_nosec net/socket.c:629 [inline]
sock_sendmsg net/socket.c:639 [inline]
___sys_sendmsg+0xec8/0x1320 net/socket.c:2117
__sys_sendmsg net/socket.c:2155 [inline]
__do_sys_sendmsg net/socket.c:2164 [inline]
__se_sys_sendmsg net/socket.c:2162 [inline]
__x64_sys_sendmsg+0x331/0x460 net/socket.c:2162
do_syscall_64+0x15b/0x230 arch/x86/entry/common.c:287
entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x43fd59
RSP: 002b:00007ffde0e30d28 EFLAGS: 00000213 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 000000000043fd59
RDX: 0000000000000000 RSI: 0000000020000080 RDI: 0000000000000003
RBP: 00000000006ca018 R08: 00000000004002c8 R09: 00000000004002c8
R10: 00000000004002c8 R11: 0000000000000213 R12: 0000000000401680
R13: 0000000000401710 R14: 0000000000000000 R15: 0000000000000000
Uninit was created at:
kmsan_save_stack_with_flags mm/kmsan/kmsan.c:279 [inline]
kmsan_internal_poison_shadow+0xb8/0x1b0 mm/kmsan/kmsan.c:189
kmsan_kmalloc+0x94/0x100 mm/kmsan/kmsan.c:315
kmsan_slab_alloc+0x10/0x20 mm/kmsan/kmsan.c:322
slab_post_alloc_hook mm/slab.h:446 [inline]
slab_alloc_node mm/slub.c:2753 [inline]
__kmalloc_node_track_caller+0xb35/0x11b0 mm/slub.c:4395
__kmalloc_reserve net/core/skbuff.c:138 [inline]
__alloc_skb+0x2cb/0x9e0 net/core/skbuff.c:206
alloc_skb include/linux/skbuff.h:988 [inline]
netlink_alloc_large_skb net/netlink/af_netlink.c:1182 [inline]
netlink_sendmsg+0x76e/0x1350 net/netlink/af_netlink.c:1876
sock_sendmsg_nosec net/socket.c:629 [inline]
sock_sendmsg net/socket.c:639 [inline]
___sys_sendmsg+0xec8/0x1320 net/socket.c:2117
__sys_sendmsg net/socket.c:2155 [inline]
__do_sys_sendmsg net/socket.c:2164 [inline]
__se_sys_sendmsg net/socket.c:2162 [inline]
__x64_sys_sendmsg+0x331/0x460 net/socket.c:2162
do_syscall_64+0x15b/0x230 arch/x86/entry/common.c:287
entry_SYSCALL_64_after_hwframe+0x44/0xa9
Fixes: fdb694a01f1f ("netfilter: Add fail-open support")
Fixes: 829e17a1a602 ("[NETFILTER]: nfnetlink_queue: allow changing queue length through netlink")
Signed-off-by: Eric Dumazet <edumazet at google.com>
Reported-by: syzbot <syzkaller at googlegroups.com>
Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>
commit 21cbbc6bb7b4ba6aee303a3b4aef1578253724d8
Author: Minas Harutyunyan <Minas.Harutyunyan at synopsys.com>
Date: Tue Jun 12 12:27:36 2018 +0400
usb: dwc2: gadget: fix packet drop issue for ISOC OUT transfers
In ISOC OUT transfer, when the OUT token received while EP disabled,
we shouldn't complete a usb request. The current flow completed one
usb request, this will lead to a packet drop to function driver.
Signed-off-by: Minas Harutyunyan <hminas at synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit 615277779f41a753e68f531613e344c54fdc95bf
Author: Hans de Goede <hdegoede at redhat.com>
Date: Tue Jun 12 10:24:48 2018 +0200
usb: dwc3: Only call clk_bulk_get() on devicetree instantiated devices
Commit fe8abf332b8f ("usb: dwc3: support clocks and resets for DWC3 core")
adds support for handling clocks and resets in the DWC3 core, so that for
platforms following the standard devicetree bindings this does not need
to be duplicated in all the different glue layers.
These changes intended for devicetree based platforms introduce an
uncoditional clk_bulk_get() in the core probe path. This leads to the
following error being logged on x86/ACPI systems:
[ 26.276783] dwc3 dwc3.3.auto: Failed to get clk 'ref': -2
This commits wraps the clk_bulk_get() in an if (dev->of_node) check so
that it only is done on devicetree instantiated devices, fixing this
error.
Cc: Masahiro Yamada <yamada.masahiro at socionext.com>
Reviewed-by: Masahiro Yamada <yamada.masahiro at socionext.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit 6e967d7e2c4822eba4847ec09037119a0418aaef
Author: Zeng Tao <prime.zeng at hisilicon.com>
Date: Tue Jun 12 22:49:06 2018 +0800
usb: dwc2: gadget: fix packet drop issue in dwc2_gadget_handle_nak
In ISOC transfer, when the NAK interrupt happens, we shouldn't complete
a usb request, the current flow will complete one usb request with no
hardware transfer, this will lead to a packet drop on the usb bus.
Acked-by: Minas Harutyunyan <hminas at synopsys.com>
Signed-off-by: Zeng Tao <prime.zeng at hisilicon.com>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit 896e518883f18e601335908192e33426c1f599a4
Author: Johan Hovold <johan at kernel.org>
Date: Thu May 31 16:45:52 2018 +0200
usb: dwc3: of-simple: fix use-after-free on remove
The clocks have already been explicitly disabled and put as part of
remove() so the runtime suspend callback must not be run when balancing
the runtime PM usage count before returning.
Fixes: 16adc674d0d6 ("usb: dwc3: add generic OF glue layer")
Signed-off-by: Johan Hovold <johan at kernel.org>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit 1ffba9058737af2ddeebc813faa8ea9b16bc892a
Author: Minas Harutyunyan <Minas.Harutyunyan at synopsys.com>
Date: Tue Jun 12 12:37:29 2018 +0400
usb: dwc2: gadget: Fix issue in dwc2_gadget_start_isoc()
In case of requests queue is empty reset EP target_frame to
initial value.
This allow restarting ISOC traffic in case when function
driver queued requests with interruptions.
Tested-by: Zeng Tao <prime.zeng at hisilicon.com>
Signed-off-by: Minas Harutyunyan <hminas at synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit 3ec148ebe3112b40c9a2c0c543bcb0cd1a3abd43
Author: Jaejoong Kim <climbbb.kim at gmail.com>
Date: Thu Jun 14 18:56:31 2018 +0900
doc: usb: Fix typo in gadget_configfs documentation
Fix the directory name from 'configfs' to 'configs'.
Signed-off-by: Jaejoong Kim <climbbb.kim at gmail.com>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit d52e4d0c0c428bf2ba35074a7495cdb28e2efbae
Author: Vincent Pelletier <plr.vincent at gmail.com>
Date: Wed Jun 13 11:05:06 2018 +0000
usb: gadget: ffs: Fix BUG when userland exits with submitted AIO transfers
This bug happens only when the UDC needs to sleep during usb_ep_dequeue,
as is the case for (at least) dwc3.
[ 382.200896] BUG: scheduling while atomic: screen/1808/0x00000100
[ 382.207124] 4 locks held by screen/1808:
[ 382.211266] #0: (rcu_callback){....}, at: [<c10b4ff0>] rcu_process_callbacks+0x260/0x440
[ 382.219949] #1: (rcu_read_lock_sched){....}, at: [<c1358ba0>] percpu_ref_switch_to_atomic_rcu+0xb0/0x130
[ 382.230034] #2: (&(&ctx->ctx_lock)->rlock){....}, at: [<c11f0c73>] free_ioctx_users+0x23/0xd0
[ 382.230096] #3: (&(&ffs->eps_lock)->rlock){....}, at: [<f81e7710>] ffs_aio_cancel+0x20/0x60 [usb_f_fs]
[ 382.230160] Modules linked in: usb_f_fs libcomposite configfs bnep btsdio bluetooth ecdh_generic brcmfmac brcmutil intel_powerclamp coretemp dwc3 kvm_intel ulpi udc_core kvm irqbypass crc32_pclmul crc32c_intel pcbc dwc3_pci aesni_intel aes_i586 crypto_simd cryptd ehci_pci ehci_hcd gpio_keys usbcore basincove_gpadc industrialio usb_common
[ 382.230407] CPU: 1 PID: 1808 Comm: screen Not tainted 4.14.0-edison+ #117
[ 382.230416] Hardware name: Intel Corporation Merrifield/BODEGA BAY, BIOS 542 2015.01.21:18.19.48
[ 382.230425] Call Trace:
[ 382.230438] <SOFTIRQ>
[ 382.230466] dump_stack+0x47/0x62
[ 382.230498] __schedule_bug+0x61/0x80
[ 382.230522] __schedule+0x43/0x7a0
[ 382.230587] schedule+0x5f/0x70
[ 382.230625] dwc3_gadget_ep_dequeue+0x14c/0x270 [dwc3]
[ 382.230669] ? do_wait_intr_irq+0x70/0x70
[ 382.230724] usb_ep_dequeue+0x19/0x90 [udc_core]
[ 382.230770] ffs_aio_cancel+0x37/0x60 [usb_f_fs]
[ 382.230798] kiocb_cancel+0x31/0x40
[ 382.230822] free_ioctx_users+0x4d/0xd0
[ 382.230858] percpu_ref_switch_to_atomic_rcu+0x10a/0x130
[ 382.230881] ? percpu_ref_exit+0x40/0x40
[ 382.230904] rcu_process_callbacks+0x2b3/0x440
[ 382.230965] __do_softirq+0xf8/0x26b
[ 382.231011] ? __softirqentry_text_start+0x8/0x8
[ 382.231033] do_softirq_own_stack+0x22/0x30
[ 382.231042] </SOFTIRQ>
[ 382.231071] irq_exit+0x45/0xc0
[ 382.231089] smp_apic_timer_interrupt+0x13c/0x150
[ 382.231118] apic_timer_interrupt+0x35/0x3c
[ 382.231132] EIP: __copy_user_ll+0xe2/0xf0
[ 382.231142] EFLAGS: 00210293 CPU: 1
[ 382.231154] EAX: bfd4508c EBX: 00000004 ECX: 00000003 EDX: f3d8fe50
[ 382.231165] ESI: f3d8fe51 EDI: bfd4508d EBP: f3d8fe14 ESP: f3d8fe08
[ 382.231176] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[ 382.231265] core_sys_select+0x25f/0x320
[ 382.231346] ? __wake_up_common_lock+0x62/0x80
[ 382.231399] ? tty_ldisc_deref+0x13/0x20
[ 382.231438] ? ldsem_up_read+0x1b/0x40
[ 382.231459] ? tty_ldisc_deref+0x13/0x20
[ 382.231479] ? tty_write+0x29f/0x2e0
[ 382.231514] ? n_tty_ioctl+0xe0/0xe0
[ 382.231541] ? tty_write_unlock+0x30/0x30
[ 382.231566] ? __vfs_write+0x22/0x110
[ 382.231604] ? security_file_permission+0x2f/0xd0
[ 382.231635] ? rw_verify_area+0xac/0x120
[ 382.231677] ? vfs_write+0x103/0x180
[ 382.231711] SyS_select+0x87/0xc0
[ 382.231739] ? SyS_write+0x42/0x90
[ 382.231781] do_fast_syscall_32+0xd6/0x1a0
[ 382.231836] entry_SYSENTER_32+0x47/0x71
[ 382.231848] EIP: 0xb7f75b05
[ 382.231857] EFLAGS: 00000246 CPU: 1
[ 382.231868] EAX: ffffffda EBX: 00000400 ECX: bfd4508c EDX: bfd4510c
[ 382.231878] ESI: 00000000 EDI: 00000000 EBP: 00000000 ESP: bfd45020
[ 382.231889] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 007b
[ 382.232281] softirq: huh, entered softirq 9 RCU c10b4d90 with preempt_count 00000100, exited with 00000000?
Tested-by: Sam Protsenko <semen.protsenko at linaro.org>
Signed-off-by: Vincent Pelletier <plr.vincent at gmail.com>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit 00908693c481f7298adf8cf4d2ff3dfbea8c375f
Author: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Date: Thu Jun 15 12:57:30 2017 +0300
usb: dwc3: pci: add support for Intel IceLake
PCI IDs for Intel IceLake.
Signed-off-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
commit 24160628a34af962ac99f2f58e547ac3c4cbd26f
Author: Johan Hovold <johan at kernel.org>
Date: Mon Jun 18 10:24:03 2018 +0200
USB: serial: cp210x: add CESINEL device ids
Add device ids for CESINEL products.
Reported-by: Carlos Barcala Lara <cabl at cesinel.com>
Cc: stable <stable at vger.kernel.org>
Signed-off-by: Johan Hovold <johan at kernel.org>
commit 2f839823382748664b643daa73f41ee0cc01ced6
Author: Karoly Pados <pados at pados.hu>
Date: Sat Jun 9 13:26:08 2018 +0200
USB: serial: cp210x: add Silicon Labs IDs for Windows Update
Silicon Labs defines alternative VID/PID pairs for some chips that when
used will automatically install drivers for Windows users without manual
intervention. Unfortunately, these IDs are not recognized by the Linux
module, so using these IDs improves user experience on one platform but
degrades it on Linux. This patch addresses this problem.
Signed-off-by: Karoly Pados <pados at pados.hu>
Cc: stable <stable at vger.kernel.org>
Signed-off-by: Johan Hovold <johan at kernel.org>
commit bfe0a5f47ada40d7984de67e59a7d3390b9b9ecc
Author: Theodore Ts'o <tytso at mit.edu>
Date: Sun Jun 17 18:11:20 2018 -0400
ext4: add more mount time checks of the superblock
The kernel's ext4 mount-time checks were more permissive than
e2fsprogs's libext2fs checks when opening a file system. The
superblock is considered too insane for debugfs or e2fsck to operate
on it, the kernel has no business trying to mount it.
This will make file system fuzzing tools work harder, but the failure
cases that they find will be more useful and be easier to evaluate.
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
Cc: stable at kernel.org
commit 3637f12faf507b0a4b8ac1e7115fc99583ab1db3
Author: Anson Huang <Anson.Huang at nxp.com>
Date: Wed May 30 09:30:42 2018 +0800
soc: imx: gpcv2: correct PGC offset
Correct MIPI/PCIe/USB_HSIC's PGC offset based on
design RTL, the values in the Reference Manual
(Rev. 1, 01/2018 and the older ones) are incorrect.
The correct offset values should be as below:
0x800 ~ 0x83F: PGC for core0 of A7 platform;
0x840 ~ 0x87F: PGC for core1 of A7 platform;
0x880 ~ 0x8BF: PGC for SCU of A7 platform;
0xA00 ~ 0xA3F: PGC for fastmix/megamix;
0xC00 ~ 0xC3F: PGC for MIPI PHY;
0xC40 ~ 0xC7F: PGC for PCIe_PHY;
0xC80 ~ 0xCBF: PGC for USB OTG1 PHY;
0xCC0 ~ 0xCFF: PGC for USB OTG2 PHY;
0xD00 ~ 0xD3F: PGC for USB HSIC PHY;
Signed-off-by: Anson Huang <Anson.Huang at nxp.com>
Fixes: 03aa12629fc4 ("soc: imx: Add GPCv2 power gating driver")
Acked-by: Andrey Smirnov <andrew.smirnov at gmail.com>
Reviewed-by: Fabio Estevam <fabio.estevam at nxp.com>
Signed-off-by: Shawn Guo <shawnguo at kernel.org>
commit a57a46b93244a0a916b894d8b2ca2a6cfe1904d3
Author: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Date: Fri Jun 15 21:56:20 2018 -0400
ALSA: hda/ca0132: Fix DMic data rate for Alienware M17x R4
The commentary says to use various parameters, and lays out what
the mapping is... The code used a 32KHz rate when the comment
says that it needs to use a 48KHz rate. And this has been the
case since day one.
On the Alienware M17x R4, the DMic used to have exceptionally quiet
pickup and a lot of noise. Changing the data rate fixes both of
these issues.
Searching the kernel bug tracker for ca0132-related issues shows no
mention of this being an issue for other hardware, and I have no
other hardware to test with, so a quirk is used to limit the effect
to just the M17x R4.
Signed-off-by: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Signed-off-by: Takashi Iwai <tiwai at suse.de>
commit 5f8ddc6ee63a9057522923a6b2eb8c51993e1db0
Author: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Date: Fri Jun 15 21:56:19 2018 -0400
ALSA: hda/ca0132: Restore PCM Analog Mic-In2
Commit 009b8f979bf8cb5f7ec6d3dd7683585122ed10f8 conditionalized
adding the "CA0132 Analog Mic-In2" PCM with a comment to the
effect that, "desktops don't use this ADC", but the test was set
up such that the ADC was only created for desktops. Invert the
test.
Fixes: 009b8f979bf8 ("ALSA: hda/ca0132: update core functions for sbz + r3di")
Signed-off-by: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Signed-off-by: Takashi Iwai <tiwai at suse.de>
commit 126b75e03894f3053b723130cb9b824e6f15d8e6
Author: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Date: Fri Jun 15 21:56:18 2018 -0400
ALSA: hda/ca0132: Don't test for QUIRK_NONE
QUIRK_NONE is, quite explicitly, the default case. The entire
point of a quirks system is to allow "programming by difference"
from a given base case, which requires that merely defining a new
quirk for some piece of hardware should not change the behavior of
the driver for that hardware. In turn, this means that testing
for QUIRK_NONE explicitly is a violation of that implicit contract.
Change a test for QUIRK_NONE and QUIRK_ALIENWARE to default, and
add a test for QUIRK_SBZ to disable the default behavior in that
instance.
Signed-off-by: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Signed-off-by: Takashi Iwai <tiwai at suse.de>
commit 365c7f25cd0a72b16979ba948e6c389a9a89818b
Author: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Date: Fri Jun 15 21:56:17 2018 -0400
ALSA: hda/ca0132: Restore behavior of QUIRK_ALIENWARE
Commit e93ac30a32a6ba7ac3b4b2a4379af1dadb91e505 (ALSA: HDA/ca0132:
add extra init functions for r3di + sbz) introduced an extra
initialization function that was improperly guarded, taking effect
on systems with QUIRK_ALIENWARE, even though such systems were
supposedly not affected.
It may be that this piece of initialization should be done for all
systems, but that's not a call that I can make.
Fixes: e93ac30a32a6 ("ALSA: HDA/ca0132: add extra init functions for r3di + sbz")
Signed-off-by: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Signed-off-by: Takashi Iwai <tiwai at suse.de>
commit a3d90d6775e2066a100b9124e40880bd317d2e02
Author: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Date: Fri Jun 15 21:56:16 2018 -0400
ALSA: hda/ca0132: Delete redundant UNSOL event requests
During ca0132_init(), ca0132_init_unsol() is run before the
spec->spec_init_verbs are written. ca0132_init_unsol() calls
snd_hda_jack_detect_enable_callback(), which requests UNSOL events
for three or four nodes, two of which were also (redundantly)
requested by spec_init_verbs.
Kill the redundant AC_VERB_SET_UNSOLICITED_ENABLE verbs.
Signed-off-by: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Signed-off-by: Takashi Iwai <tiwai at suse.de>
commit 7919cd82b9f9be97111be386cbaac59958800ef9
Author: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Date: Fri Jun 15 21:56:15 2018 -0400
ALSA: hda/ca0132: Delete pointless assignments to struct auto_pin_cfg fields
ca0132_config() was setting some values in the auto_pin_cfg for
the codec... but it is called prior to snd_hda_parse_pin_defcfg(),
which does a memset() to clear the entire structure as one of its
first actions, making the entire exercise pointless.
Kill all use of struct auto_pin_cfg from ca0132_config().
Signed-off-by: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Signed-off-by: Takashi Iwai <tiwai at suse.de>
commit d5a6cabf02210b896a60eee7c04c670ee9ba6dca
Author: Takashi Iwai <tiwai at suse.de>
Date: Wed Jun 13 12:43:10 2018 +0200
ALSA: hda/realtek - Fix pop noise on Lenovo P50 & co
Some Lenovo laptops, e.g. Lenovo P50, showed the pop noise at resume
or runtime resume. It turned out to be reduced by applying
alc_no_shutup() just like TPT440 quirk does.
Since there are many Lenovo models showing the same behavior, put this
workaround in ALC269_FIXUP_THINKPAD_ACPI entry so that it's applied
commonly to all such Lenovo machines.
Reported-by: Hans de Goede <hdegoede at redhat.com>
Tested-by: Benjamin Berg <bberg at redhat.com>
Cc: <stable at vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai at suse.de>
commit df07101e1c4a29e820df02f9989a066988b160e6
Author: Sean Nyekjaer <sean.nyekjaer at prevas.dk>
Date: Tue May 22 19:45:09 2018 +0200
ARM: dts: imx6q: Use correct SDMA script for SPI5 core
According to the reference manual the shp_2_mcu / mcu_2_shp
scripts must be used for devices connected through the SPBA.
This fixes an issue we saw with DMA transfers.
Sometimes the SPI controller RX FIFO was not empty after a DMA
transfer and the driver got stuck in the next PIO transfer when
it read one word more than expected.
commit dd4b487b32a35 ("ARM: dts: imx6: Use correct SDMA script
for SPI cores") is fixing the same issue but only for SPI1 - 4.
Fixes: 677940258dd8e ("ARM: dts: imx6q: enable dma for ecspi5")
Signed-off-by: Sean Nyekjaer <sean.nyekjaer at prevas.dk>
Reviewed-by: Fabio Estevam <fabio.estevam at nxp.com>
Signed-off-by: Shawn Guo <shawnguo at kernel.org>
commit c37e9e013469521d9adb932d17a1795c139b36db
Author: Theodore Ts'o <tytso at mit.edu>
Date: Sun Jun 17 00:41:14 2018 -0400
ext4: add more inode number paranoia checks
If there is a directory entry pointing to a system inode (such as a
journal inode), complain and declare the file system to be corrupted.
Also, if the superblock's first inode number field is too small,
refuse to mount the file system.
This addresses CVE-2018-10882.
https://bugzilla.kernel.org/show_bug.cgi?id=200069
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
Cc: stable at kernel.org
commit 8bc1379b82b8e809eef77a9fedbb75c6c297be19
Author: Theodore Ts'o <tytso at mit.edu>
Date: Sat Jun 16 23:41:59 2018 -0400
ext4: avoid running out of journal credits when appending to an inline file
Use a separate journal transaction if it turns out that we need to
convert an inline file to use an data block. Otherwise we could end
up failing due to not having journal credits.
This addresses CVE-2018-10883.
https://bugzilla.kernel.org/show_bug.cgi?id=200071
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
Cc: stable at kernel.org
commit e09463f220ca9a1a1ecfda84fcda658f99a1f12a
Author: Theodore Ts'o <tytso at mit.edu>
Date: Sat Jun 16 20:21:45 2018 -0400
jbd2: don't mark block as modified if the handle is out of credits
Do not set the b_modified flag in block's journal head should not
until after we're sure that jbd2_journal_dirty_metadat() will not
abort with an error due to there not being enough space reserved in
the jbd2 handle.
Otherwise, future attempts to modify the buffer may lead a large
number of spurious errors and warnings.
This addresses CVE-2018-10883.
https://bugzilla.kernel.org/show_bug.cgi?id=200071
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
Cc: stable at kernel.org
commit 8cdb5240ec5928b20490a2bb34cb87e9a5f40226
Author: Theodore Ts'o <tytso at mit.edu>
Date: Sat Jun 16 15:40:48 2018 -0400
ext4: never move the system.data xattr out of the inode body
When expanding the extra isize space, we must never move the
system.data xattr out of the inode body. For performance reasons, it
doesn't make any sense, and the inline data implementation assumes
that system.data xattr is never in the external xattr block.
This addresses CVE-2018-10880
https://bugzilla.kernel.org/show_bug.cgi?id=200005
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
Cc: stable at kernel.org
commit 6e8ab72a812396996035a37e5ca4b3b99b5d214b
Author: Theodore Ts'o <tytso at mit.edu>
Date: Fri Jun 15 12:28:16 2018 -0400
ext4: clear i_data in ext4_inode_info when removing inline data
When converting from an inode from storing the data in-line to a data
block, ext4_destroy_inline_data_nolock() was only clearing the on-disk
copy of the i_blocks[] array. It was not clearing copy of the
i_blocks[] in ext4_inode_info, in i_data[], which is the copy actually
used by ext4_map_blocks().
This didn't matter much if we are using extents, since the extents
header would be invalid and thus the extents could would re-initialize
the extents tree. But if we are using indirect blocks, the previous
contents of the i_blocks array will be treated as block numbers, with
potentially catastrophic results to the file system integrity and/or
user data.
This gets worse if the file system is using a 1k block size and
s_first_data is zero, but even without this, the file system can get
quite badly corrupted.
This addresses CVE-2018-10881.
https://bugzilla.kernel.org/show_bug.cgi?id=200015
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
Cc: stable at kernel.org
commit bdbd6ce01a70f02e9373a584d0ae9538dcf0a121
Author: Theodore Ts'o <tytso at mit.edu>
Date: Fri Jun 15 12:27:16 2018 -0400
ext4: include the illegal physical block in the bad map ext4_error msg
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
Cc: stable at kernel.org
commit bc890a60247171294acc0bd67d211fa4b88d40ba
Author: Theodore Ts'o <tytso at mit.edu>
Date: Thu Jun 14 12:55:10 2018 -0400
ext4: verify the depth of extent tree in ext4_find_extent()
If there is a corupted file system where the claimed depth of the
extent tree is -1, this can cause a massive buffer overrun leading to
sadness.
This addresses CVE-2018-10877.
https://bugzilla.kernel.org/show_bug.cgi?id=199417
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
Cc: stable at kernel.org
commit 8844618d8aa7a9973e7b527d038a2a589665002c
Author: Theodore Ts'o <tytso at mit.edu>
Date: Thu Jun 14 00:58:00 2018 -0400
ext4: only look at the bg_flags field if it is valid
The bg_flags field in the block group descripts is only valid if the
uninit_bg or metadata_csum feature is enabled. We were not
consistently looking at this field; fix this.
Also block group #0 must never have uninitialized allocation bitmaps,
or need to be zeroed, since that's where the root inode, and other
special inodes are set up. Check for these conditions and mark the
file system as corrupted if they are detected.
This addresses CVE-2018-10876.
https://bugzilla.kernel.org/show_bug.cgi?id=199403
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
Cc: stable at kernel.org
commit 77260807d1170a8cf35dbb06e07461a655f67eee
Author: Theodore Ts'o <tytso at mit.edu>
Date: Wed Jun 13 23:08:26 2018 -0400
ext4: make sure bitmaps and the inode table don't overlap with bg descriptors
It's really bad when the allocation bitmaps and the inode table
overlap with the block group descriptors, since it causes random
corruption of the bg descriptors. So we really want to head those off
at the pass.
https://bugzilla.kernel.org/show_bug.cgi?id=199865
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
Cc: stable at kernel.org
commit 819b23f1c501b17b9694325471789e6b5cc2d0d2
Author: Theodore Ts'o <tytso at mit.edu>
Date: Wed Jun 13 23:00:48 2018 -0400
ext4: always check block group bounds in ext4_init_block_bitmap()
Regardless of whether the flex_bg feature is set, we should always
check to make sure the bits we are setting in the block bitmap are
within the block group bounds.
https://bugzilla.kernel.org/show_bug.cgi?id=199865
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
Cc: stable at kernel.org
commit 513f86d73855ce556ea9522b6bfd79f87356dc3a
Author: Theodore Ts'o <tytso at mit.edu>
Date: Wed Jun 13 00:51:28 2018 -0400
ext4: always verify the magic number in xattr blocks
If there an inode points to a block which is also some other type of
metadata block (such as a block allocation bitmap), the
buffer_verified flag can be set when it was validated as that other
metadata block type; however, it would make a really terrible external
attribute block. The reason why we use the verified flag is to avoid
constantly reverifying the block. However, it doesn't take much
overhead to make sure the magic number of the xattr block is correct,
and this will avoid potential crashes.
This addresses CVE-2018-10879.
https://bugzilla.kernel.org/show_bug.cgi?id=200001
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
Reviewed-by: Andreas Dilger <adilger at dilger.ca>
Cc: stable at kernel.org
commit 5369a762c882c0b6e9599e4ebbb3a9ba9eee7e2d
Author: Theodore Ts'o <tytso at mit.edu>
Date: Wed Jun 13 00:23:11 2018 -0400
ext4: add corruption check in ext4_xattr_set_entry()
In theory this should have been caught earlier when the xattr list was
verified, but in case it got missed, it's simple enough to add check
to make sure we don't overrun the xattr buffer.
This addresses CVE-2018-10879.
https://bugzilla.kernel.org/show_bug.cgi?id=200001
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
Reviewed-by: Andreas Dilger <adilger at dilger.ca>
Cc: stable at kernel.org
commit 327eaf738ff97d19491362e30497954105d60414
Author: Theodore Ts'o <tytso at mit.edu>
Date: Tue Jun 12 23:34:57 2018 -0400
ext4: add warn_on_error mount option
This is very handy when debugging bugs handling maliciously corrupted
file systems.
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
commit 01f7e67a053f7f5696fbdefe2b066303469b6db5
Merge: fc573af632b4 c258e84b180d
Author: Dmitry Torokhov <dmitry.torokhov at gmail.com>
Date: Tue Jun 12 16:24:36 2018 -0700
Merge branch 'next' into for-linus
Prepare second round of input updates for 4.18 merge window.
commit 5cf8da7bc03570bc15ef1b59e584dfb9e0f47e51
Author: Michal Simek <michal.simek at xilinx.com>
Date: Tue Jun 12 12:46:17 2018 +0200
microblaze: Remove architecture heart beat code
There is no reason to keep this gpio based code in architecture. Use
ledtrig-heartbeat.c instead which is much more flexible then this
ancient code.
Signed-off-by: Michal Simek <michal.simek at xilinx.com>
Reviewed-by: Linus Walleij <linus.walleij at linaro.org>
commit 71ab91157e9d849a5a0c5fcd1ce68d236c3ca703
Author: Rob Herring <robh at kernel.org>
Date: Mon Jun 11 08:58:36 2018 -0600
microblaze: heartbeat: fix missing prom.h include
Since commit 96f0e6fcc9ad ("microblaze: remove redundant early_printk
support") prom.h was removed and one instance in heartbeat.c remained.
Include of.h as it is the actual header needed.
Fixes: 96f0e6fcc9ad ("microblaze: remove redundant early_printk support")
Reported-by: kbuild test robot <lkp at intel.com>
Cc: Michal Simek <monstr at monstr.eu>
Signed-off-by: Rob Herring <robh at kernel.org>
Signed-off-by: Michal Simek <michal.simek at xilinx.com>
commit c258e84b180d38f76ab9962cf5bfc10720af1360
Author: Dmitry Torokhov <dmitry.torokhov at gmail.com>
Date: Tue Aug 15 16:00:42 2017 -0700
Input: do not assign new tracking ID when changing tool type
We allow changing tool type (from MT_TOOL_FINGER to MT_TOOL_PALM) so we
should not be forcing new tracking ID for the slot.
Acked-by: Benjamin Tissoires <benjamin.tissoires at redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>
commit bf6247a70f2b7569180304041b63b59ab14217bc
Author: Dmitry Torokhov <dmitry.torokhov at gmail.com>
Date: Tue Jun 5 10:08:44 2018 -0700
Input: make input_report_slot_state() return boolean
Let's make input_report_slot_state() return boolean representing whether
the contact is active or not. This will allow writing code like:
if (input_mt_report_slot_state(input, obj->mt_tool,
obj->type != RMI_2D_OBJECT_NONE) {
input_event(sensor->input, EV_ABS, ABS_MT_POSITION_X, obj->x);
input_event(sensor->input, EV_ABS, ABS_MT_POSITION_Y, obj->y);
...
}
instead of:
input_mt_report_slot_state(input, obj->mt_tool,
obj->type != RMI_2D_OBJECT_NONE);
if (obj->type != RMI_2D_OBJECT_NONE) {
input_event(sensor->input, EV_ABS, ABS_MT_POSITION_X, obj->x);
input_event(sensor->input, EV_ABS, ABS_MT_POSITION_Y, obj->y);
...
}
Reviewed-by: Henrik Rydberg <rydberg at bitmath.org>
Acked-by: Benjamin Tissoires <benjamin.tissoires at redaht.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>
commit 645a397d325db6e1bb36588095ae637738b37693
Author: Lucas Stach <l.stach at pengutronix.de>
Date: Tue Jun 5 10:34:54 2018 -0700
Input: synaptics-rmi4 - fix axis-swap behavior
The documentation for the touchscreen-swapped-x-y property states that
swapping is done after inverting if both are used. RMI4 did it the other
way around, leading to inconsistent behavior with regard to other
touchscreens.
Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
Tested-by: Nick Dyer <nick at shmanahar.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>
commit fd629294759b1e6e5dfc0c9bf892e63553dcc6fa
Author: Wei Yongjun <weiyongjun1 at huawei.com>
Date: Mon Jun 11 10:09:15 2018 -0700
Input: synaptics-rmi4 - fix the error return code in rmi_probe_interrupts()
The error return code PTR_ERR(data->irqdomain) is always 0 since
data->irqdomain is equal to NULL in this error handling case.
Fixes: 24d28e4f1271 ("Input: synaptics-rmi4 - convert irq distribution to irq_domain")
Signed-off-by: Wei Yongjun <weiyongjun1 at huawei.com>
Reviewed-by: Lyude Paul <lyude at redhat.com>
Reviewed-by: Nick Desaulniers <ndesaulniers at google.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>
commit 977d5ba4507dfe5b1346597ee57750262d8d2b19
Author: Geert Uytterhoeven <geert+renesas at glider.be>
Date: Tue Jun 5 17:05:15 2018 +0200
soc: renesas: rcar-sysc: Make PM domain initialization more robust
The quirk for R-Car E3 ES1.0 added in commit 086b399965a7ee7e ("soc:
renesas: r8a77990-sysc: Add workaround for 3DG-{A,B}") makes the 3DG-A
PM domain a subdomain of the 3DG-B PM domain. However, registering
3DG-A with its parent fails silently, as the 3DG-B PM domain hasn't been
registered yet, and such failures are never reported.
Fix this by:
1. Splitting PM Domain initialization in two steps, so all PM domains
are registered before any child-parent links are established,
2. Reporting any failures in establishing child-parent relations.
Check for and report pm_genpd_init() failures, too, as that function
gained a return value in commit 7eb231c337e00735 ("PM / Domains: Convert
pm_genpd_init() to return an error code").
Fixes: 086b399965a7ee7e ("soc: renesas: r8a77990-sysc: Add workaround for 3DG-{A,B}")
Signed-off-by: Geert Uytterhoeven <geert+renesas at glider.be>
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh at renesas.com>
Reviewed-by: Ulf Hansson <ulf.hansson at linaro.org>
Signed-off-by: Simon Horman <horms+renesas at verge.net.au>
commit 24d28e4f1271cb2f91613dada8f2acccd00eff56
Author: Nick Dyer <nick at shmanahar.org>
Date: Tue Jun 5 10:17:51 2018 -0700
Input: synaptics-rmi4 - convert irq distribution to irq_domain
Convert the RMI driver to use the standard mechanism for
distributing IRQs to the various functions.
Tested on:
* S7300 (F11, F34, F54)
* S7817 (F12, F34, F54)
Signed-off-by: Nick Dyer <nick at shmanahar.org>
Acked-by: Christopher Heiny <cheiny at synaptics.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>
commit fc573af632b44f355f8fa15ab505f5593368078d
Author: Hans de Goede <hdegoede at redhat.com>
Date: Tue Jun 5 09:34:22 2018 -0700
Input: silead - add MSSL0002 ACPI HID
The Silead touchscreen on the Chuwi Vi8 tablet uses MSSL0002 as ACPI HID,
rather then the usual MSSL1680 id.
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
Cc: stable at vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>
commit 8f6a652a8c1379023775709e3db6c6f7c1bdb2ab
Author: Roman Kiryanov <rkir at google.com>
Date: Thu May 31 17:03:33 2018 -0700
Input: goldfish_events - fix checkpatch warnings
Address issues pointed by checkpatch.pl
Signed-off-by: Roman Kiryanov <rkir at google.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>
commit 45615a9baf4661f953887988eeb4de69fd6cd96e
Author: Xiaotong Lu <xiaotong.lu at spreadtrum.com>
Date: Fri Jun 1 11:36:22 2018 -0700
Input: add Spreadtrum vibrator driver
This patch adds the Spreadtrum vibrator driver, which embedded in the
Spreadtrum SC27xx series PMICs.
Signed-off-by: Xiaotong Lu <xiaotong.lu at spreadtrum.com>
Signed-off-by: Baolin Wang <baolin.wang at linaro.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>
commit ac62cc9d9cd6fa4c79e171c13dc8d58c3862b678
Author: Viresh Kumar <viresh.kumar at linaro.org>
Date: Fri May 25 16:01:47 2018 +0530
arm: dts: armada: Fix "#cooling-cells" property's name
It should be "#cooling-cells" instead of "cooling-cells". Fix it.
Signed-off-by: Viresh Kumar <viresh.kumar at linaro.org>
Signed-off-by: Gregory CLEMENT <gregory.clement at bootlin.com>
commit 2f872ddcdb1e8e2186162616cea4581b8403849d
Author: Miquel Raynal <miquel.raynal at bootlin.com>
Date: Tue May 22 11:40:28 2018 +0200
arm64: dts: marvell: fix CP110 ICU node size
ICU size in CP110 is not 0x10 but at least 0x440 bytes long (from the
specification).
Fixes: 6ef84a827c37 ("arm64: dts: marvell: enable GICP and ICU on Armada 7K/8K")
Cc: stable at vger.kernel.org
Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
Signed-off-by: Gregory CLEMENT <gregory.clement at bootlin.com>
commit 3877ef7a1ccecaae378c497e1dcddbc2dccb664c
Author: Dinh Nguyen <dinguyen at kernel.org>
Date: Mon May 14 10:15:19 2018 -0500
ARM: dts: socfpga: Fix NAND controller node compatible for Arria10
The NAND compatible "denali,denal-nand-dt" property has never been used and
is obsolete. Remove it.
Cc: stable at vger.kernel.org
Fixes: f549af06e9b6("ARM: dts: socfpga: Add NAND device tree for Arria10")
Signed-off-by: Dinh Nguyen <dinguyen at kernel.org>
commit d9a695f3c8098ac9684689774a151cff30d8aa25
Author: Marek Vasut <marex at denx.de>
Date: Thu May 10 14:52:23 2018 +0200
ARM: dts: socfpga: Fix NAND controller node compatible
The compatible string for the Denali NAND controller is incorrect,
fix it by replacing it with one matching the DT bindings and the
driver.
Cc: stable at vger.kernel.org
Signed-off-by: Marek Vasut <marex at denx.de>
Fixes: d837a80d19 ("ARM: dts: socfpga: add nand controller nodes")
Cc: Steffen Trumtrar <s.trumtrar at pengutronix.de>
Signed-off-by: Dinh Nguyen <dinguyen at kernel.org>
commit 4eda9b766b042ea38d84df91581b03f6145a2ab0
Author: Marek Vasut <marex at denx.de>
Date: Thu May 10 16:37:26 2018 +0200
ARM: dts: socfpga: Fix NAND controller clock supply
The Denali NAND x-clock should be supplied by nand_x_clk, not by
nand_clk. Fix this, otherwise the Denali driver gets incorrect
clock frequency information and incorrectly configures the NAND
timing.
Cc: stable at vger.kernel.org
Signed-off-by: Marek Vasut <marex at denx.de>
Fixes: d837a80d19 ("ARM: dts: socfpga: add nand controller nodes")
Cc: Steffen Trumtrar <s.trumtrar at pengutronix.de>
Signed-off-by: Dinh Nguyen <dinguyen at kernel.org>
More information about the openchrome-devel
mailing list