2020-02-27 14:24:49

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 000/150] 5.5.7-stable review

This is the start of the stable review cycle for the 5.5.7 release.
There are 150 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 Sat, 29 Feb 2020 13:21:24 +0000.
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/v5.x/stable-review/patch-5.5.7-rc1.gz
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.5.y
and the diffstat can be found below.

thanks,

greg k-h

-------------
Pseudo-Shortlog of commits:

Greg Kroah-Hartman <[email protected]>
Linux 5.5.7-rc1

John Fastabend <[email protected]>
bpf: Selftests build error in sockmap_basic.c

Nathan Chancellor <[email protected]>
s390/mm: Explicitly compare PAGE_DEFAULT_KEY against zero in storage_key_init_range

Nathan Chancellor <[email protected]>
s390/kaslr: Fix casts in get_random

Aya Levin <[email protected]>
net/mlx5e: Fix crash in recovery flow without devlink reporter

Dmytro Linkin <[email protected]>
net/mlx5e: Don't clear the whole vf config when switching modes

Huy Nguyen <[email protected]>
net/mlx5: Fix sleep while atomic in mlx5_eswitch_get_vepa

Aya Levin <[email protected]>
net/mlx5e: Reset RQ doorbell counter before moving RQ state from RST to RDY

Thomas Gleixner <[email protected]>
xen: Enable interrupts when calling _cond_resched()

Prabhakar Kushwaha <[email protected]>
ata: ahci: Add shutdown to freeze hardware resources of ahci

David Howells <[email protected]>
rxrpc: Fix call RCU cleanup using non-bh-safe locks

Cong Wang <[email protected]>
netfilter: xt_hashlimit: limit the max size of hashtable

Takashi Iwai <[email protected]>
ALSA: seq: Fix concurrent access to queue current tick/time

Takashi Iwai <[email protected]>
ALSA: seq: Avoid concurrent access to queue flags

Takashi Iwai <[email protected]>
ALSA: rawmidi: Avoid bit fields for state flags

Christoph Hellwig <[email protected]>
dma-direct: relax addressability checks in dma_direct_supported

Xiaoguang Wang <[email protected]>
io_uring: fix __io_iopoll_check deadlock in io_sq_thread

Stefano Garzarella <[email protected]>
io_uring: prevent sq_thread from spinning when it should stop

Douglas Anderson <[email protected]>
scripts/get_maintainer.pl: deprioritize old Fixes: addresses

Vincenzo Frascino <[email protected]>
arm64: lse: Fix LSE atomics with LLVM

Johannes Krude <[email protected]>
bpf, offload: Replace bitwise AND by logical AND in bpf_prog_offload_info_fill

Thomas Gleixner <[email protected]>
genirq/proc: Reject invalid affinity masks (again)

Tianjia Zhang <[email protected]>
crypto: rename sm3-256 to sm3 in hash_algo_name

Joerg Roedel <[email protected]>
iommu/vt-d: Fix compile warning from intel-svm.h

Aditya Pakki <[email protected]>
ecryptfs: replace BUG_ON with error handling code

Oleksandr Suvorov <[email protected]>
ASoC: fsl_sai: Fix exiting path on probing failure

Arnd Bergmann <[email protected]>
ASoC: atmel: fix atmel_ssc_set_audio link failure

Dan Carpenter <[email protected]>
staging: greybus: use after free in gb_audio_manager_remove_all()

Colin Ian King <[email protected]>
staging: rtl8723bs: fix copy of overlapping memory

Minas Harutyunyan <[email protected]>
usb: dwc2: Fix in ISOC request length checking

Jack Pham <[email protected]>
usb: gadget: composite: Fix bMaxPower for SuperSpeedPlus

Bart Van Assche <[email protected]>
scsi: Revert "target: iscsi: Wait for all commands to finish before freeing a session"

Bart Van Assche <[email protected]>
scsi: Revert "RDMA/isert: Fix a recently introduced regression related to logout"

Rob Clark <[email protected]>
drm/msm/dpu: fix BGR565 vs RGB565 confusion

Matt Roper <[email protected]>
drm/i915/ehl: Update port clock voltage level requirements

Chris Wilson <[email protected]>
drm/i915/gt: Protect defer_request() from new waiters

Chris Wilson <[email protected]>
drm/i915/gem: Require per-engine reset support for non-persistent contexts

Tomi Valkeinen <[email protected]>
drm/bridge: tc358767: fix poll timeouts

Tony Nguyen <[email protected]>
ice: Remove possible null dereference

Igor Druzhinin <[email protected]>
drm/i915/gvt: more locking for ppgtt mm LRU list

Chris Wilson <[email protected]>
drm/i915/selftests: Add a mock i915_vma to the mock_ring

Greg Kroah-Hartman <[email protected]>
Revert "dmaengine: imx-sdma: Fix memory leak"

Filipe Manana <[email protected]>
Btrfs: fix deadlock during fast fsync when logging prealloc extents beyond eof

Filipe Manana <[email protected]>
Btrfs: fix btrfs_wait_ordered_range() so that it waits for all ordered extents

Josef Bacik <[email protected]>
btrfs: do not check delayed items are empty for single transaction cleanup

Josef Bacik <[email protected]>
btrfs: reset fs_root to NULL on error in open_ctree

Josef Bacik <[email protected]>
btrfs: fix bytes_may_use underflow in prealloc error condtition

Jeff Mahoney <[email protected]>
btrfs: destroy qgroup extent records on transaction abort

Jason A. Donenfeld <[email protected]>
crypto: chacha20poly1305 - prevent integer overflow on large input

Miaohe Lin <[email protected]>
KVM: apic: avoid calculating pending eoi from an uninitialized val

Vitaly Kuznetsov <[email protected]>
KVM: nVMX: handle nested posted interrupts when apicv is disabled for L1

Vitaly Kuznetsov <[email protected]>
KVM: nVMX: clear PIN_BASED_POSTED_INTR from nested pinbased_ctls only when apicv is globally disabled

Oliver Upton <[email protected]>
KVM: nVMX: Check IO instruction VM-exit conditions

Oliver Upton <[email protected]>
KVM: nVMX: Refactor IO bitmap checks into helper function

Chris Wilson <[email protected]>
drm/i915/execlists: Always force a context reload when rewinding RING_TAIL

Eric Biggers <[email protected]>
ext4: fix race between writepages and enabling EXT4_EXTENTS_FL

Eric Biggers <[email protected]>
ext4: rename s_journal_flag_rwsem to s_writepages_rwsem

Jan Kara <[email protected]>
ext4: fix mount failure with quota configured as module

Suraj Jitindar Singh <[email protected]>
ext4: fix potential race between s_flex_groups online resizing and access

Suraj Jitindar Singh <[email protected]>
ext4: fix potential race between s_group_info online resizing and access

Theodore Ts'o <[email protected]>
ext4: fix potential race between online resizing and write operations

Shijie Luo <[email protected]>
ext4: add cond_resched() to __ext4_find_entry()

Qian Cai <[email protected]>
ext4: fix a data race in EXT4_I(inode)->i_disksize

Miaohe Lin <[email protected]>
KVM: x86: don't notify userspace IOAPIC on edge-triggered interrupt EOI

Paolo Bonzini <[email protected]>
KVM: nVMX: Don't emulate instructions in guest mode

Suren Baghdasaryan <[email protected]>
sched/psi: Fix OOB write when writing 0 bytes to PSI files

Jani Nikula <[email protected]>
drm/i915: Update drm/i915 bug filing URL

Chris Wilson <[email protected]>
drm/i915: Wean off drm_pci_alloc/drm_pci_free

Lyude Paul <[email protected]>
drm/nouveau/kms/gv100-: Re-set LUT after clearing for modesets

Alex Deucher <[email protected]>
drm/amdgpu/gfx10: disable gfxoff when reading rlc clock

Alex Deucher <[email protected]>
drm/amdgpu/gfx9: disable gfxoff when reading rlc clock

Alex Deucher <[email protected]>
drm/amdgpu/soc15: fix xclk for raven

Catalin Marinas <[email protected]>
mm: Avoid creating virtual address aliases in brk()/mmap()/mremap()

Alexander Potapenko <[email protected]>
lib/stackdepot.c: fix global out-of-bounds in stack_slabs

Wei Yang <[email protected]>
mm/sparsemem: pfn_to_page is not valid yet on SPARSEMEM

Gavin Shan <[email protected]>
mm/vmscan.c: don't round up scan size for online memory cgroup

Zenghui Yu <[email protected]>
genirq/irqdomain: Make sure all irq domain flags are distinct

Logan Gunthorpe <[email protected]>
nvme-multipath: Fix memory leak with ana_log_buf

Vasily Averin <[email protected]>
mm/memcontrol.c: lost css_put in memcg_expand_shrinker_maps()

Ioanna Alifieraki <[email protected]>
Revert "ipc,sem: remove uneeded sem_undo_list lock usage in exit_sem()"

Rafael J. Wysocki <[email protected]>
ACPI: PM: s2idle: Check fixed wakeup events in acpi_s2idle_wake()

Brendan Higgins <[email protected]>
fsi: aspeed: add unspecified HAS_IOMEM dependency

Jani Nikula <[email protected]>
MAINTAINERS: Update drm/i915 bug filing URL

Johan Hovold <[email protected]>
serdev: ttyport: restore client ops on deregistration

satya priya <[email protected]>
tty: serial: qcom_geni_serial: Fix RX cancel command failure

Fugang Duan <[email protected]>
tty: serial: imx: setup the correct sg entry for tx dma

Nicolas Ferre <[email protected]>
tty/serial: atmel: manage shutdown in case of RS485 or ISO7816 mode

Andy Shevchenko <[email protected]>
serial: 8250: Check UPF_IRQ_SHARED in advance

Paul Cercueil <[email protected]>
MIPS: ingenic: DTS: Fix watchdog nodes

Kim Phillips <[email protected]>
x86/cpu/amd: Enable the fixed Instructions Retired counter IRPERF

Thomas Gleixner <[email protected]>
x86/mce/amd: Fix kobject lifetime

Borislav Petkov <[email protected]>
x86/mce/amd: Publish the bank pointer only after setup has succeeded

Ard Biesheuvel <[email protected]>
x86/ima: use correct identifier for SetupMode variable

wangyan <[email protected]>
jbd2: fix ocfs2 corrupt when clearing block group bits

Will Deacon <[email protected]>
arm64: memory: Add missing brackets to untagged_addr() macro

Christophe Leroy <[email protected]>
powerpc/hugetlb: Fix 8M hugepages on 8xx

