tree f18be4a0f1b7e8dbdad7fc83ab9d8f70bf875f66
parent bea74e069daefe7e5689267ccef57a626da425de
author Harrison Lingren <hlingren@google.com> 1610568435 -0800
committer android-build-team Robot <android-build-team-robot@google.com> 1610610552 +0000

sunfish: update kernel-and-modules prebuilt [ DO NOT MERGE ]

Linux version 4.14.199-g1823ff3e1553-ab7079318 (android-build@abfarm-
    us-west1-c-0039) (Android (6443078 based on r383902) clang version
    11.0.1 (https://android.googlesource.com/toolchain/llvm-project
    b397f81060ce6d701042b782172ed13bee898b79)) #1 SMP PREEMPT Wed Jan
    13 10:30:11 UTC 2021

kernel/private/tests/patchwork: (4 changes)
  69f0d8bf patchwork: sync temp/trickle defend
  1620ef48 patchwork: sync battery defend feature
  f9dbf4fa global: fix compile error
  025da281 msc_logic_health: Test voltage tier at 100p/Test AC deadline

private/msm-google: (500 changes)
  1823ff3e Merge branch 'android-msm-pixel-4.14-rvc-security' into android-msm-pixel-4.14-rvc-qpr2
  8fe43a6b msm: kgsl: Compare pid pointer instead of TGID for a new process
  96d5afcf msm: kgsl: Don't allow re-importing memory owned by KGSL
  ab71ffda msm: camera: isp: Only RDI path can access RDI resource
  05c39280 google_charger: fix work re-scheduling failure in alarm_handler
  03583412 scsi/ufs: fix off-by-one error when printing err stat
  3c46b19f google_charger: bd state on disconnect when not triggered
  36c9fca7 Revert "sm7150_bms: fix wrong charging report when input suspended"
  1b558745 gbms_storage: fix unused argument
  e7dd116e arm64/dts: sunfish: enable trickle-defend and dry-run temp-defend
  db0f97ce google_battery: sync temp/trickle defend
  b41bd432 BACKPORT: page_alloc: consider highatomic reserve in watermark fast
  33ef5310 google_battery: sync battery defend feature
  1ee22280 Turn on bounds sanitizer
  4a3fbc5a sched: core: fix kmalloc error during spinlock
  4157582a icnss: Do not clear SHUTDOWN_DONE flag until reinit is done
  8fccd90b audio: enhance stability on speaker amp probe
  3375e1b8 audio: cs35l41: Add extra error checks to probe
  73b74b9a audio: cs35l41: Defer probe on I2C error.
  abd2e0cc Merge branch 'android-msm-pixel-4.14-rvc-qpr1' into android-msm-pixel-4.14-rvc-qpr2
  1c35c2b9 netfilter: ctnetlink: add a range check for l3/l4 protonum
  85676d7a msm: kgsl: Include the kgsl device pointer to the dma buffer meta
  36e27496 msm: kgsl: Correctly clean up dma buffer attachment in case of error
  f1e6e64b LTS: Merge android-4.14-q (4.14.199) into android-msm-pixel-4.14-rvc-qpr2
  3112b97c asoc: codec: rt5514: add wakelock source for watchdog
  1999fb70 Merge android-4.14-q (4.14.199) into android-msm-pixel-4.14-rvc-lts
  cb141dac google_battery: Add voltage tier at 100p/fix AC deadline
  95ba5fb0 Merge branch 'android-msm-pixel-4.14-rvc-qpr1' into android-msm-pixel-4.14-rvc-lts
  8ff218ad Merge 4.14.199 into android-4.14-q
  ca87c828 Linux 4.14.199
  442497b2 x86/defconfig: Enable CONFIG_USB_XHCI_HCD=y
  17a07a01 powerpc/dma: Fix dma_map_ops::get_required_mask
  293036a0 ehci-hcd: Move include to keep CRC stable
  5ebb9dc9 serial: 8250_pci: Add Realtek 816a and 816b
  f91a135d Input: i8042 - add Entroware Proteus EL07R4 to nomux and reset lists
  d7c3f9ff Input: trackpoint - add new trackpoint variant IDs
  517274c1 percpu: fix first chunk size calculation for populated bitmap
  7e065e02 i2c: i801: Fix resume bug
  becb93b4 usblp: fix race between disconnect() and read()
  d0587191 USB: UAS: fix disconnect by unplugging a hub
  a71f0e40 USB: quirks: Add USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk for BYD zhaoxin notebook
  1a267aee drm/mediatek: Add missing put_device() call in mtk_hdmi_dt_parse_pdata()
  58bc043f drm/mediatek: Add exception handing in mtk_drm_probe() if component init fail
  28bb1d7a MIPS: SNI: Fix spurious interrupts
  d31eccab fbcon: Fix user font detection test at fbcon_resize().
  1cf043ba perf test: Free formats for perf pmu parse test
  38eefb19 MIPS: SNI: Fix MIPS_L1_CACHE_SHIFT
  f3440c02 Drivers: hv: vmbus: Add timeout to vmbus_wait_for_unload
  292a391e clk: rockchip: Fix initialization of mux_pll_src_4plls_p
  09d69bfd KVM: MIPS: Change the definition of kvm type
  a8c37444 spi: Fix memory leak on splited transfers
  30ce9a30 i2c: algo: pca: Reapply i2c bus settings after reset
  856de6bc f2fs: fix indefinite loop scanning for free nid
  97299878 nvme-fc: cancel async events before freeing event struct
  6b635d12 rapidio: Replace 'select' DMAENGINES 'with depends on'
  dcbf2eea SUNRPC: stop printk reading past end of string
  6b90754c spi: spi-loopback-test: Fix out-of-bounds read
  9effd668 scsi: lpfc: Fix FLOGI/PLOGI receive race condition in pt2pt discovery
  d0d5cc0f scsi: libfc: Fix for double free()
  a5a4a05d scsi: pm8001: Fix memleak in pm8001_exec_internal_task_abort
  869ed69b NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall
  e5c9e466 hv_netvsc: Remove "unlikely" from netvsc_select_queue
  c823c7f3 net: handle the return value of pskb_carve_frag_list() correctly
  9a81aa7a gfs2: initialize transaction tr_ailX_lists earlier
  5f12fccb gcov: add support for GCC 10.1
  89c61374 usb: typec: ucsi: acpi: Check the _DEP dependencies
  0368a8c1 usb: Fix out of sync data toggle if a configured device is reconfigured
  781e1f9e USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules
  12aa126a USB: serial: option: support dynamic Quectel USB compositions
  e6d98e95 USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter
  e94f445c usb: core: fix slab-out-of-bounds Read in read_descriptors
  92ded53b staging: greybus: audio: fix uninitialized value issue
  0472aa0c video: fbdev: fix OOB read in vga_8planes_imageblit()
  e0db83ee ARM: dts: vfxxx: Add syscon compatible with OCOTP
  eb346c8d KVM: VMX: Don't freeze guest when event delivery causes an APIC-access exit
  34c050b5 vgacon: remove software scrollback support
  0ae010dd fbcon: remove now unusued 'softback_lines' cursor() argument
  6e2e0735 fbcon: remove soft scrollback code
  99401ea1 RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars
  af4a8899 rbd: require global CAP_SYS_ADMIN for mapping and unmapping
  52a110c3 scsi: target: iscsi: Fix hang in iscsit_access_np() when getting tpg->np_login_sem
  7c6e70f2 scsi: target: iscsi: Fix data digest calculation
  0d85ba06 regulator: push allocation in set_consumer_device_supply() out of lock
  ee3e33dc btrfs: fix wrong address when faulting in pages in the search ioctl
  6e1edab8 btrfs: fix lockdep splat in add_missing_dev
  e24ef300 btrfs: require only sector size alignment for parent eb bytenr
  5a023e34 staging: wlan-ng: fix out of bounds read in prism2sta_probe_usb()
  eacd48c7 iio:accel:mma8452: Fix timestamp alignment and prevent data leak.
  da7708a1 iio:accel:mma7455: Fix timestamp alignment and prevent data leak.
  4d6d2788 iio: accel: kxsd9: Fix alignment of local buffer.
  9c4f910b iio:chemical:ccs811: Fix timestamp alignment and prevent data leak.
  86699484 iio:light:max44000 Fix timestamp alignment and prevent data leak.
  caa75847 iio:magnetometer:ak8975 Fix alignment and data leak issues.
  31c0b4e3 iio:adc:ti-adc081c Fix alignment and data leak issues
  48da980c iio:adc:max1118 Fix alignment of timestamp and data leak issues
  7fa7c9a3 iio:adc:ina2xx Fix timestamp alignment issue.
  e3a794a9 iio:adc:ti-adc084s021 Fix alignment and data leak issues.
  7a3c9fa4 iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak.
  bca5a18a iio:light:ltr501 Fix timestamp alignment issue.
  ec90220f iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set
  b27a99fb iio: adc: mcp3422: fix locking on error path
  b6a16aca iio: adc: mcp3422: fix locking scope
  01fa1f90 gcov: Disable gcov build with GCC 10
  b00257b4 ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled
  39866505 cpufreq: intel_pstate: Refuse to turn off with HWP enabled
  fd3d985d ARC: [plat-hsdk]: Switch ethernet phy-mode to rgmii-id
  e6317585 drivers/net/wan/hdlc_cisco: Add hard_header_len
  60486724 irqchip/eznps: Fix build error for !ARC700 builds
  11443630 xfs: initialize the shortform attr header padding entry
  479fb037 drivers/net/wan/lapbether: Set network_header before transmitting
  cea06c8a ALSA: hda: Fix 2 channel swapping for Tegra
  824a4ed2 firestream: Fix memleak in fs_open
  60a585d4 NFC: st95hf: Fix memleak in st95hf_in_send_cmd
  ac10e8c9 drivers/net/wan/lapbether: Added needed_tailroom
  6e5f3c2a dmaengine: acpi: Put the CSRT table after using it
  a2ab9046 ARC: HSDK: wireup perf irq
  373ce392 arm64: dts: ns2: Fixed QSPI compatible string
  7290cb1a ARM: dts: BCM5301X: Fixed QSPI compatible string
  c63027f7 mmc: sdhci-msm: Add retries when all tuning phases are found valid
  7c13561c RDMA/core: Fix reported speed and width
  d0e73696 scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA
  62057f22 RDMA/rxe: Drop pointless checks in rxe_init_ports
  557f256d RDMA/rxe: Fix memleak in rxe_mem_init_user
  d406edab ARM: dts: socfpga: fix register entry for timer3 on Arria10
  7e32611f ANDROID: Fix mismerge of f2fs into android-4.14-q
  bfacbf53 Merge 4.14.198 into android-4.14-q
  cbfa1702 Linux 4.14.198
  652a9dc8 net: disable netpoll on fresh napis
  b5782c68 tipc: fix shutdown() of connectionless socket
  49bc5344 sctp: not disable bh in the whole sctp_get_port_local()
  97e9adef net: usb: dm9601: Add USB ID of Keenetic Plus DSL
  d770a860 netlabel: fix problems with mapping removal
  14fdf998 bnxt: don't enable NAPI until rings are ready
  8de99dbd vfio/pci: Fix SR-IOV VF handling with MMIO blocking
  1356c3e8 vfio-pci: Invalidate mmaps and block MMIO access on disabled memory
  be52e622 vfio-pci: Fault mmaps to enable vma tracking
  e0dc293b vfio/type1: Support faulting PFNMAP vmas
  9b45c013 block: ensure bdi->io_pages is always initialized
  d0ebd34b ALSA; firewire-tascam: exclude Tascam FE-8 from detection
  f6b66493 Merge 4.14.197 into android-4.14-q
  458a534c Linux 4.14.197
  2886fd1a net: usb: Fix uninit-was-stored issue in asix_read_phy_addr()
  02015d24 cfg80211: regulatory: reject invalid hints
  c4b21913 mm/hugetlb: fix a race between hugetlb sysctl handlers
  b7d6cfba checkpatch: fix the usage of capture group ( ... )
  54ffbb8c KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception
  74ecd51b KVM: arm64: Survive synchronous exceptions caused by AT instructions
  fcc08961 KVM: arm64: Defer guest entry when an asynchronous exception is pending
  91532df6 KVM: arm64: Add kvm_extable for vaxorcism code
  11cc5682 mm: slub: fix conversion of freelist_corrupted()
  eb71cd25 dm thin metadata: Avoid returning cmd->bm wild pointer on error
  dd20b2c4 dm cache metadata: Avoid returning cmd->bm wild pointer on error
  7819f78f libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks
  9f086cac block: Move SECTOR_SIZE and SECTOR_SHIFT definitions into <linux/blkdev.h>
  b7aae706 block: allow for_each_bvec to support zero len bvec
  b9857b87 affs: fix basic permission bits to actually work
  955bd0c0 ALSA: firewire-digi00x: exclude Avid Adrenaline from detection
  805aebc2 ALSA: hda/hdmi: always check pin power status in i915 pin fixup
  e463aed8 ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check
  e8e9ec81 ALSA: ca0106: fix error code handling
  30b0f412 usb: qmi_wwan: add D-Link DWM-222 A2 device ID
  23e13527 net: usb: qmi_wwan: add Telit 0x1050 composition
  80c8b74c btrfs: fix potential deadlock in the search ioctl
  6aa02275 uaccess: Add non-pagefault user-space write function
  f4abfb03 uaccess: Add non-pagefault user-space read functions
  a6d4a84d btrfs: set the lockdep class for log tree extent buffers
  8ab36da2 btrfs: Remove extraneous extent_buffer_get from tree_mod_log_rewind
  e23efd6d btrfs: Remove redundant extent_buffer_get in get_old_root
  72de5291 btrfs: drop path before adding new uuid tree entry
  5ace0847 include/linux/log2.h: add missing () around n in roundup_pow_of_two()
  905f44ec thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430
  deb5efa7 iommu/vt-d: Serialize IOMMU GCMD register modifications
  751deef5 tg3: Fix soft lockup when tg3_reset_task() fails.
  c5c6e00f fix regression in "epoll: Keep a reference on files added to the check list"
  cfb5e057 net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init()
  dcd257f6 perf tools: Correct SNOOPX field offset
  41cb677d nvmet-fc: Fix a missed _irqsave version of spin_lock in 'nvmet_fc_fod_op_done()'
  58a6d70b bnxt_en: Fix PCI AER error recovery flow
  e19de8e3 bnxt_en: Check for zero dir entries in NVRAM.
  c05e296d gtp: add GTPA_LINK info to msg sent to userspace
  b8793266 dmaengine: pl330: Fix burst length if burst size is smaller than bus width
  007a4850 net: arc_emac: Fix memleak in arc_mdio_probe
  1f5c83c3 ravb: Fixed to be able to unload modules
  4b0a22bd net: systemport: Fix memleak in bcm_sysport_probe
  9de4fede net: hns: Fix memleak in hns_nic_dev_probe
  1e1fc772 netfilter: nf_tables: fix destination register zeroing
  b2e1d023 netfilter: nf_tables: incorrect enum nft_list_attributes definition
  cfb39905 netfilter: nf_tables: add NFTA_SET_USERDATA if not null
  f1a5d69c MIPS: BMIPS: Also call bmips_cpu_setup() for secondary cores
  4c65a783 MIPS: mm: BMIPS5000 has inclusive physical caches
  1eac2071 dmaengine: at_hdmac: check return value of of_find_device_by_node() in at_dma_xlate()
  fda74a64 batman-adv: bla: use netif_rx_ni when not in interrupt context
  3e0e9d5e batman-adv: Fix own OGM check in aggregated OGMs
  8ddda2d9 batman-adv: Avoid uninitialized chaddr when handling DHCP
  34f79cd0 dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling
  570e1873 xen/xenbus: Fix granting of vmalloc'd memory
  67e89bc4 s390: don't trace preemption in percpu macros
  6f324263 cpuidle: Fixup IRQ state
  1dd11998 ceph: don't allow setlease on cephfs
  06ced97a nvmet: Disable keep-alive timer when kato is cleared to 0h
  3e740e76 hwmon: (applesmc) check status earlier.
  3d516e36 drm/msm: add shutdown support for display platform_driver
  11519e7b perf record/stat: Explicitly call out event modifiers in the documentation
  a083dcdc HID: core: Sanitize event code and type when mapping input
  9e5894b7 HID: core: Correctly handle ReportSize being zero
  c666a51f Merge android-4.14-q (4.14.195) into android-msm-pixel-4.14-rvc-lts
  4861ce9e ANDROID: overflow.h: fix merge issue with 4.14.196
  c28f9595 Merge 4.14.196 into android-4.14-q
  2f166cdc Linux 4.14.196
  79c16fe5 ALSA: usb-audio: Update documentation comment for MS2109 quirk
  ff51a1a2 HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage()
  0a221a74 tpm: Unify the mismatching TPM space buffer sizes
  24ae96c5 btrfs: check the right error variable in btrfs_del_dir_entries_in_log
  68ca0183 usb: storage: Add unusual_uas entry for Sony PSZ drives
  f5429d34 USB: cdc-acm: rework notification_buffer resizing
  13ae2b82 USB: gadget: u_f: Unbreak offset calculation in VLAs
  b88ad6e7 USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb()
  fc0019fa USB: gadget: u_f: add overflow checks to VLA macros
  80459b71 overflow.h: Add allocation size calculation helpers
  68030a67 usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe()
  247dac52 USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge
  c31e413a USB: quirks: Add no-lpm quirk for another Raydium touchscreen
  de455746 usb: uas: Add quirk for PNY Pro Elite
  413092c0 USB: yurex: Fix bad gfp argument
  5430e763 drm/amdgpu: Fix buffer overflow in INFO ioctl
  fb545b9f device property: Fix the secondary firmware node handling in set_primary_fwnode()
  ef0a51a7 PM: sleep: core: Fix the handling of pending runtime resume requests
  a8a1ea8b xhci: Do warm-reset when both CAS and XDEV_RESUME are set
  881947cd XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN data pointer which contains XEN specific information.
  77322edb writeback: Fix sync livelock due to b_dirty_time processing
  856fa4eb writeback: Avoid skipping inode writeback
  0fa1f086 writeback: Protect inode->i_io_list with inode->i_lock
  5026ce65 serial: 8250: change lock order in serial8250_do_startup()
  8284edbf serial: 8250_exar: Fix number of ports for Commtech PCIe cards
  fe5d0805 serial: pl011: Don't leak amba_ports entry on driver register error
  4ad06616 serial: pl011: Fix oops on -EPROBE_DEFER
  d1fff112 serial: samsung: Removes the IRQ not found warning
  422ef2b8 vt_ioctl: change VT_RESIZEX ioctl to check for error return from vc_resize()
  47b7a50f vt: defer kfree() of vc_screenbuf in vc_do_resize()
  0aa219d6 USB: lvtest: return proper error code in probe
  2c455e9c fbcon: prevent user font height or width change from causing potential out-of-bounds access
  8b5638b7 btrfs: fix space cache memory leak after transaction abort
  60066271 HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands
  d6fdc62d powerpc/perf: Fix soft lockups due to missed interrupt accounting
  0acc2a63 net: gianfar: Add of_node_put() before goto statement
  a803d5ea scsi: ufs: Clean up completed request without interrupt notification
  8965d823 scsi: ufs: Improve interrupt handling for shared interrupts
  7a44fce0 scsi: ufs: Fix possible infinite loop in ufshcd_hold
  cd124e99 s390/cio: add cond_resched() in the slow_eval_known_fn() loop
  488efbc0 spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate
  1517868c fs: prevent BUG_ON in submit_bh_wbc()
  1f6ba385 jbd2: abort journal if free a async write error metadata buffer
  60e2824a ext4: don't BUG on inconsistent journal feature
  0360bad6 jbd2: make sure jh have b_transaction set in refile/unfile_buffer
  14ab480d usb: gadget: f_tcm: Fix some resource leaks in some error paths
  6fd5a167 i2c: rcar: in slave mode, clear NACK earlier
  3146b322 null_blk: fix passing of REQ_FUA flag in null_handle_rq
  b94544a0 nvme-fc: Fix wrong return value in __nvme_fc_init_request()
  b3650117 media: gpio-ir-tx: improve precision of transmitted signal due to scheduling
  17519b49 Revert "ath10k: fix DMA related firmware crashes on multiple devices"
  ab0c78f7 efi: provide empty efi_enter_virtual_mode implementation
  2a985b62 USB: sisusbvga: Fix a potential UB casued by left shifting a negative value
  63ccfdbc powerpc/spufs: add CONFIG_COREDUMP dependency
  7f088336 KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe
  b2504e03 media: davinci: vpif_capture: fix potential double free
  332f8c22 EDAC/ie31200: Fallback if host bridge device is already initialized
  6619f6a9 scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del()
  24cea2ec ceph: fix potential mdsc use-after-free crash
  a5de4795 scsi: iscsi: Do not put host in iscsi_set_flashnode_param()
  1cd492f8 locking/lockdep: Fix overflow in presentation of average lock-time
  774c302c drm/nouveau: Fix reference count leak in nouveau_connector_detect
  bcd0b71b drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open
  de433945 f2fs: fix use-after-free issue
  e6a62b5c cec-api: prevent leaking memory through hole in structure
  aa8ef5d3 mips/vdso: Fix resource leaks in genvdso.c
  5acc8fd6 rtlwifi: rtl8192cu: Prevent leaking urb
  d3d12858 PCI: Fix pci_create_slot() reference count leak
  f8e0dad8 omapfb: fix multiple reference count leaks due to pm_runtime_get_sync
  59530d3e selftests/powerpc: Purge extra count_pmc() calls of ebb selftests
  939a7390 scsi: lpfc: Fix shost refcount mismatch when deleting vport
  c7aa94be drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails
  5f8cf9e5 drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config
  5c25e3ac drm/amd/display: fix ref count leak in amdgpu_drm_ioctl
  59e0b73b drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms
  a0f19b61 drm/radeon: fix multiple reference count leak
  4704cd24 drm/amdkfd: Fix reference count leaks.
  0c982479 iommu/iova: Don't BUG on invalid PFNs
  3e760e53 scsi: target: tcmu: Fix crash on ARM during cmd completion
  24968137 blktrace: ensure our debugfs dir exists
  5c043e78 media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA value in debiirq()
  3e5b6ab3 powerpc/xive: Ignore kmemleak false positives
  44c90f5e arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep
  08295e11 mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs
  63d5985d ASoC: tegra: Fix reference count leaks.
  9b5b926b ALSA: pci: delete repeated words in comments
  70154c4f gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY
  4f4860ca ipvlan: fix device features
  e7addd20 tipc: fix uninit skb->data in tipc_nl_compat_dumpit()
  5d28f39d net: Fix potential wrong skb->protocol in skb_vlan_untag()
  8d3dc7f9 powerpc/64s: Don't init FSCR_DSCR in __init_FSCR()
  09124332 Merge 4.14.195 into android-4.14-q
  d7e78d08 Linux 4.14.195
  d4768573 KVM: arm/arm64: Don't reschedule in unmap_stage2_range()
  f114a362 clk: Evict unregistered clks from parent caches
  877ed468 xen: don't reschedule in preemption off sections
  85ce79dd mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible
  6875d79b do_epoll_ctl(): clean the failure exits up a bit
  7867516b epoll: Keep a reference on files added to the check list
  7fc6f022 powerpc/pseries: Do not initiate shutdown when system is running on UPS
  b5ce9e60 net: dsa: b53: check for timeout
  30cb922f hv_netvsc: Fix the queue_mapping in netvsc_vf_xmit()
  5ca8e51f bonding: fix active-backup failover for current ARP slave
  36e839f9 vfio/type1: Add proper error unwind for vfio_iommu_replay()
  9a9fca9a ASoC: intel: Fix memleak in sst_media_open
  b6ee1e72 ASoC: msm8916-wcd-analog: fix register Interrupt offset
  b128bd1c bonding: fix a potential double-unregister
  fcb54929 bonding: show saner speed for broadcast mode
  b1feb356 net: fec: correct the error path for regulator disable in probe
  12427446 i40e: Fix crash during removing i40e driver
  32da7d0a i40e: Set RX_ONLY mode for unicast promiscuous on VLAN
  fbbfd55a ext4: fix potential negative array index in do_split()
  d254a3e6 alpha: fix annotation of io{read,write}{16,32}be()
  1f37616e xfs: Fix UBSAN null-ptr-deref in xfs_sysfs_init
  1f49e8ce virtio_ring: Avoid loop when vq is broken in virtqueue_poll
  9b5681af scsi: libfc: Free skb in fc_disc_gpn_id_resp() for valid cases
  8281409d cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0
  f851d159 jffs2: fix UAF problem
  5d53c0bf xfs: fix inode quota reservation checks
  951e12c6 m68knommu: fix overwriting of bits in ColdFire V3 cache control
  d3eb5be2 Input: psmouse - add a newline when printing 'proto' by sysfs
  d18cbd38 media: vpss: clean up resources in init
  59e8bcc1 rtc: goldfish: Enable interrupt in set_alarm() when necessary
  87f1b49e media: budget-core: Improve exception handling in budget_register()
  046f3765 scsi: ufs: Add DELAY_BEFORE_LPM quirk for Micron devices
  413a0634 spi: Prevent adding devices below an unregistering controller
  81545a2a jbd2: add the missing unlock_buffer() in the error path of jbd2_write_superblock()
  f9d723d0 ext4: fix checking of directory entry validity for inline directories
  0063bb82 mm, page_alloc: fix core hung in free_pcppages_bulk()
  d93b51bc mm: include CMA pages in lowmem_reserve at boot
  6b7be0bc kernel/relay.c: fix memleak on destroy relay channel
  89346bc3 romfs: fix uninitialized memory leak in romfs_dev_read()
  58253e22 btrfs: sysfs: use NOFS for device creation
  e0b8bbf2 btrfs: inode: fix NULL pointer dereference if inode doesn't need compression
  c05c73db btrfs: Move free_pages_out label in inline extent handling branch in compress_file_range
  82ba99cf btrfs: don't show full path of bind mounts in subvol=
  84774515 btrfs: export helpers for subvolume name/id resolution
  8af91971 powerpc: Allow 4224 bytes of stack expansion for the signal frame
  55069b03 powerpc/mm: Only read faulting instruction when necessary in do_page_fault()
  d45ce5e4 khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter()
  0b383dae khugepaged: khugepaged_test_exit() check mmget_still_valid()
  61c4decf perf probe: Fix memory leakage when the probe point is not found
  5a9ed4e6 drm/vgem: Replace opencoded version of drm_gem_dumb_map_offset()
  d32040c8 Merge 4.14.194 into android-4.14-q
  6a24ca25 Linux 4.14.194
  b61727de dm cache: remove all obsolete writethrough-specific code
  8036335f dm cache: submit writethrough writes in parallel to origin and cache
  755b4e83 dm cache: pass cache structure to mode functions
  6a7a2993 genirq/affinity: Make affinity setting if activated opt-in
  da54edbe genirq/affinity: Handle affinity setting on inactive interrupts correctly
  463af348 khugepaged: retract_page_tables() remember to test exit
  22c900e6 sh: landisk: Add missing initialization of sh_io_port_base
  364c0226 tools build feature: Quote CC and CXX for their arguments
  23e444f9 perf bench mem: Always memset source before memcpy
  8ef79789 ALSA: echoaudio: Fix potential Oops in snd_echo_resume()
  d4c83f8e mfd: dln2: Run event handler loop under spinlock
  40e009db test_kmod: avoid potential double free in trigger_config_run_type()
  50d3cd6f fs/ufs: avoid potential u32 multiplication overflow
  e4ddf4e5 nfs: Fix getxattr kernel panic and memory overflow
  d9836942 net: qcom/emac: add missed clk_disable_unprepare in error path of emac_clks_phase1_init
  f77fe42f drm/vmwgfx: Fix two list_for_each loop exit tests
  9c8cd977 drm/vmwgfx: Use correct vmw_legacy_display_unit pointer
  52fd3aad Input: sentelic - fix error return when fsp_reg_write fails
  104f1552 i2c: rcar: avoid race when unregistering slave
  0999f283 tools build feature: Use CC and CXX from parent
  b215b29c pwm: bcm-iproc: handle clk_get_rate() return
  f8d95b2a clk: clk-atlas6: fix return value check in atlas6_clk_init()
  b52fc176 i2c: rcar: slave: only send STOP event when we have been addressed
  40f782ea iommu/vt-d: Enforce PASID devTLB field mask
  6b391643 iommu/omap: Check for failure of a call to omap_iommu_dump_ctx
  b0a52e5d dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue()
  24e014e1 gpu: ipu-v3: image-convert: Combine rotate/no-rotate irq handlers
  4e4eaf89 USB: serial: ftdi_sio: clean up receive processing
  abb9d1a2 USB: serial: ftdi_sio: make process-packet buffer unsigned
  198f9960 RDMA/ipoib: Return void from ipoib_ib_dev_stop()
  545017c9 mfd: arizona: Ensure 32k clock is put on driver unbind and error
  81c62cae drm/imx: imx-ldb: Disable both channels for split mode in enc->disable()
  f3513136 perf intel-pt: Fix FUP packet state
  b8e3a27c pseries: Fix 64 bit logical memory block panic
  88679b3b watchdog: f71808e_wdt: clear watchdog timeout occurred flag
  7aea1367 watchdog: f71808e_wdt: remove use of wrong watchdog_info option
  e60f0961 watchdog: f71808e_wdt: indicate WDIOF_CARDRESET support in watchdog_info.options
  c9e38a3c tracing: Use trace_sched_process_free() instead of exit() for pid tracing
  c3bb307d tracing/hwlat: Honor the tracing_cpumask
  afd39cba kprobes: Fix NULL pointer dereference at kprobe_ftrace_handler
  2b585875 ftrace: Setup correct FTRACE_FL_REGS flags for module
  2905e9be ocfs2: change slot number type s16 to u16
  56525e59 ext2: fix missing percpu_counter_inc
  f9bff944 MIPS: CPU#0 is not hotpluggable
  737e3834 mac80211: fix misplaced while instead of if
  4476c8ef bcache: allocate meta data pages as compound pages
  b9ce6046 md/raid5: Fix Force reconstruct-write io stuck in degraded raid5
  e34237a2 net/compat: Add missing sock updates for SCM_RIGHTS
  a5b5d63d net: stmmac: dwmac1000: provide multicast filter fallback
  783539b3 net: ethernet: stmmac: Disable hardware multicast filter
  028b34d2 powerpc: Fix circular dependency between percpu.h and mmu.h
  ffcb9544 xtensa: fix xtensa_pmu_setup prototype
  8ebdb475 iio: dac: ad5592r: fix unbalanced mutex unlocks in ad5592r_read_raw()
  f9a6664b dt-bindings: iio: io-channel-mux: Fix compatible string in example code
  547cc243 btrfs: fix memory leaks after failure to lookup checksums during inode logging
  10742034 btrfs: only search for left_info if there is no right_info in try_merge_free_space
  aac009ff btrfs: don't allocate anonymous block device for user invisible roots
  ceeb1def PCI: hotplug: ACPI: Fix context refcounting in acpiphp_grab_context()
  233f70bd smb3: warn on confusing error scenario with sec=krb5
  b4d2f15c net: initialize fastreuse on inet_inherit_port
  bc3f4733 xen/balloon: make the balloon wait interruptible
  6235d910 xen/balloon: fix accounting in alloc_xenballooned_pages error path
  0673b5b7 irqdomain/treewide: Free firmware node after domain removal
  86a92de7 ARM: 8992/1: Fix unwind_frame for clang-built kernels
  b1dd9a06 parisc: mask out enable and reserved bits from sba imask
  0ca974e9 parisc: Implement __smp_store_release and __smp_load_acquire barriers
  337be2b4 mtd: rawnand: qcom: avoid write to unavailable register
  2fd8f313 spi: spidev: Align buffers for DMA
  f337f8a3 9p: Fix memory leak in v9fs_mount
  ff114bcd ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109
  0900097e fs/minix: reject too-large maximum file size
  12490f06 fs/minix: don't allow getting deleted inodes
  3c775629 fs/minix: check return value of sb_getblk()
  b4840e84 bitfield.h: don't compile-time validate _val in FIELD_FIT
  a2c41365 crypto: cpt - don't sleep of CRYPTO_TFM_REQ_MAY_SLEEP was not specified
  99e69b92 crypto: ccp - Fix use of merged scatterlists
  454b00bb crypto: qat - fix double free in qat_uclo_create_batch_init_list
  17b84284 ALSA: usb-audio: add quirk for Pioneer DDJ-RB
  6fa2227b ALSA: usb-audio: fix overeager device match for MacroSilicon MS2109
  b10bafd3 ALSA: usb-audio: Creative USB X-Fi Pro SB1095 volume knob support
  11a80011 USB: serial: cp210x: enable usb generic throttle/unthrottle
  b00b89e1 USB: serial: cp210x: re-enable auto-RTS on open
  bb70a1cb net: Set fput_needed iff FDPUT_FPUT is set
  6de6d1ca net: refactor bind_bucket fastreuse into helper
  980415ff net/nfc/rawsock.c: add CAP_NET_RAW check.
  beafe1d0 drivers/net/wan/lapbether: Added needed_headroom and a skb->len check
  a1b1a3d2 af_packet: TPACKET_V3: fix fill status rwlock imbalance
  ffe484d8 crypto: aesni - add compatibility with IAS
  7ee1fff8 x86/fsgsbase/64: Fix NULL deref in 86_fsgsbase_read_task
  ac67d2b3 pinctrl-single: fix pcs_parse_pinconf() return value
  2f0bd773 dlm: Fix kobject memleak
  4ac2e342 fsl/fman: fix eth hash table allocation
  ee11e170 fsl/fman: check dereferencing null pointer
  80c8e386 fsl/fman: fix unreachable code
  b13f68bc fsl/fman: fix dereference null return value
  178c6c8d fsl/fman: use 32-bit unsigned integer
  51845690 net: spider_net: Fix the size used in a 'dma_free_coherent()' call
  927b8e3a liquidio: Fix wrong return value in cn23xx_get_pf_num()
  f5cf824d net: ethernet: aquantia: Fix wrong return value
  431a1b51 tools, build: Propagate build failures from tools/build/Makefile.build
  96f44820 wl1251: fix always return 0 error
  75d838fa s390/qeth: don't process empty bridge port events
  0f85a744 selftests/powerpc: Fix online CPU selection
  581752c3 PCI: Release IVRS table in AMD ACS quirk
  1700e567 selftests/powerpc: Fix CPU affinity for child process
  36bac0f1 Bluetooth: hci_serdev: Only unregister device if it was registered
  ca869971 power: supply: check if calc_soc succeeded in pm860x_init_battery
  75f8b5a6 Smack: prevent underflow in smk_set_cipso()
  12917b44 Smack: fix another vsscanf out of bounds
  5af29959 net: dsa: mv88e6xxx: MV88E6097 does not support jumbo configuration
  74d1e724 scsi: mesh: Fix panic after host or bus reset
  8a8841b9 usb: dwc2: Fix error path in gadget registration
  ee5f968a MIPS: OCTEON: add missing put_device() call in dwc3_octeon_device_init()
  93934e5d coresight: tmc: Fix TMC mode read in tmc_read_unprepare_etb()
  de3661a5 thermal: ti-soc-thermal: Fix reversed condition in ti_thermal_expose_sensor()
  84e7557d USB: serial: iuu_phoenix: fix led-activity helpers
  7491a5bf drm/imx: tve: fix regulator_disable error path
  910e33e2 PCI/ASPM: Add missing newline in sysfs 'policy'
  d548f0f5 staging: rtl8192u: fix a dubious looking mask before a shift
  172f9611 powerpc/vdso: Fix vdso cpu truncation
  164d8010 mwifiex: Prevent memory corruption handling keys
  4665a815 scsi: scsi_debug: Add check for sdebug_max_queue during module init
  9bd86777 drm/bridge: sil_sii8620: initialize return of sii8620_readb
  9b0d4553 drm: panel: simple: Fix bpc for LG LB070WV8 panel
  a14ab85a leds: core: Flush scheduled work for system suspend
  7751804f PCI: Fix pci_cfg_wait queue locking problem
  c37f37c5 xfs: fix reflink quota reservation accounting error
  2d74cda0 media: exynos4-is: Add missed check for pinctrl_lookup_state()
  faff4562 media: firewire: Using uninitialized values in node_probe()
  ff9e1629 ipvs: allow connection reuse for unconfirmed conntrack
  c0658ced scsi: eesox: Fix different dev_id between request_irq() and free_irq()
  e050ad8f scsi: powertec: Fix different dev_id between request_irq() and free_irq()
  da89c73f drm/radeon: fix array out-of-bounds read and write issues
  4d36d0a8 cxl: Fix kobject memleak
  7e527163 drm/mipi: use dcs write for mipi_dsi_dcs_set_tear_scanline
  7c58f4ad scsi: cumana_2: Fix different dev_id between request_irq() and free_irq()
  95a6447b ASoC: Intel: bxt_rt298: add missing .owner field
  6059d5a8 media: omap3isp: Add missed v4l2_ctrl_handler_free() for preview_init_entities()
  e361b9c8 leds: lm355x: avoid enum conversion warning
  325dbbbe drm/arm: fix unintentional integer overflow on left shift
  ce2f02ca iio: improve IIO_CONCENTRATION channel type description
  613da0ef video: pxafb: Fix the function used to balance a 'dma_alloc_coherent()' call
  93a7e1d1 console: newport_con: fix an issue about leak related system resources
  fc894cda video: fbdev: sm712fb: fix an issue about iounmap for a wrong address
  b3ad6a3d agp/intel: Fix a memory leak on module initialisation failure
  57645ea3 ACPICA: Do not increment operation_region reference counts for field units

