Merge 4.14.196 into android-4.14-q
authorGreg Kroah-Hartman <gregkh@google.com>
Thu, 3 Sep 2020 09:50:42 +0000 (11:50 +0200)
committerGreg Kroah-Hartman <gregkh@google.com>
Thu, 3 Sep 2020 09:50:42 +0000 (11:50 +0200)
Changes in 4.14.196
powerpc/64s: Don't init FSCR_DSCR in __init_FSCR()
net: Fix potential wrong skb->protocol in skb_vlan_untag()
tipc: fix uninit skb->data in tipc_nl_compat_dumpit()
ipvlan: fix device features
gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY
ALSA: pci: delete repeated words in comments
ASoC: tegra: Fix reference count leaks.
mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs
arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep
powerpc/xive: Ignore kmemleak false positives
media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA value in debiirq()
blktrace: ensure our debugfs dir exists
scsi: target: tcmu: Fix crash on ARM during cmd completion
iommu/iova: Don't BUG on invalid PFNs
drm/amdkfd: Fix reference count leaks.
drm/radeon: fix multiple reference count leak
drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms
drm/amd/display: fix ref count leak in amdgpu_drm_ioctl
drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config
drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails
scsi: lpfc: Fix shost refcount mismatch when deleting vport
selftests/powerpc: Purge extra count_pmc() calls of ebb selftests
omapfb: fix multiple reference count leaks due to pm_runtime_get_sync
PCI: Fix pci_create_slot() reference count leak
rtlwifi: rtl8192cu: Prevent leaking urb
mips/vdso: Fix resource leaks in genvdso.c
cec-api: prevent leaking memory through hole in structure
f2fs: fix use-after-free issue
drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open
drm/nouveau: Fix reference count leak in nouveau_connector_detect
locking/lockdep: Fix overflow in presentation of average lock-time
scsi: iscsi: Do not put host in iscsi_set_flashnode_param()
ceph: fix potential mdsc use-after-free crash
scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del()
EDAC/ie31200: Fallback if host bridge device is already initialized
media: davinci: vpif_capture: fix potential double free
KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe
powerpc/spufs: add CONFIG_COREDUMP dependency
USB: sisusbvga: Fix a potential UB casued by left shifting a negative value
efi: provide empty efi_enter_virtual_mode implementation
Revert "ath10k: fix DMA related firmware crashes on multiple devices"
media: gpio-ir-tx: improve precision of transmitted signal due to scheduling
nvme-fc: Fix wrong return value in __nvme_fc_init_request()
null_blk: fix passing of REQ_FUA flag in null_handle_rq
i2c: rcar: in slave mode, clear NACK earlier
usb: gadget: f_tcm: Fix some resource leaks in some error paths
jbd2: make sure jh have b_transaction set in refile/unfile_buffer
ext4: don't BUG on inconsistent journal feature
jbd2: abort journal if free a async write error metadata buffer
fs: prevent BUG_ON in submit_bh_wbc()
spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate
s390/cio: add cond_resched() in the slow_eval_known_fn() loop
scsi: ufs: Fix possible infinite loop in ufshcd_hold
scsi: ufs: Improve interrupt handling for shared interrupts
scsi: ufs: Clean up completed request without interrupt notification
net: gianfar: Add of_node_put() before goto statement
powerpc/perf: Fix soft lockups due to missed interrupt accounting
HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands
btrfs: fix space cache memory leak after transaction abort
fbcon: prevent user font height or width change from causing potential out-of-bounds access
USB: lvtest: return proper error code in probe
vt: defer kfree() of vc_screenbuf in vc_do_resize()
vt_ioctl: change VT_RESIZEX ioctl to check for error return from vc_resize()
serial: samsung: Removes the IRQ not found warning
serial: pl011: Fix oops on -EPROBE_DEFER
serial: pl011: Don't leak amba_ports entry on driver register error
serial: 8250_exar: Fix number of ports for Commtech PCIe cards
serial: 8250: change lock order in serial8250_do_startup()
writeback: Protect inode->i_io_list with inode->i_lock
writeback: Avoid skipping inode writeback
writeback: Fix sync livelock due to b_dirty_time processing
XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN data pointer which contains XEN specific information.
xhci: Do warm-reset when both CAS and XDEV_RESUME are set
PM: sleep: core: Fix the handling of pending runtime resume requests
device property: Fix the secondary firmware node handling in set_primary_fwnode()
drm/amdgpu: Fix buffer overflow in INFO ioctl
USB: yurex: Fix bad gfp argument
usb: uas: Add quirk for PNY Pro Elite
USB: quirks: Add no-lpm quirk for another Raydium touchscreen
USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge
usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe()
overflow.h: Add allocation size calculation helpers
USB: gadget: u_f: add overflow checks to VLA macros
USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb()
USB: gadget: u_f: Unbreak offset calculation in VLAs
USB: cdc-acm: rework notification_buffer resizing
usb: storage: Add unusual_uas entry for Sony PSZ drives
btrfs: check the right error variable in btrfs_del_dir_entries_in_log
tpm: Unify the mismatching TPM space buffer sizes
HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage()
ALSA: usb-audio: Update documentation comment for MS2109 quirk
Linux 4.14.196

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4fc1045ef2cae2059a5ff12255c72ebdce77db4c