Christophe Leroy <[email protected]>
powerpc/hugetlb: Fix 512k hugepages on 8xx with 16k page size

Christophe Leroy <[email protected]>
powerpc/entry: Fix an #if which should be an #ifdef in entry_32.S

Gustavo Luiz Duarte <[email protected]>
powerpc/tm: Fix clearing MSR[TS] in current when reclaiming on signal delivery

Sam Bobroff <[email protected]>
powerpc/eeh: Fix deadlock handling dead PHB

Christophe Leroy <[email protected]>
powerpc/8xx: Fix clearing of bits 20-23 in ITLB miss

Boris Brezillon <[email protected]>
drm/panfrost: perfcnt: Reserve/use the AS attached to the perfcnt MMU context

Guenter Roeck <[email protected]>
hwmon: (acpi_power_meter) Fix lockdep splat

Larry Finger <[email protected]>
staging: rtl8723bs: Fix potential overuse of kernel memory

Larry Finger <[email protected]>
staging: rtl8723bs: Fix potential security hole

Larry Finger <[email protected]>
staging: rtl8188eu: Fix potential overuse of kernel memory

Larry Finger <[email protected]>
staging: rtl8188eu: Fix potential security hole

Bart Van Assche <[email protected]>
scsi: Revert "target/core: Inline transport_lun_remove_cmd()"

Colin Ian King <[email protected]>
usb: dwc3: debug: fix string position formatting mixup with ret and len

Anurag Kumar Vulisha <[email protected]>
usb: dwc3: gadget: Check for IOC/LST bit in TRB->ctrl fields

Minas Harutyunyan <[email protected]>
usb: dwc2: Fix SET/CLEAR_FEATURE and GET_STATUS flows

Hardik Gajjar <[email protected]>
USB: hub: Fix the broken detection of USB3 device in SMSC hub

Alan Stern <[email protected]>
USB: hub: Don't record a connect-change event during reset-resume

Richard Dodd <[email protected]>
USB: Fix novation SourceControl XL after suspend

EJ Hsu <[email protected]>
usb: uas: fix a plug & unplug racing

Johan Hovold <[email protected]>
USB: quirks: blacklist duplicate ep on Sound Devices USBPre2

Johan Hovold <[email protected]>
USB: core: add endpoint-blacklist quirk

Mathias Nyman <[email protected]>
xhci: Fix memory leak when caching protocol extended capability PSI tables - take 2

Mathias Nyman <[email protected]>
xhci: apply XHCI_PME_STUCK_QUIRK to Intel Comet Lake platforms

Mathias Nyman <[email protected]>
xhci: fix runtime pm enabling for quirky Intel hosts

Mathias Nyman <[email protected]>
xhci: Force Maximum Packet size for Full-speed bulk devices to valid range.

Malcolm Priestley <[email protected]>
staging: vt6656: fix sign of rx_dbm to bb_pre_ed_rssi.

Suren Baghdasaryan <[email protected]>
staging: android: ashmem: Disallow ashmem memory from being remapped

Eric Dumazet <[email protected]>
vt: vt_ioctl: fix race in VT_RESIZEX

Jiri Slaby <[email protected]>
vt: selection, close sel_buffer race

Jiri Slaby <[email protected]>
vt: selection, handle pending signals in paste_selection

Nicolas Pitre <[email protected]>
vt: fix scrollback flushing on background consoles

Johan Hovold <[email protected]>
USB: serial: ch341: fix receiver regression

Linus Torvalds <[email protected]>
floppy: check FDC index for errors before assigning it

Greg Kroah-Hartman <[email protected]>
USB: misc: iowarrior: add support for the 100 device

Greg Kroah-Hartman <[email protected]>
USB: misc: iowarrior: add support for the 28 and 28L devices

Greg Kroah-Hartman <[email protected]>
USB: misc: iowarrior: add support for 2 OEMed devices

Mika Westerberg <[email protected]>
thunderbolt: Prevent crash if non-active NVMem file is read

Josef Bacik <[email protected]>
btrfs: handle logged extent failure properly

Josef Bacik <[email protected]>
btrfs: don't set path->leave_spinning for truncate

Filipe Manana <[email protected]>
Btrfs: fix race between shrinking truncate and fiemap

Wenwen Wang <[email protected]>
ecryptfs: fix a memory leak bug in ecryptfs_init_messaging()

Wenwen Wang <[email protected]>
ecryptfs: fix a memory leak bug in parse_tag_1_packet()

Roberto Sassu <[email protected]>
tpm: Initialize crypto_id of allocated_banks to HASH_ALGO__LAST

Jarkko Sakkinen <[email protected]>
tpm: Revert tpm_tis_spi_mod.ko to tpm_tis_spi.ko.

Samuel Holland <[email protected]>
ASoC: sun8i-codec: Fix setting DAI data format

Samuel Holland <[email protected]>
ASoC: codec2codec: avoid invalid/double-free of pcm runtime

Takashi Iwai <[email protected]>
ALSA: hda/realtek - Apply quirk for yet another MSI laptop

Takashi Iwai <[email protected]>
ALSA: hda/realtek - Apply quirk for MSI GP63, too

Takashi Iwai <[email protected]>
ALSA: hda: Use scnprintf() for printing texts for sysfs/procfs

Joerg Roedel <[email protected]>
iommu/vt-d: Simplify check in identity_mapping()

Joerg Roedel <[email protected]>
iommu/vt-d: Remove deferred_attach_domain()

Joerg Roedel <[email protected]>
iommu/vt-d: Do deferred attachment in iommu_need_mapping()

Joerg Roedel <[email protected]>
iommu/vt-d: Move deferred device attachment into helper function

Joerg Roedel <[email protected]>
iommu/vt-d: Add attach_deferred() helper

Robin Murphy <[email protected]>
iommu/qcom: Fix bogus detach logic


-------------

Diffstat:

Documentation/arm64/tagged-address-abi.rst | 11 +-
MAINTAINERS | 2 +-
Makefile | 4 +-
arch/arm64/include/asm/lse.h | 2 +-
arch/arm64/include/asm/memory.h | 2 +-
arch/mips/boot/dts/ingenic/jz4740.dtsi | 17 ++--
arch/mips/boot/dts/ingenic/jz4780.dtsi | 17 ++--
arch/powerpc/include/asm/page.h | 5 +
arch/powerpc/kernel/eeh_driver.c | 21 ++--
arch/powerpc/kernel/entry_32.S | 4 +-
arch/powerpc/kernel/head_8xx.S | 2 +-
arch/powerpc/kernel/signal.c | 17 +++-
arch/powerpc/kernel/signal_32.c | 28 ++---
arch/powerpc/kernel/signal_64.c | 22 ++--
arch/powerpc/mm/hugetlbpage.c | 29 ++++--
arch/s390/boot/kaslr.c | 2 +-
arch/s390/include/asm/page.h | 2 +-
arch/x86/include/asm/kvm_host.h | 2 +-
arch/x86/include/asm/msr-index.h | 2 +
arch/x86/kernel/cpu/amd.c | 14 +++
arch/x86/kernel/cpu/mce/amd.c | 50 ++++-----
arch/x86/kernel/ima_arch.c | 6 +-
arch/x86/kvm/irq_comm.c | 2 +-
arch/x86/kvm/lapic.c | 9 +-
arch/x86/kvm/svm.c | 7 +-
arch/x86/kvm/vmx/capabilities.h | 1 +
arch/x86/kvm/vmx/nested.c | 44 ++++----
arch/x86/kvm/vmx/nested.h | 5 +-
arch/x86/kvm/vmx/vmx.c | 82 +++++++++++----
crypto/hash_info.c | 2 +-
drivers/acpi/acpica/evevent.c | 45 ++++++++
drivers/acpi/sleep.c | 7 ++
drivers/ata/ahci.c | 7 ++
drivers/ata/libata-core.c | 21 ++++
drivers/block/floppy.c | 7 +-
drivers/char/tpm/Makefile | 8 +-
drivers/char/tpm/tpm2-cmd.c | 2 +
.../char/tpm/{tpm_tis_spi.c => tpm_tis_spi_main.c} | 0
drivers/dma/imx-sdma.c | 19 ++--
drivers/fsi/Kconfig | 1 +
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 2 +
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 2 +
drivers/gpu/drm/amd/amdgpu/soc15.c | 7 +-
drivers/gpu/drm/bridge/tc358767.c | 8 +-
drivers/gpu/drm/i915/Kconfig | 5 +-
drivers/gpu/drm/i915/display/intel_ddi.c | 4 +-
drivers/gpu/drm/i915/display/intel_display.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_context.c | 16 +++
drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 3 -
drivers/gpu/drm/i915/gem/i915_gem_phys.c | 98 +++++++++---------
drivers/gpu/drm/i915/gt/intel_lrc.c | 25 +++--
drivers/gpu/drm/i915/gt/intel_ring.c | 1 +
drivers/gpu/drm/i915/gt/intel_ring.h | 8 ++
drivers/gpu/drm/i915/gt/intel_ring_types.h | 1 +
drivers/gpu/drm/i915/gt/mock_engine.c | 17 +++-
drivers/gpu/drm/i915/gvt/gtt.c | 4 +
drivers/gpu/drm/i915/i915_gem.c | 8 +-
drivers/gpu/drm/i915/i915_gpu_error.c | 3 +-
drivers/gpu/drm/i915/i915_scheduler.c | 6 +-
drivers/gpu/drm/i915/i915_utils.c | 5 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c | 4 +-
drivers/gpu/drm/nouveau/dispnv50/wndw.c | 2 +
drivers/gpu/drm/panfrost/panfrost_mmu.c | 7 +-
drivers/gpu/drm/panfrost/panfrost_perfcnt.c | 11 +-
drivers/hwmon/acpi_power_meter.c | 16 +--
drivers/infiniband/ulp/isert/ib_isert.c | 12 +++
drivers/iommu/intel-iommu.c | 41 ++++----
drivers/iommu/qcom_iommu.c | 28 +++--
drivers/net/ethernet/intel/ice/ice_txrx.c | 2 -
.../net/ethernet/mellanox/mlx5/core/en/health.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/en/txrx.h | 8 ++
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 3 +
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 20 ++--
.../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 4 +-
drivers/net/ethernet/mellanox/mlx5/core/wq.c | 39 +++++--
drivers/net/ethernet/mellanox/mlx5/core/wq.h | 2 +
drivers/nvme/host/multipath.c | 1 +
drivers/staging/android/ashmem.c | 28 +++++
drivers/staging/greybus/audio_manager.c | 2 +-
drivers/staging/rtl8188eu/os_dep/ioctl_linux.c | 4 +-
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c | 5 +-
drivers/staging/rtl8723bs/os_dep/ioctl_linux.c | 4 +-
drivers/staging/vt6656/dpc.c | 2 +-
drivers/target/iscsi/iscsi_target.c | 16 +--
drivers/target/target_core_transport.c | 31 +++++-
drivers/thunderbolt/switch.c | 7 ++
drivers/tty/serdev/serdev-ttyport.c | 6 +-
drivers/tty/serial/8250/8250_aspeed_vuart.c | 1 -
drivers/tty/serial/8250/8250_core.c | 5 +-
drivers/tty/serial/8250/8250_of.c | 1 -
drivers/tty/serial/8250/8250_port.c | 4 +
drivers/tty/serial/atmel_serial.c | 3 +-
drivers/tty/serial/imx.c | 2 +-
drivers/tty/serial/qcom_geni_serial.c | 18 +++-
drivers/tty/tty_port.c | 5 +-
drivers/tty/vt/selection.c | 32 ++++--
drivers/tty/vt/vt.c | 15 ++-
drivers/tty/vt/vt_ioctl.c | 17 ++--
drivers/usb/core/config.c | 11 ++
drivers/usb/core/hub.c | 20 +++-
drivers/usb/core/hub.h | 1 +
drivers/usb/core/quirks.c | 40 ++++++++
drivers/usb/core/usb.h | 3 +
drivers/usb/dwc2/gadget.c | 40 ++++----
drivers/usb/dwc3/debug.h | 39 +++----
drivers/usb/dwc3/gadget.c | 3 +-
drivers/usb/gadget/composite.c | 8 +-
drivers/usb/host/xhci-hub.c | 25 +++--
drivers/usb/host/xhci-mem.c | 71 ++++++++-----
drivers/usb/host/xhci-pci.c | 10 +-
drivers/usb/host/xhci.h | 14 ++-
drivers/usb/misc/iowarrior.c | 31 +++++-
drivers/usb/serial/ch341.c | 10 ++
drivers/usb/storage/uas.c | 23 ++++-
drivers/xen/preempt.c | 4 +-
fs/btrfs/disk-io.c | 3 +-
fs/btrfs/extent-tree.c | 2 +
fs/btrfs/inode.c | 26 ++++-
fs/btrfs/ordered-data.c | 7 +-
fs/btrfs/qgroup.c | 13 +++
fs/btrfs/qgroup.h | 1 +
fs/btrfs/transaction.c | 2 +
fs/ecryptfs/crypto.c | 6 +-
fs/ecryptfs/keystore.c | 2 +-
fs/ecryptfs/messaging.c | 1 +
fs/ext4/balloc.c | 14 ++-
fs/ext4/ext4.h | 39 +++++--
fs/ext4/ialloc.c | 23 +++--
fs/ext4/inode.c | 16 +--
fs/ext4/mballoc.c | 61 +++++++----
fs/ext4/migrate.c | 27 +++--
fs/ext4/namei.c | 1 +
fs/ext4/resize.c | 62 ++++++++---
fs/ext4/super.c | 113 ++++++++++++++-------
fs/io_uring.c | 51 ++++------
fs/jbd2/transaction.c | 8 +-
include/acpi/acpixf.h | 1 +
include/linux/intel-svm.h | 2 +-
include/linux/irqdomain.h | 2 +-
include/linux/libata.h | 1 +
include/linux/tty.h | 2 +
include/linux/usb/quirks.h | 3 +
include/scsi/iscsi_proto.h | 1 -
include/sound/rawmidi.h | 6 +-
ipc/sem.c | 6 +-
kernel/bpf/offload.c | 2 +-
kernel/dma/direct.c | 24 ++---
kernel/irq/internals.h | 2 -
kernel/irq/manage.c | 18 +---
kernel/irq/proc.c | 22 ++++
kernel/sched/psi.c | 3 +
lib/crypto/chacha20poly1305.c | 3 +
lib/stackdepot.c | 8 +-
mm/memcontrol.c | 4 +-
mm/mmap.c | 4 -
mm/mremap.c | 1 -
mm/sparse.c | 2 +-
mm/vmscan.c | 9 +-
net/netfilter/xt_hashlimit.c | 10 ++
net/rxrpc/call_object.c | 22 +++-
scripts/get_maintainer.pl | 8 +-
sound/core/seq/seq_clientmgr.c | 4 +-
sound/core/seq/seq_queue.c | 29 ++++--
sound/core/seq/seq_timer.c | 13 ++-
sound/core/seq/seq_timer.h | 3 +-
sound/hda/hdmi_chmap.c | 2 +-
sound/pci/hda/hda_codec.c | 2 +-
sound/pci/hda/hda_eld.c | 2 +-
sound/pci/hda/hda_sysfs.c | 4 +-
sound/pci/hda/patch_realtek.c | 2 +
sound/soc/atmel/Kconfig | 4 +-
sound/soc/atmel/Makefile | 10 +-
sound/soc/fsl/fsl_sai.c | 22 +++-
sound/soc/soc-dapm.c | 3 -
sound/soc/sunxi/sun8i-codec.c | 3 +-
.../selftests/bpf/prog_tests/sockmap_basic.c | 5 +
176 files changed, 1554 insertions(+), 716 deletions(-)



2020-02-27 14:24:54

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 075/150] genirq/irqdomain: Make sure all irq domain flags are distinct

From: Zenghui Yu <[email protected]>

commit 2546287c5fb363a0165933ae2181c92f03e701d0 upstream.

This was noticed when printing debugfs for MSIs on my ARM64 server. The
new dstate IRQD_MSI_NOMASK_QUIRK came out surprisingly while it should only
be the x86 stuff for the time being...

The new MSI quirk flag uses the same bit as IRQ_DOMAIN_NAME_ALLOCATED which
is oddly defined as bit 6 for no good reason.

Switch it to the non used bit 1.

Fixes: 6f1a4891a592 ("x86/apic/msi: Plug non-maskable MSI affinity race")
Signed-off-by: Zenghui Yu <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: [email protected]
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
include/linux/irqdomain.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/include/linux/irqdomain.h
+++ b/include/linux/irqdomain.h
@@ -192,7 +192,7 @@ enum {
IRQ_DOMAIN_FLAG_HIERARCHY = (1 << 0),

/* Irq domain name was allocated in __irq_domain_add() */
- IRQ_DOMAIN_NAME_ALLOCATED = (1 << 6),
+ IRQ_DOMAIN_NAME_ALLOCATED = (1 << 1),

/* Irq domain is an IPI domain with virq per cpu */
IRQ_DOMAIN_FLAG_IPI_PER_CPU = (1 << 2),


2020-02-27 14:24:57

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 072/150] Revert "ipc,sem: remove uneeded sem_undo_list lock usage in exit_sem()"

From: Ioanna Alifieraki <[email protected]>

commit edf28f4061afe4c2d9eb1c3323d90e882c1d6800 upstream.

This reverts commit a97955844807e327df11aa33869009d14d6b7de0.