private/msm-google-modules/wlan/qca-wifi-host-cmn: (5 changes)
  a3331ddb qcacmn: Fix possible out of bound access
  1ce13835 qcacmn: Reduce the level of logs for reg-domain
  c7332408 qcacmn: Add length check in ndp event handler
  42c6a1e9 qcacmn: Validate NDP app info length before accessing NDP app info
  0b6fc298 qcacmn: Increase HTC control msg timeout to 6 seconds

private/msm-google-modules/wlan/qcacld-3.0: (13 changes)
  37927e25 qcacld-3.0: Remove check for hw mode ANY
  65c2f44b cld-3.0: Remove check of 11ANY in 5ghz
  72fd3bf9 qcacld-3.0: Check for ANY mode also in case of ACS override
  1ab102d8 Merge android-msm-pixel-4.14-rvc-qpr1 into android-msm-pixel-4.14-rvc-qpr2
  bcf295c1 qcacld-3.0: Remove csr_roam_save_security_rsp_ie()
  6fa91918 qcacld-3.0: Update RSN caps on roaming
  040b5d49 qcacld-3.0: Consider peer mac addr also for duplicate frame detection
  a63e604b qcacld-3.0: Drop Excessive Disassoc frames
  3d3b3ef7 qcacld-3.0: Fix sta_ds use after free
  f310a328 qcacld-3.0: Reset hdd_reassoc_scenario flag on disconnection
  2366c20c qcacld-3.0: Update proper RCPI value in beacon report
  8c550593 Merge android-msm-pixel-4.14-rvc-qpr1 into android-msm-pixel-4.14-rvc-qpr2
  8da25d80 qcacld-3.0: Scan 2.4ghz channels if 5ghz not present

