2020-09-08 19:58:36

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.8 000/186] 5.8.8-rc1 review

This is the start of the stable review cycle for the 5.8.8 release.
There are 186 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, 10 Sep 2020 15:21:57 +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.8.8-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.8.y
and the diffstat can be found below.

thanks,

greg k-h

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

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

Himadri Pandya <[email protected]>
net: usb: Fix uninit-was-stored issue in asix_read_phy_addr()

Johannes Berg <[email protected]>
cfg80211: regulatory: reject invalid hints

David Howells <[email protected]>
mm/khugepaged.c: fix khugepaged's request size in collapse_file

Muchun Song <[email protected]>
mm/hugetlb: fix a race between hugetlb sysctl handlers

Li Xinhai <[email protected]>
mm/hugetlb: try preferred node first when alloc gigantic page from cma

Alistair Popple <[email protected]>
mm/migrate: fixup setting UFFD_WP flag

Mrinal Pandey <[email protected]>
checkpatch: fix the usage of capture group ( ... )

Sowjanya Komatineni <[email protected]>
sdhci: tegra: Add missing TMCLK for data timeout

Randy Dunlap <[email protected]>
kconfig: streamline_config.pl: check defined(ENV variable) before using it

Wei Li <[email protected]>
perf record: Correct the help info of option "--no-bpf-event"

Jens Axboe <[email protected]>
io_uring: no read/write-retry on -EAGAIN error and O_NONBLOCK marked file

Alistair Popple <[email protected]>
mm/rmap: fixup copying of soft dirty and uffd ptes

Yang Shi <[email protected]>
mm: madvise: fix vma user-after-free

Joerg Roedel <[email protected]>
mm: track page table modifications in __apply_to_page_range()

Eugeniu Rosca <[email protected]>
mm: slub: fix conversion of freelist_corrupted()

Ye Bin <[email protected]>
dm thin metadata: Fix use-after-free in dm_bm_set_read_only

Ye Bin <[email protected]>
dm thin metadata: Avoid returning cmd->bm wild pointer on error

Ye Bin <[email protected]>
dm cache metadata: Avoid returning cmd->bm wild pointer on error

Damien Le Moal <[email protected]>
dm crypt: Initialize crypto wait structures

Mikulas Patocka <[email protected]>
dm integrity: fix error reporting in bitmap mode after creation

Mike Snitzer <[email protected]>
dm mpath: fix racey management of PG initialization

Mikulas Patocka <[email protected]>
dm writecache: handle DAX to partitions on persistent memory correctly

Sandeep Raghuraman <[email protected]>
drm/amdgpu: Specify get_argument function for ci_smu_funcs

Evan Quan <[email protected]>
drm/amd/pm: avoid false alarm due to confusing softwareshutdowntemp setting

Sean Paul <[email protected]>
drm/i915: Fix sha_text population code

Gustavo Pimentel <[email protected]>
dmaengine: dw-edma: Fix scatter-gather address calculation

Tejun Heo <[email protected]>
blk-stat: make q->stats->lock irqsafe

Tejun Heo <[email protected]>
blk-iocost: ioc_pd_free() shouldn't assume irq disabled

He Zhe <[email protected]>
mips/oprofile: Fix fallthrough placement

Tejun Heo <[email protected]>
libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks

Eric Farman <[email protected]>
s390: fix GENERIC_LOCKBREAK dependency typo in Kconfig

Jiufei Xue <[email protected]>
io_uring: fix removing the wrong file in __io_sqe_files_update()

Jiufei Xue <[email protected]>
io_uring: set table->files[i] to NULL when io_sqe_file_register failed

Jens Axboe <[email protected]>
block: ensure bdi->io_pages is always initialized

Ming Lei <[email protected]>
block: allow for_each_bvec to support zero len bvec

Max Staudt <[email protected]>
affs: fix basic permission bits to actually work

Sean Young <[email protected]>
media: rc: uevent sysfs file races with rc_unregister_device()

Sean Young <[email protected]>
media: rc: do not access device via sysfs after rc_unregister_device()

Adrian Hunter <[email protected]>
mmc: sdhci-pci: Fix SDHCI_RESET_ALL for CQHCI for Intel GLK-based controllers

Wenbin Mei <[email protected]>
mmc: dt-bindings: Add resets/reset-names for Mediatek MMC bindings

Wenbin Mei <[email protected]>
mmc: mediatek: add optional module reset property

Wenbin Mei <[email protected]>
arm64: dts: mt7622: add reset node for mmc device

Takashi Iwai <[email protected]>
ALSA: hda/realtek - Improved routing for Thinkpad X1 7th/8th Gen

Adrien Crivelli <[email protected]>
ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion NT950XCJ-X716A

Takashi Sakamoto <[email protected]>
ALSA; firewire-tascam: exclude Tascam FE-8 from detection

Dan Crawford <[email protected]>
ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO

Takashi Sakamoto <[email protected]>
ALSA: firewire-digi00x: exclude Avid Adrenaline from detection

Kai Vehmanen <[email protected]>
ALSA: hda/hdmi: always check pin power status in i915 pin fixup

Takashi Iwai <[email protected]>
ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check

Joshua Sivec <[email protected]>
ALSA: usb-audio: Add implicit feedback quirk for UR22C

František Kučera <[email protected]>
ALSA: usb-audio: Add basic capture support for Pioneer DJ DJM-250MK2

Tong Zhang <[email protected]>
ALSA: ca0106: fix error code handling

Tiezhu Yang <[email protected]>
Revert "ALSA: hda: Add support for Loongson 7A1000 controller"

Sasha Levin <[email protected]>
x86/mm/32: Bring back vmalloc faulting on x86_32

Max Chou <[email protected]>
Bluetooth: Return NOTIFY_DONE for hci_suspend_notifier

Qu Wenruo <[email protected]>
btrfs: tree-checker: fix the error message for transid error

Marcos Paulo de Souza <[email protected]>
btrfs: block-group: fix free-space bitmap threshold

Josef Bacik <[email protected]>
btrfs: set the lockdep class for log tree extent buffers

Josef Bacik <[email protected]>
btrfs: set the correct lockdep class for new nodes

Josef Bacik <[email protected]>
btrfs: allocate scrub workqueues outside of locks

Josef Bacik <[email protected]>
btrfs: fix potential deadlock in the search ioctl

Josef Bacik <[email protected]>
btrfs: drop path before adding new uuid tree entry

Mike Rapoport <[email protected]>
arc: fix memory initialization for systems with two memory banks

Vineet Gupta <[email protected]>
ARC: perf: don't bail setup if pct irq missing in device-tree

Mikulas Patocka <[email protected]>
xfs: don't update mtime on COW faults

Mikulas Patocka <[email protected]>
ext2: don't update mtime on COW faults

Andy Lutomirski <[email protected]>
x86/debug: Allow a single level of #DB recursion

Peter Zijlstra <[email protected]>
x86/entry: Fix AC assertion

Vamshi K Sthambamkadi <[email protected]>
tracing/kprobes, x86/ptrace: Fix regs argument order for i386

Chris Wilson <[email protected]>
iommu/vt-d: Handle 36bit addressing for x86-32

Jason Gunthorpe <[email protected]>
include/linux/log2.h: add missing () around n in roundup_pow_of_two()

Or Cohen <[email protected]>
net/packet: fix overflow in tpacket_rcv

Suravee Suthikulpanit <[email protected]>
iommu/amd: Use cmpxchg_double() when updating 128-bit IRTE

Suravee Suthikulpanit <[email protected]>
iommu/amd: Restore IRTE.RemapEn bit after programming IRTE

Veera Vegivada <[email protected]>
thermal: qcom-spmi-temp-alarm: Don't suppress negative temp

Tony Lindgren <[email protected]>
thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430

Lu Baolu <[email protected]>
iommu/vt-d: Serialize IOMMU GCMD register modifications

Huang Ying <[email protected]>
x86, fakenuma: Fix invalid starting node ID

Michael Chan <[email protected]>
tg3: Fix soft lockup when tg3_reset_task() fails.

YueHaibing <[email protected]>
perf bench: The do_run_multi_threaded() function must use IS_ERR(perf_session__new())

Jin Yao <[email protected]>
perf stat: Turn off summary for interval mode by default

Namhyung Kim <[email protected]>
perf jevents: Fix suspicious code in fixregex()

Darrick J. Wong <[email protected]>
xfs: fix xfs_bmap_validate_extent_raw when checking attr fork of rt files

Thomas Bogendoerfer <[email protected]>
MIPS: SNI: Fix SCSI interrupt

Huang Pei <[email protected]>
MIPS: add missing MSACSR and upper MSA initialization

Kai-Heng Feng <[email protected]>
drm/radeon: Prefer lower feedback dividers

Dan Murphy <[email protected]>
net: dp83867: Fix WoL SecureOn password

Louis Peens <[email protected]>
nfp: flower: fix ABI mismatch between driver and firmware

Dan Carpenter <[email protected]>
net: gemini: Fix another missing clk_disable_unprepare() in probe

Denis Efremov <[email protected]>
net: bcmgenet: fix mask check in bcmgenet_validate_flow()

Al Viro <[email protected]>
fix regression in "epoll: Keep a reference on files added to the check list"

Shung-Hsi Yu <[email protected]>
net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init()

Al Grant <[email protected]>
perf tools: Correct SNOOPX field offset

Al Grant <[email protected]>
perf intel-pt: Fix corrupt data after perf inject from

Al Grant <[email protected]>
perf cs-etm: Fix corrupt data after perf inject from