Commit a97955844807 ("ipc,sem: remove uneeded sem_undo_list lock usage
in exit_sem()") removes a lock that is needed. This leads to a process
looping infinitely in exit_sem() and can also lead to a crash. There is
a reproducer available in [1] and with the commit reverted the issue
does not reproduce anymore.

Using the reproducer found in [1] is fairly easy to reach a point where
one of the child processes is looping infinitely in exit_sem between
for(;;) and if (semid == -1) block, while it's trying to free its last
sem_undo structure which has already been freed by freeary().

Each sem_undo struct is on two lists: one per semaphore set (list_id)
and one per process (list_proc). The list_id list tracks undos by
semaphore set, and the list_proc by process.

Undo structures are removed either by freeary() or by exit_sem(). The
freeary function is invoked when the user invokes a syscall to remove a
semaphore set. During this operation freeary() traverses the list_id
associated with the semaphore set and removes the undo structures from
both the list_id and list_proc lists.

For this case, exit_sem() is called at process exit. Each process
contains a struct sem_undo_list (referred to as "ulp") which contains
the head for the list_proc list. When the process exits, exit_sem()
traverses this list to remove each sem_undo struct. As in freeary(),
whenever a sem_undo struct is removed from list_proc, it is also removed
from the list_id list.

Removing elements from list_id is safe for both exit_sem() and freeary()
due to sem_lock(). Removing elements from list_proc is not safe;
freeary() locks &un->ulp->lock when it performs
list_del_rcu(&un->list_proc) but exit_sem() does not (locking was
removed by commit a97955844807 ("ipc,sem: remove uneeded sem_undo_list
lock usage in exit_sem()").

This can result in the following situation while executing the
reproducer [1] : Consider a child process in exit_sem() and the parent
in freeary() (because of semctl(sid[i], NSEM, IPC_RMID)).

- The list_proc for the child contains the last two undo structs A and
B (the rest have been removed either by exit_sem() or freeary()).

- The semid for A is 1 and semid for B is 2.

- exit_sem() removes A and at the same time freeary() removes B.

- Since A and B have different semid sem_lock() will acquire different
locks for each process and both can proceed.

The bug is that they remove A and B from the same list_proc at the same
time because only freeary() acquires the ulp lock. When exit_sem()
removes A it makes ulp->list_proc.next to point at B and at the same
time freeary() removes B setting B->semid=-1.

At the next iteration of for(;;) loop exit_sem() will try to remove B.

The only way to break from for(;;) is for (&un->list_proc ==
&ulp->list_proc) to be true which is not. Then exit_sem() will check if
B->semid=-1 which is and will continue looping in for(;;) until the
memory for B is reallocated and the value at B->semid is changed.

At that point, exit_sem() will crash attempting to unlink B from the
lists (this can be easily triggered by running the reproducer [1] a
second time).

To prove this scenario instrumentation was added to keep information
about each sem_undo (un) struct that is removed per process and per
semaphore set (sma).

CPU0 CPU1
[caller holds sem_lock(sma for A)] ...
freeary() exit_sem()
... ...
... sem_lock(sma for B)
spin_lock(A->ulp->lock) ...
list_del_rcu(un_A->list_proc) list_del_rcu(un_B->list_proc)

Undo structures A and B have different semid and sem_lock() operations
proceed. However they belong to the same list_proc list and they are
removed at the same time. This results into ulp->list_proc.next
pointing to the address of B which is already removed.

After reverting commit a97955844807 ("ipc,sem: remove uneeded
sem_undo_list lock usage in exit_sem()") the issue was no longer
reproducible.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1694779

Link: http://lkml.kernel.org/r/[email protected]
Fixes: a97955844807 ("ipc,sem: remove uneeded sem_undo_list lock usage in exit_sem()")
Signed-off-by: Ioanna Alifieraki <[email protected]>
Acked-by: Manfred Spraul <[email protected]>
Acked-by: Herton R. Krzesinski <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Catalin Marinas <[email protected]>
Cc: <[email protected]>
Cc: Joel Fernandes (Google) <[email protected]>
Cc: Davidlohr Bueso <[email protected]>
Cc: Jay Vosburgh <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
ipc/sem.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

--- a/ipc/sem.c
+++ b/ipc/sem.c
@@ -2368,11 +2368,9 @@ void exit_sem(struct task_struct *tsk)
ipc_assert_locked_object(&sma->sem_perm);
list_del(&un->list_id);

- /* we are the last process using this ulp, acquiring ulp->lock
- * isn't required. Besides that, we are also protected against
- * IPC_RMID as we hold sma->sem_perm lock now
- */
+ spin_lock(&ulp->lock);
list_del_rcu(&un->list_proc);
+ spin_unlock(&ulp->lock);

/* perform adjustments registered in un */
for (i = 0; i < sma->sem_nsems; i++) {


2020-02-27 14:24:57

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 071/150] ACPI: PM: s2idle: Check fixed wakeup events in acpi_s2idle_wake()

From: Rafael J. Wysocki <[email protected]>

commit 63fb9623427fbb44e3782233b6e4714057b76ff2 upstream.

Commit fdde0ff8590b ("ACPI: PM: s2idle: Prevent spurious SCIs from
waking up the system") overlooked the fact that fixed events can wake
up the system too and broke RTC wakeup from suspend-to-idle as a
result.

Fix this issue by checking the fixed events in acpi_s2idle_wake() in
addition to checking wakeup GPEs and break out of the suspend-to-idle
loop if the status bits of any enabled fixed events are set then.

Fixes: fdde0ff8590b ("ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system")
Reported-and-tested-by: Chris Wilson <[email protected]>
Cc: 5.4+ <[email protected]> # 5.4+
Signed-off-by: Rafael J. Wysocki <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/acpi/acpica/evevent.c | 45 ++++++++++++++++++++++++++++++++++++++++++
drivers/acpi/sleep.c | 7 ++++++
include/acpi/acpixf.h | 1
3 files changed, 53 insertions(+)

--- a/drivers/acpi/acpica/evevent.c
+++ b/drivers/acpi/acpica/evevent.c
@@ -265,4 +265,49 @@ static u32 acpi_ev_fixed_event_dispatch(
handler) (acpi_gbl_fixed_event_handlers[event].context));
}

+/*******************************************************************************
+ *
+ * FUNCTION: acpi_any_fixed_event_status_set
+ *
+ * PARAMETERS: None
+ *
+ * RETURN: TRUE or FALSE
+ *
+ * DESCRIPTION: Checks the PM status register for active fixed events
+ *
+ ******************************************************************************/
+
+u32 acpi_any_fixed_event_status_set(void)
+{
+ acpi_status status;
+ u32 in_status;
+ u32 in_enable;
+ u32 i;
+
+ status = acpi_hw_register_read(ACPI_REGISTER_PM1_ENABLE, &in_enable);
+ if (ACPI_FAILURE(status)) {
+ return (FALSE);
+ }
+
+ status = acpi_hw_register_read(ACPI_REGISTER_PM1_STATUS, &in_status);
+ if (ACPI_FAILURE(status)) {
+ return (FALSE);
+ }
+
+ /*
+ * Check for all possible Fixed Events and dispatch those that are active
+ */
+ for (i = 0; i < ACPI_NUM_FIXED_EVENTS; i++) {
+
+ /* Both the status and enable bits must be on for this event */
+
+ if ((in_status & acpi_gbl_fixed_event_info[i].status_bit_mask) &&
+ (in_enable & acpi_gbl_fixed_event_info[i].enable_bit_mask)) {
+ return (TRUE);
+ }
+ }
+
+ return (FALSE);
+}
+
#endif /* !ACPI_REDUCED_HARDWARE */
--- a/drivers/acpi/sleep.c
+++ b/drivers/acpi/sleep.c
@@ -1003,6 +1003,13 @@ static bool acpi_s2idle_wake(void)
return true;

/*
+ * If the status bit of any enabled fixed event is set, the
+ * wakeup is regarded as valid.
+ */
+ if (acpi_any_fixed_event_status_set())
+ return true;
+
+ /*
* If there are no EC events to process and at least one of the
* other enabled GPEs is active, the wakeup is regarded as a
* genuine one.
--- a/include/acpi/acpixf.h
+++ b/include/acpi/acpixf.h
@@ -753,6 +753,7 @@ ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_sta
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable_all_runtime_gpes(void))
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable_all_wakeup_gpes(void))
ACPI_HW_DEPENDENT_RETURN_UINT32(u32 acpi_any_gpe_status_set(void))
+ACPI_HW_DEPENDENT_RETURN_UINT32(u32 acpi_any_fixed_event_status_set(void))

ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
acpi_get_gpe_device(u32 gpe_index,


2020-02-27 14:25:03

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 030/150] staging: vt6656: fix sign of rx_dbm to bb_pre_ed_rssi.

From: Malcolm Priestley <[email protected]>

commit 93134df520f23f4e9998c425b8987edca7016817 upstream.

bb_pre_ed_rssi is an u8 rx_dm always returns negative signed
values add minus operator to always yield positive.

fixes issue where rx sensitivity is always set to maximum because
the unsigned numbers were always greater then 100.

Fixes: 63b9907f58f1 ("staging: vt6656: mac80211 conversion: create rx function.")
Cc: stable <[email protected]>
Signed-off-by: Malcolm Priestley <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/staging/vt6656/dpc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/staging/vt6656/dpc.c
+++ b/drivers/staging/vt6656/dpc.c
@@ -130,7 +130,7 @@ int vnt_rx_data(struct vnt_private *priv

vnt_rf_rssi_to_dbm(priv, *rssi, &rx_dbm);

- priv->bb_pre_ed_rssi = (u8)rx_dbm + 1;
+ priv->bb_pre_ed_rssi = (u8)-rx_dbm + 1;
priv->current_rssi = priv->bb_pre_ed_rssi;

skb_pull(skb, 8);


2020-02-27 14:25:06

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 037/150] usb: uas: fix a plug & unplug racing

From: EJ Hsu <[email protected]>

commit 3e99862c05a9caa5a27969f41566b428696f5a9a upstream.

When a uas disk is plugged into an external hub, uas_probe()
will be called by the hub thread to do the probe. It will
first create a SCSI host and then do the scan for this host.
During the scan, it will probe the LUN using SCSI INQUERY command
which will be packed in the URB and submitted to uas disk.

There might be a chance that this external hub with uas disk
attached is unplugged during the scan. In this case, uas driver
will fail to submit the URB (due to the NOTATTACHED state of uas
device) and try to put this SCSI command back to request queue
waiting for next chance to run.

In normal case, this cycle will terminate when hub thread gets
disconnection event and calls into uas_disconnect() accordingly.
But in this case, uas_disconnect() will not be called because
hub thread of external hub gets stuck waiting for the completion
of this SCSI command. A deadlock happened.

In this fix, uas will call scsi_scan_host() asynchronously to
avoid the blocking of hub thread.

Signed-off-by: EJ Hsu <[email protected]>
Acked-by: Oliver Neukum <[email protected]>
Cc: stable <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/usb/storage/uas.c | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)

--- a/drivers/usb/storage/uas.c
+++ b/drivers/usb/storage/uas.c
@@ -45,6 +45,7 @@ struct uas_dev_info {
struct scsi_cmnd *cmnd[MAX_CMNDS];
spinlock_t lock;
struct work_struct work;
+ struct work_struct scan_work; /* for async scanning */
};

enum {
@@ -114,6 +115,17 @@ out:
spin_unlock_irqrestore(&devinfo->lock, flags);
}

+static void uas_scan_work(struct work_struct *work)
+{
+ struct uas_dev_info *devinfo =
+ container_of(work, struct uas_dev_info, scan_work);
+ struct Scsi_Host *shost = usb_get_intfdata(devinfo->intf);
+
+ dev_dbg(&devinfo->intf->dev, "starting scan\n");
+ scsi_scan_host(shost);
+ dev_dbg(&devinfo->intf->dev, "scan complete\n");
+}
+
static void uas_add_work(struct uas_cmd_info *cmdinfo)
{
struct scsi_pointer *scp = (void *)cmdinfo;
@@ -982,6 +994,7 @@ static int uas_probe(struct usb_interfac
init_usb_anchor(&devinfo->data_urbs);
spin_lock_init(&devinfo->lock);
INIT_WORK(&devinfo->work, uas_do_work);
+ INIT_WORK(&devinfo->scan_work, uas_scan_work);

result = uas_configure_endpoints(devinfo);
if (result)
@@ -998,7 +1011,9 @@ static int uas_probe(struct usb_interfac
if (result)
goto free_streams;

- scsi_scan_host(shost);
+ /* Submit the delayed_work for SCSI-device scanning */
+ schedule_work(&devinfo->scan_work);
+
return result;

free_streams:
@@ -1166,6 +1181,12 @@ static void uas_disconnect(struct usb_in
usb_kill_anchored_urbs(&devinfo->data_urbs);
uas_zap_pending(devinfo, DID_NO_CONNECT);

+ /*
+ * Prevent SCSI scanning (if it hasn't started yet)
+ * or wait for the SCSI-scanning routine to stop.
+ */
+ cancel_work_sync(&devinfo->scan_work);
+
scsi_remove_host(shost);
uas_free_streams(devinfo);
scsi_host_put(shost);


2020-02-27 14:25:10

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 019/150] thunderbolt: Prevent crash if non-active NVMem file is read

From: Mika Westerberg <[email protected]>

commit 03cd45d2e219301880cabc357e3cf478a500080f upstream.

The driver does not populate .reg_read callback for the non-active NVMem
because the file is supposed to be write-only. However, it turns out
NVMem subsystem does not yet support this and expects that the .reg_read
callback is provided. If user reads the binary attribute it triggers
NULL pointer dereference like this one:

BUG: kernel NULL pointer dereference, address: 0000000000000000
...
Call Trace:
bin_attr_nvmem_read+0x64/0x80
kernfs_fop_read+0xa7/0x180
vfs_read+0xbd/0x170
ksys_read+0x5a/0xd0
do_syscall_64+0x43/0x150
entry_SYSCALL_64_after_hwframe+0x44/0xa9

Fix this in the driver by providing .reg_read callback that always
returns an error.

Reported-by: Nicholas Johnson <[email protected]>
Fixes: e6b245ccd524 ("thunderbolt: Add support for host and device NVM firmware upgrade")
Signed-off-by: Mika Westerberg <[email protected]>
Cc: [email protected]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/thunderbolt/switch.c | 7 +++++++
1 file changed, 7 insertions(+)

--- a/drivers/thunderbolt/switch.c
+++ b/drivers/thunderbolt/switch.c
@@ -274,6 +274,12 @@ out:
return ret;
}

+static int tb_switch_nvm_no_read(void *priv, unsigned int offset, void *val,
+ size_t bytes)
+{
+ return -EPERM;
+}
+
static int tb_switch_nvm_write(void *priv, unsigned int offset, void *val,
size_t bytes)
{
@@ -319,6 +325,7 @@ static struct nvmem_device *register_nvm
config.read_only = true;
} else {
config.name = "nvm_non_active";
+ config.reg_read = tb_switch_nvm_no_read;
config.reg_write = tb_switch_nvm_write;
config.root_only = true;
}


2020-02-27 14:25:11

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 059/150] x86/ima: use correct identifier for SetupMode variable

From: Ard Biesheuvel <[email protected]>

commit ff5ac61ee83c13f516544d29847d28be093a40ee upstream.

The IMA arch code attempts to inspect the "SetupMode" EFI variable
by populating a variable called efi_SetupMode_name with the string
"SecureBoot" and passing that to the EFI GetVariable service, which
obviously does not yield the expected result.

Given that the string is only referenced a single time, let's get
rid of the intermediate variable, and pass the correct string as
an immediate argument. While at it, do the same for "SecureBoot".

Fixes: 399574c64eaf ("x86/ima: retry detecting secure boot mode")
Fixes: 980ef4d22a95 ("x86/ima: check EFI SetupMode too")
Cc: Matthew Garrett <[email protected]>
Signed-off-by: Ard Biesheuvel <[email protected]>
Cc: [email protected] # v5.3
Signed-off-by: Mimi Zohar <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
arch/x86/kernel/ima_arch.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

--- a/arch/x86/kernel/ima_arch.c
+++ b/arch/x86/kernel/ima_arch.c
@@ -10,8 +10,6 @@ extern struct boot_params boot_params;

static enum efi_secureboot_mode get_sb_mode(void)
{
- efi_char16_t efi_SecureBoot_name[] = L"SecureBoot";
- efi_char16_t efi_SetupMode_name[] = L"SecureBoot";
efi_guid_t efi_variable_guid = EFI_GLOBAL_VARIABLE_GUID;
efi_status_t status;
unsigned long size;
@@ -25,7 +23,7 @@ static enum efi_secureboot_mode get_sb_m
}

/* Get variable contents into buffer */
- status = efi.get_variable(efi_SecureBoot_name, &efi_variable_guid,
+ status = efi.get_variable(L"SecureBoot", &efi_variable_guid,
NULL, &size, &secboot);
if (status == EFI_NOT_FOUND) {
pr_info("ima: secureboot mode disabled\n");
@@ -38,7 +36,7 @@ static enum efi_secureboot_mode get_sb_m
}

size = sizeof(setupmode);
- status = efi.get_variable(efi_SetupMode_name, &efi_variable_guid,
+ status = efi.get_variable(L"SetupMode", &efi_variable_guid,
NULL, &size, &setupmode);

if (status != EFI_SUCCESS) /* ignore unknown SetupMode */


2020-02-27 14:25:17

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 015/150] ecryptfs: fix a memory leak bug in ecryptfs_init_messaging()

From: Wenwen Wang <[email protected]>

commit b4a81b87a4cfe2bb26a4a943b748d96a43ef20e8 upstream.

In ecryptfs_init_messaging(), if the allocation for 'ecryptfs_msg_ctx_arr'
fails, the previously allocated 'ecryptfs_daemon_hash' is not deallocated,
leading to a memory leak bug. To fix this issue, free
'ecryptfs_daemon_hash' before returning the error.

Cc: [email protected]
Fixes: 88b4a07e6610 ("[PATCH] eCryptfs: Public key transport mechanism")
Signed-off-by: Wenwen Wang <[email protected]>
Signed-off-by: Tyler Hicks <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
fs/ecryptfs/messaging.c | 1 +
1 file changed, 1 insertion(+)

--- a/fs/ecryptfs/messaging.c
+++ b/fs/ecryptfs/messaging.c
@@ -379,6 +379,7 @@ int __init ecryptfs_init_messaging(void)
* ecryptfs_message_buf_len),
GFP_KERNEL);
if (!ecryptfs_msg_ctx_arr) {
+ kfree(ecryptfs_daemon_hash);
rc = -ENOMEM;
goto out;
}


2020-02-27 14:25:18

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 070/150] fsi: aspeed: add unspecified HAS_IOMEM dependency

From: Brendan Higgins <[email protected]>

commit ea3d147a474cb522bfdfe68f1f2557750dcf41dd upstream.

Currently CONFIG_FSI_MASTER_ASPEED=y implicitly depends on
CONFIG_HAS_IOMEM=y; consequently, on architectures without IOMEM we get
the following build error:

ld: drivers/fsi/fsi-master-aspeed.o: in function `fsi_master_aspeed_probe':
drivers/fsi/fsi-master-aspeed.c:436: undefined reference to `devm_ioremap_resource'

Fix the build error by adding the unspecified dependency.

Fixes: 606397d67f41 ("fsi: Add ast2600 master driver")
Cc: [email protected]
Reported-by: Brendan Higgins <[email protected]>
Signed-off-by: Brendan Higgins <[email protected]>
Reviewed-by: Joel Stanley <[email protected]>
Signed-off-by: Joel Stanley <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/fsi/Kconfig | 1 +
1 file changed, 1 insertion(+)

--- a/drivers/fsi/Kconfig
+++ b/drivers/fsi/Kconfig
@@ -55,6 +55,7 @@ config FSI_MASTER_AST_CF

config FSI_MASTER_ASPEED
tristate "FSI ASPEED master"
+ depends on HAS_IOMEM
help
This option enables a FSI master that is present behind an OPB bridge
in the AST2600.


2020-02-27 14:25:19

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 013/150] tpm: Initialize crypto_id of allocated_banks to HASH_ALGO__LAST