private/msm-google/techpack/audio: (2 changes)
  83dccdc4 Merge android-msm-pixel-4.14-rvc-qpr1 into android-msm-pixel-4.14-rvc-qpr2
  2e2fcf08 ASoC: wcd-mbhc: Remove max impedance limit for lineout detection

Bug: 136249967
Bug: 137835053
Bug: 153846956
Bug: 161000427
Bug: 161151152
Bug: 168099864
Bug: 168426596
Bug: 168748066
Bug: 168980587
Bug: 169297188
Bug: 169566670
Bug: 169935997
Bug: 170086722
Bug: 170193607
Bug: 170194686
Bug: 170222921
Bug: 170930805
Bug: 171289750
Bug: 172309980
Bug: 172326712
Bug: 172348733
Bug: 172349026
Bug: 172349044
Bug: 172619503
Bug: 172944461
Bug: 173167141
Bug: 174210785
Bug: 174373049
Bug: 174444463
Bug: 174649668
Bug: 175037520
Bug: 175038160
Bug: 175172404
Bug: 175184106
Bug: 175653340
Bug: 175983772
Bug: 176311992
Pick-Prebuilt: 351195518
Build-Id: 7079318
Processing-Config: kernel_headers
Change-Id: Ibc6f8956da47b278e183dbf6bcad6d408f33f11f
Signed-off-by: Harrison Lingren <hlingren@google.com>
(cherry picked from commit 98f4e8f58e47697a21d3cece690be15c6f3f23fb)
(cherry picked from commit 248dc02f23cfc67f951f09317a1ba70a7ce8c28e)
