Merge 4.14.88 into android-4.14-p
authorGreg Kroah-Hartman <gregkh@google.com>
Thu, 13 Dec 2018 08:35:14 +0000 (09:35 +0100)
committerGreg Kroah-Hartman <gregkh@google.com>
Thu, 13 Dec 2018 08:35:14 +0000 (09:35 +0100)
Changes in 4.14.88
media: omap3isp: Unregister media device as first
iommu/vt-d: Fix NULL pointer dereference in prq_event_thread()
brcmutil: really fix decoding channel info for 160 MHz bandwidth
iommu/ipmmu-vmsa: Fix crash on early domain free
can: rcar_can: Fix erroneous registration
test_firmware: fix error return getting clobbered
HID: input: Ignore battery reported by Symbol DS4308
batman-adv: Use explicit tvlv padding for ELP packets
batman-adv: Expand merged fragment buffer for full packet
amd/iommu: Fix Guest Virtual APIC Log Tail Address Register
bnx2x: Assign unique DMAE channel number for FW DMAE transactions.
qed: Fix PTT leak in qed_drain()
qed: Fix reading wrong value in loop condition
Revert "usb: gadget: ffs: Fix BUG when userland exits with submitted AIO transfers"
net/mlx4_core: Zero out lkey field in SW2HW_MPT fw command
net/mlx4_core: Fix uninitialized variable compilation warning
net/mlx4: Fix UBSAN warning of signed integer overflow
gpio: mockup: fix indicated direction
mtd: rawnand: qcom: Namespace prefix some commands
HID: multitouch: Add pointstick support for Cirque Touchpad
mtd: spi-nor: Fix Cadence QSPI page fault kernel panic
qed: Fix bitmap_weight() check
qed: Fix QM getters to always return a valid pq
net: faraday: ftmac100: remove netif_running(netdev) check before disabling interrupts
iommu/vt-d: Use memunmap to free memremap
flexfiles: use per-mirror specified stateid for IO
ibmvnic: Fix RX queue buffer cleanup
team: no need to do team_notify_peers or team_mcast_rejoin when disabling port
net: amd: add missing of_node_put()
mm: don't warn about allocations which stall for too long
usb: quirk: add no-LPM quirk on SanDisk Ultra Flair device
usb: appledisplay: Add 27" Apple Cinema Display
USB: check usb_get_extra_descriptor for proper size
ALSA: usb-audio: Fix UAF decrement if card has no live interfaces in card.c
ALSA: hda: Add support for AMD Stoney Ridge
ALSA: pcm: Fix starvation on down_write_nonblock()
ALSA: pcm: Call snd_pcm_unlink() conditionally at closing
ALSA: pcm: Fix interval evaluation with openmin/max
ALSA: hda/realtek - Fix speaker output regression on Thinkpad T570
virtio/s390: avoid race on vcdev->config
virtio/s390: fix race in ccw_io_helper()
vhost/vsock: fix use-after-free in network stack callers
SUNRPC: Fix leak of krb5p encode pages
dmaengine: dw: Fix FIFO size for Intel Merrifield
dmaengine: cppi41: delete channel from pending list when stop channel
ARM: 8806/1: kprobes: Fix false positive with FORTIFY_SOURCE
xhci: workaround CSS timeout on AMD SNPS 3.0 xHC
xhci: Prevent U1/U2 link pm states if exit latency is too long
f2fs: fix to do sanity check with block address in main area v2
swiotlb: clean up reporting
Staging: lustre: remove two build warnings
staging: atomisp: remove "fun" strncpy warning
cifs: Fix separator when building path from dentry
staging: rtl8712: Fix possible buffer overrun
Revert commit ef9209b642f "staging: rtl8723bs: Fix indenting errors and an off-by-one mistake in core/rtw_mlme_ext.c"
drm/amdgpu: update mc firmware image for polaris12 variants
drm/amdgpu/gmc8: update MC firmware for polaris
Drivers: hv: vmbus: Offload the handling of channels to two workqueues
tty: serial: 8250_mtk: always resume the device in probe.
tty: do not set TTY_IO_ERROR flag if console port
kgdboc: fix KASAN global-out-of-bounds bug in param_set_kgdboc_var()
libnvdimm, pfn: Pad pfn namespaces relative to other regions
mac80211_hwsim: Timer should be initialized before device registered
mac80211: Clear beacon_int in ieee80211_do_stop
mac80211: ignore tx status for PS stations in ieee80211_tx_status_ext
mac80211: fix reordering of buffered broadcast packets
mac80211: ignore NullFunc frames in the duplicate detection
Linux 4.14.88

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
1  2 
Makefile
drivers/tty/serial/kgdboc.c
fs/f2fs/data.c
fs/f2fs/inode.c
mm/page_alloc.c