From: Roberto Sassu <[email protected]>

commit dc10e4181c05a2315ddc375e963b7c763b5ee0df upstream.

chip->allocated_banks, an array of tpm_bank_info structures, contains the
list of TPM algorithm IDs of allocated PCR banks. It also contains the
corresponding ID of the crypto subsystem, so that users of the TPM driver
can calculate a digest for a PCR extend operation.

However, if there is no mapping between TPM algorithm ID and crypto ID, the
crypto_id field of tpm_bank_info remains set to zero (the array is
allocated and initialized with kcalloc() in tpm2_get_pcr_allocation()).
Zero should not be used as value for unknown mappings, as it is a valid
crypto ID (HASH_ALGO_MD4).

Thus, initialize crypto_id to HASH_ALGO__LAST.

Cc: [email protected] # 5.1.x
Fixes: 879b589210a9 ("tpm: retrieve digest size of unknown algorithms with PCR read")
Signed-off-by: Roberto Sassu <[email protected]>
Reviewed-by: Petr Vorel <[email protected]>
Reviewed-by: Jarkko Sakkinen <[email protected]>
Signed-off-by: Jarkko Sakkinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/char/tpm/tpm2-cmd.c | 2 ++
1 file changed, 2 insertions(+)

--- a/drivers/char/tpm/tpm2-cmd.c
+++ b/drivers/char/tpm/tpm2-cmd.c
@@ -525,6 +525,8 @@ static int tpm2_init_bank_info(struct tp
return 0;
}

+ bank->crypto_id = HASH_ALGO__LAST;
+
return tpm2_pcr_read(chip, 0, &digest, &bank->digest_size);
}



2020-02-27 14:25:29

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 050/150] drm/panfrost: perfcnt: Reserve/use the AS attached to the perfcnt MMU context

From: Boris Brezillon <[email protected]>

commit dde2bb2da01e96c17f0a44b4a3cf72a30e66e3ef upstream.

We need to use the AS attached to the opened FD when dumping counters.

Reported-by: Antonio Caggiano <[email protected]>
Fixes: 7282f7645d06 ("drm/panfrost: Implement per FD address spaces")
Cc: <[email protected]>
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Steven Price <[email protected]>
Tested-by: Antonio Caggiano <[email protected]>
Signed-off-by: Rob Herring <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/gpu/drm/panfrost/panfrost_mmu.c | 7 ++++++-
drivers/gpu/drm/panfrost/panfrost_perfcnt.c | 11 ++++-------
2 files changed, 10 insertions(+), 8 deletions(-)

