This is the start of the stable review cycle for the 4.9.159 release.
There are 58 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Wed Feb 20 13:34:40 UTC 2019.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.159-rc…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.9.159-rc1
Hugh Dickins <hughd(a)google.com>
mm: stop leaking PageTables
Christian Lamparter <chunkeey(a)gmail.com>
pinctrl: msm: fix gpio-hog related boot issues
Liping Zhang <zlpnobody(a)gmail.com>
netfilter: nf_tables: fix mismatch in big-endian system
John Youn <johnyoun(a)synopsys.com>
usb: dwc2: Remove unnecessary kfree
Eric Dumazet <edumazet(a)google.com>
kaweth: use skb_cow_head() to deal with cloned skbs
Eric Dumazet <edumazet(a)google.com>
ch9200: use skb_cow_head() to deal with cloned skbs
James Hughes <james.hughes(a)raspberrypi.org>
smsc95xx: Use skb_cow_head to deal with cloned skbs
Joonas Lahtinen <joonas.lahtinen(a)linux.intel.com>
drm/i915: Prevent a race during I915_GEM_MMAP ioctl with WC set
Nikos Tsironis <ntsironis(a)arrikto.com>
dm thin: fix bug where bio that overwrites thin block ignores FUA
Borislav Petkov <bp(a)suse.de>
x86/a.out: Clear the dump structure initially
Eric W. Biederman <ebiederm(a)xmission.com>
signal: Restore the stop PTRACE_EVENT_EXIT
Hedi Berriche <hedi.berriche(a)hpe.com>
x86/platform/UV: Use efi_runtime_lock to serialise BIOS calls
Andreas Ziegler <andreas.ziegler(a)fau.de>
tracing/uprobes: Fix output for multiple string arguments
Meelis Roos <mroos(a)linux.ee>
alpha: Fix Eiger NR_IRQS to 128
Sergei Trofimovich <slyfox(a)gentoo.org>
alpha: fix page fault handling for r16-r18 targets
Matti Kurkela <Matti.Kurkela(a)iki.fi>
Input: elantech - enable 3rd button support on Fujitsu CELSIUS H780
Jonathan Bakker <xc-racer2(a)live.ca>
Input: bma150 - register input device after setting private data
Xiaoyao Li <xiaoyao.li(a)linux.intel.com>
kvm: vmx: Fix entry number check for add_atomic_switch_msr()
Manuel Reinhardt <manuel.rhdt(a)gmail.com>
ALSA: usb-audio: Fix implicit fb endpoint setup by quirk
Jurica Vukadin <jurica.vukadin(a)rt-rk.com>
ALSA: hda - Add quirk for HP EliteBook 840 G5
Jiri Olsa <jolsa(a)redhat.com>
perf/x86: Add check_period PMU callback
Ingo Molnar <mingo(a)kernel.org>
perf/core: Fix impossible ring-buffer sizes warning
Mauro Ciancio <mauro(a)acadeu.com>
Input: elan_i2c - add ACPI ID for touchpad in Lenovo V330-15ISK
Dmitry Torokhov <dmitry.torokhov(a)gmail.com>
Revert "Input: elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G"
Milian Wolff <milian.wolff(a)kdab.com>
perf report: Include partial stacks unwound with libdw
Ross Lagerwall <ross.lagerwall(a)citrix.com>
cifs: Limit memory used by lock request calls to a page
Nicholas Mc Guire <hofrat(a)osadl.org>
gpio: pl061: handle failed allocations
Linus Walleij <linus.walleij(a)linaro.org>
ARM: dts: kirkwood: Fix polarity of GPIO fan lines
Peter Ujfalusi <peter.ujfalusi(a)ti.com>
ARM: dts: da850-lcdk: Correct the sound card name
Peter Ujfalusi <peter.ujfalusi(a)ti.com>
ARM: dts: da850-evm: Correct the sound card name
Tomi Valkeinen <tomi.valkeinen(a)ti.com>
drm/bridge: tc358767: fix output H/V syncs
Tomi Valkeinen <tomi.valkeinen(a)ti.com>
drm/bridge: tc358767: reject modes which require too much BW
Tomi Valkeinen <tomi.valkeinen(a)ti.com>
drm/bridge: tc358767: fix initial DP0/1_SRCCTRL value
Tomi Valkeinen <tomi.valkeinen(a)ti.com>
drm/bridge: tc358767: fix single lane configuration
Tomi Valkeinen <tomi.valkeinen(a)ti.com>
drm/bridge: tc358767: add defines for DP1_SRCCTRL & PHY_2LANE
Sudeep Holla <sudeep.holla(a)arm.com>
cpufreq: check if policy is inactive early in __cpufreq_get()
Chao Fan <fanc.fnst(a)cn.fujitsu.com>
ACPI: NUMA: Use correct type for printing addresses on i386-PAE
Daniel Axtens <dja(a)axtens.net>
bnx2x: disable GSO where gso_size is too big for hardware
Daniel Axtens <dja(a)axtens.net>
net: create skb_gso_validate_mac_len()
Russell King <rmk+kernel(a)armlinux.org.uk>
ARM: fix the cockup in the previous patch
Russell King <rmk+kernel(a)armlinux.org.uk>
ARM: ensure that processor vtables is not lost after boot
Russell King <rmk+kernel(a)armlinux.org.uk>
ARM: spectre-v2: per-CPU vtables to work around big.Little systems
Russell King <rmk+kernel(a)armlinux.org.uk>
ARM: add PROC_VTABLE and PROC_TABLE macros
Russell King <rmk+kernel(a)armlinux.org.uk>
ARM: clean up per-processor check_bugs method call
Russell King <rmk+kernel(a)armlinux.org.uk>
ARM: split out processor lookup
Russell King <rmk+kernel(a)armlinux.org.uk>
ARM: make lookup_processor_type() non-__init
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8810/1: vfp: Fix wrong assignement to ufp_exc
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8797/1: spectre-v1.1: harden __copy_to_user
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8796/1: spectre-v1,v1.1: provide helpers for address sanitization
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8795/1: spectre-v1.1: use put_user() for __put_user()
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8794/1: uaccess: Prevent speculative use of the current addr_limit
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8793/1: signal: replace __put_user_error with __put_user
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8792/1: oabi-compat: copy oabi events using __copy_to_user()
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8791/1: vfp: use __copy_to_user() when saving VFP state
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8789/1: signal: copy registers using __copy_to_user()
Hauke Mehrtens <hauke(a)hauke-m.de>
uapi/if_ether.h: prevent redefinition of struct ethhdr
Adrian Bunk <bunk(a)kernel.org>
eeprom: at24: add support for 24c2048
Adrian Bunk <bunk(a)kernel.org>
dt-bindings: eeprom: at24: add "atmel,24c2048" compatible string
-------------
Diffstat:
.../devicetree/bindings/eeprom/eeprom.txt | 5 +-
Makefile | 4 +-
arch/alpha/include/asm/irq.h | 6 +-
arch/alpha/mm/fault.c | 2 +-
arch/arm/boot/dts/da850-evm.dts | 2 +-
arch/arm/boot/dts/da850-lcdk.dts | 2 +-
arch/arm/boot/dts/kirkwood-dnskw.dtsi | 4 +-
arch/arm/include/asm/assembler.h | 11 ++++
arch/arm/include/asm/cputype.h | 1 +
arch/arm/include/asm/proc-fns.h | 61 +++++++++++++++----
arch/arm/include/asm/thread_info.h | 4 +-
arch/arm/include/asm/uaccess.h | 49 +++++++++++++--
arch/arm/kernel/bugs.c | 4 +-
arch/arm/kernel/head-common.S | 6 +-
arch/arm/kernel/setup.c | 40 ++++++++-----
arch/arm/kernel/signal.c | 70 ++++++++++++----------
arch/arm/kernel/smp.c | 32 ++++++++++
arch/arm/kernel/sys_oabi-compat.c | 8 ++-
arch/arm/lib/copy_from_user.S | 6 +-
arch/arm/lib/copy_to_user.S | 6 +-
arch/arm/lib/uaccess_with_memcpy.c | 3 +-
arch/arm/mach-integrator/impd1.c | 6 +-
arch/arm/mm/proc-macros.S | 10 ++++
arch/arm/mm/proc-v7-bugs.c | 17 +-----
arch/arm/vfp/vfpmodule.c | 20 +++----
arch/x86/events/core.c | 14 +++++
arch/x86/events/intel/core.c | 9 +++
arch/x86/events/perf_event.h | 16 ++++-
arch/x86/ia32/ia32_aout.c | 6 +-
arch/x86/include/asm/uv/bios.h | 8 ++-
arch/x86/kvm/vmx.c | 3 +-
arch/x86/platform/uv/bios_uv.c | 23 ++++++-
drivers/acpi/numa.c | 6 +-
drivers/cpufreq/cpufreq.c | 7 +--
drivers/firmware/efi/runtime-wrappers.c | 7 +++
drivers/gpu/drm/bridge/tc358767.c | 41 ++++++++++---
drivers/gpu/drm/i915/i915_gem.c | 12 +++-
drivers/input/misc/bma150.c | 9 +--
drivers/input/mouse/elan_i2c_core.c | 2 +-
drivers/input/mouse/elantech.c | 9 +++
drivers/md/dm-thin.c | 55 +++++++++++++++--
drivers/misc/eeprom/Kconfig | 2 +-
drivers/misc/eeprom/at24.c | 1 +
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 18 ++++++
drivers/net/usb/ch9200.c | 9 +--
drivers/net/usb/kaweth.c | 18 ++----
drivers/net/usb/smsc95xx.c | 12 ++--
drivers/pinctrl/qcom/pinctrl-msm.c | 23 +++++--
drivers/usb/dwc2/hcd.c | 1 -
fs/cifs/file.c | 8 +++
fs/cifs/smb2file.c | 4 ++
include/linux/perf_event.h | 5 ++
include/linux/skbuff.h | 16 +++++
include/net/netfilter/nf_tables.h | 29 +++++++++
include/uapi/linux/if_ether.h | 3 +
include/uapi/linux/libc-compat.h | 6 ++
kernel/events/core.c | 16 +++++
kernel/events/ring_buffer.c | 2 +-
kernel/signal.c | 7 ++-
kernel/trace/trace_uprobe.c | 9 ++-
mm/memory.c | 21 +++++--
net/core/skbuff.c | 63 +++++++++++++++----
net/ipv4/netfilter/nft_masq_ipv4.c | 8 +--
net/ipv4/netfilter/nft_redir_ipv4.c | 8 +--
net/ipv6/netfilter/nft_masq_ipv6.c | 8 +--
net/ipv6/netfilter/nft_redir_ipv6.c | 8 +--
net/netfilter/nft_ct.c | 10 ++--
net/netfilter/nft_meta.c | 42 ++++++-------
net/netfilter/nft_nat.c | 8 +--
net/sched/sch_tbf.c | 10 ----
sound/pci/hda/patch_conexant.c | 1 +
sound/usb/pcm.c | 9 ++-
tools/perf/util/unwind-libdw.c | 2 +-
73 files changed, 725 insertions(+), 268 deletions(-)
This is the start of the stable review cycle for the 4.19.24 release.
There are 85 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Wed Feb 20 13:34:30 UTC 2019.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.19.24-rc…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.19.24-rc1
Sandeep Patil <sspatil(a)android.com>
mm: proc: smaps_rollup: fix pss_locked calculation
Joonas Lahtinen <joonas.lahtinen(a)linux.intel.com>
drm/i915: Prevent a race during I915_GEM_MMAP ioctl with WC set
Lyude Paul <lyude(a)redhat.com>
drm/i915: Block fbdev HPD processing during suspend
Rodrigo Siqueira <rodrigosiqueiramelo(a)gmail.com>
drm/vkms: Fix license inconsistent
Matthew Wilcox <willy(a)infradead.org>
drm: Use array_size() when creating lease
Nikos Tsironis <ntsironis(a)arrikto.com>
dm thin: fix bug where bio that overwrites thin block ignores FUA
Mikulas Patocka <mpatocka(a)redhat.com>
dm crypt: don't overallocate the integrity tag space
Borislav Petkov <bp(a)suse.de>
x86/a.out: Clear the dump structure initially
Nate Dailey <nate.dailey(a)stratus.com>
md/raid1: don't clear bitmap bits on interrupted recovery.
Eric W. Biederman <ebiederm(a)xmission.com>
signal: Restore the stop PTRACE_EVENT_EXIT
James Bottomley <James.Bottomley(a)HansenPartnership.com>
scsi: sd: fix entropy gathering for most rotational disks
Hedi Berriche <hedi.berriche(a)hpe.com>
x86/platform/UV: Use efi_runtime_lock to serialise BIOS calls
Andreas Ziegler <andreas.ziegler(a)fau.de>
tracing/uprobes: Fix output for multiple string arguments
Harald Freudenberger <freude(a)linux.ibm.com>
s390/zcrypt: fix specification exception on z196 during ap probe
Meelis Roos <mroos(a)linux.ee>
alpha: Fix Eiger NR_IRQS to 128
Sergei Trofimovich <slyfox(a)gentoo.org>
alpha: fix page fault handling for r16-r18 targets
Dave Chinner <dchinner(a)redhat.com>
Revert "mm: slowly shrink slabs with a relatively small number of objects"
Dave Chinner <dchinner(a)redhat.com>
Revert "mm: don't reclaim inodes with many attached pages"
J. Bruce Fields <bfields(a)redhat.com>
Revert "nfsd4: return default lease period"
Matti Kurkela <Matti.Kurkela(a)iki.fi>
Input: elantech - enable 3rd button support on Fujitsu CELSIUS H780
Jonathan Bakker <xc-racer2(a)live.ca>
Input: bma150 - register input device after setting private data
Zachary Hays <zhays(a)lexmark.com>
mmc: block: handle complete_work on separate workqueue
Chen-Yu Tsai <wens(a)csie.org>
mmc: sunxi: Filter out unsupported modes declared in the device tree
Xiaoyao Li <xiaoyao.li(a)linux.intel.com>
kvm: vmx: Fix entry number check for add_atomic_switch_msr()
Vitaly Kuznetsov <vkuznets(a)redhat.com>
x86/kvm/nVMX: read from MSR_IA32_VMX_PROCBASED_CTLS2 only when it is available
Stefan O'Rear <sorear2(a)gmail.com>
riscv: Add pte bit to distinguish swap from invalid
Bob Tracy <rct(a)frus.com>
tools uapi: fix Alpha support
Russell King <rmk+kernel(a)armlinux.org.uk>
ASoC: hdmi-codec: fix oops on re-probe
Manuel Reinhardt <manuel.rhdt(a)gmail.com>
ALSA: usb-audio: Fix implicit fb endpoint setup by quirk
Jurica Vukadin <jurica.vukadin(a)rt-rk.com>
ALSA: hda - Add quirk for HP EliteBook 840 G5
Jiri Olsa <jolsa(a)redhat.com>
perf/x86: Add check_period PMU callback
Ingo Molnar <mingo(a)kernel.org>
perf/core: Fix impossible ring-buffer sizes warning
Tony Lindgren <tony(a)atomide.com>
ARM: OMAP5+: Fix inverted nirq pin interrupts with irq_set_type
Mauro Ciancio <mauro(a)acadeu.com>
Input: elan_i2c - add ACPI ID for touchpad in Lenovo V330-15ISK
Dmitry Torokhov <dmitry.torokhov(a)gmail.com>
Revert "Input: elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G"
Anson Huang <anson.huang(a)nxp.com>
gpio: mxc: move gpio noirq suspend/resume to syscore phase
Pavel Shilovsky <pshilov(a)microsoft.com>
CIFS: Do not assume one credit for async responses
David Rientjes <rientjes(a)google.com>
kvm: sev: Fail KVM_SEV_INIT if already initialized
Ross Lagerwall <ross.lagerwall(a)citrix.com>
cifs: Limit memory used by lock request calls to a page
Ilia Mirkin <imirkin(a)alum.mit.edu>
drm/nouveau/falcon: avoid touching registers if engine is off
Takashi Iwai <tiwai(a)suse.de>
drm/nouveau: Don't disable polling in fallback mode
Nicholas Mc Guire <hofrat(a)osadl.org>
gpio: pl061: handle failed allocations
Linus Walleij <linus.walleij(a)linaro.org>
ARM: dts: kirkwood: Fix polarity of GPIO fan lines
Peter Ujfalusi <peter.ujfalusi(a)ti.com>
ARM: dts: da850-lcdk: Correct the sound card name
Peter Ujfalusi <peter.ujfalusi(a)ti.com>
ARM: dts: da850-lcdk: Correct the audio codec regulators
Peter Ujfalusi <peter.ujfalusi(a)ti.com>
ARM: dts: da850-evm: Correct the sound card name
Peter Ujfalusi <peter.ujfalusi(a)ti.com>
ARM: dts: da850-evm: Correct the audio codec regulators
Jim Qu <Jim.Qu(a)amd.com>
drm/amdgpu: set WRITE_BURST_LENGTH to 64B to workaround SDMA1 hang
Keith Busch <keith.busch(a)intel.com>
nvme: pad fake subsys NQN vid and ssvid with zeros
Hannes Reinecke <hare(a)suse.de>
nvme-multipath: zero out ANA log buffer
Hongbo Yao <yaohongbo(a)huawei.com>
nvme-pci: fix out of bounds access in nvme_cqe_pending
Liviu Dudau <liviu(a)dudau.co.uk>
nvme-pci: use the same attributes when freeing host_mem_desc_bufs.
Tomi Valkeinen <tomi.valkeinen(a)ti.com>
drm/bridge: tc358767: fix output H/V syncs
Tomi Valkeinen <tomi.valkeinen(a)ti.com>
drm/bridge: tc358767: reject modes which require too much BW
Tomi Valkeinen <tomi.valkeinen(a)ti.com>
drm/bridge: tc358767: fix initial DP0/1_SRCCTRL value
Tomi Valkeinen <tomi.valkeinen(a)ti.com>
drm/bridge: tc358767: fix single lane configuration
Tomi Valkeinen <tomi.valkeinen(a)ti.com>
drm/bridge: tc358767: add defines for DP1_SRCCTRL & PHY_2LANE
Tomi Valkeinen <tomi.valkeinen(a)ti.com>
drm/bridge: tc358767: add bus flags
Sudeep Holla <sudeep.holla(a)arm.com>
cpufreq: check if policy is inactive early in __cpufreq_get()
David Abdurachmanov <david.abdurachmanov(a)gmail.com>
riscv: fix trace_sys_exit hook
Aurelien Jarno <aurelien(a)aurel32.net>
tools uapi: fix RISC-V 64-bit support
Arnaldo Carvalho de Melo <acme(a)redhat.com>
perf test shell: Use a fallback to get the pathname in vfs_getname
Jin Yao <yao.jin(a)linux.intel.com>
perf report: Fix wrong iteration count in --branch-history
Chao Fan <fanc.fnst(a)cn.fujitsu.com>
ACPI: NUMA: Use correct type for printing addresses on i386-PAE
Emily Deng <Emily.Deng(a)amd.com>
drm/amdgpu/sriov:Correct pfvf exchange logic
Russell King <rmk+kernel(a)armlinux.org.uk>
ARM: fix the cockup in the previous patch
Russell King <rmk+kernel(a)armlinux.org.uk>
ARM: ensure that processor vtables is not lost after boot
Russell King <rmk+kernel(a)armlinux.org.uk>
ARM: spectre-v2: per-CPU vtables to work around big.Little systems
Russell King <rmk+kernel(a)armlinux.org.uk>
ARM: add PROC_VTABLE and PROC_TABLE macros
Russell King <rmk+kernel(a)armlinux.org.uk>
ARM: clean up per-processor check_bugs method call
Russell King <rmk+kernel(a)armlinux.org.uk>
ARM: split out processor lookup
Russell King <rmk+kernel(a)armlinux.org.uk>
ARM: make lookup_processor_type() non-__init
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8810/1: vfp: Fix wrong assignement to ufp_exc
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8797/1: spectre-v1.1: harden __copy_to_user
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8796/1: spectre-v1,v1.1: provide helpers for address sanitization
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8795/1: spectre-v1.1: use put_user() for __put_user()
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8794/1: uaccess: Prevent speculative use of the current addr_limit
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8793/1: signal: replace __put_user_error with __put_user
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8792/1: oabi-compat: copy oabi events using __copy_to_user()
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8791/1: vfp: use __copy_to_user() when saving VFP state
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8790/1: signal: always use __copy_to_user to save iwmmxt context
Julien Thierry <julien.thierry(a)arm.com>
ARM: 8789/1: signal: copy registers using __copy_to_user()
Jianchao Wang <jianchao.w.wang(a)oracle.com>
blk-mq: fix a hung issue when fsync
Adrian Bunk <bunk(a)kernel.org>
eeprom: at24: add support for 24c2048
Adrian Bunk <bunk(a)kernel.org>
dt-bindings: eeprom: at24: add "atmel,24c2048" compatible string
-------------
Diffstat:
Documentation/devicetree/bindings/eeprom/at24.txt | 1 +
Makefile | 4 +-
arch/alpha/include/asm/irq.h | 6 +-
arch/alpha/mm/fault.c | 2 +-
arch/arm/boot/dts/da850-evm.dts | 31 +++++++--
arch/arm/boot/dts/da850-lcdk.dts | 38 ++++++++++-
arch/arm/boot/dts/kirkwood-dnskw.dtsi | 4 +-
arch/arm/boot/dts/omap5-board-common.dtsi | 9 ++-
arch/arm/boot/dts/omap5-cm-t54.dts | 12 +++-
arch/arm/include/asm/assembler.h | 11 ++++
arch/arm/include/asm/cputype.h | 1 +
arch/arm/include/asm/proc-fns.h | 61 +++++++++++++----
arch/arm/include/asm/thread_info.h | 4 +-
arch/arm/include/asm/uaccess.h | 49 ++++++++++++--
arch/arm/kernel/bugs.c | 4 +-
arch/arm/kernel/head-common.S | 6 +-
arch/arm/kernel/setup.c | 40 +++++++-----
arch/arm/kernel/signal.c | 80 +++++++++++++----------
arch/arm/kernel/smp.c | 31 +++++++++
arch/arm/kernel/sys_oabi-compat.c | 8 ++-
arch/arm/lib/copy_from_user.S | 6 +-
arch/arm/lib/copy_to_user.S | 6 +-
arch/arm/lib/uaccess_with_memcpy.c | 3 +-
arch/arm/mach-integrator/impd1.c | 6 +-
arch/arm/mach-omap2/omap-wakeupgen.c | 36 +++++++++-
arch/arm/mm/proc-macros.S | 10 +++
arch/arm/mm/proc-v7-bugs.c | 17 +----
arch/arm/vfp/vfpmodule.c | 20 +++---
arch/riscv/include/asm/pgtable-bits.h | 6 ++
arch/riscv/include/asm/pgtable.h | 8 +--
arch/riscv/kernel/ptrace.c | 2 +-
arch/x86/events/core.c | 14 ++++
arch/x86/events/intel/core.c | 9 +++
arch/x86/events/perf_event.h | 16 ++++-
arch/x86/ia32/ia32_aout.c | 6 +-
arch/x86/include/asm/uv/bios.h | 8 ++-
arch/x86/kvm/svm.c | 3 +
arch/x86/kvm/vmx.c | 11 ++--
arch/x86/platform/uv/bios_uv.c | 23 ++++++-
block/blk-flush.c | 2 +-
drivers/acpi/numa.c | 6 +-
drivers/cpufreq/cpufreq.c | 12 ++--
drivers/firmware/efi/runtime-wrappers.c | 7 ++
drivers/gpio/gpio-mxc.c | 41 +++++++-----
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 +--
drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c | 2 +-
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 3 +-
drivers/gpu/drm/bridge/tc358767.c | 45 ++++++++++---
drivers/gpu/drm/drm_lease.c | 3 +-
drivers/gpu/drm/i915/i915_gem.c | 12 +++-
drivers/gpu/drm/i915/intel_drv.h | 10 +++
drivers/gpu/drm/i915/intel_fbdev.c | 33 +++++++++-
drivers/gpu/drm/nouveau/nvkm/engine/falcon.c | 7 +-
drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c | 7 +-
drivers/gpu/drm/vkms/vkms_crtc.c | 8 +--
drivers/gpu/drm/vkms/vkms_drv.c | 7 +-
drivers/gpu/drm/vkms/vkms_drv.h | 2 +
drivers/gpu/drm/vkms/vkms_gem.c | 8 +--
drivers/gpu/drm/vkms/vkms_output.c | 8 +--
drivers/gpu/drm/vkms/vkms_plane.c | 8 +--
drivers/input/misc/bma150.c | 9 +--
drivers/input/mouse/elan_i2c_core.c | 2 +-
drivers/input/mouse/elantech.c | 9 +++
drivers/md/dm-crypt.c | 2 +-
drivers/md/dm-thin.c | 55 ++++++++++++++--
drivers/md/raid1.c | 28 +++++---
drivers/misc/eeprom/Kconfig | 2 +-
drivers/misc/eeprom/at24.c | 3 +
drivers/mmc/core/block.c | 10 ++-
drivers/mmc/host/sunxi-mmc.c | 15 +++++
drivers/nvme/host/core.c | 2 +-
drivers/nvme/host/multipath.c | 2 +
drivers/nvme/host/pci.c | 14 ++--
drivers/s390/crypto/ap_bus.c | 3 +-
drivers/scsi/sd.c | 12 +++-
fs/cifs/file.c | 8 +++
fs/cifs/smb2file.c | 4 ++
fs/cifs/smb2pdu.c | 15 +++--
fs/inode.c | 7 +-
fs/nfsd/nfsctl.c | 4 +-
fs/proc/task_mmu.c | 22 ++++---
include/linux/mmc/card.h | 1 +
include/linux/perf_event.h | 5 ++
kernel/events/core.c | 16 +++++
kernel/events/ring_buffer.c | 2 +-
kernel/signal.c | 7 +-
kernel/trace/trace_uprobe.c | 9 ++-
mm/vmscan.c | 10 ---
sound/pci/hda/patch_conexant.c | 1 +
sound/soc/codecs/hdmi-codec.c | 4 +-
sound/usb/pcm.c | 9 ++-
tools/arch/riscv/include/uapi/asm/bitsperlong.h | 25 +++++++
tools/include/uapi/asm/bitsperlong.h | 4 ++
tools/perf/tests/shell/lib/probe_vfs_getname.sh | 3 +-
tools/perf/util/callchain.c | 32 +++++----
tools/perf/util/callchain.h | 1 +
tools/perf/util/machine.c | 2 +-
97 files changed, 893 insertions(+), 317 deletions(-)
The saturation bit was being set at bit 9 in the second 32-bit word
of the TPMEM CSC. This isn't correct, the saturation bit is bit 42,
which is bit 10 of the second word.
Fixes: 1aa8ea0d2bd5d ("gpu: ipu-v3: Add Image Converter unit")
Signed-off-by: Steve Longerbeam <slongerbeam(a)gmail.com>
Cc: stable(a)vger.kernel.org
---
drivers/gpu/ipu-v3/ipu-ic.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/ipu-v3/ipu-ic.c b/drivers/gpu/ipu-v3/ipu-ic.c
index 594c3cbc8291..18816ccf600e 100644
--- a/drivers/gpu/ipu-v3/ipu-ic.c
+++ b/drivers/gpu/ipu-v3/ipu-ic.c
@@ -257,7 +257,7 @@ static int init_csc(struct ipu_ic *ic,
writel(param, base++);
param = ((a[0] & 0x1fe0) >> 5) | (params->scale << 8) |
- (params->sat << 9);
+ (params->sat << 10);
writel(param, base++);
param = ((a[1] & 0x1f) << 27) | ((c[0][1] & 0x1ff) << 18) |
--
2.17.1
Dear Candidates,
Work from home, we have a part time job offer available for you that will not disturb your present occupation, you are to stand as a payment receiving officer for
Haven Consultants Co (Thailand) Payment Managers Wanted for 2019/2020.
If you are interested in this business transaction, forward to us the Information below to enable the (HRM) process your application as possible.
(I)Your Full Names;
(II)Mailing address,
(III)Phone Number:
(IV)Present job; (And Position Held)
(V)Age:
(VI)Mode of Identification (If Any)
(VII)Bank name
(VIII)Company name:
Please send the above details to this Email below:
Email : shigeoueki103(a)gmail.com
Regards
Shigeo Ueki
Haven Consultants Co., Ltd
42/356 Moo 5 Soi Nernplubwan,
Nongprue, Banglamung, Chonburi
20150, Thailand
Tel 038 196 410
Fax 038 196 411
Email: shigeoueki103(a)gmail.com
The function prototype used to call JITed eBPF code (ie. the type of the
struct bpf_prog bpf_func field) returns an unsigned int. The MIPS n64
ABI that MIPS64 kernels target defines that 32 bit integers should
always be sign extended when passed in registers as either arguments or
return values.
This means that when returning any value which may not already be sign
extended (ie. of type REG_64BIT or REG_32BIT_ZERO_EX) we need to perform
that sign extension in order to comply with the n64 ABI. Without this we
see strange looking test failures from test_bpf.ko, such as:
test_bpf: #65 ALU64_MOV_X:
dst = 4294967295 jited:1 ret -1 != -1 FAIL (1 times)
Although the return value printed matches the expected value, this is
only because printf is only examining the least significant 32 bits of
the 64 bit register value we returned. The register holding the expected
value is sign extended whilst the v0 register was set to a zero extended
value by our JITed code, so when compared by a conditional branch
instruction the values are not equal.
We already handle this when the return value register is of type
REG_32BIT_ZERO_EX, so simply extend this to also cover REG_64BIT.
Signed-off-by: Paul Burton <paul.burton(a)mips.com>
Fixes: b6bd53f9c4e8 ("MIPS: Add missing file for eBPF JIT.")
Cc: stable(a)vger.kernel.org # v4.13+
---
arch/mips/net/ebpf_jit.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/arch/mips/net/ebpf_jit.c b/arch/mips/net/ebpf_jit.c
index b16710a8a9e7..715415fa2345 100644
--- a/arch/mips/net/ebpf_jit.c
+++ b/arch/mips/net/ebpf_jit.c
@@ -343,12 +343,15 @@ static int build_int_epilogue(struct jit_ctx *ctx, int dest_reg)
const struct bpf_prog *prog = ctx->skf;
int stack_adjust = ctx->stack_size;
int store_offset = stack_adjust - 8;
+ enum reg_val_type td;
int r0 = MIPS_R_V0;
- if (dest_reg == MIPS_R_RA &&
- get_reg_val_type(ctx, prog->len, BPF_REG_0) == REG_32BIT_ZERO_EX)
+ if (dest_reg == MIPS_R_RA) {
/* Don't let zero extended value escape. */
- emit_instr(ctx, sll, r0, r0, 0);
+ td = get_reg_val_type(ctx, prog->len, BPF_REG_0);
+ if (td == REG_64BIT || td == REG_32BIT_ZERO_EX)
+ emit_instr(ctx, sll, r0, r0, 0);
+ }
if (ctx->flags & EBPF_SAVE_RA) {
emit_instr(ctx, ld, MIPS_R_RA, store_offset, MIPS_R_SP);
--
2.20.1
This series contains backports and partial backports for the Intel ice
driver.
These backports are required to get the ice driver to load on the
current hardware. This is due to mismatches between the driver code and
the firmware running on the devices. At the time of release of 4.19,
hardware was not available for verification. Since the 4.19.y kernel is
a LTS kernel, we want to ensure that users with our E800 devices will be
able to have the in-kernel driver load and pass traffic, if running a
4.19 or later kernel.
Anirudh Venkataramanan (4):
ice: Update expected FW version
ice: Updates to Tx scheduler code
ice: Introduce ice_dev_onetime_setup
ice: Set timeout when disabling queues
.../net/ethernet/intel/ice/ice_adminq_cmd.h | 5 +-
drivers/net/ethernet/intel/ice/ice_common.c | 24 +++
drivers/net/ethernet/intel/ice/ice_common.h | 1 +
drivers/net/ethernet/intel/ice/ice_controlq.h | 5 +-
drivers/net/ethernet/intel/ice/ice_main.c | 2 +
drivers/net/ethernet/intel/ice/ice_sched.c | 161 ++++++------------
drivers/net/ethernet/intel/ice/ice_type.h | 2 +
7 files changed, 83 insertions(+), 117 deletions(-)
--
2.20.1
It doesn't make sense and the USB core warns on each submit of such
URB, easily flooding the message buffer with tracebacks.
Analogous issue was fixed in regular libertas driver in commit 6528d8804780
("libertas: don't set URB_ZERO_PACKET on IN USB transfer").
Cc: stable(a)vger.kernel.org
Signed-off-by: Lubomir Rintel <lkundrak(a)v3.sk>
---
drivers/net/wireless/marvell/libertas_tf/if_usb.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/net/wireless/marvell/libertas_tf/if_usb.c b/drivers/net/wireless/marvell/libertas_tf/if_usb.c
index 789337ea676a..6ede6168bd85 100644
--- a/drivers/net/wireless/marvell/libertas_tf/if_usb.c
+++ b/drivers/net/wireless/marvell/libertas_tf/if_usb.c
@@ -433,8 +433,6 @@ static int __if_usb_submit_rx_urb(struct if_usb_card *cardp,
skb_tail_pointer(skb),
MRVDRV_ETH_RX_PACKET_BUFFER_SIZE, callbackfn, cardp);
- cardp->rx_urb->transfer_flags |= URB_ZERO_PACKET;
-
lbtf_deb_usb2(&cardp->udev->dev, "Pointer for rx_urb %p\n",
cardp->rx_urb);
ret = usb_submit_urb(cardp->rx_urb, GFP_ATOMIC);
--
2.20.1
This is a note to let you know that I've just added the patch titled
staging: android: ion: fix sys heap pool's gfp_flags
to my staging git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
in the staging-next branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will also be merged in the next major kernel release
during the merge window.
If you have any questions about this process, please let me know.
>From 9bcf065e28122588a6cbee08cf847826dacbb438 Mon Sep 17 00:00:00 2001
From: Qing Xia <saberlily.xia(a)hisilicon.com>
Date: Fri, 1 Feb 2019 14:59:46 +0800
Subject: staging: android: ion: fix sys heap pool's gfp_flags
In the first loop, gfp_flags will be modified to high_order_gfp_flags,
and there will be no chance to change back to low_order_gfp_flags.
Fixes: e7f63771b60e ("ION: Sys_heap: Add cached pool to spead up cached buffer alloc")
Signed-off-by: Qing Xia <saberlily.xia(a)hisilicon.com>
Cc: stable <stable(a)vger.kernel.org>
Signed-off-by: Jing Xia <jing.xia(a)unisoc.com>
Reviewed-by: Yuming Han <yuming.han(a)unisoc.com>
Reviewed-by: Zhaoyang Huang <zhaoyang.huang(a)unisoc.com>
Reviewed-by: Orson Zhai <orson.zhai(a)unisoc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/staging/android/ion/ion_system_heap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/android/ion/ion_system_heap.c b/drivers/staging/android/ion/ion_system_heap.c
index ec526a464db8..aa8d8425be25 100644
--- a/drivers/staging/android/ion/ion_system_heap.c
+++ b/drivers/staging/android/ion/ion_system_heap.c
@@ -224,10 +224,10 @@ static void ion_system_heap_destroy_pools(struct ion_page_pool **pools)
static int ion_system_heap_create_pools(struct ion_page_pool **pools)
{
int i;
- gfp_t gfp_flags = low_order_gfp_flags;
for (i = 0; i < NUM_ORDERS; i++) {
struct ion_page_pool *pool;
+ gfp_t gfp_flags = low_order_gfp_flags;
if (orders[i] > 4)
gfp_flags = high_order_gfp_flags;
--
2.20.1
Acquiring the reset GPIO low means that reset is being deasserted, this
is followed almost immediately with qcom_pcie_host_init() asserting it,
initializing it and then finally deasserting it again, for the link to
come up.
Some PCIe devices requires a minimum time between the initial deassert
and subsequent reset cycles. In a platform that boots with the reset
GPIO asserted this requirement is being violated by this deassert/assert
pulse.
Acquiring the reset GPIO high will prevent this by matching the state to
the subsequent asserted state.
Cc: stable(a)vger.kernel.org
Signed-off-by: Bjorn Andersson <bjorn.andersson(a)linaro.org>
---
drivers/pci/controller/dwc/pcie-qcom.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c
index d185ea5fe996..a7f703556790 100644
--- a/drivers/pci/controller/dwc/pcie-qcom.c
+++ b/drivers/pci/controller/dwc/pcie-qcom.c
@@ -1228,7 +1228,7 @@ static int qcom_pcie_probe(struct platform_device *pdev)
pcie->ops = of_device_get_match_data(dev);
- pcie->reset = devm_gpiod_get_optional(dev, "perst", GPIOD_OUT_LOW);
+ pcie->reset = devm_gpiod_get_optional(dev, "perst", GPIOD_OUT_HIGH);
if (IS_ERR(pcie->reset)) {
ret = PTR_ERR(pcie->reset);
goto err_pm_runtime_put;
--
2.18.0
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From da791a667536bf8322042e38ca85d55a78d3c273 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx(a)linutronix.de>
Date: Mon, 10 Dec 2018 14:35:14 +0100
Subject: [PATCH] futex: Cure exit race
Stefan reported, that the glibc tst-robustpi4 test case fails
occasionally. That case creates the following race between
sys_exit() and sys_futex_lock_pi():
CPU0 CPU1
sys_exit() sys_futex()
do_exit() futex_lock_pi()
exit_signals(tsk) No waiters:
tsk->flags |= PF_EXITING; *uaddr == 0x00000PID
mm_release(tsk) Set waiter bit
exit_robust_list(tsk) { *uaddr = 0x80000PID;
Set owner died attach_to_pi_owner() {
*uaddr = 0xC0000000; tsk = get_task(PID);
} if (!tsk->flags & PF_EXITING) {
... attach();
tsk->flags |= PF_EXITPIDONE; } else {
if (!(tsk->flags & PF_EXITPIDONE))
return -EAGAIN;
return -ESRCH; <--- FAIL
}
ESRCH is returned all the way to user space, which triggers the glibc test
case assert. Returning ESRCH unconditionally is wrong here because the user
space value has been changed by the exiting task to 0xC0000000, i.e. the
FUTEX_OWNER_DIED bit is set and the futex PID value has been cleared. This
is a valid state and the kernel has to handle it, i.e. taking the futex.
Cure it by rereading the user space value when PF_EXITING and PF_EXITPIDONE
is set in the task which 'owns' the futex. If the value has changed, let
the kernel retry the operation, which includes all regular sanity checks
and correctly handles the FUTEX_OWNER_DIED case.
If it hasn't changed, then return ESRCH as there is no way to distinguish
this case from malfunctioning user space. This happens when the exiting
task did not have a robust list, the robust list was corrupted or the user
space value in the futex was simply bogus.
Reported-by: Stefan Liebler <stli(a)linux.ibm.com>
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Acked-by: Peter Zijlstra <peterz(a)infradead.org>
Cc: Heiko Carstens <heiko.carstens(a)de.ibm.com>
Cc: Darren Hart <dvhart(a)infradead.org>
Cc: Ingo Molnar <mingo(a)kernel.org>
Cc: Sasha Levin <sashal(a)kernel.org>
Cc: stable(a)vger.kernel.org
Link: https://bugzilla.kernel.org/show_bug.cgi?id=200467
Link: https://lkml.kernel.org/r/20181210152311.986181245@linutronix.de
diff --git a/kernel/futex.c b/kernel/futex.c
index f423f9b6577e..5cc8083a4c89 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -1148,11 +1148,65 @@ static int attach_to_pi_state(u32 __user *uaddr, u32 uval,
return ret;
}
+static int handle_exit_race(u32 __user *uaddr, u32 uval,
+ struct task_struct *tsk)
+{
+ u32 uval2;
+
+ /*
+ * If PF_EXITPIDONE is not yet set, then try again.
+ */
+ if (tsk && !(tsk->flags & PF_EXITPIDONE))
+ return -EAGAIN;
+
+ /*
+ * Reread the user space value to handle the following situation:
+ *
+ * CPU0 CPU1
+ *
+ * sys_exit() sys_futex()
+ * do_exit() futex_lock_pi()
+ * futex_lock_pi_atomic()
+ * exit_signals(tsk) No waiters:
+ * tsk->flags |= PF_EXITING; *uaddr == 0x00000PID
+ * mm_release(tsk) Set waiter bit
+ * exit_robust_list(tsk) { *uaddr = 0x80000PID;
+ * Set owner died attach_to_pi_owner() {
+ * *uaddr = 0xC0000000; tsk = get_task(PID);
+ * } if (!tsk->flags & PF_EXITING) {
+ * ... attach();
+ * tsk->flags |= PF_EXITPIDONE; } else {
+ * if (!(tsk->flags & PF_EXITPIDONE))
+ * return -EAGAIN;
+ * return -ESRCH; <--- FAIL
+ * }
+ *
+ * Returning ESRCH unconditionally is wrong here because the
+ * user space value has been changed by the exiting task.
+ *
+ * The same logic applies to the case where the exiting task is
+ * already gone.
+ */
+ if (get_futex_value_locked(&uval2, uaddr))
+ return -EFAULT;
+
+ /* If the user space value has changed, try again. */
+ if (uval2 != uval)
+ return -EAGAIN;
+
+ /*
+ * The exiting task did not have a robust list, the robust list was
+ * corrupted or the user space value in *uaddr is simply bogus.
+ * Give up and tell user space.
+ */
+ return -ESRCH;
+}
+
/*
* Lookup the task for the TID provided from user space and attach to
* it after doing proper sanity checks.
*/
-static int attach_to_pi_owner(u32 uval, union futex_key *key,
+static int attach_to_pi_owner(u32 __user *uaddr, u32 uval, union futex_key *key,
struct futex_pi_state **ps)
{
pid_t pid = uval & FUTEX_TID_MASK;
@@ -1162,12 +1216,15 @@ static int attach_to_pi_owner(u32 uval, union futex_key *key,
/*
* We are the first waiter - try to look up the real owner and attach
* the new pi_state to it, but bail out when TID = 0 [1]
+ *
+ * The !pid check is paranoid. None of the call sites should end up
+ * with pid == 0, but better safe than sorry. Let the caller retry
*/
if (!pid)
- return -ESRCH;
+ return -EAGAIN;
p = find_get_task_by_vpid(pid);
if (!p)
- return -ESRCH;
+ return handle_exit_race(uaddr, uval, NULL);
if (unlikely(p->flags & PF_KTHREAD)) {
put_task_struct(p);
@@ -1187,7 +1244,7 @@ static int attach_to_pi_owner(u32 uval, union futex_key *key,
* set, we know that the task has finished the
* cleanup:
*/
- int ret = (p->flags & PF_EXITPIDONE) ? -ESRCH : -EAGAIN;
+ int ret = handle_exit_race(uaddr, uval, p);
raw_spin_unlock_irq(&p->pi_lock);
put_task_struct(p);
@@ -1244,7 +1301,7 @@ static int lookup_pi_state(u32 __user *uaddr, u32 uval,
* We are the first waiter - try to look up the owner based on
* @uval and attach to it.
*/
- return attach_to_pi_owner(uval, key, ps);
+ return attach_to_pi_owner(uaddr, uval, key, ps);
}
static int lock_pi_update_atomic(u32 __user *uaddr, u32 uval, u32 newval)
@@ -1352,7 +1409,7 @@ static int futex_lock_pi_atomic(u32 __user *uaddr, struct futex_hash_bucket *hb,
* attach to the owner. If that fails, no harm done, we only
* set the FUTEX_WAITERS bit in the user space variable.
*/
- return attach_to_pi_owner(uval, key, ps);
+ return attach_to_pi_owner(uaddr, newval, key, ps);
}
/**
This is a note to let you know that I've just added the patch titled
staging: android: ion: fix sys heap pool's gfp_flags
to my staging git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
in the staging-testing branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will be merged to the staging-next branch sometime soon,
after it passes testing, and the merge window is open.
If you have any questions about this process, please let me know.
>From 9bcf065e28122588a6cbee08cf847826dacbb438 Mon Sep 17 00:00:00 2001
From: Qing Xia <saberlily.xia(a)hisilicon.com>
Date: Fri, 1 Feb 2019 14:59:46 +0800
Subject: staging: android: ion: fix sys heap pool's gfp_flags
In the first loop, gfp_flags will be modified to high_order_gfp_flags,
and there will be no chance to change back to low_order_gfp_flags.
Fixes: e7f63771b60e ("ION: Sys_heap: Add cached pool to spead up cached buffer alloc")
Signed-off-by: Qing Xia <saberlily.xia(a)hisilicon.com>
Cc: stable <stable(a)vger.kernel.org>
Signed-off-by: Jing Xia <jing.xia(a)unisoc.com>
Reviewed-by: Yuming Han <yuming.han(a)unisoc.com>
Reviewed-by: Zhaoyang Huang <zhaoyang.huang(a)unisoc.com>
Reviewed-by: Orson Zhai <orson.zhai(a)unisoc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/staging/android/ion/ion_system_heap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/android/ion/ion_system_heap.c b/drivers/staging/android/ion/ion_system_heap.c
index ec526a464db8..aa8d8425be25 100644
--- a/drivers/staging/android/ion/ion_system_heap.c
+++ b/drivers/staging/android/ion/ion_system_heap.c
@@ -224,10 +224,10 @@ static void ion_system_heap_destroy_pools(struct ion_page_pool **pools)
static int ion_system_heap_create_pools(struct ion_page_pool **pools)
{
int i;
- gfp_t gfp_flags = low_order_gfp_flags;
for (i = 0; i < NUM_ORDERS; i++) {
struct ion_page_pool *pool;
+ gfp_t gfp_flags = low_order_gfp_flags;
if (orders[i] > 4)
gfp_flags = high_order_gfp_flags;
--
2.20.1
On x86-64, for 32-bit PC-relacive branches, we can generate PLT32 relocation, instead of PC32 relocation. and R_X86_64_PLT32 can be treated the same as R_X86_64_PC32 since linux kernel doesn't use PLT.
commit b21ebf2fb4cd ("x86: Treat R_X86_64_PLT32 as R_X86_64_PC32") been fixed for the module loading, but not fixed for livepatch relocation, which will fail to load livepatch with the error message as follow:
relocation failed for symbol <symbol name> at <symbol address>
This issue only effacted the kernel version from 4.0 to 4.6, becauce the function klp_write_module_reloc is introduced by:
commit b700e7f03df5 ("livepatch: kernel: add support for live patching") and deleted by: commit 425595a7fc20
("livepatch: reuse module loader code to write relocations")
Signed-off-by: chenzefeng <chenzefeng2(a)huawei.com>
---
arch/x86/kernel/livepatch.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/x86/kernel/livepatch.c b/arch/x86/kernel/livepatch.c index d1d35cc..579f8f8 100644
--- a/arch/x86/kernel/livepatch.c
+++ b/arch/x86/kernel/livepatch.c
@@ -58,6 +58,7 @@ int klp_write_module_reloc(struct module *mod, unsigned long type,
val = (s32)value;
break;
case R_X86_64_PC32:
+ case R_X86_64_PLT32:
val = (u32)(value - loc);
break;
default:
--
1.8.5.6
Hi,
I am sorry this email was sent by accident. Please ignore this email.
Best Regards
-----邮件原件-----
发件人: chenzefeng (A)
发送时间: 2019年2月19日 14:38
收件人: 'Petr Mladek' <pmladek(a)suse.com>; chengjian (D) <cj.chengjian(a)huawei.com>
抄送: 'stable(a)vger.kernel.org' <stable(a)vger.kernel.org>; Jiri Kosina <jikos(a)kernel.org>; hjl.tools(a)gmail.com; jpoimboe(a)redhat.com; sjenning(a)redhat.com; vojtech(a)suse.com; tglx(a)linutronix.de; mingo(a)redhat.com; hpa(a)zytor.com; gregkh(a)linuxfoundation.org; x86(a)kernel.org; live-patching(a)vger.kernel.org; linux-kernel(a)vger.kernel.org; Xiexiuqi <xiexiuqi(a)huawei.com>
主题: Re:[PATCH] x86: livepatch: Treat R_X86_64_PLT32 as R_X86_64_PC32
On Mon 2019-02-18 17:22, Petr wrote:
> On Mon 2019-02-18 13:29:11, chengjian (D) wrote:
> > Hi,Jiri
> >
> >
> > This patch should be merged into 4.4 stable,
> >
> > which still use klp_write_module_reloc.
> >
> >
> > https://elixir.bootlin.com/linux/v4.4.174/source/arch/x86/kernel/livep
> > atch.c
> >
> >
> > ZeFeng may have sent a stable(4.4-y) patch to the wrong mail-list(mainline).
>
> ZeFeng or Chengjian, please, send the patch once again with stable(a)vger.kernel.org in CC and explanation that it is needed only for 4.4 and why.
>
> This thread is already too long and messed to be proceed by stable people effectively.
>
> Best Regards,
> Petr
On x86-64, for 32-bit PC-relacive branches, we can generate PLT32 relocation, instead of PC32 relocation. and R_X86_64_PLT32 can be treated the same as R_X86_64_PC32 since linux kernel doesn't use PLT.
commit b21ebf2fb4cd ("x86: Treat R_X86_64_PLT32 as R_X86_64_PC32") been fixed for the module loading, but not fixed for livepatch relocation, which will fail to load livepatch with the error message as follow:
relocation failed for symbol <symbol name> at <symbol address>
This issue only effacted the kernel version from 4.0 to 4.6, becauce the function klp_write_module_reloc is introduced by:
commit b700e7f03df5 ("livepatch: kernel: add support for live patching") and deleted by: commit 425595a7fc20
("livepatch: reuse module loader code to write relocations")
Signed-off-by: chenzefeng <chenzefeng2(a)huawei.com>
---
arch/x86/kernel/livepatch.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/x86/kernel/livepatch.c b/arch/x86/kernel/livepatch.c index d1d35cc..579f8f8 100644
--- a/arch/x86/kernel/livepatch.c
+++ b/arch/x86/kernel/livepatch.c
@@ -58,6 +58,7 @@ int klp_write_module_reloc(struct module *mod, unsigned long type,
val = (s32)value;
break;
case R_X86_64_PC32:
+ case R_X86_64_PLT32:
val = (u32)(value - loc);
break;
default:
--
1.8.5.6
On Mon 2019-02-18 17:22, Petr wrote:
> On Mon 2019-02-18 13:29:11, chengjian (D) wrote:
> > Hi,Jiri
> >
> >
> > This patch should be merged into 4.4 stable,
> >
> > which still use klp_write_module_reloc.
> >
> >
> > https://elixir.bootlin.com/linux/v4.4.174/source/arch/x86/kernel/livep
> > atch.c
> >
> >
> > ZeFeng may have sent a stable(4.4-y) patch to the wrong mail-list(mainline).
>
> ZeFeng or Chengjian, please, send the patch once again with stable(a)vger.kernel.org in CC and explanation that it is needed only for 4.4 and why.
>
> This thread is already too long and messed to be proceed by stable people effectively.
>
> Best Regards,
> Petr
On x86-64, for 32-bit PC-relacive branches, we can generate PLT32 relocation, instead of PC32 relocation. and R_X86_64_PLT32 can be treated the same as R_X86_64_PC32 since linux kernel doesn't use PLT.
commit b21ebf2fb4cd ("x86: Treat R_X86_64_PLT32 as R_X86_64_PC32") been fixed for the module loading, but not fixed for livepatch relocation, which will fail to load livepatch with the error message as follow:
relocation failed for symbol <symbol name> at <symbol address>
This issue only effacted the kernel version from 4.0 to 4.6, becauce the function klp_write_module_reloc is introduced by:
commit b700e7f03df5 ("livepatch: kernel: add support for live patching") and deleted by: commit 425595a7fc20
("livepatch: reuse module loader code to write relocations")
Signed-off-by: chenzefeng <chenzefeng2(a)huawei.com>
---
arch/x86/kernel/livepatch.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/x86/kernel/livepatch.c b/arch/x86/kernel/livepatch.c index d1d35cc..579f8f8 100644
--- a/arch/x86/kernel/livepatch.c
+++ b/arch/x86/kernel/livepatch.c
@@ -58,6 +58,7 @@ int klp_write_module_reloc(struct module *mod, unsigned long type,
val = (s32)value;
break;
case R_X86_64_PC32:
+ case R_X86_64_PLT32:
val = (u32)(value - loc);
break;
default:
--
1.8.5.6
Hi,
[This is an automated email]
This commit has been processed because it contains a -stable tag.
The stable tag indicates that it's relevant for the following trees: .+
The bot has tested the following trees: v4.20.10, v4.19.23, v4.14.101, v4.9.158, v4.4.174, v3.18.134.
v4.20.10: Build OK!
v4.19.23: Build OK!
v4.14.101: Failed to apply! Possible dependencies:
27204aaa9dc6 ("tcp: uniform the set up of sockets after successful connection")
3830d0771ef6 ("soc: qcom: Introduce QMI helpers")
64ac5f5977df ("tipc: refactor function filter_rcv()")
75da2163dbb6 ("tipc: introduce communication groups")
9b2c45d479d0 ("net: make getname() functions return length rather than use int* parameter")
9b8a11e82615 ("soc: qcom: Introduce QMI encoder/decoder")
a3f8683bf7d5 ("->poll() methods should return __poll_t")
a50ff19d0658 ("of/platform: Generalize /reserved-memory handling")
a80ae5306a73 ("tipc: improve destination linked list")
ade994f4f6c8 ("net: annotate ->poll() instances")
d1de6d6c639b ("soc: qcom: Remote filesystem memory driver")
v4.9.158: Failed to apply! Possible dependencies:
13d3b1ebe287 ("bpf: Support for setting initial receive window")
27204aaa9dc6 ("tcp: uniform the set up of sockets after successful connection")
3007098494be ("cgroup: add support for eBPF programs")
3830d0771ef6 ("soc: qcom: Introduce QMI helpers")
40304b2a1567 ("bpf: BPF support for sock_ops")
526735ddc0ae ("net: fix AF_SMC related typo")
610236587600 ("bpf: Add new cgroup attach type to enable sock modifications")
8550f328f45d ("bpf: Support for per connection SYN/SYN-ACK RTOs")
8c9814b97002 ("net: convert unix_address.refcnt from atomic_t to refcount_t")
9872a4bde31b ("bpf: Add TCP connection BPF callbacks")
9b2c45d479d0 ("net: make getname() functions return length rather than use int* parameter")
9b8a11e82615 ("soc: qcom: Introduce QMI encoder/decoder")
a3f8683bf7d5 ("->poll() methods should return __poll_t")
a50ff19d0658 ("of/platform: Generalize /reserved-memory handling")
ac7138746e14 ("smc: establish new socket family")
ade994f4f6c8 ("net: annotate ->poll() instances")
b2cd12574aa3 ("bpf: Refactor cgroups code in prep for new type")
cb5da847af44 ("tipc: set kern=0 in sk_alloc() during tipc_accept()")
cdfbabfb2f0c ("net: Work around lockdep limitation in sockets that use sockets")
d1de6d6c639b ("soc: qcom: Remote filesystem memory driver")
v4.4.174: Failed to apply! Possible dependencies:
35da60941e44 ("pstore/ram: add Device Tree bindings")
3830d0771ef6 ("soc: qcom: Introduce QMI helpers")
4420cfd3f51c ("staging: lustre: format properly all comment blocks for LNet core")
44a7185c2ae6 ("of/platform: Add common method to populate default bus")
4c3523623dc0 ("net: add driver for Netronome NFP4000/NFP6000 NIC VFs")
529182e204db ("ramoops: use DT reserved-memory bindings")
53692b1de419 ("sctp: Rename NETIF_F_SCTP_CSUM to NETIF_F_SCTP_CRC")
5fd88337d209 ("staging: lustre: fix all conditional comparison to zero in LNet layer")
8c9814b97002 ("net: convert unix_address.refcnt from atomic_t to refcount_t")
9b2c45d479d0 ("net: make getname() functions return length rather than use int* parameter")
9b8a11e82615 ("soc: qcom: Introduce QMI encoder/decoder")
a188222b6ed2 ("net: Rename NETIF_F_ALL_CSUM to NETIF_F_CSUM_MASK")
a50ff19d0658 ("of/platform: Generalize /reserved-memory handling")
d1de6d6c639b ("soc: qcom: Remote filesystem memory driver")
fc520f8b4fa3 ("of/platform: disable the of_platform_default_populate_init() for all the ppc boards")
v3.18.134: Failed to apply! Possible dependencies:
35da60941e44 ("pstore/ram: add Device Tree bindings")
3830d0771ef6 ("soc: qcom: Introduce QMI helpers")
43443ad692cf ("of/platform: add function to populate default bus")
44a7185c2ae6 ("of/platform: Add common method to populate default bus")
4b638df4c9d5 ("soc: qcom: Add Shared Memory Manager driver")
529182e204db ("ramoops: use DT reserved-memory bindings")
7ce75bb2c05e ("ARM: qcom: Add Subsystem Power Manager (SPM) driver")
7d0c8beea6b8 ("soc: qcom: Reorder SMEM/SMD configs")
8c9814b97002 ("net: convert unix_address.refcnt from atomic_t to refcount_t")
936f14cf4e67 ("soc: qcom: Driver for the Qualcomm RPM over SMD")
9b2c45d479d0 ("net: make getname() functions return length rather than use int* parameter")
9b8a11e82615 ("soc: qcom: Introduce QMI encoder/decoder")
a50ff19d0658 ("of/platform: Generalize /reserved-memory handling")
d1de6d6c639b ("soc: qcom: Remote filesystem memory driver")
f2ab3298fb49 ("soc: qcom: Add Shared Memory Driver")
fc520f8b4fa3 ("of/platform: disable the of_platform_default_populate_init() for all the ppc boards")
How should we proceed with this patch?
--
Thanks,
Sasha
On Mon, Feb 18, 2019 at 3:14 PM Sasha Levin <sashal(a)kernel.org> wrote:
>
> Hi,
>
> [This is an automated email]
>
> This commit has been processed because it contains a -stable tag.
> The stable tag indicates that it's relevant for the following trees: all
>
> The bot has tested the following trees: v4.20.8, v4.19.21, v4.14.99, v4.9.156, v4.4.174, v3.18.134.
>
> v4.20.8: Build OK!
> v4.19.21: Failed to apply! Possible dependencies:
> 01d5d7fa8376 ("PCI: Add macro for Switchtec quirk declarations")
>
> v4.14.99: Failed to apply! Possible dependencies:
> 01d5d7fa8376 ("PCI: Add macro for Switchtec quirk declarations")
> 06dc4ee54e30 ("PCI: Disable MSI for Freescale Layerscape PCIe RC mode")
> 07f4f97d7b4b ("vga_switcheroo: Use device link for HDA controller")
> 8948ca1a12c9 ("vga_switcheroo: Deduplicate power state tracking")
> ad281ecf1c7d ("PCI: Add DMA alias quirk for Microsemi Switchtec NTB")
>
> v4.9.156: Failed to apply! Possible dependencies:
> 01d5d7fa8376 ("PCI: Add macro for Switchtec quirk declarations")
> 07f4f97d7b4b ("vga_switcheroo: Use device link for HDA controller")
> 3e13676862f9 ("thunderbolt: Add support for DMA configuration based mailbox")
> 46cd4b75cd0e ("efi: Add device path parser")
> 58c5475aba67 ("x86/efi: Retrieve and assign Apple device properties")
> 630b3aff8a51 ("treewide: Consolidate Apple DMI checks")
> 81a54b5e1986 ("thunderbolt: Let the connection manager handle all notifications")
> 8948ca1a12c9 ("vga_switcheroo: Deduplicate power state tracking")
> 9d3cce0b6136 ("thunderbolt: Introduce thunderbolt bus and connection manager")
> ac6c44de503e ("thunderbolt: Expose get_route() to other files")
> ad281ecf1c7d ("PCI: Add DMA alias quirk for Microsemi Switchtec NTB")
> bfe778ac4982 ("thunderbolt: Convert switch to a device")
> c9cc3aaa0281 ("thunderbolt: Use Device ROM retrieved from EFI")
> da2da04b8d44 ("thunderbolt: Rework capability handling")
> f67cf491175a ("thunderbolt: Add support for Internal Connection Manager (ICM)")
> fa6d513aefe4 ("drivers:gpu: vga :vga_switcheroo.c : Fixed some coding style issues")
>
> v4.4.174: Failed to apply! Possible dependencies:
> 01d5d7fa8376 ("PCI: Add macro for Switchtec quirk declarations")
> 07f4f97d7b4b ("vga_switcheroo: Use device link for HDA controller")
> 14d2000182ed ("drm/radeon: Defer probe if gmux is present but its driver isn't")
> 156d7d4120e1 ("vga_switcheroo: Add handler flags infrastructure")
> 3a848662c751 ("vga_switcheroo: Prettify documentation")
> 412c8f7de011 ("drm/radeon: Return -EPROBE_DEFER when amdkfd not loaded")
> 704ab614ec12 ("drm/i915: Defer probe if gmux is present but its driver isn't")
> 8948ca1a12c9 ("vga_switcheroo: Deduplicate power state tracking")
> 989561de9b51 ("PM / Domains: add setter for dev.pm_domain")
> 98b3a3402eb6 ("drm/nouveau: Defer probe if gmux is present but its driver isn't")
> a345918d6ee6 ("vga_switcheroo: Support deferred probing of audio clients")
> ad281ecf1c7d ("PCI: Add DMA alias quirk for Microsemi Switchtec NTB")
> b00e5334ab1b ("vga_switcheroo: Add helper for deferred probing")
> b5f88dd1d6ef ("Revert "ACPI / LPSS: allow to use specific PM domain during ->probe()"")
> c1e1655bb892 ("apple-gmux: Assign apple_gmux_data before registering")
> c68f4528a2e9 ("drm/amdkfd: Track when module's init is complete")
> fa6d513aefe4 ("drivers:gpu: vga :vga_switcheroo.c : Fixed some coding style issues")
>
> v3.18.134: Failed to apply! Possible dependencies:
> 01d5d7fa8376 ("PCI: Add macro for Switchtec quirk declarations")
> 07f4f97d7b4b ("vga_switcheroo: Use device link for HDA controller")
> 083dba02947d ("drm/nouveau/device: recognise GM204")
> 2f4a58e852d1 ("drm/nouveau/subdev: always upcast through nouveau_subdev()/nouveau_engine()")
> 4766ec53945f ("drm/nouveau/bios: add parsing of BIT M(v2) +0x03 table")
> 50e216d6e7c3 ("drm/nouveau/bios: add parsing of pmu image tables")
> 5444204036b2 ("drm/nouveau: switch to new-style timer macros")
> 7bb6d4428d3d ("drm/nouveau: move the (far too many...) different s/r paths to the same place")
> 8d5e3af15c79 ("drm/nouveau/device: Add support for GK208B, resolves bug 86935")
> 8d85e06b5e04 ("drm/nouveau/bios: add pci data structure parsing")
> 989aa5b76ad2 ("drm/nouveau/nvif: namespace of nvkm accessors (no binary change)")
> a01ca78c8f11 ("drm/nouveau/nvif: simplify and tidy library interfaces")
> ad281ecf1c7d ("PCI: Add DMA alias quirk for Microsemi Switchtec NTB")
> ad4a36263535 ("drm/nouveau/bios: split out shadow methods")
> b71a1344ec20 ("drm/nouveau/bios: add NPDE parsing")
> ba6e34e61271 ("drm/gm204/devinit: initial implementation")
> be83cd4ef9a2 ("drm/nouveau: finalise nvkm namespace switch (no binary change)")
> c39f472e9f14 ("drm/nouveau: remove symlinks, move core/ to nvkm/ (no code changes)")
> cb8bb9cedb60 ("drm/nouveau/tmr: cosmetic changes")
> d38ceaf99ed0 ("drm/amdgpu: add core driver (v4)")
> f3867f439fd6 ("drm/nouveau/clk: rename from clock (no binary change)")
> f8a8546194d7 ("drm/nouveau/clk: allow non-blocking for nouveau_clock_astate()")
>
>
> How should we proceed with this patch?
Is there any way we can turn off this automated checking for a while?
At this stage, where we're just trying to discuss the issue, these
emails just clutter things up.