This is a note to let you know that I've just added the patch titled
signal/arm: Document conflicts with SI_USER and SIGFPE
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
signal-arm-document-conflicts-with-si_user-and-sigfpe.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Apr 9 17:09:24 CEST 2018
From: "Eric W. Biederman" <ebiederm(a)xmission.com>
Date: Thu, 17 Aug 2017 17:07:46 -0500
Subject: signal/arm: Document conflicts with SI_USER and SIGFPE
From: "Eric W. Biederman" <ebiederm(a)xmission.com>
[ Upstream commit 7771c66457004977b616bab785209f49d164f527 ]
Setting si_code to 0 results in a userspace seeing an si_code of 0.
This is the same si_code as SI_USER. Posix and common sense requires
that SI_USER not be a signal specific si_code. As such this use of 0
for the si_code is a pretty horribly broken ABI.
Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
value of __SI_KILL and now sees a value of SIL_KILL with the result
that uid and pid fields are copied and which might copying the si_addr
field by accident but certainly not by design. Making this a very
flakey implementation.
Utilizing FPE_FIXME, siginfo_layout will now return SIL_FAULT and the
appropriate fields will be reliably copied.
Possible ABI fixes includee:
- Send the signal without siginfo
- Don't generate a signal
- Possibly assign and use an appropriate si_code
- Don't handle cases which can't happen
Cc: Russell King <rmk(a)flint.arm.linux.org.uk>
Cc: linux-arm-kernel(a)lists.infradead.org
Ref: 451436b7bbb2 ("[ARM] Add support code for ARM hardware vector floating point")
History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
Signed-off-by: "Eric W. Biederman" <ebiederm(a)xmission.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
arch/arm/include/uapi/asm/siginfo.h | 13 +++++++++++++
arch/arm/vfp/vfpmodule.c | 2 +-
2 files changed, 14 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/include/uapi/asm/siginfo.h
--- /dev/null
+++ b/arch/arm/include/uapi/asm/siginfo.h
@@ -0,0 +1,13 @@
+#ifndef __ASM_SIGINFO_H
+#define __ASM_SIGINFO_H
+
+#include <asm-generic/siginfo.h>
+
+/*
+ * SIGFPE si_codes
+ */
+#ifdef __KERNEL__
+#define FPE_FIXME 0 /* Broken dup of SI_USER */
+#endif /* __KERNEL__ */
+
+#endif
--- a/arch/arm/vfp/vfpmodule.c
+++ b/arch/arm/vfp/vfpmodule.c
@@ -257,7 +257,7 @@ static void vfp_raise_exceptions(u32 exc
if (exceptions == VFP_EXCEPTION_ERROR) {
vfp_panic("unhandled bounce", inst);
- vfp_raise_sigfpe(0, regs);
+ vfp_raise_sigfpe(FPE_FIXME, regs);
return;
}
Patches currently in stable-queue which might be from ebiederm(a)xmission.com are
queue-4.9/signal-metag-document-a-conflict-with-si_user-with-sigfpe.patch
queue-4.9/pidns-disable-pid-allocation-if-pid_ns_prepare_proc-is-failed-in-alloc_pid.patch
queue-4.9/signal-arm-document-conflicts-with-si_user-and-sigfpe.patch
queue-4.9/signal-powerpc-document-conflicts-with-si_user-and-sigfpe-and-sigtrap.patch
On Tue, Apr 10, 2018 at 12:00:26PM +0100, Chris Wilson wrote:
> Quoting Rodrigo Vivi (2018-04-09 20:14:32)
> > On Sat, Apr 07, 2018 at 10:05:25AM +0100, Chris Wilson wrote:
> > > Quoting Rodrigo Vivi (2018-04-06 23:18:16)
> > > > On Fri, Apr 06, 2018 at 11:12:27AM -0700, Souza, Jose wrote:
> > > > > On Thu, 2018-04-05 at 12:49 +0100, Chris Wilson wrote:
> > > > > > + struct drm_crtc *crtc =
> > > > > > + dp_to_dig_port(intel_dp)->base.base.crtc;
> > > >
> > > > I'm afraid that the issue is this pointer here. So this will only mask
> > > > the issue.
> > > >
> > > > Should we maybe stash the pipe? :/
> > >
> > > It's not that bad. pipe cannot change until after psr_disable is called,
> > > right? And psr_disable ensures that this worker is flushed. The current
> > > problem is just the coordination of cancelling the worker, where we may
> > > set psr.enabled to NULL right before the worker grabs it and
> > > dereferences it.
> > >
> > > So if we lock until we have the pipe, we know that dereference chain is
> > > valid, and we know that psr_disable() cannot complete until we complete
> > > the wait. So the pipe remains valid until we return (so long as the pipe
> > > exists when we start).
> >
> > hmm... it makes sense and I have no better suggestion actually.
> > So, as long it really fixes the regression we introduced:
> >
> > Acked-by: Rodrigo Vivi <rodrigo.vivi(a)intel.com>
>
> It does fix the abstract race, but I have no evidence of this being hit
> in practice. Pushed, but up to you if you care about this being
> backported.
>
> Note this race is different from the GPF CI reported. Hmm, I think
> https://bugs.freedesktop.org/show_bug.cgi?id=105959 is the same one as
> hit on the kasan run earlier.
Ouch, thanks for the clarification... I was really considering that this
was the case... but I should have noticed that there was no bugzilla
referenced here...
> -Chris
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx(a)lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Hi,
[This is an automated email]
This commit has been processed by the -stable helper bot and determined
to be a high probability candidate for -stable trees. (score: 20.3359)
The bot has tested the following trees: v4.16.1, v4.15.16, v4.14.33, v4.9.93, v4.4.127.
v4.16.1: Build OK!
v4.15.16: Build OK!
v4.14.33: Build OK!
v4.9.93: Build OK!
v4.4.127: Build OK!
Please let us know if you'd like to have this patch included in a stable tree.
--
Thanks,
Sasha
Hi,
[This is an automated email]
This commit has been processed by the -stable helper bot and determined
to be a high probability candidate for -stable trees. (score: 12.9808)
The bot has tested the following trees: v4.16.1, v4.15.16, v4.14.33, v4.9.93, v4.4.127.
v4.16.1: Build OK!
v4.15.16: Build OK!
v4.14.33: Build OK!
v4.9.93: Build OK!
v4.4.127: Build OK!
Please let us know if you'd like to have this patch included in a stable tree.
--
Thanks,
Sasha
Hi,
[This is an automated email]
This commit has been processed by the -stable helper bot and determined
to be a high probability candidate for -stable trees. (score: 28.7865)
The bot has tested the following trees: v4.16.1, v4.15.16, v4.14.33, v4.9.93, v4.4.127.
v4.16.1: Build OK!
v4.15.16: Failed to apply! Possible dependencies:
dbec4c9040ed ("scsi: mpt3sas: lockless command submission")
v4.14.33: Failed to apply! Possible dependencies:
dbec4c9040ed ("scsi: mpt3sas: lockless command submission")
v4.9.93: Failed to apply! Possible dependencies:
dbec4c9040ed ("scsi: mpt3sas: lockless command submission")
v4.4.127: Failed to apply! Possible dependencies:
dbec4c9040ed ("scsi: mpt3sas: lockless command submission")
Please let us know if you'd like to have this patch included in a stable tree.
--
Thanks,
Sasha
Just in case 0day hasn't reported it yet.
drivers/clk/sunxi-ng/ccu-sun8i-de2.c:132:14: error: 'sun8i_h3_de2_clks' undeclared here
drivers/clk/sunxi-ng/ccu-sun8i-de2.c:135:14: error: 'sun8i_h3_de2_hw_clks' undeclared here
Seen in arm:allmodconfig, arm64:allmodconfig builds of v4.15.y.queue and v4.16.y.queue.
Guenter
Hi Greg
Here is a series that addresses microcode loading stability issues post
Spectre. All of them are simply cherry-picked and the patches themselves
have the upstream commit ID's.
I checked this for Intel platforms and thanks to Boris for checking
on AMD platforms.
I'm still working on a 4.9 backport, will send those once i get them to
work. stop_machine differences seem big enough that i might choose a
different approach for the 4.9 backport.
Cheers,
Ashok
Ashok Raj (4):
x86/microcode/intel: Check microcode revision before updating sibling
threads
x86/microcode/intel: Writeback and invalidate caches before updating
microcode
x86/microcode: Do not upload microcode if CPUs are offline
x86/microcode: Synchronize late microcode loading
Borislav Petkov (8):
x86/microcode: Propagate return value from updating functions
x86/CPU: Add a microcode loader callback
x86/CPU: Check CPU feature bits after microcode upgrade
x86/microcode: Get rid of struct apply_microcode_ctx
x86/microcode/intel: Look into the patch cache first
x86/microcode: Request microcode on the BSP
x86/microcode: Attempt late loading only when new microcode is present
x86/microcode: Fix CPU synchronization routine
arch/x86/include/asm/microcode.h | 10 +-
arch/x86/include/asm/processor.h | 1 +
arch/x86/kernel/cpu/common.c | 30 ++++++
arch/x86/kernel/cpu/microcode/amd.c | 44 +++++----
arch/x86/kernel/cpu/microcode/core.c | 181 ++++++++++++++++++++++++++--------
arch/x86/kernel/cpu/microcode/intel.c | 62 +++++++++---
6 files changed, 252 insertions(+), 76 deletions(-)
--
2.7.4
This is the start of the stable review cycle for the 4.4.124 release.
There are 97 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 Sun Mar 25 09:41:34 UTC 2018.
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.4.124-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.4.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.4.124-rc1
Leon Romanovsky <leonro(a)mellanox.com>
RDMA/ucma: Fix access to non-initialized CM_ID object
Vignesh R <vigneshr(a)ti.com>
dmaengine: ti-dma-crossbar: Fix event mapping for TPCC_EVT_MUX_60_63
Sergej Sawazki <sergej(a)taudac.com>
clk: si5351: Rename internal plls to avoid name collisions
Benjamin Coddington <bcodding(a)redhat.com>
nfsd4: permit layoutget of executable-only files
Anton Vasilyev <vasilyev(a)ispras.ru>
RDMA/ocrdma: Fix permissions for OCRDMA_RESET_STATS
Alexey Kodanev <alexey.kodanev(a)oracle.com>
ip6_vti: adjust vti mtu according to mtu of lower device
Jerry Snitselaar <jsnitsel(a)redhat.com>
iommu/vt-d: clean up pr_irq if request_threaded_irq fails
Florian Fainelli <f.fainelli(a)gmail.com>
pinctrl: Really force states during suspend/resume
Robert Walker <robert.walker(a)arm.com>
coresight: Fix disabling of CoreSight TPIU
Sahara <keun-o.park(a)darkmatter.ae>
pty: cancel pty slave port buf's work in tty_release
Peter Ujfalusi <peter.ujfalusi(a)ti.com>
drm/omap: DMM: Check for DMM readiness after successful transaction commit
Bjorn Helgaas <bhelgaas(a)google.com>
vgacon: Set VGA struct resource types
Artemy Kovalyov <artemyko(a)mellanox.com>
IB/umem: Fix use of npages/nmap fields
Parav Pandit <parav(a)mellanox.com>
RDMA/cma: Use correct size when writing netlink stats
Erez Shitrit <erezsh(a)mellanox.com>
IB/ipoib: Avoid memory leak if the SA returns a different DGID
Daniel Drake <drake(a)endlessm.com>
mmc: avoid removing non-removable hosts during suspend
Shawn Nematbakhsh <shawnn(a)chromium.org>
platform/chrome: Use proper protocol transfer function
Arnd Bergmann <arnd(a)arndb.de>
cros_ec: fix nul-termination for firmware build info
Ron Economos <w6rz(a)comcast.net>
media: [RESEND] media: dvb-frontends: Add delay to Si2168 restart
Christophe JAILLET <christophe.jaillet(a)wanadoo.fr>
media: bt8xx: Fix err 'bt878_probe()'
Tsang-Shian Lin <thlin(a)realtek.com>
rtlwifi: rtl_pci: Fix the bug when inactiveps is enabled.
Geert Uytterhoeven <geert(a)linux-m68k.org>
RDMA/iwpm: Fix uninitialized error code in iwpm_send_mapinfo()
Prakash Kamliya <pkamliya(a)codeaurora.org>
drm/msm: fix leak in failed get_pages
Gustavo A. R. Silva <garsilva(a)embeddedor.com>
media: c8sectpfe: fix potential NULL pointer dereference in c8sectpfe_timer_interrupt
Loic Poulain <loic.poulain(a)linaro.org>
Bluetooth: hci_qca: Avoid setup failure on missing rampatch
Kim Phillips <kim.phillips(a)arm.com>
perf tests kmod-path: Don't fail if compressed modules aren't supported
Moritz Fischer <mdf(a)kernel.org>
rtc: ds1374: wdt: Fix stop/start ioctl always returning -EINVAL
Moritz Fischer <mdf(a)kernel.org>
rtc: ds1374: wdt: Fix issue with timeout scaling from secs to wdt ticks
Dan Carpenter <dan.carpenter(a)oracle.com>
cifs: small underflow in cnvrtDosUnixTm()
Timmy Li <lixiaoping3(a)huawei.com>
net: hns: fix ethtool_get_strings overflow in hns driver
Alexey Khoroshilov <khoroshilov(a)ispras.ru>
sm501fb: don't return zero on failure path in sm501fb_start()
Maksim Salau <maksim.salau(a)gmail.com>
video: fbdev: udlfb: Fix buffer on stack
Dmitry Monakhov <dmonakhov(a)openvz.org>
tcm_fileio: Prevent information leak for short reads
Sergei Trofimovich <slyfox(a)gentoo.org>
ia64: fix module loading for gcc-5.4
Shaohua Li <shli(a)fb.com>
md/raid10: skip spare disk as 'first' disk
Sebastian Reichel <sebastian.reichel(a)collabora.co.uk>
Input: twl4030-pwrbutton - use correct device for irq request
Michael Trimarchi <michael(a)amarulasolutions.com>
power: supply: pda_power: move from timer to delayed_work
Scott Wood <swood(a)redhat.com>
bnx2x: Align RX buffers
Mario Kleiner <mario.kleiner.de(a)gmail.com>
drm/nouveau/kms: Increase max retries in scanout position queries.
Hans de Goede <hdegoede(a)redhat.com>
ACPI / PMIC: xpower: Fix power_table addresses
Robert Lippert <roblip(a)gmail.com>
ipmi/watchdog: fix wdog hang on panic waiting for ipmi response
Kishon Vijay Abraham I <kishon(a)ti.com>
ARM: DRA7: clockdomain: Change the CLKTRCTRL of CM_PCIE_CLKSTCTRL to SW_WKUP
yangbo lu <yangbo.lu(a)nxp.com>
mmc: sdhci-of-esdhc: limit SD clock for ls1012a/ls1046a
Pan Bian <bianpan2016(a)163.com>
staging: wilc1000: fix unchecked return value
Sameer Wadgaonkar <sameer.wadgaonkar(a)unisys.com>
staging: unisys: visorhba: fix s-Par to boot with option CONFIG_VMAP_STACK set to y
Ming Lei <ming.lei(a)redhat.com>
mtip32xx: use runtime tag to initialize command header
Keerthy <j-keerthy(a)ti.com>
mfd: palmas: Reset the POWERHOLD mux during power off
Emmanuel Grumbach <emmanuel.grumbach(a)intel.com>
mac80211: don't parse encrypted management frames in ieee80211_frame_acked
Filipe Manana <fdmanana(a)suse.com>
Btrfs: send, fix file hole not being preserved due to inline extent
Pan Bian <bianpan2016(a)163.com>
rndis_wlan: add return value validation
Pan Bian <bianpan2016(a)163.com>
mt7601u: check return value of alloc_skb
Shrirang Bagul <shrirang.bagul(a)canonical.com>
iio: st_pressure: st_accel: Initialise sensor platform data properly
NeilBrown <neilb(a)suse.com>
NFS: don't try to cross a mountpount when there isn't one there.
Vlad Tsyrklevich <vlad(a)tsyrklevich.net>
infiniband/uverbs: Fix integer overflows
Finn Thain <fthain(a)telegraphics.com.au>
scsi: mac_esp: Replace bogus memory barrier with spinlock
Pan Bian <bianpan2016(a)163.com>
qlcnic: fix unchecked return value
Pan Bian <bianpan2016(a)163.com>
wan: pc300too: abort path on failure
Dan Carpenter <dan.carpenter(a)oracle.com>
mmc: host: omap_hsmmc: checking for NULL instead of IS_ERR()
Jarno Rajahalme <jarno(a)ovn.org>
openvswitch: Delete conntrack entry clashing with an expectation.
Gao Feng <fgao(a)ikuai8.com>
netfilter: xt_CT: fix refcnt leak on error path
James Smart <jsmart2021(a)gmail.com>
Fix driver usage of 128B WQEs when WQ_CREATE is V1.
Dan Carpenter <dan.carpenter(a)oracle.com>
ASoC: Intel: Skylake: Uninitialized variable in probe_codec()
Maor Gottlieb <maorg(a)mellanox.com>
IB/mlx4: Change vma from shared to private
Maor Gottlieb <maorg(a)mellanox.com>
IB/mlx4: Take write semaphore when changing the vma struct
Dan Carpenter <dan.carpenter(a)oracle.com>
HSI: ssi_protocol: double free in ssip_pn_xmit()
Feras Daoud <ferasda(a)mellanox.com>
IB/ipoib: Update broadcast object if PKey value was changed in index 0
Feras Daoud <ferasda(a)mellanox.com>
IB/ipoib: Fix deadlock between ipoib_stop and mcast join flow
Mikhail Paulyshka <me(a)mixaill.tk>
ALSA: hda - Fix headset microphone detection for ASUS N551 and N751
Bernd Faust <berndfaust(a)gmail.com>
e1000e: fix timing for 82579 Gigabit Ethernet controller
Eric Dumazet <edumazet(a)google.com>
tcp: remove poll() flakes with FastOpen
Benjamin Coddington <bcodding(a)redhat.com>
NFS: Fix missing pg_cleanup after nfs_pageio_cond_complete()
Guoqing Jiang <gqjiang(a)suse.com>
md/raid10: wait up frozen array in handle_write_completed
Suman Anna <s-anna(a)ti.com>
iommu/omap: Register driver before setting IOMMU ops
Abel Vesa <abelvesa(a)linux.com>
ARM: 8668/1: ftrace: Fix dynamic ftrace with DEBUG_RODATA and !FRAME_POINTER
Alexey Kardashevskiy <aik(a)ozlabs.ru>
KVM: PPC: Book3S PR: Exit KVM on failed mapping
David Gibson <david(a)gibson.dropbear.id.au>
scsi: virtio_scsi: Always try to read VPD pages
Bharat Kumar Reddy Gooty <bharat.gooty(a)broadcom.com>
clk: ns2: Correct SDIO bits
Mohammed Shafi Shajakhan <mohammed(a)qti.qualcomm.com>
ath: Fix updating radar flags for coutry code India
Marek Vasut <marex(a)denx.de>
spi: dw: Disable clock after unregistering the host
Jasmin J <jasmin(a)anw.at>
media/dvb-core: Race condition when writing to CAM
David Ahern <dsa(a)cumulusnetworks.com>
net: ipv6: send unsolicited NA on admin up
Edgar Cherkasov <echerkasov(a)dev.rtsoft.ru>
i2c: i2c-scmi: add a MS HID
Hans de Goede <hdegoede(a)redhat.com>
genirq: Use irqd_get_trigger_type to compare the trigger type for shared IRQs
Thomas Gleixner <tglx(a)linutronix.de>
cpufreq/sh: Replace racy task affinity logic
Thomas Gleixner <tglx(a)linutronix.de>
ACPI/processor: Replace racy task affinity logic
Thomas Gleixner <tglx(a)linutronix.de>
ACPI/processor: Fix error handling in __acpi_processor_start()
Deepa Dinamani <deepa.kernel(a)gmail.com>
time: Change posix clocks ops interfaces to use timespec64
Dmitry Torokhov <dmitry.torokhov(a)gmail.com>
Input: ar1021_i2c - fix too long name in driver's device table
Hans de Goede <hdegoede(a)redhat.com>
rtc: cmos: Do not assume irq 8 for rtc when there are no legacy irqs
Hans de Goede <hdegoede(a)redhat.com>
x86: i8259: export legacy_pic symbol
Dong Aisheng <aisheng.dong(a)nxp.com>
regulator: anatop: set default voltage selector for pcie
Santeri Toivonen <santeri.toivonen(a)vatsul.com>
platform/x86: asus-nb-wmi: Add wapf4 quirk for the X302UA
Yisheng Xie <xieyisheng1(a)huawei.com>
staging: android: ashmem: Fix possible deadlock in ashmem_ioctl
Pavel Shilovsky <pshilov(a)microsoft.com>
CIFS: Enable encryption during session setup phase
Steve French <smfrench(a)gmail.com>
SMB3: Validate negotiate request must always be signed
Jeremy Boone <jeremy.boone(a)nccgroup.trust>
tpm_tis: fix potential buffer overruns caused by bit glitches on the bus
Jeremy Boone <jeremy.boone(a)nccgroup.trust>
tpm: fix potential buffer overruns caused by bit glitches on the bus
-------------
Diffstat:
Makefile | 4 +-
arch/alpha/kernel/console.c | 1 +
arch/arm/kernel/ftrace.c | 11 ++--
arch/arm/mach-omap2/clockdomains7xx_data.c | 2 +-
arch/ia64/kernel/module.c | 4 +-
arch/powerpc/kvm/book3s_64_mmu_host.c | 5 +-
arch/powerpc/kvm/book3s_pr.c | 6 ++-
arch/x86/kernel/i8259.c | 1 +
drivers/acpi/pmic/intel_pmic_xpower.c | 50 ++++++++---------
drivers/acpi/processor_driver.c | 10 +++-
drivers/acpi/processor_throttling.c | 62 +++++++++++++---------
drivers/block/mtip32xx/mtip32xx.c | 36 ++++++++-----
drivers/bluetooth/hci_qca.c | 3 ++
drivers/char/ipmi/ipmi_watchdog.c | 8 +--
drivers/char/tpm/tpm-interface.c | 5 ++
drivers/char/tpm/tpm2-cmd.c | 6 +++
drivers/char/tpm/tpm_tis.c | 5 +-
drivers/clk/bcm/clk-ns2.c | 2 +-
drivers/clk/clk-si5351.c | 2 +-
drivers/cpufreq/sh-cpufreq.c | 45 +++++++++-------
drivers/dma/ti-dma-crossbar.c | 10 +++-
drivers/gpu/drm/msm/msm_gem.c | 14 +++--
drivers/gpu/drm/nouveau/nouveau_display.c | 2 +-
drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 5 ++
drivers/hsi/clients/ssi_protocol.c | 5 +-
drivers/hwtracing/coresight/coresight-tpiu.c | 13 +++--
drivers/i2c/busses/i2c-scmi.c | 4 ++
drivers/iio/accel/st_accel_core.c | 7 +--
drivers/iio/pressure/st_pressure_core.c | 8 +--
drivers/infiniband/core/cma.c | 5 +-
drivers/infiniband/core/iwpm_util.c | 1 +
drivers/infiniband/core/umem.c | 2 +-
drivers/infiniband/core/uverbs_cmd.c | 13 ++++-
drivers/infiniband/hw/mlx4/main.c | 6 ++-
drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 2 +-
drivers/infiniband/ulp/ipoib/ipoib_ib.c | 13 +++++
drivers/infiniband/ulp/ipoib/ipoib_main.c | 16 ++++++
drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 11 ++--
drivers/input/misc/twl4030-pwrbutton.c | 2 +-
drivers/input/touchscreen/ar1021_i2c.c | 2 +-
drivers/iommu/intel-svm.c | 9 ++--
drivers/iommu/omap-iommu.c | 21 ++++++--
drivers/md/raid10.c | 6 +++
drivers/media/dvb-core/dvb_ca_en50221.c | 23 ++++++++
drivers/media/dvb-frontends/si2168.c | 3 ++
drivers/media/pci/bt8xx/bt878.c | 3 +-
.../media/platform/sti/c8sectpfe/c8sectpfe-core.c | 4 +-
drivers/mfd/palmas.c | 14 +++++
drivers/mmc/core/core.c | 8 +++
drivers/mmc/host/omap_hsmmc.c | 4 +-
drivers/mmc/host/sdhci-of-esdhc.c | 14 +++++
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 1 +
drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c | 2 +-
drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c | 2 +-
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c | 2 +-
.../net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c | 2 +-
drivers/net/ethernet/intel/e1000e/netdev.c | 6 +++
.../ethernet/qlogic/qlcnic/qlcnic_sriov_common.c | 2 +
drivers/net/wan/pc300too.c | 1 +
drivers/net/wireless/ath/regd.c | 19 ++++---
drivers/net/wireless/mediatek/mt7601u/mcu.c | 10 +++-
drivers/net/wireless/realtek/rtlwifi/pci.c | 7 +++
drivers/net/wireless/rndis_wlan.c | 4 ++
drivers/pinctrl/core.c | 24 ++++++---
drivers/platform/chrome/cros_ec_proto.c | 8 +--
drivers/platform/chrome/cros_ec_sysfs.c | 2 +-
drivers/platform/x86/asus-nb-wmi.c | 9 ++++
drivers/power/pda_power.c | 49 +++++++++--------
drivers/ptp/ptp_clock.c | 18 +++----
drivers/regulator/anatop-regulator.c | 5 ++
drivers/rtc/rtc-cmos.c | 17 ++++--
drivers/rtc/rtc-ds1374.c | 10 +++-
drivers/scsi/lpfc/lpfc_sli.c | 3 ++
drivers/scsi/mac_esp.c | 33 ++++++++----
drivers/scsi/virtio_scsi.c | 24 +++++++++
drivers/spi/spi-dw-mmio.c | 2 +-
drivers/staging/android/ashmem.c | 8 ++-
drivers/staging/unisys/visorhba/visorhba_main.c | 8 ++-
drivers/staging/wilc1000/linux_mon.c | 2 +
drivers/target/target_core_file.c | 23 +++++---
drivers/tty/tty_io.c | 2 +
drivers/video/console/vgacon.c | 34 +++++++++---
drivers/video/fbdev/sm501fb.c | 1 +
drivers/video/fbdev/udlfb.c | 14 ++++-
fs/btrfs/send.c | 23 +++++++-
fs/cifs/netmisc.c | 6 +--
fs/cifs/sess.c | 22 ++++----
fs/cifs/smb2pdu.c | 11 ++--
fs/nfs/pagelist.c | 6 ++-
fs/nfsd/nfs4proc.c | 6 +--
fs/nfsd/vfs.c | 24 +++++++--
include/linux/posix-clock.h | 10 ++--
kernel/irq/manage.c | 4 +-
kernel/time/posix-clock.c | 34 ++++++++----
net/ipv4/tcp_input.c | 16 +++---
net/ipv6/ip6_vti.c | 20 +++++++
net/ipv6/ndisc.c | 2 +
net/mac80211/status.c | 1 +
net/netfilter/xt_CT.c | 11 +++-
net/openvswitch/conntrack.c | 30 ++++++++++-
sound/pci/hda/patch_realtek.c | 12 ++++-
sound/soc/intel/skylake/skl.c | 2 +-
tools/perf/tests/kmod-path.c | 2 +
103 files changed, 811 insertions(+), 303 deletions(-)
This is a note to let you know that I've just added the patch titled
signal/arm: Document conflicts with SI_USER and SIGFPE
to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
signal-arm-document-conflicts-with-si_user-and-sigfpe.patch
and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Apr 9 13:58:16 CEST 2018
From: "Eric W. Biederman" <ebiederm(a)xmission.com>
Date: Thu, 17 Aug 2017 17:07:46 -0500
Subject: signal/arm: Document conflicts with SI_USER and SIGFPE
From: "Eric W. Biederman" <ebiederm(a)xmission.com>
[ Upstream commit 7771c66457004977b616bab785209f49d164f527 ]
Setting si_code to 0 results in a userspace seeing an si_code of 0.
This is the same si_code as SI_USER. Posix and common sense requires
that SI_USER not be a signal specific si_code. As such this use of 0
for the si_code is a pretty horribly broken ABI.
Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
value of __SI_KILL and now sees a value of SIL_KILL with the result
that uid and pid fields are copied and which might copying the si_addr
field by accident but certainly not by design. Making this a very
flakey implementation.
Utilizing FPE_FIXME, siginfo_layout will now return SIL_FAULT and the
appropriate fields will be reliably copied.
Possible ABI fixes includee:
- Send the signal without siginfo
- Don't generate a signal
- Possibly assign and use an appropriate si_code
- Don't handle cases which can't happen
Cc: Russell King <rmk(a)flint.arm.linux.org.uk>
Cc: linux-arm-kernel(a)lists.infradead.org
Ref: 451436b7bbb2 ("[ARM] Add support code for ARM hardware vector floating point")
History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
Signed-off-by: "Eric W. Biederman" <ebiederm(a)xmission.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
arch/arm/include/uapi/asm/siginfo.h | 13 +++++++++++++
arch/arm/vfp/vfpmodule.c | 2 +-
2 files changed, 14 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/include/uapi/asm/siginfo.h
--- /dev/null
+++ b/arch/arm/include/uapi/asm/siginfo.h
@@ -0,0 +1,13 @@
+#ifndef __ASM_SIGINFO_H
+#define __ASM_SIGINFO_H
+
+#include <asm-generic/siginfo.h>
+
+/*
+ * SIGFPE si_codes
+ */
+#ifdef __KERNEL__
+#define FPE_FIXME 0 /* Broken dup of SI_USER */
+#endif /* __KERNEL__ */
+
+#endif
--- a/arch/arm/vfp/vfpmodule.c
+++ b/arch/arm/vfp/vfpmodule.c
@@ -257,7 +257,7 @@ static void vfp_raise_exceptions(u32 exc
if (exceptions == VFP_EXCEPTION_ERROR) {
vfp_panic("unhandled bounce", inst);
- vfp_raise_sigfpe(0, regs);
+ vfp_raise_sigfpe(FPE_FIXME, regs);
return;
}
Patches currently in stable-queue which might be from ebiederm(a)xmission.com are
queue-4.14/signal-metag-document-a-conflict-with-si_user-with-sigfpe.patch
queue-4.14/signal-arm-document-conflicts-with-si_user-and-sigfpe.patch
queue-4.14/signal-powerpc-document-conflicts-with-si_user-and-sigfpe-and-sigtrap.patch
The description of commit e39a97353e53 is wrong: it mentions that
commit 2a842acab109 introduced a bug in __scsi_error_from_host_byte()
although that commit did not change the behavior of that function.
Additionally, commit e39a97353e53 introduced a bug: it causes commands
that fail with hostbyte=DID_OK and driverbyte=DRIVER_SENSE to be
completed with BLK_STS_OK. Hence revert that commit.
Fixes: e39a97353e53 ("scsi: core: return BLK_STS_OK for DID_OK in __scsi_error_from_host_byte()")
Reported-by: Damien Le Moal <damien.lemoal(a)wdc.com>
Signed-off-by: Bart Van Assche <bart.vanassche(a)wdc.com>
Cc: Hannes Reinecke <hare(a)suse.com>
Cc: Douglas Gilbert <dgilbert(a)interlog.com>
Cc: Damien Le Moal <damien.lemoal(a)wdc.com>
Cc: Christoph Hellwig <hch(a)lst.de>
Cc: Lee Duncan <lduncan(a)suse.com>
Cc: stable(a)vger.kernel.org
---
drivers/scsi/scsi_lib.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 1d83f29aee74..c0e4ae733cce 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -733,8 +733,6 @@ static blk_status_t __scsi_error_from_host_byte(struct scsi_cmnd *cmd,
int result)
{
switch (host_byte(result)) {
- case DID_OK:
- return BLK_STS_OK;
case DID_TRANSPORT_FAILFAST:
return BLK_STS_TRANSPORT;
case DID_TARGET_FAILURE:
--
2.16.2