Arnaldo Carvalho de Melo <[email protected]>
perf top/report: Fix infinite loop in the TUI for grouped events

Christoph Hellwig <[email protected]>
block: fix locking in bdev_del_partition

Tiezhu Yang <[email protected]>
MIPS: perf: Fix wrong check condition of Loongson event IDs

Grygorii Strashko <[email protected]>
net: ethernet: ti: am65-cpsw: fix rmii 100Mbit link mode

Potnuri Bharat Teja <[email protected]>
cxgb4: fix thermal zone device registration

Viresh Kumar <[email protected]>
opp: Don't drop reference for an OPP table that was never parsed

Florian Westphal <[email protected]>
netfilter: conntrack: do not auto-delete clash entries on reply

Keith Busch <[email protected]>
nvme: fix controller instance leak

Christophe JAILLET <[email protected]>
nvmet-fc: Fix a missed _irqsave version of spin_lock in 'nvmet_fc_fod_op_done()'

Pablo Neira Ayuso <[email protected]>
netfilter: nfnetlink: nfnetlink_unicast() reports EAGAIN instead of ENOBUFS

Landen Chao <[email protected]>
net: dsa: mt7530: fix advertising unsupported 1000baseT_Half

Jesper Dangaard Brouer <[email protected]>
selftests/bpf: Fix massive output from test_maps

Jacopo Mondi <[email protected]>
media: i2c: imx214: select V4L2_FWNODE

Murali Karicheri <[email protected]>
net: ethernet: ti: cpsw_new: fix error handling in cpsw_ndo_vlan_rx_kill_vid()

Ezequiel Garcia <[email protected]>
media: cedrus: Add missing v4l2_ctrl_request_hdl_put()

Hans Verkuil <[email protected]>
media: vicodec: add missing v4l2_ctrl_request_hdl_put()

Jakub Kicinski <[email protected]>
bnxt: don't enable NAPI until rings are ready

Eric Sandeen <[email protected]>
xfs: fix boundary test in xfs_attr_shortform_verify

Brian Foster <[email protected]>
xfs: finish dfops on every insert range shift iteration

Edwin Peer <[email protected]>
bnxt_en: fix HWRM error when querying VF temperature

Michael Chan <[email protected]>
bnxt_en: Fix possible crash in bnxt_fw_reset_task().

Vasundhara Volam <[email protected]>
bnxt_en: Fix PCI AER error recovery flow

Michael Chan <[email protected]>
bnxt_en: Fix ethtool -S statitics with XDP or TCs enabled.

Vasundhara Volam <[email protected]>
bnxt_en: Check for zero dir entries in NVRAM.

Pavan Chebbi <[email protected]>
bnxt_en: Don't query FW when netif_running() is false.

Murali Karicheri <[email protected]>
net: ethernet: ti: cpsw_new: fix clean up of vlan mc entries for host port

Murali Karicheri <[email protected]>
net: ethernet: ti: cpsw: fix clean up of vlan mc entries for host port

Nicolas Dichtel <[email protected]>
gtp: add GTPA_LINK info to msg sent to userspace

Peter Ujfalusi <[email protected]>
dmaengine: ti: k3-udma: Fix the TR initialization for prep_slave_sg

Marek Szyprowski <[email protected]>
dmaengine: pl330: Fix burst length if burst size is smaller than bus width

Yonghong Song <[email protected]>
bpf: Fix a buffer out-of-bound access when filling raw_tp link_info

Dinghao Liu <[email protected]>
net: arc_emac: Fix memleak in arc_mdio_probe

Yuusuke Ashizuka <[email protected]>
ravb: Fixed to be able to unload modules

Dinghao Liu <[email protected]>
net: systemport: Fix memleak in bcm_sysport_probe

Dinghao Liu <[email protected]>
net: hns: Fix memleak in hns_nic_dev_probe

Florian Westphal <[email protected]>
netfilter: nf_tables: fix destination register zeroing

Pablo Neira Ayuso <[email protected]>
netfilter: nf_tables: incorrect enum nft_list_attributes definition

Pablo Neira Ayuso <[email protected]>
netfilter: nf_tables: add NFTA_SET_USERDATA if not null

Tiezhu Yang <[email protected]>
perf top: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set

David Ahern <[email protected]>
perf sched timehist: Fix use of CPU list with summary option

Raul E Rangel <[email protected]>
mmc: sdhci-acpi: Fix HS400 tuning for AMDI0040

Florian Fainelli <[email protected]>
MIPS: BMIPS: Also call bmips_cpu_setup() for secondary cores

Florian Fainelli <[email protected]>
MIPS: mm: BMIPS5000 has inclusive physical caches

David Howells <[email protected]>
rxrpc: Make rxrpc_kernel_get_srtt() indicate validity

David Howells <[email protected]>
rxrpc: Fix loss of RTT samples due to interposed ACK

David Howells <[email protected]>
rxrpc: Keep the ACK serial in a var in rxrpc_input_ack()

Yu Kuai <[email protected]>
dmaengine: at_hdmac: add missing kfree() call in at_dma_xlate()

Yu Kuai <[email protected]>
dmaengine: at_hdmac: add missing put_device() call in at_dma_xlate()

Yu Kuai <[email protected]>
dmaengine: at_hdmac: check return value of of_find_device_by_node() in at_dma_xlate()

Jussi Kivilinna <[email protected]>
batman-adv: bla: use netif_rx_ni when not in interrupt context

Linus Lüssing <[email protected]>
batman-adv: Fix own OGM check in aggregated OGMs

Sven Eckelmann <[email protected]>
batman-adv: Avoid uninitialized chaddr when handling DHCP

Peter Ujfalusi <[email protected]>
dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling

Linus Torvalds <[email protected]>
fsldma: fix very broken 32-bit ppc ioread64 functionality

Simon Leiner <[email protected]>
xen/xenbus: Fix granting of vmalloc'd memory

Dinghao Liu <[email protected]>
drm/amd/display: Fix memleak in amdgpu_dm_mode_config_init

Wayne Lin <[email protected]>
drm/amd/display: Retry AUX write when fail occurs

Brandon Syu <[email protected]>
drm/amd/display: Keep current gain when ABM disable immediately

Samson Tam <[email protected]>
drm/amd/display: Fix passive dongle mistaken as active dongle in EDID emulation

Jaehyun Chung <[email protected]>
drm/amd/display: Revert HDCP disable sequence change

Furquan Shaikh <[email protected]>
drivers: gpu: amd: Initialize amdgpu_dm_backlight_caps object to 0 in amdgpu_dm_update_backlight_caps

Nicholas Kazlauskas <[email protected]>
drm/amd/display: Reject overlay plane configurations in multi-display scenarios

Tong Zhang <[email protected]>
drm/amd/display: should check error using DC_OK

Sven Schnelle <[email protected]>
s390: don't trace preemption in percpu macros

Hou Pu <[email protected]>
nbd: restore default timeout when setting it to zero

Peter Zijlstra <[email protected]>
cpuidle: Fixup IRQ state

Paul Cercueil <[email protected]>
irqchip/ingenic: Leave parent IRQ unmasked on suspend

Tomi Valkeinen <[email protected]>
drm/omap: fix incorrect lock state

Ray Jui <[email protected]>
i2c: iproc: Fix shifting 31 bits

Jeff Layton <[email protected]>
ceph: don't allow setlease on cephfs

Vineeth Pillai <[email protected]>
hv_utils: drain the timesync packets on onchannelcallback

Vineeth Pillai <[email protected]>
hv_utils: return error if host timesysnc update is stale

Bob Peterson <[email protected]>
gfs2: add some much needed cleanup for log flushes that fail

Dmitry Baryshkov <[email protected]>
drm/msm/a6xx: fix gmu start on newer firmware

Ofir Bitton <[email protected]>
habanalabs: check correct vmalloc return code

Ofir Bitton <[email protected]>
habanalabs: validate FW file size

Oded Gabbay <[email protected]>
habanalabs: set max power according to card type

Ofir Bitton <[email protected]>
habanalabs: proper handling of alloc size in coresight

Ofir Bitton <[email protected]>
habanalabs: set clock gating according to mask

Ofir Bitton <[email protected]>
habanalabs: validate packet id during CB parse

Ofir Bitton <[email protected]>
habanalabs: unmap PCI bars upon iATU failure

Rob Clark <[email protected]>
drm/msm: enable vblank during atomic commits

Amit Engel <[email protected]>
nvmet: Disable keep-alive timer when kato is cleared to 0h

Tom Rix <[email protected]>
hwmon: (applesmc) check status earlier.

Krishna Manikandan <[email protected]>
drm/msm: add shutdown support for display platform_driver

John Stultz <[email protected]>
tty: serial: qcom_geni_serial: Drop __init from qcom_geni_console_setup

Rob Clark <[email protected]>
drm/msm/dpu: fix unitialized variable error

Kalyan Thota <[email protected]>
drm/msm/dpu: Fix scale params in plane validation

Kalyan Thota <[email protected]>
drm/msm/dpu: Fix reservation failures in modeset

Sebastian Parschauer <[email protected]>
HID: quirks: Always poll three more Lenovo PixArt mice

Grant Peltier <[email protected]>
hwmon: (pmbus/isl68137) remove READ_TEMPERATURE_1 telemetry for RAA228228


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

Diffstat:

Documentation/devicetree/bindings/mmc/mtk-sd.txt | 2 +
Documentation/filesystems/affs.rst | 16 ++-
Makefile | 4 +-
arch/arc/kernel/perf_event.c | 14 +--
arch/arc/mm/init.c | 27 +++--
arch/arm64/boot/dts/mediatek/mt7622.dtsi | 2 +
arch/mips/kernel/perf_event_mipsxx.c | 4 +-
arch/mips/kernel/smp-bmips.c | 2 +
arch/mips/kernel/traps.c | 12 ++
arch/mips/mm/c-r4k.c | 4 +
arch/mips/oprofile/op_model_mipsxx.c | 4 +-
arch/mips/sni/a20r.c | 4 +-
arch/s390/Kconfig | 2 +-
arch/s390/include/asm/percpu.h | 28 ++---
arch/x86/entry/common.c | 12 +-
arch/x86/include/asm/ptrace.h | 2 +-
arch/x86/include/asm/switch_to.h | 23 ++++
arch/x86/kernel/setup_percpu.c | 6 +-
arch/x86/kernel/traps.c | 66 +++++-----
arch/x86/mm/fault.c | 134 +++++++++++++++++++++
arch/x86/mm/numa_emulation.c | 2 +-
arch/x86/mm/pti.c | 8 +-
arch/x86/mm/tlb.c | 37 ++++++
block/blk-core.c | 1 +
block/blk-iocost.c | 5 +-
block/blk-stat.c | 17 ++-
block/partitions/core.c | 27 ++---
drivers/ata/libata-core.c | 5 +-
drivers/ata/libata-scsi.c | 8 +-
drivers/block/nbd.c | 2 +
drivers/cpuidle/cpuidle.c | 3 +-
drivers/dma/at_hdmac.c | 11 +-
drivers/dma/dw-edma/dw-edma-core.c | 11 +-
drivers/dma/fsldma.h | 12 +-
drivers/dma/of-dma.c | 8 +-
drivers/dma/pl330.c | 2 +-
drivers/dma/ti/k3-udma.c | 6 +-
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 12 +-
.../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 2 +-
drivers/gpu/drm/amd/display/dc/core/dc_link.c | 3 +-
drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 8 +-
drivers/gpu/drm/amd/display/dc/dc_stream.h | 2 +-
.../gpu/drm/amd/display/dc/dcn10/dcn10_resource.c | 8 ++
.../gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c | 14 ++-
drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c | 2 +
drivers/gpu/drm/i915/display/intel_hdcp.c | 26 +++-
drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 12 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 2 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 20 +--
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 4 +-
drivers/gpu/drm/msm/msm_atomic.c | 36 ++++++
drivers/gpu/drm/msm/msm_drv.c | 8 ++
drivers/gpu/drm/omapdrm/omap_crtc.c | 3 +-
drivers/gpu/drm/radeon/radeon_display.c | 2 +-
drivers/hid/hid-ids.h | 3 +
drivers/hid/hid-quirks.c | 3 +
drivers/hv/hv_util.c | 65 +++++++---
drivers/hwmon/applesmc.c | 31 ++---
drivers/hwmon/pmbus/isl68137.c | 7 +-
drivers/i2c/busses/i2c-bcm-iproc.c | 4 +-
drivers/iommu/Kconfig | 2 +-
drivers/iommu/amd/init.c | 21 +++-
drivers/iommu/amd/iommu.c | 19 ++-
drivers/iommu/intel/iommu.c | 14 +--
drivers/iommu/intel/irq_remapping.c | 10 +-
drivers/irqchip/irq-ingenic.c | 2 +-
drivers/md/dm-cache-metadata.c | 8 +-
drivers/md/dm-crypt.c | 4 +-
drivers/md/dm-integrity.c | 12 ++
drivers/md/dm-mpath.c | 22 ++--
drivers/md/dm-thin-metadata.c | 10 +-
drivers/md/dm-writecache.c | 12 +-
drivers/md/persistent-data/dm-block-manager.c | 14 ++-
drivers/media/i2c/Kconfig | 2 +-
drivers/media/rc/rc-main.c | 44 ++++---
drivers/media/test-drivers/vicodec/vicodec-core.c | 1 +
drivers/misc/habanalabs/device.c | 7 +-
drivers/misc/habanalabs/firmware_if.c | 9 ++
drivers/misc/habanalabs/gaudi/gaudi.c | 90 ++++++++++----
drivers/misc/habanalabs/gaudi/gaudiP.h | 3 +-
drivers/misc/habanalabs/gaudi/gaudi_coresight.c | 8 +-
drivers/misc/habanalabs/goya/goya.c | 31 +++++
drivers/misc/habanalabs/goya/goya_coresight.c | 8 +-
drivers/misc/habanalabs/habanalabs.h | 7 +-
drivers/misc/habanalabs/memory.c | 9 +-
drivers/misc/habanalabs/mmu.c | 2 +-
drivers/misc/habanalabs/pci.c | 6 +-
drivers/misc/habanalabs/sysfs.c | 7 +-
drivers/mmc/host/mtk-sd.c | 13 ++
drivers/mmc/host/sdhci-acpi.c | 67 +++++++++--
drivers/mmc/host/sdhci-pci-core.c | 10 +-
drivers/mmc/host/sdhci-tegra.c | 53 +++++++-
drivers/net/dsa/mt7530.c | 2 +-
drivers/net/ethernet/arc/emac_mdio.c | 1 +
drivers/net/ethernet/broadcom/bcmsysport.c | 6 +-
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 36 +++---
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 16 +--
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 2 +-
drivers/net/ethernet/broadcom/tg3.c | 17 ++-
drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c | 8 +-
drivers/net/ethernet/cortina/gemini.c | 34 +++---
drivers/net/ethernet/hisilicon/hns/hns_enet.c | 9 +-
drivers/net/ethernet/mellanox/mlx4/mr.c | 2 +-
.../ethernet/netronome/nfp/flower/tunnel_conf.c | 2 +
drivers/net/ethernet/renesas/ravb_main.c | 110 ++++++++---------
drivers/net/ethernet/ti/am65-cpsw-nuss.c | 2 +
drivers/net/ethernet/ti/cpsw.c | 2 +-
drivers/net/ethernet/ti/cpsw_new.c | 29 +++--
drivers/net/gtp.c | 1 +
drivers/net/phy/dp83867.c | 4 +-
drivers/net/usb/asix_common.c | 2 +-
drivers/nvme/host/core.c | 2 +-
drivers/nvme/target/core.c | 6 +
drivers/nvme/target/fc.c | 4 +-
drivers/opp/core.c | 22 +++-
drivers/opp/opp.h | 2 +-
drivers/staging/media/sunxi/cedrus/cedrus.c | 7 +-
drivers/thermal/qcom/qcom-spmi-temp-alarm.c | 4 +-
.../thermal/ti-soc-thermal/omap4-thermal-data.c | 23 ++--
drivers/thermal/ti-soc-thermal/omap4xxx-bandgap.h | 10 +-
drivers/tty/serial/qcom_geni_serial.c | 2 +-
drivers/xen/xenbus/xenbus_client.c | 10 +-
fs/affs/amigaffs.c | 27 +++++
fs/affs/file.c | 26 +++-
fs/afs/fs_probe.c | 4 +-
fs/afs/vl_probe.c | 4 +-
fs/btrfs/block-group.c | 4 +-
fs/btrfs/ctree.c | 6 +-
fs/btrfs/extent-tree.c | 2 +-
fs/btrfs/extent_io.c | 8 +-
fs/btrfs/extent_io.h | 6 +-
fs/btrfs/free-space-tree.c | 4 +
fs/btrfs/ioctl.c | 27 +++--
fs/btrfs/scrub.c | 122 +++++++++++--------
fs/btrfs/tree-checker.c | 2 +-
fs/btrfs/volumes.c | 3 +-
fs/ceph/file.c | 1 +
fs/eventpoll.c | 6 +-
fs/ext2/file.c | 6 +-
fs/gfs2/log.c | 31 +++++
fs/gfs2/trans.c | 1 +
fs/io_uring.c | 16 ++-
fs/xfs/libxfs/xfs_attr_leaf.c | 4 +-
fs/xfs/libxfs/xfs_bmap.c | 2 +-
fs/xfs/xfs_bmap_util.c | 2 +-
fs/xfs/xfs_file.c | 12 +-
include/drm/drm_hdcp.h | 3 +
include/linux/bvec.h | 9 +-
include/linux/libata.h | 1 +
include/linux/log2.h | 2 +-
include/linux/netfilter/nfnetlink.h | 3 +-
include/net/af_rxrpc.h | 2 +-
include/net/netfilter/nf_tables.h | 2 +
include/trace/events/rxrpc.h | 27 ++++-
include/uapi/linux/netfilter/nf_tables.h | 2 +-
kernel/bpf/syscall.c | 2 +-
mm/hugetlb.c | 49 ++++++--
mm/khugepaged.c | 2 +-
mm/madvise.c | 2 +-
mm/memory.c | 36 ++++--
mm/migrate.c | 17 ++-
mm/rmap.c | 9 +-
mm/slub.c | 12 +-
net/batman-adv/bat_v_ogm.c | 11 +-
net/batman-adv/bridge_loop_avoidance.c | 5 +-
net/batman-adv/gateway_client.c | 6 +-
net/bluetooth/hci_core.c | 2 +-
net/netfilter/nf_conntrack_proto_udp.c | 26 ++--
net/netfilter/nf_tables_api.c | 64 +++++-----
net/netfilter/nfnetlink.c | 11 +-
net/netfilter/nfnetlink_log.c | 3 +-
net/netfilter/nfnetlink_queue.c | 2 +-
net/netfilter/nft_flow_offload.c | 2 +-
net/netfilter/nft_payload.c | 4 +-
net/packet/af_packet.c | 7 +-
net/rxrpc/ar-internal.h | 13 +-
net/rxrpc/call_object.c | 1 +
net/rxrpc/input.c | 123 +++++++++++--------
net/rxrpc/output.c | 82 +++++++++----
net/rxrpc/peer_object.c | 16 ++-
net/rxrpc/rtt.c | 3 +-
net/wireless/reg.c | 3 +
scripts/checkpatch.pl | 4 +-
scripts/kconfig/streamline_config.pl | 5 +-
sound/core/oss/mulaw.c | 4 +-
sound/firewire/digi00x/digi00x.c | 5 +
sound/firewire/tascam/tascam.c | 33 ++++-
sound/pci/ca0106/ca0106_main.c | 3 +-
sound/pci/hda/hda_intel.c | 2 -
sound/pci/hda/patch_hdmi.c | 1 +
sound/pci/hda/patch_realtek.c | 46 ++++++-
sound/usb/pcm.c | 2 +
sound/usb/quirks-table.h | 60 +++++++--
sound/usb/quirks.c | 1 +
tools/include/uapi/linux/perf_event.h | 2 +-
tools/perf/Documentation/perf-stat.txt | 3 +
tools/perf/bench/synthesize.c | 4 +-
tools/perf/builtin-record.c | 2 +-
tools/perf/builtin-sched.c | 6 +-
tools/perf/builtin-stat.c | 8 +-
tools/perf/builtin-top.c | 2 +
tools/perf/pmu-events/jevents.c | 2 +-
tools/perf/ui/browsers/hists.c | 3 +-
tools/perf/util/cs-etm.c | 9 +-
tools/perf/util/intel-pt.c | 9 +-
tools/perf/util/stat.h | 1 +
tools/testing/selftests/bpf/test_maps.c | 2 +
207 files changed, 2040 insertions(+), 783 deletions(-)