--- a/drivers/gpu/drm/panfrost/panfrost_mmu.c
+++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c
@@ -151,7 +151,12 @@ u32 panfrost_mmu_as_get(struct panfrost_
as = mmu->as;
if (as >= 0) {
int en = atomic_inc_return(&mmu->as_count);
- WARN_ON(en >= NUM_JOB_SLOTS);
+
+ /*
+ * AS can be retained by active jobs or a perfcnt context,
+ * hence the '+ 1' here.
+ */
+ WARN_ON(en >= (NUM_JOB_SLOTS + 1));

list_move(&mmu->list, &pfdev->as_lru_list);
goto out;
--- a/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
+++ b/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
@@ -73,7 +73,7 @@ static int panfrost_perfcnt_enable_locke
struct panfrost_file_priv *user = file_priv->driver_priv;
struct panfrost_perfcnt *perfcnt = pfdev->perfcnt;
struct drm_gem_shmem_object *bo;
- u32 cfg;
+ u32 cfg, as;
int ret;

if (user == perfcnt->user)
@@ -126,12 +126,8 @@ static int panfrost_perfcnt_enable_locke

perfcnt->user = user;

- /*
- * Always use address space 0 for now.
- * FIXME: this needs to be updated when we start using different
- * address space.
- */
- cfg = GPU_PERFCNT_CFG_AS(0) |
+ as = panfrost_mmu_as_get(pfdev, perfcnt->mapping->mmu);
+ cfg = GPU_PERFCNT_CFG_AS(as) |
GPU_PERFCNT_CFG_MODE(GPU_PERFCNT_CFG_MODE_MANUAL);

/*
@@ -195,6 +191,7 @@ static int panfrost_perfcnt_disable_lock
drm_gem_shmem_vunmap(&perfcnt->mapping->obj->base.base, perfcnt->buf);
perfcnt->buf = NULL;
panfrost_gem_close(&perfcnt->mapping->obj->base.base, file_priv);
+ panfrost_mmu_as_put(pfdev, perfcnt->mapping->mmu);
panfrost_gem_mapping_put(perfcnt->mapping);
perfcnt->mapping = NULL;
pm_runtime_mark_last_busy(pfdev->dev);


2020-02-27 14:25:30

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 040/150] USB: hub: Fix the broken detection of USB3 device in SMSC hub

From: Hardik Gajjar <[email protected]>

commit 1208f9e1d758c991b0a46a1bd60c616b906bbe27 upstream.

Renesas R-Car H3ULCB + Kingfisher Infotainment Board is either not able
to detect the USB3.0 mass storage devices or is detecting those as
USB2.0 high speed devices.

The explanation given by Renesas is that, due to a HW issue, the XHCI
driver does not wake up after going to sleep on connecting a USB3.0
device.

In order to mitigate that, disable the auto-suspend feature
specifically for SMSC hubs from hub_probe() function, as a quirk.

Renesas Kingfisher Infotainment Board has two USB3.0 ports (CN2) which
are connected via USB5534B 4-port SuperSpeed/Hi-Speed, low-power,
configurable hub controller.

[1] SanDisk USB 3.0 device detected as USB-2.0 before the patch
[ 74.036390] usb 5-1.1: new high-speed USB device number 4 using xhci-hcd
[ 74.061598] usb 5-1.1: New USB device found, idVendor=0781, idProduct=5581, bcdDevice= 1.00
[ 74.069976] usb 5-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 74.077303] usb 5-1.1: Product: Ultra
[ 74.080980] usb 5-1.1: Manufacturer: SanDisk
[ 74.085263] usb 5-1.1: SerialNumber: 4C530001110208116550

[2] SanDisk USB 3.0 device detected as USB-3.0 after the patch
[ 34.565078] usb 6-1.1: new SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[ 34.588719] usb 6-1.1: New USB device found, idVendor=0781, idProduct=5581, bcdDevice= 1.00
[ 34.597098] usb 6-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 34.604430] usb 6-1.1: Product: Ultra
[ 34.608110] usb 6-1.1: Manufacturer: SanDisk
[ 34.612397] usb 6-1.1: SerialNumber: 4C530001110208116550

Suggested-by: Alan Stern <[email protected]>
Signed-off-by: Hardik Gajjar <[email protected]>
Acked-by: Alan Stern <[email protected]>
Tested-by: Eugeniu Rosca <[email protected]>
Cc: stable <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/usb/core/hub.c | 15 +++++++++++++++
drivers/usb/core/hub.h | 1 +
2 files changed, 16 insertions(+)

--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -38,7 +38,9 @@
#include "otg_whitelist.h"

#define USB_VENDOR_GENESYS_LOGIC 0x05e3
+#define USB_VENDOR_SMSC 0x0424
#define HUB_QUIRK_CHECK_PORT_AUTOSUSPEND 0x01
+#define HUB_QUIRK_DISABLE_AUTOSUSPEND 0x02

#define USB_TP_TRANSMISSION_DELAY 40 /* ns */
#define USB_TP_TRANSMISSION_DELAY_MAX 65535 /* ns */
@@ -1726,6 +1728,10 @@ static void hub_disconnect(struct usb_in
kfree(hub->buffer);

pm_suspend_ignore_children(&intf->dev, false);
+
+ if (hub->quirk_disable_autosuspend)
+ usb_autopm_put_interface(intf);
+
kref_put(&hub->kref, hub_release);
}

@@ -1858,6 +1864,11 @@ static int hub_probe(struct usb_interfac
if (id->driver_info & HUB_QUIRK_CHECK_PORT_AUTOSUSPEND)
hub->quirk_check_port_auto_suspend = 1;

+ if (id->driver_info & HUB_QUIRK_DISABLE_AUTOSUSPEND) {
+ hub->quirk_disable_autosuspend = 1;
+ usb_autopm_get_interface(intf);
+ }
+
if (hub_configure(hub, &desc->endpoint[0].desc) >= 0)
return 0;

@@ -5594,6 +5605,10 @@ out_hdev_lock:
}

static const struct usb_device_id hub_id_table[] = {
+ { .match_flags = USB_DEVICE_ID_MATCH_VENDOR | USB_DEVICE_ID_MATCH_INT_CLASS,
+ .idVendor = USB_VENDOR_SMSC,
+ .bInterfaceClass = USB_CLASS_HUB,
+ .driver_info = HUB_QUIRK_DISABLE_AUTOSUSPEND},
{ .match_flags = USB_DEVICE_ID_MATCH_VENDOR
| USB_DEVICE_ID_MATCH_INT_CLASS,
.idVendor = USB_VENDOR_GENESYS_LOGIC,
--- a/drivers/usb/core/hub.h
+++ b/drivers/usb/core/hub.h
@@ -61,6 +61,7 @@ struct usb_hub {
unsigned quiescing:1;
unsigned disconnected:1;
unsigned in_reset:1;
+ unsigned quirk_disable_autosuspend:1;

unsigned quirk_check_port_auto_suspend:1;



2020-02-27 14:25:30

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 042/150] usb: dwc3: gadget: Check for IOC/LST bit in TRB->ctrl fields

From: Anurag Kumar Vulisha <[email protected]>

commit 5ee858975b13a9b40db00f456989a689fdbb296c upstream.

The current code in dwc3_gadget_ep_reclaim_completed_trb() will
check for IOC/LST bit in the event->status and returns if
IOC/LST bit is set. This logic doesn't work if multiple TRBs
are queued per request and the IOC/LST bit is set on the last
TRB of that request.

Consider an example where a queued request has multiple queued
TRBs and IOC/LST bit is set only for the last TRB. In this case,
the core generates XferComplete/XferInProgress events only for
the last TRB (since IOC/LST are set only for the last TRB). As
per the logic in dwc3_gadget_ep_reclaim_completed_trb()
event->status is checked for IOC/LST bit and returns on the
first TRB. This leaves the remaining TRBs left unhandled.

Similarly, if the gadget function enqueues an unaligned request
with sglist already in it, it should fail the same way, since we
will append another TRB to something that already uses more than
one TRB.

To aviod this, this patch changes the code to check for IOC/LST
bits in TRB->ctrl instead.

At a practical level, this patch resolves USB transfer stalls seen
with adb on dwc3 based HiKey960 after functionfs gadget added
scatter-gather support around v4.20.

Cc: Felipe Balbi <[email protected]>
Cc: Yang Fei <[email protected]>
Cc: Thinh Nguyen <[email protected]>
Cc: Tejas Joglekar <[email protected]>
Cc: Andrzej Pietrasiewicz <[email protected]>
Cc: Jack Pham <[email protected]>
Cc: Todd Kjos <[email protected]>
Cc: Greg KH <[email protected]>
Cc: Linux USB List <[email protected]>
Cc: stable <[email protected]>
Tested-by: Tejas Joglekar <[email protected]>
Reviewed-by: Thinh Nguyen <[email protected]>
Signed-off-by: Anurag Kumar Vulisha <[email protected]>
[jstultz: forward ported to mainline, reworded commit log, reworked
to only check trb->ctrl as suggested by Felipe]
Signed-off-by: John Stultz <[email protected]>
Signed-off-by: Felipe Balbi <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/usb/dwc3/gadget.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -2426,7 +2426,8 @@ static int dwc3_gadget_ep_reclaim_comple
if (event->status & DEPEVT_STATUS_SHORT && !chain)
return 1;

- if (event->status & DEPEVT_STATUS_IOC)
+ if ((trb->ctrl & DWC3_TRB_CTRL_IOC) ||
+ (trb->ctrl & DWC3_TRB_CTRL_LST))
return 1;

return 0;


2020-02-27 14:25:36

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 005/150] iommu/vt-d: Remove deferred_attach_domain()

From: Joerg Roedel <[email protected]>

commit 96d170f3b1a607612caf3618c534d5c64fc2d61b upstream.

The function is now only a wrapper around find_domain(). Remove the
function and call find_domain() directly at the call-sites.

Fixes: 1ee0186b9a12 ("iommu/vt-d: Refactor find_domain() helper")
Cc: [email protected] # v5.5
Reviewed-by: Jerry Snitselaar <[email protected]>
Acked-by: Lu Baolu <[email protected]>
Signed-off-by: Joerg Roedel <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/iommu/intel-iommu.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)

--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -2450,11 +2450,6 @@ static void do_deferred_attach(struct de
intel_iommu_attach_device(domain, dev);
}

-static struct dmar_domain *deferred_attach_domain(struct device *dev)
-{
- return find_domain(dev);
-}
-
static inline struct device_domain_info *
dmar_search_domain_by_dev_info(int segment, int bus, int devfn)
{
@@ -3526,7 +3521,7 @@ static dma_addr_t __intel_map_single(str

BUG_ON(dir == DMA_NONE);

- domain = deferred_attach_domain(dev);
+ domain = find_domain(dev);
if (!domain)
return DMA_MAPPING_ERROR;

@@ -3746,7 +3741,7 @@ static int intel_map_sg(struct device *d
if (!iommu_need_mapping(dev))
return dma_direct_map_sg(dev, sglist, nelems, dir, attrs);

- domain = deferred_attach_domain(dev);
+ domain = find_domain(dev);
if (!domain)
return 0;

@@ -3844,7 +3839,7 @@ bounce_map_single(struct device *dev, ph
if (unlikely(attach_deferred(dev)))
do_deferred_attach(dev);

- domain = deferred_attach_domain(dev);
+ domain = find_domain(dev);

if (WARN_ON(dir == DMA_NONE || !domain))
return DMA_MAPPING_ERROR;


2020-02-27 14:25:36

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 041/150] usb: dwc2: Fix SET/CLEAR_FEATURE and GET_STATUS flows

From: Minas Harutyunyan <[email protected]>

commit 9a0d6f7c0a83844baae1d6d85482863d2bf3b7a7 upstream.

SET/CLEAR_FEATURE for Remote Wakeup allowance not handled correctly.
GET_STATUS handling provided not correct data on DATA Stage.
Issue seen when gadget's dr_mode set to "otg" mode and connected
to MacOS.
Both are fixed and tested using USBCV Ch.9 tests.

Signed-off-by: Minas Harutyunyan <[email protected]>
Fixes: fa389a6d7726 ("usb: dwc2: gadget: Add remote_wakeup_allowed flag")
Tested-by: Jack Mitchell <[email protected]>
Cc: [email protected]
Signed-off-by: Felipe Balbi <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/usb/dwc2/gadget.c | 28 ++++++++++++++++------------
1 file changed, 16 insertions(+), 12 deletions(-)

--- a/drivers/usb/dwc2/gadget.c
+++ b/drivers/usb/dwc2/gadget.c
@@ -1632,6 +1632,7 @@ static int dwc2_hsotg_process_req_status
struct dwc2_hsotg_ep *ep0 = hsotg->eps_out[0];
struct dwc2_hsotg_ep *ep;
__le16 reply;
+ u16 status;
int ret;

dev_dbg(hsotg->dev, "%s: USB_REQ_GET_STATUS\n", __func__);
@@ -1643,11 +1644,10 @@ static int dwc2_hsotg_process_req_status

switch (ctrl->bRequestType & USB_RECIP_MASK) {
case USB_RECIP_DEVICE:
- /*
- * bit 0 => self powered
- * bit 1 => remote wakeup
- */
- reply = cpu_to_le16(0);
+ status = 1 << USB_DEVICE_SELF_POWERED;
+ status |= hsotg->remote_wakeup_allowed <<
+ USB_DEVICE_REMOTE_WAKEUP;
+ reply = cpu_to_le16(status);
break;

case USB_RECIP_INTERFACE:
@@ -1758,7 +1758,10 @@ static int dwc2_hsotg_process_req_featur
case USB_RECIP_DEVICE:
switch (wValue) {
case USB_DEVICE_REMOTE_WAKEUP:
- hsotg->remote_wakeup_allowed = 1;
+ if (set)
+ hsotg->remote_wakeup_allowed = 1;
+ else
+ hsotg->remote_wakeup_allowed = 0;
break;

case USB_DEVICE_TEST_MODE:
@@ -1768,16 +1771,17 @@ static int dwc2_hsotg_process_req_featur
return -EINVAL;

hsotg->test_mode = wIndex >> 8;
- ret = dwc2_hsotg_send_reply(hsotg, ep0, NULL, 0);
- if (ret) {
- dev_err(hsotg->dev,
- "%s: failed to send reply\n", __func__);
- return ret;
- }
break;
default:
return -ENOENT;
}
+
+ ret = dwc2_hsotg_send_reply(hsotg, ep0, NULL, 0);
+ if (ret) {
+ dev_err(hsotg->dev,
+ "%s: failed to send reply\n", __func__);
+ return ret;
+ }
break;

case USB_RECIP_ENDPOINT:


2020-02-27 14:26:09

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 018/150] btrfs: handle logged extent failure properly

From: Josef Bacik <[email protected]>

commit bd727173e4432fe6cb70ba108dc1f3602c5409d7 upstream.

If we're allocating a logged extent we attempt to insert an extent
record for the file extent directly. We increase
space_info->bytes_reserved, because the extent entry addition will call
btrfs_update_block_group(), which will convert the ->bytes_reserved to
->bytes_used. However if we fail at any point while inserting the
extent entry we will bail and leave space on ->bytes_reserved, which
will trigger a WARN_ON() on umount. Fix this by pinning the space if we
fail to insert, which is what happens in every other failure case that
involves adding the extent entry.

CC: [email protected] # 5.4+
Reviewed-by: Johannes Thumshirn <[email protected]>
Reviewed-by: Nikolay Borisov <[email protected]>
Reviewed-by: Qu Wenruo <[email protected]>
Signed-off-by: Josef Bacik <[email protected]>
Reviewed-by: David Sterba <[email protected]>
Signed-off-by: David Sterba <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
fs/btrfs/extent-tree.c | 2 ++
1 file changed, 2 insertions(+)

--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -4430,6 +4430,8 @@ int btrfs_alloc_logged_file_extent(struc

ret = alloc_reserved_file_extent(trans, 0, root_objectid, 0, owner,
offset, ins, 1);
+ if (ret)
+ btrfs_pin_extent(fs_info, ins->objectid, ins->offset, 1);
btrfs_put_block_group(block_group);
return ret;
}


2020-02-27 14:26:23

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.5 011/150] ASoC: sun8i-codec: Fix setting DAI data format

From: Samuel Holland <[email protected]>

commit 96781fd941b39e1f78098009344ebcd7af861c67 upstream.

Use the correct mask for this two-bit field. This fixes setting the DAI
data format to RIGHT_J or DSP_A.

Fixes: 36c684936fae ("ASoC: Add sun8i digital audio codec")
Signed-off-by: Samuel Holland <[email protected]>
Acked-by: Chen-Yu Tsai <[email protected]>
Cc: [email protected]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
sound/soc/sunxi/sun8i-codec.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--- a/sound/soc/sunxi/sun8i-codec.c
+++ b/sound/soc/sunxi/sun8i-codec.c
@@ -80,6 +80,7 @@

#define SUN8I_SYS_SR_CTRL_AIF1_FS_MASK GENMASK(15, 12)
#define SUN8I_SYS_SR_CTRL_AIF2_FS_MASK GENMASK(11, 8)
+#define SUN8I_AIF1CLK_CTRL_AIF1_DATA_FMT_MASK GENMASK(3, 2)
#define SUN8I_AIF1CLK_CTRL_AIF1_WORD_SIZ_MASK GENMASK(5, 4)
#define SUN8I_AIF1CLK_CTRL_AIF1_LRCK_DIV_MASK GENMASK(8, 6)
#define SUN8I_AIF1CLK_CTRL_AIF1_BCLK_DIV_MASK GENMASK(12, 9)
@@ -241,7 +242,7 @@ static int sun8i_set_fmt(struct snd_soc_
return -EINVAL;
}
regmap_update_bits(scodec->regmap, SUN8I_AIF1CLK_CTRL,
- BIT(SUN8I_AIF1CLK_CTRL_AIF1_DATA_FMT),
+ SUN8I_AIF1CLK_CTRL_AIF1_DATA_FMT_MASK,
value << SUN8I_AIF1CLK_CTRL_AIF1_DATA_FMT);

return 0;


2020-02-27 18:53:30

by Jon Hunter

[permalink] [raw]
Subject: Re: [PATCH 5.5 000/150] 5.5.7-stable review


On 27/02/2020 13:35, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.5.7 release.
> There are 150 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 Sat, 29 Feb 2020 13:21:24 +0000.
> 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/v5.x/stable-review/patch-5.5.7-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.5.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h

All tests are passing for Tegra ...

Test results for stable-v5.5:
13 builds: 13 pass, 0 fail
22 boots: 22 pass, 0 fail
40 tests: 40 pass, 0 fail

Linux version: 5.5.7-rc1-g986ea77a7c44
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra194-p2972-0000, tegra20-ventana,
tegra210-p2371-2180, tegra210-p3450-0000,
tegra30-cardhu-a04

Cheers
Jon

--
nvpublic

2020-02-27 22:35:36

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH 5.5 000/150] 5.5.7-stable review

On 2/27/20 5:35 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.5.7 release.
> There are 150 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 Sat, 29 Feb 2020 13:21:24 +0000.
> Anything received after that time might be too late.
>

Build results:
total: 157 pass: 157 fail: 0
Qemu test results:
total: 416 pass: 416 fail: 0

Guenter

2020-02-28 03:36:37

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH 5.5 000/150] 5.5.7-stable review

On 2/27/20 6:35 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.5.7 release.
> There are 150 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 Sat, 29 Feb 2020 13:21:24 +0000.
> 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/v5.x/stable-review/patch-5.5.7-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.5.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>

Compiled and booted on my test system. No dmesg regressions.

thanks,
-- Shuah

2020-02-28 03:50:52

by Naresh Kamboju

[permalink] [raw]
Subject: Re: [PATCH 5.5 000/150] 5.5.7-stable review

On Thu, 27 Feb 2020 at 19:53, Greg Kroah-Hartman
<[email protected]> wrote:
>
> This is the start of the stable review cycle for the 5.5.7 release.
> There are 150 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 Sat, 29 Feb 2020 13:21:24 +0000.
> 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/v5.x/stable-review/patch-5.5.7-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.5.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h

Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.

Summary
------------------------------------------------------------------------

kernel: 5.5.7-rc1
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git branch: linux-5.5.y
git commit: 986ea77a7c4444449bba2f289b959786acef45cd
git describe: v5.5.6-151-g986ea77a7c44
Test details: https://qa-reports.linaro.org/lkft/linux-stable-rc-5.5-oe/build/v5.5.6-151-g986ea77a7c44

No regressions (compared to build v5.5.6)

No fixes (compared to build v5.5.6)

Ran 29362 total tests in the following environments and test suites.

Environments
--------------
- dragonboard-410c
- hi6220-hikey
- i386
- juno-r2
- nxp-ls2088
- qemu_arm
- qemu_arm64
- qemu_i386
- qemu_x86_64
- x15
- x86

Test Suites
-----------
* build
* install-android-platform-tools-r2600
* kselftest
* libgpiod
* libhugetlbfs
* linux-log-parser
* ltp-cap_bounds-tests
* ltp-commands-tests
* ltp-containers-tests
* ltp-cpuhotplug-tests
* ltp-cve-tests
* ltp-dio-tests
* ltp-fcntl-locktests-tests
* ltp-filecaps-tests
* ltp-fs_bind-tests
* ltp-fs_perms_simple-tests
* ltp-fsx-tests
* ltp-hugetlb-tests
* ltp-io-tests
* ltp-ipc-tests
* ltp-math-tests
* ltp-mm-tests
* ltp-nptl-tests
* ltp-pty-tests
* ltp-sched-tests
* ltp-securebits-tests
* ltp-syscalls-tests
* perf
* spectre-meltdown-checker-test
* v4l2-compliance
* network-basic-tests
* ltp-fs-tests
* ltp-open-posix-tests
* kvm-unit-tests
* ltp-cap_bounds-64k-page_size-tests
* ltp-cap_bounds-kasan-tests
* ltp-commands-64k-page_size-tests
* ltp-commands-kasan-tests
* ltp-containers-64k-page_size-tests
* ltp-containers-kasan-tests
* ltp-cpuhotplug-64k-page_size-tests
* ltp-cpuhotplug-kasan-tests
* ltp-crypto-64k-page_size-tests
* ltp-crypto-kasan-tests
* ltp-crypto-tests
* ltp-cve-64k-page_size-tests
* ltp-cve-kasan-tests
* ltp-dio-64k-page_size-tests
* ltp-dio-kasan-tests
* ltp-fcntl-locktests-64k-page_size-tests
* ltp-fcntl-locktests-kasan-tests
* ltp-filecaps-64k-page_size-tests
* ltp-filecaps-kasan-tests
* ltp-fs-64k-page_size-tests
* ltp-fs-kasan-tests
* ltp-fs_bind-64k-page_size-tests
* ltp-fs_bind-kasan-tests
* ltp-fs_perms_simple-64k-page_size-tests
* ltp-fs_perms_simple-kasan-tests
* ltp-fsx-64k-page_size-tests
* ltp-fsx-kasan-tests
* ltp-hugetlb-64k-page_size-tests
* ltp-hugetlb-kasan-tests
* ltp-io-64k-page_size-tests
* ltp-io-kasan-tests
* ltp-ipc-64k-page_size-tests
* ltp-ipc-kasan-tests
* ltp-math-64k-page_size-tests
* ltp-math-kasan-tests
* ltp-mm-64k-page_size-tests
* ltp-mm-kasan-tests
* ltp-nptl-64k-page_size-tests
* ltp-nptl-kasan-tests
* ltp-pty-64k-page_size-tests
* ltp-pty-kasan-tests
* ltp-sched-64k-page_size-tests
* ltp-sched-kasan-tests
* ltp-securebits-64k-page_size-tests
* ltp-securebits-kasan-tests
* ltp-syscalls-64k-page_size-tests
* ltp-syscalls-compat-tests
* ltp-syscalls-kasan-tests
* ssuite
* kselftest-vsyscall-mode-native
* kselftest-vsyscall-mode-none

--
Linaro LKFT
https://lkft.linaro.org

2020-02-28 12:14:21

by Andre Tomt

[permalink] [raw]
Subject: Re: [PATCH 5.5 000/150] 5.5.7-stable review

On 27.02.2020 14:35, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.5.7 release.
> There are 150 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 Sat, 29 Feb 2020 13:21:24 +0000.
> Anything received after that time might be too late.

There is something going on with USB in this release. My AMD X570 board
is constantly having ports stop working, while a older AMD X399 board
seems fine (maybe, there is an ATEN USB extender involved on the X570
system)

I've only had time to do very rudimentary debugging, but reverting all
usb and xhci related patches seems to have solved it, eg:

> usb-dwc2-fix-in-isoc-request-length-checking.patch
> usb-gadget-composite-fix-bmaxpower-for-superspeedplus.patch
> usb-dwc3-debug-fix-string-position-formatting-mixup-with-ret-and-len.patch
> usb-dwc3-gadget-check-for-ioc-lst-bit-in-trb-ctrl-fields.patch
> usb-dwc2-fix-set-clear_feature-and-get_status-flows.patch
> usb-hub-fix-the-broken-detection-of-usb3-device-in-smsc-hub.patch
> usb-hub-don-t-record-a-connect-change-event-during-reset-resume.patch
> usb-fix-novation-sourcecontrol-xl-after-suspend.patch
> usb-uas-fix-a-plug-unplug-racing.patch
> usb-quirks-blacklist-duplicate-ep-on-sound-devices-usbpre2.patch
> usb-core-add-endpoint-blacklist-quirk.patch
> xhci-fix-memory-leak-when-caching-protocol-extended-capability-psi-tables-take-2.patch
> xhci-apply-xhci_pme_stuck_quirk-to-intel-comet-lake-platforms.patch
> xhci-fix-runtime-pm-enabling-for-quirky-intel-hosts.patch
> xhci-force-maximum-packet-size-for-full-speed-bulk-devices-to-valid-range.patch
> usb-serial-ch341-fix-receiver-regression.patch
> usb-misc-iowarrior-add-support-for-the-100-device.patch
> usb-misc-iowarrior-add-support-for-the-28-and-28l-devices.patch
> usb-misc-iowarrior-add-support-for-2-oemed-devices.patch

I might be able to narrow it down in a day or two.

2020-02-28 12:23:15

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.5 000/150] 5.5.7-stable review

On Fri, Feb 28, 2020 at 01:06:00PM +0100, Andre Tomt wrote:
> On 27.02.2020 14:35, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.5.7 release.
> > There are 150 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 Sat, 29 Feb 2020 13:21:24 +0000.
> > Anything received after that time might be too late.
>
> There is something going on with USB in this release. My AMD X570 board is
> constantly having ports stop working, while a older AMD X399 board seems
> fine (maybe, there is an ATEN USB extender involved on the X570 system)
>
> I've only had time to do very rudimentary debugging, but reverting all usb
> and xhci related patches seems to have solved it, eg:
>
> > usb-dwc2-fix-in-isoc-request-length-checking.patch
> > usb-gadget-composite-fix-bmaxpower-for-superspeedplus.patch
> > usb-dwc3-debug-fix-string-position-formatting-mixup-with-ret-and-len.patch
> > usb-dwc3-gadget-check-for-ioc-lst-bit-in-trb-ctrl-fields.patch
> > usb-dwc2-fix-set-clear_feature-and-get_status-flows.patch
> > usb-hub-fix-the-broken-detection-of-usb3-device-in-smsc-hub.patch
> > usb-hub-don-t-record-a-connect-change-event-during-reset-resume.patch
> > usb-fix-novation-sourcecontrol-xl-after-suspend.patch
> > usb-uas-fix-a-plug-unplug-racing.patch
> > usb-quirks-blacklist-duplicate-ep-on-sound-devices-usbpre2.patch
> > usb-core-add-endpoint-blacklist-quirk.patch
> > xhci-fix-memory-leak-when-caching-protocol-extended-capability-psi-tables-take-2.patch
> > xhci-apply-xhci_pme_stuck_quirk-to-intel-comet-lake-platforms.patch
> > xhci-fix-runtime-pm-enabling-for-quirky-intel-hosts.patch
> > xhci-force-maximum-packet-size-for-full-speed-bulk-devices-to-valid-range.patch
> > usb-serial-ch341-fix-receiver-regression.patch
> > usb-misc-iowarrior-add-support-for-the-100-device.patch
> > usb-misc-iowarrior-add-support-for-the-28-and-28l-devices.patch
> > usb-misc-iowarrior-add-support-for-2-oemed-devices.patch
>
> I might be able to narrow it down in a day or two.

Narrowing it down would be good, try sticking with either the hub or
xhci patches. And, 'git bisect' might make it easier.

Also, does Linus's current tree show the same problems for you?

thanks,

greg k-h

2020-02-28 13:17:15

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.5 000/150] 5.5.7-stable review