1  2 
Makefile
drivers/base/power/main.c
drivers/video/fbdev/core/fbcon.c
fs/ext4/super.c
fs/f2fs/super.c
fs/fs-writeback.c
include/linux/fs.h
include/linux/overflow.h

diff --cc Makefile
Simple merge
index e9036d74b86c9964d482d198990a08d767cbe97d,4fd49d55bc3e29efde0ef1cbb2df754fe61d42e0..6aac14bca3c429d93e8c324cdf99a4fa07c49d0a
@@@ -1502,18 -1500,19 +1502,22 @@@ static int __device_suspend(struct devi
        }
  
        /*
-        * If a device configured to wake up the system from sleep states
-        * has been suspended at run time and there's a resume request pending
-        * for it, this is equivalent to the device signaling wakeup, so the
-        * system suspend operation should be aborted.
+        * Wait for possible runtime PM transitions of the device in progress
+        * to complete and if there's a runtime resume request pending for it,
+        * resume it before proceeding with invoking the system-wide suspend
+        * callbacks for it.
+        *
+        * If the system-wide suspend callbacks below change the configuration
+        * of the device, they must disable runtime PM for it or otherwise
+        * ensure that its runtime-resume callbacks will not be confused by that
+        * change in case they are invoked going forward.
         */
-       if (pm_runtime_barrier(dev) && device_may_wakeup(dev))
-               pm_wakeup_event(dev, 0);
+       pm_runtime_barrier(dev);
  
        if (pm_wakeup_pending()) {
 +              pm_get_active_wakeup_sources(suspend_abort,
 +                      MAX_SUSPEND_ABORT_LEN);
 +              log_suspend_abort_reason(suspend_abort);
                dev->power.direct_complete = false;
                async_error = -EBUSY;
                goto Complete;
Simple merge
diff --cc fs/ext4/super.c
Simple merge
diff --cc fs/f2fs/super.c
index b5c115e6f294054adc750df0c60398beb47378eb,990339c538b0a55da0a58122d4c941bfbe92d15c..b154322367390078c738907dd99ce0dcef26eef2
@@@ -1034,8 -781,10 +1034,11 @@@ static void f2fs_put_super(struct super
  {
        struct f2fs_sb_info *sbi = F2FS_SB(sb);
        int i;
 +      bool dropped;
  
+       /* unregister procfs/sysfs entries in advance to avoid race case */
+       f2fs_unregister_sysfs(sbi);
        f2fs_quota_off_umount(sb);
  
        /* prevent remaining shrinker jobs */
        /* our cp_error case, we can wait for any writeback page */
        f2fs_flush_merged_writes(sbi);
  
 +      f2fs_wait_on_all_pages_writeback(sbi);
 +
 +      f2fs_bug_on(sbi, sbi->fsync_node_num);
 +
        iput(sbi->node_inode);
 +      sbi->node_inode = NULL;
 +
        iput(sbi->meta_inode);
 +      sbi->meta_inode = NULL;
 +
 +      /*
 +       * iput() can update stat information, if f2fs_write_checkpoint()
 +       * above failed with error.
 +       */
 +      f2fs_destroy_stats(sbi);
  
        /* destroy f2fs internal modules */
 -      destroy_node_manager(sbi);
 -      destroy_segment_manager(sbi);
 +      f2fs_destroy_node_manager(sbi);
 +      f2fs_destroy_segment_manager(sbi);
  
 -      kfree(sbi->ckpt);
 +      kvfree(sbi->ckpt);
  
-       f2fs_unregister_sysfs(sbi);
        sb->s_fs_info = NULL;
        if (sbi->s_chksum_driver)
                crypto_free_shash(sbi->s_chksum_driver);
Simple merge
Simple merge
Simple merge