2020-09-08 19:58:44

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.8 024/186] drm/omap: fix incorrect lock state

From: Tomi Valkeinen <[email protected]>

[ Upstream commit 7fd5b25499bcec157dd4de9a713425efcf4571cd ]

After commit 92cc68e35863c1c61c449efa2b2daef6e9926048 ("drm/vblank: Use
spin_(un)lock_irq() in drm_crtc_vblank_on()") omapdrm locking is broken:

WARNING: inconsistent lock state
5.8.0-rc2-00483-g92cc68e35863 #13 Tainted: G W
--------------------------------
inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage.
swapper/0/0 [HC1[1]:SC0[0]:HE0:SE1] takes:
ea98222c (&dev->event_lock#2){?.+.}-{2:2}, at: drm_handle_vblank+0x4c/0x520 [drm]
{HARDIRQ-ON-W} state was registered at:
trace_hardirqs_on+0x9c/0x1ec
_raw_spin_unlock_irq+0x20/0x58
omap_crtc_atomic_enable+0x54/0xa0 [omapdrm]
drm_atomic_helper_commit_modeset_enables+0x218/0x270 [drm_kms_helper]
omap_atomic_commit_tail+0x48/0xc4 [omapdrm]
commit_tail+0x9c/0x190 [drm_kms_helper]
drm_atomic_helper_commit+0x154/0x188 [drm_kms_helper]
drm_client_modeset_commit_atomic+0x228/0x268 [drm]
drm_client_modeset_commit_locked+0x60/0x1d0 [drm]
drm_client_modeset_commit+0x24/0x40 [drm]
drm_fb_helper_restore_fbdev_mode_unlocked+0x54/0xa8 [drm_kms_helper]
drm_fb_helper_set_par+0x2c/0x5c [drm_kms_helper]
drm_fb_helper_hotplug_event.part.0+0xa0/0xbc [drm_kms_helper]
drm_kms_helper_hotplug_event+0x24/0x30 [drm_kms_helper]
output_poll_execute+0x1a8/0x1c0 [drm_kms_helper]
process_one_work+0x268/0x800
worker_thread+0x30/0x4e0
kthread+0x164/0x190
ret_from_fork+0x14/0x20

The reason for this is that omapdrm calls drm_crtc_vblank_on() while
holding event_lock taken with spin_lock_irq().

It is not clear why drm_crtc_vblank_on() and drm_crtc_vblank_get() are
called while holding event_lock. I don't see any problem with moving
those calls outside the lock, which is what this patch does.

Signed-off-by: Tomi Valkeinen <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Reviewed-by: Laurent Pinchart <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/gpu/drm/omapdrm/omap_crtc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c
index 6d40914675dad..328a4a74f534e 100644
--- a/drivers/gpu/drm/omapdrm/omap_crtc.c
+++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
@@ -451,11 +451,12 @@ static void omap_crtc_atomic_enable(struct drm_crtc *crtc,
if (omap_state->manually_updated)
return;

- spin_lock_irq(&crtc->dev->event_lock);
drm_crtc_vblank_on(crtc);
+
ret = drm_crtc_vblank_get(crtc);
WARN_ON(ret != 0);

+ spin_lock_irq(&crtc->dev->event_lock);
omap_crtc_arm_event(crtc);
spin_unlock_irq(&crtc->dev->event_lock);
}
--
2.25.1



2020-09-08 19:58:52

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.8 023/186] i2c: iproc: Fix shifting 31 bits

From: Ray Jui <[email protected]>

[ Upstream commit 0204081128d582965e9e39ca83ee6e4f7d27142b ]

Fix undefined behaviour in the iProc I2C driver by using 'BIT' marcro.

Reported-by: Wolfram Sang <[email protected]>
Signed-off-by: Ray Jui <[email protected]>
Acked-by: Florian Fainelli <[email protected]>
[wsa: in commit msg, don't say 'checkpatch' but name the issue]
Signed-off-by: Wolfram Sang <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/i2c/busses/i2c-bcm-iproc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/i2c/busses/i2c-bcm-iproc.c b/drivers/i2c/busses/i2c-bcm-iproc.c
index 688e928188214..d8295b1c379d1 100644
--- a/drivers/i2c/busses/i2c-bcm-iproc.c
+++ b/drivers/i2c/busses/i2c-bcm-iproc.c
@@ -720,7 +720,7 @@ static int bcm_iproc_i2c_xfer_internal(struct bcm_iproc_i2c_dev *iproc_i2c,

/* mark the last byte */
if (!process_call && (i == msg->len - 1))
- val |= 1 << M_TX_WR_STATUS_SHIFT;
+ val |= BIT(M_TX_WR_STATUS_SHIFT);

iproc_i2c_wr_reg(iproc_i2c, M_TX_OFFSET, val);
}
@@ -738,7 +738,7 @@ static int bcm_iproc_i2c_xfer_internal(struct bcm_iproc_i2c_dev *iproc_i2c,
*/
addr = i2c_8bit_addr_from_msg(msg);
/* mark it the last byte out */
- val = addr | (1 << M_TX_WR_STATUS_SHIFT);
+ val = addr | BIT(M_TX_WR_STATUS_SHIFT);
iproc_i2c_wr_reg(iproc_i2c, M_TX_OFFSET, val);
}

--
2.25.1



2020-09-08 19:58:56

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.8 025/186] irqchip/ingenic: Leave parent IRQ unmasked on suspend

From: Paul Cercueil <[email protected]>

[ Upstream commit 821fc9e261f3af235752f46e59084467cfd440c4 ]

All the wakeup sources we possibly want will go through the interrupt
controller, so the parent IRQ must not be masked during suspend, or
there won't be any way to wake up the system.

Signed-off-by: Paul Cercueil <[email protected]>
Signed-off-by: Marc Zyngier <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/irqchip/irq-ingenic.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-ingenic.c b/drivers/irqchip/irq-ingenic.c
index 9f3da4260ca65..b61a8901ef722 100644
--- a/drivers/irqchip/irq-ingenic.c
+++ b/drivers/irqchip/irq-ingenic.c
@@ -125,7 +125,7 @@ static int __init ingenic_intc_of_init(struct device_node *node,
irq_reg_writel(gc, IRQ_MSK(32), JZ_REG_INTC_SET_MASK);
}

- if (request_irq(parent_irq, intc_cascade, 0,
+ if (request_irq(parent_irq, intc_cascade, IRQF_NO_SUSPEND,
"SoC intc cascade interrupt", NULL))
pr_err("Failed to register SoC intc cascade interrupt\n");
return 0;
--
2.25.1



2020-09-08 19:59:04

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.8 004/186] drm/msm/dpu: Fix scale params in plane validation

From: Kalyan Thota <[email protected]>

[ Upstream commit 4c978caf08aa155bdeadd9e2d4b026d4ce97ebd0 ]

Plane validation uses an API drm_calc_scale which will
return src/dst value as a scale ratio.

when viewing the range on a scale the values should fall in as

Upscale ratio < Unity scale < Downscale ratio for src/dst formula

Fix the min and max scale ratios to suit the API accordingly.

Signed-off-by: Kalyan Thota <[email protected]>
Tested-by: Kristian H. Kristensen <[email protected]>
Reviewed-by: Kristian H. Kristensen <[email protected]>
Signed-off-by: Rob Clark <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
index 3b9c33e694bf4..994d23bad3870 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
@@ -866,9 +866,9 @@ static int dpu_plane_atomic_check(struct drm_plane *plane,
crtc_state = drm_atomic_get_new_crtc_state(state->state,
state->crtc);

- min_scale = FRAC_16_16(1, pdpu->pipe_sblk->maxdwnscale);
+ min_scale = FRAC_16_16(1, pdpu->pipe_sblk->maxupscale);
ret = drm_atomic_helper_check_plane_state(state, crtc_state, min_scale,
- pdpu->pipe_sblk->maxupscale << 16,
+ pdpu->pipe_sblk->maxdwnscale << 16,
true, true);
if (ret) {
DPU_DEBUG_PLANE(pdpu, "Check plane state failed (%d)\n", ret);
--
2.25.1



2020-09-08 19:59:22

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.8 027/186] nbd: restore default timeout when setting it to zero

From: Hou Pu <[email protected]>

[ Upstream commit acb19e17c5134dd78668c429ecba5b481f038e6a ]

If we configured io timeout of nbd0 to 100s. Later after we
finished using it, we configured nbd0 again and set the io
timeout to 0. We expect it would timeout after 30 seconds
and keep retry. But in fact we could not change the timeout
when we set it to 0. the timeout is still the original 100s.

So change the timeout to default 30s when we set it to zero.
It also behaves same as commit 2da22da57348 ("nbd: fix zero
cmd timeout handling v2").

It becomes more important if we were reconfigure a nbd device
and the io timeout it set to zero. Because it could take 30s
to detect the new socket and thus io could be completed more
quickly compared to 100s.

Signed-off-by: Hou Pu <[email protected]>
Reviewed-by: Josef Bacik <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/block/nbd.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index ce7e9f223b20b..bc9dc1f847e19 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -1360,6 +1360,8 @@ static void nbd_set_cmd_timeout(struct nbd_device *nbd, u64 timeout)
nbd->tag_set.timeout = timeout * HZ;
if (timeout)
blk_queue_rq_timeout(nbd->disk->queue, timeout * HZ);
+ else
+ blk_queue_rq_timeout(nbd->disk->queue, 30 * HZ);
}

/* Must be called with config_lock held */
--
2.25.1



2020-09-08 19:59:41

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.8 005/186] drm/msm/dpu: fix unitialized variable error

From: Rob Clark <[email protected]>

[ Upstream commit 35c719da95c0d28560bff7bafeaf07ebb212665e ]

drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c:817 dpu_crtc_enable() error: uninitialized symbol 'request_bandwidth'.

Reported-by: kernel test robot <[email protected]>
Signed-off-by: Rob Clark <[email protected]>
Reviewed-by: Sean Paul <[email protected]>
Signed-off-by: Rob Clark <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
index 969d95aa873c4..1026e1e5bec10 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
@@ -827,7 +827,7 @@ static void dpu_crtc_enable(struct drm_crtc *crtc,
{
struct dpu_crtc *dpu_crtc;
struct drm_encoder *encoder;
- bool request_bandwidth;
+ bool request_bandwidth = false;

if (!crtc) {
DPU_ERROR("invalid crtc\n");
--
2.25.1



2020-09-08 20:00:17

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.8 022/186] ceph: dont allow setlease on cephfs

From: Jeff Layton <[email protected]>

[ Upstream commit 496ceaf12432b3d136dcdec48424312e71359ea7 ]

Leases don't currently work correctly on kcephfs, as they are not broken
when caps are revoked. They could eventually be implemented similarly to
how we did them in libcephfs, but for now don't allow them.

[ idryomov: no need for simple_nosetlease() in ceph_dir_fops and
ceph_snapdir_fops ]

Signed-off-by: Jeff Layton <[email protected]>
Reviewed-by: Ilya Dryomov <[email protected]>
Signed-off-by: Ilya Dryomov <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
fs/ceph/file.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/ceph/file.c b/fs/ceph/file.c
index d51c3f2fdca02..327649883ec7c 100644
--- a/fs/ceph/file.c
+++ b/fs/ceph/file.c
@@ -2507,6 +2507,7 @@ const struct file_operations ceph_file_fops = {
.mmap = ceph_mmap,
.fsync = ceph_fsync,
.lock = ceph_lock,
+ .setlease = simple_nosetlease,
.flock = ceph_flock,
.splice_read = generic_file_splice_read,
.splice_write = iter_file_splice_write,
--
2.25.1



2020-09-08 20:00:19

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.8 003/186] drm/msm/dpu: Fix reservation failures in modeset

From: Kalyan Thota <[email protected]>

[ Upstream commit ccc862b957c6413b008fbe458034372847992d7f ]

In TEST_ONLY commit, rm global_state will duplicate the
object and request for new reservations, once they pass
then the new state will be swapped with the old and will
be available for the Atomic Commit.

This patch fixes some of missing links in the resource
reservation sequence mentioned above.

1) Creation of duplicate state in test_only commit (Rob)
2) Allocate and release the resources on every modeset.
3) Avoid allocation only when active is false.

In a modeset operation, swap state happens well before
disable. Hence clearing reservations in disable will
cause failures in modeset enable.

Allow reservations to be cleared/allocated before swap,
such that only newly committed resources are pushed to HW.

Changes in v1:
- Move the rm release to atomic_check.
- Ensure resource allocation and free happens when active
is not changed i.e only when mode is changed.(Rob)

Changes in v2:
- Handle dpu_kms_get_global_state API failure as it may
return EDEADLK (swboyd).

Signed-off-by: Kalyan Thota <[email protected]>
Signed-off-by: Rob Clark <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
index 0946a86b37b28..c0cd936314e66 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
@@ -586,7 +586,10 @@ static int dpu_encoder_virt_atomic_check(
dpu_kms = to_dpu_kms(priv->kms);
mode = &crtc_state->mode;
adj_mode = &crtc_state->adjusted_mode;
- global_state = dpu_kms_get_existing_global_state(dpu_kms);
+ global_state = dpu_kms_get_global_state(crtc_state->state);
+ if (IS_ERR(global_state))
+ return PTR_ERR(global_state);
+
trace_dpu_enc_atomic_check(DRMID(drm_enc));

/*
@@ -621,12 +624,15 @@ static int dpu_encoder_virt_atomic_check(
/* Reserve dynamic resources now. */
if (!ret) {
/*
- * Avoid reserving resources when mode set is pending. Topology
- * info may not be available to complete reservation.
+ * Release and Allocate resources on every modeset
+ * Dont allocate when active is false.
*/
if (drm_atomic_crtc_needs_modeset(crtc_state)) {
- ret = dpu_rm_reserve(&dpu_kms->rm, global_state,
- drm_enc, crtc_state, topology);
+ dpu_rm_release(global_state, drm_enc);
+
+ if (!crtc_state->active_changed || crtc_state->active)
+ ret = dpu_rm_reserve(&dpu_kms->rm, global_state,
+ drm_enc, crtc_state, topology);
}
}

@@ -1175,7 +1181,6 @@ static void dpu_encoder_virt_disable(struct drm_encoder *drm_enc)
struct dpu_encoder_virt *dpu_enc = NULL;
struct msm_drm_private *priv;
struct dpu_kms *dpu_kms;
- struct dpu_global_state *global_state;
int i = 0;

if (!drm_enc) {
@@ -1194,7 +1199,6 @@ static void dpu_encoder_virt_disable(struct drm_encoder *drm_enc)

priv = drm_enc->dev->dev_private;
dpu_kms = to_dpu_kms(priv->kms);
- global_state = dpu_kms_get_existing_global_state(dpu_kms);

trace_dpu_enc_disable(DRMID(drm_enc));

@@ -1224,8 +1228,6 @@ static void dpu_encoder_virt_disable(struct drm_encoder *drm_enc)

DPU_DEBUG_ENC(dpu_enc, "encoder disabled\n");

- dpu_rm_release(global_state, drm_enc);
-
mutex_unlock(&dpu_enc->enc_lock);
}

--
2.25.1



2020-09-08 20:00:41

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.8 021/186] hv_utils: drain the timesync packets on onchannelcallback

From: Vineeth Pillai <[email protected]>

[ Upstream commit b46b4a8a57c377b72a98c7930a9f6969d2d4784e ]

There could be instances where a system stall prevents the timesync
packets to be consumed. And this might lead to more than one packet
pending in the ring buffer. Current code empties one packet per callback
and it might be a stale one. So drain all the packets from ring buffer
on each callback.

Signed-off-by: Vineeth Pillai <[email protected]>
Reviewed-by: Michael Kelley <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Wei Liu <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/hv/hv_util.c | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/drivers/hv/hv_util.c b/drivers/hv/hv_util.c
index 1f86e8d9b018d..a4e8d96513c22 100644
--- a/drivers/hv/hv_util.c
+++ b/drivers/hv/hv_util.c
@@ -387,10 +387,23 @@ static void timesync_onchannelcallback(void *context)
struct ictimesync_ref_data *refdata;
u8 *time_txf_buf = util_timesynch.recv_buffer;

- vmbus_recvpacket(channel, time_txf_buf,
- HV_HYP_PAGE_SIZE, &recvlen, &requestid);
+ /*
+ * Drain the ring buffer and use the last packet to update
+ * host_ts
+ */
+ while (1) {
+ int ret = vmbus_recvpacket(channel, time_txf_buf,
+ HV_HYP_PAGE_SIZE, &recvlen,
+ &requestid);
+ if (ret) {
+ pr_warn_once("TimeSync IC pkt recv failed (Err: %d)\n",
+ ret);
+ break;
+ }
+
+ if (!recvlen)
+ break;

- if (recvlen > 0) {
icmsghdrp = (struct icmsg_hdr *)&time_txf_buf[
sizeof(struct vmbuspipe_hdr)];

--
2.25.1



2020-09-08 21:18:08

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.8 130/186] btrfs: block-group: fix free-space bitmap threshold

From: Marcos Paulo de Souza <[email protected]>

commit e3e39c72b99f93bbd0420d38c858e7c4a061bb63 upstream.

[BUG]
After commit 9afc66498a0b ("btrfs: block-group: refactor how we read one
block group item"), cache->length is being assigned after calling
btrfs_create_block_group_cache. This causes a problem since
set_free_space_tree_thresholds calculates the free-space threshold to
decide if the free-space tree should convert from extents to bitmaps.

The current code calls set_free_space_tree_thresholds with cache->length
being 0, which then makes cache->bitmap_high_thresh zero. This implies
the system will always use bitmap instead of extents, which is not
desired if the block group is not fragmented.

This behavior can be seen by a test that expects to repair systems
with FREE_SPACE_EXTENT and FREE_SPACE_BITMAP, but the current code only
created FREE_SPACE_BITMAP.

[FIX]
Call set_free_space_tree_thresholds after setting cache->length. There
is now a WARN_ON in set_free_space_tree_thresholds to help preventing
the same mistake to happen again in the future.

Link: https://github.com/kdave/btrfs-progs/issues/251
Fixes: 9afc66498a0b ("btrfs: block-group: refactor how we read one block group item")
CC: [email protected] # 5.8+
Reviewed-by: Qu Wenruo <[email protected]>
Reviewed-by: Filipe Manana <[email protected]>
Signed-off-by: Marcos Paulo de Souza <[email protected]>
Signed-off-by: David Sterba <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
fs/btrfs/block-group.c | 4 +++-
fs/btrfs/free-space-tree.c | 4 ++++
2 files changed, 7 insertions(+), 1 deletion(-)

--- a/fs/btrfs/block-group.c
+++ b/fs/btrfs/block-group.c
@@ -1814,7 +1814,6 @@ static struct btrfs_block_group *btrfs_c

cache->fs_info = fs_info;
cache->full_stripe_len = btrfs_full_stripe_len(fs_info, start);
- set_free_space_tree_thresholds(cache);

cache->discard_index = BTRFS_DISCARD_INDEX_UNUSED;

@@ -1928,6 +1927,8 @@ static int read_one_block_group(struct b
if (ret < 0)
goto error;

+ set_free_space_tree_thresholds(cache);
+
if (need_clear) {
/*
* When we mount with old space cache, we need to
@@ -2148,6 +2149,7 @@ int btrfs_make_block_group(struct btrfs_
return -ENOMEM;

cache->length = size;
+ set_free_space_tree_thresholds(cache);
cache->used = bytes_used;
cache->flags = type;
cache->last_byte_to_unpin = (u64)-1;
--- a/fs/btrfs/free-space-tree.c
+++ b/fs/btrfs/free-space-tree.c
@@ -22,6 +22,10 @@ void set_free_space_tree_thresholds(stru
size_t bitmap_size;
u64 num_bitmaps, total_bitmap_size;

+ if (WARN_ON(cache->length == 0))
+ btrfs_warn(cache->fs_info, "block group %llu length is zero",
+ cache->start);
+
/*
* We convert to bitmaps when the disk space required for using extents
* exceeds that required for using bitmaps.


2020-09-08 21:18:49

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.8 074/186] xfs: fix boundary test in xfs_attr_shortform_verify

From: Eric Sandeen <[email protected]>

[ Upstream commit f4020438fab05364018c91f7e02ebdd192085933 ]

The boundary test for the fixed-offset parts of xfs_attr_sf_entry in
xfs_attr_shortform_verify is off by one, because the variable array
at the end is defined as nameval[1] not nameval[].
Hence we need to subtract 1 from the calculation.

This can be shown by:

# touch file
# setfattr -n root.a file

and verifications will fail when it's written to disk.

This only matters for a last attribute which has a single-byte name
and no value, otherwise the combination of namelen & valuelen will
push endp further out and this test won't fail.

Fixes: 1e1bbd8e7ee06 ("xfs: create structure verifier function for shortform xattrs")
Signed-off-by: Eric Sandeen <[email protected]>
Reviewed-by: Darrick J. Wong <[email protected]>
Signed-off-by: Darrick J. Wong <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
fs/xfs/libxfs/xfs_attr_leaf.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/xfs/libxfs/xfs_attr_leaf.c b/fs/xfs/libxfs/xfs_attr_leaf.c
index 2f7e89e4be3e3..4eb2ecd31b0d2 100644
--- a/fs/xfs/libxfs/xfs_attr_leaf.c
+++ b/fs/xfs/libxfs/xfs_attr_leaf.c
@@ -996,8 +996,10 @@ xfs_attr_shortform_verify(
* struct xfs_attr_sf_entry has a variable length.
* Check the fixed-offset parts of the structure are
* within the data buffer.
+ * xfs_attr_sf_entry is defined with a 1-byte variable
+ * array at the end, so we must subtract that off.
*/
- if (((char *)sfep + sizeof(*sfep)) >= endp)
+ if (((char *)sfep + sizeof(*sfep) - 1) >= endp)
return __this_address;

/* Don't allow names with known bad length. */
--
2.25.1



2020-09-08 21:18:55

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.8 151/186] affs: fix basic permission bits to actually work

From: Max Staudt <[email protected]>

commit d3a84a8d0dde4e26bc084b36ffcbdc5932ac85e2 upstream.

The basic permission bits (protection bits in AmigaOS) have been broken
in Linux' AFFS - it would only set bits, but never delete them.
Also, contrary to the documentation, the Archived bit was not handled.

Let's fix this for good, and set the bits such that Linux and classic
AmigaOS can coexist in the most peaceful manner.

Also, update the documentation to represent the current state of things.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: [email protected]
Signed-off-by: Max Staudt <[email protected]>
Signed-off-by: David Sterba <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
Documentation/filesystems/affs.rst | 16 ++++++++++------
fs/affs/amigaffs.c | 27 +++++++++++++++++++++++++++
fs/affs/file.c | 26 +++++++++++++++++++++++++-
3 files changed, 62 insertions(+), 7 deletions(-)

--- a/Documentation/filesystems/affs.rst
+++ b/Documentation/filesystems/affs.rst
@@ -110,13 +110,15 @@ The Amiga protection flags RWEDRWEDHSPAR

- R maps to r for user, group and others. On directories, R implies x.

- - If both W and D are allowed, w will be set.
+ - W maps to w.

- E maps to x.

- - H and P are always retained and ignored under Linux.
+ - D is ignored.

- - A is always reset when a file is written to.
+ - H, S and P are always retained and ignored under Linux.
+
+ - A is cleared when a file is written to.

User id and group id will be used unless set[gu]id are given as mount
options. Since most of the Amiga file systems are single user systems
@@ -128,11 +130,13 @@ Linux -> Amiga:

The Linux rwxrwxrwx file mode is handled as follows:

- - r permission will set R for user, group and others.
+ - r permission will allow R for user, group and others.
+
+ - w permission will allow W for user, group and others.

- - w permission will set W and D for user, group and others.
+ - x permission of the user will allow E for plain files.

- - x permission of the user will set E for plain files.
+ - D will be allowed for user, group and others.

- All other flags (suid, sgid, ...) are ignored and will
not be retained.
--- a/fs/affs/amigaffs.c
+++ b/fs/affs/amigaffs.c
@@ -420,24 +420,51 @@ affs_mode_to_prot(struct inode *inode)
u32 prot = AFFS_I(inode)->i_protect;
umode_t mode = inode->i_mode;

+ /*
+ * First, clear all RWED bits for owner, group, other.
+ * Then, recalculate them afresh.
+ *
+ * We'll always clear the delete-inhibit bit for the owner, as that is
+ * the classic single-user mode AmigaOS protection bit and we need to
+ * stay compatible with all scenarios.
+ *
+ * Since multi-user AmigaOS is an extension, we'll only set the
+ * delete-allow bit if any of the other bits in the same user class
+ * (group/other) are used.
+ */
+ prot &= ~(FIBF_NOEXECUTE | FIBF_NOREAD
+ | FIBF_NOWRITE | FIBF_NODELETE
+ | FIBF_GRP_EXECUTE | FIBF_GRP_READ
+ | FIBF_GRP_WRITE | FIBF_GRP_DELETE
+ | FIBF_OTR_EXECUTE | FIBF_OTR_READ
+ | FIBF_OTR_WRITE | FIBF_OTR_DELETE);
+
+ /* Classic single-user AmigaOS flags. These are inverted. */
if (!(mode & 0100))
prot |= FIBF_NOEXECUTE;
if (!(mode & 0400))
prot |= FIBF_NOREAD;
if (!(mode & 0200))
prot |= FIBF_NOWRITE;
+
+ /* Multi-user extended flags. Not inverted. */
if (mode & 0010)
prot |= FIBF_GRP_EXECUTE;
if (mode & 0040)
prot |= FIBF_GRP_READ;
if (mode & 0020)
prot |= FIBF_GRP_WRITE;
+ if (mode & 0070)
+ prot |= FIBF_GRP_DELETE;
+
if (mode & 0001)
prot |= FIBF_OTR_EXECUTE;
if (mode & 0004)
prot |= FIBF_OTR_READ;
if (mode & 0002)
prot |= FIBF_OTR_WRITE;
+ if (mode & 0007)
+ prot |= FIBF_OTR_DELETE;

AFFS_I(inode)->i_protect = prot;
}
--- a/fs/affs/file.c
+++ b/fs/affs/file.c
@@ -428,6 +428,24 @@ static int affs_write_begin(struct file
return ret;
}

+static int affs_write_end(struct file *file, struct address_space *mapping,
+ loff_t pos, unsigned int len, unsigned int copied,
+ struct page *page, void *fsdata)
+{
+ struct inode *inode = mapping->host;
+ int ret;
+
+ ret = generic_write_end(file, mapping, pos, len, copied, page, fsdata);
+
+ /* Clear Archived bit on file writes, as AmigaOS would do */
+ if (AFFS_I(inode)->i_protect & FIBF_ARCHIVED) {
+ AFFS_I(inode)->i_protect &= ~FIBF_ARCHIVED;
+ mark_inode_dirty(inode);
+ }
+
+ return ret;
+}
+
static sector_t _affs_bmap(struct address_space *mapping, sector_t block)
{
return generic_block_bmap(mapping,block,affs_get_block);
@@ -437,7 +455,7 @@ const struct address_space_operations af
.readpage = affs_readpage,
.writepage = affs_writepage,
.write_begin = affs_write_begin,
- .write_end = generic_write_end,
+ .write_end = affs_write_end,
.direct_IO = affs_direct_IO,
.bmap = _affs_bmap
};
@@ -794,6 +812,12 @@ done:
if (tmp > inode->i_size)
inode->i_size = AFFS_I(inode)->mmu_private = tmp;

+ /* Clear Archived bit on file writes, as AmigaOS would do */
+ if (AFFS_I(inode)->i_protect & FIBF_ARCHIVED) {
+ AFFS_I(inode)->i_protect &= ~FIBF_ARCHIVED;
+ mark_inode_dirty(inode);
+ }
+
err_first_bh:
unlock_page(page);
put_page(page);


2020-09-08 21:20:01

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.8 043/186] dmaengine: at_hdmac: check return value of of_find_device_by_node() in at_dma_xlate()

From: Yu Kuai <[email protected]>

[ Upstream commit 0cef8e2c5a07d482ec907249dbd6687e8697677f ]

The reurn value of of_find_device_by_node() is not checked, thus null
pointer dereference will be triggered if of_find_device_by_node()
failed.

Fixes: bbe89c8e3d59 ("at_hdmac: move to generic DMA binding")
Signed-off-by: Yu Kuai <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Vinod Koul <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/dma/at_hdmac.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c
index 73a20780744bf..22c1c507055a3 100644
--- a/drivers/dma/at_hdmac.c
+++ b/drivers/dma/at_hdmac.c
@@ -1650,6 +1650,8 @@ static struct dma_chan *at_dma_xlate(struct of_phandle_args *dma_spec,
return NULL;

dmac_pdev = of_find_device_by_node(dma_spec->np);
+ if (!dmac_pdev)
+ return NULL;

dma_cap_zero(mask);
dma_cap_set(DMA_SLAVE, mask);
--
2.25.1



2020-09-09 01:42:52

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH 5.8 000/186] 5.8.8-rc1 review

On 9/8/20 9:22 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.8.8 release.
> There are 186 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, 10 Sep 2020 15:21:57 +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.8.8-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.8.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>

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

Tested-by: Shuah Khan <[email protected]>

thanks,
-- Shuah

2020-09-09 05:50:10

by Naresh Kamboju

[permalink] [raw]
Subject: Re: [PATCH 5.8 000/186] 5.8.8-rc1 review

On Tue, 8 Sep 2020 at 21:05, Greg Kroah-Hartman
<[email protected]> wrote:
>
> This is the start of the stable review cycle for the 5.8.8 release.
> There are 186 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, 10 Sep 2020 15:21:57 +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.8.8-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.8.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.

Tested-by: Linux Kernel Functional Testing <[email protected]>

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

kernel: 5.8.8-rc1
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git branch: linux-5.8.y
git commit: 456fe9607f8f8a55179d2527598b8e90a2591e4d
git describe: v5.8.7-187-g456fe9607f8f
Test details: https://qa-reports.linaro.org/lkft/linux-stable-rc-5.8-oe/build/v5.8.7-187-g456fe9607f8f

No regressions (compared to build v5.8.7)


No fixes (compared to build v5.8.7)

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

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

Test Suites
-----------
* build
* igt-gpu-tools
* install-android-platform-tools-r2600
* kselftest
* kselftest/drivers
* kselftest/filesystems
* kselftest/net
* libhugetlbfs
* linux-log-parser
* ltp-cap_bounds-tests
* ltp-commands-tests
* ltp-controllers-tests
* ltp-cpuhotplug-tests
* ltp-crypto-tests
* ltp-cve-tests
* ltp-fcntl-locktests-tests
* ltp-filecaps-tests
* ltp-fs-tests
* ltp-fs_bind-tests
* ltp-fs_perms_simple-tests
* ltp-fsx-tests
* ltp-hugetlb-tests
* ltp-math-tests
* ltp-mm-tests
* ltp-nptl-tests
* ltp-pty-tests
* ltp-sched-tests
* ltp-securebits-tests
* ltp-syscalls-tests
* perf
* v4l2-compliance
* ltp-containers-tests
* ltp-ipc-tests
* ltp-tracing-tests
* network-basic-tests
* ltp-dio-tests
* ltp-io-tests
* ltp-open-posix-tests
* kselftest-vsyscall-mode-native
* kselftest-vsyscall-mode-native/drivers
* kselftest-vsyscall-mode-native/filesystems
* kselftest-vsyscall-mode-native/net
* kselftest-vsyscall-mode-none
* kselftest-vsyscall-mode-none/drivers
* kselftest-vsyscall-mode-none/filesystems
* kselftest-vsyscall-mode-none/net
* ssuite

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

2020-09-09 16:49:00

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH 5.8 000/186] 5.8.8-rc1 review

On Tue, Sep 08, 2020 at 05:22:22PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.8.8 release.
> There are 186 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, 10 Sep 2020 15:21:57 +0000.
> Anything received after that time might be too late.
>

Build results:
total: 154 pass: 153 fail: 1
Failed builds:
powerpc:allmodconfig
Qemu test results:
total: 430 pass: 430 fail: 0

The powerpc problem is the same as before:

Inconsistent kallsyms data
Try make KALLSYMS_EXTRA_PASS=1 as a workaround

KALLSYMS_EXTRA_PASS=1 doesn't help. The problem is sporadic, elusive, and all
but impossible to bisect. The same build passes on another system, for example,
with a different load pattern. It may pass with -j30 and fail with -j40.
The problem started at some point after v5.8, and got worse over time; by now
it almost always happens. I'd be happy to debug if there is a means to do it,
but I don't have an idea where to even start. I'd disable KALLSYMS in my
test configurations, but the symbol is selected from various places and thus
difficult to disable. So unless I stop building ppc:allmodconfig entirely
we'll just have to live with the failure.

Tested-by: Guenter Roeck <[email protected]>

Guenter

2020-09-09 18:01:27

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.8 000/186] 5.8.8-rc1 review

