We need that to adjust the len of the 2nd transfer (called data in
spi-mem) if it's too long to fit in a SPI message or SPI transfer.
Fixes: c36ff266dc82 ("spi: Extend the core to ease integration of SPI memory controllers")
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Chuanhua Han <chuanhua.han(a)nxp.com>
Reviewed-by: Boris Brezillon <boris.brezillon(a)bootlin.com>
---
Changes in v5:
-Add the validation check after the op->data.nbytes assignment
-Assign the "len" variable after defining it
-Remove the brackets on both sides of "opt-> data.nbytes"
Changes in v4:
-Rename variable name "opcode_addr_dummy_sum" to "len"
-The comparison of "spi_max_message_size(mem->spi)" and "len" was removed
-Adjust their order when comparing the sizes of "spi_max_message_size(mem->spi)" and "len"
-Changing the "unsigned long" type in the code to "size_t"
Changes in v3:
-Rename variable name "val" to "opcode_addr_dummy_sum"
-Place the legitimacy of the transfer size(i.e., "spi_max_message_size(mem->spi)" and
"opcode_addr_dummy_sum") into "if (! ctlr - > mem_ops | |! ctlr-> mem_ops->exec_op) {"
structure and add "spi_max_transfer_size(mem->spi) and opcode_addr_dummy_sum"
-Adjust the formatting alignment of the code
-"(unsigned long)op->data.nbytes" was modified to "(unsigned long)(op->data.nbytes)"
Changes in v2:
-Place the adjusted transfer bytes code in spi_mem_adjust_op_size() and check
spi_max_message_size(mem->spi) value before subtracting opcode, addr and dummy bytes
-Change the code from fsl-espi controller to generic code(The adjustment of spi transmission
length was originally modified in the "drivers/spi/spi-fsl-espi.c" file, and now the adjustment
of transfer length is made in the "drivers/spi/spi-mem.c" file)
drivers/spi/spi-mem.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/drivers/spi/spi-mem.c b/drivers/spi/spi-mem.c
index e43842c..eb72dba 100644
--- a/drivers/spi/spi-mem.c
+++ b/drivers/spi/spi-mem.c
@@ -346,10 +346,25 @@ EXPORT_SYMBOL_GPL(spi_mem_get_name);
int spi_mem_adjust_op_size(struct spi_mem *mem, struct spi_mem_op *op)
{
struct spi_controller *ctlr = mem->spi->controller;
+ size_t len;
+
+ len = sizeof(op->cmd.opcode) + op->addr.nbytes + op->dummy.nbytes;
if (ctlr->mem_ops && ctlr->mem_ops->adjust_op_size)
return ctlr->mem_ops->adjust_op_size(mem, op);
+ if (!ctlr->mem_ops || !ctlr->mem_ops->exec_op) {
+ if (len > spi_max_transfer_size(mem->spi))
+ return -EINVAL;
+
+ op->data.nbytes = min3((size_t)op->data.nbytes,
+ spi_max_transfer_size(mem->spi),
+ spi_max_message_size(mem->spi) -
+ len);
+ if (!op->data.nbytes)
+ return -EINVAL;
+ }
+
return 0;
}
EXPORT_SYMBOL_GPL(spi_mem_adjust_op_size);
--
2.7.4
This is the start of the stable review cycle for the 4.18.7 release.
There are 145 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 Sep 9 21:08:26 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.18.7-rc1…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.18.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.18.7-rc1
James Morse <james.morse(a)arm.com>
arm64: mm: always enable CONFIG_HOLES_IN_ZONE
Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
cpuidle: menu: Retain tick when shallow state is selected
Jan Kara <jack(a)suse.cz>
udf: Fix mounting of Win7 created UDF filesystems
Jeremy Cline <jcline(a)redhat.com>
fs/quota: Fix spectre gadget in do_quotactl
Horia Geantă <horia.geanta(a)nxp.com>
crypto: caam/qi - fix error path in xts setkey
Horia Geantă <horia.geanta(a)nxp.com>
crypto: caam/jr - fix descriptor DMA unmapping
Horia Geantă <horia.geanta(a)nxp.com>
crypto: caam - fix DMA mapping direction for RSA forms 2 & 3
Ard Biesheuvel <ard.biesheuvel(a)linaro.org>
crypto: arm64/sm4-ce - check for the right CPU feature bit
Dave Watson <davejwatson(a)fb.com>
crypto: aesni - Use unaligned loads from gcm_context_data
Ondrej Mosnacek <omosnace(a)redhat.com>
crypto: vmx - Fix sleep-in-atomic bugs
Adrian Hunter <adrian.hunter(a)intel.com>
perf auxtrace: Fix queue resize
Dan Williams <dan.j.williams(a)intel.com>
mm, dev_pagemap: Do not clear ->mapping on final put
Eddie.Horng <eddie.horng(a)mediatek.com>
cap_inode_getsecurity: use d_find_any_alias() instead of d_find_alias()
Masahiro Yamada <yamada.masahiro(a)socionext.com>
kconfig: fix "Can't open ..." in parallel build
Shan Hai <shan.hai(a)oracle.com>
bcache: release dc->writeback_lock properly in bch_writeback_thread()
Vishal Verma <vishal.l.verma(a)intel.com>
libnvdimm: fix ars_status output length calculation
Keith Busch <keith.busch(a)intel.com>
libnvdimm: Use max contiguous area for namespace size
Christian Brauner <christian(a)brauner.io>
getxattr: use correct xattr length
Mikulas Patocka <mpatocka(a)redhat.com>
udlfb: set line_length in dlfb_ops_set_par
Mikulas Patocka <mpatocka(a)redhat.com>
udlfb: handle allocation failure
Mikulas Patocka <mpatocka(a)redhat.com>
udlfb: make a local copy of fb_ops
Mikulas Patocka <mpatocka(a)redhat.com>
udlfb: set optimal write delay
Mikulas Patocka <mpatocka(a)redhat.com>
udlfb: don't switch if we are switching to the same videomode
Mikulas Patocka <mpatocka(a)redhat.com>
udlfb: fix display corruption of the last line
Mikulas Patocka <mpatocka(a)redhat.com>
udlfb: fix semaphore value leak
Mikulas Patocka <mpatocka(a)redhat.com>
fb: fix lost console when the user unplugs a USB adapter
Vignesh R <vigneshr(a)ti.com>
pwm: tiehrpwm: Fix disabling of output of PWMs
Vignesh R <vigneshr(a)ti.com>
pwm: tiehrpwm: Don't use emulation mode bits to control PWM output
Richard Weinberger <richard(a)nod.at>
ubifs: Fix synced_i_size calculation for xattr inodes
Richard Weinberger <richard(a)nod.at>
ubifs: Fix directory size calculation for symlinks
Richard Weinberger <richard(a)nod.at>
ubifs: xattr: Don't operate on deleted inodes
Richard Weinberger <richard(a)nod.at>
ubifs: Check data node size before truncate
Richard Weinberger <richard(a)nod.at>
Revert "UBIFS: Fix potential integer overflow in allocation"
Richard Weinberger <richard(a)nod.at>
ubifs: Fix memory leak in lprobs self-check
Jann Horn <jannh(a)google.com>
userns: move user access out of the mutex
Jann Horn <jannh(a)google.com>
sys: don't hold uts_sem while accessing userspace memory
Jacob Pan <jacob.jun.pan(a)linux.intel.com>
iommu/vt-d: Fix dev iotlb pfsid use
Jacob Pan <jacob.jun.pan(a)linux.intel.com>
iommu/vt-d: Add definitions for PFSID
Dmitry Osipenko <digetx(a)gmail.com>
iommu/ipmmu-vmsa: Don't register as BUS IOMMU if machine doesn't have IPMMU-VMSA
Peter Zijlstra <peterz(a)infradead.org>
mm/tlb: Remove tlb_remove_table() non-concurrent condition
David Rivshin <DRivshin(a)allworx.com>
pwm: omap-dmtimer: Return -EPROBE_DEFER if no dmtimer platform data
Roger Quadros <rogerq(a)ti.com>
ARM: dts: am57xx-idk: Enable dual role for USB2 port
Jon Hunter <jonathanh(a)nvidia.com>
ARM: tegra: Fix Tegra30 Cardhu PCA954x reset
Trond Myklebust <trondmy(a)gmail.com>
NFSv4: Fix a sleep in atomic context in nfs4_callback_sequence()
Trond Myklebust <trondmy(a)gmail.com>
NFSv4: Fix locking in pnfs_generic_recover_commit_reqs
Bill Baker <Bill.Baker(a)Oracle.com>
NFSv4 client live hangs after live data migration recovery
Amir Goldstein <amir73il(a)gmail.com>
nfsd: fix leaked file lock with nfs exported overlayfs
Dan Carpenter <dan.carpenter(a)oracle.com>
pnfs/blocklayout: off by one in bl_map_stripe()
Maciej S. Szmigiero <mail(a)maciej.szmigiero.name>
block, bfq: return nbytes and not zero from struct cftype .write() method
Max Filippov <jcmvbkbc(a)gmail.com>
xtensa: increase ranges in ___invalidate_{i,d}cache_all
Max Filippov <jcmvbkbc(a)gmail.com>
xtensa: limit offsets in __loop_cache_{all,page}
Paul Mackerras <paulus(a)ozlabs.org>
KVM: PPC: Book3S: Fix guest DMA when guest partially backed by THP pages
Paolo Bonzini <pbonzini(a)redhat.com>
KVM: VMX: fixes for vmentry_l1d_flush module parameter
Hans de Goede <hdegoede(a)redhat.com>
i2c: designware: Re-init controllers with pm_disabled set on resume
Lihua Yao <ylhuajnu(a)163.com>
ALSA: ac97: fix unbalanced pm_runtime_enable
Lihua Yao <ylhuajnu(a)163.com>
ALSA: ac97: fix check of pm_runtime_get_sync failure
Lihua Yao <ylhuajnu(a)163.com>
ALSA: ac97: fix device initialization in the compat layer
zhangyi (F) <yi.zhang(a)huawei.com>
PM / sleep: wakeup: Fix build error caused by missing SRCU support
Henry Willard <henry.willard(a)oracle.com>
cpufreq: governor: Avoid accessing invalid governor_data
Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
cpuidle: menu: Handle stopped tick more aggressively
Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
sched: idle: Avoid retaining the tick when it has been stopped
Peter Kalauskas <peskal(a)google.com>
drivers/block/zram/zram_drv.c: fix bug storing backing_dev
Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
ACPICA: Clear status of all events when entering sleep states
Erik Schmauss <erik.schmauss(a)intel.com>
ACPICA: AML Parser: skip opcodes that open a scope upon parse failure
Amir Goldstein <amir73il(a)gmail.com>
ovl: fix wrong use of impure dir cache in ovl_iterate()
Rafael David Tinoco <rafael.tinoco(a)linaro.org>
mfd: hi655x: Fix regmap area declared size for hi655x
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
uprobes: Use synchronize_rcu() not synchronize_sched()
Kamalesh Babulal <kamalesh(a)linux.vnet.ibm.com>
livepatch: Validate module/old func name length
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
printk/tracing: Do not trace printk_nmi_enter()
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
tracing/blktrace: Fix to allow setting same value
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
tracing: Do not call start/stop() functions when tracing_on does not change
Johan Hovold <johan(a)kernel.org>
rtc: omap: fix potential crash on power off
Johan Hovold <johan(a)kernel.org>
rtc: omap: fix resource leak in registration error path
Nadav Amit <namit(a)vmware.com>
vmw_balloon: fix VMCI use when balloon built into kernel
Nadav Amit <namit(a)vmware.com>
vmw_balloon: VMCI_DOORBELL_SET does not check status
Nadav Amit <namit(a)vmware.com>
vmw_balloon: do not use 2MB without batching
Nadav Amit <namit(a)vmware.com>
vmw_balloon: fix inflation of 64-bit GFNs
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
eventpoll.h: wrap casts in () properly
Chanwoo Choi <cw00.choi(a)samsung.com>
extcon: Release locking when sending the notification of connector state
Lars-Peter Clausen <lars(a)metafoo.de>
iio: ad9523: Fix return value for ad952x_store()
Lars-Peter Clausen <lars(a)metafoo.de>
iio: ad9523: Fix displayed phase
Gustavo A. R. Silva <gustavo(a)embeddedor.com>
iio: sca3000: Fix missing return in switch
Dexuan Cui <decui(a)microsoft.com>
Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind()
Dexuan Cui <decui(a)microsoft.com>
Drivers: hv: vmbus: Fix the offer_in_progress in vmbus_process_offer()
Tycho Andersen <tycho(a)tycho.ws>
uart: fix race between uart_put_char() and uart_shutdown()
Mikulas Patocka <mpatocka(a)redhat.com>
dm writecache: fix a crash due to reading past end of dirty_bitmap
Mikulas Patocka <mpatocka(a)redhat.com>
dm crypt: don't decrease device limits
Ilya Dryomov <idryomov(a)gmail.com>
dm cache metadata: set dirty on all cache blocks after a crash
Mike Snitzer <snitzer(a)redhat.com>
dm cache metadata: save in-core policy_hint_size to on-disk superblock
Hou Tao <houtao1(a)huawei.com>
dm thin: stop no_space_timeout worker when switching to write-mode
Mikulas Patocka <mpatocka(a)redhat.com>
dm integrity: change 'suspending' variable from bool to int
Tomas Bortoli <tomasbortoli(a)gmail.com>
net/9p/trans_fd.c: fix race-condition by flushing workqueue before the kfree()
Tomas Bortoli <tomasbortoli(a)gmail.com>
net/9p/client.c: version pointer uninitialized
jiangyiwen <jiangyiwen(a)huawei.com>
9p/virtio: fix off-by-one error in sg list bounds check
piaojun <piaojun(a)huawei.com>
fs/9p/xattr.c: catch the error of p9_client_clunk when setting xattr failed
Tomas Bortoli <tomasbortoli(a)gmail.com>
9p: fix multiple NULL-pointer-dereferences
Bart Van Assche <bart.vanassche(a)wdc.com>
RDMA/rxe: Set wqe->status correctly if an unexpected response is received
Bart Van Assche <bart.vanassche(a)wdc.com>
ib_srpt: Fix a use-after-free in __srpt_close_all_ch()
Bart Van Assche <bart.vanassche(a)wdc.com>
ib_srpt: Fix a use-after-free in srpt_close_ch()
Leon Romanovsky <leon(a)kernel.org>
RDMA/mlx5: Fix shift overflow in mlx5_ib_create_wq
Jason Gunthorpe <jgg(a)ziepe.ca>
overflow.h: Add arithmetic shift helper
Bart Van Assche <bart.vanassche(a)wdc.com>
IB/srpt: Support HCAs with more than two ports
Bart Van Assche <bart.vanassche(a)wdc.com>
IB/srpt: Fix srpt_cm_req_recv() error path (2/2)
Bart Van Assche <bart.vanassche(a)wdc.com>
IB/srpt: Fix srpt_cm_req_recv() error path (1/2)
Jason Gunthorpe <jgg(a)ziepe.ca>
IB/mlx5: Fix leaking stack memory to userspace
Parav Pandit <parav(a)mellanox.com>
IB/mlx5: Honor cnt_set_id_valid flag instead of set_id
Frederic Barrat <fbarrat(a)linux.ibm.com>
ocxl: Fix page fault handler in case of fault on dying process
Vaibhav Jain <vaibhav(a)linux.ibm.com>
cxl: Fix wrong comparison in cxl_adapter_context_get()
Benjamin Herrenschmidt <benh(a)kernel.crashing.org>
powerpc/powernv/pci: Work around races in PCI bridge enabling
Luke Dashjr <luke(a)dashjr.org>
powerpc64/ftrace: Include ftrace.h needed for enable/disable calls
Christophe Leroy <christophe.leroy(a)c-s.fr>
powerpc/nohash: fix pte_access_permitted()
Ram Pai <linuxram(a)us.ibm.com>
powerpc/pkeys: Preallocate execute-only key
Ram Pai <linuxram(a)us.ibm.com>
powerpc/pkeys: Fix calculation of total pkeys.
Ram Pai <linuxram(a)us.ibm.com>
powerpc/pkeys: Save the pkey registers before fork
Ram Pai <linuxram(a)us.ibm.com>
powerpc/pkeys: key allocation/deallocation must not change pkey registers
Ram Pai <linuxram(a)us.ibm.com>
powerpc/pkeys: Deny read/write/execute by default
Ram Pai <linuxram(a)us.ibm.com>
powerpc/pkeys: Give all threads control of their key permissions
Mahesh Salgaonkar <mahesh(a)linux.vnet.ibm.com>
powerpc/pseries: Fix endianness while restoring of r3 in MCE handler.
Nicholas Piggin <npiggin(a)gmail.com>
powerpc/64s: Fix page table fragment refcount race vs speculative references
Hari Bathini <hbathini(a)linux.ibm.com>
powerpc/fadump: handle crash memory ranges array index overflow
Yannik Sembritzki <yannik(a)sembritzki.me>
Fix kexec forbidding kernels signed with keys in the secondary keyring to boot
Yannik Sembritzki <yannik(a)sembritzki.me>
Replace magic for trusting the secondary keyring with #define
Gustavo A. R. Silva <gustavo(a)embeddedor.com>
mailbox: xgene-slimpro: Fix potential NULL pointer dereference
Javier Martinez Canillas <javierm(a)redhat.com>
media: Revert "[media] tvp5150: fix pad format frame height"
Daniel Mack <daniel(a)zonque.org>
libertas: fix suspend and resume for SDIO connected cards
Michel Dänzer <michel.daenzer(a)amd.com>
dma-buf: Move BUG_ON from _add_shared_fence to _add_shared_inplace
John Johansen <john.johansen(a)canonical.com>
apparmor: fix bad debug check in apparmor_secid_to_secctx()
Bart Van Assche <bart.vanassche(a)wdc.com>
block: Ensure that a request queue is dissociated from the cgroup controller
Bart Van Assche <bart.vanassche(a)wdc.com>
block: Introduce blk_exit_queue()
Bart Van Assche <bart.vanassche(a)wdc.com>
blkcg: Introduce blkg_root_lookup()
Ming Lei <ming.lei(a)redhat.com>
block: really disable runtime-pm for blk-mq
xiao jin <jin.xiao(a)intel.com>
block: blk_init_allocated_queue() set q->fq as NULL in the fail case
Mikulas Patocka <mpatocka(a)redhat.com>
block: fix infinite loop if the device loses discard capability
Markus Stockhausen <stockhausen(a)collogia.de>
readahead: stricter check for bdi io_pages
Sergei Shtylyov <sergei.shtylyov(a)cogentembedded.com>
mmc: renesas_sdhi_internal_dmac: fix #define RST_RESERVED_BITS
Sergei Shtylyov <sergei.shtylyov(a)cogentembedded.com>
mmc: renesas_sdhi_internal_dmac: mask DMAC interrupts
Adrian Hunter <adrian.hunter(a)intel.com>
mmc: block: Fix unsupported parallel dispatch of requests
Janek Kotas <jank(a)cadence.com>
spi: cadence: Change usleep_range() to udelay(), for atomic context
Krzysztof Kozlowski <krzk(a)kernel.org>
spi: spi-fsl-dspi: Fix imprecise abort on VF500 during probe
Mika Westerberg <mika.westerberg(a)linux.intel.com>
spi: pxa2xx: Add support for Intel Ice Lake
Bartosz Golaszewski <bgolaszewski(a)baylibre.com>
spi: davinci: fix a NULL pointer dereference
Chirantan Ekbote <chirantan(a)chromium.org>
9p/net: Fix zero-copy path in the 9p virtio transport
Alexander Aring <aring(a)mojatatu.com>
net: mac802154: tx: expand tailroom if necessary
Alexander Aring <aring(a)mojatatu.com>
net: 6lowpan: fix reserved space for single frames
Boqun Feng <boqun.feng(a)gmail.com>
rcu: Make expedited GPs handle CPU 0 being offline
-------------
Diffstat:
Makefile | 4 +-
arch/alpha/kernel/osf_sys.c | 51 +++++----
arch/arm/boot/dts/am571x-idk.dts | 4 -
arch/arm/boot/dts/am572x-idk-common.dtsi | 4 -
arch/arm/boot/dts/am57xx-idk-common.dtsi | 7 +-
arch/arm/boot/dts/tegra30-cardhu.dtsi | 1 +
arch/arm64/Kconfig | 1 -
arch/arm64/crypto/sm4-ce-glue.c | 2 +-
arch/powerpc/include/asm/fadump.h | 3 -
arch/powerpc/include/asm/nohash/pgtable.h | 9 +-
arch/powerpc/include/asm/pkeys.h | 11 --
arch/powerpc/kernel/fadump.c | 91 +++++++++++++---
arch/powerpc/kernel/process.c | 1 +
arch/powerpc/kvm/book3s_hv.c | 1 +
arch/powerpc/mm/mmu_context_book3s64.c | 8 +-
arch/powerpc/mm/mmu_context_iommu.c | 17 +--
arch/powerpc/mm/pgtable-book3s64.c | 17 +--
arch/powerpc/mm/pkeys.c | 134 ++++++++----------------
arch/powerpc/platforms/powernv/pci-ioda.c | 37 +++++++
arch/powerpc/platforms/pseries/ras.c | 2 +-
arch/sparc/kernel/sys_sparc_32.c | 22 ++--
arch/sparc/kernel/sys_sparc_64.c | 20 ++--
arch/x86/crypto/aesni-intel_asm.S | 66 ++++++------
arch/x86/kernel/kexec-bzimage64.c | 2 +-
arch/x86/kvm/vmx.c | 26 +++--
arch/xtensa/include/asm/cacheasm.h | 69 +++++++-----
block/bfq-cgroup.c | 3 +-
block/blk-core.c | 61 ++++++-----
block/blk-lib.c | 10 ++
block/blk-sysfs.c | 15 +++
block/blk.h | 1 +
certs/system_keyring.c | 3 +-
crypto/asymmetric_keys/pkcs7_key_type.c | 2 +-
drivers/acpi/acpica/hwsleep.c | 11 +-
drivers/acpi/acpica/psloop.c | 17 +--
drivers/block/zram/zram_drv.c | 7 +-
drivers/cpufreq/cpufreq_governor.c | 12 ++-
drivers/cpuidle/governors/menu.c | 47 ++++++---
drivers/crypto/caam/caamalg_qi.c | 6 +-
drivers/crypto/caam/caampkc.c | 20 ++--
drivers/crypto/caam/jr.c | 3 +-
drivers/crypto/vmx/aes_cbc.c | 30 +++---
drivers/crypto/vmx/aes_xts.c | 21 ++--
drivers/dma-buf/reservation.c | 6 +-
drivers/extcon/extcon.c | 3 +-
drivers/hv/channel.c | 40 ++++---
drivers/hv/channel_mgmt.c | 10 +-
drivers/i2c/busses/i2c-designware-master.c | 1 -
drivers/i2c/busses/i2c-designware-platdrv.c | 7 +-
drivers/iio/accel/sca3000.c | 1 +
drivers/iio/frequency/ad9523.c | 4 +-
drivers/infiniband/hw/mlx5/main.c | 2 +-
drivers/infiniband/hw/mlx5/qp.c | 6 +-
drivers/infiniband/sw/rxe/rxe_comp.c | 1 +
drivers/infiniband/ulp/srpt/ib_srpt.c | 34 ++++--
drivers/infiniband/ulp/srpt/ib_srpt.h | 4 +-
drivers/iommu/dmar.c | 6 +-
drivers/iommu/intel-iommu.c | 18 +++-
drivers/iommu/ipmmu-vmsa.c | 7 ++
drivers/mailbox/mailbox-xgene-slimpro.c | 6 +-
drivers/md/bcache/writeback.c | 4 +-
drivers/md/dm-cache-metadata.c | 13 ++-
drivers/md/dm-crypt.c | 10 +-
drivers/md/dm-integrity.c | 6 +-
drivers/md/dm-thin.c | 2 +
drivers/md/dm-writecache.c | 2 +-
drivers/media/i2c/tvp5150.c | 2 +-
drivers/mfd/hi655x-pmic.c | 2 +-
drivers/misc/cxl/main.c | 2 +-
drivers/misc/ocxl/link.c | 24 +++--
drivers/misc/vmw_balloon.c | 67 +++++++-----
drivers/mmc/core/queue.c | 12 ++-
drivers/mmc/core/queue.h | 1 +
drivers/mmc/host/renesas_sdhi_internal_dmac.c | 10 +-
drivers/net/wireless/marvell/libertas/dev.h | 1 +
drivers/net/wireless/marvell/libertas/if_sdio.c | 30 ++++--
drivers/nvdimm/bus.c | 4 +-
drivers/nvdimm/dimm_devs.c | 31 ++++++
drivers/nvdimm/namespace_devs.c | 6 +-
drivers/nvdimm/nd-core.h | 8 ++
drivers/nvdimm/region_devs.c | 24 +++++
drivers/pwm/pwm-omap-dmtimer.c | 5 +-
drivers/pwm/pwm-tiehrpwm.c | 14 +--
drivers/rtc/rtc-omap.c | 18 ++--
drivers/spi/spi-cadence.c | 2 +-
drivers/spi/spi-davinci.c | 2 +-
drivers/spi/spi-fsl-dspi.c | 24 ++---
drivers/spi/spi-pxa2xx.c | 4 +
drivers/tty/serial/serial_core.c | 17 ++-
drivers/video/fbdev/core/fbmem.c | 38 +++++--
drivers/video/fbdev/udlfb.c | 105 ++++++++++---------
fs/9p/xattr.c | 6 +-
fs/lockd/clntlock.c | 2 +-
fs/lockd/clntproc.c | 2 +-
fs/lockd/svclock.c | 16 +--
fs/lockd/svcsubs.c | 4 +-
fs/nfs/blocklayout/dev.c | 2 +-
fs/nfs/callback_proc.c | 14 ++-
fs/nfs/nfs4proc.c | 9 +-
fs/nfs/pnfs_nfs.c | 16 ++-
fs/nfsd/nfs4state.c | 2 +-
fs/overlayfs/readdir.c | 19 +++-
fs/quota/quota.c | 2 +
fs/ubifs/dir.c | 5 +-
fs/ubifs/journal.c | 21 +++-
fs/ubifs/lprops.c | 8 +-
fs/ubifs/xattr.c | 24 +++++
fs/udf/super.c | 31 +++---
fs/xattr.c | 2 +-
include/linux/blk-cgroup.h | 18 ++++
include/linux/hyperv.h | 2 +
include/linux/intel-iommu.h | 8 +-
include/linux/lockd/lockd.h | 4 +-
include/linux/mm_types.h | 5 +-
include/linux/overflow.h | 31 ++++++
include/linux/sunrpc/clnt.h | 1 +
include/linux/verification.h | 6 ++
include/uapi/linux/eventpoll.h | 8 +-
include/video/udlfb.h | 5 +-
kernel/livepatch/core.c | 6 ++
kernel/memremap.c | 1 -
kernel/power/Kconfig | 1 +
kernel/printk/printk_safe.c | 4 +-
kernel/rcu/tree_exp.h | 9 +-
kernel/sched/idle.c | 2 +-
kernel/sys.c | 95 ++++++++---------
kernel/trace/blktrace.c | 4 +
kernel/trace/trace.c | 4 +-
kernel/trace/trace_uprobe.c | 2 +-
kernel/user_namespace.c | 24 ++---
kernel/utsname_sysctl.c | 41 +++++---
mm/hmm.c | 2 +
mm/memory.c | 9 --
mm/readahead.c | 12 ++-
net/9p/client.c | 2 +-
net/9p/trans_fd.c | 7 +-
net/9p/trans_rdma.c | 3 +
net/9p/trans_virtio.c | 13 ++-
net/9p/trans_xen.c | 3 +
net/ieee802154/6lowpan/tx.c | 21 +++-
net/mac802154/tx.c | 15 ++-
net/sunrpc/clnt.c | 28 +++--
scripts/kconfig/Makefile | 5 +-
security/apparmor/secid.c | 1 -
security/commoncap.c | 2 +-
sound/ac97/bus.c | 4 +-
sound/ac97/snd_ac97_compat.c | 19 +++-
tools/perf/util/auxtrace.c | 3 +
148 files changed, 1374 insertions(+), 766 deletions(-)
This is the start of the stable review cycle for the 4.14.69 release.
There are 89 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 Sep 9 21:08:28 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.14.69-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.14.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.14.69-rc1
James Morse <james.morse(a)arm.com>
arm64: mm: always enable CONFIG_HOLES_IN_ZONE
Jeremy Cline <jcline(a)redhat.com>
fs/quota: Fix spectre gadget in do_quotactl
Horia Geantă <horia.geanta(a)nxp.com>
crypto: caam/qi - fix error path in xts setkey
Horia Geantă <horia.geanta(a)nxp.com>
crypto: caam/jr - fix descriptor DMA unmapping
Horia Geantă <horia.geanta(a)nxp.com>
crypto: caam - fix DMA mapping direction for RSA forms 2 & 3
Ondrej Mosnacek <omosnace(a)redhat.com>
crypto: vmx - Fix sleep-in-atomic bugs
Adrian Hunter <adrian.hunter(a)intel.com>
perf auxtrace: Fix queue resize
Eddie.Horng <eddie.horng(a)mediatek.com>
cap_inode_getsecurity: use d_find_any_alias() instead of d_find_alias()
Shan Hai <shan.hai(a)oracle.com>
bcache: release dc->writeback_lock properly in bch_writeback_thread()
Vishal Verma <vishal.l.verma(a)intel.com>
libnvdimm: fix ars_status output length calculation
Christian Brauner <christian(a)brauner.io>
getxattr: use correct xattr length
Mikulas Patocka <mpatocka(a)redhat.com>
udlfb: set optimal write delay
Mikulas Patocka <mpatocka(a)redhat.com>
fb: fix lost console when the user unplugs a USB adapter
Vignesh R <vigneshr(a)ti.com>
pwm: tiehrpwm: Fix disabling of output of PWMs
Vignesh R <vigneshr(a)ti.com>
pwm: tiehrpwm: Don't use emulation mode bits to control PWM output
Richard Weinberger <richard(a)nod.at>
ubifs: Fix synced_i_size calculation for xattr inodes
Richard Weinberger <richard(a)nod.at>
ubifs: xattr: Don't operate on deleted inodes
Richard Weinberger <richard(a)nod.at>
ubifs: Check data node size before truncate
Richard Weinberger <richard(a)nod.at>
Revert "UBIFS: Fix potential integer overflow in allocation"
Richard Weinberger <richard(a)nod.at>
ubifs: Fix memory leak in lprobs self-check
Jann Horn <jannh(a)google.com>
userns: move user access out of the mutex
Jann Horn <jannh(a)google.com>
sys: don't hold uts_sem while accessing userspace memory
Jacob Pan <jacob.jun.pan(a)linux.intel.com>
iommu/vt-d: Fix dev iotlb pfsid use
Jacob Pan <jacob.jun.pan(a)linux.intel.com>
iommu/vt-d: Add definitions for PFSID
Peter Zijlstra <peterz(a)infradead.org>
mm/tlb: Remove tlb_remove_table() non-concurrent condition
Jon Hunter <jonathanh(a)nvidia.com>
ARM: tegra: Fix Tegra30 Cardhu PCA954x reset
Trond Myklebust <trondmy(a)gmail.com>
NFSv4: Fix a sleep in atomic context in nfs4_callback_sequence()
Trond Myklebust <trondmy(a)gmail.com>
NFSv4: Fix locking in pnfs_generic_recover_commit_reqs
Bill Baker <Bill.Baker(a)Oracle.com>
NFSv4 client live hangs after live data migration recovery
Dan Carpenter <dan.carpenter(a)oracle.com>
pnfs/blocklayout: off by one in bl_map_stripe()
Maciej S. Szmigiero <mail(a)maciej.szmigiero.name>
block, bfq: return nbytes and not zero from struct cftype .write() method
Max Filippov <jcmvbkbc(a)gmail.com>
xtensa: increase ranges in ___invalidate_{i,d}cache_all
Max Filippov <jcmvbkbc(a)gmail.com>
xtensa: limit offsets in __loop_cache_{all,page}
Paul Mackerras <paulus(a)ozlabs.org>
KVM: PPC: Book3S: Fix guest DMA when guest partially backed by THP pages
Paolo Bonzini <pbonzini(a)redhat.com>
KVM: VMX: fixes for vmentry_l1d_flush module parameter
zhangyi (F) <yi.zhang(a)huawei.com>
PM / sleep: wakeup: Fix build error caused by missing SRCU support
Henry Willard <henry.willard(a)oracle.com>
cpufreq: governor: Avoid accessing invalid governor_data
Peter Kalauskas <peskal(a)google.com>
drivers/block/zram/zram_drv.c: fix bug storing backing_dev
Amir Goldstein <amir73il(a)gmail.com>
ovl: fix wrong use of impure dir cache in ovl_iterate()
Rafael David Tinoco <rafael.tinoco(a)linaro.org>
mfd: hi655x: Fix regmap area declared size for hi655x
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
uprobes: Use synchronize_rcu() not synchronize_sched()
Kamalesh Babulal <kamalesh(a)linux.vnet.ibm.com>
livepatch: Validate module/old func name length
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
printk/tracing: Do not trace printk_nmi_enter()
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
tracing/blktrace: Fix to allow setting same value
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
tracing: Do not call start/stop() functions when tracing_on does not change
Johan Hovold <johan(a)kernel.org>
rtc: omap: fix potential crash on power off
Nadav Amit <namit(a)vmware.com>
vmw_balloon: fix VMCI use when balloon built into kernel
Nadav Amit <namit(a)vmware.com>
vmw_balloon: VMCI_DOORBELL_SET does not check status
Nadav Amit <namit(a)vmware.com>
vmw_balloon: do not use 2MB without batching
Nadav Amit <namit(a)vmware.com>
vmw_balloon: fix inflation of 64-bit GFNs
Chanwoo Choi <cw00.choi(a)samsung.com>
extcon: Release locking when sending the notification of connector state
Lars-Peter Clausen <lars(a)metafoo.de>
iio: ad9523: Fix return value for ad952x_store()
Lars-Peter Clausen <lars(a)metafoo.de>
iio: ad9523: Fix displayed phase
Gustavo A. R. Silva <gustavo(a)embeddedor.com>
iio: sca3000: Fix missing return in switch
Dexuan Cui <decui(a)microsoft.com>
Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind()
Tycho Andersen <tycho(a)tycho.ws>
uart: fix race between uart_put_char() and uart_shutdown()
Mikulas Patocka <mpatocka(a)redhat.com>
dm crypt: don't decrease device limits
Ilya Dryomov <idryomov(a)gmail.com>
dm cache metadata: set dirty on all cache blocks after a crash
Mike Snitzer <snitzer(a)redhat.com>
dm cache metadata: save in-core policy_hint_size to on-disk superblock
Hou Tao <houtao1(a)huawei.com>
dm thin: stop no_space_timeout worker when switching to write-mode
Mikulas Patocka <mpatocka(a)redhat.com>
dm integrity: change 'suspending' variable from bool to int
Tomas Bortoli <tomasbortoli(a)gmail.com>
net/9p/trans_fd.c: fix race-condition by flushing workqueue before the kfree()
Tomas Bortoli <tomasbortoli(a)gmail.com>
net/9p/client.c: version pointer uninitialized
jiangyiwen <jiangyiwen(a)huawei.com>
9p/virtio: fix off-by-one error in sg list bounds check
piaojun <piaojun(a)huawei.com>
fs/9p/xattr.c: catch the error of p9_client_clunk when setting xattr failed
Tomas Bortoli <tomasbortoli(a)gmail.com>
9p: fix multiple NULL-pointer-dereferences
Bart Van Assche <bart.vanassche(a)wdc.com>
RDMA/rxe: Set wqe->status correctly if an unexpected response is received
Bart Van Assche <bart.vanassche(a)wdc.com>
ib_srpt: Fix a use-after-free in srpt_close_ch()
Vaibhav Jain <vaibhav(a)linux.ibm.com>
cxl: Fix wrong comparison in cxl_adapter_context_get()
Benjamin Herrenschmidt <benh(a)kernel.crashing.org>
powerpc/powernv/pci: Work around races in PCI bridge enabling
Mahesh Salgaonkar <mahesh(a)linux.vnet.ibm.com>
powerpc/pseries: Fix endianness while restoring of r3 in MCE handler.
Hari Bathini <hbathini(a)linux.ibm.com>
powerpc/fadump: handle crash memory ranges array index overflow
Yannik Sembritzki <yannik(a)sembritzki.me>
Fix kexec forbidding kernels signed with keys in the secondary keyring to boot
Yannik Sembritzki <yannik(a)sembritzki.me>
Replace magic for trusting the secondary keyring with #define
Gustavo A. R. Silva <gustavo(a)embeddedor.com>
mailbox: xgene-slimpro: Fix potential NULL pointer dereference
Javier Martinez Canillas <javierm(a)redhat.com>
media: Revert "[media] tvp5150: fix pad format frame height"
Daniel Mack <daniel(a)zonque.org>
libertas: fix suspend and resume for SDIO connected cards
Matthew Auld <matthew.auld(a)intel.com>
drm/i915/userptr: reject zero user_size
Ming Lei <ming.lei(a)redhat.com>
block: really disable runtime-pm for blk-mq
xiao jin <jin.xiao(a)intel.com>
block: blk_init_allocated_queue() set q->fq as NULL in the fail case
Markus Stockhausen <stockhausen(a)collogia.de>
readahead: stricter check for bdi io_pages
Sergei Shtylyov <sergei.shtylyov(a)cogentembedded.com>
mmc: renesas_sdhi_internal_dmac: fix #define RST_RESERVED_BITS
Janek Kotas <jank(a)cadence.com>
spi: cadence: Change usleep_range() to udelay(), for atomic context
Krzysztof Kozlowski <krzk(a)kernel.org>
spi: spi-fsl-dspi: Fix imprecise abort on VF500 during probe
Mika Westerberg <mika.westerberg(a)linux.intel.com>
spi: pxa2xx: Add support for Intel Ice Lake
Bartosz Golaszewski <bgolaszewski(a)baylibre.com>
spi: davinci: fix a NULL pointer dereference
Chirantan Ekbote <chirantan(a)chromium.org>
9p/net: Fix zero-copy path in the 9p virtio transport
Alexander Aring <aring(a)mojatatu.com>
net: mac802154: tx: expand tailroom if necessary
Alexander Aring <aring(a)mojatatu.com>
net: 6lowpan: fix reserved space for single frames
-------------
Diffstat:
Makefile | 4 +-
arch/alpha/kernel/osf_sys.c | 51 +++++++------
arch/arm/boot/dts/tegra30-cardhu.dtsi | 1 +
arch/arm64/Kconfig | 1 -
arch/powerpc/include/asm/fadump.h | 3 -
arch/powerpc/kernel/fadump.c | 91 +++++++++++++++++++----
arch/powerpc/mm/mmu_context_iommu.c | 17 +++--
arch/powerpc/platforms/powernv/pci-ioda.c | 37 ++++++++++
arch/powerpc/platforms/pseries/ras.c | 2 +-
arch/sparc/kernel/sys_sparc_32.c | 22 +++---
arch/sparc/kernel/sys_sparc_64.c | 20 +++---
arch/x86/kernel/kexec-bzimage64.c | 2 +-
arch/x86/kvm/vmx.c | 26 ++++---
arch/xtensa/include/asm/cacheasm.h | 69 +++++++++++-------
block/bfq-cgroup.c | 3 +-
block/blk-core.c | 7 +-
certs/system_keyring.c | 3 +-
crypto/asymmetric_keys/pkcs7_key_type.c | 2 +-
drivers/block/zram/zram_drv.c | 7 +-
drivers/cpufreq/cpufreq_governor.c | 12 +++-
drivers/crypto/caam/caamalg_qi.c | 6 +-
drivers/crypto/caam/caampkc.c | 20 +++---
drivers/crypto/caam/jr.c | 3 +-
drivers/crypto/vmx/aes_cbc.c | 30 ++++----
drivers/crypto/vmx/aes_xts.c | 21 ++++--
drivers/extcon/extcon.c | 3 +-
drivers/gpu/drm/i915/i915_gem_userptr.c | 3 +
drivers/hv/channel.c | 40 ++++++-----
drivers/hv/channel_mgmt.c | 6 ++
drivers/iio/accel/sca3000.c | 1 +
drivers/iio/frequency/ad9523.c | 4 +-
drivers/infiniband/sw/rxe/rxe_comp.c | 1 +
drivers/infiniband/ulp/srpt/ib_srpt.c | 3 +-
drivers/iommu/dmar.c | 6 +-
drivers/iommu/intel-iommu.c | 18 ++++-
drivers/mailbox/mailbox-xgene-slimpro.c | 6 +-
drivers/md/bcache/writeback.c | 4 +-
drivers/md/dm-cache-metadata.c | 13 ++--
drivers/md/dm-crypt.c | 10 +--
drivers/md/dm-integrity.c | 6 +-
drivers/md/dm-thin.c | 2 +
drivers/media/i2c/tvp5150.c | 2 +-
drivers/mfd/hi655x-pmic.c | 2 +-
drivers/misc/cxl/main.c | 2 +-
drivers/misc/vmw_balloon.c | 67 ++++++++++-------
drivers/mmc/host/renesas_sdhi_internal_dmac.c | 2 +-
drivers/net/wireless/marvell/libertas/dev.h | 1 +
drivers/net/wireless/marvell/libertas/if_sdio.c | 30 ++++++--
drivers/nvdimm/bus.c | 4 +-
drivers/pwm/pwm-tiehrpwm.c | 14 +---
drivers/rtc/rtc-omap.c | 14 ++--
drivers/spi/spi-cadence.c | 2 +-
drivers/spi/spi-davinci.c | 2 +-
drivers/spi/spi-fsl-dspi.c | 24 +++----
drivers/spi/spi-pxa2xx.c | 4 ++
drivers/tty/serial/serial_core.c | 17 +++--
drivers/video/fbdev/core/fbmem.c | 38 ++++++++--
fs/9p/xattr.c | 6 +-
fs/nfs/blocklayout/dev.c | 2 +-
fs/nfs/callback_proc.c | 14 ++--
fs/nfs/nfs4proc.c | 9 ++-
fs/nfs/pnfs_nfs.c | 16 ++---
fs/overlayfs/readdir.c | 19 ++++-
fs/quota/quota.c | 2 +
fs/ubifs/journal.c | 21 ++++--
fs/ubifs/lprops.c | 8 +--
fs/ubifs/xattr.c | 24 +++++++
fs/xattr.c | 2 +-
include/linux/hyperv.h | 2 +
include/linux/intel-iommu.h | 8 ++-
include/linux/sunrpc/clnt.h | 1 +
include/linux/verification.h | 6 ++
include/video/udlfb.h | 2 +-
kernel/livepatch/core.c | 6 ++
kernel/power/Kconfig | 1 +
kernel/printk/printk_safe.c | 4 +-
kernel/sys.c | 95 ++++++++++++-------------
kernel/trace/blktrace.c | 4 ++
kernel/trace/trace.c | 4 +-
kernel/trace/trace_uprobe.c | 2 +-
kernel/user_namespace.c | 24 +++----
kernel/utsname_sysctl.c | 41 ++++++-----
mm/memory.c | 9 ---
mm/readahead.c | 12 +++-
net/9p/client.c | 2 +-
net/9p/trans_fd.c | 7 +-
net/9p/trans_rdma.c | 3 +
net/9p/trans_virtio.c | 13 +++-
net/9p/trans_xen.c | 3 +
net/ieee802154/6lowpan/tx.c | 21 +++++-
net/mac802154/tx.c | 15 +++-
net/sunrpc/clnt.c | 28 +++++---
security/commoncap.c | 2 +-
tools/perf/util/auxtrace.c | 3 +
94 files changed, 831 insertions(+), 421 deletions(-)
The patch below was submitted to be applied to the 4.18-stable tree.
I fail to see how this patch meets the stable kernel rules as found at
Documentation/process/stable-kernel-rules.rst.
I could be totally wrong, and if so, please respond to
<stable(a)vger.kernel.org> and let me know why this patch should be
applied. Otherwise, it is now dropped from my patch queues, never to be
seen again.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From d806afa495e2e2a1a726e26c5e44f27818e804c1 Mon Sep 17 00:00:00 2001
From: Yi Wang <wang.yi59(a)zte.com.cn>
Date: Thu, 16 Aug 2018 13:42:39 +0800
Subject: [PATCH] x86/kvm/vmx: Fix coding style in vmx_setup_l1d_flush()
Substitute spaces with tab. No functional changes.
Signed-off-by: Yi Wang <wang.yi59(a)zte.com.cn>
Reviewed-by: Jiang Biao <jiang.biao2(a)zte.com.cn>
Message-Id: <1534398159-48509-1-git-send-email-wang.yi59(a)zte.com.cn>
Cc: stable(a)vger.kernel.org # L1TF
Signed-off-by: Paolo Bonzini <pbonzini(a)redhat.com>
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 1519f030fd73..31e90e83fdd6 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -219,15 +219,15 @@ static int vmx_setup_l1d_flush(enum vmx_l1d_flush_state l1tf)
return 0;
}
- if (boot_cpu_has(X86_FEATURE_ARCH_CAPABILITIES)) {
- u64 msr;
-
- rdmsrl(MSR_IA32_ARCH_CAPABILITIES, msr);
- if (msr & ARCH_CAP_SKIP_VMENTRY_L1DFLUSH) {
- l1tf_vmx_mitigation = VMENTER_L1D_FLUSH_NOT_REQUIRED;
- return 0;
- }
- }
+ if (boot_cpu_has(X86_FEATURE_ARCH_CAPABILITIES)) {
+ u64 msr;
+
+ rdmsrl(MSR_IA32_ARCH_CAPABILITIES, msr);
+ if (msr & ARCH_CAP_SKIP_VMENTRY_L1DFLUSH) {
+ l1tf_vmx_mitigation = VMENTER_L1D_FLUSH_NOT_REQUIRED;
+ return 0;
+ }
+ }
/* If set to auto use the default l1tf mitigation method */
if (l1tf == VMENTER_L1D_FLUSH_AUTO) {
This is the start of the stable review cycle for the 4.9.126 release.
There are 63 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 Sep 9 21:09:58 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.9.126-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.126-rc1
Jeremy Cline <jcline(a)redhat.com>
fs/quota: Fix spectre gadget in do_quotactl
Horia Geantă <horia.geanta(a)nxp.com>
crypto: caam/jr - fix descriptor DMA unmapping
Ondrej Mosnacek <omosnace(a)redhat.com>
crypto: vmx - Fix sleep-in-atomic bugs
Adrian Hunter <adrian.hunter(a)intel.com>
perf auxtrace: Fix queue resize
Shan Hai <shan.hai(a)oracle.com>
bcache: release dc->writeback_lock properly in bch_writeback_thread()
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
printk/tracing: Do not trace printk_nmi_enter()
Vishal Verma <vishal.l.verma(a)intel.com>
libnvdimm: fix ars_status output length calculation
Christian Brauner <christian(a)brauner.io>
getxattr: use correct xattr length
Mikulas Patocka <mpatocka(a)redhat.com>
udlfb: set optimal write delay
Mikulas Patocka <mpatocka(a)redhat.com>
fb: fix lost console when the user unplugs a USB adapter
Vignesh R <vigneshr(a)ti.com>
pwm: tiehrpwm: Fix disabling of output of PWMs
Richard Weinberger <richard(a)nod.at>
ubifs: Fix synced_i_size calculation for xattr inodes
Richard Weinberger <richard(a)nod.at>
ubifs: Check data node size before truncate
Richard Weinberger <richard(a)nod.at>
Revert "UBIFS: Fix potential integer overflow in allocation"
Richard Weinberger <richard(a)nod.at>
ubifs: Fix memory leak in lprobs self-check
Jann Horn <jannh(a)google.com>
userns: move user access out of the mutex
Jann Horn <jannh(a)google.com>
sys: don't hold uts_sem while accessing userspace memory
Al Viro <viro(a)zeniv.linux.org.uk>
osf_getdomainname(): use copy_to_user()
Jacob Pan <jacob.jun.pan(a)linux.intel.com>
iommu/vt-d: Fix dev iotlb pfsid use
Jacob Pan <jacob.jun.pan(a)linux.intel.com>
iommu/vt-d: Add definitions for PFSID
Peter Zijlstra <peterz(a)infradead.org>
mm/tlb: Remove tlb_remove_table() non-concurrent condition
Yannik Sembritzki <yannik(a)sembritzki.me>
Fix kexec forbidding kernels signed with keys in the secondary keyring to boot
Yannik Sembritzki <yannik(a)sembritzki.me>
Replace magic for trusting the secondary keyring with #define
Jon Hunter <jonathanh(a)nvidia.com>
ARM: tegra: Fix Tegra30 Cardhu PCA954x reset
Bill Baker <Bill.Baker(a)Oracle.com>
NFSv4 client live hangs after live data migration recovery
Dan Carpenter <dan.carpenter(a)oracle.com>
pnfs/blocklayout: off by one in bl_map_stripe()
Max Filippov <jcmvbkbc(a)gmail.com>
xtensa: increase ranges in ___invalidate_{i,d}cache_all
Max Filippov <jcmvbkbc(a)gmail.com>
xtensa: limit offsets in __loop_cache_{all,page}
Paolo Bonzini <pbonzini(a)redhat.com>
KVM: VMX: fixes for vmentry_l1d_flush module parameter
zhangyi (F) <yi.zhang(a)huawei.com>
PM / sleep: wakeup: Fix build error caused by missing SRCU support
Tomas Bortoli <tomasbortoli(a)gmail.com>
9p: fix multiple NULL-pointer-dereferences
Rafael David Tinoco <rafael.tinoco(a)linaro.org>
mfd: hi655x: Fix regmap area declared size for hi655x
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
uprobes: Use synchronize_rcu() not synchronize_sched()
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
tracing/blktrace: Fix to allow setting same value
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
tracing: Do not call start/stop() functions when tracing_on does not change
Johan Hovold <johan(a)kernel.org>
rtc: omap: fix potential crash on power off
Nadav Amit <namit(a)vmware.com>
vmw_balloon: fix VMCI use when balloon built into kernel
Nadav Amit <namit(a)vmware.com>
vmw_balloon: VMCI_DOORBELL_SET does not check status
Nadav Amit <namit(a)vmware.com>
vmw_balloon: do not use 2MB without batching
Nadav Amit <namit(a)vmware.com>
vmw_balloon: fix inflation of 64-bit GFNs
Lars-Peter Clausen <lars(a)metafoo.de>
iio: ad9523: Fix return value for ad952x_store()
Lars-Peter Clausen <lars(a)metafoo.de>
iio: ad9523: Fix displayed phase
Tycho Andersen <tycho(a)tycho.ws>
uart: fix race between uart_put_char() and uart_shutdown()
Mike Snitzer <snitzer(a)redhat.com>
dm cache metadata: save in-core policy_hint_size to on-disk superblock
Hou Tao <houtao1(a)huawei.com>
dm thin: stop no_space_timeout worker when switching to write-mode
Tomas Bortoli <tomasbortoli(a)gmail.com>
net/9p/trans_fd.c: fix race-condition by flushing workqueue before the kfree()
Tomas Bortoli <tomasbortoli(a)gmail.com>
net/9p/client.c: version pointer uninitialized
jiangyiwen <jiangyiwen(a)huawei.com>
9p/virtio: fix off-by-one error in sg list bounds check
piaojun <piaojun(a)huawei.com>
fs/9p/xattr.c: catch the error of p9_client_clunk when setting xattr failed
Bart Van Assche <bart.vanassche(a)wdc.com>
RDMA/rxe: Set wqe->status correctly if an unexpected response is received
Bart Van Assche <bart.vanassche(a)wdc.com>
ib_srpt: Fix a use-after-free in srpt_close_ch()
Vaibhav Jain <vaibhav(a)linux.ibm.com>
cxl: Fix wrong comparison in cxl_adapter_context_get()
Benjamin Herrenschmidt <benh(a)kernel.crashing.org>
powerpc/powernv/pci: Work around races in PCI bridge enabling
Mahesh Salgaonkar <mahesh(a)linux.vnet.ibm.com>
powerpc/pseries: Fix endianness while restoring of r3 in MCE handler.
Hari Bathini <hbathini(a)linux.ibm.com>
powerpc/fadump: handle crash memory ranges array index overflow
Gustavo A. R. Silva <gustavo(a)embeddedor.com>
mailbox: xgene-slimpro: Fix potential NULL pointer dereference
Daniel Mack <daniel(a)zonque.org>
libertas: fix suspend and resume for SDIO connected cards
Matthew Auld <matthew.auld(a)intel.com>
drm/i915/userptr: reject zero user_size
Krzysztof Kozlowski <krzk(a)kernel.org>
spi: spi-fsl-dspi: Fix imprecise abort on VF500 during probe
Bartosz Golaszewski <bgolaszewski(a)baylibre.com>
spi: davinci: fix a NULL pointer dereference
Chirantan Ekbote <chirantan(a)chromium.org>
9p/net: Fix zero-copy path in the 9p virtio transport
Alexander Aring <aring(a)mojatatu.com>
net: mac802154: tx: expand tailroom if necessary
Alexander Aring <aring(a)mojatatu.com>
net: 6lowpan: fix reserved space for single frames
-------------
Diffstat:
Makefile | 4 +-
arch/alpha/kernel/osf_sys.c | 64 ++++++++---------
arch/arm/boot/dts/tegra30-cardhu.dtsi | 1 +
arch/powerpc/include/asm/fadump.h | 3 -
arch/powerpc/kernel/fadump.c | 91 +++++++++++++++++++----
arch/powerpc/platforms/powernv/pci-ioda.c | 37 ++++++++++
arch/powerpc/platforms/pseries/ras.c | 2 +-
arch/sparc/kernel/sys_sparc_32.c | 22 +++---
arch/sparc/kernel/sys_sparc_64.c | 20 +++---
arch/x86/kernel/kexec-bzimage64.c | 2 +-
arch/x86/kvm/vmx.c | 26 ++++---
arch/xtensa/include/asm/cacheasm.h | 69 +++++++++++-------
certs/system_keyring.c | 3 +-
crypto/asymmetric_keys/pkcs7_key_type.c | 2 +-
drivers/crypto/caam/jr.c | 3 +-
drivers/crypto/vmx/aes_cbc.c | 30 ++++----
drivers/crypto/vmx/aes_xts.c | 21 ++++--
drivers/gpu/drm/i915/i915_gem_userptr.c | 3 +
drivers/iio/frequency/ad9523.c | 4 +-
drivers/infiniband/sw/rxe/rxe_comp.c | 1 +
drivers/infiniband/ulp/srpt/ib_srpt.c | 3 +-
drivers/iommu/dmar.c | 6 +-
drivers/iommu/intel-iommu.c | 18 ++++-
drivers/mailbox/mailbox-xgene-slimpro.c | 6 +-
drivers/md/bcache/writeback.c | 4 +-
drivers/md/dm-cache-metadata.c | 3 +-
drivers/md/dm-thin.c | 2 +
drivers/mfd/hi655x-pmic.c | 2 +-
drivers/misc/cxl/main.c | 2 +-
drivers/misc/vmw_balloon.c | 67 ++++++++++-------
drivers/net/wireless/marvell/libertas/dev.h | 1 +
drivers/net/wireless/marvell/libertas/if_sdio.c | 30 ++++++--
drivers/nvdimm/bus.c | 4 +-
drivers/pwm/pwm-tiehrpwm.c | 2 +
drivers/rtc/rtc-omap.c | 14 ++--
drivers/spi/spi-davinci.c | 2 +-
drivers/spi/spi-fsl-dspi.c | 24 +++----
drivers/tty/serial/serial_core.c | 17 +++--
drivers/video/fbdev/core/fbmem.c | 38 ++++++++--
fs/9p/xattr.c | 6 +-
fs/nfs/blocklayout/dev.c | 2 +-
fs/nfs/nfs4proc.c | 9 ++-
fs/quota/quota.c | 2 +
fs/ubifs/journal.c | 18 ++++-
fs/ubifs/lprops.c | 8 +--
fs/xattr.c | 2 +-
include/linux/intel-iommu.h | 8 ++-
include/linux/sunrpc/clnt.h | 1 +
include/linux/verification.h | 6 ++
include/video/udlfb.h | 2 +-
kernel/power/Kconfig | 1 +
kernel/printk/nmi.c | 4 +-
kernel/sys.c | 95 ++++++++++++-------------
kernel/trace/blktrace.c | 4 ++
kernel/trace/trace.c | 4 +-
kernel/trace/trace_uprobe.c | 2 +-
kernel/user_namespace.c | 24 +++----
kernel/utsname_sysctl.c | 41 ++++++-----
mm/memory.c | 9 ---
net/9p/client.c | 2 +-
net/9p/trans_fd.c | 7 +-
net/9p/trans_rdma.c | 3 +
net/9p/trans_virtio.c | 13 +++-
net/ieee802154/6lowpan/tx.c | 21 +++++-
net/mac802154/tx.c | 15 +++-
net/sunrpc/clnt.c | 28 +++++---
tools/perf/util/auxtrace.c | 3 +
67 files changed, 653 insertions(+), 340 deletions(-)
This is the start of the stable review cycle for the 4.4.155 release.
There are 47 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 Sep 9 21:08:44 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.155-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.155-rc1
Dave Airlie <airlied(a)redhat.com>
drm/drivers: add support for using the arch wc mapping API.
Dave Airlie <airlied(a)redhat.com>
x86/io: add interface to reserve io memtype for a resource range. (v1.1)
Jeremy Cline <jcline(a)redhat.com>
fs/quota: Fix spectre gadget in do_quotactl
Adrian Hunter <adrian.hunter(a)intel.com>
perf auxtrace: Fix queue resize
Shan Hai <shan.hai(a)oracle.com>
bcache: release dc->writeback_lock properly in bch_writeback_thread()
Christian Brauner <christian(a)brauner.io>
getxattr: use correct xattr length
Mikulas Patocka <mpatocka(a)redhat.com>
udlfb: set optimal write delay
Mikulas Patocka <mpatocka(a)redhat.com>
fb: fix lost console when the user unplugs a USB adapter
Vignesh R <vigneshr(a)ti.com>
pwm: tiehrpwm: Fix disabling of output of PWMs
Richard Weinberger <richard(a)nod.at>
ubifs: Fix synced_i_size calculation for xattr inodes
Richard Weinberger <richard(a)nod.at>
ubifs: Check data node size before truncate
Richard Weinberger <richard(a)nod.at>
Revert "UBIFS: Fix potential integer overflow in allocation"
Richard Weinberger <richard(a)nod.at>
ubifs: Fix memory leak in lprobs self-check
Jann Horn <jannh(a)google.com>
userns: move user access out of the mutex
Jann Horn <jannh(a)google.com>
sys: don't hold uts_sem while accessing userspace memory
Al Viro <viro(a)zeniv.linux.org.uk>
osf_getdomainname(): use copy_to_user()
Jacob Pan <jacob.jun.pan(a)linux.intel.com>
iommu/vt-d: Fix dev iotlb pfsid use
Jacob Pan <jacob.jun.pan(a)linux.intel.com>
iommu/vt-d: Add definitions for PFSID
Peter Zijlstra <peterz(a)infradead.org>
mm/tlb: Remove tlb_remove_table() non-concurrent condition
Jon Hunter <jonathanh(a)nvidia.com>
ARM: tegra: Fix Tegra30 Cardhu PCA954x reset
Dan Carpenter <dan.carpenter(a)oracle.com>
pnfs/blocklayout: off by one in bl_map_stripe()
zhangyi (F) <yi.zhang(a)huawei.com>
PM / sleep: wakeup: Fix build error caused by missing SRCU support
Tomas Bortoli <tomasbortoli(a)gmail.com>
9p: fix multiple NULL-pointer-dereferences
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
uprobes: Use synchronize_rcu() not synchronize_sched()
Snild Dolkow <snild(a)sony.com>
kthread, tracing: Don't expose half-written comm when creating kthreads
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
tracing/blktrace: Fix to allow setting same value
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
tracing: Do not call start/stop() functions when tracing_on does not change
Nadav Amit <namit(a)vmware.com>
vmw_balloon: fix VMCI use when balloon built into kernel
Nadav Amit <namit(a)vmware.com>
vmw_balloon: VMCI_DOORBELL_SET does not check status
Nadav Amit <namit(a)vmware.com>
vmw_balloon: do not use 2MB without batching
Nadav Amit <namit(a)vmware.com>
vmw_balloon: fix inflation of 64-bit GFNs
Lars-Peter Clausen <lars(a)metafoo.de>
iio: ad9523: Fix return value for ad952x_store()
Lars-Peter Clausen <lars(a)metafoo.de>
iio: ad9523: Fix displayed phase
Mike Snitzer <snitzer(a)redhat.com>
dm cache metadata: save in-core policy_hint_size to on-disk superblock
Jiri Slaby <jslaby(a)suse.cz>
x86/mm/pat: Fix L1TF stable backport for CPA, 2nd call
Tomas Bortoli <tomasbortoli(a)gmail.com>
net/9p/trans_fd.c: fix race-condition by flushing workqueue before the kfree()
Tomas Bortoli <tomasbortoli(a)gmail.com>
net/9p/client.c: version pointer uninitialized
jiangyiwen <jiangyiwen(a)huawei.com>
9p/virtio: fix off-by-one error in sg list bounds check
piaojun <piaojun(a)huawei.com>
fs/9p/xattr.c: catch the error of p9_client_clunk when setting xattr failed
Mahesh Salgaonkar <mahesh(a)linux.vnet.ibm.com>
powerpc/pseries: Fix endianness while restoring of r3 in MCE handler.
Hari Bathini <hbathini(a)linux.ibm.com>
powerpc/fadump: handle crash memory ranges array index overflow
Matthew Auld <matthew.auld(a)intel.com>
drm/i915/userptr: reject zero user_size
Bartosz Golaszewski <bgolaszewski(a)baylibre.com>
spi: davinci: fix a NULL pointer dereference
Ben Hutchings <ben.hutchings(a)codethink.co.uk>
net: lan78xx: Fix misplaced tasklet_schedule() call
Chirantan Ekbote <chirantan(a)chromium.org>
9p/net: Fix zero-copy path in the 9p virtio transport
Alexander Aring <aring(a)mojatatu.com>
net: mac802154: tx: expand tailroom if necessary
Alexander Aring <aring(a)mojatatu.com>
net: 6lowpan: fix reserved space for single frames
-------------
Diffstat:
Makefile | 4 +-
arch/alpha/kernel/osf_sys.c | 64 +++++++++-----------
arch/arm/boot/dts/tegra30-cardhu.dtsi | 1 +
arch/powerpc/include/asm/fadump.h | 3 -
arch/powerpc/kernel/fadump.c | 91 +++++++++++++++++++++++-----
arch/powerpc/platforms/pseries/ras.c | 2 +-
arch/sparc/kernel/sys_sparc_32.c | 22 ++++---
arch/sparc/kernel/sys_sparc_64.c | 20 ++++---
arch/x86/include/asm/io.h | 6 ++
arch/x86/mm/pageattr.c | 2 +-
arch/x86/mm/pat.c | 14 +++++
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 5 ++
drivers/gpu/drm/ast/ast_ttm.c | 6 ++
drivers/gpu/drm/cirrus/cirrus_ttm.c | 7 +++
drivers/gpu/drm/i915/i915_gem_userptr.c | 3 +
drivers/gpu/drm/mgag200/mgag200_ttm.c | 7 +++
drivers/gpu/drm/nouveau/nouveau_ttm.c | 8 +++
drivers/gpu/drm/radeon/radeon_object.c | 5 ++
drivers/iio/frequency/ad9523.c | 4 +-
drivers/iommu/dmar.c | 6 +-
drivers/iommu/intel-iommu.c | 18 +++++-
drivers/md/bcache/writeback.c | 4 +-
drivers/md/dm-cache-metadata.c | 3 +-
drivers/misc/vmw_balloon.c | 67 +++++++++++++--------
drivers/net/usb/lan78xx.c | 4 +-
drivers/pwm/pwm-tiehrpwm.c | 2 +
drivers/spi/spi-davinci.c | 2 +-
drivers/video/fbdev/core/fbmem.c | 38 ++++++++++--
fs/9p/xattr.c | 6 +-
fs/nfs/blocklayout/dev.c | 2 +-
fs/quota/quota.c | 2 +
fs/ubifs/journal.c | 18 +++++-
fs/ubifs/lprops.c | 8 +--
fs/xattr.c | 2 +-
include/linux/intel-iommu.h | 8 ++-
include/linux/io.h | 22 +++++++
include/video/udlfb.h | 2 +-
kernel/kthread.c | 8 ++-
kernel/power/Kconfig | 1 +
kernel/sys.c | 95 ++++++++++++++----------------
kernel/trace/blktrace.c | 4 ++
kernel/trace/trace.c | 4 +-
kernel/trace/trace_uprobe.c | 2 +-
kernel/user_namespace.c | 22 ++++---
kernel/utsname_sysctl.c | 41 ++++++++-----
mm/memory.c | 9 ---
net/9p/client.c | 2 +-
net/9p/trans_fd.c | 7 ++-
net/9p/trans_rdma.c | 3 +
net/9p/trans_virtio.c | 13 +++-
net/ieee802154/6lowpan/tx.c | 21 ++++++-
net/mac802154/tx.c | 15 ++++-
tools/perf/util/auxtrace.c | 3 +
53 files changed, 510 insertions(+), 228 deletions(-)
This is the start of the stable review cycle for the 3.18.122 release.
There are 29 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 Sep 9 21:08:52 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/v3.x/stable-review/patch-3.18.122-r…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-3.18.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 3.18.122-rc1
Shan Hai <shan.hai(a)oracle.com>
bcache: release dc->writeback_lock properly in bch_writeback_thread()
Christian Brauner <christian(a)brauner.io>
getxattr: use correct xattr length
Mikulas Patocka <mpatocka(a)redhat.com>
udlfb: set optimal write delay
Mikulas Patocka <mpatocka(a)redhat.com>
fb: fix lost console when the user unplugs a USB adapter
Vignesh R <vigneshr(a)ti.com>
pwm: tiehrpwm: Fix disabling of output of PWMs
Richard Weinberger <richard(a)nod.at>
ubifs: Fix synced_i_size calculation for xattr inodes
Richard Weinberger <richard(a)nod.at>
Revert "UBIFS: Fix potential integer overflow in allocation"
Richard Weinberger <richard(a)nod.at>
ubifs: Fix memory leak in lprobs self-check
Jann Horn <jannh(a)google.com>
userns: move user access out of the mutex
Eric W. Biederman <ebiederm(a)xmission.com>
userns; Correct the comment in map_write
Jann Horn <jannh(a)google.com>
sys: don't hold uts_sem while accessing userspace memory
Al Viro <viro(a)zeniv.linux.org.uk>
osf_getdomainname(): use copy_to_user()
Peter Zijlstra <peterz(a)infradead.org>
mm/tlb: Remove tlb_remove_table() non-concurrent condition
Jon Hunter <jonathanh(a)nvidia.com>
ARM: tegra: Fix Tegra30 Cardhu PCA954x reset
Dan Carpenter <dan.carpenter(a)oracle.com>
pnfs/blocklayout: off by one in bl_map_stripe()
Tomas Bortoli <tomasbortoli(a)gmail.com>
9p: fix multiple NULL-pointer-dereferences
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
uprobes: Use synchronize_rcu() not synchronize_sched()
Snild Dolkow <snild(a)sony.com>
kthread, tracing: Don't expose half-written comm when creating kthreads
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
tracing/blktrace: Fix to allow setting same value
Steven Rostedt (VMware) <rostedt(a)goodmis.org>
tracing: Do not call start/stop() functions when tracing_on does not change
Lars-Peter Clausen <lars(a)metafoo.de>
iio: ad9523: Fix return value for ad952x_store()
Lars-Peter Clausen <lars(a)metafoo.de>
iio: ad9523: Fix displayed phase
Mike Snitzer <snitzer(a)redhat.com>
dm cache metadata: save in-core policy_hint_size to on-disk superblock
Tomas Bortoli <tomasbortoli(a)gmail.com>
net/9p/trans_fd.c: fix race-condition by flushing workqueue before the kfree()
Tomas Bortoli <tomasbortoli(a)gmail.com>
net/9p/client.c: version pointer uninitialized
jiangyiwen <jiangyiwen(a)huawei.com>
9p/virtio: fix off-by-one error in sg list bounds check
Mahesh Salgaonkar <mahesh(a)linux.vnet.ibm.com>
powerpc/pseries: Fix endianness while restoring of r3 in MCE handler.
Hari Bathini <hbathini(a)linux.ibm.com>
powerpc/fadump: handle crash memory ranges array index overflow
Bartosz Golaszewski <bgolaszewski(a)baylibre.com>
spi: davinci: fix a NULL pointer dereference
-------------
Diffstat:
Makefile | 4 +-
arch/alpha/kernel/osf_sys.c | 64 +++++++++++------------
arch/arm/boot/dts/tegra30-cardhu.dtsi | 1 +
arch/powerpc/include/asm/fadump.h | 3 --
arch/powerpc/kernel/fadump.c | 91 +++++++++++++++++++++++++++------
arch/powerpc/platforms/pseries/ras.c | 2 +-
arch/sparc/kernel/sys_sparc_32.c | 22 ++++----
arch/sparc/kernel/sys_sparc_64.c | 20 +++++---
drivers/iio/frequency/ad9523.c | 4 +-
drivers/md/bcache/writeback.c | 4 +-
drivers/md/dm-cache-metadata.c | 3 +-
drivers/pwm/pwm-tiehrpwm.c | 2 +
drivers/spi/spi-davinci.c | 2 +-
drivers/video/fbdev/core/fbmem.c | 38 +++++++++++---
fs/nfs/blocklayout/dev.c | 2 +-
fs/ubifs/journal.c | 7 ++-
fs/ubifs/lprops.c | 8 +--
fs/xattr.c | 2 +-
include/video/udlfb.h | 2 +-
kernel/kthread.c | 8 ++-
kernel/sys.c | 95 +++++++++++++++++------------------
kernel/trace/blktrace.c | 4 ++
kernel/trace/trace.c | 4 +-
kernel/trace/trace_uprobe.c | 2 +-
kernel/user_namespace.c | 22 ++++----
kernel/utsname_sysctl.c | 41 +++++++++------
mm/memory.c | 9 ----
net/9p/client.c | 2 +-
net/9p/trans_fd.c | 7 ++-
net/9p/trans_rdma.c | 3 ++
net/9p/trans_virtio.c | 6 ++-
31 files changed, 299 insertions(+), 185 deletions(-)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Hi Greg,
Pleae pull commits for Linux 3.18 .
I've sent a review request for all commits over a week ago and all
comments were addressed.
Thanks,
Sasha
=====
The following changes since commit a5f9be3576c3f9dd871f68eaf482278c0b3a6df2:
Linux 3.18.120 (2018-08-28 07:21:37 +0200)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git tags/for-greg-3.18-10092018
for you to fetch changes up to 0941bb2358f61b4d3c1eb989bffadbb4aae2dc5c:
btrfs: Don't remove block group that still has pinned down bytes (2018-08-30 10:40:46 -0400)
- ----------------------------------------------------------------
for-greg-3.18-10092018
- ----------------------------------------------------------------
Aleh Filipovich (1):
platform/x86: asus-nb-wmi: Add keymap entry for lid flip action on UX360
Andrey Ryabinin (1):
mm/fadvise.c: fix signed overflow UBSAN complaint
Arnd Bergmann (1):
reiserfs: change j_timestamp type to time64_t
Breno Leitao (1):
selftests/powerpc: Kill child processes on SIGINT
Dan Carpenter (2):
powerpc: Fix size calculation using resource_size()
scsi: aic94xx: fix an error code in aic94xx_init()
Ernesto A. Fernández (1):
hfs: prevent crash on exit from failed search
Guenter Roeck (1):
mfd: sm501: Set coherent_dma_mask when creating subdevices
Ian Abbott (1):
staging: comedi: ni_mio_common: fix subdevice flags for PFI subdevice
Jann Horn (1):
fork: don't copy inconsistent signal handler state to child
Jean-Philippe Brucker (1):
net/9p: fix error path of p9_virtio_probe
John Pittman (1):
dm kcopyd: avoid softlockup in run_complete_job
Mahesh Salgaonkar (1):
powerpc/pseries: Avoid using the size greater than RTAS_ERROR_LOG_MAX.
Misono Tomohiro (1):
btrfs: replace: Reset on-disk dev stats value after replace
OGAWA Hirofumi (1):
fat: validate ->i_start before using
Qu Wenruo (2):
btrfs: relocation: Only remove reloc rb_trees if reloc control has been initialized
btrfs: Don't remove block group that still has pinned down bytes
Randy Dunlap (1):
scripts: modpost: check memory allocation results
Ronnie Sahlberg (1):
cifs: check if SMB2 PDU size has been padded and suppress the warning
Stefan Haberland (1):
s390/dasd: fix hanging offline processing due to canceled worker
Steve French (2):
smb3: fix reset of bytes read and written stats
SMB3: Number of requests sent should be displayed for SMB3 not just CIFS
Tan Hu (1):
ipvs: fix race between ip_vs_conn_new() and ip_vs_del_dest()
Tetsuo Handa (1):
hfsplus: don't return 0 when fill_super() failed
Thomas Petazzoni (1):
PCI: mvebu: Fix I/O space end address calculation
arch/powerpc/platforms/pseries/ras.c | 2 +-
arch/powerpc/sysdev/mpic_msgr.c | 2 +-
drivers/md/dm-kcopyd.c | 2 ++
drivers/mfd/sm501.c | 1 +
drivers/pci/host/pci-mvebu.c | 2 +-
drivers/platform/x86/asus-nb-wmi.c | 1 +
drivers/s390/block/dasd_eckd.c | 7 +++++--
drivers/scsi/aic94xx/aic94xx_init.c | 4 +++-
drivers/staging/comedi/drivers/ni_mio_common.c | 3 ++-
fs/btrfs/dev-replace.c | 6 ++++++
fs/btrfs/extent-tree.c | 2 +-
fs/btrfs/relocation.c | 23 ++++++++++++-----------
fs/cifs/cifs_debug.c | 8 ++++++++
fs/cifs/smb2misc.c | 7 +++++++
fs/cifs/smb2pdu.c | 2 +-
fs/fat/cache.c | 19 ++++++++++++-------
fs/fat/fat.h | 5 +++++
fs/fat/fatent.c | 6 +++---
fs/hfs/brec.c | 7 ++++---
fs/hfsplus/super.c | 4 +++-
fs/reiserfs/reiserfs.h | 2 +-
kernel/fork.c | 2 ++
mm/fadvise.c | 8 ++++++--
net/9p/trans_virtio.c | 3 ++-
net/netfilter/ipvs/ip_vs_core.c | 15 +++++++++++----
scripts/mod/modpost.c | 8 ++++----
tools/testing/selftests/powerpc/harness.c | 18 ++++++++++++------
27 files changed, 117 insertions(+), 52 deletions(-)
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEE4n5dijQDou9mhzu83qZv95d3LNwFAluWf4wACgkQ3qZv95d3
LNw2mw//czETmy7MjuRhH3z4KEh29RvoKJ0kTJ/hIGDleoy6MhHx603vBiT7mtcI
v35sXHjCT77mUE3PkoRoWwrLtFiGxCZ6txZ1Zutwz8lCUem9gaw40KehjCxdGH/U
jejRP+sgYYKuVNgXn7pPk97GINNIqytc3B5lDwAz0VgWGX6fpITtAr9xSrbc+fuP
Zc+DBs0YUxtfj2KTCgYN+73fUZOPauubowxPX+UVfIwtxUcgejJO1JyNi0uIhqbj
ebpkUiozS37+loouRKR46vfKcSohU9ZWW9I+hO6nx47i6LqtARjyDV99glgX8zaE
9bt8kWKPVx6AAcY1jQwMvx2VeRaTouPfG9u9kUlMHvzNbnRQ2xnRpmXLMqcHFyQG
Wgf6EIXT1o9HG08B4pAAELTY1UacnVeHH0+GxhU9hhcU969Mu5H0e3sVymgyWZBm
TOF650ITUjTAT+BtfMf/A7/jGmRoVV6Vl0372ePXkgIG6Kwq3AgwMJRzR8FCX8M0
ualLK0A1BS+eaC70+paAkhakrzYH224Yrbb+nXm3p3Mho1UCU26VMTz59Z7Rgvr6
dsLIvyOCHFiXHeKtyjbZ9mW6O64yiTHqO3SdctgkrYfm9BSAtRZZivGYd9IwflWB
6oz4fUFH7jmVyjbEg9cgEWttLNVROcSrGLYEIFDXv9SlhOWxTfA=
=NY7H
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Hi Greg,
Pleae pull commits for Linux 4.4 .
I've sent a review request for all commits over a week ago and all
comments were addressed.
Thanks,
Sasha
=====
The following changes since commit 577189c37a844243359afce1c3c94418259fe696:
Linux 4.4.153 (2018-08-28 07:23:44 +0200)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git tags/for-greg-4.4-10092018
for you to fetch changes up to 230b9c234e619e3c62b68c12a57c4fa35983c7bc:
btrfs: Don't remove block group that still has pinned down bytes (2018-08-31 15:34:12 -0400)
- ----------------------------------------------------------------
for-greg-4.4-10092018
- ----------------------------------------------------------------
Aleh Filipovich (1):
platform/x86: asus-nb-wmi: Add keymap entry for lid flip action on UX360
Andrey Ryabinin (1):
mm/fadvise.c: fix signed overflow UBSAN complaint
Arnd Bergmann (1):
reiserfs: change j_timestamp type to time64_t
Breno Leitao (1):
selftests/powerpc: Kill child processes on SIGINT
Dan Carpenter (2):
powerpc: Fix size calculation using resource_size()
scsi: aic94xx: fix an error code in aic94xx_init()
Ernesto A. Fernández (2):
hfs: prevent crash on exit from failed search
hfsplus: fix NULL dereference in hfsplus_lookup()
Guenter Roeck (1):
mfd: sm501: Set coherent_dma_mask when creating subdevices
Ian Abbott (1):
staging: comedi: ni_mio_common: fix subdevice flags for PFI subdevice
Jann Horn (1):
fork: don't copy inconsistent signal handler state to child
Jean-Philippe Brucker (1):
net/9p: fix error path of p9_virtio_probe
John Pittman (1):
dm kcopyd: avoid softlockup in run_complete_job
Jonas Gorski (1):
irqchip/bcm7038-l1: Hide cpu offline callback when building for !SMP
Mahesh Salgaonkar (1):
powerpc/pseries: Avoid using the size greater than RTAS_ERROR_LOG_MAX.
Misono Tomohiro (1):
btrfs: replace: Reset on-disk dev stats value after replace
OGAWA Hirofumi (1):
fat: validate ->i_start before using
Qu Wenruo (2):
btrfs: relocation: Only remove reloc rb_trees if reloc control has been initialized
btrfs: Don't remove block group that still has pinned down bytes
Randy Dunlap (1):
scripts: modpost: check memory allocation results
Ronnie Sahlberg (1):
cifs: check if SMB2 PDU size has been padded and suppress the warning
Stefan Haberland (1):
s390/dasd: fix hanging offline processing due to canceled worker
Steve French (2):
smb3: fix reset of bytes read and written stats
SMB3: Number of requests sent should be displayed for SMB3 not just CIFS
Tan Hu (1):
ipvs: fix race between ip_vs_conn_new() and ip_vs_del_dest()
Tetsuo Handa (2):
hfsplus: don't return 0 when fill_super() failed
fs/dcache.c: fix kmemcheck splat at take_dentry_name_snapshot()
Thomas Petazzoni (1):
PCI: mvebu: Fix I/O space end address calculation
Vasily Gorbik (1):
tracing: Handle CC_FLAGS_FTRACE more accurately
Makefile | 11 +++++++----
arch/powerpc/platforms/pseries/ras.c | 2 +-
arch/powerpc/sysdev/mpic_msgr.c | 2 +-
drivers/irqchip/irq-bcm7038-l1.c | 4 ++++
drivers/md/dm-kcopyd.c | 2 ++
drivers/mfd/sm501.c | 1 +
drivers/pci/host/pci-mvebu.c | 2 +-
drivers/platform/x86/asus-nb-wmi.c | 1 +
drivers/s390/block/dasd_eckd.c | 7 +++++--
drivers/scsi/aic94xx/aic94xx_init.c | 4 +++-
drivers/staging/comedi/drivers/ni_mio_common.c | 3 ++-
fs/btrfs/dev-replace.c | 6 ++++++
fs/btrfs/extent-tree.c | 2 +-
fs/btrfs/relocation.c | 23 ++++++++++++-----------
fs/cifs/cifs_debug.c | 8 ++++++++
fs/cifs/smb2misc.c | 7 +++++++
fs/cifs/smb2pdu.c | 2 +-
fs/dcache.c | 3 ++-
fs/fat/cache.c | 19 ++++++++++++-------
fs/fat/fat.h | 5 +++++
fs/fat/fatent.c | 6 +++---
fs/hfs/brec.c | 7 ++++---
fs/hfsplus/dir.c | 4 ++--
fs/hfsplus/super.c | 4 +++-
fs/reiserfs/reiserfs.h | 2 +-
kernel/fork.c | 2 ++
mm/fadvise.c | 8 ++++++--
net/9p/trans_virtio.c | 3 ++-
net/netfilter/ipvs/ip_vs_core.c | 15 +++++++++++----
scripts/mod/modpost.c | 8 ++++----
tools/testing/selftests/powerpc/harness.c | 18 ++++++++++++------
31 files changed, 132 insertions(+), 59 deletions(-)
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEE4n5dijQDou9mhzu83qZv95d3LNwFAluWf4QACgkQ3qZv95d3
LNxoaBAAkTmVEYo2cxE6cWtH48DHvSmVW/8aS6lpyxaQK9c9Dr3xPMRqVO7FYne4
CquCmbsJzmMouimtn2hn+QAXwLdaAjgZDMIoiBs1vFho6komQ52i83wWTAJEMhKL
uvWyZosKpGgNztgaU2ZZI1lax85sTscTGq/H46bV8S2RJWKGxiMaIPOSbKS3+GN1
FCTHGy05Hy3gQnmNCpV03n10zeEGSHQ2vDRz9g9OgFWlXcHmL0oyp+G+StnGiKMc
wmHXJBSq5aFsf+nOflBNl7ngZUU5KkbQfdZOh/1aPgfoR08JRVV7DNivj7C9DCpV
RoxxmDKizPvV4bOgn39MVNs/yQUW8Q9HT1QnKoCvDZeaVHKwW9KMX4ax2lvHlYjS
woYwJ5Rz0qKxcZBxQAg+QHN1Y61WLDp3QukxALtXDdCswDD2oByVtfwn5S7+pwZj
R3kACK7DZihBcIrNR6wPA0LgOzauwSRYc2wP8DwxQ5zpEgbQXZyMvFU2uQsA10Ac
z0Y03alRobEnAbQB0ogkGhXUWG2935cSxBbsd0j0vzC1KQoPkL+pSytDpC8p1tuy
6PR/u6i/DHGcKemSpMASbN1LB88mKAQPSdnkTw6w3DygVHF6KMz+nXAcNhkleENy
aAy1k4GaQcopFkAycesQ9KX9jGnP2XHhmZZxcL1f5qoiMsf6DY4=
=X/I+
-----END PGP SIGNATURE-----
Commit-ID: 02e184476eff848273826c1d6617bb37e5bcc7ad
Gitweb: https://git.kernel.org/tip/02e184476eff848273826c1d6617bb37e5bcc7ad
Author: Yabin Cui <yabinc(a)google.com>
AuthorDate: Thu, 23 Aug 2018 15:59:35 -0700
Committer: Ingo Molnar <mingo(a)kernel.org>
CommitDate: Mon, 10 Sep 2018 14:01:46 +0200
perf/core: Force USER_DS when recording user stack data
Perf can record user stack data in response to a synchronous request, such
as a tracepoint firing. If this happens under set_fs(KERNEL_DS), then we
end up reading user stack data using __copy_from_user_inatomic() under
set_fs(KERNEL_DS). I think this conflicts with the intention of using
set_fs(KERNEL_DS). And it is explicitly forbidden by hardware on ARM64
when both CONFIG_ARM64_UAO and CONFIG_ARM64_PAN are used.
So fix this by forcing USER_DS when recording user stack data.
Signed-off-by: Yabin Cui <yabinc(a)google.com>
Acked-by: Peter Zijlstra (Intel) <peterz(a)infradead.org>
Cc: <stable(a)vger.kernel.org>
Cc: Alexander Shishkin <alexander.shishkin(a)linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme(a)kernel.org>
Cc: Jiri Olsa <jolsa(a)redhat.com>
Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
Cc: Namhyung Kim <namhyung(a)kernel.org>
Cc: Peter Zijlstra <peterz(a)infradead.org>
Cc: Thomas Gleixner <tglx(a)linutronix.de>
Fixes: 88b0193d9418 ("perf/callchain: Force USER_DS when invoking perf_callchain_user()")
Link: http://lkml.kernel.org/r/20180823225935.27035-1-yabinc@google.com
Signed-off-by: Ingo Molnar <mingo(a)kernel.org>
---
kernel/events/core.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/kernel/events/core.c b/kernel/events/core.c
index abaed4f8bb7f..c80549bf82c6 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -5943,6 +5943,7 @@ perf_output_sample_ustack(struct perf_output_handle *handle, u64 dump_size,
unsigned long sp;
unsigned int rem;
u64 dyn_size;
+ mm_segment_t fs;
/*
* We dump:
@@ -5960,7 +5961,10 @@ perf_output_sample_ustack(struct perf_output_handle *handle, u64 dump_size,
/* Data. */
sp = perf_user_stack_pointer(regs);
+ fs = get_fs();
+ set_fs(USER_DS);
rem = __output_copy_user(handle, (void *) sp, dump_size);
+ set_fs(fs);
dyn_size = dump_size - rem;
perf_output_skip(handle, rem);
This is the start of the stable review cycle for the 4.4.148 release.
There are 43 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 Thu Aug 16 17:14:59 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.148-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.148-rc1
Guenter Roeck <linux(a)roeck-us.net>
x86/speculation/l1tf: Fix up CPU feature flags
Andi Kleen <ak(a)linux.intel.com>
x86/mm/kmmio: Make the tracer robust against L1TF
Andi Kleen <ak(a)linux.intel.com>
x86/mm/pat: Make set_memory_np() L1TF safe
Andi Kleen <ak(a)linux.intel.com>
x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert
Andi Kleen <ak(a)linux.intel.com>
x86/speculation/l1tf: Invert all not present mappings
Michal Hocko <mhocko(a)suse.cz>
x86/speculation/l1tf: Fix up pte->pfn conversion for PAE
Vlastimil Babka <vbabka(a)suse.cz>
x86/speculation/l1tf: Protect PAE swap entries against L1TF
Konrad Rzeszutek Wilk <konrad.wilk(a)oracle.com>
x86/cpufeatures: Add detection of L1D cache flush support.
Vlastimil Babka <vbabka(a)suse.cz>
x86/speculation/l1tf: Extend 64bit swap file size limit
Konrad Rzeszutek Wilk <konrad.wilk(a)oracle.com>
x86/bugs: Move the l1tf function and define pr_fmt properly
Andi Kleen <ak(a)linux.intel.com>
x86/speculation/l1tf: Limit swap file size to MAX_PA/2
Andi Kleen <ak(a)linux.intel.com>
x86/speculation/l1tf: Disallow non privileged high MMIO PROT_NONE mappings
Dan Williams <dan.j.williams(a)intel.com>
mm: fix cache mode tracking in vm_insert_mixed()
Andy Lutomirski <luto(a)kernel.org>
mm: Add vm_insert_pfn_prot()
Andi Kleen <ak(a)linux.intel.com>
x86/speculation/l1tf: Add sysfs reporting for l1tf
Andi Kleen <ak(a)linux.intel.com>
x86/speculation/l1tf: Make sure the first page is always reserved
Andi Kleen <ak(a)linux.intel.com>
x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation
Linus Torvalds <torvalds(a)linux-foundation.org>
x86/speculation/l1tf: Protect swap entries against L1TF
Linus Torvalds <torvalds(a)linux-foundation.org>
x86/speculation/l1tf: Change order of offset/type in swap entry
Naoya Horiguchi <n-horiguchi(a)ah.jp.nec.com>
mm: x86: move _PAGE_SWP_SOFT_DIRTY from bit 7 to bit 1
Dave Hansen <dave.hansen(a)linux.intel.com>
x86/mm: Fix swap entry comment and macro
Dave Hansen <dave.hansen(a)linux.intel.com>
x86/mm: Move swap offset/type up in PTE to work around erratum
Andi Kleen <ak(a)linux.intel.com>
x86/speculation/l1tf: Increase 32bit PAE __PHYSICAL_PAGE_SHIFT
Nick Desaulniers <ndesaulniers(a)google.com>
x86/irqflags: Provide a declaration for native_save_fl
Masami Hiramatsu <mhiramat(a)kernel.org>
kprobes/x86: Fix %p uses in error messages
Jiri Kosina <jkosina(a)suse.cz>
x86/speculation: Protect against userspace-userspace spectreRSB
Peter Zijlstra <peterz(a)infradead.org>
x86/paravirt: Fix spectre-v2 mitigations for paravirt guests
Oleksij Rempel <o.rempel(a)pengutronix.de>
ARM: dts: imx6sx: fix irq for pcie bridge
Michael Mera <dev(a)michaelmera.com>
IB/ocrdma: fix out of bounds access to local buffer
Jack Morgenstein <jackm(a)dev.mellanox.co.il>
IB/mlx4: Mark user MR as writable if actual virtual memory is writable
Jack Morgenstein <jackm(a)dev.mellanox.co.il>
IB/core: Make testing MR flags for writability a static inline function
Al Viro <viro(a)zeniv.linux.org.uk>
fix __legitimize_mnt()/mntput() race
Al Viro <viro(a)zeniv.linux.org.uk>
fix mntput/mntput race
Al Viro <viro(a)zeniv.linux.org.uk>
root dentries need RCU-delayed freeing
Bart Van Assche <bart.vanassche(a)wdc.com>
scsi: sr: Avoid that opening a CD-ROM hangs with runtime power management enabled
Hans de Goede <hdegoede(a)redhat.com>
ACPI / LPSS: Add missing prv_offset setting for byt/cht PWM devices
Juergen Gross <jgross(a)suse.com>
xen/netfront: don't cache skb_shinfo()
John David Anglin <dave.anglin(a)bell.net>
parisc: Define mb() and add memory barriers to assembler unlock sequences
Helge Deller <deller(a)gmx.de>
parisc: Enable CONFIG_MLONGCALLS by default
Kees Cook <keescook(a)chromium.org>
fork: unconditionally clear stack on fork
Thomas Egerer <hakke_007(a)gmx.de>
ipv4+ipv6: Make INET*_ESP select CRYPTO_ECHAINIV
Tadeusz Struk <tadeusz.struk(a)intel.com>
tpm: fix race condition in tpm_common_write()
Theodore Ts'o <tytso(a)mit.edu>
ext4: fix check to prevent initializing reserved inodes
-------------
Diffstat:
Makefile | 4 +-
arch/arm/boot/dts/imx6sx.dtsi | 2 +-
arch/parisc/Kconfig | 2 +-
arch/parisc/include/asm/barrier.h | 32 +++++++++++
arch/parisc/kernel/entry.S | 2 +
arch/parisc/kernel/pacache.S | 1 +
arch/parisc/kernel/syscall.S | 4 ++
arch/x86/include/asm/cpufeatures.h | 10 ++--
arch/x86/include/asm/irqflags.h | 2 +
arch/x86/include/asm/page_32_types.h | 9 +++-
arch/x86/include/asm/pgtable-2level.h | 17 ++++++
arch/x86/include/asm/pgtable-3level.h | 37 ++++++++++++-
arch/x86/include/asm/pgtable-invert.h | 32 +++++++++++
arch/x86/include/asm/pgtable.h | 84 +++++++++++++++++++++++------
arch/x86/include/asm/pgtable_64.h | 54 +++++++++++++++----
arch/x86/include/asm/pgtable_types.h | 10 ++--
arch/x86/include/asm/processor.h | 5 ++
arch/x86/kernel/cpu/bugs.c | 81 +++++++++++++++++-----------
arch/x86/kernel/cpu/common.c | 20 +++++++
arch/x86/kernel/kprobes/core.c | 4 +-
arch/x86/kernel/paravirt.c | 14 +++--
arch/x86/kernel/setup.c | 6 +++
arch/x86/mm/init.c | 23 ++++++++
arch/x86/mm/kmmio.c | 25 +++++----
arch/x86/mm/mmap.c | 21 ++++++++
arch/x86/mm/pageattr.c | 8 +--
drivers/acpi/acpi_lpss.c | 2 +
drivers/base/cpu.c | 8 +++
drivers/char/tpm/tpm-dev.c | 43 +++++++--------
drivers/infiniband/core/umem.c | 11 +---
drivers/infiniband/hw/mlx4/mr.c | 50 ++++++++++++++---
drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 2 +-
drivers/net/xen-netfront.c | 8 +--
drivers/scsi/sr.c | 29 +++++++---
fs/dcache.c | 6 ++-
fs/ext4/ialloc.c | 5 +-
fs/ext4/super.c | 8 +--
fs/namespace.c | 28 +++++++++-
include/asm-generic/pgtable.h | 12 +++++
include/linux/cpu.h | 2 +
include/linux/mm.h | 2 +
include/linux/swapfile.h | 2 +
include/linux/thread_info.h | 6 +--
include/rdma/ib_verbs.h | 14 +++++
mm/memory.c | 62 +++++++++++++++++----
mm/mprotect.c | 49 +++++++++++++++++
mm/swapfile.c | 46 ++++++++++------
net/ipv4/Kconfig | 1 +
net/ipv6/Kconfig | 1 +
49 files changed, 714 insertions(+), 192 deletions(-)
When executing 'fw_run_transaction()' with 'TCODE_WRITE_BLOCK_REQUEST',
an address of 'payload' argument is used for streaming DMA mapping by
'firewire_ohci' module if 'size' argument is larger than 8 byte.
Although in this case the address should not be on kernel stack, current
implementation of ALSA bebob driver uses data in kernel stack for a cue
to boot M-Audio devices. This often brings unexpected result, especially
for a case of CONFIG_VMAP_STACK=y.
This commit fixes the bug.
Reference: https://bugzilla.kernel.org/show_bug.cgi?id=201021
Reference: https://forum.manjaro.org/t/firewire-m-audio-410-driver-wont-load-firmware/…
Fixes: a2b2a7798fb6('ALSA: bebob: Send a cue to load firmware for M-Audio Firewire series')
Cc: <stable(a)vger.kernel.org> # v3.16+
Signed-off-by: Takashi Sakamoto <o-takashi(a)sakamocchi.jp>
---
sound/firewire/bebob/bebob_maudio.c | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/sound/firewire/bebob/bebob_maudio.c b/sound/firewire/bebob/bebob_maudio.c
index bd55620c6a47..0c5a4cbb99ba 100644
--- a/sound/firewire/bebob/bebob_maudio.c
+++ b/sound/firewire/bebob/bebob_maudio.c
@@ -96,17 +96,13 @@ int snd_bebob_maudio_load_firmware(struct fw_unit *unit)
struct fw_device *device = fw_parent_device(unit);
int err, rcode;
u64 date;
- __le32 cues[3] = {
- cpu_to_le32(MAUDIO_BOOTLOADER_CUE1),
- cpu_to_le32(MAUDIO_BOOTLOADER_CUE2),
- cpu_to_le32(MAUDIO_BOOTLOADER_CUE3)
- };
+ __le32 *cues;
/* check date of software used to build */
err = snd_bebob_read_block(unit, INFO_OFFSET_SW_DATE,
&date, sizeof(u64));
if (err < 0)
- goto end;
+ return err;
/*
* firmware version 5058 or later has date later than "20070401", but
* 'date' is not null-terminated.
@@ -114,20 +110,28 @@ int snd_bebob_maudio_load_firmware(struct fw_unit *unit)
if (date < 0x3230303730343031LL) {
dev_err(&unit->device,
"Use firmware version 5058 or later\n");
- err = -ENOSYS;
- goto end;
+ return -ENXIO;
}
+ cues = kmalloc_array(3, sizeof(*cues), GFP_KERNEL);
+ if (!cues)
+ return -ENOMEM;
+
+ cues[0] = cpu_to_le32(MAUDIO_BOOTLOADER_CUE1);
+ cues[1] = cpu_to_le32(MAUDIO_BOOTLOADER_CUE2);
+ cues[2] = cpu_to_le32(MAUDIO_BOOTLOADER_CUE3);
+
rcode = fw_run_transaction(device->card, TCODE_WRITE_BLOCK_REQUEST,
device->node_id, device->generation,
device->max_speed, BEBOB_ADDR_REG_REQ,
- cues, sizeof(cues));
+ cues, 3 * sizeof(*cues));
+ kfree(cues);
if (rcode != RCODE_COMPLETE) {
dev_err(&unit->device,
"Failed to send a cue to load firmware\n");
err = -EIO;
}
-end:
+
return err;
}
--
2.17.1
I'm announcing the release of the 3.18.122 kernel.
All users of the 3.18 kernel series must upgrade.
The updated 3.18.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-3.18.y
and can be browsed at the normal kernel.org git web browser:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2
arch/alpha/kernel/osf_sys.c | 64 ++++++++++------------
arch/arm/boot/dts/tegra30-cardhu.dtsi | 1
arch/powerpc/include/asm/fadump.h | 3 -
arch/powerpc/kernel/fadump.c | 92 +++++++++++++++++++++++++++-----
arch/powerpc/platforms/pseries/ras.c | 2
arch/sparc/kernel/sys_sparc_32.c | 22 ++++---
arch/sparc/kernel/sys_sparc_64.c | 20 ++++---
drivers/iio/frequency/ad9523.c | 4 -
drivers/md/bcache/writeback.c | 4 +
drivers/md/dm-cache-metadata.c | 3 -
drivers/pwm/pwm-tiehrpwm.c | 2
drivers/spi/spi-davinci.c | 2
drivers/video/fbdev/core/fbmem.c | 38 +++++++++++--
fs/nfs/blocklayout/dev.c | 2
fs/ubifs/journal.c | 7 ++
fs/ubifs/lprops.c | 8 +-
fs/xattr.c | 2
include/video/udlfb.h | 2
kernel/kthread.c | 8 ++
kernel/sys.c | 95 ++++++++++++++++------------------
kernel/trace/blktrace.c | 4 +
kernel/trace/trace.c | 4 +
kernel/trace/trace_uprobe.c | 2
kernel/user_namespace.c | 39 ++++++-------
kernel/utsname_sysctl.c | 41 ++++++++------
mm/memory.c | 9 ---
net/9p/client.c | 2
net/9p/trans_fd.c | 7 ++
net/9p/trans_rdma.c | 3 +
net/9p/trans_virtio.c | 6 +-
31 files changed, 308 insertions(+), 192 deletions(-)
Al Viro (1):
osf_getdomainname(): use copy_to_user()
Bartosz Golaszewski (1):
spi: davinci: fix a NULL pointer dereference
Christian Brauner (1):
getxattr: use correct xattr length
Dan Carpenter (1):
pnfs/blocklayout: off by one in bl_map_stripe()
Eric W. Biederman (1):
userns; Correct the comment in map_write
Greg Kroah-Hartman (1):
Linux 3.18.122
Hari Bathini (1):
powerpc/fadump: handle crash memory ranges array index overflow
Jann Horn (2):
sys: don't hold uts_sem while accessing userspace memory
userns: move user access out of the mutex
Jon Hunter (1):
ARM: tegra: Fix Tegra30 Cardhu PCA954x reset
Lars-Peter Clausen (2):
iio: ad9523: Fix displayed phase
iio: ad9523: Fix return value for ad952x_store()
Mahesh Salgaonkar (1):
powerpc/pseries: Fix endianness while restoring of r3 in MCE handler.
Mike Snitzer (1):
dm cache metadata: save in-core policy_hint_size to on-disk superblock
Mikulas Patocka (2):
fb: fix lost console when the user unplugs a USB adapter
udlfb: set optimal write delay
Peter Zijlstra (1):
mm/tlb: Remove tlb_remove_table() non-concurrent condition
Richard Weinberger (3):
ubifs: Fix memory leak in lprobs self-check
Revert "UBIFS: Fix potential integer overflow in allocation"
ubifs: Fix synced_i_size calculation for xattr inodes
Shan Hai (1):
bcache: release dc->writeback_lock properly in bch_writeback_thread()
Snild Dolkow (1):
kthread, tracing: Don't expose half-written comm when creating kthreads
Steven Rostedt (VMware) (3):
tracing: Do not call start/stop() functions when tracing_on does not change
tracing/blktrace: Fix to allow setting same value
uprobes: Use synchronize_rcu() not synchronize_sched()
Tomas Bortoli (3):
net/9p/client.c: version pointer uninitialized
net/9p/trans_fd.c: fix race-condition by flushing workqueue before the kfree()
9p: fix multiple NULL-pointer-dereferences
Vignesh R (1):
pwm: tiehrpwm: Fix disabling of output of PWMs
jiangyiwen (1):
9p/virtio: fix off-by-one error in sg list bounds check
From: Al Viro <viro(a)zeniv.linux.org.uk>
cls_u32.c misuses refcounts for struct tc_u_hnode - it counts references via
->hlist and via ->tp_root together. u32_destroy() drops the former and, in
case when there had been links, leaves the sucker on the list. As the result,
there's nothing to protect it from getting freed once links are dropped.
That also makes the "is it busy" check incapable of catching the root hnode -
it *is* busy (there's a reference from tp), but we don't see it as something
separate. "Is it our root?" check partially covers that, but the problem
exists for others' roots as well.
AFAICS, the minimal fix preserving the existing behaviour (where it doesn't
include oopsen, that is) would be this:
* count tp->root and tp_c->hlist as separate references. I.e.
have u32_init() set refcount to 2, not 1.
* in u32_destroy() we always drop the former; in u32_destroy_hnode() -
the latter.
That way we have *all* references contributing to refcount. List
removal happens in u32_destroy_hnode() (called only when ->refcnt is 1)
an in u32_destroy() in case of tc_u_common going away, along with everything
reachable from it. IOW, that way we know that u32_destroy_key() won't
free something still on the list (or pointed to by someone's ->root).
Cc: stable(a)vger.kernel.org
Signed-off-by: Al Viro <viro(a)zeniv.linux.org.uk>
---
net/sched/cls_u32.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
index f218ccf1e2d9..b2c3406a2cf2 100644
--- a/net/sched/cls_u32.c
+++ b/net/sched/cls_u32.c
@@ -398,6 +398,7 @@ static int u32_init(struct tcf_proto *tp)
rcu_assign_pointer(tp_c->hlist, root_ht);
root_ht->tp_c = tp_c;
+ root_ht->refcnt++;
rcu_assign_pointer(tp->root, root_ht);
tp->data = tp_c;
return 0;
@@ -610,7 +611,7 @@ static int u32_destroy_hnode(struct tcf_proto *tp, struct tc_u_hnode *ht,
struct tc_u_hnode __rcu **hn;
struct tc_u_hnode *phn;
- WARN_ON(ht->refcnt);
+ WARN_ON(--ht->refcnt);
u32_clear_hnode(tp, ht, extack);
@@ -649,7 +650,7 @@ static void u32_destroy(struct tcf_proto *tp, struct netlink_ext_ack *extack)
WARN_ON(root_ht == NULL);
- if (root_ht && --root_ht->refcnt == 0)
+ if (root_ht && --root_ht->refcnt == 1)
u32_destroy_hnode(tp, root_ht, extack);
if (--tp_c->refcnt == 0) {
@@ -698,7 +699,6 @@ static int u32_delete(struct tcf_proto *tp, void *arg, bool *last,
}
if (ht->refcnt == 1) {
- ht->refcnt--;
u32_destroy_hnode(tp, ht, extack);
} else {
NL_SET_ERR_MSG_MOD(extack, "Can not delete in-use filter");
@@ -708,11 +708,11 @@ static int u32_delete(struct tcf_proto *tp, void *arg, bool *last,
out:
*last = true;
if (root_ht) {
- if (root_ht->refcnt > 1) {
+ if (root_ht->refcnt > 2) {
*last = false;
goto ret;
}
- if (root_ht->refcnt == 1) {
+ if (root_ht->refcnt == 2) {
if (!ht_empty(root_ht)) {
*last = false;
goto ret;
--
2.11.0
I'm announcing the release of the 4.18.7 kernel.
All users of the 4.18 kernel series must upgrade.
The updated 4.18.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.18.y
and can be browsed at the normal kernel.org git web browser:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2
arch/alpha/kernel/osf_sys.c | 51 ++++-----
arch/arm/boot/dts/am571x-idk.dts | 4
arch/arm/boot/dts/am572x-idk-common.dtsi | 4
arch/arm/boot/dts/am57xx-idk-common.dtsi | 7 +
arch/arm/boot/dts/tegra30-cardhu.dtsi | 1
arch/arm64/Kconfig | 1
arch/arm64/crypto/sm4-ce-glue.c | 2
arch/powerpc/include/asm/fadump.h | 3
arch/powerpc/include/asm/nohash/pgtable.h | 9 -
arch/powerpc/include/asm/pkeys.h | 11 -
arch/powerpc/kernel/fadump.c | 91 +++++++++++++---
arch/powerpc/kernel/process.c | 1
arch/powerpc/kvm/book3s_hv.c | 1
arch/powerpc/mm/mmu_context_book3s64.c | 8 -
arch/powerpc/mm/mmu_context_iommu.c | 17 +--
arch/powerpc/mm/pgtable-book3s64.c | 17 +--
arch/powerpc/mm/pkeys.c | 134 +++++++-----------------
arch/powerpc/platforms/powernv/pci-ioda.c | 37 ++++++
arch/powerpc/platforms/pseries/ras.c | 2
arch/sparc/kernel/sys_sparc_32.c | 22 ++-
arch/sparc/kernel/sys_sparc_64.c | 20 ++-
arch/x86/crypto/aesni-intel_asm.S | 66 +++++------
arch/x86/kernel/kexec-bzimage64.c | 2
arch/x86/kvm/vmx.c | 26 ++--
arch/xtensa/include/asm/cacheasm.h | 69 +++++++-----
block/bfq-cgroup.c | 3
block/blk-core.c | 61 ++++++----
block/blk-lib.c | 10 +
block/blk-sysfs.c | 15 ++
block/blk.h | 1
certs/system_keyring.c | 3
crypto/asymmetric_keys/pkcs7_key_type.c | 2
drivers/acpi/acpica/hwsleep.c | 11 -
drivers/acpi/acpica/psloop.c | 17 +--
drivers/block/zram/zram_drv.c | 7 +
drivers/cpufreq/cpufreq_governor.c | 12 +-
drivers/cpuidle/governors/menu.c | 47 ++++++--
drivers/crypto/caam/caamalg_qi.c | 6 -
drivers/crypto/caam/caampkc.c | 20 +--
drivers/crypto/caam/jr.c | 3
drivers/crypto/vmx/aes_cbc.c | 30 ++---
drivers/crypto/vmx/aes_xts.c | 21 ++-
drivers/dma-buf/reservation.c | 6 -
drivers/extcon/extcon.c | 3
drivers/hv/channel.c | 40 ++++---
drivers/hv/channel_mgmt.c | 10 +
drivers/i2c/busses/i2c-designware-master.c | 1
drivers/i2c/busses/i2c-designware-platdrv.c | 7 +
drivers/iio/accel/sca3000.c | 1
drivers/iio/frequency/ad9523.c | 4
drivers/infiniband/hw/mlx5/main.c | 2
drivers/infiniband/hw/mlx5/qp.c | 6 -
drivers/infiniband/sw/rxe/rxe_comp.c | 1
drivers/infiniband/ulp/srpt/ib_srpt.c | 34 ++++--
drivers/infiniband/ulp/srpt/ib_srpt.h | 4
drivers/iommu/dmar.c | 6 -
drivers/iommu/intel-iommu.c | 18 +++
drivers/iommu/ipmmu-vmsa.c | 7 +
drivers/mailbox/mailbox-xgene-slimpro.c | 6 -
drivers/md/bcache/writeback.c | 4
drivers/md/dm-cache-metadata.c | 13 +-
drivers/md/dm-crypt.c | 10 -
drivers/md/dm-integrity.c | 6 -
drivers/md/dm-thin.c | 2
drivers/md/dm-writecache.c | 2
drivers/media/i2c/tvp5150.c | 2
drivers/mfd/hi655x-pmic.c | 2
drivers/misc/cxl/main.c | 2
drivers/misc/ocxl/link.c | 24 ++--
drivers/misc/vmw_balloon.c | 67 +++++++-----
drivers/mmc/core/queue.c | 12 +-
drivers/mmc/core/queue.h | 1
drivers/mmc/host/renesas_sdhi_internal_dmac.c | 10 +
drivers/net/wireless/marvell/libertas/dev.h | 1
drivers/net/wireless/marvell/libertas/if_sdio.c | 30 ++++-
drivers/nvdimm/bus.c | 4
drivers/nvdimm/dimm_devs.c | 31 +++++
drivers/nvdimm/namespace_devs.c | 6 -
drivers/nvdimm/nd-core.h | 8 +
drivers/nvdimm/region_devs.c | 24 ++++
drivers/pwm/pwm-omap-dmtimer.c | 5
drivers/pwm/pwm-tiehrpwm.c | 14 --
drivers/rtc/rtc-omap.c | 18 +--
drivers/spi/spi-cadence.c | 2
drivers/spi/spi-davinci.c | 2
drivers/spi/spi-fsl-dspi.c | 24 ++--
drivers/spi/spi-pxa2xx.c | 4
drivers/tty/serial/serial_core.c | 17 ++-
drivers/video/fbdev/core/fbmem.c | 38 +++++-
drivers/video/fbdev/udlfb.c | 105 ++++++++++--------
fs/9p/xattr.c | 6 -
fs/lockd/clntlock.c | 2
fs/lockd/clntproc.c | 2
fs/lockd/svclock.c | 16 +-
fs/lockd/svcsubs.c | 4
fs/nfs/blocklayout/dev.c | 2
fs/nfs/callback_proc.c | 14 +-
fs/nfs/nfs4proc.c | 9 +
fs/nfs/pnfs_nfs.c | 16 +-
fs/nfsd/nfs4state.c | 2
fs/overlayfs/readdir.c | 19 +++
fs/quota/quota.c | 2
fs/ubifs/dir.c | 5
fs/ubifs/journal.c | 21 +++
fs/ubifs/lprops.c | 8 -
fs/ubifs/xattr.c | 24 ++++
fs/udf/super.c | 31 +++--
fs/xattr.c | 2
include/linux/blk-cgroup.h | 18 +++
include/linux/hyperv.h | 2
include/linux/intel-iommu.h | 8 -
include/linux/lockd/lockd.h | 4
include/linux/mm_types.h | 5
include/linux/overflow.h | 31 +++++
include/linux/sunrpc/clnt.h | 1
include/linux/verification.h | 6 +
include/uapi/linux/eventpoll.h | 8 -
include/video/udlfb.h | 5
kernel/livepatch/core.c | 6 +
kernel/memremap.c | 1
kernel/power/Kconfig | 1
kernel/printk/printk_safe.c | 4
kernel/rcu/tree_exp.h | 9 +
kernel/sched/idle.c | 2
kernel/sys.c | 95 ++++++++---------
kernel/trace/blktrace.c | 4
kernel/trace/trace.c | 4
kernel/trace/trace_uprobe.c | 2
kernel/user_namespace.c | 24 +---
kernel/utsname_sysctl.c | 41 ++++---
mm/hmm.c | 2
mm/memory.c | 9 -
mm/readahead.c | 12 +-
net/9p/client.c | 2
net/9p/trans_fd.c | 7 +
net/9p/trans_rdma.c | 3
net/9p/trans_virtio.c | 13 ++
net/9p/trans_xen.c | 3
net/ieee802154/6lowpan/tx.c | 21 +++
net/mac802154/tx.c | 15 ++
net/sunrpc/clnt.c | 28 +++--
scripts/kconfig/Makefile | 5
security/apparmor/secid.c | 1
security/commoncap.c | 2
sound/ac97/bus.c | 4
sound/ac97/snd_ac97_compat.c | 19 +++
tools/perf/util/auxtrace.c | 3
148 files changed, 1373 insertions(+), 765 deletions(-)
Adrian Hunter (2):
mmc: block: Fix unsupported parallel dispatch of requests
perf auxtrace: Fix queue resize
Alexander Aring (2):
net: 6lowpan: fix reserved space for single frames
net: mac802154: tx: expand tailroom if necessary
Amir Goldstein (2):
ovl: fix wrong use of impure dir cache in ovl_iterate()
nfsd: fix leaked file lock with nfs exported overlayfs
Ard Biesheuvel (1):
crypto: arm64/sm4-ce - check for the right CPU feature bit
Bart Van Assche (9):
blkcg: Introduce blkg_root_lookup()
block: Introduce blk_exit_queue()
block: Ensure that a request queue is dissociated from the cgroup controller
IB/srpt: Fix srpt_cm_req_recv() error path (1/2)
IB/srpt: Fix srpt_cm_req_recv() error path (2/2)
IB/srpt: Support HCAs with more than two ports
ib_srpt: Fix a use-after-free in srpt_close_ch()
ib_srpt: Fix a use-after-free in __srpt_close_all_ch()
RDMA/rxe: Set wqe->status correctly if an unexpected response is received
Bartosz Golaszewski (1):
spi: davinci: fix a NULL pointer dereference
Benjamin Herrenschmidt (1):
powerpc/powernv/pci: Work around races in PCI bridge enabling
Bill Baker (1):
NFSv4 client live hangs after live data migration recovery
Boqun Feng (1):
rcu: Make expedited GPs handle CPU 0 being offline
Chanwoo Choi (1):
extcon: Release locking when sending the notification of connector state
Chirantan Ekbote (1):
9p/net: Fix zero-copy path in the 9p virtio transport
Christian Brauner (1):
getxattr: use correct xattr length
Christophe Leroy (1):
powerpc/nohash: fix pte_access_permitted()
Dan Carpenter (1):
pnfs/blocklayout: off by one in bl_map_stripe()
Dan Williams (1):
mm, dev_pagemap: Do not clear ->mapping on final put
Daniel Mack (1):
libertas: fix suspend and resume for SDIO connected cards
Dave Watson (1):
crypto: aesni - Use unaligned loads from gcm_context_data
David Rivshin (1):
pwm: omap-dmtimer: Return -EPROBE_DEFER if no dmtimer platform data
Dexuan Cui (2):
Drivers: hv: vmbus: Fix the offer_in_progress in vmbus_process_offer()
Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind()
Dmitry Osipenko (1):
iommu/ipmmu-vmsa: Don't register as BUS IOMMU if machine doesn't have IPMMU-VMSA
Eddie.Horng (1):
cap_inode_getsecurity: use d_find_any_alias() instead of d_find_alias()
Erik Schmauss (1):
ACPICA: AML Parser: skip opcodes that open a scope upon parse failure
Frederic Barrat (1):
ocxl: Fix page fault handler in case of fault on dying process
Greg Kroah-Hartman (2):
eventpoll.h: wrap casts in () properly
Linux 4.18.7
Gustavo A. R. Silva (2):
mailbox: xgene-slimpro: Fix potential NULL pointer dereference
iio: sca3000: Fix missing return in switch
Hans de Goede (1):
i2c: designware: Re-init controllers with pm_disabled set on resume
Hari Bathini (1):
powerpc/fadump: handle crash memory ranges array index overflow
Henry Willard (1):
cpufreq: governor: Avoid accessing invalid governor_data
Horia Geantă (3):
crypto: caam - fix DMA mapping direction for RSA forms 2 & 3
crypto: caam/jr - fix descriptor DMA unmapping
crypto: caam/qi - fix error path in xts setkey
Hou Tao (1):
dm thin: stop no_space_timeout worker when switching to write-mode
Ilya Dryomov (1):
dm cache metadata: set dirty on all cache blocks after a crash
Jacob Pan (2):
iommu/vt-d: Add definitions for PFSID
iommu/vt-d: Fix dev iotlb pfsid use
James Morse (1):
arm64: mm: always enable CONFIG_HOLES_IN_ZONE
Jan Kara (1):
udf: Fix mounting of Win7 created UDF filesystems
Janek Kotas (1):
spi: cadence: Change usleep_range() to udelay(), for atomic context
Jann Horn (2):
sys: don't hold uts_sem while accessing userspace memory
userns: move user access out of the mutex
Jason Gunthorpe (2):
IB/mlx5: Fix leaking stack memory to userspace
overflow.h: Add arithmetic shift helper
Javier Martinez Canillas (1):
media: Revert "[media] tvp5150: fix pad format frame height"
Jeremy Cline (1):
fs/quota: Fix spectre gadget in do_quotactl
Johan Hovold (2):
rtc: omap: fix resource leak in registration error path
rtc: omap: fix potential crash on power off
John Johansen (1):
apparmor: fix bad debug check in apparmor_secid_to_secctx()
Jon Hunter (1):
ARM: tegra: Fix Tegra30 Cardhu PCA954x reset
Kamalesh Babulal (1):
livepatch: Validate module/old func name length
Keith Busch (1):
libnvdimm: Use max contiguous area for namespace size
Krzysztof Kozlowski (1):
spi: spi-fsl-dspi: Fix imprecise abort on VF500 during probe
Lars-Peter Clausen (2):
iio: ad9523: Fix displayed phase
iio: ad9523: Fix return value for ad952x_store()
Leon Romanovsky (1):
RDMA/mlx5: Fix shift overflow in mlx5_ib_create_wq
Lihua Yao (3):
ALSA: ac97: fix device initialization in the compat layer
ALSA: ac97: fix check of pm_runtime_get_sync failure
ALSA: ac97: fix unbalanced pm_runtime_enable
Luke Dashjr (1):
powerpc64/ftrace: Include ftrace.h needed for enable/disable calls
Maciej S. Szmigiero (1):
block, bfq: return nbytes and not zero from struct cftype .write() method
Mahesh Salgaonkar (1):
powerpc/pseries: Fix endianness while restoring of r3 in MCE handler.
Markus Stockhausen (1):
readahead: stricter check for bdi io_pages
Masahiro Yamada (1):
kconfig: fix "Can't open ..." in parallel build
Max Filippov (2):
xtensa: limit offsets in __loop_cache_{all,page}
xtensa: increase ranges in ___invalidate_{i,d}cache_all
Michel Dänzer (1):
dma-buf: Move BUG_ON from _add_shared_fence to _add_shared_inplace
Mika Westerberg (1):
spi: pxa2xx: Add support for Intel Ice Lake
Mike Snitzer (1):
dm cache metadata: save in-core policy_hint_size to on-disk superblock
Mikulas Patocka (12):
block: fix infinite loop if the device loses discard capability
dm integrity: change 'suspending' variable from bool to int
dm crypt: don't decrease device limits
dm writecache: fix a crash due to reading past end of dirty_bitmap
fb: fix lost console when the user unplugs a USB adapter
udlfb: fix semaphore value leak
udlfb: fix display corruption of the last line
udlfb: don't switch if we are switching to the same videomode
udlfb: set optimal write delay
udlfb: make a local copy of fb_ops
udlfb: handle allocation failure
udlfb: set line_length in dlfb_ops_set_par
Ming Lei (1):
block: really disable runtime-pm for blk-mq
Nadav Amit (4):
vmw_balloon: fix inflation of 64-bit GFNs
vmw_balloon: do not use 2MB without batching
vmw_balloon: VMCI_DOORBELL_SET does not check status
vmw_balloon: fix VMCI use when balloon built into kernel
Nicholas Piggin (1):
powerpc/64s: Fix page table fragment refcount race vs speculative references
Ondrej Mosnacek (1):
crypto: vmx - Fix sleep-in-atomic bugs
Paolo Bonzini (1):
KVM: VMX: fixes for vmentry_l1d_flush module parameter
Parav Pandit (1):
IB/mlx5: Honor cnt_set_id_valid flag instead of set_id
Paul Mackerras (1):
KVM: PPC: Book3S: Fix guest DMA when guest partially backed by THP pages
Peter Kalauskas (1):
drivers/block/zram/zram_drv.c: fix bug storing backing_dev
Peter Zijlstra (1):
mm/tlb: Remove tlb_remove_table() non-concurrent condition
Rafael David Tinoco (1):
mfd: hi655x: Fix regmap area declared size for hi655x
Rafael J. Wysocki (4):
ACPICA: Clear status of all events when entering sleep states
sched: idle: Avoid retaining the tick when it has been stopped
cpuidle: menu: Handle stopped tick more aggressively
cpuidle: menu: Retain tick when shallow state is selected
Ram Pai (6):
powerpc/pkeys: Give all threads control of their key permissions
powerpc/pkeys: Deny read/write/execute by default
powerpc/pkeys: key allocation/deallocation must not change pkey registers
powerpc/pkeys: Save the pkey registers before fork
powerpc/pkeys: Fix calculation of total pkeys.
powerpc/pkeys: Preallocate execute-only key
Richard Weinberger (6):
ubifs: Fix memory leak in lprobs self-check
Revert "UBIFS: Fix potential integer overflow in allocation"
ubifs: Check data node size before truncate
ubifs: xattr: Don't operate on deleted inodes
ubifs: Fix directory size calculation for symlinks
ubifs: Fix synced_i_size calculation for xattr inodes
Roger Quadros (1):
ARM: dts: am57xx-idk: Enable dual role for USB2 port
Sergei Shtylyov (2):
mmc: renesas_sdhi_internal_dmac: mask DMAC interrupts
mmc: renesas_sdhi_internal_dmac: fix #define RST_RESERVED_BITS
Shan Hai (1):
bcache: release dc->writeback_lock properly in bch_writeback_thread()
Steven Rostedt (VMware) (4):
tracing: Do not call start/stop() functions when tracing_on does not change
tracing/blktrace: Fix to allow setting same value
printk/tracing: Do not trace printk_nmi_enter()
uprobes: Use synchronize_rcu() not synchronize_sched()
Tomas Bortoli (3):
9p: fix multiple NULL-pointer-dereferences
net/9p/client.c: version pointer uninitialized
net/9p/trans_fd.c: fix race-condition by flushing workqueue before the kfree()
Trond Myklebust (2):
NFSv4: Fix locking in pnfs_generic_recover_commit_reqs
NFSv4: Fix a sleep in atomic context in nfs4_callback_sequence()
Tycho Andersen (1):
uart: fix race between uart_put_char() and uart_shutdown()
Vaibhav Jain (1):
cxl: Fix wrong comparison in cxl_adapter_context_get()
Vignesh R (2):
pwm: tiehrpwm: Don't use emulation mode bits to control PWM output
pwm: tiehrpwm: Fix disabling of output of PWMs
Vishal Verma (1):
libnvdimm: fix ars_status output length calculation
Yannik Sembritzki (2):
Replace magic for trusting the secondary keyring with #define
Fix kexec forbidding kernels signed with keys in the secondary keyring to boot
jiangyiwen (1):
9p/virtio: fix off-by-one error in sg list bounds check
piaojun (1):
fs/9p/xattr.c: catch the error of p9_client_clunk when setting xattr failed
xiao jin (1):
block: blk_init_allocated_queue() set q->fq as NULL in the fail case
zhangyi (F) (1):
PM / sleep: wakeup: Fix build error caused by missing SRCU support
From: Al Viro <viro(a)zeniv.linux.org.uk>
cls_u32.c misuses refcounts for struct tc_u_hnode - it counts references via
->hlist and via ->tp_root together. u32_destroy() drops the former and, in
case when there had been links, leaves the sucker on the list. As the result,
there's nothing to protect it from getting freed once links are dropped.
That also makes the "is it busy" check incapable of catching the root hnode -
it *is* busy (there's a reference from tp), but we don't see it as something
separate. "Is it our root?" check partially covers that, but the problem
exists for others' roots as well.
AFAICS, the minimal fix preserving the existing behaviour (where it doesn't
include oopsen, that is) would be this:
* count tp->root and tp_c->hlist as separate references. I.e.
have u32_init() set refcount to 2, not 1.
* in u32_destroy() we always drop the former; in u32_destroy_hnode() -
the latter.
That way we have *all* references contributing to refcount. List
removal happens in u32_destroy_hnode() (called only when ->refcnt is 1)
an in u32_destroy() in case of tc_u_common going away, along with everything
reachable from it. IOW, that way we know that u32_destroy_key() won't
free something still on the list (or pointed to by someone's ->root).
Cc: stable(a)vger.kernel.org
Signed-off-by: Al Viro <viro(a)zeniv.linux.org.uk>
---
net/sched/cls_u32.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
index f218ccf1e2d9..3f985f29ef30 100644
--- a/net/sched/cls_u32.c
+++ b/net/sched/cls_u32.c
@@ -398,6 +398,7 @@ static int u32_init(struct tcf_proto *tp)
rcu_assign_pointer(tp_c->hlist, root_ht);
root_ht->tp_c = tp_c;
+ root_ht->refcnt++;
rcu_assign_pointer(tp->root, root_ht);
tp->data = tp_c;
return 0;
@@ -610,7 +611,7 @@ static int u32_destroy_hnode(struct tcf_proto *tp, struct tc_u_hnode *ht,
struct tc_u_hnode __rcu **hn;
struct tc_u_hnode *phn;
- WARN_ON(ht->refcnt);
+ WARN_ON(--ht->refcnt);
u32_clear_hnode(tp, ht, extack);
@@ -649,7 +650,7 @@ static void u32_destroy(struct tcf_proto *tp, struct netlink_ext_ack *extack)
WARN_ON(root_ht == NULL);
- if (root_ht && --root_ht->refcnt == 0)
+ if (root_ht && --root_ht->refcnt == 1)
u32_destroy_hnode(tp, root_ht, extack);
if (--tp_c->refcnt == 0) {
@@ -698,7 +699,6 @@ static int u32_delete(struct tcf_proto *tp, void *arg, bool *last,
}
if (ht->refcnt == 1) {
- ht->refcnt--;
u32_destroy_hnode(tp, ht, extack);
} else {
NL_SET_ERR_MSG_MOD(extack, "Can not delete in-use filter");
--
2.11.0
Hi,
I would like to check if you have received my email from last week?
We are a team of 11 image editors who can help you for cutting out, your
photos, also add retouching.
Editing is for your products photos or portrait photos, catalog photos.
Let me know if you have interests, we can send you testing work.
Thanks,
Denis Jones
Commit 822fb18a82aba ("xen-netfront: wait xenbus state change when load
module manually") added a new wait queue to wait on for a state change
when the module is loaded manually. Unfortunately there is no wakeup
anywhere to stop that waiting.
Instead of introducing a new wait queue rename the existing
module_unload_q to module_wq and use it for both purposes (loading and
unloading).
As any state change of the backend might be intended to stop waiting
do the wake_up_all() in any case when netback_changed() is called.
Fixes: 822fb18a82aba ("xen-netfront: wait xenbus state change when load module manually")
Cc: <stable(a)vger.kernel.org> #4.18
Signed-off-by: Juergen Gross <jgross(a)suse.com>
---
drivers/net/xen-netfront.c | 24 ++++++++++--------------
1 file changed, 10 insertions(+), 14 deletions(-)
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 73f596a90c69..9407acbd19a9 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -87,8 +87,7 @@ struct netfront_cb {
/* IRQ name is queue name with "-tx" or "-rx" appended */
#define IRQ_NAME_SIZE (QUEUE_NAME_SIZE + 3)
-static DECLARE_WAIT_QUEUE_HEAD(module_load_q);
-static DECLARE_WAIT_QUEUE_HEAD(module_unload_q);
+static DECLARE_WAIT_QUEUE_HEAD(module_wq);
struct netfront_stats {
u64 packets;
@@ -1332,11 +1331,11 @@ static struct net_device *xennet_create_dev(struct xenbus_device *dev)
netif_carrier_off(netdev);
xenbus_switch_state(dev, XenbusStateInitialising);
- wait_event(module_load_q,
- xenbus_read_driver_state(dev->otherend) !=
- XenbusStateClosed &&
- xenbus_read_driver_state(dev->otherend) !=
- XenbusStateUnknown);
+ wait_event(module_wq,
+ xenbus_read_driver_state(dev->otherend) !=
+ XenbusStateClosed &&
+ xenbus_read_driver_state(dev->otherend) !=
+ XenbusStateUnknown);
return netdev;
exit:
@@ -2010,15 +2009,14 @@ static void netback_changed(struct xenbus_device *dev,
dev_dbg(&dev->dev, "%s\n", xenbus_strstate(backend_state));
+ wake_up_all(&module_wq);
+
switch (backend_state) {
case XenbusStateInitialising:
case XenbusStateInitialised:
case XenbusStateReconfiguring:
case XenbusStateReconfigured:
- break;
-
case XenbusStateUnknown:
- wake_up_all(&module_unload_q);
break;
case XenbusStateInitWait:
@@ -2034,12 +2032,10 @@ static void netback_changed(struct xenbus_device *dev,
break;
case XenbusStateClosed:
- wake_up_all(&module_unload_q);
if (dev->state == XenbusStateClosed)
break;
/* Missed the backend's CLOSING state -- fallthrough */
case XenbusStateClosing:
- wake_up_all(&module_unload_q);
xenbus_frontend_closed(dev);
break;
}
@@ -2147,14 +2143,14 @@ static int xennet_remove(struct xenbus_device *dev)
if (xenbus_read_driver_state(dev->otherend) != XenbusStateClosed) {
xenbus_switch_state(dev, XenbusStateClosing);
- wait_event(module_unload_q,
+ wait_event(module_wq,
xenbus_read_driver_state(dev->otherend) ==
XenbusStateClosing ||
xenbus_read_driver_state(dev->otherend) ==
XenbusStateUnknown);
xenbus_switch_state(dev, XenbusStateClosed);
- wait_event(module_unload_q,
+ wait_event(module_wq,
xenbus_read_driver_state(dev->otherend) ==
XenbusStateClosed ||
xenbus_read_driver_state(dev->otherend) ==
--
2.16.4
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 50229128727f7e11840ca1b2b501f880818d56b6 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui(a)microsoft.com>
Date: Tue, 5 Jun 2018 13:37:52 -0700
Subject: [PATCH] Drivers: hv: vmbus: Fix the offer_in_progress in
vmbus_process_offer()
I didn't really hit a real bug, but just happened to spot the bug:
we have decreased the counter at the beginning of vmbus_process_offer(),
so we mustn't decrease it again.
Fixes: 6f3d791f3006 ("Drivers: hv: vmbus: Fix rescind handling issues")
Signed-off-by: Dexuan Cui <decui(a)microsoft.com>
Cc: stable(a)vger.kernel.org
Cc: Stephen Hemminger <sthemmin(a)microsoft.com>
Cc: K. Y. Srinivasan <kys(a)microsoft.com>
Cc: Stable <stable(a)vger.kernel.org> # 4.14 and above
Signed-off-by: K. Y. Srinivasan <kys(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index ecc2bd275a73..f3b551a50653 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -527,10 +527,8 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
struct hv_device *dev
= newchannel->primary_channel->device_obj;
- if (vmbus_add_channel_kobj(dev, newchannel)) {
- atomic_dec(&vmbus_connection.offer_in_progress);
+ if (vmbus_add_channel_kobj(dev, newchannel))
goto err_free_chan;
- }
if (channel->sc_creation_callback != NULL)
channel->sc_creation_callback(newchannel);
The patch below does not apply to the 4.9-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 d1c392c9e2a301f38998a353f467f76414e38725 Mon Sep 17 00:00:00 2001
From: "Steven Rostedt (VMware)" <rostedt(a)goodmis.org>
Date: Wed, 5 Sep 2018 16:29:49 -0400
Subject: [PATCH] printk/tracing: Do not trace printk_nmi_enter()
I hit the following splat in my tests:
------------[ cut here ]------------
IRQs not enabled as expected
WARNING: CPU: 3 PID: 0 at kernel/time/tick-sched.c:982 tick_nohz_idle_enter+0x44/0x8c
Modules linked in: ip6t_REJECT nf_reject_ipv6 ip6table_filter ip6_tables ipv6
CPU: 3 PID: 0 Comm: swapper/3 Not tainted 4.19.0-rc2-test+ #2
Hardware name: MSI MS-7823/CSM-H87M-G43 (MS-7823), BIOS V1.6 02/22/2014
EIP: tick_nohz_idle_enter+0x44/0x8c
Code: ec 05 00 00 00 75 26 83 b8 c0 05 00 00 00 75 1d 80 3d d0 36 3e c1 00
75 14 68 94 63 12 c1 c6 05 d0 36 3e c1 01 e8 04 ee f8 ff <0f> 0b 58 fa bb a0
e5 66 c1 e8 25 0f 04 00 64 03 1d 28 31 52 c1 8b
EAX: 0000001c EBX: f26e7f8c ECX: 00000006 EDX: 00000007
ESI: f26dd1c0 EDI: 00000000 EBP: f26e7f40 ESP: f26e7f38
DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 EFLAGS: 00010296
CR0: 80050033 CR2: 0813c6b0 CR3: 2f342000 CR4: 001406f0
Call Trace:
do_idle+0x33/0x202
cpu_startup_entry+0x61/0x63
start_secondary+0x18e/0x1ed
startup_32_smp+0x164/0x168
irq event stamp: 18773830
hardirqs last enabled at (18773829): [<c040150c>] trace_hardirqs_on_thunk+0xc/0x10
hardirqs last disabled at (18773830): [<c040151c>] trace_hardirqs_off_thunk+0xc/0x10
softirqs last enabled at (18773824): [<c0ddaa6f>] __do_softirq+0x25f/0x2bf
softirqs last disabled at (18773767): [<c0416bbe>] call_on_stack+0x45/0x4b
---[ end trace b7c64aa79e17954a ]---
After a bit of debugging, I found what was happening. This would trigger
when performing "perf" with a high NMI interrupt rate, while enabling and
disabling function tracer. Ftrace uses breakpoints to convert the nops at
the start of functions to calls to the function trampolines. The breakpoint
traps disable interrupts and this makes calls into lockdep via the
trace_hardirqs_off_thunk in the entry.S code. What happens is the following:
do_idle {
[interrupts enabled]
<interrupt> [interrupts disabled]
TRACE_IRQS_OFF [lockdep says irqs off]
[...]
TRACE_IRQS_IRET
test if pt_regs say return to interrupts enabled [yes]
TRACE_IRQS_ON [lockdep says irqs are on]
<nmi>
nmi_enter() {
printk_nmi_enter() [traced by ftrace]
[ hit ftrace breakpoint ]
<breakpoint exception>
TRACE_IRQS_OFF [lockdep says irqs off]
[...]
TRACE_IRQS_IRET [return from breakpoint]
test if pt_regs say interrupts enabled [no]
[iret back to interrupt]
[iret back to code]
tick_nohz_idle_enter() {
lockdep_assert_irqs_enabled() [lockdep say no!]
Although interrupts are indeed enabled, lockdep thinks it is not, and since
we now do asserts via lockdep, it gives a false warning. The issue here is
that printk_nmi_enter() is called before lockdep_off(), which disables
lockdep (for this reason) in NMIs. By simply not allowing ftrace to see
printk_nmi_enter() (via notrace annotation) we keep lockdep from getting
confused.
Cc: stable(a)vger.kernel.org
Fixes: 42a0bb3f71383 ("printk/nmi: generic solution for safe printk in NMI")
Acked-by: Sergey Senozhatsky <sergey.senozhatsky(a)gmail.com>
Acked-by: Petr Mladek <pmladek(a)suse.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt(a)goodmis.org>
diff --git a/kernel/printk/printk_safe.c b/kernel/printk/printk_safe.c
index a0a74c533e4b..0913b4d385de 100644
--- a/kernel/printk/printk_safe.c
+++ b/kernel/printk/printk_safe.c
@@ -306,12 +306,12 @@ static __printf(1, 0) int vprintk_nmi(const char *fmt, va_list args)
return printk_safe_log_store(s, fmt, args);
}
-void printk_nmi_enter(void)
+void notrace printk_nmi_enter(void)
{
this_cpu_or(printk_context, PRINTK_NMI_CONTEXT_MASK);
}
-void printk_nmi_exit(void)
+void notrace printk_nmi_exit(void)
{
this_cpu_and(printk_context, ~PRINTK_NMI_CONTEXT_MASK);
}
The patch below does not apply to the 3.18-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 95a22d2084d72ea067d8323cc85677dba5d97cae Mon Sep 17 00:00:00 2001
From: Richard Weinberger <richard(a)nod.at>
Date: Sun, 1 Jul 2018 23:20:51 +0200
Subject: [PATCH] ubifs: Check data node size before truncate
Check whether the size is within bounds before using it.
If the size is not correct, abort and dump the bad data node.
Cc: Kees Cook <keescook(a)chromium.org>
Cc: Silvio Cesare <silvio.cesare(a)gmail.com>
Cc: stable(a)vger.kernel.org
Fixes: 1e51764a3c2ac ("UBIFS: add new flash file system")
Reported-by: Silvio Cesare <silvio.cesare(a)gmail.com>
Signed-off-by: Richard Weinberger <richard(a)nod.at>
Reviewed-by: Kees Cook <keescook(a)chromium.org>
Signed-off-by: Richard Weinberger <richard(a)nod.at>
diff --git a/fs/ubifs/journal.c b/fs/ubifs/journal.c
index 1406765c3ef9..cef0d76d490a 100644
--- a/fs/ubifs/journal.c
+++ b/fs/ubifs/journal.c
@@ -1393,7 +1393,16 @@ int ubifs_jnl_truncate(struct ubifs_info *c, const struct inode *inode,
else if (err)
goto out_free;
else {
- if (le32_to_cpu(dn->size) <= dlen)
+ int dn_len = le32_to_cpu(dn->size);
+
+ if (dn_len <= 0 || dn_len > UBIFS_BLOCK_SIZE) {
+ ubifs_err(c, "bad data node (block %u, inode %lu)",
+ blk, inode->i_ino);
+ ubifs_dump_node(c, dn);
+ goto out_free;
+ }
+
+ if (dn_len <= dlen)
dlen = 0; /* Nothing to do */
else {
err = truncate_data_node(c, inode, blk, dn, &dlen);
From: Marc Zyngier <marc.zyngier(a)arm.com>
If trapping FPSIMD in the context of an AArch32 guest, it is critical
to set FPEXC32_EL2.EN to 1 so that the trapping is taken to EL2 and
not EL1.
Conversely, it is just as critical *not* to set FPEXC32_EL2.EN to 1
if we're not going to trap FPSIMD, as we then corrupt the existing
VFP state.
Moving the call to __activate_traps_fpsimd32 to the point where we
know for sure that we are going to trap ensures that we don't set that
bit spuriously.
Fixes: e6b673b741ea ("KVM: arm64: Optimise FPSIMD handling to reduce guest/host thrashing")
Cc: stable(a)vger.kernel.org # v4.18
Cc: Dave Martin <dave.martin(a)arm.com>
Reported-by: Alexander Graf <agraf(a)suse.de>
Tested-by: Alexander Graf <agraf(a)suse.de>
Signed-off-by: Marc Zyngier <marc.zyngier(a)arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall(a)arm.com>
---
arch/arm64/kvm/hyp/switch.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/kvm/hyp/switch.c b/arch/arm64/kvm/hyp/switch.c
index d496ef579859..ca46153d7915 100644
--- a/arch/arm64/kvm/hyp/switch.c
+++ b/arch/arm64/kvm/hyp/switch.c
@@ -98,8 +98,10 @@ static void activate_traps_vhe(struct kvm_vcpu *vcpu)
val = read_sysreg(cpacr_el1);
val |= CPACR_EL1_TTA;
val &= ~CPACR_EL1_ZEN;
- if (!update_fp_enabled(vcpu))
+ if (!update_fp_enabled(vcpu)) {
val &= ~CPACR_EL1_FPEN;
+ __activate_traps_fpsimd32(vcpu);
+ }
write_sysreg(val, cpacr_el1);
@@ -114,8 +116,10 @@ static void __hyp_text __activate_traps_nvhe(struct kvm_vcpu *vcpu)
val = CPTR_EL2_DEFAULT;
val |= CPTR_EL2_TTA | CPTR_EL2_TZ;
- if (!update_fp_enabled(vcpu))
+ if (!update_fp_enabled(vcpu)) {
val |= CPTR_EL2_TFP;
+ __activate_traps_fpsimd32(vcpu);
+ }
write_sysreg(val, cptr_el2);
}
@@ -129,7 +133,6 @@ static void __hyp_text __activate_traps(struct kvm_vcpu *vcpu)
if (cpus_have_const_cap(ARM64_HAS_RAS_EXTN) && (hcr & HCR_VSE))
write_sysreg_s(vcpu->arch.vsesr_el2, SYS_VSESR_EL2);
- __activate_traps_fpsimd32(vcpu);
if (has_vhe())
activate_traps_vhe(vcpu);
else
--
2.18.0
From: Marc Zyngier <marc.zyngier(a)arm.com>
When triggering a CoW, we unmap the RO page via an MMU notifier
(invalidate_range_start), and then populate the new PTE using another
one (change_pte). In the meantime, we'll have copied the old page
into the new one.
The problem is that the data for the new page is sitting in the
cache, and should the guest have an uncached mapping to that page
(or its MMU off), following accesses will bypass the cache.
In a way, this is similar to what happens on a translation fault:
We need to clean the page to the PoC before mapping it. So let's just
do that.
This fixes a KVM unit test regression observed on a HiSilicon platform,
and subsequently reproduced on Seattle.
Fixes: a9c0e12ebee5 ("KVM: arm/arm64: Only clean the dcache on translation fault")
Cc: stable(a)vger.kernel.org # v4.16+
Reported-by: Mike Galbraith <efault(a)gmx.de>
Signed-off-by: Marc Zyngier <marc.zyngier(a)arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall(a)arm.com>
---
virt/kvm/arm/mmu.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/virt/kvm/arm/mmu.c b/virt/kvm/arm/mmu.c
index 91aaf73b00df..111a660be3be 100644
--- a/virt/kvm/arm/mmu.c
+++ b/virt/kvm/arm/mmu.c
@@ -1860,13 +1860,20 @@ static int kvm_set_spte_handler(struct kvm *kvm, gpa_t gpa, u64 size, void *data
void kvm_set_spte_hva(struct kvm *kvm, unsigned long hva, pte_t pte)
{
unsigned long end = hva + PAGE_SIZE;
+ kvm_pfn_t pfn = pte_pfn(pte);
pte_t stage2_pte;
if (!kvm->arch.pgd)
return;
trace_kvm_set_spte_hva(hva);
- stage2_pte = pfn_pte(pte_pfn(pte), PAGE_S2);
+
+ /*
+ * We've moved a page around, probably through CoW, so let's treat it
+ * just like a translation fault and clean the cache to the PoC.
+ */
+ clean_dcache_guest_page(pfn, PAGE_SIZE);
+ stage2_pte = pfn_pte(pfn, PAGE_S2);
handle_hva_to_gpa(kvm, hva, end, &kvm_set_spte_handler, &stage2_pte);
}
--
2.18.0
The patch below does not apply to the 3.18-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 aa49d628f6e016bcec8c6f8e704b9b18ee697329 Mon Sep 17 00:00:00 2001
From: Vignesh R <vigneshr(a)ti.com>
Date: Mon, 11 Jun 2018 11:39:55 +0530
Subject: [PATCH] pwm: tiehrpwm: Don't use emulation mode bits to control PWM
output
As per AM335x TRM SPRUH73P "15.2.2.11 ePWM Behavior During Emulation",
TBCTL[15:14] only have effect during emulation suspend events (IOW,
to stop PWM when debugging using a debugger). These bits have no effect
on PWM output during normal running of system. Hence, remove code
accessing these bits as they have no role in enabling/disabling PWMs.
Fixes: 19891b20e7c2 ("pwm: pwm-tiehrpwm: PWM driver support for EHRPWM")
Cc: stable(a)vger.kernel.org
Signed-off-by: Vignesh R <vigneshr(a)ti.com>
Signed-off-by: Thierry Reding <thierry.reding(a)gmail.com>
diff --git a/drivers/pwm/pwm-tiehrpwm.c b/drivers/pwm/pwm-tiehrpwm.c
index 4c22cb395040..768176f54d5e 100644
--- a/drivers/pwm/pwm-tiehrpwm.c
+++ b/drivers/pwm/pwm-tiehrpwm.c
@@ -33,10 +33,6 @@
#define TBCTL 0x00
#define TBPRD 0x0A
-#define TBCTL_RUN_MASK (BIT(15) | BIT(14))
-#define TBCTL_STOP_NEXT 0
-#define TBCTL_STOP_ON_CYCLE BIT(14)
-#define TBCTL_FREE_RUN (BIT(15) | BIT(14))
#define TBCTL_PRDLD_MASK BIT(3)
#define TBCTL_PRDLD_SHDW 0
#define TBCTL_PRDLD_IMDT BIT(3)
@@ -360,7 +356,7 @@ static int ehrpwm_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm)
/* Channels polarity can be configured from action qualifier module */
configure_polarity(pc, pwm->hwpwm);
- /* Enable TBCLK before enabling PWM device */
+ /* Enable TBCLK */
ret = clk_enable(pc->tbclk);
if (ret) {
dev_err(chip->dev, "Failed to enable TBCLK for %s: %d\n",
@@ -368,9 +364,6 @@ static int ehrpwm_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm)
return ret;
}
- /* Enable time counter for free_run */
- ehrpwm_modify(pc->mmio_base, TBCTL, TBCTL_RUN_MASK, TBCTL_FREE_RUN);
-
return 0;
}
@@ -400,9 +393,6 @@ static void ehrpwm_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm)
/* Disabling TBCLK on PWM disable */
clk_disable(pc->tbclk);
- /* Stop Time base counter */
- ehrpwm_modify(pc->mmio_base, TBCTL, TBCTL_RUN_MASK, TBCTL_STOP_NEXT);
-
/* Disable clock on PWM disable */
pm_runtime_put_sync(chip->dev);
}
The patch below does not apply to the 4.4-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 aa49d628f6e016bcec8c6f8e704b9b18ee697329 Mon Sep 17 00:00:00 2001
From: Vignesh R <vigneshr(a)ti.com>
Date: Mon, 11 Jun 2018 11:39:55 +0530
Subject: [PATCH] pwm: tiehrpwm: Don't use emulation mode bits to control PWM
output
As per AM335x TRM SPRUH73P "15.2.2.11 ePWM Behavior During Emulation",
TBCTL[15:14] only have effect during emulation suspend events (IOW,
to stop PWM when debugging using a debugger). These bits have no effect
on PWM output during normal running of system. Hence, remove code
accessing these bits as they have no role in enabling/disabling PWMs.
Fixes: 19891b20e7c2 ("pwm: pwm-tiehrpwm: PWM driver support for EHRPWM")
Cc: stable(a)vger.kernel.org
Signed-off-by: Vignesh R <vigneshr(a)ti.com>
Signed-off-by: Thierry Reding <thierry.reding(a)gmail.com>
diff --git a/drivers/pwm/pwm-tiehrpwm.c b/drivers/pwm/pwm-tiehrpwm.c
index 4c22cb395040..768176f54d5e 100644
--- a/drivers/pwm/pwm-tiehrpwm.c
+++ b/drivers/pwm/pwm-tiehrpwm.c
@@ -33,10 +33,6 @@
#define TBCTL 0x00
#define TBPRD 0x0A
-#define TBCTL_RUN_MASK (BIT(15) | BIT(14))
-#define TBCTL_STOP_NEXT 0
-#define TBCTL_STOP_ON_CYCLE BIT(14)
-#define TBCTL_FREE_RUN (BIT(15) | BIT(14))
#define TBCTL_PRDLD_MASK BIT(3)
#define TBCTL_PRDLD_SHDW 0
#define TBCTL_PRDLD_IMDT BIT(3)
@@ -360,7 +356,7 @@ static int ehrpwm_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm)
/* Channels polarity can be configured from action qualifier module */
configure_polarity(pc, pwm->hwpwm);
- /* Enable TBCLK before enabling PWM device */
+ /* Enable TBCLK */
ret = clk_enable(pc->tbclk);
if (ret) {
dev_err(chip->dev, "Failed to enable TBCLK for %s: %d\n",
@@ -368,9 +364,6 @@ static int ehrpwm_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm)
return ret;
}
- /* Enable time counter for free_run */
- ehrpwm_modify(pc->mmio_base, TBCTL, TBCTL_RUN_MASK, TBCTL_FREE_RUN);
-
return 0;
}
@@ -400,9 +393,6 @@ static void ehrpwm_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm)
/* Disabling TBCLK on PWM disable */
clk_disable(pc->tbclk);
- /* Stop Time base counter */
- ehrpwm_modify(pc->mmio_base, TBCTL, TBCTL_RUN_MASK, TBCTL_STOP_NEXT);
-
/* Disable clock on PWM disable */
pm_runtime_put_sync(chip->dev);
}
The patch below does not apply to the 4.9-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 aa49d628f6e016bcec8c6f8e704b9b18ee697329 Mon Sep 17 00:00:00 2001
From: Vignesh R <vigneshr(a)ti.com>
Date: Mon, 11 Jun 2018 11:39:55 +0530
Subject: [PATCH] pwm: tiehrpwm: Don't use emulation mode bits to control PWM
output
As per AM335x TRM SPRUH73P "15.2.2.11 ePWM Behavior During Emulation",
TBCTL[15:14] only have effect during emulation suspend events (IOW,
to stop PWM when debugging using a debugger). These bits have no effect
on PWM output during normal running of system. Hence, remove code
accessing these bits as they have no role in enabling/disabling PWMs.
Fixes: 19891b20e7c2 ("pwm: pwm-tiehrpwm: PWM driver support for EHRPWM")
Cc: stable(a)vger.kernel.org
Signed-off-by: Vignesh R <vigneshr(a)ti.com>
Signed-off-by: Thierry Reding <thierry.reding(a)gmail.com>
diff --git a/drivers/pwm/pwm-tiehrpwm.c b/drivers/pwm/pwm-tiehrpwm.c
index 4c22cb395040..768176f54d5e 100644
--- a/drivers/pwm/pwm-tiehrpwm.c
+++ b/drivers/pwm/pwm-tiehrpwm.c
@@ -33,10 +33,6 @@
#define TBCTL 0x00
#define TBPRD 0x0A
-#define TBCTL_RUN_MASK (BIT(15) | BIT(14))
-#define TBCTL_STOP_NEXT 0
-#define TBCTL_STOP_ON_CYCLE BIT(14)
-#define TBCTL_FREE_RUN (BIT(15) | BIT(14))
#define TBCTL_PRDLD_MASK BIT(3)
#define TBCTL_PRDLD_SHDW 0
#define TBCTL_PRDLD_IMDT BIT(3)
@@ -360,7 +356,7 @@ static int ehrpwm_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm)
/* Channels polarity can be configured from action qualifier module */
configure_polarity(pc, pwm->hwpwm);
- /* Enable TBCLK before enabling PWM device */
+ /* Enable TBCLK */
ret = clk_enable(pc->tbclk);
if (ret) {
dev_err(chip->dev, "Failed to enable TBCLK for %s: %d\n",
@@ -368,9 +364,6 @@ static int ehrpwm_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm)
return ret;
}
- /* Enable time counter for free_run */
- ehrpwm_modify(pc->mmio_base, TBCTL, TBCTL_RUN_MASK, TBCTL_FREE_RUN);
-
return 0;
}
@@ -400,9 +393,6 @@ static void ehrpwm_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm)
/* Disabling TBCLK on PWM disable */
clk_disable(pc->tbclk);
- /* Stop Time base counter */
- ehrpwm_modify(pc->mmio_base, TBCTL, TBCTL_RUN_MASK, TBCTL_STOP_NEXT);
-
/* Disable clock on PWM disable */
pm_runtime_put_sync(chip->dev);
}
The patch below does not apply to the 4.9-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 ea93102f32244e3f45c8b26260be77ed0cc1d16c Mon Sep 17 00:00:00 2001
From: Yannik Sembritzki <yannik(a)sembritzki.me>
Date: Thu, 16 Aug 2018 14:05:23 +0100
Subject: [PATCH] Fix kexec forbidding kernels signed with keys in the
secondary keyring to boot
The split of .system_keyring into .builtin_trusted_keys and
.secondary_trusted_keys broke kexec, thereby preventing kernels signed by
keys which are now in the secondary keyring from being kexec'd.
Fix this by passing VERIFY_USE_SECONDARY_KEYRING to
verify_pefile_signature().
Fixes: d3bfe84129f6 ("certs: Add a secondary system keyring that can be added to dynamically")
Signed-off-by: Yannik Sembritzki <yannik(a)sembritzki.me>
Signed-off-by: David Howells <dhowells(a)redhat.com>
Cc: kexec(a)lists.infradead.org
Cc: keyrings(a)vger.kernel.org
Cc: linux-security-module(a)vger.kernel.org
Cc: stable(a)kernel.org
Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
diff --git a/arch/x86/kernel/kexec-bzimage64.c b/arch/x86/kernel/kexec-bzimage64.c
index 7326078eaa7a..278cd07228dd 100644
--- a/arch/x86/kernel/kexec-bzimage64.c
+++ b/arch/x86/kernel/kexec-bzimage64.c
@@ -532,7 +532,7 @@ static int bzImage64_cleanup(void *loader_data)
static int bzImage64_verify_sig(const char *kernel, unsigned long kernel_len)
{
return verify_pefile_signature(kernel, kernel_len,
- NULL,
+ VERIFY_USE_SECONDARY_KEYRING,
VERIFYING_KEXEC_PE_SIGNATURE);
}
#endif
On Wed, Sep 05, 2018 at 01:35:15PM +0200, Valentin Vidic wrote:
> > AFAICT, this will cause the backend to never switch to 'Closed' state
> > until the toolstack sets online to 0, which is not good IMO.
> >
> > If for example a frontend decides to close a device, the backend will
> > stay in state 'Closing' until the toolstack actually removes the disk
> > by setting online to 0.
> >
> > This will prevent resetting blk connections, as blkback will refuse to
> > switch to state XenbusStateInitWait unless it's at XenbusStateClosed
> > (see the XenbusStateInitialising case in frontend_changed), which will
> > never be reached with your patch.
Would it be possible to call xen_vbd_free before the state change?
case XenbusStateClosed:
xen_blkif_disconnect(be->blkif);
xen_vbd_free(&be->blkif->vbd);
xenbus_switch_state(dev, XenbusStateClosed);
--
Valentin
The patch below does not apply to the 4.9-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 2a3eb51e30b9ac66fe1b75877627a7e4aaeca24a Mon Sep 17 00:00:00 2001
From: Henry Willard <henry.willard(a)oracle.com>
Date: Tue, 14 Aug 2018 17:01:02 -0700
Subject: [PATCH] cpufreq: governor: Avoid accessing invalid governor_data
If cppc_cpufreq.ko is deleted at the same time that tuned-adm is
changing profiles, there is a small chance that a race can occur
between cpufreq_dbs_governor_exit() and cpufreq_dbs_governor_limits()
resulting in a system failure when the latter tries to use
policy->governor_data that has been freed by the former.
This patch uses gov_dbs_data_mutex to synchronize access.
Fixes: e788892ba3cc (cpufreq: governor: Get rid of governor events)
Signed-off-by: Henry Willard <henry.willard(a)oracle.com>
[ rjw: Subject, minor white space adjustment ]
Cc: 4.8+ <stable(a)vger.kernel.org> # 4.8+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
diff --git a/drivers/cpufreq/cpufreq_governor.c b/drivers/cpufreq/cpufreq_governor.c
index 1d50e97d49f1..6d53f7d9fc7a 100644
--- a/drivers/cpufreq/cpufreq_governor.c
+++ b/drivers/cpufreq/cpufreq_governor.c
@@ -555,12 +555,20 @@ EXPORT_SYMBOL_GPL(cpufreq_dbs_governor_stop);
void cpufreq_dbs_governor_limits(struct cpufreq_policy *policy)
{
- struct policy_dbs_info *policy_dbs = policy->governor_data;
+ struct policy_dbs_info *policy_dbs;
+
+ /* Protect gov->gdbs_data against cpufreq_dbs_governor_exit() */
+ mutex_lock(&gov_dbs_data_mutex);
+ policy_dbs = policy->governor_data;
+ if (!policy_dbs)
+ goto out;
mutex_lock(&policy_dbs->update_mutex);
cpufreq_policy_apply_limits(policy);
gov_update_sample_delay(policy_dbs, 0);
-
mutex_unlock(&policy_dbs->update_mutex);
+
+out:
+ mutex_unlock(&gov_dbs_data_mutex);
}
EXPORT_SYMBOL_GPL(cpufreq_dbs_governor_limits);
The patch below does not apply to the 4.9-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 817aef260037f33ee0f44c17fe341323d3aebd6d Mon Sep 17 00:00:00 2001
From: Yannik Sembritzki <yannik(a)sembritzki.me>
Date: Thu, 16 Aug 2018 14:05:10 +0100
Subject: [PATCH] Replace magic for trusting the secondary keyring with #define
Replace the use of a magic number that indicates that verify_*_signature()
should use the secondary keyring with a symbol.
Signed-off-by: Yannik Sembritzki <yannik(a)sembritzki.me>
Signed-off-by: David Howells <dhowells(a)redhat.com>
Cc: keyrings(a)vger.kernel.org
Cc: linux-security-module(a)vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
diff --git a/certs/system_keyring.c b/certs/system_keyring.c
index 6251d1b27f0c..81728717523d 100644
--- a/certs/system_keyring.c
+++ b/certs/system_keyring.c
@@ -15,6 +15,7 @@
#include <linux/cred.h>
#include <linux/err.h>
#include <linux/slab.h>
+#include <linux/verification.h>
#include <keys/asymmetric-type.h>
#include <keys/system_keyring.h>
#include <crypto/pkcs7.h>
@@ -230,7 +231,7 @@ int verify_pkcs7_signature(const void *data, size_t len,
if (!trusted_keys) {
trusted_keys = builtin_trusted_keys;
- } else if (trusted_keys == (void *)1UL) {
+ } else if (trusted_keys == VERIFY_USE_SECONDARY_KEYRING) {
#ifdef CONFIG_SECONDARY_TRUSTED_KEYRING
trusted_keys = secondary_trusted_keys;
#else
diff --git a/crypto/asymmetric_keys/pkcs7_key_type.c b/crypto/asymmetric_keys/pkcs7_key_type.c
index e284d9cb9237..5b2f6a2b5585 100644
--- a/crypto/asymmetric_keys/pkcs7_key_type.c
+++ b/crypto/asymmetric_keys/pkcs7_key_type.c
@@ -63,7 +63,7 @@ static int pkcs7_preparse(struct key_preparsed_payload *prep)
return verify_pkcs7_signature(NULL, 0,
prep->data, prep->datalen,
- (void *)1UL, usage,
+ VERIFY_USE_SECONDARY_KEYRING, usage,
pkcs7_view_content, prep);
}
diff --git a/include/linux/verification.h b/include/linux/verification.h
index a10549a6c7cd..cfa4730d607a 100644
--- a/include/linux/verification.h
+++ b/include/linux/verification.h
@@ -12,6 +12,12 @@
#ifndef _LINUX_VERIFICATION_H
#define _LINUX_VERIFICATION_H
+/*
+ * Indicate that both builtin trusted keys and secondary trusted keys
+ * should be used.
+ */
+#define VERIFY_USE_SECONDARY_KEYRING ((struct key *)1UL)
+
/*
* The use to which an asymmetric key is being put.
*/