This is the start of the stable review cycle for the 4.17.6 release.
There are 56 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 Jul 12 18:24:40 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.17.6-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.17.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.17.6-rc1
Sebastian Andrzej Siewior <bigeasy(a)linutronix.de>
Revert mm/vmstat.c: fix vmstat_update() preemption BUG
Dan Carpenter <dan.carpenter(a)oracle.com>
staging: comedi: quatech_daqp_cs: fix no-op loop daqp_ao_insn_write()
Jann Horn <jannh(a)google.com>
netfilter: nf_log: don't hold nf_log_mutex during user access
Tokunori Ikegami <ikegami(a)allied-telesis.co.jp>
mtd: cfi_cmdset_0002: Change erase functions to check chip good only
Tokunori Ikegami <ikegami(a)allied-telesis.co.jp>
mtd: cfi_cmdset_0002: Change erase functions to retry for error
Tokunori Ikegami <ikegami(a)allied-telesis.co.jp>
mtd: cfi_cmdset_0002: Change definition naming to retry write operation
Ross Zwisler <ross.zwisler(a)linux.intel.com>
dm: prevent DAX mounts if not supported
Ross Zwisler <ross.zwisler(a)linux.intel.com>
dax: check for QUEUE_FLAG_DAX in bdev_dax_supported()
Dave Jiang <dave.jiang(a)intel.com>
dax: change bdev_dax_supported() to support boolean returns
Darrick J. Wong <darrick.wong(a)oracle.com>
fs: allow per-device dax status checking for filesystems
Peter Rosin <peda(a)axentia.se>
i2c: smbus: kill memory leak on emulated and failed DMA SMBus xfers
Wenwen Wang <wang6495(a)umn.edu>
i2c: core: smbus: fix a potential missing-check bug
Benjamin Tissoires <benjamin.tissoires(a)redhat.com>
HID: core: allow concurrent registration of drivers
Daniel Rosenberg <drosen(a)google.com>
HID: debug: check length before copy_to_user()
Gustavo A. R. Silva <gustavo(a)embeddedor.com>
HID: hiddev: fix potential Spectre v1
Jason Andryuk <jandryuk(a)gmail.com>
HID: i2c-hid: Fix "incomplete report" noise
Jon Derrick <jonathan.derrick(a)intel.com>
ext4: check superblock mapped prior to committing
Theodore Ts'o <tytso(a)mit.edu>
ext4: add more mount time checks of the superblock
Theodore Ts'o <tytso(a)mit.edu>
ext4: add more inode number paranoia checks
Theodore Ts'o <tytso(a)mit.edu>
ext4: avoid running out of journal credits when appending to an inline file
Theodore Ts'o <tytso(a)mit.edu>
ext4: never move the system.data xattr out of the inode body
Theodore Ts'o <tytso(a)mit.edu>
ext4: clear i_data in ext4_inode_info when removing inline data
Theodore Ts'o <tytso(a)mit.edu>
ext4: include the illegal physical block in the bad map ext4_error msg
Theodore Ts'o <tytso(a)mit.edu>
ext4: verify the depth of extent tree in ext4_find_extent()
Theodore Ts'o <tytso(a)mit.edu>
ext4: only look at the bg_flags field if it is valid
Theodore Ts'o <tytso(a)mit.edu>
ext4: always check block group bounds in ext4_init_block_bitmap()
Theodore Ts'o <tytso(a)mit.edu>
ext4: make sure bitmaps and the inode table don't overlap with bg descriptors
Theodore Ts'o <tytso(a)mit.edu>
ext4: always verify the magic number in xattr blocks
Theodore Ts'o <tytso(a)mit.edu>
ext4: add corruption check in ext4_xattr_set_entry()
Theodore Ts'o <tytso(a)mit.edu>
jbd2: don't mark block as modified if the handle is out of credits
Lyude Paul <lyude(a)redhat.com>
drm/amdgpu: Dynamically probe for ATIF handle (v2)
Lyude Paul <lyude(a)redhat.com>
drm/amdgpu: Add amdgpu_atpx_get_dhandle()
Mikulas Patocka <mpatocka(a)redhat.com>
drm/udl: fix display corruption of the last line
Michel Dänzer <michel.daenzer(a)amd.com>
drm: Use kvzalloc for allocating blob property memory
Paulo Alcantara <paulo(a)paulo.ac>
cifs: Fix infinite loop when using hard mount option
Stefano Brivio <sbrivio(a)redhat.com>
cifs: Fix slab-out-of-bounds in send_set_info() on SMB2 ACE setting
Paulo Alcantara <paulo(a)paulo.ac>
cifs: Fix memory leak in smb2_set_ea()
Lars Persson <lars.persson(a)axis.com>
cifs: Fix use after free of a mid_q_entry
Roger Quadros <rogerq(a)ti.com>
ARM: dts: dra7: Disable metastability workaround for USB2
Adam Ford <aford173(a)gmail.com>
ARM: dts: omap3: Fix am3517 mdio and emac clock references
Nick Dyer <nick(a)shmanahar.org>
ARM: dts: imx51-zii-rdu1: fix touchscreen pinctrl
Jason Gunthorpe <jgg(a)ziepe.ca>
vfio: Use get_user_pages_longterm correctly
Lars Ellenberg <lars.ellenberg(a)linbit.com>
drbd: fix access after free
Christian Borntraeger <borntraeger(a)de.ibm.com>
s390: Correct register corruption in critical section cleanup
David Disseldorp <ddiss(a)suse.de>
scsi: target: Fix truncated PR-in ReadKeys response
Raghava Aditya Renukunta <RaghavaAditya.Renukunta(a)microsemi.com>
scsi: aacraid: Fix PD performance regression over incorrect qd being set
Jann Horn <jannh(a)google.com>
scsi: sg: mitigate read/write abuse
Changbin Du <changbin.du(a)intel.com>
tracing: Fix missing return symbol in function_graph output
Arnd Bergmann <arnd(a)arndb.de>
tracing: Avoid string overflow
Lyude Paul <lyude(a)redhat.com>
drm/amdgpu: Make struct amdgpu_atif private to amdgpu_acpi.c
Jouke Witteveen <j.witteveen(a)gmail.com>
ACPI / battery: Safe unregistering of hooks
Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
ACPICA: Drop leading newlines from error messages
Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
PCI / ACPI / PM: Resume bridges w/o drivers on suspend-to-RAM
Pavel Tatashin <pasha.tatashin(a)oracle.com>
mm: teach dump_page() to correctly output poisoned struct pages
Cannon Matthews <cannonmatthews(a)google.com>
mm: hugetlb: yield when prepping struct pages
Janosch Frank <frankja(a)linux.ibm.com>
userfaultfd: hugetlbfs: fix userfaultfd_huge_must_wait() pte access
-------------
Diffstat:
Makefile | 4 +-
arch/arm/boot/dts/am3517.dtsi | 4 +
arch/arm/boot/dts/dra7.dtsi | 2 +-
arch/arm/boot/dts/imx51-zii-rdu1.dts | 2 +-
arch/s390/kernel/entry.S | 4 +-
drivers/acpi/acpica/uterror.c | 6 +-
drivers/acpi/battery.c | 9 +-
drivers/block/drbd/drbd_worker.c | 2 +-
drivers/dax/super.c | 48 +++++----
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 46 ++------
drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | 131 +++++++++++++++++++----
drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c | 6 ++
drivers/gpu/drm/drm_property.c | 6 +-
drivers/gpu/drm/udl/udl_fb.c | 5 +-
drivers/gpu/drm/udl/udl_transfer.c | 11 +-
drivers/hid/hid-core.c | 5 +-
drivers/hid/hid-debug.c | 8 +-
drivers/hid/i2c-hid/i2c-hid.c | 2 +-
drivers/hid/usbhid/hiddev.c | 11 ++
drivers/i2c/i2c-core-smbus.c | 12 ++-
drivers/md/dm-table.c | 7 +-
drivers/md/dm.c | 3 +-
drivers/mtd/chips/cfi_cmdset_0002.c | 30 ++++--
drivers/pci/pci-acpi.c | 12 +++
drivers/scsi/aacraid/aachba.c | 15 ++-
drivers/scsi/sg.c | 42 +++++++-
drivers/staging/comedi/drivers/quatech_daqp_cs.c | 2 +-
drivers/target/target_core_pr.c | 15 ++-
drivers/vfio/vfio_iommu_type1.c | 16 ++-
fs/cifs/cifsglob.h | 1 +
fs/cifs/cifsproto.h | 1 +
fs/cifs/cifssmb.c | 10 +-
fs/cifs/connect.c | 8 +-
fs/cifs/smb1ops.c | 1 +
fs/cifs/smb2ops.c | 3 +
fs/cifs/smb2pdu.c | 25 +++--
fs/cifs/smb2transport.c | 1 +
fs/cifs/transport.c | 18 +++-
fs/ext2/super.c | 3 +-
fs/ext4/balloc.c | 21 ++--
fs/ext4/ext4.h | 8 --
fs/ext4/ext4_extents.h | 1 +
fs/ext4/extents.c | 6 ++
fs/ext4/ialloc.c | 14 ++-
fs/ext4/inline.c | 39 +------
fs/ext4/inode.c | 7 +-
fs/ext4/mballoc.c | 6 +-
fs/ext4/super.c | 89 ++++++++++++---
fs/ext4/xattr.c | 40 ++++---
fs/jbd2/transaction.c | 9 +-
fs/userfaultfd.c | 12 ++-
fs/xfs/xfs_ioctl.c | 3 +-
fs/xfs/xfs_iops.c | 30 +++++-
fs/xfs/xfs_super.c | 10 +-
include/linux/dax.h | 11 +-
include/linux/hid.h | 3 +-
kernel/trace/trace_events_hist.c | 2 +-
kernel/trace/trace_functions_graph.c | 5 +-
mm/debug.c | 18 +++-
mm/hugetlb.c | 1 +
mm/vmstat.c | 2 -
net/netfilter/nf_log.c | 9 +-
62 files changed, 596 insertions(+), 287 deletions(-)
This is the start of the stable review cycle for the 4.14.55 release.
There are 53 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 Jul 12 18:24:36 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.55-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.55-rc1
Sebastian Andrzej Siewior <bigeasy(a)linutronix.de>
Revert mm/vmstat.c: fix vmstat_update() preemption BUG
Sebastian Andrzej Siewior <bigeasy(a)linutronix.de>
sched, tracing: Fix trace_sched_pi_setprio() for deboosting
Dan Carpenter <dan.carpenter(a)oracle.com>
staging: comedi: quatech_daqp_cs: fix no-op loop daqp_ao_insn_write()
Jann Horn <jannh(a)google.com>
netfilter: nf_log: don't hold nf_log_mutex during user access
Tokunori Ikegami <ikegami(a)allied-telesis.co.jp>
mtd: cfi_cmdset_0002: Change erase functions to check chip good only
Tokunori Ikegami <ikegami(a)allied-telesis.co.jp>
mtd: cfi_cmdset_0002: Change erase functions to retry for error
Tokunori Ikegami <ikegami(a)allied-telesis.co.jp>
mtd: cfi_cmdset_0002: Change definition naming to retry write operation
Ross Zwisler <ross.zwisler(a)linux.intel.com>
dm: prevent DAX mounts if not supported
Mike Snitzer <snitzer(a)redhat.com>
dm: set QUEUE_FLAG_DAX accordingly in dm_table_set_restrictions()
Ross Zwisler <ross.zwisler(a)linux.intel.com>
dax: check for QUEUE_FLAG_DAX in bdev_dax_supported()
Dave Jiang <dave.jiang(a)intel.com>
dax: change bdev_dax_supported() to support boolean returns
Darrick J. Wong <darrick.wong(a)oracle.com>
fs: allow per-device dax status checking for filesystems
Martin Kaiser <martin(a)kaiser.cx>
mtd: rawnand: mxc: set spare area size register explicitly
Brad Love <brad(a)nextdimension.cc>
media: cx25840: Use subdev host data for PLL override
Rasmus Villemoes <linux(a)rasmusvillemoes.dk>
Kbuild: fix # escaping in .cmd files for future Make
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Revert "dpaa_eth: fix error in dpaa_remove()"
Jaegeuk Kim <jaegeuk(a)kernel.org>
f2fs: truncate preallocated blocks in error case
Sakari Ailus <sakari.ailus(a)linux.intel.com>
media: vb2: core: Finish buffers at the end of the stream
Naoya Horiguchi <n-horiguchi(a)ah.jp.nec.com>
mm: hwpoison: disable memory error handling on 1GB hugepage
Rakib Mullick <rakib.mullick(a)gmail.com>
irq/core: Fix boot crash when the irqaffinity= boot parameter is passed on CPUMASK_OFFSTACK=y kernels(v1)
Daniel Rosenberg <drosen(a)google.com>
HID: debug: check length before copy_to_user()
Gustavo A. R. Silva <gustavo(a)embeddedor.com>
HID: hiddev: fix potential Spectre v1
Jason Andryuk <jandryuk(a)gmail.com>
HID: i2c-hid: Fix "incomplete report" noise
Ilya Dryomov <idryomov(a)gmail.com>
block: cope with WRITE ZEROES failing in blkdev_issue_zeroout()
Ilya Dryomov <idryomov(a)gmail.com>
block: factor out __blkdev_issue_zero_pages()
Jon Derrick <jonathan.derrick(a)intel.com>
ext4: check superblock mapped prior to committing
Theodore Ts'o <tytso(a)mit.edu>
ext4: add more mount time checks of the superblock
Theodore Ts'o <tytso(a)mit.edu>
ext4: add more inode number paranoia checks
Theodore Ts'o <tytso(a)mit.edu>
ext4: avoid running out of journal credits when appending to an inline file
Theodore Ts'o <tytso(a)mit.edu>
ext4: never move the system.data xattr out of the inode body
Theodore Ts'o <tytso(a)mit.edu>
ext4: clear i_data in ext4_inode_info when removing inline data
Theodore Ts'o <tytso(a)mit.edu>
ext4: include the illegal physical block in the bad map ext4_error msg
Theodore Ts'o <tytso(a)mit.edu>
ext4: verify the depth of extent tree in ext4_find_extent()
Theodore Ts'o <tytso(a)mit.edu>
ext4: only look at the bg_flags field if it is valid
Theodore Ts'o <tytso(a)mit.edu>
ext4: always check block group bounds in ext4_init_block_bitmap()
Theodore Ts'o <tytso(a)mit.edu>
ext4: make sure bitmaps and the inode table don't overlap with bg descriptors
Theodore Ts'o <tytso(a)mit.edu>
ext4: always verify the magic number in xattr blocks
Theodore Ts'o <tytso(a)mit.edu>
ext4: add corruption check in ext4_xattr_set_entry()
Theodore Ts'o <tytso(a)mit.edu>
jbd2: don't mark block as modified if the handle is out of credits
Mikulas Patocka <mpatocka(a)redhat.com>
drm/udl: fix display corruption of the last line
Michel Dänzer <michel.daenzer(a)amd.com>
drm: Use kvzalloc for allocating blob property memory
Stefano Brivio <sbrivio(a)redhat.com>
cifs: Fix slab-out-of-bounds in send_set_info() on SMB2 ACE setting
Paulo Alcantara <paulo(a)paulo.ac>
cifs: Fix infinite loop when using hard mount option
Paulo Alcantara <paulo(a)paulo.ac>
cifs: Fix memory leak in smb2_set_ea()
Lars Persson <lars.persson(a)axis.com>
cifs: Fix use after free of a mid_q_entry
Jason Gunthorpe <jgg(a)mellanox.com>
vfio: Use get_user_pages_longterm correctly
Lars Ellenberg <lars.ellenberg(a)linbit.com>
drbd: fix access after free
Christian Borntraeger <borntraeger(a)de.ibm.com>
s390: Correct register corruption in critical section cleanup
David Disseldorp <ddiss(a)suse.de>
scsi: target: Fix truncated PR-in ReadKeys response
Jann Horn <jannh(a)google.com>
scsi: sg: mitigate read/write abuse
Changbin Du <changbin.du(a)intel.com>
tracing: Fix missing return symbol in function_graph output
Cannon Matthews <cannonmatthews(a)google.com>
mm: hugetlb: yield when prepping struct pages
Janosch Frank <frankja(a)linux.ibm.com>
userfaultfd: hugetlbfs: fix userfaultfd_huge_must_wait() pte access
-------------
Diffstat:
Makefile | 4 +-
arch/s390/kernel/entry.S | 4 +-
block/blk-lib.c | 108 +++++++++++++++--------
drivers/block/drbd/drbd_worker.c | 2 +-
drivers/dax/super.c | 42 +++++----
drivers/gpu/drm/drm_property.c | 6 +-
drivers/gpu/drm/udl/udl_fb.c | 5 +-
drivers/gpu/drm/udl/udl_transfer.c | 11 ++-
drivers/hid/hid-debug.c | 8 +-
drivers/hid/i2c-hid/i2c-hid.c | 2 +-
drivers/hid/usbhid/hiddev.c | 11 +++
drivers/md/dm-table.c | 9 +-
drivers/md/dm.c | 6 +-
drivers/media/i2c/cx25840/cx25840-core.c | 28 ++++--
drivers/media/v4l2-core/videobuf2-core.c | 9 ++
drivers/mtd/chips/cfi_cmdset_0002.c | 30 +++++--
drivers/mtd/nand/mxc_nand.c | 5 +-
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 2 +-
drivers/scsi/sg.c | 42 ++++++++-
drivers/staging/comedi/drivers/quatech_daqp_cs.c | 2 +-
drivers/target/target_core_pr.c | 15 ++--
drivers/vfio/vfio_iommu_type1.c | 16 ++--
fs/cifs/cifsglob.h | 1 +
fs/cifs/cifsproto.h | 1 +
fs/cifs/cifssmb.c | 10 ++-
fs/cifs/connect.c | 8 +-
fs/cifs/smb1ops.c | 1 +
fs/cifs/smb2ops.c | 3 +
fs/cifs/smb2pdu.c | 25 ++++--
fs/cifs/smb2transport.c | 1 +
fs/cifs/transport.c | 18 +++-
fs/ext2/super.c | 3 +-
fs/ext4/balloc.c | 21 +++--
fs/ext4/ext4.h | 8 --
fs/ext4/ext4_extents.h | 1 +
fs/ext4/extents.c | 6 ++
fs/ext4/ialloc.c | 14 ++-
fs/ext4/inline.c | 39 +-------
fs/ext4/inode.c | 7 +-
fs/ext4/mballoc.c | 6 +-
fs/ext4/super.c | 89 ++++++++++++++++---
fs/ext4/xattr.c | 40 ++++-----
fs/f2fs/file.c | 9 ++
fs/jbd2/transaction.c | 9 +-
fs/userfaultfd.c | 12 +--
fs/xfs/xfs_ioctl.c | 3 +-
fs/xfs/xfs_iops.c | 30 +++++--
fs/xfs/xfs_super.c | 10 ++-
include/linux/dax.h | 11 +--
include/linux/mm.h | 1 +
include/trace/events/sched.h | 4 +-
kernel/irq/irqdesc.c | 6 +-
kernel/trace/trace_functions_graph.c | 5 +-
mm/hugetlb.c | 1 +
mm/memory-failure.c | 16 ++++
mm/vmstat.c | 2 -
net/netfilter/nf_log.c | 9 +-
scripts/Kbuild.include | 5 +-
tools/build/Build.include | 5 +-
tools/objtool/Makefile | 2 +-
tools/scripts/Makefile.include | 2 +
61 files changed, 556 insertions(+), 255 deletions(-)
This is the start of the stable review cycle for the 3.18.115 release.
There are 23 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 Jul 12 18:22: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/v3.x/stable-review/patch-3.18.115-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.115-rc1
Jann Horn <jannh(a)google.com>
netfilter: nf_log: don't hold nf_log_mutex during user access
Tokunori Ikegami <ikegami(a)allied-telesis.co.jp>
mtd: cfi_cmdset_0002: Change erase functions to check chip good only
Tokunori Ikegami <ikegami(a)allied-telesis.co.jp>
mtd: cfi_cmdset_0002: Change erase functions to retry for error
Tokunori Ikegami <ikegami(a)allied-telesis.co.jp>
mtd: cfi_cmdset_0002: Change definition naming to retry write operation
Martin Kaiser <martin(a)kaiser.cx>
mtd: rawnand: mxc: set spare area size register explicitly
Mikulas Patocka <mpatocka(a)redhat.com>
dm bufio: drop the lock when doing GFP_NOIO allocation
Douglas Anderson <dianders(a)chromium.org>
dm bufio: avoid sleeping while holding the dm_bufio lock
Brad Love <brad(a)nextdimension.cc>
media: cx25840: Use subdev host data for PLL override
Daniel Rosenberg <drosen(a)google.com>
HID: debug: check length before copy_to_user()
Jason Andryuk <jandryuk(a)gmail.com>
HID: i2c-hid: Fix "incomplete report" noise
Theodore Ts'o <tytso(a)mit.edu>
ext4: add more mount time checks of the superblock
Theodore Ts'o <tytso(a)mit.edu>
ext4: clear i_data in ext4_inode_info when removing inline data
Theodore Ts'o <tytso(a)mit.edu>
ext4: make sure bitmaps and the inode table don't overlap with bg descriptors
Paulo Alcantara <paulo(a)paulo.ac>
cifs: Fix infinite loop when using hard mount option
Jann Horn <jannh(a)google.com>
scsi: sg: mitigate read/write abuse
Finn Thain <fthain(a)telegraphics.com.au>
net/sonic: Use dma_mapping_error()
Josh Hill <josh(a)joshuajhill.com>
net: qmi_wwan: Add Netgear Aircard 779S
Ivan Bornyakov <brnkv.i1(a)gmail.com>
atm: zatm: fix memcmp casting
Paolo Abeni <pabeni(a)redhat.com>
netfilter: ebtables: handle string from userspace with care
Richard Weinberger <richard(a)nod.at>
ubi: fastmap: Correctly handle interrupted erasures in EBA
Dave Hansen <dave.hansen(a)linux.intel.com>
x86/boot: Fix early command-line parsing when matching at end
Laura Abbott <labbott(a)redhat.com>
staging: android: ion: Return an ERR_PTR in ion_map_kernel
Tetsuo Handa <penguin-kernel(a)I-love.SAKURA.ne.jp>
n_tty: Fix stall at n_tty_receive_char_special().
-------------
Diffstat:
Makefile | 4 +-
arch/x86/lib/cmdline.c | 34 ++++++++----
drivers/atm/zatm.c | 4 +-
drivers/hid/hid-debug.c | 8 ++-
drivers/hid/i2c-hid/i2c-hid.c | 2 +-
drivers/md/dm-bufio.c | 15 +++++-
drivers/media/i2c/cx25840/cx25840-core.c | 28 +++++++---
drivers/mtd/chips/cfi_cmdset_0002.c | 30 +++++++----
drivers/mtd/nand/mxc_nand.c | 5 +-
drivers/mtd/ubi/eba.c | 92 +++++++++++++++++++++++++++++++-
drivers/net/ethernet/natsemi/sonic.c | 2 +-
drivers/net/usb/qmi_wwan.c | 1 +
drivers/scsi/sg.c | 42 ++++++++++++++-
drivers/staging/android/ion/ion_heap.c | 2 +-
drivers/tty/n_tty.c | 13 +++--
fs/cifs/cifssmb.c | 10 +++-
fs/cifs/smb2pdu.c | 18 ++++---
fs/ext4/inline.c | 1 +
fs/ext4/super.c | 62 +++++++++++++++++----
net/bridge/netfilter/ebtables.c | 3 +-
net/netfilter/nf_log.c | 9 ++--
21 files changed, 318 insertions(+), 67 deletions(-)
We would like to introduce our image editing for you.
. Cut out, masking, clipping path, deep etching, transparent background
Colour correction,
black and white, light and shadows etc.
. Dust cleaning, spot cleaning
. Beauty retouching, skin retouching, face retouching, body retouching
. Product image Retouching
. Wedding & Event Album Design.
. Portrait image Retouching
We give you editing test on your photos.
Thanks,
Julie Ryan
From: Dan Carpenter <dan.carpenter(a)oracle.com>
We accidentally removed the check for negative returns
without considering the issue of type promotion.
The "if_version_length" variable is type size_t so if __mei_cl_recv()
returns a negative then "bytes_recv" is type promoted
to a high positive value and treated as success.
Cc: <stable(a)vger.kernel.org>
Fixes: 582ab27a063a ("mei: bus: fix received data size check in NFC fixup")
Signed-off-by: Dan Carpenter <dan.carpenter(a)oracle.com>
Signed-off-by: Tomas Winkler <tomas.winkler(a)intel.com>
---
V2: rebase
drivers/misc/mei/bus-fixup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/misc/mei/bus-fixup.c b/drivers/misc/mei/bus-fixup.c
index e45fe826d87d..65e28be3c8cc 100644
--- a/drivers/misc/mei/bus-fixup.c
+++ b/drivers/misc/mei/bus-fixup.c
@@ -341,7 +341,7 @@ static int mei_nfc_if_version(struct mei_cl *cl,
ret = 0;
bytes_recv = __mei_cl_recv(cl, (u8 *)reply, if_version_length, 0, 0);
- if (bytes_recv < if_version_length) {
+ if (bytes_recv < 0 || bytes_recv < if_version_length) {
dev_err(bus->dev, "Could not read IF version\n");
ret = -EIO;
goto err;
--
2.14.4
After commit 7f56b58a92aaf2c ("locking/mcs: Use smp_cond_load_acquire()
in MCS spin loop") Loongson-3 fails to boot. This is because Loongson-3
has SFB (Store Fill Buffer) and the weak-ordering may cause READ_ONCE()
to get an old value in a tight loop. So in smp_cond_load_acquire() we
need a __smp_rmb() before the READ_ONCE() loop.
This patch introduce a Loongson-specific smp_cond_load_acquire(). And
it should be backported to as early as linux-4.5, in which release the
smp_cond_acquire() is introduced.
There may be other cases where memory barriers is needed, we will fix
them one by one.
Cc: stable(a)vger.kernel.org
Signed-off-by: Huacai Chen <chenhc(a)lemote.com>
---
arch/mips/include/asm/barrier.h | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/arch/mips/include/asm/barrier.h b/arch/mips/include/asm/barrier.h
index a5eb1bb..e8c4c63 100644
--- a/arch/mips/include/asm/barrier.h
+++ b/arch/mips/include/asm/barrier.h
@@ -222,6 +222,24 @@
#define __smp_mb__before_atomic() __smp_mb__before_llsc()
#define __smp_mb__after_atomic() smp_llsc_mb()
+#ifdef CONFIG_CPU_LOONGSON3
+/* Loongson-3 need a __smp_rmb() before READ_ONCE() loop */
+#define smp_cond_load_acquire(ptr, cond_expr) \
+({ \
+ typeof(ptr) __PTR = (ptr); \
+ typeof(*ptr) VAL; \
+ __smp_rmb(); \
+ for (;;) { \
+ VAL = READ_ONCE(*__PTR); \
+ if (cond_expr) \
+ break; \
+ cpu_relax(); \
+ } \
+ __smp_rmb(); \
+ VAL; \
+})
+#endif /* CONFIG_CPU_LOONGSON3 */
+
#include <asm-generic/barrier.h>
#endif /* __ASM_BARRIER_H */
--
2.7.0
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 764baba80168ad3adafb521d2ab483ccbc49e344 Mon Sep 17 00:00:00 2001
From: Amir Goldstein <amir73il(a)gmail.com>
Date: Sun, 4 Feb 2018 15:35:09 +0200
Subject: [PATCH] ovl: hash non-dir by lower inode for fsnotify
Commit 31747eda41ef ("ovl: hash directory inodes for fsnotify")
fixed an issue of inotify watch on directory that stops getting
events after dropping dentry caches.
A similar issue exists for non-dir non-upper files, for example:
$ mkdir -p lower upper work merged
$ touch lower/foo
$ mount -t overlay -o
lowerdir=lower,workdir=work,upperdir=upper none merged
$ inotifywait merged/foo &
$ echo 2 > /proc/sys/vm/drop_caches
$ cat merged/foo
inotifywait doesn't get the OPEN event, because ovl_lookup() called
from 'cat' allocates a new overlay inode and does not reuse the
watched inode.
Fix this by hashing non-dir overlay inodes by lower real inode in
the following cases that were not hashed before this change:
- A non-upper overlay mount
- A lower non-hardlink when index=off
A helper ovl_hash_bylower() was added to put all the logic and
documentation about which real inode an overlay inode is hashed by
into one place.
The issue dates back to initial version of overlayfs, but this
patch depends on ovl_inode code that was introduced in kernel v4.13.
Cc: <stable(a)vger.kernel.org> #v4.13
Signed-off-by: Amir Goldstein <amir73il(a)gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi(a)redhat.com>
diff --git a/fs/overlayfs/inode.c b/fs/overlayfs/inode.c
index fcd97b783fa1..3b1bd469accd 100644
--- a/fs/overlayfs/inode.c
+++ b/fs/overlayfs/inode.c
@@ -669,38 +669,59 @@ struct inode *ovl_lookup_inode(struct super_block *sb, struct dentry *real,
return inode;
}
+/*
+ * Does overlay inode need to be hashed by lower inode?
+ */
+static bool ovl_hash_bylower(struct super_block *sb, struct dentry *upper,
+ struct dentry *lower, struct dentry *index)
+{
+ struct ovl_fs *ofs = sb->s_fs_info;
+
+ /* No, if pure upper */
+ if (!lower)
+ return false;
+
+ /* Yes, if already indexed */
+ if (index)
+ return true;
+
+ /* Yes, if won't be copied up */
+ if (!ofs->upper_mnt)
+ return true;
+
+ /* No, if lower hardlink is or will be broken on copy up */
+ if ((upper || !ovl_indexdir(sb)) &&
+ !d_is_dir(lower) && d_inode(lower)->i_nlink > 1)
+ return false;
+
+ /* No, if non-indexed upper with NFS export */
+ if (sb->s_export_op && upper)
+ return false;
+
+ /* Otherwise, hash by lower inode for fsnotify */
+ return true;
+}
+
struct inode *ovl_get_inode(struct super_block *sb, struct dentry *upperdentry,
struct dentry *lowerdentry, struct dentry *index,
unsigned int numlower)
{
- struct ovl_fs *ofs = sb->s_fs_info;
struct inode *realinode = upperdentry ? d_inode(upperdentry) : NULL;
struct inode *inode;
- /* Already indexed or could be indexed on copy up? */
- bool indexed = (index || (ovl_indexdir(sb) && !upperdentry));
- struct dentry *origin = indexed ? lowerdentry : NULL;
+ bool bylower = ovl_hash_bylower(sb, upperdentry, lowerdentry, index);
bool is_dir;
- if (WARN_ON(upperdentry && indexed && !lowerdentry))
- return ERR_PTR(-EIO);
-
if (!realinode)
realinode = d_inode(lowerdentry);
/*
- * Copy up origin (lower) may exist for non-indexed non-dir upper, but
- * we must not use lower as hash key in that case.
- * Hash non-dir that is or could be indexed by origin inode.
- * Hash dir that is or could be merged by origin inode.
- * Hash pure upper and non-indexed non-dir by upper inode.
- * Hash non-indexed dir by upper inode for NFS export.
+ * Copy up origin (lower) may exist for non-indexed upper, but we must
+ * not use lower as hash key if this is a broken hardlink.
*/
is_dir = S_ISDIR(realinode->i_mode);
- if (is_dir && (indexed || !sb->s_export_op || !ofs->upper_mnt))
- origin = lowerdentry;
-
- if (upperdentry || origin) {
- struct inode *key = d_inode(origin ?: upperdentry);
+ if (upperdentry || bylower) {
+ struct inode *key = d_inode(bylower ? lowerdentry :
+ upperdentry);
unsigned int nlink = is_dir ? 1 : realinode->i_nlink;
inode = iget5_locked(sb, (unsigned long) key,
@@ -728,6 +749,7 @@ struct inode *ovl_get_inode(struct super_block *sb, struct dentry *upperdentry,
nlink = ovl_get_nlink(lowerdentry, upperdentry, nlink);
set_nlink(inode, nlink);
} else {
+ /* Lower hardlink that will be broken on copy up */
inode = new_inode(sb);
if (!inode)
goto out_nomem;
On 11/07/18 11:15, Woodhouse, David wrote:
> On Wed, 2018-05-30 at 13:09 +0200, Juergen Gross wrote:
>> There is no need to set the same capabilities for each cpu
>> individually. This can easily be done for all cpus when starting the
>> kernel.
>>
>> Upstream commit: 0808e80cb760de2733c0527d2090ed2205a1eef8 ("xen: set
>> cpu capabilities from xen_start_kernel()")
>>
>> Signed-off-by: Juergen Gross <jgross(a)suse.com>
>> Reviewed-by: Boris Ostrovsky <boris.ostrovsky(a)oracle.com>
>
> That breaks PV guests because they get KAISER enabled — when
> kaiser_check_boottime_disable() runs, X86_FEATURE_XENPV isn't set.
Which kernel version are you talking about?
With upstream commit 60d3450167433f2d099ce2869dc52dd9e7dc9b29 which will
be part of next stable-4.9 everything is fine.
Juergen
Changes since v3 [1]:
* Collect Logan's reviewed-by on patch 3
* Collect John's and Joe's tested-by on patch 8
* Update the changelog for patch 1 and 7 to better explain the
EXPORT_SYMBOL_GPL rationale.
* Update the changelog for patch 2 to clarify that it is a cleanup to
make the following patch-3 fix easier
[1]: https://lkml.org/lkml/2018/6/19/108
---
Hi Andrew,
As requested, here is a resend of the devm_memremap_pages() fixups.
Please consider for 4.18.
---
As ZONE_DEVICE continues to attract new users, it is imperative to keep
all users consolidated on devm_memremap_pages() as the interface for
create "device pages".
The devm_memremap_pages() implementation was recently reworked to make
it more generic for arbitrary users, like the proposed peer-to-peer
PCI-E enabling. HMM pre-dated this rework and opted to duplicate
devm_memremap_pages() as hmm_devmem_pages_create().
Rework hmm to be a consumer of devm_memremap_pages() directly and fix up
the licensing on the exports given the deep dependencies and exposure of
core mm internals.
With the exports of devm_memremap_pages() and hmm fixed up we can fix
the regression of inadvertently making put_page() have EXPORT_SYMBOL_GPL
dependencies, which breaks consumers like OpenAFS.
The series was tested against v4.18-rc2.
---
Dan Williams (8):
mm, devm_memremap_pages: Mark devm_memremap_pages() EXPORT_SYMBOL_GPL
mm, devm_memremap_pages: Kill mapping "System RAM" support
mm, devm_memremap_pages: Fix shutdown handling
mm, devm_memremap_pages: Add MEMORY_DEVICE_PRIVATE support
mm, hmm: Use devm semantics for hmm_devmem_{add,remove}
mm, hmm: Replace hmm_devmem_pages_create() with devm_memremap_pages()
mm, hmm: Mark hmm_devmem_{add,add_resource} EXPORT_SYMBOL_GPL
mm: Fix exports that inadvertently make put_page() EXPORT_SYMBOL_GPL
drivers/dax/pmem.c | 10 -
drivers/nvdimm/pmem.c | 18 +-
include/linux/hmm.h | 4
include/linux/memremap.h | 7 +
kernel/memremap.c | 89 +++++++----
mm/hmm.c | 306 +++++--------------------------------
tools/testing/nvdimm/test/iomap.c | 21 ++-
7 files changed, 132 insertions(+), 323 deletions(-)
For the word write it is checked if the chip has the correct value.
But it is not checked for the write buffer as only checked if ready.
To make sure for the write buffer change to check the value.
It is enough as this patch is only checking the last written word.
Since it is described by data sheets to check the operation status.
Signed-off-by: Tokunori Ikegami <ikegami(a)allied-telesis.co.jp>
Reviewed-by: Joakim Tjernlund <Joakim.Tjernlund(a)infinera.com>
Cc: Chris Packham <chris.packham(a)alliedtelesis.co.nz>
Cc: Brian Norris <computersforpeace(a)gmail.com>
Cc: David Woodhouse <dwmw2(a)infradead.org>
Cc: Boris Brezillon <boris.brezillon(a)free-electrons.com>
Cc: Marek Vasut <marek.vasut(a)gmail.com>
Cc: Richard Weinberger <richard(a)nod.at>
Cc: Cyrille Pitchen <cyrille.pitchen(a)wedev4u.fr>
Cc: linux-mtd(a)lists.infradead.org
Cc: stable(a)vger.kernel.org
Signed-off-by: Boris Brezillon <boris.brezillon(a)bootlin.com>
---
drivers/mtd/chips/cfi_cmdset_0002.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
index 692902df2598..9ab521d25ea2 100644
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -1880,7 +1880,7 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
if (time_after(jiffies, timeo) && !chip_ready(map, adr))
break;
- if (chip_ready(map, adr)) {
+ if (chip_good(map, adr, datum)) {
xip_enable(map, chip, adr);
goto op_done;
}
--
2.16.1
When removing the global bit from __supported_pte_mask do the same for
__default_kernel_pte_mask in order to avoid the WARN_ONCE() in
check_pgprot() when setting a kernel pte before having called
init_mem_mapping().
Cc: <stable(a)vger.kernel.org> # 4.17
Reported-by: Michael Young <m.a.young(a)durham.ac.uk>
Signed-off-by: Juergen Gross <jgross(a)suse.com>
---
arch/x86/xen/enlighten_pv.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 0f4cd9e5bed4..cf7b13d3e911 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -1230,6 +1230,7 @@ asmlinkage __visible void __init xen_start_kernel(void)
/* Prevent unwanted bits from being set in PTEs. */
__supported_pte_mask &= ~_PAGE_GLOBAL;
+ __default_kernel_pte_mask &= ~_PAGE_GLOBAL;
/*
* Prevent page tables from being allocated in highmem, even
--
2.13.7
Upstream commit 28557cc106e6d2aa8b8c5c7687ea9f8055ff3911
The commit c7f26ccfb2c3 ("mm/vmstat.c: fix vmstat_update() preemption
BUG") does not fix a bug but papers over it. The reported and author
never came back with an explanation nor was the symptom reproduced by
someone else. The commit was reverted upstream but it made its was to
the stable tree therefore I ask there for a revert, too.
Please include this patch in the v4.14 stable tree.
Sebastian
Upstream commit 4ff648decf4712d39f184fc2df3163f43975575a
Fixes output of the trace_sched_pi_setprio() trace event during deboost.
Please include the patch in everything maintained since v4.12 which is
v4.14 and v4.17.
Sebastian
From: Dan Carpenter <dan.carpenter(a)oracle.com>
[ Upstream commit 1376b0a2160319125c3a2822e8c09bd283cd8141 ]
There is a '>' vs '<' typo so this loop is a no-op.
Fixes: d35dcc89fc93 ("staging: comedi: quatech_daqp_cs: fix daqp_ao_insn_write()")
Signed-off-by: Dan Carpenter <dan.carpenter(a)oracle.com>
Reviewed-by: Ian Abbott <abbotti(a)mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/staging/comedi/drivers/quatech_daqp_cs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/comedi/drivers/quatech_daqp_cs.c b/drivers/staging/comedi/drivers/quatech_daqp_cs.c
index e9e43139157d..769a94015117 100644
--- a/drivers/staging/comedi/drivers/quatech_daqp_cs.c
+++ b/drivers/staging/comedi/drivers/quatech_daqp_cs.c
@@ -642,7 +642,7 @@ static int daqp_ao_insn_write(struct comedi_device *dev,
/* Make sure D/A update mode is direct update */
outb(0, dev->iobase + DAQP_AUX_REG);
- for (i = 0; i > insn->n; i++) {
+ for (i = 0; i < insn->n; i++) {
unsigned val = data[i];
int ret;
--
2.18.0
From: Dan Carpenter <dan.carpenter(a)oracle.com>
[ Upstream commit 1376b0a2160319125c3a2822e8c09bd283cd8141 ]
There is a '>' vs '<' typo so this loop is a no-op.
Fixes: d35dcc89fc93 ("staging: comedi: quatech_daqp_cs: fix daqp_ao_insn_write()")
Signed-off-by: Dan Carpenter <dan.carpenter(a)oracle.com>
Reviewed-by: Ian Abbott <abbotti(a)mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/staging/comedi/drivers/quatech_daqp_cs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/comedi/drivers/quatech_daqp_cs.c b/drivers/staging/comedi/drivers/quatech_daqp_cs.c
index ea194aa01a64..257b0daff01f 100644
--- a/drivers/staging/comedi/drivers/quatech_daqp_cs.c
+++ b/drivers/staging/comedi/drivers/quatech_daqp_cs.c
@@ -642,7 +642,7 @@ static int daqp_ao_insn_write(struct comedi_device *dev,
/* Make sure D/A update mode is direct update */
outb(0, dev->iobase + DAQP_AUX_REG);
- for (i = 0; i > insn->n; i++) {
+ for (i = 0; i < insn->n; i++) {
unsigned int val = data[i];
int ret;
--
2.18.0
This is a note to let you know that I've just added the patch titled
driver core: Partially revert "driver core: correct device's shutdown
to my driver-core git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
in the driver-core-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From 722e5f2b1eec7de61117b7c0a7914761e3da2eda Mon Sep 17 00:00:00 2001
From: "Rafael J. Wysocki" <rafael.j.wysocki(a)intel.com>
Date: Tue, 10 Jul 2018 14:51:33 +0200
Subject: driver core: Partially revert "driver core: correct device's shutdown
order"
Commit 52cdbdd49853 (driver core: correct device's shutdown order)
introduced a regression by breaking device shutdown on some systems.
Namely, the devices_kset_move_last() call in really_probe() added by
that commit is a mistake as it may cause parents to follow children
in the devices_kset list which then causes shutdown to fail. For
example, if a device has children before really_probe() is called
for it (which is not uncommon), that call will cause it to be
reordered after the children in the devices_kset list and the
ordering of that list will not reflect the correct device shutdown
order any more.
Also it causes the devices_kset list to be constantly reordered
until all drivers have been probed which is totally pointless
overhead in the majority of cases and it only covered an issue
with system shutdown, while system-wide suspend/resume potentially
had the same issue on the affected platforms (which was not covered).
Moreover, the shutdown issue originally addressed by the change in
really_probe() made by commit 52cdbdd49853 is not present in 4.18-rc
any more, since dra7 started to use the sdhci-omap driver which
doesn't disable any regulators during shutdown, so the really_probe()
part of commit 52cdbdd49853 can be safely reverted. [The original
issue was related to the omap_hsmmc driver used by dra7 previously.]
For the above reasons, revert the really_probe() modifications made
by commit 52cdbdd49853.
The other code changes made by commit 52cdbdd49853 are useful and
they need not be reverted.
Fixes: 52cdbdd49853 (driver core: correct device's shutdown order)
Link: https://lore.kernel.org/lkml/CAFgQCTt7VfqM=UyCnvNFxrSw8Z6cUtAi3HUwR4_xPAc03…
Reported-by: Pingfan Liu <kernelfans(a)gmail.com>
Tested-by: Pingfan Liu <kernelfans(a)gmail.com>
Reviewed-by: Kishon Vijay Abraham I <kishon(a)ti.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
Cc: stable <stable(a)vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/base/dd.c | 8 --------
1 file changed, 8 deletions(-)
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 1435d7281c66..6ebcd65d64b6 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -434,14 +434,6 @@ static int really_probe(struct device *dev, struct device_driver *drv)
goto probe_failed;
}
- /*
- * Ensure devices are listed in devices_kset in correct order
- * It's important to move Dev to the end of devices_kset before
- * calling .probe, because it could be recursive and parent Dev
- * should always go first
- */
- devices_kset_move_last(dev);
-
if (dev->bus->probe) {
ret = dev->bus->probe(dev);
if (ret)
--
2.18.0