On Tue, Sep 08, 2020 at 07:39:08PM -0600, Shuah Khan wrote:
> On 9/8/20 9:22 AM, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.8.8 release.
> > There are 186 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, 10 Sep 2020 15:21:57 +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.8.8-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.8.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
> >
>
> Compiled and booted on my test system. No dmesg regressions.
>
> Tested-by: Shuah Khan <[email protected]>

Thanks for testing all of them and letting me know.

greg k-h

2020-09-09 18:01:41

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.8 000/186] 5.8.8-rc1 review

On Wed, Sep 09, 2020 at 11:18:57AM +0530, Naresh Kamboju wrote:
> On Tue, 8 Sep 2020 at 21:05, Greg Kroah-Hartman
> <[email protected]> wrote:
> >
> > This is the start of the stable review cycle for the 5.8.8 release.
> > There are 186 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, 10 Sep 2020 15:21:57 +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.8.8-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.8.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.
>
> Tested-by: Linux Kernel Functional Testing <[email protected]>

Thanks for testing them all and letting me konw.

greg k-h

2020-09-09 18:02:45

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.8 000/186] 5.8.8-rc1 review

On Wed, Sep 09, 2020 at 09:47:05AM -0700, Guenter Roeck wrote:
> On Tue, Sep 08, 2020 at 05:22:22PM +0200, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.8.8 release.
> > There are 186 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, 10 Sep 2020 15:21:57 +0000.
> > Anything received after that time might be too late.
> >
>
> Build results:
> total: 154 pass: 153 fail: 1
> Failed builds:
> powerpc:allmodconfig
> Qemu test results:
> total: 430 pass: 430 fail: 0
>
> The powerpc problem is the same as before:
>
> Inconsistent kallsyms data
> Try make KALLSYMS_EXTRA_PASS=1 as a workaround
>
> KALLSYMS_EXTRA_PASS=1 doesn't help. The problem is sporadic, elusive, and all
> but impossible to bisect. The same build passes on another system, for example,
> with a different load pattern. It may pass with -j30 and fail with -j40.
> The problem started at some point after v5.8, and got worse over time; by now
> it almost always happens. I'd be happy to debug if there is a means to do it,
> but I don't have an idea where to even start. I'd disable KALLSYMS in my
> test configurations, but the symbol is selected from various places and thus
> difficult to disable. So unless I stop building ppc:allmodconfig entirely
> we'll just have to live with the failure.