diff --cc Makefile
Simple merge
index dde54d9a71b77939baa467d13224eb33b96d78bc,f2b0d8cee8efc3b97e67e7f9c2d5e9241b985591..6c0c6c5d0aaa7179fbc2e05c1763ec2fa3beb6b6
@@@ -230,10 -230,9 +230,10 @@@ static void kgdboc_put_char(u8 chr
                                        kgdb_tty_line, chr);
  }
  
 -static int param_set_kgdboc_var(const char *kmessage, struct kernel_param *kp)
 +static int param_set_kgdboc_var(const char *kmessage,
 +                              const struct kernel_param *kp)
  {
-       int len = strlen(kmessage);
+       size_t len = strlen(kmessage);
  
        if (len >= MAX_CONFIG_LEN) {
                printk(KERN_ERR "kgdboc: config string too long\n");
diff --cc fs/f2fs/data.c
index 0b5a70aa378d26f1ed38dd97c0044cf1a0dd3105,c68b319b07aa01aa5882001df4c5e75721bb8f5e..948b179c912ea8e5b30db8e816b31c72093028ae
@@@ -541,33 -465,32 +541,36 @@@ static struct bio *f2fs_grab_read_bio(s
                                                         unsigned nr_pages)
  {
        struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
 -      struct fscrypt_ctx *ctx = NULL;
        struct bio *bio;
 +      struct bio_post_read_ctx *ctx;
 +      unsigned int post_read_steps = 0;
  
 -      if (f2fs_encrypted_file(inode)) {
 -              ctx = fscrypt_get_ctx(inode, GFP_NOFS);
 -              if (IS_ERR(ctx))
 -                      return ERR_CAST(ctx);
 -
 -              /* wait the page to be moved by cleaning */
 -              f2fs_wait_on_block_writeback(sbi, blkaddr);
 -      }
 -
 -      bio = bio_alloc(GFP_KERNEL, min_t(int, nr_pages, BIO_MAX_PAGES));
 -      if (!bio) {
 -              if (ctx)
 -                      fscrypt_release_ctx(ctx);
+       if (!f2fs_is_valid_blkaddr(sbi, blkaddr, DATA_GENERIC))
+               return ERR_PTR(-EFAULT);
 +      bio = f2fs_bio_alloc(sbi, min_t(int, nr_pages, BIO_MAX_PAGES), false);
 +      if (!bio)
                return ERR_PTR(-ENOMEM);
 -      }
        f2fs_target_device(sbi, blkaddr, bio);
        bio->bi_end_io = f2fs_read_end_io;
 -      bio->bi_private = ctx;
        bio_set_op_attrs(bio, REQ_OP_READ, 0);
  
 +      if (f2fs_encrypted_file(inode))
 +              post_read_steps |= 1 << STEP_DECRYPT;
 +      if (post_read_steps) {
 +              ctx = mempool_alloc(bio_post_read_ctx_pool, GFP_NOFS);
 +              if (!ctx) {
 +                      bio_put(bio);
 +                      return ERR_PTR(-ENOMEM);
 +              }
 +              ctx->bio = bio;
 +              ctx->enabled_steps = post_read_steps;
 +              bio->bi_private = ctx;
 +
 +              /* wait the page to be moved by cleaning */
 +              f2fs_wait_on_block_writeback(sbi, blkaddr);
 +      }
 +
        return bio;
  }
  
diff --cc fs/f2fs/inode.c
Simple merge
diff --cc mm/page_alloc.c
Simple merge