On Thu, Feb 27, 2020 at 08:35:09PM -0700, shuah wrote:
> On 2/27/20 6:35 AM, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.5.7 release.
> > There are 150 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 Sat, 29 Feb 2020 13:21:24 +0000.
> > 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/v5.x/stable-review/patch-5.5.7-rc1.gz
> > or in the git tree and branch at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.5.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
> >
>
> Compiled and booted on my test system. No dmesg regressions.

Thanks for testing all of these and letting me know.

greg k-h

2020-02-28 13:51:59

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.5 000/150] 5.5.7-stable review

On Thu, Feb 27, 2020 at 06:53:01PM +0000, Jon Hunter wrote:
>
> On 27/02/2020 13:35, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.5.7 release.
> > There are 150 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 Sat, 29 Feb 2020 13:21:24 +0000.
> > 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/v5.x/stable-review/patch-5.5.7-rc1.gz
> > or in the git tree and branch at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.5.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
>
> All tests are passing for Tegra ...
>
> Test results for stable-v5.5:
> 13 builds: 13 pass, 0 fail
> 22 boots: 22 pass, 0 fail
> 40 tests: 40 pass, 0 fail
>
> Linux version: 5.5.7-rc1-g986ea77a7c44
> Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
> tegra194-p2972-0000, tegra20-ventana,
> tegra210-p2371-2180, tegra210-p3450-0000,
> tegra30-cardhu-a04