Ah, I was worried when I saw your dashboard orange for this kernel.

I guess the powerpc maintainers don't care? Sad :(

Anyway, thanks for testing them all and letting me know.

greg k-h

2020-09-09 18:23:32

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH 5.8 000/186] 5.8.8-rc1 review

On 9/9/20 11:01 AM, Greg Kroah-Hartman wrote:
> On Wed, Sep 09, 2020 at 09:47:05AM -0700, Guenter Roeck wrote:
>> On Tue, Sep 08, 2020 at 05:22:22PM +0200, Greg Kroah-Hartman wrote:
>>> This is the start of the stable review cycle for the 5.8.8 release.
>>> There are 186 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, 10 Sep 2020 15:21:57 +0000.
>>> Anything received after that time might be too late.
>>>
>>
>> Build results:
>> total: 154 pass: 153 fail: 1
>> Failed builds:
>> powerpc:allmodconfig
>> Qemu test results:
>> total: 430 pass: 430 fail: 0
>>
>> The powerpc problem is the same as before:
>>
>> Inconsistent kallsyms data
>> Try make KALLSYMS_EXTRA_PASS=1 as a workaround
>>
>> KALLSYMS_EXTRA_PASS=1 doesn't help. The problem is sporadic, elusive, and all
>> but impossible to bisect. The same build passes on another system, for example,
>> with a different load pattern. It may pass with -j30 and fail with -j40.
>> The problem started at some point after v5.8, and got worse over time; by now
>> it almost always happens. I'd be happy to debug if there is a means to do it,
>> but I don't have an idea where to even start. I'd disable KALLSYMS in my
>> test configurations, but the symbol is selected from various places and thus
>> difficult to disable. So unless I stop building ppc:allmodconfig entirely
>> we'll just have to live with the failure.
>
> Ah, I was worried when I saw your dashboard orange for this kernel.
>
> I guess the powerpc maintainers don't care? Sad :(
>

Not sure if the powerpc architecture is to blame. Bisect attempts end up
all over the place, and don't typically include any powerpc changes.
I have no idea how kallsyms is created, but my suspicion is that it is
a generic problem and that powerpc just happens to hit it right now.
I have added KALLSYMS_EXTRA_PASS=1 to several architecture builds over
time, when they reported similar problems. Right now I set it for
alpha, arm, and m68k. powerpc just happens to be the first architecture
where it doesn't help.

Guenter

2020-09-10 06:37:22

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH 5.8 000/186] 5.8.8-rc1 review

Hi Günter,

On Wed, Sep 9, 2020 at 8:24 PM Guenter Roeck <[email protected]> wrote:
> On 9/9/20 11:01 AM, Greg Kroah-Hartman wrote:
> > On Wed, Sep 09, 2020 at 09:47:05AM -0700, Guenter Roeck wrote:
> >> On Tue, Sep 08, 2020 at 05:22:22PM +0200, Greg Kroah-Hartman wrote:
> >>> This is the start of the stable review cycle for the 5.8.8 release.
> >>> There are 186 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, 10 Sep 2020 15:21:57 +0000.
> >>> Anything received after that time might be too late.
> >>>
> >>
> >> Build results:
> >> total: 154 pass: 153 fail: 1
> >> Failed builds:
> >> powerpc:allmodconfig
> >> Qemu test results:
> >> total: 430 pass: 430 fail: 0
> >>
> >> The powerpc problem is the same as before:
> >>
> >> Inconsistent kallsyms data
> >> Try make KALLSYMS_EXTRA_PASS=1 as a workaround
> >>
> >> KALLSYMS_EXTRA_PASS=1 doesn't help. The problem is sporadic, elusive, and all
> >> but impossible to bisect. The same build passes on another system, for example,
> >> with a different load pattern. It may pass with -j30 and fail with -j40.
> >> The problem started at some point after v5.8, and got worse over time; by now
> >> it almost always happens. I'd be happy to debug if there is a means to do it,
> >> but I don't have an idea where to even start. I'd disable KALLSYMS in my
> >> test configurations, but the symbol is selected from various places and thus
> >> difficult to disable. So unless I stop building ppc:allmodconfig entirely
> >> we'll just have to live with the failure.
> >
> > Ah, I was worried when I saw your dashboard orange for this kernel.
> >
> > I guess the powerpc maintainers don't care? Sad :(
> >
>
> Not sure if the powerpc architecture is to blame. Bisect attempts end up
> all over the place, and don't typically include any powerpc changes.
> I have no idea how kallsyms is created, but my suspicion is that it is
> a generic problem and that powerpc just happens to hit it right now.
> I have added KALLSYMS_EXTRA_PASS=1 to several architecture builds over
> time, when they reported similar problems. Right now I set it for
> alpha, arm, and m68k. powerpc just happens to be the first architecture
> where it doesn't help.