Thanks for testing all of these and letting me know.

greg k-h

2020-02-28 14:38:55

by Andre Tomt

[permalink] [raw]
Subject: Re: [PATCH 5.5 000/150] 5.5.7-stable review

On 28.02.2020 13:22, Greg Kroah-Hartman wrote:
> On Fri, Feb 28, 2020 at 01:06:00PM +0100, Andre Tomt wrote:
>> On 27.02.2020 14:35, Greg Kroah-Hartman wrote:
>>> This is the start of the stable review cycle for the 5.5.7 release.
>>> There are 150 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 Sat, 29 Feb 2020 13:21:24 +0000.
>>> Anything received after that time might be too late.
>>
>> There is something going on with USB in this release. My AMD X570 board is
>> constantly having ports stop working, while a older AMD X399 board seems
>> fine (maybe, there is an ATEN USB extender involved on the X570 system)
>>
>> I've only had time to do very rudimentary debugging, but reverting all usb
>> and xhci related patches seems to have solved it, eg:
>>
>>> <snip>
>>
>> I might be able to narrow it down in a day or two.
>
> Narrowing it down would be good, try sticking with either the hub or
> xhci patches. And, 'git bisect' might make it easier.

It seems to be caused by "USB: hub: Don't record a connect-change event
during reset-resume". Running 5.5.7-rc1 with only that patch reverted
works fine.

Also happens with the X399. And only when the ATEN UCE260 USB extender
is involved. Connecting a device is the problem, if it is connected at
boot, things seem fine, until you connect something new. Then the port
dies completely, dead even if you disconnect the extender and plug
something in directly - until system is rebooted (perhaps driver reload
would work too - have not tested.)

Aw well, the problem does seem a little narrower than I expected at first :)

There's no errors in the kernel log at all. The last thing logged is
that whatever device was on the other end got disconnected.

> Also, does Linus's current tree show the same problems for you?

Yes, it does

Unfortunately, email deliverability will be terrible for me for a few
days (there was a mishap), so if you could loop in the
author/maintainers for me that would be good.

2020-02-28 15:13:07

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.5 000/150] 5.5.7-stable review

On Fri, Feb 28, 2020 at 09:20:18AM +0530, Naresh Kamboju wrote:
> On Thu, 27 Feb 2020 at 19:53, Greg Kroah-Hartman
> <[email protected]> wrote:
> >
> > This is the start of the stable review cycle for the 5.5.7 release.
> > There are 150 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 Sat, 29 Feb 2020 13:21:24 +0000.
> > 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/v5.x/stable-review/patch-5.5.7-rc1.gz
> > or in the git tree and branch at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.5.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
>
> Results from Linaro’s test farm.
> No regressions on arm64, arm, x86_64, and i386.

Wonderful, thanks for testing all of these and letting me know.

greg k-h