This is a generic problem, cfr. scripts/link-vmlinux.sh:

# kallsyms support
# Generate section listing all symbols and add it into vmlinux
# It's a three step process:
# 1) Link .tmp_vmlinux1 so it has all symbols and sections,
# but __kallsyms is empty.
# Running kallsyms on that gives us .tmp_kallsyms1.o with
# the right size
# 2) Link .tmp_vmlinux2 so it now has a __kallsyms section of
# the right size, but due to the added section, some
# addresses have shifted.
# From here, we generate a correct .tmp_kallsyms2.o
# 3) That link may have expanded the kernel image enough that
# more linker branch stubs / trampolines had to be added, which
# introduces new names, which further expands kallsyms. Do another
# pass if that is the case. In theory it's possible this results
# in even more stubs, but unlikely.
# KALLSYMS_EXTRA_PASS=1 may also used to debug or work around
# other bugs.

Adding even more kallsyms_steps may help (or not, if you're really
unlucky). Perhaps the number of passes should be handled automatically
(i.e. run until it succeeds, with a sane (16?) upper limit to avoid
endless builds, so it can still fail, in theory).

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2020-09-10 15:28:34

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH 5.8 000/186] 5.8.8-rc1 review

On 9/9/20 11:36 PM, Geert Uytterhoeven wrote:
> Hi Günter,
>
> On Wed, Sep 9, 2020 at 8:24 PM Guenter Roeck <[email protected]> wrote:
>> On 9/9/20 11:01 AM, Greg Kroah-Hartman wrote:
>>> On Wed, Sep 09, 2020 at 09:47:05AM -0700, Guenter Roeck wrote:
>>>> On Tue, Sep 08, 2020 at 05:22:22PM +0200, Greg Kroah-Hartman wrote:
>>>>> This is the start of the stable review cycle for the 5.8.8 release.
>>>>> There are 186 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, 10 Sep 2020 15:21:57 +0000.
>>>>> Anything received after that time might be too late.
>>>>>
>>>>
>>>> Build results:
>>>> total: 154 pass: 153 fail: 1
>>>> Failed builds:
>>>> powerpc:allmodconfig
>>>> Qemu test results:
>>>> total: 430 pass: 430 fail: 0
>>>>
>>>> The powerpc problem is the same as before:
>>>>
>>>> Inconsistent kallsyms data
>>>> Try make KALLSYMS_EXTRA_PASS=1 as a workaround
>>>>
>>>> KALLSYMS_EXTRA_PASS=1 doesn't help. The problem is sporadic, elusive, and all
>>>> but impossible to bisect. The same build passes on another system, for example,
>>>> with a different load pattern. It may pass with -j30 and fail with -j40.
>>>> The problem started at some point after v5.8, and got worse over time; by now
>>>> it almost always happens. I'd be happy to debug if there is a means to do it,
>>>> but I don't have an idea where to even start. I'd disable KALLSYMS in my
>>>> test configurations, but the symbol is selected from various places and thus
>>>> difficult to disable. So unless I stop building ppc:allmodconfig entirely
>>>> we'll just have to live with the failure.
>>>
>>> Ah, I was worried when I saw your dashboard orange for this kernel.
>>>
>>> I guess the powerpc maintainers don't care? Sad :(
>>>
>>
>> Not sure if the powerpc architecture is to blame. Bisect attempts end up
>> all over the place, and don't typically include any powerpc changes.
>> I have no idea how kallsyms is created, but my suspicion is that it is
>> a generic problem and that powerpc just happens to hit it right now.
>> I have added KALLSYMS_EXTRA_PASS=1 to several architecture builds over
>> time, when they reported similar problems. Right now I set it for
>> alpha, arm, and m68k. powerpc just happens to be the first architecture
>> where it doesn't help.
>
> This is a generic problem, cfr. scripts/link-vmlinux.sh:
>
> # kallsyms support
> # Generate section listing all symbols and add it into vmlinux
> # It's a three step process:
> # 1) Link .tmp_vmlinux1 so it has all symbols and sections,
> # but __kallsyms is empty.
> # Running kallsyms on that gives us .tmp_kallsyms1.o with
> # the right size
> # 2) Link .tmp_vmlinux2 so it now has a __kallsyms section of
> # the right size, but due to the added section, some
> # addresses have shifted.
> # From here, we generate a correct .tmp_kallsyms2.o
> # 3) That link may have expanded the kernel image enough that
> # more linker branch stubs / trampolines had to be added, which
> # introduces new names, which further expands kallsyms. Do another
> # pass if that is the case. In theory it's possible this results
> # in even more stubs, but unlikely.
> # KALLSYMS_EXTRA_PASS=1 may also used to debug or work around
> # other bugs.
>
Ah, that explains a lot.

> Adding even more kallsyms_steps may help (or not, if you're really
> unlucky). Perhaps the number of passes should be handled automatically
> (i.e. run until it succeeds, with a sane (16?) upper limit to avoid
> endless builds, so it can still fail, in theory).
>

Turns out it needs four steps. I prepared a patch to try up to 8 steps.
We'll see if it gets accepted.

Thanks,
Guenter