520 Commits

Author SHA1 Message Date
Michael Bestas
879c3c8219 Merge branch 'linux-4.14.y' of github.com:openela/kernel-lts into android-msm-pixel-4.14
* 'linux-4.14.y' of github.com:openela/kernel-lts: (342 commits)
  LTS: Update to 4.14.355
  Revert "parisc: Use irq_enter_rcu() to fix warning at kernel/context_tracking.c:367"
  netns: restore ops before calling ops_exit_list
  cx82310_eth: fix error return code in cx82310_bind()
  rtmutex: Drop rt_mutex::wait_lock before scheduling
  locking/rtmutex: Handle non enqueued waiters gracefully in remove_waiter()
  drm/i915/fence: Mark debug_fence_free() with __maybe_unused
  ACPI: processor: Fix memory leaks in error paths of processor_add()
  ACPI: processor: Return an error if acpi_processor_get_info() fails in processor_add()
  netns: add pre_exit method to struct pernet_operations
  net: Add comment about pernet_operations methods and synchronization
  nilfs2: protect references to superblock parameters exposed in sysfs
  nilfs2: replace snprintf in show functions with sysfs_emit
  nilfs2: use time64_t internally
  tracing: Avoid possible softlockup in tracing_iter_reset()
  ring-buffer: Rename ring_buffer_read() to read_buffer_iter_advance()
  uprobes: Use kzalloc to allocate xol area
  clocksource/drivers/imx-tpm: Fix next event not taking effect sometime
  clocksource/drivers/imx-tpm: Fix return -ETIME when delta exceeds INT_MAX
  VMCI: Fix use-after-free when removing resource in vmci_resource_remove()
  ...

 Conflicts:
	drivers/mmc/core/mmc_test.c
	drivers/net/usb/usbnet.c
	fs/f2fs/inode.c
	fs/f2fs/namei.c
	include/linux/overflow.h

Change-Id: Icfff2ec3039c2ce40ed7a9c1d9a6a99269ff4c83
2024-11-07 11:24:02 +02:00
Roland Xu
11ae525157 rtmutex: Drop rt_mutex::wait_lock before scheduling
commit d33d26036a0274b472299d7dcdaa5fb34329f91b upstream.

rt_mutex_handle_deadlock() is called with rt_mutex::wait_lock held.  In the
good case it returns with the lock held and in the deadlock case it emits a
warning and goes into an endless scheduling loop with the lock held, which
triggers the 'scheduling in atomic' warning.

Unlock rt_mutex::wait_lock in the dead lock case before issuing the warning
and dropping into the schedule for ever loop.

[ tglx: Moved unlock before the WARN(), removed the pointless comment,
  	massaged changelog, added Fixes tag ]

Fixes: 3d5c9340d1 ("rtmutex: Handle deadlock detection smarter")
Signed-off-by: Roland Xu <mu001999@outlook.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/all/ME0P300MB063599BEF0743B8FA339C2CECC802@ME0P300MB0635.AUSP300.PROD.OUTLOOK.COM
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 432efdbe7da5ecfcbc0c2180cfdbab1441752a38)
Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
2024-10-30 14:08:26 +00:00
Peter Zijlstra
5635c800bb locking/rtmutex: Handle non enqueued waiters gracefully in remove_waiter()
In -RT task_blocks_on_rt_mutex() may return with -EAGAIN due to
(->pi_blocked_on == PI_WAKEUP_INPROGRESS) before it added itself as a
waiter. In such a case remove_waiter() must not be called because without a
waiter it will trigger the BUG_ON() statement.

This was initially reported by Yimin Deng. Thomas Gleixner fixed it then
with an explicit check for waiters before calling remove_waiter().

Instead of an explicit NULL check before calling rt_mutex_top_waiter() make
the function return NULL if there are no waiters. With that fixed the now
pointless NULL check is removed from rt_mutex_slowlock().

Reported-and-debugged-by: Yimin Deng <yimin11.deng@gmail.com>
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/CAAh1qt=DCL9aUXNxanP5BKtiPp3m+qj4yB+gDohhXPVFCxWwzg@mail.gmail.com
Link: https://lkml.kernel.org/r/20180327121438.sss7hxg3crqy4ecd@linutronix.de
(cherry picked from commit c28d62cf52d791ba5f6db7ce525ed06b86291c82)
Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
2024-10-30 14:08:26 +00:00
Michael Bestas
f1fa46ded9 Merge tag 'ASB-2023-12-05_4.14-stable' of https://android.googlesource.com/kernel/common into android-msm-pixel-4.14
https://source.android.com/docs/security/bulletin/2023-12-01

* tag 'ASB-2023-12-05_4.14-stable' of https://android.googlesource.com/kernel/common:
  Linux 4.14.331
  net: sched: fix race condition in qdisc_graft()
  scsi: virtio_scsi: limit number of hw queues by nr_cpu_ids
  ext4: remove gdb backup copy for meta bg in setup_new_flex_group_blocks
  ext4: correct return value of ext4_convert_meta_bg
  ext4: correct offset of gdb backup in non meta_bg group to update_backups
  ext4: apply umask if ACL support is disabled
  media: venus: hfi: fix the check to handle session buffer requirement
  media: sharp: fix sharp encoding
  i2c: i801: fix potential race in i801_block_transaction_byte_by_byte
  net: dsa: lan9303: consequently nested-lock physical MDIO
  ALSA: info: Fix potential deadlock at disconnection
  parisc/pgtable: Do not drop upper 5 address bits of physical address
  parisc: Prevent booting 64-bit kernels on PA1.x machines
  mcb: fix error handling for different scenarios when parsing
  jbd2: fix potential data lost in recovering journal raced with synchronizing fs bdev
  genirq/generic_chip: Make irq_remove_generic_chip() irqdomain aware
  mmc: meson-gx: Remove setting of CMD_CFG_ERROR
  PM: hibernate: Clean up sync_read handling in snapshot_write_next()
  PM: hibernate: Use __get_safe_page() rather than touching the list
  mmc: vub300: fix an error code
  PCI/sysfs: Protect driver's D3cold preference from user space
  hvc/xen: fix error path in xen_hvc_init() to always register frontend driver
  audit: don't WARN_ON_ONCE(!current->mm) in audit_exe_compare()
  audit: don't take task_lock() in audit_exe_compare() code path
  KVM: x86: Ignore MSR_AMD64_TW_CFG access
  randstruct: Fix gcc-plugin performance mode to stay in group
  media: venus: hfi: add checks to perform sanity on queue pointers
  pwm: Fix double shift bug
  gfs2: ignore negated quota changes
  media: vivid: avoid integer overflow
  media: gspca: cpia1: shift-out-of-bounds in set_flicker
  i2c: sun6i-p2wi: Prevent potential division by zero
  tty: vcc: Add check for kstrdup() in vcc_probe()
  scsi: libfc: Fix potential NULL pointer dereference in fc_lport_ptp_setup()
  atm: iphase: Do PCI error checks on own line
  ALSA: hda: Fix possible null-ptr-deref when assigning a stream
  jfs: fix array-index-out-of-bounds in diAlloc
  jfs: fix array-index-out-of-bounds in dbFindLeaf
  fs/jfs: Add validity check for db_maxag and db_agpref
  fs/jfs: Add check for negative db_l2nbperpage
  RDMA/hfi1: Use FIELD_GET() to extract Link Width
  crypto: pcrypt - Fix hungtask for PADATA_RESET
  selftests/efivarfs: create-read: fix a resource leak
  drm/amd: Fix UBSAN array-index-out-of-bounds for Polaris and Tonga
  drm/amd: Fix UBSAN array-index-out-of-bounds for SMU7
  net: annotate data-races around sk->sk_dst_pending_confirm
  wifi: ath10k: fix clang-specific fortify warning
  wifi: ath9k: fix clang-specific fortify warnings
  wifi: mac80211: don't return unset power in ieee80211_get_tx_power()
  x86/mm: Drop the 4 MB restriction on minimal NUMA node memory size
  clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware
  clocksource/drivers/timer-imx-gpt: Fix potential memory leak
  locking/ww_mutex/test: Fix potential workqueue corruption
  Linux 4.14.330
  btrfs: use u64 for buffer sizes in the tree search ioctls
  Revert "mmc: core: Capture correct oemid-bits for eMMC cards"
  fbdev: fsl-diu-fb: mark wr_reg_wa() static
  netfilter: xt_recent: fix (increase) ipv6 literal buffer length
  tg3: power down device only on SYSTEM_POWER_OFF
  dccp/tcp: Call security_inet_conn_request() after setting IPv6 addresses.
  dccp: Call security_inet_conn_request() after setting IPv4 addresses.
  tipc: Change nla_policy for bearer-related names to NLA_NUL_STRING
  llc: verify mac len before reading mac header
  pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume
  media: dvb-usb-v2: af9035: fix missing unlock
  media: s3c-camif: Avoid inappropriate kfree()
  pcmcia: ds: fix possible name leak in error path in pcmcia_device_add()
  pcmcia: ds: fix refcount leak in pcmcia_device_add()
  pcmcia: cs: fix possible hung task and memory leak pccardd()
  dmaengine: pxa_dma: Remove an erroneous BUG_ON() in pxad_free_desc()
  USB: usbip: fix stub_dev hub disconnect
  misc: st_core: Do not call kfree_skb() under spin_lock_irqsave()
  dmaengine: ti: edma: handle irq_of_parse_and_map() errors
  usb: dwc2: fix possible NULL pointer dereference caused by driver concurrency
  tty: tty_jobctrl: fix pid memleak in disassociate_ctty()
  mfd: dln2: Fix double put in dln2_probe
  ASoC: Intel: Skylake: Fix mem leak when parsing UUIDs fails
  sh: bios: Revive earlyprintk support
  RDMA/hfi1: Workaround truncation compilation error
  ext4: move 'ix' sanity check to corrent position
  ARM: 9321/1: memset: cast the constant byte to unsigned char
  hwrng: geode - fix accessing registers
  firmware: ti_sci: Mark driver as non removable
  ARM: dts: qcom: mdm9615: populate vsdcc fixed regulator
  drm/rockchip: cdn-dp: Fix some error handling paths in cdn_dp_probe()
  drm/radeon: possible buffer overflow
  drm/rockchip: vop: Fix reset of state in duplicate state crtc funcs
  platform/x86: wmi: Fix probe failure when failing to register WMI devices
  clk: mediatek: clk-mt2701: Add check for mtk_alloc_clk_data
  clk: mediatek: clk-mt6797: Add check for mtk_alloc_clk_data
  clk: keystone: pll: fix a couple NULL vs IS_ERR() checks
  clk: qcom: clk-rcg2: Fix clock rate overflow for high parent frequencies
  ipv6: avoid atomic fragment on GSO packets
  ACPI: sysfs: Fix create_pnp_modalias() and create_of_modalias()
  thermal: core: prevent potential string overflow
  wifi: rtlwifi: fix EDCA limit set by BT coexistence
  tcp_metrics: do not create an entry from tcp_init_metrics()
  tcp_metrics: properly set tp->snd_ssthresh in tcp_init_metrics()
  i40e: fix potential memory leaks in i40e_remove()
  Linux 4.14.329
  tty: 8250: Add support for Intashield IS-100
  tty: 8250: Add support for Brainboxes UP cards
  tty: 8250: Add support for additional Brainboxes UC cards
  tty: 8250: Remove UC-257 and UC-431
  usb: storage: set 1.50 as the lower bcdDevice for older "Super Top" compatibility
  PCI: Prevent xHCI driver from claiming AMD VanGogh USB3 DRD device
  vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF
  remove the sx8 block driver
  ata: ahci: fix enum constants for gcc-13
  net: chelsio: cxgb4: add an error code check in t4_load_phy_fw
  platform/x86: asus-wmi: Change ASUS_WMI_BRN_DOWN code from 0x20 to 0x2e
  scsi: mpt3sas: Fix in error path
  fbdev: uvesafb: Call cn_del_callback() at the end of uvesafb_exit()
  ASoC: rt5650: fix the wrong result of key button
  netfilter: nfnetlink_log: silence bogus compiler warning
  fbdev: atyfb: only use ioremap_uc() on i386 and ia64
  Input: synaptics-rmi4 - handle reset delay when using SMBus trsnsport
  dmaengine: ste_dma40: Fix PM disable depth imbalance in d40_probe
  irqchip/stm32-exti: add missing DT IRQ flag translation
  ASoC: simple-card: fixup asoc_simple_probe() error handling
  x86: Fix .brk attribute in linker script
  rpmsg: Fix possible refcount leak in rpmsg_register_device_override()
  rpmsg: glink: Release driver_override
  rpmsg: Fix calling device_lock() on non-initialized device
  rpmsg: Fix kfree() of static memory on setting driver_override
  driver: platform: Add helper for safer setting of driver_override
  x86/mm: Fix RESERVE_BRK() for older binutils
  x86/mm: Simplify RESERVE_BRK()
  x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility
  nfsd: lock_rename() needs both directories to live on the same fs
  f2fs: fix to do sanity check on inode type during garbage collection
  kobject: Fix slab-out-of-bounds in fill_kobj_path()
  drm/dp_mst: Fix NULL deref in get_mst_branch_device_by_guid_helper()
  ARM: 8933/1: replace Sun/Solaris style flag on section directive
  NFS: Don't call generic_error_remove_page() while holding locks
  perf/core: Fix potential NULL deref
  i2c: muxes: i2c-demux-pinctrl: Use of_get_i2c_adapter_by_node()
  i2c: muxes: i2c-mux-gpmux: Use of_get_i2c_adapter_by_node()
  i2c: muxes: i2c-mux-pinctrl: Use of_get_i2c_adapter_by_node()
  i40e: Fix wrong check for I40E_TXR_FLAGS_WB_ON_ITR
  gtp: uapi: fix GTPA_MAX
  tcp: fix wrong RTO timeout when received SACK reneging
  r8152: Increase USB control msg timeout to 5000ms as per spec
  igb: Fix potential memory leak in igb_add_ethtool_nfc_entry
  treewide: Spelling fix in comment
  virtio_balloon: Fix endless deflation and inflation on arm64
  mcb-lpc: Reallocate memory region to avoid memory overlapping
  mcb: Return actual parsed size when reading chameleon table

 Conflicts:
	drivers/thermal/thermal_core.c
	fs/f2fs/gc.c

Change-Id: I569f299ba1ad3b7e86b113637e117519bf3685a0
2023-12-06 18:47:32 +02:00
John Stultz
d4d37c9e6a locking/ww_mutex/test: Fix potential workqueue corruption
[ Upstream commit bccdd808902f8c677317cec47c306e42b93b849e ]

In some cases running with the test-ww_mutex code, I was seeing
odd behavior where sometimes it seemed flush_workqueue was
returning before all the work threads were finished.

Often this would cause strange crashes as the mutexes would be
freed while they were being used.

Looking at the code, there is a lifetime problem as the
controlling thread that spawns the work allocates the
"struct stress" structures that are passed to the workqueue
threads. Then when the workqueue threads are finished,
they free the stress struct that was passed to them.

Unfortunately the workqueue work_struct node is in the stress
struct. Which means the work_struct is freed before the work
thread returns and while flush_workqueue is waiting.

It seems like a better idea to have the controlling thread
both allocate and free the stress structures, so that we can
be sure we don't corrupt the workqueue by freeing the structure
prematurely.

So this patch reworks the test to do so, and with this change
I no longer see the early flush_workqueue returns.

Signed-off-by: John Stultz <jstultz@google.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20230922043616.19282-3-jstultz@google.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-28 16:45:42 +00:00
Michael Bestas
4b1f3533e2 Merge tag 'ASB-2023-09-05_4.14-stable' of https://android.googlesource.com/kernel/common into android-msm-pixel-4.14
https://source.android.com/docs/security/bulletin/2023-09-01

* tag 'ASB-2023-09-05_4.14-stable' of https://android.googlesource.com/kernel/common:
  Linux 4.14.325
  Revert "ARM: ep93xx: fix missing-prototype warnings"
  Revert "MIPS: Alchemy: fix dbdma2"
  Linux 4.14.324
  dma-buf/sw_sync: Avoid recursive lock during fence signal
  scsi: core: raid_class: Remove raid_component_add()
  scsi: snic: Fix double free in snic_tgt_create()
  rtnetlink: Reject negative ifindexes in RTM_NEWLINK
  x86/fpu: Set X86_FEATURE_OSXSAVE feature after enabling OSXSAVE in CR4
  media: vcodec: Fix potential array out-of-bounds in encoder queue_setup
  lib/clz_ctz.c: Fix __clzdi2() and __ctzdi2() for 32-bit kernels
  batman-adv: Fix batadv_v_ogm_aggr_send memory leak
  batman-adv: Fix TT global entry leak when client roamed back
  batman-adv: Do not get eth header before batadv_check_management_packet
  batman-adv: Trigger events for auto adjusted MTU
  ibmveth: Use dcbf rather than dcbfl
  ipvs: fix racy memcpy in proc_do_sync_threshold
  ipvs: Improve robustness to the ipvs sysctl
  igb: Avoid starting unnecessary workqueues
  sock: annotate data-races around prot->memory_pressure
  tracing: Fix memleak due to race between current_tracer and trace
  net: phy: broadcom: stub c45 read/write for 54810
  net: xfrm: Amend XFRMA_SEC_CTX nla_policy structure
  net: fix the RTO timer retransmitting skb every 1ms if linear option is enabled
  af_unix: Fix null-ptr-deref in unix_stream_sendpage().
  ASoC: rt5665: add missed regulator_bulk_disable
  netfilter: set default timeout to 3 secs for sctp shutdown send and recv state
  test_firmware: prevent race conditions by a correct implementation of locking
  binder: fix memory leak in binder_init()
  serial: 8250: Fix oops for port->pm on uart_change_pm()
  mmc: wbsd: fix double mmc_free_host() in wbsd_init()
  cifs: Release folio lock on fscache read hit.
  ALSA: usb-audio: Add support for Mythware XA001AU capture and playback interfaces.
  net: do not allow gso_size to be set to GSO_BY_FRAGS
  sock: Fix misuse of sk_under_memory_pressure()
  i40e: fix misleading debug logs
  team: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves
  netfilter: nft_dynset: disallow object maps
  xfrm: add NULL check in xfrm_update_ae_params
  ip_vti: fix potential slab-use-after-free in decode_session6
  ip6_vti: fix slab-use-after-free in decode_session6
  net: af_key: fix sadb_x_filter validation
  net: xfrm: Fix xfrm_address_filter OOB read
  fbdev: mmp: fix value check in mmphw_probe()
  drm/amdgpu: Fix potential fence use-after-free v2
  Bluetooth: L2CAP: Fix use-after-free
  pcmcia: rsrc_nonstatic: Fix memory leak in nonstatic_release_resource_db()
  gfs2: Fix possible data races in gfs2_show_options()
  media: platform: mediatek: vpu: fix NULL ptr dereference
  media: v4l2-mem2mem: add lock to protect parameter num_rdy
  FS: JFS: Check for read-only mounted filesystem in txBegin
  FS: JFS: Fix null-ptr-deref Read in txBegin
  MIPS: dec: prom: Address -Warray-bounds warning
  fs: jfs: Fix UBSAN: array-index-out-of-bounds in dbAllocDmapLev
  udf: Fix uninitialized array access for some pathnames
  quota: fix warning in dqgrab()
  quota: Properly disable quotas when add_dquot_ref() fails
  ALSA: emu10k1: roll up loops in DSP setup code for Audigy
  drm/radeon: Fix integer overflow in radeon_cs_parser_init
  lib/mpi: Eliminate unused umul_ppmm definitions for MIPS
  UPSTREAM: media: usb: siano: Fix warning due to null work_func_t function pointer
  UPSTREAM: Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb
  UPSTREAM: net/sched: cls_route: No longer copy tcf_result on update to avoid use-after-free
  UPSTREAM: net/sched: cls_fw: Fix improper refcount update leads to use-after-free
  UPSTREAM: net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free
  Linux 4.14.323
  alpha: remove __init annotation from exported page_is_ram()
  scsi: core: Fix possible memory leak if device_add() fails
  scsi: snic: Fix possible memory leak if device_add() fails
  scsi: 53c700: Check that command slot is not NULL
  scsi: storvsc: Fix handling of virtual Fibre Channel timeouts
  scsi: core: Fix legacy /proc parsing buffer overflow
  netfilter: nf_tables: report use refcount overflow
  btrfs: don't stop integrity writeback too early
  IB/hfi1: Fix possible panic during hotplug remove
  drivers: net: prevent tun_build_skb() to exceed the packet size limit
  dccp: fix data-race around dp->dccps_mss_cache
  bonding: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves
  net/packet: annotate data-races around tp->status
  drm/nouveau/disp: Revert a NULL check inside nouveau_connector_get_modes
  x86: Move gds_ucode_mitigated() declaration to header
  x86/mm: Fix VDSO and VVAR placement on 5-level paging machines
  usb: dwc3: Properly handle processing of pending events
  usb-storage: alauda: Fix uninit-value in alauda_check_media()
  iio: cros_ec: Fix the allocation size for cros_ec_command
  test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation
  nilfs2: fix use-after-free of nilfs_root in dirtying inodes via iput
  radix tree test suite: fix incorrect allocation size for pthreads
  dmaengine: pl330: Return DMA_PAUSED when transaction is paused
  ipv6: adjust ndisc_is_useropt() to also return true for PIO
  mmc: moxart: read scr register without changing byte order
  sparc: fix up arch_cpu_finalize_init() build breakage.
  Linux 4.14.322
  drm/edid: fix objtool warning in drm_cvt_modes()
  mtd: rawnand: omap_elm: Fix incorrect type in assignment
  test_firmware: fix a memory leak with reqs buffer
  ext2: Drop fragment support
  net: usbnet: Fix WARNING in usbnet_start_xmit/usb_submit_urb
  Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb
  fs/sysv: Null check to prevent null-ptr-deref bug
  USB: zaurus: Add ID for A-300/B-500/C-700
  libceph: fix potential hang in ceph_osdc_notify()
  loop: Select I/O scheduler 'none' from inside add_disk()
  tcp_metrics: fix data-race in tcpm_suck_dst() vs fastopen
  tcp_metrics: annotate data-races around tm->tcpm_net
  tcp_metrics: annotate data-races around tm->tcpm_vals[]
  tcp_metrics: annotate data-races around tm->tcpm_lock
  tcp_metrics: annotate data-races around tm->tcpm_stamp
  tcp_metrics: fix addr_same() helper
  ip6mr: Fix skb_under_panic in ip6mr_cache_report()
  net/sched: cls_route: No longer copy tcf_result on update to avoid use-after-free
  net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free
  net: add missing data-race annotation for sk_ll_usec
  net: add missing data-race annotations around sk->sk_peek_off
  perf test uprobe_from_different_cu: Skip if there is no gcc
  net/mlx5e: fix return value check in mlx5e_ipsec_remove_trailer()
  word-at-a-time: use the same return type for has_zero regardless of endianness
  perf: Fix function pointer case
  net/sched: cls_u32: Fix reference counter leak leading to overflow
  net/sched: sch_qfq: account for stab overhead in qfq_enqueue
  net/sched: cls_fw: Fix improper refcount update leads to use-after-free
  drm/client: Fix memory leak in drm_client_target_cloned
  dm cache policy smq: ensure IO doesn't prevent cleaner policy progress
  ASoC: wm8904: Fill the cache for WM8904_ADC_TEST_0 register
  s390/dasd: fix hanging device after quiesce/resume
  irq-bcm6345-l1: Do not assume a fixed block to cpu mapping
  tpm_tis: Explicitly check for error code
  hwmon: (nct7802) Fix for temp6 (PECI1) processed even if PECI1 disabled
  staging: ks7010: potential buffer overflow in ks_wlan_set_encode_ext()
  Documentation: security-bugs.rst: update preferences when dealing with the linux-distros group
  usb: xhci-mtk: set the dma max_seg_size
  usb: ohci-at91: Fix the unhandle interrupt when resume
  can: gs_usb: gs_can_close(): add missing set of CAN state to CAN_STATE_STOPPED
  USB: serial: simple: sort driver entries
  USB: serial: simple: add Kaufmann RKS+CAN VCP
  USB: serial: option: add Quectel EC200A module support
  USB: serial: option: support Quectel EM060K_128
  tracing: Fix warning in trace_buffered_event_disable()
  ring-buffer: Fix wrong stat of cpu_buffer->read
  ata: pata_ns87415: mark ns87560_tf_read static
  dm raid: fix missing reconfig_mutex unlock in raid_ctr() error paths
  block: Fix a source code comment in include/uapi/linux/blkzoned.h
  ASoC: fsl_spdif: Silence output on stop
  benet: fix return value check in be_lancer_xmit_workarounds()
  platform/x86: msi-laptop: Fix rfkill out-of-sync on MSI Wind U100
  team: reset team's flags when down link is P2P device
  bonding: reset bond's flags when down link is P2P device
  tcp: Reduce chance of collisions in inet6_hashfn().
  ipv6 addrconf: fix bug where deleting a mngtmpaddr can create a new temporary address
  ethernet: atheros: fix return value check in atl1e_tso_csum()
  i40e: Fix an NULL vs IS_ERR() bug for debugfs_create_dir()
  gpio: tps68470: Make tps68470_gpio_output() always set the initial value
  tcp: annotate data-races around fastopenq.max_qlen
  tcp: annotate data-races around tp->notsent_lowat
  tcp: annotate data-races around rskq_defer_accept
  netfilter: nf_tables: fix spurious set element insertion failure
  llc: Don't drop packet from non-root netns.
  fbdev: au1200fb: Fix missing IRQ check in au1200fb_drv_probe
  net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field()/cpsw_ale_set_field()
  pinctrl: amd: Use amd_pinconf_set() for all config options
  fbdev: imxfb: warn about invalid left/right margin
  spi: bcm63xx: fix max prepend length
  igb: Fix igb_down hung on surprise removal
  wifi: wext-core: Fix -Wstringop-overflow warning in ioctl_standard_iw_point()
  bpf: Address KCSAN report on bpf_lru_list
  sched/fair: Don't balance task to its current running CPU
  posix-timers: Ensure timer ID search-loop limit is valid
  md/raid10: prevent soft lockup while flush writes
  md: fix data corruption for raid456 when reshape restart while grow up
  nbd: Add the maximum limit of allocated index in nbd_dev_add
  debugobjects: Recheck debug_objects_enabled before reporting
  ext4: correct inline offset when handling xattrs in inode body
  can: bcm: Fix UAF in bcm_proc_show()
  fuse: revalidate: don't invalidate if interrupted
  perf probe: Add test for regression introduced by switch to die_get_decl_file()
  serial: atmel: don't enable IRQs prematurely
  scsi: qla2xxx: Pointer may be dereferenced
  scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport()
  scsi: qla2xxx: Fix potential NULL pointer dereference
  scsi: qla2xxx: Wait for io return on terminate rport
  xtensa: ISS: fix call to split_if_spec
  ring-buffer: Fix deadloop issue on reading trace_pipe
  tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() when iterating clk
  tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in case of error
  Revert "8250: add support for ASIX devices with a FIFO bug"
  meson saradc: fix clock divider mask length
  hwrng: imx-rngc - fix the timeout for init and self check
  fs: dlm: return positive pid value for F_GETLK
  md/raid0: add discard support for the 'original' layout
  misc: pci_endpoint_test: Re-init completion for every test
  PCI: Add function 1 DMA alias quirk for Marvell 88SE9235
  jfs: jfs_dmap: Validate db_l2nbperpage while mounting
  ext4: only update i_reserved_data_blocks on successful block allocation
  ext4: fix wrong unit use in ext4_mb_clear_bb
  perf intel-pt: Fix CYC timestamps after standalone CBR
  SUNRPC: Fix UAF in svc_tcp_listen_data_ready()
  tpm: tpm_vtpm_proxy: fix a race condition in /dev/vtpmx creation
  net/sched: make psched_mtu() RTNL-less safe
  wifi: airo: avoid uninitialized warning in airo_get_rate()
  ipv6/addrconf: fix a potential refcount underflow for idev
  NTB: ntb_transport: fix possible memory leak while device_register() fails
  ntb: intel: Fix error handling in intel_ntb_pci_driver_init()
  NTB: amd: Fix error handling in amd_ntb_pci_driver_init()
  ntb: idt: Fix error handling in idt_pci_driver_init()
  udp6: fix udp6_ehashfn() typo
  net: mvneta: fix txq_map in case of txq_number==1
  workqueue: clean up WORK_* constant types, clarify masking
  netfilter: nf_tables: prevent OOB access in nft_byteorder_eval
  netfilter: conntrack: Avoid nf_ct_helper_hash uses after free
  netfilter: nf_tables: unbind non-anonymous set if rule construction fails
  netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain
  netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE
  spi: spi-fsl-spi: allow changing bits_per_word while CS is still active
  spi: spi-fsl-spi: relax message sanity checking a little
  spi: spi-fsl-spi: remove always-true conditional in fsl_spi_do_one_msg
  ARM: orion5x: fix d2net gpio initialization
  btrfs: fix race when deleting quota root from the dirty cow roots list
  jffs2: reduce stack usage in jffs2_build_xattr_subsystem()
  integrity: Fix possible multiple allocation in integrity_inode_get()
  mmc: core: disable TRIM on Micron MTFC4GACAJCN-1M
  mmc: core: disable TRIM on Kingston EMMC04G-M627
  NFSD: add encoding of op_recall flag for write delegation
  sh: dma: Fix DMA channel offset calculation
  net/sched: act_pedit: Add size check for TCA_PEDIT_PARMS_EX
  tcp: annotate data races in __tcp_oow_rate_limited()
  net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode
  powerpc: allow PPC_EARLY_DEBUG_CPM only when SERIAL_CPM=y
  mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0
  spi: bcm-qspi: return error if neither hif_mspi nor mspi is available
  Add MODULE_FIRMWARE() for FIRMWARE_TG357766.
  sctp: fix potential deadlock on &net->sctp.addr_wq_lock
  rtc: st-lpc: Release some resources in st_rtc_probe() in case of error
  mfd: stmpe: Only disable the regulators if they are enabled
  mfd: intel-lpss: Add missing check for platform_get_resource
  mfd: rt5033: Drop rt5033-battery sub-device
  usb: phy: phy-tahvo: fix memory leak in tahvo_usb_probe()
  extcon: Fix kernel doc of property capability fields to avoid warnings
  extcon: Fix kernel doc of property fields to avoid warnings
  media: usb: siano: Fix warning due to null work_func_t function pointer
  media: videodev2.h: Fix struct v4l2_input tuner index comment
  media: usb: Check az6007_read() return value
  sh: j2: Use ioremap() to translate device tree address into kernel memory
  w1: fix loop in w1_fini()
  block: change all __u32 annotations to __be32 in affs_hardblocks.h
  USB: serial: option: add LARA-R6 01B PIDs
  modpost: fix off by one in is_executable_section()
  modpost: fix section mismatch message for R_ARM_{PC24,CALL,JUMP24}
  modpost: fix section mismatch message for R_ARM_ABS32
  crypto: nx - fix build warnings when DEBUG_FS is not enabled
  pinctrl: at91-pio4: check return value of devm_kasprintf()
  perf dwarf-aux: Fix off-by-one in die_get_varname()
  pinctrl: cherryview: Return correct value if pin in push-pull mode
  PCI: Add pci_clear_master() stub for non-CONFIG_PCI
  scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe()
  ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer
  drm/radeon: fix possible division-by-zero errors
  fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe()
  soc/fsl/qe: fix usb.c build errors
  ASoC: es8316: Increment max value for ALC Capture Target Volume control
  ARM: ep93xx: fix missing-prototype warnings
  drm/panel: simple: fix active size for Ampire AM-480272H3TMQW-T01H
  Input: adxl34x - do not hardcode interrupt trigger type
  ARM: dts: BCM5301X: Drop "clock-names" from the SPI node
  Input: drv260x - sleep between polling GO bit
  radeon: avoid double free in ci_dpm_init()
  netlink: Add __sock_i_ino() for __netlink_diag_dump().
  netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return value.
  lib/ts_bm: reset initial match offset for every block of text
  gtp: Fix use-after-free in __gtp_encap_destroy().
  netlink: do not hard code device address lenth in fdb dumps
  netlink: fix potential deadlock in netlink_set_err()
  wifi: ath9k: convert msecs to jiffies where needed
  wifi: ath9k: Fix possible stall on ath9k_txq_list_has_key()
  memstick r592: make memstick_debug_get_tpc_name() static
  kexec: fix a memory leak in crash_shrink_memory()
  watchdog/perf: more properly prevent false positives with turbo modes
  watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct config
  wifi: ath9k: don't allow to overwrite ENDPOINT0 attributes
  wifi: ray_cs: Fix an error handling path in ray_probe()
  wifi: wl3501_cs: Fix an error handling path in wl3501_probe()
  wifi: atmel: Fix an error handling path in atmel_probe()
  wifi: orinoco: Fix an error handling path in orinoco_cs_probe()
  wifi: orinoco: Fix an error handling path in spectrum_cs_probe()
  wifi: ath9k: avoid referencing uninit memory in ath9k_wmi_ctrl_rx
  wifi: ath9k: fix AR9003 mac hardware hang check register offset calculation
  evm: Complete description of evm_inode_setattr()
  PM: domains: fix integer overflow issues in genpd_parse_state()
  md/raid10: fix io loss while replacement replace rdev
  md/raid10: fix wrong setting of max_corr_read_errors
  md/raid10: fix overflow of md/safe_mode_delay
  treewide: Remove uninitialized_var() usage
  drm/amdgpu: Validate VM ioctl flags.
  scripts/tags.sh: Resolve gtags empty index generation
  drm/edid: Fix uninitialized variable in drm_cvt_modes()
  fbdev: imsttfb: Fix use after free bug in imsttfb_probe
  x86/smp: Use dedicated cache-line for mwait_play_dead()
  x86/microcode/AMD: Load late on both threads too
  gfs2: Don't deref jdesc in evict
  Linux 4.14.321
  x86: fix backwards merge of GDS/SRSO bit
  xen/netback: Fix buffer overrun triggered by unusual packet
  Documentation/x86: Fix backwards on/off logic about YMM support
  x86/xen: Fix secondary processors' FPU initialization
  KVM: Add GDS_NO support to KVM
  x86/speculation: Add Kconfig option for GDS
  x86/speculation: Add force option to GDS mitigation
  x86/speculation: Add Gather Data Sampling mitigation
  x86/fpu: Move FPU initialization into arch_cpu_finalize_init()
  x86/fpu: Mark init functions __init
  x86/fpu: Remove cpuinfo argument from init functions
  init, x86: Move mem_encrypt_init() into arch_cpu_finalize_init()
  init: Invoke arch_cpu_finalize_init() earlier
  init: Remove check_bugs() leftovers
  um/cpu: Switch to arch_cpu_finalize_init()
  sparc/cpu: Switch to arch_cpu_finalize_init()
  sh/cpu: Switch to arch_cpu_finalize_init()
  mips/cpu: Switch to arch_cpu_finalize_init()
  m68k/cpu: Switch to arch_cpu_finalize_init()
  ia64/cpu: Switch to arch_cpu_finalize_init()
  ARM: cpu: Switch to arch_cpu_finalize_init()
  x86/cpu: Switch to arch_cpu_finalize_init()
  init: Provide arch_cpu_finalize_init()

 Conflicts:
	drivers/block/loop.c
	drivers/usb/dwc3/gadget.c

Change-Id: I992e9302cd013f55616a3158f5227b263e1c322d
2023-09-19 18:31:18 +03:00
Kees Cook
d68627697d treewide: Remove uninitialized_var() usage
commit 3f649ab728cda8038259d8f14492fe400fbab911 upstream.

Using uninitialized_var() is dangerous as it papers over real bugs[1]
(or can in the future), and suppresses unrelated compiler warnings
(e.g. "unused variable"). If the compiler thinks it is uninitialized,
either simply initialize the variable or make compiler changes.

In preparation for removing[2] the[3] macro[4], remove all remaining
needless uses with the following script:

git grep '\buninitialized_var\b' | cut -d: -f1 | sort -u | \
	xargs perl -pi -e \
		's/\buninitialized_var\(([^\)]+)\)/\1/g;
		 s:\s*/\* (GCC be quiet|to make compiler happy) \*/$::g;'

drivers/video/fbdev/riva/riva_hw.c was manually tweaked to avoid
pathological white-space.

No outstanding warnings were found building allmodconfig with GCC 9.3.0
for x86_64, i386, arm64, arm, powerpc, powerpc64le, s390x, mips, sparc64,
alpha, and m68k.

[1] https://lore.kernel.org/lkml/20200603174714.192027-1-glider@google.com/
[2] https://lore.kernel.org/lkml/CA+55aFw+Vbj0i=1TGqCR5vQkCzWJ0QxK6CernOU6eedsudAixw@mail.gmail.com/
[3] https://lore.kernel.org/lkml/CA+55aFwgbgqhbp1fkxvRKEpzyR5J8n1vKT1VZdz9knmPuXhOeg@mail.gmail.com/
[4] https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN_ybYNv0VEOKA@mail.gmail.com/

Reviewed-by: Leon Romanovsky <leonro@mellanox.com> # drivers/infiniband and mlx4/mlx5
Acked-by: Jason Gunthorpe <jgg@mellanox.com> # IB
Acked-by: Kalle Valo <kvalo@codeaurora.org> # wireless drivers
Reviewed-by: Chao Yu <yuchao0@huawei.com> # erofs
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-08-11 11:33:32 +02:00
Wilson Sung
ffdcfa9ebe Merge android-4.14-stable (4.14.257) into android-msm-pixel-4.14-lts
Merge 4.14.257 into android-4.14-stable
Linux 4.14.257
    parisc: Mark cr16 CPU clocksource unstable on all SMP machines
  * serial: core: fix transmit-buffer reset and memleak
      drivers/tty/serial/serial_core.c
    serial: pl011: Add ACPI SBSA UART match id
    tty: serial: msm_serial: Deactivate RX DMA for polling support
    x86/64/mm: Map all kernel memory into trampoline_pgd
    usb: typec: tcpm: Wait in SNK_DEBOUNCED until disconnect
  * xhci: Fix commad ring abort, write all 64 bits to CRCR register.
      drivers/usb/host/xhci-ring.c
    vgacon: Propagate console boot parameters before calling `vc_resize'
    parisc: Fix "make install" on newer debian releases
    parisc: Fix KBUILD_IMAGE for self-extracting kernel
    net/smc: Keep smc_close_final rc during active close
    net/rds: correct socket tunable error in rds_tcp_tune()
    net: usb: lan78xx: lan78xx_phy_init(): use PHY_POLL instead of "0" if no IRQ is available
    net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources()
  * siphash: use _unaligned version by default
      include/linux/siphash.h
      lib/siphash.c
    net: mpls: Fix notifications when deleting a device
    net: qlogic: qlcnic: Fix a NULL pointer dereference in qlcnic_83xx_add_rings()
    natsemi: xtensa: fix section mismatch warnings
  * fget: check that the fd still exists after getting a ref to it
      fs/file.c
  * fs: add fget_many() and fput_many()
      fs/file.c
      fs/file_table.c
      include/linux/file.h
      include/linux/fs.h
    sata_fsl: fix warning in remove_proc_entry when rmmod sata_fsl
    sata_fsl: fix UAF in sata_fsl_port_stop when rmmod sata_fsl
  * kprobes: Limit max data_size of the kretprobe instances
      include/linux/kprobes.h
    vrf: Reset IPCB/IP6CB when processing outbound pkts in vrf dev xmit
    perf hist: Fix memory leak of a perf_hpp_fmt
    net: ethernet: dec: tulip: de4x5: fix possible array overflows in type3_infoblock()
    net: tulip: de4x5: fix the problem that the array 'lp->phy[8]' may be out of bound
    ethernet: hisilicon: hns: hns_dsaf_misc: fix a possible array overflow in hns_dsaf_ge_srst_by_port()
    scsi: iscsi: Unblock session then wake up error handler
  * thermal: core: Reset previous low and high trip during thermal zone init
      drivers/thermal/thermal_core.c
    btrfs: check-integrity: fix a warning on write caching disabled disk
    s390/setup: avoid using memblock_enforce_memory_limit
    platform/x86: thinkpad_acpi: Fix WWAN device disabled issue after S3 deep
  * net: return correct error code
      net/ipv4/devinet.c
    hugetlb: take PMD sharing into account when flushing tlb/caches
    NFSv42: Fix pagecache invalidation after COPY/CLONE
    ipc: WARN if trying to remove ipc object which is absent
  * shm: extend forced shm destroy to support objects from several IPC nses
      include/linux/ipc_namespace.h
      include/linux/sched/task.h
      include/linux/shm.h
    tty: hvc: replace BUG_ON() with negative return value
    xen/netfront: don't trust the backend response data blindly
    xen/netfront: disentangle tx_skb_freelist
    xen/netfront: don't read data from request on the ring page
    xen/netfront: read response from backend only once
    xen/blkfront: don't trust the backend response data blindly
    xen/blkfront: don't take local copy of a request from the ring page
    xen/blkfront: read response from backend only once
    xen: sync include/xen/interface/io/ring.h with Xen's newest version
  * fuse: release pipe buf after last use
      fs/fuse/dev.c
    NFC: add NCI_UNREG flag to eliminate the race
    proc/vmcore: fix clearing user buffer by properly using clear_user()
  * hugetlbfs: flush TLBs correctly after huge_pmd_unshare
      include/asm-generic/tlb.h
      mm/memory.c
    arm64: dts: marvell: armada-37xx: Set pcie_reset_pin to gpio function
    arm64: dts: marvell: armada-37xx: declare PCIe reset pin
    pinctrl: armada-37xx: Correct PWM pins definitions
    pinctrl: armada-37xx: add missing pin: PCIe1 Wakeup
    pinctrl: armada-37xx: Correct mpp definitions
    PCI: aardvark: Fix checking for link up via LTSSM state
    PCI: aardvark: Fix link training
  * PCI: Add PCI_EXP_LNKCTL2_TLS* macros
      include/uapi/linux/pci_regs.h
    PCI: aardvark: Fix PCIe Max Payload Size setting
    PCI: aardvark: Configure PCIe resources from 'ranges' DT property
    PCI: aardvark: Remove PCIe outbound window configuration
    PCI: aardvark: Update comment about disabling link training
    PCI: aardvark: Move PCIe reset card code to advk_pcie_train_link()
    PCI: aardvark: Fix compilation on s390
    PCI: aardvark: Don't touch PCIe registers if no card connected
    PCI: aardvark: Introduce an advk_pcie_valid_device() helper
    PCI: aardvark: Indicate error in 'val' when config read fails
    PCI: aardvark: Replace custom macros by standard linux/pci_regs.h macros
    PCI: aardvark: Issue PERST via GPIO
    PCI: aardvark: Improve link training
    PCI: aardvark: Train link immediately after enabling training
    PCI: aardvark: Wait for endpoint to be ready before training link
    PCI: aardvark: Fix a leaked reference by adding missing of_node_put()
    PCI: aardvark: Fix I/O space page leak
    s390/mm: validate VMA in PGSTE manipulation functions
  * tracing: Check pid filtering when creating events
      kernel/trace/trace_events.c
    vhost/vsock: fix incorrect used length reported to the guest
    net/smc: Don't call clcsock shutdown twice when smc shutdown
    MIPS: use 3-level pgtable for 64KB page size on MIPS_VA_BITS_48
  * tcp_cubic: fix spurious Hystart ACK train detections for not-cwnd-limited flows
      net/ipv4/tcp_cubic.c
    PM: hibernate: use correct mode for swsusp_close()
    net/smc: Ensure the active closing peer first closes clcsock
  * ipv6: fix typos in __ip6_finish_output()
      net/ipv6/ip6_output.c
    drm/vc4: fix error code in vc4_create_object()
    scsi: mpt3sas: Fix kernel panic during drive powercycle test
    ARM: socfpga: Fix crash with CONFIG_FORTIRY_SOURCE
    NFSv42: Don't fail clone() unless the OP_CLONE operation failed
  * net: ieee802154: handle iftypes as u32
      include/net/nl802154.h
    ASoC: topology: Add missing rwsem around snd_ctl_remove() calls
    ARM: dts: BCM5301X: Add interrupt properties to GPIO node
    ARM: dts: BCM5301X: Fix I2C controller interrupt
    netfilter: ipvs: Fix reuse connection if RS weight is 0
  * tracing: Fix pid filtering when triggers are attached
      kernel/trace/trace.h
    xen: detect uninitialized xenbus in xenbus_init
    xen: don't continue xenstore initialization in case of errors
  * fuse: fix page stealing
      fs/fuse/dev.c
    staging: rtl8192e: Fix use after free in _rtl92e_pci_disconnect()
    HID: wacom: Use "Confidence" flag to prevent reporting invalid contacts
    media: cec: copy sequence field for the reply
    ALSA: ctxfi: Fix out-of-range access
  * binder: fix test regression due to sender_euid change
      drivers/android/binder.c
  * usb: hub: Fix locking issues with address0_mutex
      drivers/usb/core/hub.c
  * usb: hub: Fix usb enumeration issue due to address0 race
      drivers/usb/core/hub.c
    USB: serial: option: add Fibocom FM101-GL variants
    USB: serial: option: add Telit LE910S1 0x9200 composition
    Merge 4.14.256 into android-4.14-stable
Linux 4.14.256
    soc/tegra: pmc: Fix imbalanced clock disabling in error code path
    usb: max-3421: Use driver data instead of maintaining a list of bound devices
  * ASoC: DAPM: Cover regression by kctl change notification fix
      sound/soc/soc-dapm.c
    RDMA/netlink: Add __maybe_unused to static inline in C file
    batman-adv: Don't always reallocate the fragmentation skb head
    batman-adv: Reserve needed_*room for fragments
    batman-adv: Consider fragmentation for needed_headroom
    batman-adv: mcast: fix duplicate mcast packets from BLA backbone to mesh
    batman-adv: mcast: fix duplicate mcast packets in BLA backbone from LAN
  * perf/core: Avoid put_page() when GUP fails
      kernel/events/core.c
    drm/amdgpu: fix set scaling mode Full/Full aspect/Center not works on vga and dvi connectors
    drm/udl: fix control-message timeout
  * cfg80211: call cfg80211_stop_ap when switch from P2P_GO type
      net/wireless/util.c
    parisc/sticon: fix reverse colors
    btrfs: fix memory ordering between normal and ordered work functions
  * mm: kmemleak: slob: respect SLAB_NOLEAKTRACE flag
      mm/slab.h
    hexagon: export raw I/O routines for modules
  * tun: fix bonding active backup with arp monitoring
      drivers/net/tun.c
    perf/x86/intel/uncore: Fix IIO event constraints for Skylake Server
    perf/x86/intel/uncore: Fix filter_tid mask for CHA events on Skylake Server
    NFC: reorder the logic in nfc_{un,}register_device
    NFC: reorganize the functions in nci_request
    i40e: Fix NULL ptr dereference on VSI filter sync
  * net: virtio_net_hdr_to_skb: count transport header in UFO
      include/linux/virtio_net.h
    platform/x86: hp_accel: Fix an error handling path in 'lis3lv02d_probe()'
    mips: lantiq: add support for clk_get_parent()
    mips: bcm63xx: add support for clk_get_parent()
    MIPS: generic/yamon-dt: fix uninitialized variable error
    iavf: Fix for the false positive ASQ/ARQ errors while issuing VF reset
    net: bnx2x: fix variable dereferenced before check
  * sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain()
      kernel/sched/core.c
    mips: BCM63XX: ensure that CPU_SUPPORTS_32BIT_KERNEL is set
    sh: define __BIG_ENDIAN for math-emu
    sh: fix kconfig unmet dependency warning for FRAME_POINTER
    maple: fix wrong return value of maple_bus_init().
    sh: check return code of request_irq
    powerpc/dcr: Use cmplwi instead of 3-argument cmpli
    ALSA: gus: fix null pointer dereference on pointer block
    powerpc/5200: dts: fix memory node unit name
    scsi: target: Fix alua_tg_pt_gps_count tracking
    scsi: target: Fix ordered tag handling
    MIPS: sni: Fix the build
  * tty: tty_buffer: Fix the softlockup issue in flush_to_ldisc
      drivers/tty/tty_buffer.c
    usb: host: ohci-tmio: check return value after calling platform_get_resource()
    ARM: dts: omap: fix gpmc,mux-add-data type
    scsi: advansys: Fix kernel pointer leak
    usb: musb: tusb6010: check return value after calling platform_get_resource()
    scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq()
    arm64: zynqmp: Fix serial compatible string
  * PCI/MSI: Destroy sysfs before freeing entries
      drivers/pci/msi.c
    parisc/entry: fix trace test in syscall exit path
  * tracing: Resize tgid_map to pid_max, not PID_MAX_DEFAULT
      kernel/trace/trace.c
  * ext4: fix lazy initialization next schedule time computation in more granular unit
      fs/ext4/super.c
  * PCI: Add PCI_EXP_DEVCTL_PAYLOAD_* macros
      include/uapi/linux/pci_regs.h
    s390/cio: check the subchannel validity for dev_busid
  * mm, oom: do not trigger out_of_memory from the #PF
      mm/oom_kill.c
  * mm, oom: pagefault_out_of_memory: don't force global OOM for dying tasks
      mm/oom_kill.c
    powerpc/bpf: Fix BPF_SUB when imm == 0x80000000
    powerpc/bpf: Validate branch ranges
    powerpc/lib: Add helper to check if offset is within conditional branch range
    ARM: 9156/1: drop cc-option fallbacks for architecture selection
    ARM: 9155/1: fix early early_iounmap()
    USB: chipidea: fix interrupt deadlock
    vsock: prevent unnecessary refcnt inc for nonblocking connect
    nfc: pn533: Fix double free when pn533_fill_fragment_skbs() fails
  * llc: fix out-of-bound array index in llc_sk_dev_hash()
      include/net/llc.h
  * mm/zsmalloc.c: close race window between zs_pool_dec_isolated() and zs_unregister_migration()
      mm/zsmalloc.c
  * bonding: Fix a use-after-free problem when bond_sysfs_slave_add() failed
      drivers/net/bonding/bond_sysfs_slave.c
    ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses
    net: davinci_emac: Fix interrupt pacing disable
    xen-pciback: Fix return in pm_ctrl_init()
    i2c: xlr: Fix a resource leak in the error handling path of 'xlr_i2c_probe()'
    scsi: qla2xxx: Turn off target reset during issue_lip
  * ar7: fix kernel builds for compiler test
      drivers/watchdog/Kconfig
    watchdog: f71808e_wdt: fix inaccurate report in WDIOC_GETTIMEOUT
    m68k: set a default value for MEMORY_RESERVE
  * dmaengine: dmaengine_desc_callback_valid(): Check for `callback_result`
      drivers/dma/dmaengine.h
  * netfilter: nfnetlink_queue: fix OOB when mac header was cleared
      net/netfilter/nfnetlink_queue.c
    auxdisplay: ht16k33: Fix frame buffer device blanking
    auxdisplay: ht16k33: Connect backlight to fbdev
    auxdisplay: img-ascii-lcd: Fix lock-up when displaying empty string
    dmaengine: at_xdmac: fix AT_XDMAC_CC_PERID() macro
    mtd: spi-nor: hisi-sfc: Remove excessive clk_disable_unprepare()
    fs: orangefs: fix error return code of orangefs_revalidate_lookup()
    NFS: Fix deadlocks in nfs_scan_commit_list()
    PCI: aardvark: Don't spam about PIO Response Status
  * drm/plane-helper: fix uninitialized variable reference
      drivers/gpu/drm/drm_plane_helper.c
    pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds
  * rpmsg: Fix rpmsg_create_ept return when RPMSG config is not defined
      include/linux/rpmsg.h
    apparmor: fix error check
    power: supply: bq27xxx: Fix kernel crash on IRQ handler register error
    mips: cm: Convert to bitfield API to fix out-of-bounds access
    serial: xilinx_uartps: Fix race condition causing stuck TX
    ASoC: cs42l42: Defer probe if request_threaded_irq() returns EPROBE_DEFER
    ASoC: cs42l42: Correct some register default values
    RDMA/mlx4: Return missed an error if device doesn't support steering
    scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn()
    power: supply: rt5033_battery: Change voltage values to µV
    usb: gadget: hid: fix error code in do_config()
    serial: 8250_dw: Drop wrong use of ACPI_PTR()
    video: fbdev: chipsfb: use memset_io() instead of memset()
    memory: fsl_ifc: fix leak of irq and nand_irq in fsl_ifc_ctrl_probe
    soc/tegra: Fix an error handling path in tegra_powergate_power_up()
    arm: dts: omap3-gta04a4: accelerometer irq fix
    ALSA: hda: Reduce udelay() at SKL+ position reporting
    JFS: fix memleak in jfs_mount
    MIPS: loongson64: make CPU_LOONGSON64 depends on MIPS_FP_SUPPORT
    scsi: dc395: Fix error case unwinding
    ARM: dts: at91: tse850: the emac<->phy interface is rmii
    ARM: s3c: irq-s3c24xx: Fix return value check for s3c24xx_init_intc()
    RDMA/rxe: Fix wrong port_cap_flags
    ibmvnic: Process crqs after enabling interrupts
    crypto: pcrypt - Delay write to padata->info
    net: phylink: avoid mvneta warning when setting pause parameters
    net: amd-xgbe: Toggle PLL settings during rate change
    libertas: Fix possible memory leak in probe and disconnect
    libertas_tf: Fix possible memory leak in probe and disconnect
    samples/kretprobes: Fix return value if register_kretprobe() failed
    irq: mips: avoid nested irq_enter()
    s390/gmap: don't unconditionally call pte_unmap_unlock() in __gmap_zap()
    smackfs: use netlbl_cfg_cipsov4_del() for deleting cipso_v4_doi
    PM: hibernate: fix sparse warnings
  * phy: micrel: ksz8041nl: do not use power down mode
      drivers/net/phy/micrel.c
    mwifiex: Send DELBA requests according to spec
    platform/x86: thinkpad_acpi: Fix bitwise vs. logical warning
    mmc: mxs-mmc: disable regulator on error and in the remove function
  * net: stream: don't purge sk_error_queue in sk_stream_kill_queues()
      net/core/stream.c
  * drm/msm: uninitialized variable in msm_gem_import()
      drivers/gpu/drm/msm/msm_gem.c
    ath10k: fix max antenna gain unit
  * hwmon: Fix possible memleak in __hwmon_device_register()
      drivers/hwmon/hwmon.c
    memstick: jmb38x_ms: use appropriate free function in jmb38x_ms_alloc_host()
    memstick: avoid out-of-range warning
    b43: fix a lower bounds test
    b43legacy: fix a lower bounds test
    hwrng: mtk - Force runtime pm ops for sleep ops
    crypto: qat - disregard spurious PFVF interrupts
    crypto: qat - detect PFVF collision after ACK
    ath9k: Fix potential interrupt storm on queue reset
  * cpuidle: Fix kobject memory leaks in error paths
      drivers/cpuidle/sysfs.c
    media: cx23885: Fix snd_card_free call on null card pointer
    media: si470x: Avoid card name truncation
    media: mtk-vpu: Fix a resource leak in the error handling path of 'mtk_vpu_probe()'
    media: dvb-usb: fix ununit-value in az6027_rc_query
  * cgroup: Make rebind_subsystems() disable v2 controllers all at once
      kernel/cgroup/cgroup.c
    parisc/kgdb: add kgdb_roundup() to make kgdb work with idle polling
  * task_stack: Fix end_of_stack() for architectures with upwards-growing stack
      include/linux/sched/task_stack.h
    parisc: fix warning in flush_tlb_all
    spi: bcm-qspi: Fix missing clk_disable_unprepare() on error in bcm_qspi_probe()
    ARM: 9136/1: ARMv7-M uses BE-8, not BE-32
  * gre/sit: Don't generate link-local addr if addr_gen_mode is IN6_ADDR_GEN_MODE_NONE
      net/ipv6/addrconf.c
    ARM: clang: Do not rely on lr register for stacktrace
    smackfs: use __GFP_NOFAIL for smk_cipso_doi()
    iwlwifi: mvm: disable RX-diversity in powersave
    PM: hibernate: Get block device exclusively in swsusp_check()
    mwl8k: Fix use-after-free in mwl8k_fw_state_machine()
    tracing/cfi: Fix cmp_entries_* functions signature mismatch
  * lib/xz: Validate the value before assigning it to an enum variable
      lib/xz/xz_dec_stream.c
  * lib/xz: Avoid overlapping memcpy() with invalid input with in-place decompression
      lib/xz/xz_dec_lzma2.c
    memstick: r592: Fix a UAF bug when removing the driver
    leaking_addresses: Always print a trailing newline
    ACPI: battery: Accept charges over the design capacity as full
    ath: dfs_pattern_detector: Fix possible null-pointer dereference in channel_detector_create()
  * tracefs: Have tracefs directories not set OTH permission bits by default
      fs/tracefs/inode.c
    media: usb: dvd-usb: fix uninit-value bug in dibusb_read_eeprom_byte()
    ACPICA: Avoid evaluating methods too early during system resume
    ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK
    media: mceusb: return without resubmitting URB in case of -EPROTO error.
    media: s5p-mfc: Add checking to s5p_mfc_probe().
    media: s5p-mfc: fix possible null-pointer dereference in s5p_mfc_probe()
  * media: uvcvideo: Set capability in s_param
      drivers/media/usb/uvc/uvc_v4l2.c
    media: netup_unidvb: handle interrupt properly according to the firmware
    media: mt9p031: Fix corrupted frame after restarting stream
    mwifiex: Properly initialize private structure on interface type changes
    mwifiex: Run SET_BSS_MODE when changing from P2P to STATION vif-type
    x86: Increase exception stack sizes
    smackfs: Fix use-after-free in netlbl_catmap_walk()
    locking/lockdep: Avoid RCU-induced noinstr fail
    MIPS: lantiq: dma: reset correct number of channel
    MIPS: lantiq: dma: add small delay after reset
    platform/x86: wmi: do not fail if disabling fails
  * Bluetooth: fix use-after-free error in lock_sock_nested()
      net/bluetooth/l2cap_sock.c
  * Bluetooth: sco: Fix lock_sock() blockage by memcpy_from_msg()
      net/bluetooth/sco.c
    USB: iowarrior: fix control-message timeouts
    USB: serial: keyspan: fix memleak on probe errors
    iio: dac: ad5446: Fix ad5622_write() return value
  * pinctrl: core: fix possible memory leak in pinctrl_enable()
      drivers/pinctrl/core.c
  * quota: correct error number in free_dqentry()
      fs/quota/quota_tree.c
  * quota: check block number when reading the block in quota file
      fs/quota/quota_tree.c
    PCI: aardvark: Read all 16-bits from PCIE_MSI_PAYLOAD_REG
    PCI: aardvark: Fix return value of MSI domain .alloc() method
    PCI: aardvark: Do not unmask unused interrupts
    PCI: aardvark: Do not clear status bits of masked interrupts
    xen/balloon: add late_initcall_sync() for initial ballooning done
    ALSA: mixer: fix deadlock in snd_mixer_oss_set_volume
    ALSA: mixer: oss: Fix racy access to slots
  * serial: core: Fix initializing and restoring termios speed
      drivers/tty/serial/serial_core.c
      include/linux/console.h
    powerpc/85xx: Fix oops when mpc85xx_smp_guts_ids node cannot be found
    power: supply: max17042_battery: use VFSOC for capacity when no rsns
    power: supply: max17042_battery: Prevent int underflow in set_soc_threshold
    signal/mips: Update (_save|_restore)_fp_context to fail with -EFAULT
  * signal: Remove the bogus sigkill_pending in ptrace_stop
      kernel/signal.c
    RDMA/qedr: Fix NULL deref for query_qp on the GSI QP
    wcn36xx: handle connection loss indication
    libata: fix checking of DMA state
    mwifiex: Read a PCI register after writing the TX ring write pointer
    wcn36xx: Fix HT40 capability for 2Ghz band
    evm: mark evm_fixmode as __ro_after_init
    rtl8187: fix control-message timeouts
  * PCI: Mark Atheros QCA6174 to avoid bus reset
      drivers/pci/quirks.c
    ath10k: fix division by zero in send path
    ath10k: fix control-message timeout
    ath6kl: fix control-message timeout
    ath6kl: fix division by zero in send path
    mwifiex: fix division by zero in fw download path
    EDAC/sb_edac: Fix top-of-high-memory value for Broadwell/Haswell
    regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default-dvs-idx property
    regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled
    hwmon: (pmbus/lm25066) Add offset coefficients
    btrfs: fix lost error handling when replaying directory deletes
    vmxnet3: do not stop tx queues after netif_device_detach()
    watchdog: Fix OMAP watchdog early handling
    spi: spl022: fix Microwire full duplex mode
    xen/netfront: stop tx queues during live migration
  * bpf: Prevent increasing bpf_jit_limit above max
      include/linux/filter.h
      kernel/bpf/core.c
      net/core/sysctl_net_core.c
  * mmc: winbond: don't build on M68K
      drivers/mmc/host/Kconfig
    hyperv/vmbus: include linux/bitops.h
    sfc: Don't use netif_info before net_device setup
    cavium: Fix return values of the probe function
    scsi: qla2xxx: Fix unmap of already freed sgl
    cavium: Return negative value when pci_alloc_irq_vectors() fails
    x86/irq: Ensure PI wakeup handler is unregistered before module unload
  * ALSA: timer: Unconditionally unlink slave instances, too
      sound/core/timer.c
  * ALSA: timer: Fix use-after-free problem
      sound/core/timer.c
    ALSA: synth: missing check for possible NULL after the call to kstrdup
    ALSA: line6: fix control and interrupt message timeouts
    ALSA: 6fire: fix control and bulk message timeouts
    ALSA: ua101: fix division by zero at probe
    media: ite-cir: IR receiver stop working after receive overflow
    tpm: Check for integer overflow in tpm2_map_response_body()
    parisc: Fix ptrace check on syscall return
    mmc: dw_mmc: Dont wait for DRTO on Write RSP error
    ocfs2: fix data corruption on truncate
    libata: fix read log timeout value
    Input: i8042 - Add quirk for Fujitsu Lifebook T725
    Input: elantench - fix misreporting trackpoint coordinates
  * binder: use cred instead of task for selinux checks
      drivers/android/binder.c
      include/linux/lsm_hooks.h
      include/linux/security.h
      security/security.c
      security/selinux/hooks.c
  * binder: use euid from cred instead of using task
      drivers/android/binder.c
  * xhci: Fix USB 3.1 enumeration issues by increasing roothub power-on-good delay
      drivers/usb/host/xhci-hub.c
  * ANDROID: usb: gadget: f_accessory: Mitgate handling of non-existent USB request
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: arm64: process: Match upstream formatting when dumping memory areas
      arch/arm64/kernel/process.c
  * FROMGIT: binder: fix test regression due to sender_euid change
      drivers/android/binder.c
  * BACKPORT: binder: use cred instead of task for selinux checks
      drivers/android/binder.c
      include/linux/lsm_hooks.h
      include/linux/security.h
      security/security.c
      security/selinux/hooks.c
  * UPSTREAM: binder: use euid from cred instead of using task
      drivers/android/binder.c
    Merge 4.14.255 into android-4.14-stable
Linux 4.14.255
    rsi: fix control-message timeout
    staging: rtl8192u: fix control-message timeouts
    staging: r8712u: fix control-message timeout
    comedi: vmk80xx: fix bulk and interrupt message timeouts
    comedi: vmk80xx: fix bulk-buffer overflow
    comedi: vmk80xx: fix transfer-buffer overflows
    comedi: ni_usb6501: fix NULL-deref in command paths
    comedi: dt9812: fix DMA buffers on stack
    isofs: Fix out of bound access for corrupted isofs image
  * printk/console: Allow to disable console output by using console="" or console=null
      kernel/printk/printk.c
  * usb-storage: Add compatibility quirk flags for iODD 2531/2541
      drivers/usb/storage/unusual_devs.h
    usb: musb: Balance list entry in musb_gadget_queue
  * usb: gadget: Mark USB_FSL_QE broken on 64-bit
      drivers/usb/gadget/udc/Kconfig
    Revert "x86/kvm: fix vcpu-id indexed array sizes"
  * block: introduce multi-page bvec helpers
      include/linux/bvec.h
    IB/qib: Protect from buffer overflow in struct qib_user_sdma_pkt fields
    IB/qib: Use struct_size() helper
  * ARM: 9120/1: Revert "amba: make use of -1 IRQs warn"
      drivers/amba/bus.c
  * arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where needed
      include/asm-generic/pgtable.h
  * mm/zsmalloc: Prepare to variable MAX_PHYSMEM_BITS
      mm/zsmalloc.c
    media: firewire: firedtv-avc: fix a buffer overflow in avc_ca_pmt()
  * scsi: core: Put LLD module refcnt after SCSI device is released
      drivers/scsi/scsi.c
      drivers/scsi/scsi_sysfs.c
  * UPSTREAM: security: selinux: allow per-file labeling for bpffs
      security/selinux/hooks.c

Bug: 210364486
Signed-off-by: JohnnLee <johnnlee@google.com>
Change-Id: I34320a77ca45e0f7d383820ce6b779c682200455
2022-01-04 06:14:00 +00:00
Peter Zijlstra
d9c4367a7e locking/lockdep: Avoid RCU-induced noinstr fail
[ Upstream commit ce0b9c805dd66d5e49fd53ec5415ae398f4c56e6 ]

vmlinux.o: warning: objtool: look_up_lock_class()+0xc7: call to rcu_read_lock_any_held() leaves .noinstr.text section

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20210624095148.311980536@infradead.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-11-26 11:40:26 +01:00
Lucas Wei
14ed7c48f3 Merge android-4.14-q (4.14.218) into android-msm-pixel-4.14-lts
Merge 4.14.218 into android-4.14-q
Linux 4.14.218
  * fs: fix lazytime expiration handling in __writeback_single_inode()
      fs/fs-writeback.c
  * writeback: Drop I_DIRTY_TIME_EXPIRE
      fs/ext4/inode.c
      fs/fs-writeback.c
      include/linux/fs.h
      include/trace/events/writeback.h
  * fs: move I_DIRTY_INODE to fs.h
      fs/ext4/inode.c
      fs/fs-writeback.c
      include/linux/fs.h
    x86/boot/compressed: Disable relocation relaxation
  * tracing: Fix race in trace_open and buffer resize call
      kernel/trace/ring_buffer.c
  * futex: Handle faults correctly for PI futexes
      kernel/futex.c
  * futex: Simplify fixup_pi_state_owner()
      kernel/futex.c
  * futex: Use pi_state_update_owner() in put_pi_state()
      kernel/futex.c
  * rtmutex: Remove unused argument from rt_mutex_proxy_unlock()
      kernel/futex.c
      kernel/locking/rtmutex.c
      kernel/locking/rtmutex_common.h
  * futex: Provide and use pi_state_update_owner()
      kernel/futex.c
  * futex: Replace pointless printk in fixup_owner()
      kernel/futex.c
  * futex: Ensure the correct return value from futex_lock_pi()
      kernel/futex.c
  * Revert "mm/slub: fix a memory leak in sysfs_slab_add()"
      mm/slub.c
    gpio: mvebu: fix pwm .get_state period calculation
  * futex: futex_wake_op, fix sign_extend32 sign bits
      kernel/futex.c
    net: dsa: b53: fix an off by one in checking "vlan->vid"
    net_sched: avoid shift-out-of-bounds in tcindex_set_parms()
  * ipv6: create multicast route with RTPROT_KERNEL
      net/ipv6/addrconf.c
  * udp: mask TOS bits in udp_v4_early_demux()
      net/ipv4/udp.c
  * skbuff: back tiny skbs with kmalloc() in __netdev_alloc_skb() too
      net/core/skbuff.c
    sh_eth: Fix power down vs. is_opened flag ordering
    sh: dma: fix kconfig dependency for G2_DMA
  * netfilter: rpfilter: mask ecn bits before fib lookup
      net/ipv4/netfilter/ipt_rpfilter.c
  * compiler.h: Raise minimum version of GCC to 5.1 for arm64
      include/linux/compiler-gcc.h
    xhci: tegra: Delay for disabling LFPS detector
  * xhci: make sure TRB is fully written before giving it to the controller
      drivers/usb/host/xhci-ring.c
  * usb: bdc: Make bdc pci driver depend on BROKEN
      drivers/usb/gadget/udc/bdc/Kconfig
  * usb: udc: core: Use lock when write to soft_connect
      drivers/usb/gadget/udc/core.c
  * USB: ehci: fix an interrupt calltrace error
      drivers/usb/host/ehci-hub.c
  * ehci: fix EHCI host controller initialization sequence
      drivers/usb/host/ehci-hcd.c
    stm class: Fix module init return on allocation failure
    intel_th: pci: Add Alder Lake-P support
    irqchip/mips-cpu: Set IPI domain parent chip
    iio: ad5504: Fix setting power-down state
    can: vxcan: vxcan_xmit: fix use after free bug
    can: dev: can_restart: fix use after free bug
    i2c: octeon: check correct size of maximum RECV_LEN packet
    drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields
    drm/nouveau/privring: ack interrupts the same way as RM
    drm/nouveau/bios: fix issue shadowing expansion ROMs
  * xen: Fix event channel callback via INTX/GSI
      include/xen/xenbus.h
  * scsi: ufs: Correct the LUN used in eh_device_reset_handler() callback
      drivers/scsi/ufs/ufshcd.c
    ASoC: Intel: haswell: Add missing pm_ops
  * drm/atomic: put state on error path
      drivers/gpu/drm/drm_atomic_helper.c
  * dm: avoid filesystem lookup in dm_get_dev_t()
      drivers/md/dm-table.c
    mmc: sdhci-xenon: fix 1.8v regulator stabilization
    ACPI: scan: Make acpi_bus_get_device() clear return pointer on error
    ALSA: hda/via: Add minimum mute flag
    ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info()
    i2c: bpmp-tegra: Ignore unknown I2C_M flags
    Merge 4.14.217 into android-4.14-q
Linux 4.14.217
    spi: cadence: cache reference clock rate during probe
  * net: ipv6: Validate GSO SKB before finish IPv6 processing
      net/ipv6/ip6_output.c
  * net: skbuff: disambiguate argument and member for skb_list_walk_safe helper
      include/linux/skbuff.h
  * net: introduce skb_list_walk_safe for skb segment walking
      include/linux/skbuff.h
  * net: use skb_list_del_init() to remove from RX sublists
      include/linux/skbuff.h
    tipc: fix NULL deref in tipc_link_xmit()
    rxrpc: Fix handling of an unsupported token type in rxrpc_read()
  * net: avoid 32 x truesize under-estimation for tiny skbs
      net/core/skbuff.c
  * net: sit: unregister_netdevice on newlink's error path
      net/ipv6/sit.c
    net: stmmac: Fixed mtu channged by cache aligned
    net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands
    net: dcb: Validate netlink message in DCB handler
  * esp: avoid unneeded kmap_atomic call
      net/ipv4/esp4.c
      net/ipv6/esp6.c
    rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request
    netxen_nic: fix MSI/MSI-x interrupts
    nfsd4: readdirplus shouldn't return parent of export
  * usb: ohci: Make distrust_firmware param default to false
      drivers/usb/host/ohci-hcd.c
  * netfilter: conntrack: fix reading nf_conntrack_buckets
      net/netfilter/nf_conntrack_standalone.c
    ALSA: fireface: Fix integer overflow in transmit_midi_msg()
    ALSA: firewire-tascam: Fix integer overflow in midi_port_work()
  * dm: eliminate potential source of excessive kernel log noise
      drivers/md/dm.c
    net: sunrpc: interpret the return value of kstrtou32 correctly
  * mm, slub: consider rest of partial list if acquire_slab() fails
      mm/slub.c
    RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp
  * ext4: fix superblock checksum failure when setting password salt
      fs/ext4/ioctl.c
    NFS: nfs_igrab_and_active must first reference the superblock
    pNFS: Mark layout for return if return-on-close was not sent
    NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock
    ASoC: Intel: fix error code cnl_set_dsp_D0()
  * dump_common_audit_data(): fix racy accesses to ->d_name
      security/lsm_audit.c
    ARM: picoxcell: fix missing interrupt-parent properties
  * ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI
      include/linux/acpi.h
    net: ethernet: fs_enet: Add missing MODULE_LICENSE
  * misdn: dsp: select CONFIG_BITREVERSE
      drivers/isdn/mISDN/Kconfig
  * arch/arc: add copy_user_page() to <asm/page.h> to fix build error on ARC
      arch/arc/include/asm/page.h
    ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram
    btrfs: fix transaction leak and crash after RO remount caused by qgroup rescan
    ARC: build: add boot_targets to PHONY
    ARC: build: add uImage.lzma to the top-level target
    ARC: build: remove non-existing bootpImage from KBUILD_IMAGE
  * ext4: fix bug for rename with RENAME_WHITEOUT
      fs/ext4/namei.c
  * r8152: Add Lenovo Powered USB-C Travel Hub
      drivers/net/usb/cdc_ether.c
      drivers/net/usb/r8152.c
  * dm snapshot: flush merged data before committing metadata
      drivers/md/dm-snap.c
    mm/hugetlb: fix potential missing huge page size info
    ACPI: scan: Harden acpi_device_add() against device ID overflows
    MIPS: relocatable: fix possible boot hangup with KASLR enabled
    MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB
  * ASoC: dapm: remove widget from dirty list on free
      sound/soc/soc-dapm.c
    Merge 4.14.216 into android-4.14-q
Linux 4.14.216
  * net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed packet
      net/core/skbuff.c
  * block: fix use-after-free in disk_part_iter_next
      block/genhd.c
    KVM: arm64: Don't access PMCR_EL0 when no PMU is available
  * wan: ds26522: select CONFIG_BITREVERSE
      drivers/net/wan/Kconfig
    net/mlx5e: Fix two double free cases
    net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups
    iommu/intel: Fix memleak in intel_irq_remapping_alloc
  * block: rsxx: select CONFIG_CRC32
      drivers/block/Kconfig
  * wil6210: select CONFIG_CRC32
      drivers/net/wireless/ath/wil6210/Kconfig
    dmaengine: xilinx_dma: fix mixed_enum_type coverity warning
    dmaengine: xilinx_dma: check dma_async_device_register return value
    spi: stm32: FIFO threshold level - fix align packet size
    cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get()
    i2c: sprd: use a specific timeout to avoid system hang up issue
    ARM: OMAP2+: omap_device: fix idling of devices during probe
    iio: imu: st_lsm6dsx: fix edge-trigger interrupts
    iio: imu: st_lsm6dsx: flip irq return logic
    spi: pxa2xx: Fix use-after-free on unbind
    ubifs: wbuf: Don't leak kernel memory to flash
    drm/i915: Fix mismatch between misplaced vma check and vma insert
  * vmlinux.lds.h: Add PGO and AutoFDO input sections
      include/asm-generic/vmlinux.lds.h
    x86/resctrl: Don't move a task to the same resource group
    x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR
  * net: fix pmtu check in nopmtudisc mode
      net/ipv4/ip_tunnel.c
  * net: ip: always refragment ip defragmented packets
      net/ipv4/ip_output.c
    net: vlan: avoid leaks on register_vlan_dev() failures
  * net: cdc_ncm: correct overhead in delayed_ndp_size
      drivers/net/usb/cdc_ncm.c
  * powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at
      arch/powerpc/include/asm/book3s/32/pgtable.h
      arch/powerpc/include/asm/nohash/pgtable.h
    ANDROID: cuttlefish_defconfig: add missing CONFIG_BLK_CGROUP
    Merge 4.14.215 into android-4.14-q
Linux 4.14.215
    scsi: target: Fix XCOPY NAA identifier lookup
  * KVM: x86: fix shift out of bounds reported by UBSAN
      arch/x86/kvm/mmu.h
    x86/mtrr: Correct the range check before performing MTRR type lookups
    netfilter: xt_RATEEST: reject non-null terminated string from userspace
    netfilter: ipset: fix shift-out-of-bounds in htable_bits()
  * Revert "device property: Keep secondary firmware node secondary by type"
      drivers/base/core.c
    ALSA: hda/realtek - Fix speaker volume control on Lenovo C940
    ALSA: hda/conexant: add a new hda codec CX11970
    x86/mm: Fix leak of pmd ptlock
    USB: serial: keyspan_pda: remove unused variable
  * usb: gadget: configfs: Fix use-after-free issue with udc_name
      drivers/usb/gadget/configfs.c
  * usb: gadget: configfs: Preserve function ordering after bind failure
      drivers/usb/gadget/configfs.c
  * usb: gadget: Fix spinlock lockup on usb_function_deactivate
      drivers/usb/gadget/composite.c
    USB: gadget: legacy: fix return error code in acm_ms_bind()
    usb: gadget: function: printer: Fix a memory leak for interface descriptor
    usb: gadget: f_uac2: reset wMaxPacketSize
  * usb: gadget: select CONFIG_CRC32
      drivers/usb/gadget/Kconfig
  * ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks
      sound/usb/midi.c
    USB: usblp: fix DMA to stack
    USB: yurex: fix control-URB timeout handling
    USB: serial: option: add Quectel EM160R-GL
    USB: serial: option: add LongSung M5710 module support
    USB: serial: iuu_phoenix: fix DMA from stack
    usb: uas: Add PNY USB Portable SSD to unusual_uas
    usb: usbip: vhci_hcd: protect shift size
  * USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set
      drivers/usb/host/xhci.c
    usb: chipidea: ci_hdrc_imx: add missing put_device() call in usbmisc_get_init_data()
  * usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion
      drivers/usb/dwc3/core.h
    USB: cdc-acm: blacklist another IR Droid device
  * usb: gadget: enable super speed plus
      drivers/usb/gadget/configfs.c
  * crypto: ecdh - avoid buffer overflow in ecdh_set_secret()
      crypto/ecdh.c
    video: hyperv_fb: Fix the mmap() regression for v5.4.y and older
    net: systemport: set dev->max_mtu to UMAC_MAX_MTU_SIZE
    net: mvpp2: Fix GoP port 3 Networking Complex Control configurations
  * net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc
      net/core/net-sysfs.c
  * net: sched: prevent invalid Scell_log shift count
      include/net/red.h
    vhost_net: fix ubuf refcount incorrectly when sendmsg fails
    net: usb: qmi_wwan: add Quectel EM160R-GL
  * CDC-NCM: remove "connected" log message
      drivers/net/usb/cdc_ncm.c
    net: hdlc_ppp: Fix issues when mod_timer is called while timer is running
    net: hns: fix return value check in __lb_other_process()
  * ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst()
      net/ipv4/fib_frontend.c
    net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered
  * net-sysfs: take the rtnl lock when storing xps_cpus
      net/core/net-sysfs.c
    net: ethernet: Fix memleak in ethoc_probe
    net/ncsi: Use real net-device for response handler
    virtio_net: Fix recursive call to cpus_read_lock()
    qede: fix offload for IPIP tunnel packets
    atm: idt77252: call pci_disable_device() on error path
    ethernet: ucc_geth: set dev->max_mtu to 1518
    ethernet: ucc_geth: fix use-after-free in ucc_geth_remove()
  * depmod: handle the case of /sbin/depmod without /sbin in PATH
      scripts/depmod.sh
  * lib/genalloc: fix the overflow when size is too big
      lib/genalloc.c
    scsi: ide: Do not set the RQF_PREEMPT flag for sense requests
    scsi: ufs-pci: Ensure UFS device is in PowerDown mode for suspend-to-disk ->poweroff()
  * workqueue: Kick a worker based on the actual activation of delayed works
      kernel/workqueue.c
  * kbuild: don't hardcode depmod path
      Makefile
    Merge 4.14.214 into android-4.14-q
Linux 4.14.214
    mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start
    iio:magnetometer:mag3110: Fix alignment and data leak issues.
    iio:imu:bmi160: Fix alignment and data leak issues
  * kdev_t: always inline major/minor helper functions
      include/linux/kdev_t.h
  * dm verity: skip verity work if I/O error when system is shutting down
      drivers/md/dm-verity-target.c
  * ALSA: pcm: Clear the full allocated memory at hw_params
      sound/core/pcm_native.c
  * module: delay kobject uevent until after module init call
      kernel/module.c
    powerpc: sysdev: add missing iounmap() on error in mpic_msgr_probe()
  * quota: Don't overflow quota file offsets
      fs/quota/quota_tree.c
  * module: set MODULE_STATE_GOING state when a module fails to load
      kernel/module.c
    rtc: sun6i: Fix memleak in sun6i_rtc_clk_init
    ALSA: seq: Use bool for snd_seq_queue internal flags
    media: gp8psk: initialize stats at power control logic
    misc: vmw_vmci: fix kernel info-leak by initializing dbells in vmci_ctx_get_chkpt_doorbells()
    reiserfs: add check for an invalid ih_entry_count
  * of: fix linker-section match-table corruption
      include/linux/of.h
  * uapi: move constants from <linux/kernel.h> to <linux/const.h>
      include/uapi/linux/const.h
      include/uapi/linux/ethtool.h
      include/uapi/linux/kernel.h
      include/uapi/linux/lightnvm.h
      include/uapi/linux/mroute6.h
      include/uapi/linux/netfilter/x_tables.h
      include/uapi/linux/netlink.h
      include/uapi/linux/sysctl.h
  * powerpc/bitops: Fix possible undefined behaviour with fls() and fls64()
      arch/powerpc/include/asm/bitops.h
    USB: serial: digi_acceleport: fix write-wakeup deadlocks
    s390/dasd: fix hanging device offline processing
    vfio/pci: Move dummy_resources_list init in vfio_pci_probe()
  * mm: memcontrol: fix excessive complexity in memory.stat reporting
      include/linux/memcontrol.h
  * mm: memcontrol: implement lruvec stat functions on top of each other
      include/linux/memcontrol.h
  * mm: memcontrol: eliminate raw access to stat and event counters
      include/linux/memcontrol.h
  * ALSA: usb-audio: fix sync-ep altsetting sanity check
      sound/usb/pcm.c
  * ALSA: usb-audio: simplify set_sync_ep_implicit_fb_quirk
      sound/usb/pcm.c
    ALSA: hda/ca0132 - Fix work handling in delayed HP detection
    md/raid10: initialize r10_bio->read_slot before use.
    x86/entry/64: Add instruction suffix
  * ANDROID: usb: f_accessory: Don't drop NULL reference in acc_disconnect()
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Avoid bitfields for shared variables
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Cancel any pending work before teardown
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Don't corrupt global state on double registration
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Fix teardown ordering in acc_release()
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Add refcounting to global 'acc_dev'
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Wrap '_acc_dev' in get()/put() accessors
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Remove useless assignment
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Remove useless non-debug prints
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Remove stale comments
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: USB: f_accessory: Check dev pointer before decoding ctrl request
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: gadget: f_accessory: fix CTS test stuck
      drivers/usb/gadget/function/f_accessory.c
    Merge 4.14.213 into android-4.14-q
Linux 4.14.213
  * PCI: Fix pci_slot_release() NULL pointer dereference
      drivers/pci/slot.c
    libnvdimm/namespace: Fix reaping of invalidated block-window-namespace labels
    xenbus/xenbus_backend: Disallow pending watch messages
  * xen/xenbus: Count pending messages for each watch
      include/xen/xenbus.h
    xen/xenbus/xen_bus_type: Support will_handle watch callback
  * xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path()
      include/xen/xenbus.h
  * xen/xenbus: Allow watches discard events before queueing
      include/xen/xenbus.h
    xen-blkback: set ring->xenblkd to NULL after kthread_stop()
    clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9
    md/cluster: fix deadlock when node is doing resync job
    iio:imu:bmi160: Fix too large a buffer.
    iio:pressure:mpl3115: Force alignment of buffer
    iio:light:rpr0521: Fix timestamp alignment and prevent data leak.
    iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume
    iio: buffer: Fix demux update
    mtd: parser: cmdline: Fix parsing of part-names with colons
  * soc: qcom: smp2p: Safely acquire spinlock without IRQs
      drivers/soc/qcom/smp2p.c
    spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path
    spi: sc18is602: Don't leak SPI master in probe error path
    spi: rb4xx: Don't leak SPI master in probe error path
    spi: pic32: Don't leak DMA channels in probe error path
    spi: davinci: Fix use-after-free on unbind
    spi: spi-sh: Fix use-after-free on unbind
    drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor()
    jfs: Fix array index bounds check in dbAdjTree
    jffs2: Fix GC exit abnormally
    ceph: fix race in concurrent __ceph_remove_cap invocations
    ima: Don't modify file descriptor mode on the fly
    powerpc/powernv/memtrace: Don't leak kernel memory to user space
    powerpc/xmon: Change printk() to pr_cont()
    powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter
    ARM: dts: at91: sama5d2: fix CAN message ram offset and size
  * KVM: arm64: Introduce handling of AArch32 TTBCR2 traps
      arch/arm64/include/asm/kvm_host.h
  * ext4: fix deadlock with fs freezing and EA inodes
      fs/ext4/inode.c
  * ext4: fix a memory leak of ext4_free_data
      fs/ext4/mballoc.c
    btrfs: fix return value mixup in btrfs_get_extent
    Btrfs: fix selftests failure due to uninitialized i_mode in test inodes
    USB: serial: keyspan_pda: fix write unthrottling
    USB: serial: keyspan_pda: fix tx-unthrottle use-after-free
    USB: serial: keyspan_pda: fix write-wakeup use-after-free
    USB: serial: keyspan_pda: fix stalled writes
    USB: serial: keyspan_pda: fix write deadlock
    USB: serial: keyspan_pda: fix dropped unthrottle interrupts
    USB: serial: mos7720: fix parallel-port state restore
    EDAC/amd64: Fix PCI component registration
  * crypto: ecdh - avoid unaligned accesses in ecdh_set_secret()
      crypto/ecdh.c
    powerpc/perf: Exclude kernel samples while counting events in user space.
    staging: comedi: mf6x4: Fix AI end-of-conversion detection
    s390/dasd: fix list corruption of lcu list
    s390/dasd: fix list corruption of pavgroup group list
    s390/dasd: prevent inconsistent LCU device data
    s390/smp: perform initial CPU reset also for SMT siblings
  * ALSA: usb-audio: Disable sample read check if firmware doesn't give back
      sound/usb/clock.c
    ALSA: pcm: oss: Fix a few more UBSAN fixes
    ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255
    ACPI: PNP: compare the string length in the matching_id()
    Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks"
  * PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup()
      include/acpi/acpi_bus.h
    Input: cyapa_gen6 - fix out-of-bounds stack access
    media: netup_unidvb: Don't leak SPI master in probe error path
    media: sunxi-cir: ensure IR is handled when it is continuous
  * media: gspca: Fix memory leak in probe
      drivers/media/usb/gspca/gspca.c
    Input: goodix - add upside-down quirk for Teclast X98 Pro tablet
    Input: cros_ec_keyb - send 'scancodes' in addition to key events
  * fix namespaced fscaps when !CONFIG_SECURITY
      include/linux/security.h
  * cfg80211: initialize rekey_data
      net/wireless/nl80211.c
    clk: sunxi-ng: Make sure divider tables have sentinel
    clk: s2mps11: Fix a resource leak in error handling paths in the probe function
    qlcnic: Fix error code in probe
    perf record: Fix memory leak when using '--user-regs=?' to list registers
    pwm: lp3943: Dynamically allocate PWM chip base
    pwm: zx: Add missing cleanup in error path
    clk: ti: Fix memleak in ti_fapll_synth_setup
  * watchdog: coh901327: add COMMON_CLK dependency
      drivers/watchdog/Kconfig
    watchdog: qcom: Avoid context switch in restart handler
    net: korina: fix return value
    net: allwinner: Fix some resources leak in the error handling path of the probe and in the remove function
    net: bcmgenet: Fix a resource leak in an error handling path in the probe functin
    checkpatch: fix unescaped left brace
    powerpc/ps3: use dma_mapping_error()
    nfc: s3fwrn5: Release the nfc firmware
    um: chan_xterm: Fix fd leak
  * watchdog: sirfsoc: Add missing dependency on HAS_IOMEM
      drivers/watchdog/Kconfig
    irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
  * ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control()
      sound/soc/codecs/wm_adsp.c
    extcon: max77693: Fix modalias string
    clk: tegra: Fix duplicated SE clock entry
    x86/kprobes: Restore BTF if the single-stepping is cancelled
    nfs_common: need lock during iterate through the list
    nfsd: Fix message level for normal termination
    speakup: fix uninitialized flush_lock
    usb: oxu210hp-hcd: Fix memory leak in oxu_create
    usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe
    powerpc/pseries/hibernation: remove redundant cacheinfo update
    powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops
    scsi: fnic: Fix error return code in fnic_probe()
  * seq_buf: Avoid type mismatch for seq_buf_init
      include/linux/seq_buf.h
      include/linux/trace_seq.h
    scsi: pm80xx: Fix error return in pm8001_pci_probe()
    scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe
    cpufreq: scpi: Add missing MODULE_ALIAS
    cpufreq: loongson1: Add missing MODULE_ALIAS
    cpufreq: st: Add missing MODULE_DEVICE_TABLE
    cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE
    cpufreq: highbank: Add missing MODULE_DEVICE_TABLE
  * clocksource/drivers/arm_arch_timer: Correct fault programming of CNTKCTL_EL1.EVNTI
      drivers/clocksource/arm_arch_timer.c
  * dm ioctl: fix error return code in target_message
      drivers/md/dm-ioctl.c
    ASoC: jz4740-i2s: add missed checks for clk_get()
    net/mlx5: Properly convey driver version to firmware
    memstick: r592: Fix error return in r592_probe()
    arm64: dts: rockchip: Fix UART pull-ups on rk3328
    pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe()
    ARM: dts: at91: sama5d2: map securam as device
    clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent()
    media: saa7146: fix array overflow in vidioc_s_audio()
    vfio-pci: Use io_remap_pfn_range() for PCI IO memory
    NFS: switch nfsiod to be an UNBOUND workqueue.
    lockd: don't use interval-based rebinding over TCP
  * SUNRPC: xprt_load_transport() needs to support the netid "rdma6"
      include/linux/sunrpc/xprt.h
    NFSv4.2: condition READDIR's mask for security label based on LSM state
    ath10k: Release some resources in an error handling path
    ath10k: Fix an error handling path
    ARM: dts: at91: at91sam9rl: fix ADC triggers
    PCI: iproc: Fix out-of-bound array accesses
  * genirq/irqdomain: Don't try to free an interrupt that has no mapping
      kernel/irq/irqdomain.c
    power: supply: bq24190_charger: fix reference leak
    ARM: dts: Remove non-existent i2c1 from 98dx3236
    HSI: omap_ssi: Don't jump to free ID in ssi_add_controller()
    media: max2175: fix max2175_set_csm_mode() error code
    mips: cdmm: fix use-after-free in mips_cdmm_bus_discover
    samples: bpf: Fix lwt_len_hist reusing previous BPF map
    media: siano: fix memory leak of debugfs members in smsdvb_hotplug
    cw1200: fix missing destroy_workqueue() on error in cw1200_init_common
    orinoco: Move context allocation after processing the skb
    ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host
    ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host
    memstick: fix a double-free bug in memstick_check
    RDMA/cxgb4: Validate the number of CQEs
    Input: omap4-keypad - fix runtime PM error handling
    drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe
    soc: ti: Fix reference imbalance in knav_dma_probe
    soc: ti: knav_qmss: fix reference leak in knav_queue_probe
    crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe
  * powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32
      arch/powerpc/include/asm/cputable.h
    Input: ads7846 - fix unaligned access on 7845
    Input: ads7846 - fix integer overflow on Rt calculation
    Input: ads7846 - fix race that causes missing releases
    drm/omap: dmm_tiler: fix return error code in omap_dmm_probe()
    media: solo6x10: fix missing snd_card_free in error handling case
  * scsi: core: Fix VPD LUN ID designator priorities
      drivers/scsi/scsi_lib.c
    media: mtk-vcodec: add missing put_device() call in mtk_vcodec_release_dec_pm()
    staging: greybus: codecs: Fix reference counter leak in error handling
    MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA
    RDMa/mthca: Work around -Wenum-conversion warning
    ASoC: arizona: Fix a wrong free in wm8997_probe
    ASoC: wm8998: Fix PM disable depth imbalance on error
    mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure
    spi: tegra114: fix reference leak in tegra spi ops
    spi: tegra20-sflash: fix reference leak in tegra_sflash_resume
    spi: tegra20-slink: fix reference leak in slink ops of tegra20
    spi: spi-ti-qspi: fix reference leak in ti_qspi_setup
  * Bluetooth: Fix null pointer dereference in hci_event_packet()
      net/bluetooth/hci_event.c
    arm64: dts: exynos: Correct psci compatible used on Exynos7
  * selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling
      security/selinux/hooks.c
  * ASoC: pcm: DRAIN support reactivation
      sound/soc/soc-pcm.c
    spi: img-spfi: fix reference leak in img_spfi_resume
    crypto: talitos - Fix return type of current_desc_hdr()
  * sched: Reenable interrupts in do_sched_yield()
      kernel/sched/core.c
  * sched/deadline: Fix sched_dl_global_validate()
      kernel/sched/deadline.c
      kernel/sched/sched.h
    ARM: p2v: fix handling of LPAE translation in BE mode
    x86/mm/ident_map: Check for errors from ident_pud_init()
    RDMA/rxe: Compute PSN windows correctly
  * selinux: fix error initialization in inode_doinit_with_dentry()
      security/selinux/hooks.c
    RDMA/bnxt_re: Set queue pair state when being queried
    soc: mediatek: Check if power domains can be powered on at boot time
    soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains()
    drm/gma500: fix double free of gma_connector
  * Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt()
      net/bluetooth/hci_event.c
    md: fix a warning caused by a race between concurrent md_ioctl()s
  * crypto: af_alg - avoid undefined behavior accessing salg_name
      include/uapi/linux/if_alg.h
    media: msi2500: assign SPI bus number dynamically
  * quota: Sanity-check quota file headers on load
      fs/quota/quota_v2.c
  * serial_core: Check for port state when tty is in error state
      drivers/tty/serial/serial_core.c
    HID: i2c-hid: add Vero K147 to descriptor override
    ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU
    ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on Exynos5410
    ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU
    usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul
    USB: gadget: f_rndis: fix bitrate for SuperSpeed and above
  * usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus
      drivers/usb/gadget/function/f_fs.c
  * USB: gadget: f_midi: setup SuperSpeed Plus descriptors
      drivers/usb/gadget/function/f_midi.c
    USB: gadget: f_acm: add support for SuperSpeed Plus
    USB: serial: option: add interface-number sanity check to flag handling
    soc/tegra: fuse: Fix index bug in get_process_id
  * dm table: Remove BUG_ON(in_interrupt())
      drivers/md/dm-table.c
    scsi: mpt3sas: Increase IOCInit request timeout to 30s
    vxlan: Copy needed_tailroom from lowerdev
    vxlan: Add needed_headroom for lower device
    drm/tegra: sor: Disable clocks on error in tegra_sor_init()
  * kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling
      kernel/cpu.c
    RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait
    can: softing: softing_netdev_open(): fix error handling
  * scsi: bnx2i: Requires MMU
      drivers/scsi/bnx2i/Kconfig
    gpio: mvebu: fix potential user-after-free on probe
    ARM: dts: sun8i: v3s: fix GIC node memory range
    pinctrl: baytrail: Avoid clearing debounce value when turning it off
    pinctrl: merrifield: Set default bias in case no particular value given
  * drm: fix drm_dp_mst_port refcount leaks in drm_dp_mst_allocate_vcpi
      drivers/gpu/drm/drm_dp_mst_topology.c
    serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access
    ALSA: pcm: oss: Fix potential out-of-bounds shift
  * USB: sisusbvga: Make console support depend on BROKEN
      drivers/usb/misc/sisusbvga/Kconfig
  * USB: UAS: introduce a quirk to set no_write_same
      drivers/usb/storage/usb.c
      include/linux/usb_usual.h
  * xhci: Give USB2 ports time to enter U3 in bus suspend
      drivers/usb/host/xhci-hub.c
  * ALSA: usb-audio: Fix control 'access overflow' errors from chmap
      sound/usb/stream.c
  * ALSA: usb-audio: Fix potential out-of-bounds shift
      sound/usb/format.c
  * USB: add RESET_RESUME quirk for Snapscan 1212
      drivers/usb/core/quirks.c
    USB: dummy-hcd: Fix uninitialized array use in init()
    mac80211: mesh: fix mesh_pathtbl_init() error path
    net: bridge: vlan: fix error return code in __vlan_add()
    net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux
    net: stmmac: delete the eee_ctrl_timer after napi disabled
    net/mlx4_en: Handle TX error CQE
    net/mlx4_en: Avoid scheduling restart task if it is already running
  * tcp: fix cwnd-limited bug for TSO deferral where we send nothing
      net/ipv4/tcp_output.c
    net: stmmac: free tx skb buffer in stmmac_resume()
    PCI: qcom: Add missing reset for ipq806x
  * x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP
      arch/x86/include/asm/pgtable_types.h
    scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()"
  * kbuild: avoid static_assert for genksyms
      include/linux/build_bug.h
    pinctrl: amd: remove debounce filter setting in IRQ type setting
    Input: i8042 - add Acer laptops to the i8042 reset list
    Input: cm109 - do not stomp on control URB
    platform/x86: acer-wmi: add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE
    soc: fsl: dpio: Get the cpumask through cpumask_of(cpu)
  * scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE
      drivers/scsi/ufs/ufshcd.c
    ARC: stack unwinding: don't assume non-current task is sleeping
    iwlwifi: mvm: fix kernel panic in case of assert during CSA
    arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards.
    iwlwifi: pcie: limit memory read spin time
    spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe
    spi: bcm2835aux: Fix use-after-free on unbind

Bug: 180663378
Change-Id: Idee3af71ad1ba834e9d8ee29090386017d40028e
Signed-off-by: Lucas Wei <lucaswei@google.com>
2021-02-26 11:17:11 +08:00
Thomas Gleixner
348a99a76b rtmutex: Remove unused argument from rt_mutex_proxy_unlock()
commit 2156ac1934166d6deb6cd0f6ffc4c1076ec63697 upstream

Nothing uses the argument. Remove it as preparation to use
pi_state_update_owner().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-30 13:31:16 +01:00
lucaswei
12fe94ef98 Merge android-4.14-q (4.14.199) into android-msm-pixel-4.14-lts
Merge 4.14.199 into android-4.14-q
Linux 4.14.199
    x86/defconfig: Enable CONFIG_USB_XHCI_HCD=y
    powerpc/dma: Fix dma_map_ops::get_required_mask
  * ehci-hcd: Move include to keep CRC stable
      drivers/usb/host/ehci-hcd.c
      drivers/usb/host/ehci-hub.c
    serial: 8250_pci: Add Realtek 816a and 816b
    Input: i8042 - add Entroware Proteus EL07R4 to nomux and reset lists
    Input: trackpoint - add new trackpoint variant IDs
  * percpu: fix first chunk size calculation for populated bitmap
      mm/percpu.c
    i2c: i801: Fix resume bug
    usblp: fix race between disconnect() and read()
    USB: UAS: fix disconnect by unplugging a hub
  * USB: quirks: Add USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk for BYD zhaoxin notebook
      drivers/usb/core/quirks.c
    drm/mediatek: Add missing put_device() call in mtk_hdmi_dt_parse_pdata()
    drm/mediatek: Add exception handing in mtk_drm_probe() if component init fail
    MIPS: SNI: Fix spurious interrupts
    fbcon: Fix user font detection test at fbcon_resize().
    perf test: Free formats for perf pmu parse test
    MIPS: SNI: Fix MIPS_L1_CACHE_SHIFT
    Drivers: hv: vmbus: Add timeout to vmbus_wait_for_unload
    clk: rockchip: Fix initialization of mux_pll_src_4plls_p
  * KVM: MIPS: Change the definition of kvm type
      include/uapi/linux/kvm.h
  * spi: Fix memory leak on splited transfers
      drivers/spi/spi.c
  * i2c: algo: pca: Reapply i2c bus settings after reset
      include/linux/i2c-algo-pca.h
  * f2fs: fix indefinite loop scanning for free nid
      fs/f2fs/node.c
    nvme-fc: cancel async events before freeing event struct
    rapidio: Replace 'select' DMAENGINES 'with depends on'
    SUNRPC: stop printk reading past end of string
    spi: spi-loopback-test: Fix out-of-bounds read
    scsi: lpfc: Fix FLOGI/PLOGI receive race condition in pt2pt discovery
    scsi: libfc: Fix for double free()
    scsi: pm8001: Fix memleak in pm8001_exec_internal_task_abort
    NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall
    hv_netvsc: Remove "unlikely" from netvsc_select_queue
  * net: handle the return value of pskb_carve_frag_list() correctly
      net/core/skbuff.c
    gfs2: initialize transaction tr_ailX_lists earlier
  * gcov: add support for GCC 10.1
      kernel/gcov/Kconfig
    usb: typec: ucsi: acpi: Check the _DEP dependencies
  * usb: Fix out of sync data toggle if a configured device is reconfigured
      drivers/usb/core/message.c
    USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules
    USB: serial: option: support dynamic Quectel USB compositions
    USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter
  * usb: core: fix slab-out-of-bounds Read in read_descriptors
      drivers/usb/core/sysfs.c
    staging: greybus: audio: fix uninitialized value issue
    video: fbdev: fix OOB read in vga_8planes_imageblit()
    ARM: dts: vfxxx: Add syscon compatible with OCOTP
    KVM: VMX: Don't freeze guest when event delivery causes an APIC-access exit
  * vgacon: remove software scrollback support
      drivers/video/console/Kconfig
    fbcon: remove now unusued 'softback_lines' cursor() argument
    fbcon: remove soft scrollback code
    RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars
    rbd: require global CAP_SYS_ADMIN for mapping and unmapping
    scsi: target: iscsi: Fix hang in iscsit_access_np() when getting tpg->np_login_sem
    scsi: target: iscsi: Fix data digest calculation
  * regulator: push allocation in set_consumer_device_supply() out of lock
      drivers/regulator/core.c
    btrfs: fix wrong address when faulting in pages in the search ioctl
    btrfs: fix lockdep splat in add_missing_dev
    btrfs: require only sector size alignment for parent eb bytenr
    staging: wlan-ng: fix out of bounds read in prism2sta_probe_usb()
    iio:accel:mma8452: Fix timestamp alignment and prevent data leak.
    iio:accel:mma7455: Fix timestamp alignment and prevent data leak.
    iio: accel: kxsd9: Fix alignment of local buffer.
    iio:chemical:ccs811: Fix timestamp alignment and prevent data leak.
    iio:light:max44000 Fix timestamp alignment and prevent data leak.
    iio:magnetometer:ak8975 Fix alignment and data leak issues.
    iio:adc:ti-adc081c Fix alignment and data leak issues
    iio:adc:max1118 Fix alignment of timestamp and data leak issues
    iio:adc:ina2xx Fix timestamp alignment issue.
    iio:adc:ti-adc084s021 Fix alignment and data leak issues.
    iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak.
    iio:light:ltr501 Fix timestamp alignment issue.
    iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set
    iio: adc: mcp3422: fix locking on error path
    iio: adc: mcp3422: fix locking scope
  * gcov: Disable gcov build with GCC 10
      kernel/gcov/Kconfig
    ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled
    cpufreq: intel_pstate: Refuse to turn off with HWP enabled
    ARC: [plat-hsdk]: Switch ethernet phy-mode to rgmii-id
    drivers/net/wan/hdlc_cisco: Add hard_header_len
  * irqchip/eznps: Fix build error for !ARC700 builds
      arch/arc/plat-eznps/include/plat/ctop.h
      include/soc/nps/common.h
    xfs: initialize the shortform attr header padding entry
    drivers/net/wan/lapbether: Set network_header before transmitting
    ALSA: hda: Fix 2 channel swapping for Tegra
    firestream: Fix memleak in fs_open
    NFC: st95hf: Fix memleak in st95hf_in_send_cmd
    drivers/net/wan/lapbether: Added needed_tailroom
    dmaengine: acpi: Put the CSRT table after using it
    ARC: HSDK: wireup perf irq
    arm64: dts: ns2: Fixed QSPI compatible string
    ARM: dts: BCM5301X: Fixed QSPI compatible string
    mmc: sdhci-msm: Add retries when all tuning phases are found valid
    RDMA/core: Fix reported speed and width
    scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA
    RDMA/rxe: Drop pointless checks in rxe_init_ports
    RDMA/rxe: Fix memleak in rxe_mem_init_user
    ARM: dts: socfpga: fix register entry for timer3 on Arria10
  * ANDROID: Fix mismerge of f2fs into android-4.14-q
      fs/f2fs/super.c
    Merge 4.14.198 into android-4.14-q
Linux 4.14.198
  * net: disable netpoll on fresh napis
      net/core/dev.c
    tipc: fix shutdown() of connectionless socket
  * sctp: not disable bh in the whole sctp_get_port_local()
      net/sctp/socket.c
    net: usb: dm9601: Add USB ID of Keenetic Plus DSL
  * netlabel: fix problems with mapping removal
      net/netlabel/netlabel_domainhash.c
    bnxt: don't enable NAPI until rings are ready
    vfio/pci: Fix SR-IOV VF handling with MMIO blocking
    vfio-pci: Invalidate mmaps and block MMIO access on disabled memory
    vfio-pci: Fault mmaps to enable vma tracking
    vfio/type1: Support faulting PFNMAP vmas
  * block: ensure bdi->io_pages is always initialized
      block/blk-core.c
    ALSA; firewire-tascam: exclude Tascam FE-8 from detection
    Merge 4.14.197 into android-4.14-q
Linux 4.14.197
  * net: usb: Fix uninit-was-stored issue in asix_read_phy_addr()
      drivers/net/usb/asix_common.c
  * cfg80211: regulatory: reject invalid hints
      net/wireless/reg.c
    mm/hugetlb: fix a race between hugetlb sysctl handlers
    checkpatch: fix the usage of capture group ( ... )
  * KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception
      arch/arm64/include/asm/kvm_arm.h
  * KVM: arm64: Survive synchronous exceptions caused by AT instructions
      arch/arm64/include/asm/kvm_asm.h
    KVM: arm64: Defer guest entry when an asynchronous exception is pending
  * KVM: arm64: Add kvm_extable for vaxorcism code
      arch/arm64/include/asm/kvm_asm.h
      arch/arm64/kernel/vmlinux.lds.S
  * mm: slub: fix conversion of freelist_corrupted()
      mm/slub.c
    dm thin metadata: Avoid returning cmd->bm wild pointer on error
    dm cache metadata: Avoid returning cmd->bm wild pointer on error
  * libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks
      include/linux/libata.h
  * block: Move SECTOR_SIZE and SECTOR_SHIFT definitions into <linux/blkdev.h>
      drivers/block/brd.c
      drivers/block/zram/zram_drv.h
      include/linux/blkdev.h
      include/linux/device-mapper.h
      include/linux/ide.h
      include/uapi/linux/msdos_fs.h
  * block: allow for_each_bvec to support zero len bvec
      include/linux/bvec.h
    affs: fix basic permission bits to actually work
    ALSA: firewire-digi00x: exclude Avid Adrenaline from detection
    ALSA: hda/hdmi: always check pin power status in i915 pin fixup
    ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check
    ALSA: ca0106: fix error code handling
    usb: qmi_wwan: add D-Link DWM-222 A2 device ID
    net: usb: qmi_wwan: add Telit 0x1050 composition
    btrfs: fix potential deadlock in the search ioctl
  * uaccess: Add non-pagefault user-space write function
      include/linux/uaccess.h
      mm/maccess.c
  * uaccess: Add non-pagefault user-space read functions
      include/linux/uaccess.h
      mm/maccess.c
    btrfs: set the lockdep class for log tree extent buffers
    btrfs: Remove extraneous extent_buffer_get from tree_mod_log_rewind
    btrfs: Remove redundant extent_buffer_get in get_old_root
    btrfs: drop path before adding new uuid tree entry
  * include/linux/log2.h: add missing () around n in roundup_pow_of_two()
      include/linux/log2.h
    thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430
    iommu/vt-d: Serialize IOMMU GCMD register modifications
    tg3: Fix soft lockup when tg3_reset_task() fails.
  * fix regression in "epoll: Keep a reference on files added to the check list"
      fs/eventpoll.c
    net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init()
    perf tools: Correct SNOOPX field offset
    nvmet-fc: Fix a missed _irqsave version of spin_lock in 'nvmet_fc_fod_op_done()'
    bnxt_en: Fix PCI AER error recovery flow
    bnxt_en: Check for zero dir entries in NVRAM.
    gtp: add GTPA_LINK info to msg sent to userspace
    dmaengine: pl330: Fix burst length if burst size is smaller than bus width
    net: arc_emac: Fix memleak in arc_mdio_probe
    ravb: Fixed to be able to unload modules
    net: systemport: Fix memleak in bcm_sysport_probe
    net: hns: Fix memleak in hns_nic_dev_probe
  * netfilter: nf_tables: fix destination register zeroing
      include/net/netfilter/nf_tables.h
  * netfilter: nf_tables: incorrect enum nft_list_attributes definition
      include/uapi/linux/netfilter/nf_tables.h
    netfilter: nf_tables: add NFTA_SET_USERDATA if not null
    MIPS: BMIPS: Also call bmips_cpu_setup() for secondary cores
    MIPS: mm: BMIPS5000 has inclusive physical caches
    dmaengine: at_hdmac: check return value of of_find_device_by_node() in at_dma_xlate()
    batman-adv: bla: use netif_rx_ni when not in interrupt context
    batman-adv: Fix own OGM check in aggregated OGMs
    batman-adv: Avoid uninitialized chaddr when handling DHCP
  * dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling
      drivers/dma/of-dma.c
    xen/xenbus: Fix granting of vmalloc'd memory
  * s390: don't trace preemption in percpu macros
      arch/s390/include/asm/percpu.h
  * cpuidle: Fixup IRQ state
      drivers/cpuidle/cpuidle.c
    ceph: don't allow setlease on cephfs
    nvmet: Disable keep-alive timer when kato is cleared to 0h
    hwmon: (applesmc) check status earlier.
  * drm/msm: add shutdown support for display platform_driver
      drivers/gpu/drm/msm/msm_drv.c
    perf record/stat: Explicitly call out event modifiers in the documentation
  * HID: core: Sanitize event code and type when mapping input
      drivers/hid/hid-input.c
      drivers/hid/hid-multitouch.c
      include/linux/hid.h
  * HID: core: Correctly handle ReportSize being zero
      drivers/hid/hid-core.c
  * ANDROID: overflow.h: fix merge issue with 4.14.196
      include/linux/overflow.h
    Merge 4.14.196 into android-4.14-q
Linux 4.14.196
  * ALSA: usb-audio: Update documentation comment for MS2109 quirk
      sound/usb/quirks-table.h
  * HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage()
      drivers/hid/usbhid/hiddev.c
    tpm: Unify the mismatching TPM space buffer sizes
    btrfs: check the right error variable in btrfs_del_dir_entries_in_log
    usb: storage: Add unusual_uas entry for Sony PSZ drives
    USB: cdc-acm: rework notification_buffer resizing
  * USB: gadget: u_f: Unbreak offset calculation in VLAs
      drivers/usb/gadget/u_f.h
  * USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb()
      drivers/usb/gadget/function/f_ncm.c
  * USB: gadget: u_f: add overflow checks to VLA macros
      drivers/usb/gadget/u_f.h
  * overflow.h: Add allocation size calculation helpers
      drivers/md/dm-table.c
      include/linux/overflow.h
    usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe()
  * USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge
      drivers/usb/storage/unusual_devs.h
  * USB: quirks: Add no-lpm quirk for another Raydium touchscreen
      drivers/usb/core/quirks.c
    usb: uas: Add quirk for PNY Pro Elite
    USB: yurex: Fix bad gfp argument
    drm/amdgpu: Fix buffer overflow in INFO ioctl
  * device property: Fix the secondary firmware node handling in set_primary_fwnode()
      drivers/base/core.c
  * PM: sleep: core: Fix the handling of pending runtime resume requests
      drivers/base/power/main.c
  * xhci: Do warm-reset when both CAS and XDEV_RESUME are set
      drivers/usb/host/xhci-hub.c
    XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN data pointer which contains XEN specific information.
  * writeback: Fix sync livelock due to b_dirty_time processing
      fs/fs-writeback.c
      include/trace/events/writeback.h
  * writeback: Avoid skipping inode writeback
      fs/fs-writeback.c
      include/linux/fs.h
  * writeback: Protect inode->i_io_list with inode->i_lock
      fs/fs-writeback.c
    serial: 8250: change lock order in serial8250_do_startup()
    serial: 8250_exar: Fix number of ports for Commtech PCIe cards
    serial: pl011: Don't leak amba_ports entry on driver register error
    serial: pl011: Fix oops on -EPROBE_DEFER
    serial: samsung: Removes the IRQ not found warning
    vt_ioctl: change VT_RESIZEX ioctl to check for error return from vc_resize()
    vt: defer kfree() of vc_screenbuf in vc_do_resize()
  * USB: lvtest: return proper error code in probe
      drivers/usb/misc/lvstest.c
    fbcon: prevent user font height or width change from causing potential out-of-bounds access
    btrfs: fix space cache memory leak after transaction abort
    HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands
    powerpc/perf: Fix soft lockups due to missed interrupt accounting
    net: gianfar: Add of_node_put() before goto statement
  * scsi: ufs: Clean up completed request without interrupt notification
      drivers/scsi/ufs/ufshcd.c
  * scsi: ufs: Improve interrupt handling for shared interrupts
      drivers/scsi/ufs/ufshcd.c
  * scsi: ufs: Fix possible infinite loop in ufshcd_hold
      drivers/scsi/ufs/ufshcd.c
    s390/cio: add cond_resched() in the slow_eval_known_fn() loop
    spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate
  * fs: prevent BUG_ON in submit_bh_wbc()
      fs/buffer.c
      fs/ext4/super.c
  * jbd2: abort journal if free a async write error metadata buffer
      fs/jbd2/transaction.c
  * ext4: don't BUG on inconsistent journal feature
      fs/ext4/super.c
  * jbd2: make sure jh have b_transaction set in refile/unfile_buffer
      fs/jbd2/transaction.c
    usb: gadget: f_tcm: Fix some resource leaks in some error paths
    i2c: rcar: in slave mode, clear NACK earlier
    null_blk: fix passing of REQ_FUA flag in null_handle_rq
    nvme-fc: Fix wrong return value in __nvme_fc_init_request()
    media: gpio-ir-tx: improve precision of transmitted signal due to scheduling
    Revert "ath10k: fix DMA related firmware crashes on multiple devices"
  * efi: provide empty efi_enter_virtual_mode implementation
      include/linux/efi.h
    USB: sisusbvga: Fix a potential UB casued by left shifting a negative value
    powerpc/spufs: add CONFIG_COREDUMP dependency
    KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe
    media: davinci: vpif_capture: fix potential double free
    EDAC/ie31200: Fallback if host bridge device is already initialized
    scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del()
    ceph: fix potential mdsc use-after-free crash
    scsi: iscsi: Do not put host in iscsi_set_flashnode_param()
    locking/lockdep: Fix overflow in presentation of average lock-time
    drm/nouveau: Fix reference count leak in nouveau_connector_detect
    drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open
  * f2fs: fix use-after-free issue
      fs/f2fs/super.c
    cec-api: prevent leaking memory through hole in structure
    mips/vdso: Fix resource leaks in genvdso.c
    rtlwifi: rtl8192cu: Prevent leaking urb
  * PCI: Fix pci_create_slot() reference count leak
      drivers/pci/slot.c
    omapfb: fix multiple reference count leaks due to pm_runtime_get_sync
    selftests/powerpc: Purge extra count_pmc() calls of ebb selftests
    scsi: lpfc: Fix shost refcount mismatch when deleting vport
    drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails
    drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config
    drm/amd/display: fix ref count leak in amdgpu_drm_ioctl
    drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms
    drm/radeon: fix multiple reference count leak
    drm/amdkfd: Fix reference count leaks.
  * iommu/iova: Don't BUG on invalid PFNs
      drivers/iommu/iova.c
    scsi: target: tcmu: Fix crash on ARM during cmd completion
  * blktrace: ensure our debugfs dir exists
      kernel/trace/blktrace.c
    media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA value in debiirq()
    powerpc/xive: Ignore kmemleak false positives
    arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep
    mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs
    ASoC: tegra: Fix reference count leaks.
    ALSA: pci: delete repeated words in comments
  * gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY
      net/ipv6/ip6_tunnel.c
    ipvlan: fix device features
    tipc: fix uninit skb->data in tipc_nl_compat_dumpit()
  * net: Fix potential wrong skb->protocol in skb_vlan_untag()
      net/core/skbuff.c
    powerpc/64s: Don't init FSCR_DSCR in __init_FSCR()

Change-Id: I859e5233b7b9e6b1cd64de707f4ee4a00c0860a6
Signed-off-by: lucaswei <lucaswei@google.com>
2020-10-20 16:59:48 +08:00
Chris Wilson
1cd492f839 locking/lockdep: Fix overflow in presentation of average lock-time
[ Upstream commit a7ef9b28aa8d72a1656fa6f0a01bbd1493886317 ]

Though the number of lock-acquisitions is tracked as unsigned long, this
is passed as the divisor to div_s64() which interprets it as a s32,
giving nonsense values with more than 2 billion acquisitons. E.g.

  acquisitions   holdtime-min   holdtime-max holdtime-total   holdtime-avg
  -------------------------------------------------------------------------
    2350439395           0.07         353.38   649647067.36          0.-32

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20200725185110.11588-1-chris@chris-wilson.co.uk
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-09-03 11:22:27 +02:00
lucaswei
5736f5570e Merge android-4.14-q (4.14.180) into android-msm-floral-4.14-lts
Merge 4.14.180 into android-4.14-q
Linux 4.14.180
    cgroup, netclassid: remove double cond_resched
  * mac80211: add ieee80211_is_any_nullfunc()
      include/linux/ieee80211.h
    ALSA: hda: Match both PCI ID and SSID for driver blacklist
  * tracing: Reverse the order of trace_types_lock and event_mutex
      kernel/trace/trace.c
      kernel/trace/trace_events.c
    sctp: Fix SHUTDOWN CTSN Ack in the peer restart case
    net: systemport: suppress warnings on failed Rx SKB allocations
    net: bcmgenet: suppress warnings on failed Rx SKB allocations
  * lib/mpi: Fix building for powerpc with clang
      lib/mpi/longlong.h
    net: dsa: b53: Rework ARL bin logic
    scripts/config: allow colons in option strings for sed
    s390/ftrace: fix potential crashes when switching tracers
    cifs: protect updating server->dstaddr with a spinlock
    net: stmmac: Fix sub-second increment
    net: stmmac: fix enabling socfpga's ptp_ref_clock
    wimax/i2400m: Fix potential urb refcnt leak
    ASoC: codecs: hdac_hdmi: Fix incorrect use of list_for_each_entry
    ASoC: rsnd: Fix HDMI channel mapping for multi-SSI mode
    ASoC: sgtl5000: Fix VAG power-on handling
    selftests/ipc: Fix test failure seen after initial test run
    ASoC: topology: Check return value of pcm_new_ver
    powerpc/pci/of: Parse unassigned resources
    vhost: vsock: kick send_pkt worker once device is started
    Merge 4.14.179 into android-4.14-q
Linux 4.14.179
  * selinux: properly handle multiple messages in selinux_netlink_send()
      security/selinux/hooks.c
    dmaengine: dmatest: Fix iteration non-stop logic
    nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl
    ALSA: opti9xx: shut up gcc-10 range warning
    iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled system
    scsi: target/iblock: fix WRITE SAME zeroing
    iommu/qcom: Fix local_base status check
    vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn()
    vfio: avoid possible overflow in vfio_iommu_type1_pin_pages
    RDMA/mlx4: Initialize ib_spec on the stack
    RDMA/mlx5: Set GRH fields in query QP on RoCE
  * dm verity fec: fix hash block number in verity_fec_decode
      drivers/md/dm-verity-fec.c
    PM: hibernate: Freeze kernel threads in software_resume()
    PM: ACPI: Output correct message on target power state
    ALSA: pcm: oss: Place the plugin buffer overflow checks correctly
    ALSA: hda/hdmi: fix without unlocked before return
    ALSA: hda/realtek - Two front mics on a Lenovo ThinkCenter
    mmc: sdhci-pci: Fix eMMC driver strength for BYT-based controllers
    mmc: sdhci-xenon: fix annoying 1.8V regulator warning
    btrfs: fix partial loss of prealloc extent past i_size after fsync
    btrfs: fix block group leak when removing fails
    drm/qxl: qxl_release use after free
    drm/qxl: qxl_release leak in qxl_hw_surface_alloc()
    drm/qxl: qxl_release leak in qxl_draw_dirty_fb()
  * drm/edid: Fix off-by-one in DispID DTD pixel clock
      drivers/gpu/drm/drm_edid.c
  * ext4: fix special inode number checks in __ext4_iget()
      fs/ext4/inode.c
    Merge 4.14.178 into android-4.14-q
Linux 4.14.178
  * propagate_one(): mnt_set_mountpoint() needs mount_lock
      fs/pnode.c
  * ext4: check for non-zero journal inum in ext4_calculate_overhead
      fs/ext4/super.c
    qed: Fix use after free in qed_chain_free
  * ext4: unsigned int compared against zero
      fs/ext4/block_validity.c
  * ext4: fix block validity checks for journal inodes using indirect blocks
      fs/ext4/block_validity.c
  * ext4: don't perform block validity checks on the journal inode
      fs/ext4/extents.c
  * ext4: protect journal inode's blocks using block_validity
      fs/ext4/block_validity.c
      fs/ext4/inode.c
  * ext4: avoid declaring fs inconsistent due to invalid file handles
      fs/ext4/ext4.h
      fs/ext4/ialloc.c
      fs/ext4/inode.c
      fs/ext4/ioctl.c
      fs/ext4/namei.c
      fs/ext4/resize.c
      fs/ext4/super.c
      fs/ext4/xattr.c
    hwmon: (jc42) Fix name to have no illegal characters
  * ext4: convert BUG_ON's to WARN_ON's in mballoc.c
      fs/ext4/mballoc.c
  * ext4: increase wait time needed before reuse of deleted inode numbers
      fs/ext4/ialloc.c
  * ext4: use matching invalidatepage in ext4_writepage
      fs/ext4/inode.c
  * arm64: Delete the space separator in __emit_inst
      arch/arm64/include/asm/sysreg.h
    xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status
    objtool: Support Clang non-section symbols in ORC dump
    objtool: Fix CONFIG_UBSAN_TRAP unreachable warnings
    scsi: target: fix PR IN / READ FULL STATUS for FC
    xfs: fix partially uninitialized structure in xfs_reflink_remap_extent
    x86: hyperv: report value of misc_features
    bpf, x86: Fix encoding for lower 8-bit registers in BPF_STX BPF_B
  * mm: shmem: disable interrupt when acquiring info->lock in userfaultfd_copy path
      mm/shmem.c
  * perf/core: fix parent pid/tid in task exit events
      kernel/events/core.c
    ARM: dts: bcm283x: Disable dsi0 node
    net/cxgb4: Check the return from t4_query_params properly
    i2c: altera: use proper variable to hold errno
    nfsd: memory corruption in nfsd4_lock()
    iio:ad7797: Use correct attribute_group
    usb: gadget: udc: bdc: Remove unnecessary NULL checks in bdc_req_complete
  * usb: dwc3: gadget: Do link recovery for SS and SSP
      drivers/usb/dwc3/gadget.c
  * binder: take read mode of mmap_sem in binder_alloc_free_page()
      drivers/android/binder_alloc.c
  * include/uapi/linux/swab.h: fix userspace breakage, use __BITS_PER_LONG for swap
      include/uapi/linux/swab.h
    mtd: cfi: fix deadloop in cfi_cmdset_0002.c do_write_buffer
    remoteproc: Fix wrong rvring index computation
    xfs: Fix deadlock between AGI and AGF with RENAME_WHITEOUT
    xfs: validate sb_logsunit is a multiple of the fs blocksize
    serial: sh-sci: Make sure status register SCxSR is read in correct sequence
  * usb: f_fs: Clear OS Extended descriptor counts to zero in ffs_data_reset()
      drivers/usb/gadget/function/f_fs.c
    UAS: fix deadlock in error handling and PM flushing work
    UAS: no use logging any details in case of ENODEV
    cdc-acm: introduce a cool down
    cdc-acm: close race betrween suspend() and acm_softint
    staging: vt6656: Power save stop wake_up_count wrap around.
    staging: vt6656: Fix pairwise key entry save.
    staging: vt6656: Fix drivers TBTT timing counter.
    staging: vt6656: Fix calling conditions of vnt_set_bss_mode
    staging: vt6656: Don't set RCR_MULTICAST or RCR_BROADCAST by default.
  * vt: don't hardcode the mem allocation upper bound
      drivers/tty/vt/vt.c
    staging: comedi: Fix comedi_device refcnt leak in comedi_open
    staging: comedi: dt2815: fix writing hi byte of analog output
    powerpc/setup_64: Set cache-line-size based on cache-block-size
    ARM: imx: provide v7_cpu_resume() only on ARM_CPU_SUSPEND=y
    iwlwifi: pcie: actually release queue memory in TVQM
  * ASoC: dapm: fixup dapm kcontrol widget
      sound/soc/soc-dapm.c
  * audit: check the length of userspace generated audit records
      kernel/audit.c
  * usb-storage: Add unusual_devs entry for JMicron JMS566
      drivers/usb/storage/unusual_devs.h
    tty: rocket, avoid OOB access
    tty: hvc: fix buffer overflow during hvc_alloc().
    KVM: VMX: Enable machine check support for 32bit targets
  * KVM: Check validity of resolved slot when searching memslots
      include/linux/kvm_host.h
    tpm: ibmvtpm: retry on H_CLOSED in tpm_ibmvtpm_send()
    tpm/tpm_tis: Free IRQ if probing fails
  * ALSA: usb-audio: Filter out unsupported sample rates on Focusrite devices
      sound/usb/format.c
  * ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif
      sound/usb/mixer_quirks.c
    ALSA: hda/realtek - Add new codec supported for ALC245
    ALSA: usx2y: Fix potential NULL dereference
    tools/vm: fix cross-compile build
    mm/ksm: fix NULL pointer dereference when KSM zero page is enabled
    mm/hugetlb: fix a addressing exception caused by huge_pte_offset
  * vmalloc: fix remap_vmalloc_range() bounds checks
      include/linux/vmalloc.h
      mm/vmalloc.c
  * overflow.h: Add arithmetic shift helper
      include/linux/overflow.h
  * USB: hub: Fix handling of connect changes during sleep
      drivers/usb/core/hub.c
  * USB: core: Fix free-while-in-use bug in the USB S-Glibrary
      drivers/usb/core/message.c
    USB: early: Handle AMD's spec-compliant identifiers, too
  * USB: Add USB_QUIRK_DELAY_CTRL_MSG and USB_QUIRK_DELAY_INIT for Corsair K70 RGB RAPIDFIRE
      drivers/usb/core/quirks.c
    USB: sisusbvga: Change port variable from signed to unsigned
  * fs/namespace.c: fix mountpoint reference counter race
      fs/namespace.c
    iio: xilinx-xadc: Fix sequencer configuration for aux channels in simultaneous mode
    iio: xilinx-xadc: Fix clearing interrupt when enabling trigger
    iio: xilinx-xadc: Fix ADC-B powerdown
    iio: adc: stm32-adc: fix sleep in atomic context
    ALSA: hda: Remove ASUS ROG Zenith from the blacklist
  * KEYS: Avoid false positive ENOMEM error on key read
      security/keys/internal.h
      security/keys/keyctl.c
    vrf: Check skb for XFRM_TRANSFORMED flag
  * xfrm: Always set XFRM_TRANSFORMED in xfrm{4,6}_output_finish
      net/ipv4/xfrm4_output.c
      net/ipv6/xfrm6_output.c
    net: dsa: b53: Fix ARL register definitions
    team: fix hang in team_mode_get()
  * tcp: cache line align MAX_TCP_HEADER
      include/net/tcp.h
    net/x25: Fix x25_neigh refcnt leak when receiving frame
    net: netrom: Fix potential nr_neigh refcnt leak in nr_add_node
    net: bcmgenet: correct per TX/RX ring statistics
    macvlan: fix null dereference in macvlan_device_event()
    macsec: avoid to set wrong mtu
  * ipv6: fix restrict IPV6_ADDRFORM operation
      net/ipv6/ipv6_sockglue.c
    cxgb4: fix large delays in PTP synchronization
  * mm, slub: restore the original intention of prefetch_freepointer()
      mm/slub.c
    PCI/ASPM: Allow re-enabling Clock PM
  * perf/core: Disable page faults when getting phys address
      kernel/events/core.c
    pwm: bcm2835: Dynamically allocate base
    pwm: renesas-tpu: Fix late Runtime PM enablement
    s390/cio: avoid duplicated 'ADD' uevents
    ipc/util.c: sysvipc_find_ipc() should increase position index
    selftests: kmod: fix handling test numbers above 9
    kernel/gcov/fs.c: gcov_seq_next() should increase position index
    ASoC: Intel: atom: Take the drv->lock mutex before calling sst_send_slot_map()
    scsi: iscsi: Report unbind session event when the target has been removed
    pwm: rcar: Fix late Runtime PM enablement
    ceph: don't skip updating wanted caps when cap is stale
    ceph: return ceph_mdsc_do_request() errors from __get_parent()
    scsi: lpfc: Fix kasan slab-out-of-bounds error in lpfc_unreg_login
  * watchdog: reset last_hw_keepalive time at start
      drivers/watchdog/watchdog_dev.c
  * vti4: removed duplicate log message.
      net/ipv4/ip_vti.c
    crypto: mxs-dcp - make symbols 'sha1_null_hash' and 'sha256_null_hash' static
  * drm/msm: Use the correct dma_sync calls harder
      drivers/gpu/drm/msm/msm_gem.c
  * keys: Fix the use of the C++ keyword "private" in uapi/linux/keyctl.h
      include/uapi/linux/keyctl.h
  * net: ipv4: avoid unused variable warning for sysctl
      net/ipv4/route.c
  * net: ipv4: emulate READ_ONCE() on ->hdrincl bit-field in raw_sendmsg()
      net/ipv4/raw.c
  * ext4: fix extent_status fragmentation for plain files
      fs/ext4/extents.c
    ANDROID: cuttlefish_defconfig: Fix dm-verity related options
  * BACKPORT: loop: Add LOOP_SET_BLOCK_SIZE in compat ioctl
      drivers/block/loop.c
  * BACKPORT: loop: change queue block size to match when using DIO
      drivers/block/loop.c
    Merge 4.14.177 into android-4.14-q
Linux 4.14.177
  * KEYS: Don't write out to userspace while holding key semaphore
      include/keys/user-type.h
      include/linux/key-type.h
      net/dns_resolver/dns_key.c
      security/keys/keyctl.c
      security/keys/keyring.c
      security/keys/request_key_auth.c
      security/keys/user_defined.c
    KEYS: Use individual pages in big_key for crypto buffers
    mtd: phram: fix a double free issue in error path
    mtd: lpddr: Fix a double free in probe()
    locktorture: Print ratio of acquisitions, not failures
    tty: evh_bytechan: Fix out of bounds accesses
  * fbdev: potential information leak in do_fb_ioctl()
      drivers/video/fbdev/core/fbmem.c
    net: dsa: bcm_sf2: Fix overflow checks
    iommu/amd: Fix the configuration of GCR3 table root pointer
    libnvdimm: Out of bounds read in __nd_ioctl()
    ext2: fix debug reference to ext2_xattr_cache
    ext2: fix empty body warnings when -Wextra is used
    iommu/vt-d: Fix mm reference leak
    NFS: Fix memory leaks in nfs_pageio_stop_mirroring()
    drm/amdkfd: kfree the wrong pointer
    x86: ACPI: fix CPU hotplug deadlock
    KVM: s390: vsie: Fix possible race when shadowing region 3 tables
  * compiler.h: fix error in BUILD_BUG_ON() reporting
      include/linux/compiler.h
  * percpu_counter: fix a data race at vm_committed_as
      include/linux/percpu_counter.h
  * include/linux/swapops.h: correct guards for non_swap_entry()
      include/linux/swapops.h
  * ext4: do not commit super on read-only bdev
      fs/ext4/super.c
    powerpc/maple: Fix declaration made after definition
    s390/cpuinfo: fix wrong output when CPU0 is offline
    NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails
    NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid()
    rtc: 88pm860x: fix possible race condition
    soc: imx: gpc: fix power up sequencing
    clk: tegra: Fix Tegra PMC clock out parents
    power: supply: bq27xxx_battery: Silence deferred-probe error
    clk: at91: usb: continue if clk_hw_round_rate() return zero
    of: unittest: kmemleak in of_unittest_platform_populate()
    rbd: call rbd_dev_unprobe() after unwatching and flushing notifies
    rbd: avoid a deadlock on header_rwsem when flushing notifies
  * of: fix missing kobject init for !SYSFS && OF_DYNAMIC config
      drivers/of/base.c
  * soc: qcom: smem: Use le32_to_cpu for comparison
      drivers/soc/qcom/smem.c
    wil6210: abort properly in cfg suspend
    wil6210: fix length check in __wmi_send
    wil6210: add block size checks during FW load
    wil6210: fix PCIe bus mastering in case of interface down
  * rpmsg: glink: smem: Ensure ordering during tx
      drivers/rpmsg/qcom_glink_smem.c
  * rpmsg: glink: Fix missing mutex_init() in qcom_glink_alloc_channel()
      drivers/rpmsg/qcom_glink_native.c
    rtc: pm8xxx: Fix issue in RTC write path
  * rpmsg: glink: use put_device() if device_register fail
      drivers/rpmsg/qcom_glink_smem.c
    wil6210: rate limit wil_rx_refill error
  * scsi: ufs: ufs-qcom: remove broken hci version quirk
      drivers/scsi/ufs/ufs-qcom.c
  * scsi: ufs: make sure all interrupts are processed
      drivers/scsi/ufs/ufshcd.c
    wil6210: fix temperature debugfs
    wil6210: increase firmware ready timeout
  * arch_topology: Fix section miss match warning due to free_raw_capacity()
      drivers/base/arch_topology.c
  * arm64: traps: Don't print stack or raw PC/LR values in backtraces
      arch/arm64/kernel/process.c
      arch/arm64/kernel/traps.c
  * arm64: perf: remove unsupported events for Cortex-A73
      arch/arm64/kernel/perf_event.c
  * Revert "gpio: set up initial state from .get_direction()"
      drivers/gpio/gpiolib.c
  * clk: Fix debugfs_create_*() usage
      drivers/clk/clk.c
  * drm: NULL pointer dereference [null-pointer-deref] (CWE 476) problem
      drivers/gpu/drm/drm_dp_mst_topology.c
    video: fbdev: sis: Remove unnecessary parentheses and commented code
    lib/raid6: use vdupq_n_u8 to avoid endianness warnings
    ALSA: hda: Don't release card at firmware loading error
    irqchip/mbigen: Free msi_desc on device teardown
    netfilter: nf_tables: report EOPNOTSUPP on unsupported flags/object type
    arm, bpf: Fix bugs with ALU64 {RSH, ARSH} BPF_K shift by 0
  * ext4: use non-movable memory for superblock readahead
      fs/buffer.c
      fs/ext4/inode.c
      fs/ext4/super.c
      include/linux/buffer_head.h
  * scsi: sg: add sg_remove_request in sg_common_write
      drivers/scsi/sg.c
    objtool: Fix switch table detection in .text.unlikely
  * mm/vmalloc.c: move 'area->pages' after if statement
      mm/vmalloc.c
    x86/resctrl: Fix invalid attempt at removing the default resource group
    x86/resctrl: Preserve CDP enable over CPU hotplug
    x86/intel_rdt: Enable L2 CDP in MSR IA32_L2_QOS_CFG
    x86/intel_rdt: Add two new resources for L2 Code and Data Prioritization (CDP)
    x86/intel_rdt: Enumerate L2 Code and Data Prioritization (CDP) feature
    x86/microcode/AMD: Increase microcode PATCH_MAX_SIZE
    scsi: target: fix hang when multiple threads try to destroy the same iscsi session
    scsi: target: remove boilerplate code
    kvm: x86: Host feature SSBD doesn't imply guest feature SPEC_CTRL_SSBD
    dm flakey: check for null arg_name in parse_features()
  * ext4: do not zeroout extents beyond i_disksize
      fs/ext4/extents.c
    mac80211_hwsim: Use kstrndup() in place of kasprintf()
    btrfs: check commit root generation in should_ignore_root
  * tracing: Fix the race between registering 'snapshot' event trigger and triggering 'snapshot' operation
      kernel/trace/trace_events_trigger.c
  * ALSA: usb-audio: Don't override ignore_ctl_error value from the map
      sound/usb/mixer.c
    ASoC: Intel: mrfld: return error codes when an error occurs
    ASoC: Intel: mrfld: fix incorrect check on p->sink
  * ext4: fix incorrect inodes per group in error message
      fs/ext4/super.c
  * ext4: fix incorrect group count in ext4_fill_super error message
      fs/ext4/super.c
    pwm: pca9685: Fix PWM/GPIO inter-operation
  * jbd2: improve comments about freeing data buffers whose page mapping is NULL
      fs/jbd2/commit.c
  * scsi: ufs: Fix ufshcd_hold() caused scheduling while atomic
      drivers/scsi/ufs/ufshcd.c
    net: stmmac: dwmac-sunxi: Provide TX and RX fifo sizes
  * net: revert default NAPI poll timeout to 2 jiffies
      net/core/dev.c
  * net: qrtr: send msgs from local of same id as broadcast
      net/qrtr/qrtr.c
  * net: ipv6: do not consider routes via gateways for anycast address check
      include/net/ip6_route.h
  * net: ipv4: devinet: Fix crash when add/del multicast IP with autojoin
      net/ipv4/devinet.c
    hsr: check protocol version in hsr_newlink()
    amd-xgbe: Use __napi_schedule() in BH context
    mfd: dln2: Fix sanity checking for endpoints
    misc: echo: Remove unnecessary parentheses and simplify check for zero
    powerpc/fsl_booke: Avoid creating duplicate tlb1 entry
    ipmi: fix hung processes in __get_guid()
    ftrace/kprobe: Show the maxactive number on kprobe_events
  * drm: Remove PageReserved manipulation from drm_pci_alloc
      drivers/gpu/drm/drm_pci.c
  * drm/dp_mst: Fix clearing payload state on topology disable
      drivers/gpu/drm/drm_dp_mst_topology.c
    crypto: caam - update xts sector size for large input length
    dm zoned: remove duplicate nr_rnd_zones increase in dmz_init_zone()
    btrfs: use nofs allocations for running delayed items
    Btrfs: fix crash during unmount due to race with delayed inode workers
    powerpc: Make setjmp/longjmp signature standard
    powerpc: Add attributes for setjmp/longjmp
    scsi: mpt3sas: Fix kernel panic observed on soft HBA unplug
    powerpc/kprobes: Ignore traps that happened in real mode
    powerpc/xive: Use XIVE_BAD_IRQ instead of zero to catch non configured IPIs
    powerpc/hash64/devmap: Use H_PAGE_THP_HUGE when setting up huge devmap PTE entries
    powerpc/64/tm: Don't let userspace set regs->trap via sigreturn
    powerpc/powernv/idle: Restore AMR/UAMOR/AMOR after idle
    libata: Return correct status in sata_pmp_eh_recover_pm() when ATA_DFLAG_DETACH is set
    hfsplus: fix crash and filesystem corruption when deleting files
    cpufreq: powernv: Fix use-after-free
  * kmod: make request_module() return an error when autoloading is disabled
      kernel/kmod.c
    Input: i8042 - add Acer Aspire 5738z to nomux list
    s390/diag: fix display of diagnose call statistics
    perf tools: Support Python 3.8+ in Makefile
    ocfs2: no need try to truncate file beyond i_size
  * fs/filesystems.c: downgrade user-reachable WARN_ONCE() to pr_warn_once()
      fs/filesystems.c
  * ext4: fix a data race at inode->i_blocks
      fs/ext4/inode.c
    NFS: Fix a page leak in nfs_destroy_unlinked_subrequests()
    rtc: omap: Use define directive for PIN_CONFIG_ACTIVE_HIGH
  * arm64: armv8_deprecated: Fix undef_hook mask for thumb setend
      arch/arm64/kernel/armv8_deprecated.c
    scsi: zfcp: fix missing erp_lock in port recovery trigger for point-to-point
  * dm verity fec: fix memory leak in verity_fec_dtr
      drivers/md/dm-verity-fec.c
  * mm: Use fixed constant in page_frag_alloc instead of size + 1
      mm/page_alloc.c
    tools: gpio: Fix out-of-tree build regression
  * x86/speculation: Remove redundant arch_smt_update() invocation
      kernel/cpu.c
    powerpc/pseries: Drop pointless static qualifier in vpa_debugfs_init()
  * net: rtnl_configure_link: fix dev flags changes arg to __dev_notify_flags
      net/core/rtnetlink.c
    ALSA: hda: Initialize power_state field properly
    crypto: mxs-dcp - fix scatterlist linearization for hash
    btrfs: drop block from cache on error in relocation
    CIFS: Fix bug which the return value by asynchronous read is error
    KVM: VMX: fix crash cleanup when KVM wasn't used
    KVM: VMX: Always VMCLEAR in-use VMCSes during crash with kexec support
    KVM: x86: Allocate new rmap and large page tracking when moving memslot
    KVM: s390: vsie: Fix delivery of addressing exceptions
    KVM: s390: vsie: Fix region 1 ASCE sanity shadow address checks
    KVM: nVMX: Properly handle userspace interrupt window request
    x86/entry/32: Add missing ASM_CLAC to general_protection entry
  * signal: Extend exec_id to 64bits
      fs/exec.c
      include/linux/sched.h
      kernel/signal.c
    ath9k: Handle txpower changes even when TPC is disabled
    MIPS: OCTEON: irq: Fix potential NULL pointer dereference
    irqchip/versatile-fpga: Apply clear-mask earlier
  * KEYS: reaching the keys quotas correctly
      security/keys/key.c
      security/keys/keyctl.c
    PCI: endpoint: Fix for concurrent memory allocation in OB address region
    PCI/ASPM: Clear the correct bits when enabling L1 substates
    nvme-fc: Revert "add module to ops template to allow module references"
  * thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n
      include/linux/devfreq_cooling.h
    acpi/x86: ignore unspecified bit positions in the ACPI global lock field
    media: ti-vpe: cal: fix disable_irqs to only the intended target
    ALSA: hda/realtek - Set principled PC Beep configuration for ALC256
    ALSA: doc: Document PC Beep Hidden Register on Realtek ALC256
    ALSA: pcm: oss: Fix regression by buffer overflow fix
    ALSA: ice1724: Fix invalid access for enumerated ctl items
    ALSA: hda: Fix potential access overflow in beep helper
    ALSA: hda: Add driver blacklist
  * ALSA: usb-audio: Add mixer workaround for TRX40 and co
      sound/usb/mixer_maps.c
  * usb: gadget: composite: Inform controller driver of self-powered
      drivers/usb/gadget/composite.c
  * usb: gadget: f_fs: Fix use after free issue as part of queue failure
      drivers/usb/gadget/function/f_fs.c
    ASoC: topology: use name_prefix for new kcontrol
  * ASoC: dpcm: allow start or stop during pause for backend
      sound/soc/soc-pcm.c
  * ASoC: dapm: connect virtual mux with default value
      sound/soc/soc-dapm.c
  * ASoC: fix regwmask
      sound/soc/soc-ops.c
  * slub: improve bit diffusion for freelist ptr obfuscation
      mm/slub.c
    misc: rtsx: set correct pcr_ops for rts522A
  * uapi: rename ext2_swab() to swab() and share globally in swab.h
      include/linux/swab.h
      include/uapi/linux/swab.h
      lib/find_bit.c
    btrfs: track reloc roots based on their commit root bytenr
    btrfs: remove a BUG_ON() from merge_reloc_roots()
    block, bfq: fix use-after-free in bfq_idle_slice_timer_body
    locking/lockdep: Avoid recursion in lockdep_count_{for,back}ward_deps()
  * irqchip/gic-v4: Provide irq_retrigger to avoid circular locking dependency
      drivers/irqchip/irq-gic-v3-its.c
  * usb: dwc3: core: add support for disabling SS instances in park mode
      drivers/usb/dwc3/core.c
      drivers/usb/dwc3/core.h
  * block: Fix use-after-free issue accessing struct io_cq
      block/blk-ioc.c
      include/linux/iocontext.h
  * genirq/irqdomain: Check pointer in irq_domain_alloc_irqs_hierarchy()
      kernel/irq/irqdomain.c
    efi/x86: Ignore the memory attributes table on i386
    x86/boot: Use unsigned comparison for addresses
    gfs2: Don't demote a glock until its revokes are written
    libata: Remove extra scsi_host_put() in ata_scsi_add_hosts()
    PCI/switchtec: Fix init_completion race condition with poll_wait()
    selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault
  * sched: Avoid scale real weight down to zero
      kernel/sched/sched.h
    irqchip/versatile-fpga: Handle chained IRQs properly
  * block: keep bdi->io_pages in sync with max_sectors_kb for stacked devices
      block/blk-settings.c
    x86: Don't let pgprot_modify() change the page encryption bit
    null_blk: fix spurious IO errors after failed past-wp access
    null_blk: Handle null_add_dev() failures properly
    null_blk: Fix the null_add_dev() error path
    i2c: st: fix missing struct parameter description
    qlcnic: Fix bad kzalloc null test
    cxgb4/ptp: pass the sign of offset delta in FW CMD
    hinic: fix wrong para of wait_for_completion_timeout
    hinic: fix a bug of waitting for IO stopped
    net: vxge: fix wrong __VA_ARGS__ usage
    bus: sunxi-rsb: Return correct data when mixing 16-bit and 8-bit reads

Change-Id: I8588871f277a784d0223cccdccb66d481bbb209d
Signed-off-by: lucaswei <lucaswei@google.com>
2020-06-01 11:03:40 +08:00
Paul E. McKenney
7c1449d4e8 locktorture: Print ratio of acquisitions, not failures
commit 80c503e0e68fbe271680ab48f0fe29bc034b01b7 upstream.

The __torture_print_stats() function in locktorture.c carefully
initializes local variable "min" to statp[0].n_lock_acquired, but
then compares it to statp[i].n_lock_fail.  Given that the .n_lock_fail
field should normally be zero, and given the initialization, it seems
reasonable to display the maximum and minimum number acquisitions
instead of miscomputing the maximum and minimum number of failures.
This commit therefore switches from failures to acquisitions.

And this turns out to be not only a day-zero bug, but entirely my
own fault.  I hate it when that happens!

Fixes: 0af3fe1efa ("locktorture: Add a lock-torture kernel module")
Reported-by: Will Deacon <will@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-04-24 08:01:23 +02:00
Boqun Feng
105d88c02f locking/lockdep: Avoid recursion in lockdep_count_{for,back}ward_deps()
[ Upstream commit 25016bd7f4caf5fc983bbab7403d08e64cba3004 ]

Qian Cai reported a bug when PROVE_RCU_LIST=y, and read on /proc/lockdep
triggered a warning:

  [ ] DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled)
  ...
  [ ] Call Trace:
  [ ]  lock_is_held_type+0x5d/0x150
  [ ]  ? rcu_lockdep_current_cpu_online+0x64/0x80
  [ ]  rcu_read_lock_any_held+0xac/0x100
  [ ]  ? rcu_read_lock_held+0xc0/0xc0
  [ ]  ? __slab_free+0x421/0x540
  [ ]  ? kasan_kmalloc+0x9/0x10
  [ ]  ? __kmalloc_node+0x1d7/0x320
  [ ]  ? kvmalloc_node+0x6f/0x80
  [ ]  __bfs+0x28a/0x3c0
  [ ]  ? class_equal+0x30/0x30
  [ ]  lockdep_count_forward_deps+0x11a/0x1a0

The warning got triggered because lockdep_count_forward_deps() call
__bfs() without current->lockdep_recursion being set, as a result
a lockdep internal function (__bfs()) is checked by lockdep, which is
unexpected, and the inconsistency between the irq-off state and the
state traced by lockdep caused the warning.

Apart from this warning, lockdep internal functions like __bfs() should
always be protected by current->lockdep_recursion to avoid potential
deadlocks and data inconsistency, therefore add the
current->lockdep_recursion on-and-off section to protect __bfs() in both
lockdep_count_forward_deps() and lockdep_count_backward_deps()

Reported-by: Qian Cai <cai@lca.pw>
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200312151258.128036-1-boqun.feng@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-04-24 08:00:29 +02:00
lucaswei
3eaaeb22db Merge android-4.14 (4.14.165) into android-msm-floral-4.14-lts
Merge 4.14.165 into android-4.14
    cuttlefish - enable CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
    ANDROID: Enable HID_STEAM as y
Linux 4.14.165
    drm/i915/gen9: Clear residual context state on context switch
    netfilter: ipset: avoid null deref when IPSET_ATTR_LINENO is present
  * netfilter: arp_tables: init netns pointer in xt_tgchk_param struct
      net/ipv4/netfilter/arp_tables.c
    phy: cpcap-usb: Fix flakey host idling and enumerating of devices
    phy: cpcap-usb: Fix error path when no host driver is loaded
  * USB: Fix: Don't skip endpoint descriptors with maxpacket=0
      drivers/usb/core/config.c
  * HID: hiddev: fix mess in hiddev_open()
      drivers/hid/usbhid/hiddev.c
  * arm64: cpufeature: Avoid warnings due to unused symbols
      arch/arm64/kernel/cpufeature.c
    ath10k: fix memory leak
    rtl8xxxu: prevent leaking urb
    scsi: bfa: release allocated memory in case of error
    mwifiex: pcie: Fix memory leak in mwifiex_pcie_alloc_cmdrsp_buf
    mwifiex: fix possible heap overflow in mwifiex_process_country_ie()
  * tty: always relink the port
      drivers/tty/tty_port.c
  * tty: link tty and port before configuring it as console
      drivers/tty/serial/serial_core.c
      drivers/tty/tty_port.c
    staging: rtl8188eu: Add device code for TP-Link TL-WN727N v5.21
  * drm/dp_mst: correct the shifting in DP_REMOTE_I2C_READ
      drivers/gpu/drm/drm_dp_mst_topology.c
    drm/fb-helper: Round up bits_per_pixel if possible
  * Input: add safety guards to input_set_keycode()
      drivers/input/input.c
  * HID: hid-input: clear unmapped usages
      drivers/hid/hid-input.c
    staging: comedi: adv_pci1710: fix AI channels 16-31 for PCI-1713
    usb: musb: dma: Correct parameter passed to IRQ handler
    usb: musb: Disable pullup at init
    usb: musb: fix idling for suspend after disconnect interrupt
    USB: serial: option: add ZLP support for 0x1bc7/0x9010
    staging: vt6656: set usb_set_intfdata on driver fail.
    gpiolib: acpi: Add honor_wakeup module-option + quirk mechanism
    gpiolib: acpi: Turn dmi_system_id table into a generic quirk table
    can: can_dropped_invalid_skb(): ensure an initialized headroom in outgoing CAN sk_buffs
    can: mscan: mscan_rx_poll(): fix rx path lockup when returning from polling to irq mode
    can: gs_usb: gs_usb_probe(): use descriptors of current altsetting
  * HID: uhid: Fix returning EPOLLOUT from uhid_char_poll
      drivers/hid/uhid.c
  * HID: Fix slab-out-of-bounds read in hid_field_extract
      drivers/hid/hid-core.c
    tracing: Have stack tracer compile when MCOUNT_INSN_SIZE is not defined
    kernel/trace: Fix do not unregister tracepoints when register sched_migrate_task fail
    ALSA: hda/realtek - Set EAPD control to default for ALC222
    ALSA: hda/realtek - Add new codec supported for ALCS1200A
  * ALSA: usb-audio: Apply the sample rate quirk for Bose Companion 5
      sound/usb/quirks.c
    usb: chipidea: host: Disable port power only if previously enabled
  * chardev: Avoid potential use-after-free in 'chrdev_open()'
      fs/char_dev.c
    Merge remote-tracking branch 'origin/upstream-f2fs-stable-linux-4.14.y' into android-4.14
  * UPSTREAM: kcov: fix struct layout for kcov_remote_arg
      include/uapi/linux/kcov.h
    UPSTREAM: vhost, kcov: collect coverage from vhost_worker
  * UPSTREAM: usb, kcov: collect coverage from hub_event
      drivers/usb/core/hub.c
  * BACKPORT: kcov: remote coverage support
      include/linux/kcov.h
      include/linux/sched.h
      include/uapi/linux/kcov.h
  * UPSTREAM: kcov: improve CONFIG_ARCH_HAS_KCOV help text
      lib/Kconfig.debug
    UPSTREAM: kcov: convert kcov.refcount to refcount_t
    UPSTREAM: kcov: no need to check return value of debugfs_create functions
    UPSTREAM: kernel/kcov.c: mark write_comp_data() as notrace
    UPSTREAM: kernel/kcov.c: mark funcs in __sanitizer_cov_trace_pc() as notrace
  * BACKPORT: sched/core / kcov: avoid kcov_area during task switch
      include/linux/kcov.h
      include/linux/sched.h
      kernel/sched/core.c
    UPSTREAM: kcov: prefault the kcov_area
  * BACKPORT: kcov: test compiler capability in Kconfig and correct dependency
      lib/Kconfig.debug
      scripts/Makefile.gcc-plugins
      scripts/Makefile.kcov
  * UPSTREAM: gcc-plugins: fix build condition of SANCOV plugin
      scripts/Makefile.gcc-plugins
    UPSTREAM: kcov: fix comparison callback signature
    UPSTREAM: kcov: update documentation
  * BACKPORT: Makefile: support flag -fsanitizer-coverage=trace-cmp
      Makefile
      lib/Kconfig.debug
      scripts/Makefile.kcov
  * BACKPORT: kcov: support comparison operands collection
      include/linux/kcov.h
      include/uapi/linux/kcov.h
    UPSTREAM: kcov: remove pointless current != NULL check
    Merge 4.14.164 into android-4.14
Linux 4.14.164
    vlan: fix memory leak in vlan_dev_set_egress_priority
  * net: sch_prio: When ungrafting, replace with FIFO
      net/sched/sch_prio.c
    vlan: vlan_changelink() should propagate errors
    vxlan: fix tos value before xmit
  * tcp: fix "old stuff" D-SACK causing SACK to be treated as D-SACK
      net/ipv4/tcp_input.c
    sctp: free cmd->obj.chunk for the unprocessed SCTP_CMD_REPLY
    USB: serial: option: add Telit ME910G1 0x110a composition
  * USB: core: fix check for duplicate endpoints
      drivers/usb/core/config.c
    pkt_sched: fq: do not accept silly TCA_FQ_QUANTUM
    net: usb: lan78xx: fix possible skb leak
    net: stmmac: dwmac-sunxi: Allow all RGMII modes
    net: stmmac: dwmac-sun8i: Allow all RGMII modes
    net: dsa: mv88e6xxx: Preserve priority when setting CPU port.
  * macvlan: do not assume mac_header is set in macvlan_broadcast()
      include/linux/if_ether.h
    gtp: fix bad unlock balance in gtp_encap_enable_socket
    mmc: block: propagate correct returned value in mmc_rpmb_ioctl
    mmc: core: Prevent bus reference leak in mmc_blk_init()
    mmc: block: Fix bug when removing RPMB chardev
    mmc: block: Delete mmc_access_rpmb()
    mmc: block: Convert RPMB to a character device
    PCI/switchtec: Read all 64 bits of part_event_bitmap
  * bpf: Fix passing modified ctx to ld/abs/ind instruction
      kernel/bpf/verifier.c
  * bpf: reject passing modified ctx to helper functions
      kernel/bpf/verifier.c
    hv_netvsc: Fix unwanted rx_table reset
    llc2: Fix return statement of llc_stat_ev_rx_null_dsap_xid_c (and _test_c)
    parisc: Fix compiler warnings in debug_core.c
  * block: fix memleak when __blk_rq_map_user_iov() is failed
      block/blk-map.c
    s390/dasd: fix memleak in path handling error case
    s390/dasd/cio: Interpret ccw_device_get_mdc return value correctly
    net: stmmac: RX buffer size must be 16 byte aligned
    net: stmmac: Do not accept invalid MTU values
  * fs: avoid softlockups in s_inodes iterators
      fs/drop_caches.c
      fs/inode.c
      fs/notify/fsnotify.c
      fs/quota/dquot.c
    perf/x86/intel: Fix PT PMI handling
  * kconfig: don't crash on NULL expressions in expr_eq()
      scripts/kconfig/expr.c
    regulator: rn5t618: fix module aliases
    ASoC: wm8962: fix lambda value
  * rfkill: Fix incorrect check to avoid NULL pointer dereference
      net/rfkill/core.c
    net: usb: lan78xx: Fix error message format specifier
    bnx2x: Fix logic to get total no. of PFs per engine
    bnx2x: Do not handle requests from VFs after parity
    powerpc: Ensure that swiotlb buffer is allocated from low memory
    samples: bpf: fix syscall_tp due to unused syscall
    samples: bpf: Replace symbol compare of trace_event
    ARM: dts: am437x-gp/epos-evm: fix panel compatible
    bpf, mips: Limit to 33 tail calls
    ARM: dts: bcm283x: Fix critical trip point
    ASoC: topology: Check return value for soc_tplg_pcm_create()
    spi: spi-cavium-thunderx: Add missing pci_release_regions()
    ARM: dts: Cygnus: Fix MDIO node address/size cells
    netfilter: nf_tables: validate NFT_SET_ELEM_INTERVAL_END
    netfilter: uapi: Avoid undefined left-shift in xt_sctp.h
    ARM: vexpress: Set-up shared OPP table instead of individual for each CPU
    efi/gop: Fix memory leak in __gop_query32/64()
    efi/gop: Return EFI_SUCCESS if a usable GOP was found
    efi/gop: Return EFI_NOT_FOUND if there are no usable GOPs
    x86/efi: Update e820 with reserved EFI boot services data to fix kexec breakage
    libtraceevent: Fix lib installation with O=
    mwifiex: Fix heap overflow in mmwifiex_process_tdls_action_frame()
  * netfilter: ctnetlink: netns exit must wait for callbacks
      net/netfilter/nf_conntrack_netlink.c
    locking/spinlock/debug: Fix various data races
    USB: dummy-hcd: increase max number of devices to 32
    USB: dummy-hcd: use usb_urb_dir_in instead of usb_pipein
    UPSTREAM: USB: dummy-hcd: use usb_urb_dir_in instead of usb_pipein
    UPSTREAM: USB: dummy-hcd: increase max number of devices to 32
    UPSTREAM: USB: dummy-hcd: Fix failure to give back unlinked URBs
    UPSTREAM: USB: dummy-hcd: bandwidth limits for non-bulk transfers
  * BACKPORT: perf_event: Add support for LSM and SELinux checks
      include/linux/lsm_hooks.h
      include/linux/perf_event.h
      include/linux/security.h
      kernel/events/core.c
      kernel/trace/trace_event_perf.c
      security/security.c
      security/selinux/hooks.c
      security/selinux/include/classmap.h
      security/selinux/include/objsec.h
    ANDROID: cuttlefish_defconfig: remove 80211_HWSIM
    docs: fs-verity: mention statx() support
  * f2fs: support STATX_ATTR_VERITY
      fs/f2fs/file.c
  * ext4: support STATX_ATTR_VERITY
      fs/ext4/inode.c
  * statx: define STATX_ATTR_VERITY
      include/linux/stat.h
      include/uapi/linux/stat.h
    docs: fs-verity: document first supported kernel version
  * f2fs: add support for IV_INO_LBLK_64 encryption policies
      fs/f2fs/super.c
  * ext4: add support for IV_INO_LBLK_64 encryption policies
      fs/ext4/ext4.h
      fs/ext4/super.c
  * fscrypt: add support for IV_INO_LBLK_64 policies
      fs/crypto/crypto.c
      fs/crypto/fscrypt_private.h
      fs/crypto/keyring.c
      fs/crypto/keysetup.c
      fs/crypto/policy.c
      include/linux/fscrypt.h
      include/uapi/linux/fscrypt.h
  * fscrypt: avoid data race on fscrypt_mode::logged_impl_name
      fs/crypto/fscrypt_private.h
      fs/crypto/keysetup.c
  * fscrypt: zeroize fscrypt_info before freeing
      fs/crypto/keysetup.c
  * fscrypt: remove struct fscrypt_ctx
      fs/crypto/bio.c
      fs/crypto/crypto.c
      fs/crypto/fscrypt_private.h
      include/linux/fscrypt.h
  * fscrypt: invoke crypto API for ESSIV handling
      fs/crypto/crypto.c
      fs/crypto/fscrypt_private.h
      fs/crypto/keysetup.c
      fs/crypto/keysetup_v1.c
    Merge 4.14.163 into android-4.14
  * Revert "BACKPORT: perf_event: Add support for LSM and SELinux checks"
      include/linux/lsm_hooks.h
      include/linux/perf_event.h
      include/linux/security.h
      kernel/events/core.c
      kernel/trace/trace_event_perf.c
      security/security.c
      security/selinux/hooks.c
      security/selinux/include/classmap.h
      security/selinux/include/objsec.h
Linux 4.14.163
    perf/x86/intel/bts: Fix the use of page_private()
    xen/blkback: Avoid unmapping unmapped grant pages
    s390/smp: fix physical to logical CPU map for SMT
  * net: add annotations on hh->hh_len lockless accesses
      include/net/neighbour.h
      net/core/neighbour.c
      net/ethernet/eth.c
    arm64: dts: meson: odroid-c2: Disable usb_otg bus to avoid power failed warning
    ath9k_htc: Discard undersized packets
    ath9k_htc: Modify byte order for an error message
    rxrpc: Fix possible NULL pointer access in ICMP handling
    selftests: rtnetlink: add addresses with fixed life time
    powerpc/pseries/hvconsole: Fix stack overread via udbg
  * drm/mst: Fix MST sideband up-reply failure handling
      drivers/gpu/drm/drm_dp_mst_topology.c
    scsi: qedf: Do not retry ELS request if qedf_alloc_cmd fails
  * fix compat handling of FICLONERANGE, FIDEDUPERANGE and FS_IOC_FIEMAP
      fs/compat_ioctl.c
    tty: serial: msm_serial: Fix lockup for sysrq and oops
    dt-bindings: clock: renesas: rcar-usb2-clock-sel: Fix typo in example
    media: usb: fix memory leak in af9005_identify_state
    regulator: ab8500: Remove AB8505 USB regulator
    media: flexcop-usb: ensure -EIO is returned on error condition
  * Bluetooth: Fix memory leak in hci_connect_le_scan
      net/bluetooth/hci_conn.c
  * Bluetooth: delete a stray unlock
      net/bluetooth/l2cap_core.c
    Bluetooth: btusb: fix PM leak in error case of setup
    platform/x86: pmc_atom: Add Siemens CONNECT X300 to critclk_systems DMI table
    xfs: don't check for AG deadlock for realtime files in bunmapi
    scsi: qla2xxx: Drop superfluous INIT_WORK of del_work
    nfsd4: fix up replay_matches_cache()
  * PM / devfreq: Check NULL governor in available_governors_show
      drivers/devfreq/devfreq.c
  * arm64: Revert support for execute-only user mappings
      arch/arm64/include/asm/pgtable-prot.h
      arch/arm64/include/asm/pgtable.h
      arch/arm64/mm/fault.c
      mm/mmap.c
    ftrace: Avoid potential division by zero in function profiler
  * exit: panic before exit_mm() on global init exit
      kernel/exit.c
    ALSA: firewire-motu: Correct a typo in the clock proc string
    ALSA: cs4236: fix error return comparison of an unsigned integer
    tracing: Have the histogram compare functions convert to u64 first
  * tracing: Fix lock inversion in trace_event_enable_tgid_record()
      kernel/trace/trace.c
      kernel/trace/trace_events.c
  * gpiolib: fix up emulated open drain outputs
      drivers/gpio/gpiolib.c
    ata: ahci_brcm: Fix AHCI resources management
    ata: ahci_brcm: Allow optional reset controller to be used
    ata: libahci_platform: Export again ahci_platform_<en/dis>able_phys()
  * compat_ioctl: block: handle BLKREPORTZONE/BLKRESETZONE
      block/compat_ioctl.c
  * compat_ioctl: block: handle Persistent Reservations
      block/compat_ioctl.c
  * dmaengine: Fix access to uninitialized dma_slave_caps
      include/linux/dmaengine.h
  * locks: print unsigned ino in /proc/locks
      fs/locks.c
  * pstore/ram: Write new dumps to start of recycled zones
      fs/pstore/ram.c
  * memcg: account security cred as well to kmemcg
      kernel/cred.c
  * mm/zsmalloc.c: fix the migrated zspage statistics.
      mm/zsmalloc.c
    media: cec: avoid decrementing transmit_queue_sz if it is 0
    media: cec: CEC 2.0-only bcast messages were ignored
    media: pulse8-cec: fix lost cec_transmit_attempt_done() call
    MIPS: Avoid VDSO ABI breakage due to global register variable
    drm/sun4i: hdmi: Remove duplicate cleanup calls
    ALSA: ice1724: Fix sleep-in-atomic in Infrasonic Quartet support code
  * drm: limit to INT_MAX in create_blob ioctl
      drivers/gpu/drm/drm_property.c
  * taskstats: fix data-race
      kernel/taskstats.c
    xfs: fix mount failure crash on invalid iclog memory access
    PM / hibernate: memory_bm_find_bit(): Tighten node optimisation
    xen/balloon: fix ballooned page accounting without hotplug enabled
    xen-blkback: prevent premature module unload
    IB/mlx4: Follow mirror sequence of device add during device removal
    s390/cpum_sf: Avoid SBD overflow condition in irq handler
    s390/cpum_sf: Adjust sampling interval to avoid hitting sample limits
    md: raid1: check rdev before reference in raid1_sync_request func
  * net: make socket read/write_iter() honor IOCB_NOWAIT
      net/socket.c
    usb: gadget: fix wrong endpoint desc
    drm/nouveau: Move the declaration of struct nouveau_conn_atom up a bit
    scsi: libsas: stop discovering if oob mode is disconnected
    scsi: iscsi: qla4xxx: fix double free in probe
    scsi: qla2xxx: Don't call qlt_async_event twice
    scsi: lpfc: Fix memory leak on lpfc_bsg_write_ebuf_set func
    rxe: correctly calculate iCRC for unaligned payloads
    RDMA/cma: add missed unregister_pernet_subsys in init failure
  * PM / devfreq: Don't fail devfreq_dev_release if not in list
      drivers/devfreq/devfreq.c
    iio: adc: max9611: Fix too short conversion time delay
    nvme_fc: add module to ops template to allow module references
  * UPSTREAM: selinux: sidtab reverse lookup hash table
      security/selinux/Kconfig
      security/selinux/include/security.h
      security/selinux/selinuxfs.c
      security/selinux/ss/context.h
      security/selinux/ss/policydb.c
      security/selinux/ss/services.c
      security/selinux/ss/services.h
      security/selinux/ss/sidtab.c
      security/selinux/ss/sidtab.h
  * UPSTREAM: selinux: avoid atomic_t usage in sidtab
      security/selinux/ss/sidtab.c
      security/selinux/ss/sidtab.h
  * UPSTREAM: selinux: check sidtab limit before adding a new entry
      security/selinux/ss/sidtab.c
  * UPSTREAM: selinux: fix context string corruption in convert_context()
      security/selinux/ss/services.c
  * BACKPORT: selinux: overhaul sidtab to fix bug and improve performance
      security/selinux/ss/mls.c
      security/selinux/ss/mls.h
      security/selinux/ss/services.c
      security/selinux/ss/sidtab.c
      security/selinux/ss/sidtab.h
  * UPSTREAM: selinux: refactor mls_context_to_sid() and make it stricter
      security/selinux/ss/mls.c
      security/selinux/ss/mls.h
      security/selinux/ss/services.c
  * UPSTREAM: selinux: Cleanup printk logging in services
      security/selinux/ss/services.c
  * UPSTREAM: scsi: ilog2: create truly constant version for sparse
      include/linux/log2.h
  * BACKPORT: selinux: use separate table for initial SID lookup
      security/selinux/ss/policydb.c
      security/selinux/ss/services.c
      security/selinux/ss/services.h
      security/selinux/ss/sidtab.c
      security/selinux/ss/sidtab.h
  * UPSTREAM: selinux: make "selinux_policycap_names[]" const char *
      security/selinux/include/security.h
      security/selinux/ss/services.c
  * UPSTREAM: selinux: refactor sidtab conversion
      security/selinux/ss/services.c
      security/selinux/ss/sidtab.c
      security/selinux/ss/sidtab.h
  * BACKPORT: selinux: wrap AVC state
      security/selinux/avc.c
      security/selinux/hooks.c
      security/selinux/include/avc.h
      security/selinux/include/avc_ss.h
      security/selinux/include/security.h
      security/selinux/netlabel.c
      security/selinux/selinuxfs.c
      security/selinux/ss/services.c
  * UPSTREAM: selinux: wrap selinuxfs state
      security/selinux/selinuxfs.c
  * UPSTREAM: selinux: rename the {is,set}_enforcing() functions
      security/selinux/avc.c
      security/selinux/hooks.c
      security/selinux/include/security.h
      security/selinux/selinuxfs.c
      security/selinux/ss/services.c
      security/selinux/ss/status.c
  * BACKPORT: selinux: wrap global selinux state
      security/selinux/avc.c
      security/selinux/hooks.c
      security/selinux/ibpkey.c
      security/selinux/include/avc.h
      security/selinux/include/avc_ss.h
      security/selinux/include/conditional.h
      security/selinux/include/objsec.h
      security/selinux/include/security.h
      security/selinux/netif.c
      security/selinux/netlabel.c
      security/selinux/netnode.c
      security/selinux/netport.c
      security/selinux/selinuxfs.c
      security/selinux/ss/avtab.c
      security/selinux/ss/avtab.h
      security/selinux/ss/ebitmap.c
      security/selinux/ss/ebitmap.h
      security/selinux/ss/hashtab.c
      security/selinux/ss/hashtab.h
      security/selinux/ss/mls.c
      security/selinux/ss/mls.h
      security/selinux/ss/services.c
      security/selinux/ss/services.h
      security/selinux/ss/status.c
  * UPSTREAM: selinux: Use kmem_cache for hashtab_node
      security/selinux/ss/hashtab.c
      security/selinux/ss/hashtab.h
      security/selinux/ss/services.c
  * BACKPORT: perf_event: Add support for LSM and SELinux checks
      include/linux/lsm_hooks.h
      include/linux/perf_event.h
      include/linux/security.h
      kernel/events/core.c
      kernel/trace/trace_event_perf.c
      security/security.c
      security/selinux/hooks.c
      security/selinux/include/classmap.h
      security/selinux/include/objsec.h
  * UPSTREAM: binder: Add binder_proc logging to binderfs
      drivers/android/binder.c
      drivers/android/binder_internal.h
  * UPSTREAM: binder: Make transaction_log available in binderfs
      drivers/android/binder.c
      drivers/android/binder_internal.h
  * UPSTREAM: binder: Add stats, state and transactions files
      drivers/android/binder.c
      drivers/android/binder_internal.h
    UPSTREAM: binder: add a mount option to show global stats
    UPSTREAM: binder: Validate the default binderfs device names.
  * UPSTREAM: binder: Add default binder devices through binderfs when configured
      drivers/android/binder.c
      drivers/android/binder_internal.h
  * UPSTREAM: binder: fix CONFIG_ANDROID_BINDER_DEVICES
      drivers/android/binder.c
  * UPSTREAM: android: binder: use kstrdup instead of open-coding it
      drivers/android/binder.c
  * UPSTREAM: binderfs: remove separate device_initcall()
      drivers/android/binder.c
      drivers/android/binder_internal.h
    BACKPORT: binderfs: respect limit on binder control creation
    UPSTREAM: binderfs: switch from d_add() to d_instantiate()
    UPSTREAM: binderfs: drop lock in binderfs_binder_ctl_create
    UPSTREAM: binderfs: kill_litter_super() before cleanup
    UPSTREAM: binderfs: rework binderfs_binder_device_create()
    UPSTREAM: binderfs: rework binderfs_fill_super()
    UPSTREAM: binderfs: prevent renaming the control dentry
    UPSTREAM: binderfs: remove outdated comment
    UPSTREAM: binderfs: fix error return code in binderfs_fill_super()
    UPSTREAM: binderfs: handle !CONFIG_IPC_NS builds
    BACKPORT: binderfs: reserve devices for initial mount
    UPSTREAM: binderfs: rename header to binderfs.h
    BACKPORT: binderfs: implement "max" mount option
    UPSTREAM: binderfs: make each binderfs mount a new instance
    UPSTREAM: binderfs: remove wrong kern_mount() call
  * BACKPORT: binder: implement binderfs
      drivers/android/Kconfig
      drivers/android/Makefile
      drivers/android/binder.c
      drivers/android/binder_internal.h
      include/uapi/linux/magic.h
  * UPSTREAM: binder: remove BINDER_DEBUG_ENTRY()
      drivers/android/binder.c
  * UPSTREAM: seq_file: Introduce DEFINE_SHOW_ATTRIBUTE() helper macro
      include/linux/seq_file.h
  * UPSTREAM: exit: panic before exit_mm() on global init exit
      kernel/exit.c
    Merge 4.14.162 into android-4.14
Linux 4.14.162
    spi: fsl: use platform_get_irq() instead of of_irq_to_resource()
    gtp: avoid zero size hashtable
    gtp: fix an use-after-free in ipv4_pdp_find()
    gtp: fix wrong condition in gtp_genl_dump_pdp()
  * tcp: do not send empty skb from tcp_write_xmit()
      net/ipv4/tcp_output.c
  * tcp/dccp: fix possible race __inet_lookup_established()
      include/linux/rculist_nulls.h
      include/net/inet_hashtables.h
      include/net/sock.h
      net/ipv4/inet_diag.c
      net/ipv4/inet_hashtables.c
      net/ipv4/tcp_ipv4.c
      net/ipv6/inet6_hashtables.c
    gtp: do not allow adding duplicate tid and ms_addr pdp context
  * sit: do not confirm neighbor when do pmtu update
      net/ipv6/sit.c
  * vti: do not confirm neighbor when do pmtu update
      net/ipv4/ip_vti.c
      net/ipv6/ip6_vti.c
  * tunnel: do not confirm neighbor when do pmtu update
      net/ipv4/ip_tunnel.c
      net/ipv6/ip6_tunnel.c
  * net/dst: add new function skb_dst_update_pmtu_no_confirm
      include/net/dst.h
    gtp: do not confirm neighbor when do pmtu update
    ip6_gre: do not confirm neighbor when do pmtu update
  * net: add bool confirm_neigh parameter for dst_ops.update_pmtu
      include/net/dst.h
      include/net/dst_ops.h
      net/ipv4/inet_connection_sock.c
      net/ipv4/route.c
      net/ipv4/xfrm4_policy.c
      net/ipv6/inet6_connection_sock.c
      net/ipv6/route.c
      net/ipv6/xfrm6_policy.c
    vhost/vsock: accept only packets with the right dst_cid
  * udp: fix integer overflow while computing available space in sk_rcvbuf
      net/ipv4/udp.c
  * ptp: fix the race between the release of ptp_clock and cdev
      include/linux/posix-clock.h
      kernel/time/posix-clock.c
    net/mlxfw: Fix out-of-memory error in mfa2 flash burning
    net: ena: fix napi handler misbehavior when the napi budget is zero
    pinctrl: baytrail: Really serialize all register accesses
    tty/serial: atmel: fix out of range clock divider handling
    spi: fsl: don't map irq during probe
  * hrtimer: Annotate lockless access to timer->state
      include/linux/hrtimer.h
      kernel/time/hrtimer.c
  * net: icmp: fix data-race in cmp_global_allow()
      net/ipv4/icmp.c
  * net: add a READ_ONCE() in skb_peek_tail()
      include/linux/skbuff.h
  * inetpeer: fix data-race in inet_putpeer / inet_putpeer
      net/ipv4/inetpeer.c
    netfilter: bridge: make sure to pull arp header in br_nf_forward_arp()
    6pack,mkiss: fix possible deadlock
  * netfilter: ebtables: compat: reject all padding in matches/watchers
      net/bridge/netfilter/ebtables.c
  * filldir[64]: remove WARN_ON_ONCE() for bad directory entries
      fs/readdir.c
  * Make filldir[64]() verify the directory entry filename is valid
      fs/readdir.c
    perf strbuf: Remove redundant va_end() in strbuf_addv()
  * bonding: fix active-backup transition after link failure
      drivers/net/bonding/bond_main.c
    ALSA: hda - Downgrade error message for single-cmd fallback
  * netfilter: nf_queue: enqueue skbs with NULL dst
      net/netfilter/nf_queue.c
  * net, sysctl: Fix compiler warning when only cBPF is present
      net/core/sysctl_net_core.c
    x86/mce: Fix possibly incorrect severity calculation on AMD
    userfaultfd: require CAP_SYS_PTRACE for UFFD_FEATURE_EVENT_FORK
  * kernel: sysctl: make drop_caches write-only
      kernel/sysctl.c
    ocfs2: fix passing zero to 'PTR_ERR' warning
    s390/cpum_sf: Check for SDBT and SDB consistency
  * libfdt: define INT32_MAX and UINT32_MAX in libfdt_env.h
      include/linux/libfdt_env.h
    s390/zcrypt: handle new reply code FILTERED_BY_HYPERVISOR
    perf regs: Make perf_reg_name() return "unknown" instead of NULL
    perf script: Fix brstackinsn for AUXTRACE
    cdrom: respect device capabilities during opening action
  * scripts/kallsyms: fix definitely-lost memory leak
      scripts/kallsyms.c
    apparmor: fix unsigned len comparison with less than zero
    gpio: mpc8xxx: Don't overwrite default irq_set_type callback
    scsi: target: iscsi: Wait for all commands to finish before freeing a session
    scsi: iscsi: Don't send data to unbound connection
    scsi: NCR5380: Add disconnect_mask module parameter
    scsi: scsi_debug: num_tgts must be >= 0
  * scsi: ufs: Fix error handing during hibern8 enter
      drivers/scsi/ufs/ufshcd.c
    scsi: pm80xx: Fix for SATA device discovery
  * HID: Improve Windows Precision Touchpad detection.
      drivers/hid/hid-core.c
    libnvdimm/btt: fix variable 'rc' set but not used
    HID: logitech-hidpp: Silence intermittent get_battery_capacity errors
    bcache: at least try to shrink 1 node in bch_mca_scan()
    clk: pxa: fix one of the pxa RTC clocks
    scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE
    powerpc/security: Fix wrong message when RFI Flush is disable
    powerpc/pseries/cmm: Implement release() function for sysfs device
  * scsi: ufs: fix potential bug which ends in system hang
      drivers/scsi/ufs/ufshcd.c
    scsi: lpfc: fix: Coverity: lpfc_cmpl_els_rsp(): Null pointer dereferences
  * fs/quota: handle overflows of sysctl fs.quota.* and report as unsigned long
      fs/quota/dquot.c
      include/linux/quota.h
    irqchip: ingenic: Error out if IRQ domain creation failed
    irqchip/irq-bcm7038-l1: Enable parent IRQ if necessary
  * clk: qcom: Allow constant ratio freq tables for rcg
      drivers/clk/qcom/clk-rcg2.c
      drivers/clk/qcom/common.c
  * f2fs: fix to update dir's i_pino during cross_rename
      fs/f2fs/namei.c
    scsi: lpfc: Fix duplicate unreg_rpi error in port offline flow
  * scsi: tracing: Fix handling of TRANSFER LENGTH == 0 for READ(6) and WRITE(6)
      drivers/scsi/scsi_trace.c
  * jbd2: Fix statistics for the number of logged blocks
      fs/jbd2/commit.c
  * ext4: update direct I/O read lock pattern for IOCB_NOWAIT
      fs/ext4/inode.c
    powerpc/book3s64/hash: Add cond_resched to avoid soft lockup warning
    powerpc/security/book3s64: Report L1TF status in sysfs
    clocksource/drivers/asm9260: Add a check for of_clk_get
    dma-debug: add a schedule point in debug_dma_dump_mappings()
    powerpc/tools: Don't quote $objdump in scripts
    powerpc/pseries: Don't fail hash page table insert for bolted mapping
    powerpc/pseries: Mark accumulate_stolen_time() as notrace
    scsi: csiostor: Don't enable IRQs too early
    scsi: lpfc: Fix SLI3 hba in loop mode not discovering devices
    scsi: target: compare full CHAP_A Algorithm strings
    iommu/tegra-smmu: Fix page tables in > 4 GiB memory
    Input: atmel_mxt_ts - disable IRQ across suspend
    scsi: lpfc: Fix locking on mailbox command completion
    scsi: mpt3sas: Fix clear pending bit in ioctl status
    scsi: lpfc: Fix discovery failures when target device connectivity bounces
  * ANDROID: serdev: Fix platform device support
      drivers/tty/serdev/core.c
    Merge 4.14.161 into android-4.14
Linux 4.14.161
    perf probe: Fix to show function entry line as probe-able
    nbd: fix shutdown and recv work deadlock v2
    mmc: sdhci-of-esdhc: fix P2020 errata handling
    mmc: sdhci: Update the tuning failed messages to pr_debug level
    mmc: sdhci-of-esdhc: Revert "mmc: sdhci-of-esdhc: add erratum A-009204 support"
    powerpc/irq: fix stack overflow verification
    x86/MCE/AMD: Allow Reserved types to be overwritten in smca_banks[]
    x86/MCE/AMD: Do not use rdmsr_safe_on_cpu() in smca_configure()
    KVM: arm64: Ensure 'params' is initialised when looking up sys register
  * ext4: unlock on error in ext4_expand_extra_isize()
      fs/ext4/inode.c
  * ext4: check for directory entries too close to block end
      fs/ext4/dir.c
  * ext4: fix ext4_empty_dir() for directories with holes
      fs/ext4/namei.c
    staging: comedi: gsc_hpdi: check dma_alloc_coherent() return value
    platform/x86: hp-wmi: Make buffer for HPWMI_FEATURE2_QUERY 128 bytes
    intel_th: pci: Add Elkhart Lake SOC support
    intel_th: pci: Add Comet Lake PCH-V support
    USB: EHCI: Do not return -EPIPE when hub is disconnected
    usbip: Fix error path of vhci_recv_ret_submit()
    usbip: Fix receive error in vhci-hcd when using scatter-gather
    btrfs: abort transaction after failed inode updates in create_subvol
    btrfs: return error pointer from alloc_test_extent_buffer
    s390/ftrace: fix endless recursion in function_graph tracer
  * usb: xhci: Fix build warning seen with CONFIG_PM=n
      drivers/usb/host/xhci-pci.c
    mmc: mediatek: fix CMD_TA to 2 for MT8173 HS200/HS400 mode
    Revert "mmc: sdhci: Fix incorrect switch to HS mode"
    btrfs: don't prematurely free work in scrub_missing_raid56_worker()
    btrfs: don't prematurely free work in reada_start_machine_worker()
  * net: phy: initialise phydev speed and duplex sanely
      drivers/net/phy/phy_device.c
    mips: fix build when "48 bits virtual memory" is enabled
    libtraceevent: Fix memory leakage in copy_filter_type
    crypto: vmx - Avoid weird build failures
    mac80211: consider QoS Null frames for STA_NULLFUNC_ACKED
    crypto: sun4i-ss - Fix 64-bit size_t warnings on sun4i-ss-hash.c
    crypto: sun4i-ss - Fix 64-bit size_t warnings
    fbtft: Make sure string is NULL terminated
    iwlwifi: check kasprintf() return value
    x86/insn: Add some Intel instructions to the opcode map
    spi: st-ssc4: add missed pm_runtime_disable
    btrfs: don't prematurely free work in run_ordered_work()
    btrfs: don't prematurely free work in end_workqueue_fn()
    mmc: tmio: Add MMC_CAP_ERASE to allow erase/discard/trim requests
    crypto: virtio - deal with unsupported input sizes
    spi: tegra20-slink: add missed clk_unprepare
    iwlwifi: mvm: fix unaligned read of rx_pkt_status
    x86/crash: Add a forward declaration of struct kimage
  * cpufreq: Register drivers only after CPU devices have been registered
      drivers/cpufreq/cpufreq.c
    parport: load lowlevel driver if ports not found
    s390/disassembler: don't hide instruction addresses
    ASoC: Intel: kbl_rt5663_rt5514_max98927: Add dmic format constraint
    ASoC: rt5677: Mark reg RT5677_PWR_ANLG2 as volatile
    spi: pxa2xx: Add missed security checks
    EDAC/ghes: Fix grain calculation
    media: si470x-i2c: add missed operations in remove
    media: pvrusb2: Fix oops on tear-down when radio support is not present
    fsi: core: Fix small accesses and unaligned offsets via sysfs
    ath10k: fix get invalid tx rate for Mesh metric
    perf probe: Filter out instances except for inlined subroutine and subprogram
    perf probe: Skip end-of-sequence and non statement lines
    perf probe: Fix to show calling lines of inlined functions
    perf probe: Return a better scope DIE if there is no best scope
    perf probe: Skip overlapped location on searching variables
    perf parse: If pmu configuration fails free terms
    drm/amdgpu: fix potential double drop fence reference
    perf probe: Fix to probe a function which has no entry pc
    libsubcmd: Use -O0 with DEBUG=1
    perf probe: Fix to show inlined function callsite without entry_pc
    perf probe: Fix to show ranges of variables in functions without entry_pc
    perf probe: Fix to probe an inline function which has no entry pc
    perf probe: Walk function lines in lexical blocks
    perf probe: Fix to list probe event with correct line number
    perf probe: Fix to find range-only function instance
    rtlwifi: fix memory leak in rtl92c_set_fw_rsvdpagepkt()
  * ALSA: timer: Limit max amount of slave instances
      sound/core/timer.c
    spi: img-spfi: fix potential double release
    bnx2x: Fix PF-VF communication over multi-cos queues.
  * rfkill: allocate static minor
      include/linux/miscdevice.h
      net/rfkill/core.c
  * media: v4l2-core: fix touch support in v4l_g_fmt
      drivers/media/v4l2-core/v4l2-ioctl.c
    media: rcar_drif: fix a memory disclosure
    ixgbe: protect TX timestamping from API misuse
    pinctrl: amd: fix __iomem annotation in amd_gpio_irq_handler()
  * Bluetooth: Fix advertising duplicated flags
      net/bluetooth/hci_request.c
    iio: dln2-adc: fix iio_triggered_buffer_postenable() position
    pinctrl: sh-pfc: sh7734: Fix duplicate TCLK1_B
  * loop: fix no-unmap write-zeroes request behavior
      drivers/block/loop.c
    libata: Ensure ata_port probe has completed before detach
    s390/mm: add mm_pxd_folded() checks to pxd_free()
    s390/time: ensure get_clock_monotonic() returns monotonic values
    phy: qcom-usb-hs: Fix extcon double register after power cycle
  * net: dsa: LAN9303: select REGMAP when LAN9303 enable
      drivers/net/dsa/Kconfig
    gpu: host1x: Allocate gather copy for host1x
    RDMA/qedr: Fix memory leak in user qp and mr
    net: phy: dp83867: enable robust auto-mdix
  * arm64: psci: Reduce the waiting time for cpu_psci_cpu_kill()
      arch/arm64/kernel/psci.c
    x86/ioapic: Prevent inconsistent state when moving an interrupt
    rtl8xxxu: fix RTL8723BU connection failure issue after warm reboot
    drm/gma500: fix memory disclosures due to uninitialized bytes
    x86/mce: Lower throttling MCE messages' priority to warning
  * Bluetooth: hci_core: fix init for HCI_USER_CHANNEL
      net/bluetooth/hci_core.c
  * Bluetooth: missed cpu_to_le16 conversion in hci_init4_req
      net/bluetooth/hci_core.c
    iio: adc: max1027: Reset the device at probe time
  * usb: usbfs: Suppress problematic bind and unbind uevents.
      drivers/usb/core/devio.c
    perf report: Add warning when libunwind not compiled in
    perf test: Report failure for mmap events
    drm/bridge: dw-hdmi: Restore audio when setting a mode
    x86/mm: Use the correct function type for native_set_fixmap()
    extcon: sm5502: Reset registers during initialization
    media: ti-vpe: vpe: fix a v4l2-compliance failure about invalid sizeimage
    media: ti-vpe: vpe: ensure buffers are cleaned up properly in abort cases
    media: ti-vpe: vpe: fix a v4l2-compliance failure causing a kernel panic
    media: ti-vpe: vpe: Make sure YUYV is set as default format
    media: ti-vpe: vpe: fix a v4l2-compliance failure about frame sequence number
    media: ti-vpe: vpe: fix a v4l2-compliance warning about invalid pixel format
    media: ti-vpe: vpe: Fix Motion Vector vpdma stride
    media: cx88: Fix some error handling path in 'cx8800_initdev()'
    mwifiex: pcie: Fix memory leak in mwifiex_pcie_init_evt_ring
    block: Fix writeback throttling W=1 compiler warnings
    samples: pktgen: fix proc_cmd command result check logic
    drm/bridge: dw-hdmi: Refuse DDC/CI transfers on the internal I2C controller
    media: cec-funcs.h: add status_req checks
    media: flexcop-usb: fix NULL-ptr deref in flexcop_usb_transfer_init()
    regulator: max8907: Fix the usage of uninitialized variable in max8907_regulator_probe()
    hwrng: omap3-rom - Call clk_disable_unprepare() on exit only if not idled
    usb: renesas_usbhs: add suspend event support in gadget mode
    selftests/bpf: Correct path to include msg + path
  * pinctrl: devicetree: Avoid taking direct reference to device name string
      drivers/pinctrl/devicetree.c
    ath10k: fix offchannel tx failure when no ath10k_mac_tx_frm_has_freq
    media: venus: core: Fix msm8996 frequency table
    tools/power/cpupower: Fix initializer override in hsw_ext_cstates
    media: ov6650: Fix stored crop rectangle not in sync with hardware
    media: ov6650: Fix stored frame format not in sync with hardware
    media: i2c: ov2659: Fix missing 720p register config
    media: ov6650: Fix crop rectangle alignment not passed back
    media: i2c: ov2659: fix s_stream return value
    media: am437x-vpfe: Setting STD to current value is not an error
    IB/iser: bound protection_sg size by data_sg size
    libertas: fix a potential NULL pointer dereference
    rtlwifi: prevent memory leak in rtl_usb_probe
    staging: rtl8188eu: fix possible null dereference
    staging: rtl8192u: fix multiple memory leaks on error path
  * spi: Add call to spi_slave_abort() function when spidev driver is released
      drivers/spi/spidev.c
    iio: light: bh1750: Resolve compiler warning and make code more readable
    drm/bridge: analogix-anx78xx: silence -EPROBE_DEFER warnings
  * drm: mst: Fix query_payload ack reply struct
      include/drm/drm_dp_mst_helper.h
    ALSA: hda/ca0132 - Avoid endless loop
    ALSA: hda/ca0132 - Keep power on during processing DSP response
  * ALSA: pcm: Avoid possible info leaks from PCM stream buffers
      sound/core/pcm_native.c
    Btrfs: fix removal logic of the tree mod log that leads to use-after-free issues
    btrfs: handle ENOENT in btrfs_uuid_tree_iterate
    btrfs: do not leak reloc root if we fail to read the fs root
    btrfs: skip log replay on orphaned roots
    btrfs: do not call synchronize_srcu() in inode_tree_del
    btrfs: don't double lock the subvol_sem for rename exchange
    sctp: fully initialize v4 addr in some functions
    qede: Fix multicast mac configuration
    net: usb: lan78xx: Fix suspend/resume PHY register access error
    net: qlogic: Fix error paths in ql_alloc_large_buffers()
    net: nfc: nci: fix a possible sleep-in-atomic-context bug in nci_uart_tty_receive()
    net: hisilicon: Fix a BUG trigered by wrong bytes_compl
  * net: dst: Force 4-byte alignment of dst_metrics
      include/net/dst.h
  * mod_devicetable: fix PHY module format
      include/linux/mod_devicetable.h
    fjes: fix missed check in fjes_acpi_add
  * af_packet: set defaule value for tmo
      net/packet/af_packet.c
    ANDROID: cuttlefish_defconfig: Disable TRANSPARENT_HUGEPAGE

Change-Id: If5fe1dee627f430a68a27040c29f1015fd7c5ed1
Signed-off-by: lucaswei <lucaswei@google.com>
2020-02-14 11:04:53 +08:00
Marco Elver
09226e5c38 locking/spinlock/debug: Fix various data races
[ Upstream commit 1a365e822372ba24c9da0822bc583894f6f3d821 ]

This fixes various data races in spinlock_debug. By testing with KCSAN,
it is observable that the console gets spammed with data races reports,
suggesting these are extremely frequent.

Example data race report:

  read to 0xffff8ab24f403c48 of 4 bytes by task 221 on cpu 2:
   debug_spin_lock_before kernel/locking/spinlock_debug.c:85 [inline]
   do_raw_spin_lock+0x9b/0x210 kernel/locking/spinlock_debug.c:112
   __raw_spin_lock include/linux/spinlock_api_smp.h:143 [inline]
   _raw_spin_lock+0x39/0x40 kernel/locking/spinlock.c:151
   spin_lock include/linux/spinlock.h:338 [inline]
   get_partial_node.isra.0.part.0+0x32/0x2f0 mm/slub.c:1873
   get_partial_node mm/slub.c:1870 [inline]
  <snip>

  write to 0xffff8ab24f403c48 of 4 bytes by task 167 on cpu 3:
   debug_spin_unlock kernel/locking/spinlock_debug.c:103 [inline]
   do_raw_spin_unlock+0xc9/0x1a0 kernel/locking/spinlock_debug.c:138
   __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:159 [inline]
   _raw_spin_unlock_irqrestore+0x2d/0x50 kernel/locking/spinlock.c:191
   spin_unlock_irqrestore include/linux/spinlock.h:393 [inline]
   free_debug_processing+0x1b3/0x210 mm/slub.c:1214
   __slab_free+0x292/0x400 mm/slub.c:2864
  <snip>

As a side-effect, with KCSAN, this eventually locks up the console, most
likely due to deadlock, e.g. .. -> printk lock -> spinlock_debug ->
KCSAN detects data race -> kcsan_print_report() -> printk lock ->
deadlock.

This fix will 1) avoid the data races, and 2) allow using lock debugging
together with KCSAN.

Reported-by: Qian Cai <cai@lca.pw>
Signed-off-by: Marco Elver <elver@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will.deacon@arm.com>
Link: https://lkml.kernel.org/r/20191120155715.28089-1-elver@google.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-01-12 12:11:49 +01:00
Robin Peng
1e3f758e0c Merge android-4.14 (4.14.149) into android-msm-floral-4.14-lts
Merge 4.14.149 into android-4.14
Linux 4.14.149
    ASoC: sgtl5000: Improve VAG power and mute control
  * nl80211: validate beacon head
      net/wireless/nl80211.c
  * cfg80211: Use const more consistently in for_each_element macros
      include/linux/ieee80211.h
  * cfg80211: add and use strongly typed element iteration macros
      include/linux/ieee80211.h
      net/wireless/scan.c
    coresight: etm4x: Use explicit barriers on enable/disable
  * vfs: Fix EOVERFLOW testing in put_compat_statfs64
      fs/statfs.c
    perf stat: Reset previous counts on repeat with interval
    perf stat: Fix a segmentation fault when using repeat forever
    perf tools: Fix segfault in cpu_cache_level__read()
  * tick: broadcast-hrtimer: Fix a race in bc_set_next
      kernel/time/tick-broadcast-hrtimer.c
    tools lib traceevent: Do not free tep->cmdlines in add_new_comm() on failure
    powerpc/pseries: Fix cpu_hotplug_lock acquisition in resize_hpt()
    nbd: fix max number of supported devs
    block/ndb: add WQ_UNBOUND to the knbd-recv workqueue
    nbd: fix crash when the blksize is zero
    KVM: PPC: Book3S HV: XIVE: Free escalation interrupts before disabling the VP
    perf unwind: Fix libunwind build failure on i386 systems
  * kernel/elfcore.c: include proper prototypes
      kernel/elfcore.c
    perf build: Add detection of java-11-openjdk-devel package
  * sched/core: Fix migration to invalid CPU in __set_cpus_allowed_ptr()
      kernel/sched/core.c
    fuse: fix memleak in cuse_channel_open
  * thermal: Fix use-after-free when unregistering thermal zone device
      drivers/thermal/thermal_core.c
    pwm: stm32-lp: Add check in case requested period cannot be achieved
    pNFS: Ensure we do clear the return-on-close layout stateid on fatal errors
    drm/amdgpu: Check for valid number of registers to read
    netfilter: nf_tables: allow lookups in dynamic sets
    watchdog: aspeed: Add support for AST2600
    ceph: reconnect connection if session hang in opening state
    ceph: fix directories inode i_blkbits initialization
    xen/pci: reserve MCFG areas earlier
    9p: avoid attaching writeback_fid on mmap with type PRIVATE
    fs: nfs: Fix possible null-pointer dereferences in encode_attrs()
    ima: always return negative code for error
  * cfg80211: initialize on-stack chandefs
      net/wireless/nl80211.c
      net/wireless/reg.c
    ieee802154: atusb: fix use-after-free at disconnect
    xen/xenbus: fix self-deadlock after killing user process
    Revert "locking/pvqspinlock: Don't wait if vCPU is preempted"
    mmc: sdhci-of-esdhc: set DMA snooping based on DMA coherence
    mmc: sdhci: improve ADMA error reporting
    drm/omap: fix max fclk divider for omap36xx
    watchdog: imx2_wdt: fix min() calculation in imx2_wdt_set_timeout
  * timer: Read jiffies once when forwarding base clk
      kernel/time/timer.c
  * usercopy: Avoid HIGHMEM pfn warning
      mm/usercopy.c
    crypto: caam - fix concurrency issue in givencrypt descriptor
    crypto: cavium/zip - Add missing single_release()
  * crypto: skcipher - Unmap pages after an external error
      crypto/skcipher.c
    crypto: qat - Silence smp_processor_id() warning
    tools lib traceevent: Fix "robust" test of do_generate_dynamic_list_file
    can: mcp251x: mcp251x_hw_reset(): allow more time after a reset
    powerpc/powernv: Restrict OPAL symbol map to only be readable by root
  * ASoC: Define a set of DAPM pre/post-up events
      include/sound/soc-dapm.h
    PM / devfreq: tegra: Fix kHz to Hz conversion
    KVM: nVMX: handle page fault in vmread fix
    KVM: PPC: Book3S HV: Don't lose pending doorbell request on migration on P9
    s390/cio: exclude subchannels with no parent from pseudo check
    s390/cio: avoid calling strlen on null pointer
    s390/topology: avoid firing events before kobjs are created
    KVM: s390: Test for bad access register and size at the start of S390_MEM_OP
    s390/process: avoid potential reading of freed stack
    cuttlefish-4.14: Enable CONFIG_DM_SNAPSHOT
    ANDROID: cuttlefish_defconfig: Enable BPF_JIT and BPF_JIT_ALWAYS_ON
  * UPSTREAM: netfilter: xt_IDLETIMER: fix sysfs callback function type
      net/netfilter/xt_IDLETIMER.c
    Merge remote-tracking branch 'origin/upstream-f2fs-stable-linux-4.14.y' into android-4.14
  * UPSTREAM: mm: untag user pointers in mmap/munmap/mremap/brk
      mm/mmap.c
      mm/mremap.c
    UPSTREAM: vfio/type1: untag user pointers in vaddr_get_pfn
    UPSTREAM: media/v4l2-core: untag user pointers in videobuf_dma_contig_user_get
    UPSTREAM: drm/radeon: untag user pointers in radeon_gem_userptr_ioctl
    BACKPORT: drm/amdgpu: untag user pointers
    UPSTREAM: userfaultfd: untag user pointers
  * UPSTREAM: fs/namespace: untag user pointers in copy_mount_options
      fs/namespace.c
  * UPSTREAM: mm: untag user pointers in get_vaddr_frames
      mm/frame_vector.c
  * UPSTREAM: mm: untag user pointers in mm/gup.c
      mm/gup.c
  * BACKPORT: mm: untag user pointers passed to memory syscalls
      mm/madvise.c
      mm/migrate.c
      mm/mincore.c
      mm/mlock.c
      mm/mprotect.c
      mm/mremap.c
      mm/msync.c
  * BACKPORT: lib: untag user pointers in strn*_user
      lib/strncpy_from_user.c
      lib/strnlen_user.c
  * UPSTREAM: arm64: Fix reference to docs for ARM64_TAGGED_ADDR_ABI
      arch/arm64/Kconfig
    UPSTREAM: selftests, arm64: add kernel headers path for tags_test
    BACKPORT: arm64: Relax Documentation/arm64/tagged-pointers.rst
    UPSTREAM: arm64: Define Documentation/arm64/tagged-address-abi.rst
  * UPSTREAM: arm64: Change the tagged_addr sysctl control semantics to only prevent the opt-in
      arch/arm64/kernel/process.c
  * UPSTREAM: arm64: Tighten the PR_{SET, GET}_TAGGED_ADDR_CTRL prctl() unused arguments
      kernel/sys.c
    UPSTREAM: selftests, arm64: fix uninitialized symbol in tags_test.c
  * UPSTREAM: arm64: mm: Really fix sparse warning in untagged_addr()
      arch/arm64/include/asm/memory.h
    UPSTREAM: selftests, arm64: add a selftest for passing tagged pointers to kernel
  * BACKPORT: arm64: Introduce prctl() options to control the tagged user addresses ABI
      arch/arm64/Kconfig
      arch/arm64/include/asm/processor.h
      arch/arm64/include/asm/thread_info.h
      arch/arm64/include/asm/uaccess.h
      arch/arm64/kernel/process.c
      include/uapi/linux/prctl.h
      kernel/sys.c
  * UPSTREAM: thread_info: Add update_thread_flag() helpers
      include/linux/sched.h
      include/linux/thread_info.h
  * UPSTREAM: arm64: untag user pointers in access_ok and __uaccess_mask_ptr
      arch/arm64/include/asm/memory.h
      arch/arm64/include/asm/uaccess.h
  * UPSTREAM: uaccess: add noop untagged_addr definition
      include/linux/mm.h
    Merge 4.14.148 into android-4.14
Linux 4.14.148
    kexec: bail out upon SIGKILL when allocating memory.
    NFC: fix attrs checks in netlink interface
  * smack: use GFP_NOFS while holding inode_smack::smk_lock
      security/smack/smack_access.c
      security/smack/smack_lsm.c
  * Smack: Don't ignore other bprm->unsafe flags if LSM_UNSAFE_PTRACE is set
      security/smack/smack_lsm.c
  * ipv6: Handle missing host route in __ipv6_ifa_notify
      net/ipv6/addrconf.c
    sch_cbq: validate TCA_CBQ_WRROPT to avoid crash
    tipc: fix unlimited bundling of small messages
    xen-netfront: do not use ~0U as error return value for xennet_fill_frags()
    net/rds: Fix error handling in rds_ib_add_one()
    vsock: Fix a lockdep warning in __vsock_release()
    sch_dsmark: fix potential NULL deref in dsmark_init()
    qmi_wwan: add support for Cinterion CLS8 devices
    nfc: fix memory leak in llcp_sock_bind()
  * net: Unpublish sk from sk_reuseport_cb before call_rcu
      net/core/sock.c
    net: qlogic: Fix memory leak in ql_alloc_large_buffers
  * net: ipv4: avoid mixed n_redirects and rate_tokens usage
      net/ipv4/route.c
  * ipv6: drop incoming packets having a v4mapped source address
      net/ipv6/ip6_input.c
    hso: fix NULL-deref on tty open
    erspan: remove the incorrect mtu limit for erspan
    cxgb4:Fix out-of-bounds MSI-X info array access
  * bpf: fix use after free in prog symbol exposure
      kernel/bpf/syscall.c
  * kmemleak: increase DEBUG_KMEMLEAK_EARLY_LOG_SIZE default to 16K
      lib/Kconfig.debug
    ocfs2: wait for recovering done after direct unlock request
  * kbuild: clean compressed initramfs image
      usr/Makefile
    hypfs: Fix error number left in struct pointer member
    pktcdvd: remove warning on attempting to register non-passthrough dev
  * fat: work around race with userspace's read via blockdev while mounting
      fs/fat/dir.c
      fs/fat/fatent.c
    ARM: 8903/1: ensure that usable memory in bank 0 starts from a PMD-aligned address
  * security: smack: Fix possible null-pointer dereferences in smack_socket_sock_rcv_skb()
      security/smack/smack_lsm.c
    PCI: exynos: Propagate errors for optional PHYs
    PCI: imx6: Propagate errors for optional regulators
    PCI: rockchip: Propagate errors for optional regulators
  * HID: apple: Fix stuck function keys when using FN
      drivers/hid/hid-apple.c
    rtc: snvs: fix possible race condition
    ARM: 8898/1: mm: Don't treat faults reported from cache maintenance as writes
    livepatch: Nullify obj->mod in klp_module_coming()'s error path
    PCI: tegra: Fix OF node reference leak
    mfd: intel-lpss: Remove D3cold delay
    i2c-cht-wc: Fix lockdep warning
    MIPS: tlbex: Explicitly cast _PAGE_NO_EXEC to a boolean
    dma-buf/sw_sync: Synchronize signal vs syncpt free
  * scsi: core: Reduce memory required for SCSI logging
      drivers/scsi/scsi_logging.c
      include/scsi/scsi_dbg.h
    clk: at91: select parent if main oscillator or bypass is enabled
  * arm64: fix unreachable code issue with cmpxchg
      arch/arm64/include/asm/cmpxchg.h
    powerpc/pseries: correctly track irq state in default idle
    powerpc/64s/exception: machine check use correct cfar for late handler
    drm/amdgpu/si: fix ASIC tests
    drm/nouveau/volt: Fix for some cards having 0 maximum voltage
    vfio_pci: Restore original state on release
    pinctrl: tegra: Fix write barrier placement in pmx_writel
    powerpc/pseries/mobility: use cond_resched when updating device tree
    powerpc/futex: Fix warning: 'oldval' may be used uninitialized in this function
    powerpc/rtas: use device model APIs and serialization during LPM
    powerpc/xmon: Check for HV mode when dumping XIVE info from OPAL
    clk: zx296718: Don't reference clk_init_data after registration
    clk: sirf: Don't reference clk_init_data after registration
    clk: sunxi-ng: v3s: add missing clock slices for MMC2 module clocks
    clk: qoriq: Fix -Wunused-const-variable
    ipmi_si: Only schedule continuously in the thread in maintenance mode
    gpu: drm: radeon: Fix a possible null-pointer dereference in radeon_connector_set_property()
    drm/radeon: Fix EEH during kexec
    drm/stm: attach gem fence to atomic state
    video: ssd1307fb: Start page range at page_offset
    drm/panel: simple: fix AUO g185han01 horizontal blanking
    drm/bridge: tc358767: Increase AUX transfer length limit
    tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations
    tpm: use tpm_try_get_ops() in tpm-sysfs.c.
    tpm: migrate pubek_show to struct tpm_buf
    Merge 4.14.147 into android-4.14
Linux 4.14.147
    Btrfs: fix race setting up and completing qgroup rescan workers
    btrfs: qgroup: Drop quota_root and fs_info parameters from update_qgroup_status_item
  * mm/compaction.c: clear total_{migrate,free}_scanned before scanning a new zone
      mm/compaction.c
    md/raid0: avoid RAID0 data corruption due to layout confusion.
    CIFS: Fix oplock handling for SMB 2.1+ protocols
    CIFS: fix max ea value size
    i2c: riic: Clear NACK in tend isr
  * hwrng: core - don't wait on add_early_randomness()
      drivers/char/hw_random/core.c
  * quota: fix wrong condition in is_quota_modification()
      include/linux/quotaops.h
  * ext4: fix punch hole for inline_data file systems
      fs/ext4/inode.c
  * ext4: fix warning inside ext4_convert_unwritten_extents_endio
      fs/ext4/extents.c
  * /dev/mem: Bail out upon SIGKILL.
      drivers/char/mem.c
  * cfg80211: Purge frame registrations on iftype change
      net/wireless/util.c
    md: only call set_in_sync() when it is expected to succeed.
    md: don't report active array_state until after revalidate_disk() completes.
    md/raid6: Set R5_ReadError when there is read failure on parity disk
    btrfs: qgroup: Fix the wrong target io_tree when freeing reserved data space
    btrfs: Relinquish CPUs in btrfs_compare_trees
    Btrfs: fix use-after-free when using the tree modification log
  * ovl: filter of trusted xattr results in audit
      fs/overlayfs/inode.c
  * memcg, kmem: do not fail __GFP_NOFAIL charges
      mm/memcontrol.c
  * memcg, oom: don't require __GFP_FS when invoking memcg OOM killer
      mm/oom_kill.c
    gfs2: clear buf_in_tr when ending a transaction in sweep_bh_for_rgrps
  * regulator: Defer init completion for a while after late_initcall
      drivers/regulator/core.c
  * alarmtimer: Use EOPNOTSUPP instead of ENOTSUPP
      kernel/time/alarmtimer.c
    arm64: dts: rockchip: limit clock rate of MMC controllers for RK3328
    ARM: zynq: Use memcpy_toio instead of memcpy on smp bring-up
    ARM: samsung: Fix system restart on S3C6410
    ASoC: Intel: Fix use of potentially uninitialized variable
    ASoC: Intel: Skylake: Use correct function to access iomem space
    ASoC: Intel: NHLT: Fix debug print format
  * binfmt_elf: Do not move brk for INTERP-less ET_EXEC
      fs/binfmt_elf.c
    media: sn9c20x: Add MSI MS-1039 laptop to flip_dmi_table
    KVM: x86: Manually calculate reserved bits when loading PDPTRS
    KVM: x86: set ctxt->have_exception in x86_decode_insn()
    KVM: x86: always stop emulation on page fault
    x86/retpolines: Fix up backport of a9d57ef15cbe
    parisc: Disable HP HSC-PCI Cards to prevent kernel crash
  * fuse: fix missing unlock_page in fuse_writepage()
      fs/fuse/file.c
    ALSA: hda/realtek - Fixup mute led on HP Spectre x360
    randstruct: Check member structs in is_pure_ops_struct()
    IB/hfi1: Define variables as unsigned long to fix KASAN warning
  * printk: Do not lose last line in kmsg buffer dump
      kernel/printk/printk.c
    scsi: scsi_dh_rdac: zero cdb in send_mode_select()
    ALSA: firewire-tascam: check intermediate state of clock status and retry
    ALSA: firewire-tascam: handle error code when getting current source of clock
  * PM / devfreq: passive: fix compiler warning
      drivers/devfreq/governor_passive.c
    media: omap3isp: Set device on omap3isp subdevs
    btrfs: extent-tree: Make sure we only allocate extents from block groups with the same type
    ALSA: hda/realtek - Blacklist PC beep for Lenovo ThinkCentre M73/93
    media: ttusb-dec: Fix info-leak in ttusb_dec_send_command()
    drm/amd/powerplay/smu7: enforce minimal VBITimeout (v2)
    ALSA: hda - Drop unsol event handler for Intel HDMI codecs
    e1000e: add workaround for possible stalled packet
    libertas: Add missing sentinel at end of if_usb.c fw_table
    raid5: don't increment read_errors on EILSEQ return
    mmc: sdhci: Fix incorrect switch to HS mode
    mmc: core: Clarify sdio_irq_pending flag for MMC_CAP2_SDIO_IRQ_NOTHREAD
    raid5: don't set STRIPE_HANDLE to stripe which is in batch list
    ASoC: dmaengine: Make the pcm->name equal to pcm->id if the name is not set
    s390/crypto: xts-aes-s390 fix extra run-time crypto self tests finding
  * kprobes: Prohibit probing on BUG() and WARN() address
      include/linux/bug.h
    dmaengine: ti: edma: Do not reset reserved paRAM slots
    md/raid1: fail run raid1 array when active disk less than one
    hwmon: (acpi_power_meter) Change log level for 'unsafe software power cap'
    ACPI / PCI: fix acpi_pci_irq_enable() memory leak
    ACPI: custom_method: fix memory leaks
    ARM: dts: exynos: Mark LDO10 as always-on on Peach Pit/Pi Chromebooks
    libtraceevent: Change users plugin directory
  * iommu/iova: Avoid false sharing on fq_timer_on
      drivers/iommu/iova.c
    iommu/amd: Silence warnings under memory pressure
    nvmet: fix data units read and written counters in SMART log
  * arm64: kpti: ensure patched kernel text is fetched from PoU
      arch/arm64/mm/proc.S
    ACPI / CPPC: do not require the _PSD method
    ASoC: es8316: fix headphone mixer volume table
    media: ov9650: add a sanity check
    perf trace beauty ioctl: Fix off-by-one error in cmd->string table
    media: saa7134: fix terminology around saa7134_i2c_eeprom_md7134_gate()
    media: cpia2_usb: fix memory leaks
    media: saa7146: add cleanup in hexium_attach()
    media: cec-notifier: clear cec_adap in cec_notifier_unregister
    PM / devfreq: exynos-bus: Correct clock enable sequence
  * PM / devfreq: passive: Use non-devm notifiers
      drivers/devfreq/governor_passive.c
    EDAC/amd64: Decode syndrome before translating address
    EDAC/amd64: Recognize DRAM device type ECC capability
    libperf: Fix alignment trap with xyarray contents in 'perf stat'
    media: dvb-core: fix a memory leak bug
    nbd: add missing config put
    media: hdpvr: add terminating 0 at end of string
    media: radio/si470x: kill urb on error
    ARM: dts: imx7d: cl-som-imx7: make ethernet work again
    net: lpc-enet: fix printk format strings
    media: imx: mipi csi-2: Don't fail if initial state times-out
    media: omap3isp: Don't set streaming state on random subdevs
    media: i2c: ov5645: Fix power sequence
    perf record: Support aarch64 random socket_id assignment
    dmaengine: iop-adma: use correct printk format strings
    media: rc: imon: Allow iMON RC protocol for ffdc 7e device
    media: fdp1: Reduce FCP not found message level to debug
    media: mtk-mdp: fix reference count on old device tree
    perf test vfs_getname: Disable ~/.perfconfig to get default output
    media: gspca: zero usb_buf on error
  * sched/fair: Use rq_lock/unlock in online_fair_sched_group
      kernel/sched/fair.c
    efi: cper: print AER info of PCIe fatal error
    EDAC, pnd2: Fix ioremap() size in dnv_rd_reg()
    ACPI / processor: don't print errors for processorIDs == 0xff
    md: don't set In_sync if array is frozen
    md: don't call spare_active in md_reap_sync_thread if all member devices can't work
    md/raid1: end bio when the device faulty
    ASoC: rsnd: don't call clk_get_rate() under atomic context
    EDAC/altera: Use the proper type for the IRQ status bits
    ia64:unwind: fix double free for mod->arch.init_unw_table
  * ALSA: usb-audio: Skip bSynchAddress endpoint check if it is invalid
      sound/usb/pcm.c
  * base: soc: Export soc_device_register/unregister APIs
      drivers/base/soc.c
    media: iguanair: add sanity checks
  * EDAC/mc: Fix grain_bits calculation
      drivers/edac/edac_mc.c
    ALSA: i2c: ak4xxx-adda: Fix a possible null pointer dereference in build_adc_controls()
    ALSA: hda - Show the fatal CORB/RIRB error more clearly
    x86/apic: Soft disable APIC before initializing it
    x86/reboot: Always use NMI fallback when shutdown via reboot vector IPI fails
  * sched/core: Fix CPU controller for !RT_GROUP_SCHED
      kernel/sched/core.c
  * sched/fair: Fix imbalance due to CPU affinity
      kernel/sched/fair.c
    media: i2c: ov5640: Check for devm_gpiod_get_optional() error
    media: hdpvr: Add device num check and handling
    media: exynos4-is: fix leaked of_node references
    media: mtk-cir: lower de-glitch counter for rc-mm protocol
    media: dib0700: fix link error for dibx000_i2c_set_speed
    leds: leds-lp5562 allow firmware files up to the maximum length
    dmaengine: bcm2835: Print error in case setting DMA mask fails
    ASoC: sgtl5000: Fix charge pump source assignment
    regulator: lm363x: Fix off-by-one n_voltages for lm3632 ldo_vpos/ldo_vneg
    ALSA: hda: Flush interrupts on disabling
    nfc: enforce CAP_NET_RAW for raw sockets
    ieee802154: enforce CAP_NET_RAW for raw sockets
    ax25: enforce CAP_NET_RAW for raw sockets
    appletalk: enforce CAP_NET_RAW for raw sockets
    mISDN: enforce CAP_NET_RAW for raw sockets
    net/mlx5: Add device ID of upcoming BlueField-2
  * usbnet: sanity checking of packet sizes and device mtu
      drivers/net/usb/usbnet.c
  * usbnet: ignore endpoints with invalid wMaxPacketSize
      drivers/net/usb/usbnet.c
    skge: fix checksum byte order
  * sch_netem: fix a divide by zero in tabledist()
      net/sched/sch_netem.c
  * ppp: Fix memory leak in ppp_write
      drivers/net/ppp/ppp_generic.c
    openvswitch: change type of UPCALL_PID attribute to NLA_UNSPEC
  * net_sched: add max len check for TCA_KIND
      net/sched/sch_api.c
    net/sched: act_sample: don't push mac header on ip6gre ingress
  * net: qrtr: Stop rx_worker before freeing node
      net/qrtr/qrtr.c
    net/phy: fix DP83865 10 Mbps HDX loopback disable function
    macsec: drop skb sk before calling gro_cells_receive
  * cdc_ncm: fix divide-by-zero caused by invalid wMaxPacketSize
      drivers/net/usb/cdc_ncm.c
    arcnet: provide a buffer big enough to actually receive packets
  * f2fs: use generic EFSBADCRC/EFSCORRUPTED
      fs/f2fs/checkpoint.c
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/inline.c
      fs/f2fs/inode.c
      fs/f2fs/node.c
      fs/f2fs/recovery.c
      fs/f2fs/segment.c
      fs/f2fs/segment.h
      fs/f2fs/super.c
    Bluetooth: btrtl: Additional Realtek 8822CE Bluetooth devices
    xfs: don't crash on null attr fork xfs_bmapi_read
    ACPI: video: Add new hw_changes_brightness quirk, set it on PB Easynote MZ35
    net: don't warn in inet diag when IPV6 is disabled
  * drm: Flush output polling on shutdown
      drivers/gpu/drm/drm_probe_helper.c
  * f2fs: fix to do sanity check on segment bitmap of LFS curseg
      fs/f2fs/segment.c
    dm zoned: fix invalid memory access
  * Revert "f2fs: avoid out-of-range memory access"
      fs/f2fs/segment.c
  * blk-mq: move cancel of requeue_work to the front of blk_exit_queue
      block/blk-mq.c
      block/blk-sysfs.c
    PCI: hv: Avoid use of hv_pci_dev->pci_slot after freeing it
  * f2fs: check all the data segments against all node ones
      fs/f2fs/super.c
  * irqchip/gic-v3-its: Fix LPI release for Multi-MSI devices
      drivers/irqchip/irq-gic-v3-its.c
    locking/lockdep: Add debug_locks check in __lock_downgrade()
  * power: supply: sysfs: ratelimit property read error message
      drivers/power/supply/power_supply_sysfs.c
    pinctrl: sprd: Use define directive for sprd_pinconf_params values
    objtool: Clobber user CFLAGS variable
    ALSA: hda - Apply AMD controller workaround for Raven platform
    ALSA: hda - Add laptop imic fixup for ASUS M9V laptop
  * arm64: kpti: Whitelist Cortex-A CPUs that don't implement the CSV3 field
      arch/arm64/kernel/cpufeature.c
    ASoC: fsl: Fix of-node refcount unbalance in fsl_ssi_probe_from_dt()
    media: tvp5150: fix switch exit in set control handler
    iwlwifi: mvm: send BCAST management frames to the right station
    crypto: talitos - fix missing break in switch statement
    mtd: cfi_cmdset_0002: Use chip_good() to retry in do_write_oneword()
    HID: hidraw: Fix invalid read in hidraw_ioctl
    HID: logitech: Fix general protection fault caused by Logitech driver
  * HID: sony: Fix memory corruption issue on cleanup.
      drivers/hid/hid-sony.c
    HID: prodikeys: Fix general protection fault during probe
  * IB/core: Add an unbound WQ type to the new CQ API
      include/rdma/ib_verbs.h
  * objtool: Query pkg-config for libelf location
      Makefile
    powerpc/xive: Fix bogus error code returned by OPAL
  * Revert "Bluetooth: validate BLE connection interval updates"
      net/bluetooth/hci_event.c
      net/bluetooth/l2cap_core.c
  * BACKPORT: block: annotate refault stalls from IO submission
      block/bio.c
      block/blk-core.c
      include/linux/blk_types.h
  * ext4: add verity flag check for dax
      fs/ext4/inode.c
  * ANDROID: usb: gadget: Fix dependency for f_accessory
      drivers/usb/gadget/Kconfig
  * ANDROID: sched: fair: balance for single core cluster
      kernel/sched/fair.c
    UPSTREAM: mm/kasan: fix false positive invalid-free reports with CONFIG_KASAN_SW_TAGS=y
  * f2fs: add a condition to detect overflow in f2fs_ioc_gc_range()
      fs/f2fs/file.c
  * f2fs: fix to add missing F2FS_IO_ALIGNED() condition
      fs/f2fs/data.c
      fs/f2fs/segment.c
  * f2fs: fix to fallback to buffered IO in IO aligned mode
      fs/f2fs/f2fs.h
  * f2fs: fix to handle error path correctly in f2fs_map_blocks
      fs/f2fs/data.c
  * f2fs: fix extent corrupotion during directIO in LFS mode
      fs/f2fs/data.c
  * f2fs: check all the data segments against all node ones
      fs/f2fs/super.c
  * f2fs: Add a small clarification to CONFIG_FS_F2FS_FS_SECURITY
      fs/f2fs/Kconfig
  * f2fs: fix inode rwsem regression
      fs/f2fs/file.c
  * f2fs: fix to avoid accessing uninitialized field of inode page in is_alive()
      fs/f2fs/dir.c
      fs/f2fs/inline.c
  * f2fs: avoid infinite GC loop due to stale atomic files
      fs/f2fs/file.c
      fs/f2fs/segment.c
  * f2fs: Fix indefinite loop in f2fs_gc()
      fs/f2fs/gc.c
  * f2fs: convert inline_data in prior to i_size_write
      fs/f2fs/file.c
  * f2fs: fix error path of f2fs_convert_inline_page()
      fs/f2fs/inline.c
    f2fs: add missing documents of reserve_root/resuid/resgid
  * f2fs: fix flushing node pages when checkpoint is disabled
      fs/f2fs/node.c
  * f2fs: enhance f2fs_is_checkpoint_ready()'s readability
      fs/f2fs/data.c
      fs/f2fs/file.c
      fs/f2fs/inode.c
      fs/f2fs/namei.c
      fs/f2fs/segment.c
      fs/f2fs/segment.h
      fs/f2fs/xattr.c
  * f2fs: clean up __bio_alloc()'s parameter
      fs/f2fs/data.c
  * f2fs: fix wrong error injection path in inc_valid_block_count()
      fs/f2fs/f2fs.h
  * f2fs: fix to writeout dirty inode during node flush
      fs/f2fs/node.c
  * f2fs: optimize case-insensitive lookups
      fs/f2fs/dir.c
      fs/f2fs/f2fs.h
  * f2fs: introduce f2fs_match_name() for cleanup
      fs/f2fs/dir.c
  * f2fs: Fix indefinite loop in f2fs_gc()
      fs/f2fs/gc.c
      fs/f2fs/segment.c
      fs/f2fs/segment.h
  * f2fs: allocate memory in batch in build_sit_info()
      fs/f2fs/segment.c
      fs/f2fs/segment.h
  * f2fs: fix to avoid data corruption by forbidding SSR overwrite
      fs/f2fs/segment.c
  * f2fs: Fix build error while CONFIG_NLS=m
      fs/f2fs/Kconfig
  * Revert "f2fs: avoid out-of-range memory access"
      fs/f2fs/segment.c
  * f2fs: cleanup the code in build_sit_entries.
      fs/f2fs/segment.c
  * f2fs: fix wrong available node count calculation
      fs/f2fs/node.c
      fs/f2fs/super.c
  * f2fs: remove duplicate code in f2fs_file_write_iter
      fs/f2fs/file.c
  * f2fs: fix to migrate blocks correctly during defragment
      fs/f2fs/file.c
  * f2fs: use wrapped f2fs_cp_error()
      fs/f2fs/inode.c
  * f2fs: fix to use more generic EOPNOTSUPP
      fs/f2fs/file.c
  * f2fs: use wrapped IS_SWAPFILE()
      fs/f2fs/f2fs.h
  * f2fs: Support case-insensitive file name lookups
      fs/f2fs/dir.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/hash.c
      fs/f2fs/inline.c
      fs/f2fs/inode.c
      fs/f2fs/namei.c
      fs/f2fs/super.c
  * f2fs: include charset encoding information in the superblock
      fs/f2fs/f2fs.h
      fs/f2fs/super.c
      fs/f2fs/sysfs.c
      include/linux/f2fs_fs.h
  * fs: Reserve flag for casefolding
      include/uapi/linux/fs.h
  * f2fs: fix to avoid call kvfree under spinlock
      fs/f2fs/f2fs.h
  * fs: f2fs: Remove unnecessary checks of SM_I(sbi) in update_general_status()
      fs/f2fs/debug.c
  * f2fs: disallow direct IO in atomic write
      fs/f2fs/file.c
  * f2fs: fix to handle quota_{on,off} correctly
      fs/f2fs/super.c
  * f2fs: fix to detect cp error in f2fs_setxattr()
      fs/f2fs/xattr.c
  * f2fs: fix to spread f2fs_is_checkpoint_ready()
      fs/f2fs/file.c
      fs/f2fs/namei.c
      fs/f2fs/xattr.c
  * f2fs: support fiemap() for directory inode
      fs/f2fs/data.c
      fs/f2fs/inline.c
      fs/f2fs/namei.c
  * f2fs: fix to avoid discard command leak
      fs/f2fs/segment.c
  * f2fs: fix to avoid tagging SBI_QUOTA_NEED_REPAIR incorrectly
      fs/f2fs/inode.c
  * f2fs: fix to drop meta/node pages during umount
      fs/f2fs/super.c
  * f2fs: disallow switching io_bits option during remount
      fs/f2fs/super.c
  * f2fs: fix panic of IO alignment feature
      fs/f2fs/data.c
      fs/f2fs/super.c
      include/linux/f2fs_fs.h
  * f2fs: introduce {page,io}_is_mergeable() for readability
      fs/f2fs/data.c
  * f2fs: fix livelock in swapfile writes
      fs/f2fs/data.c
  * f2fs: add fs-verity support
      fs/f2fs/Makefile
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/inode.c
      fs/f2fs/super.c
      fs/f2fs/sysfs.c
      fs/f2fs/xattr.h
    ext4: update on-disk format documentation for fs-verity
  * ext4: add fs-verity read support
      fs/ext4/ext4.h
      fs/ext4/inode.c
      fs/ext4/readpage.c
      fs/ext4/super.c
  * ext4: add basic fs-verity support
      fs/ext4/Makefile
      fs/ext4/ext4.h
      fs/ext4/file.c
      fs/ext4/inode.c
      fs/ext4/ioctl.c
      fs/ext4/super.c
      fs/ext4/sysfs.c
  * fs-verity: support builtin file signatures
      fs/verity/Kconfig
  * fs-verity: add SHA-512 support
      include/uapi/linux/fsverity.h
  * fs-verity: implement FS_IOC_MEASURE_VERITY ioctl
      include/linux/fsverity.h
  * fs-verity: implement FS_IOC_ENABLE_VERITY ioctl
      include/linux/fsverity.h
  * fs-verity: add data verification hooks for ->readpages()
      include/linux/fsverity.h
  * fs-verity: add the hook for file ->setattr()
      include/linux/fsverity.h
  * fs-verity: add the hook for file ->open()
      include/linux/fsverity.h
  * fs-verity: add inode and superblock fields
      include/linux/fs.h
  * fs-verity: add Kconfig and the helper functions for hashing
      fs/Kconfig
      fs/Makefile
      fs/verity/Kconfig
  * fs: uapi: define verity bit for FS_IOC_GETFLAGS
      include/uapi/linux/fs.h
  * fs-verity: add UAPI header
      include/uapi/linux/fsverity.h
    fs-verity: add MAINTAINERS file entry
    fs-verity: add a documentation file
  * ext4: fix kernel oops caused by spurious casefold flag
      fs/ext4/dir.c
      fs/ext4/hash.c
      fs/ext4/inode.c
      fs/ext4/namei.c
  * ext4: fix coverity warning on error path of filename setup
      fs/ext4/namei.c
  * ext4: optimize case-insensitive lookups
      fs/ext4/dir.c
      fs/ext4/ext4.h
      fs/ext4/namei.c
      include/linux/unicode.h
  * ext4: fix dcache lookup of !casefolded directories
      fs/ext4/dir.c
    unicode: update to Unicode 12.1.0 final
    unicode: add missing check for an error return from utf8lookup()
  * ext4: export /sys/fs/ext4/feature/casefold if Unicode support is present
      fs/ext4/sysfs.c
  * unicode: refactor the rule for regenerating utf8data.h
      scripts/Makefile
  * ext4: Support case-insensitive file name lookups
      fs/ext4/dir.c
      fs/ext4/ext4.h
      fs/ext4/hash.c
      fs/ext4/ialloc.c
      fs/ext4/inline.c
      fs/ext4/inode.c
      fs/ext4/ioctl.c
      fs/ext4/namei.c
      fs/ext4/super.c
      include/linux/fs.h
  * ext4: include charset encoding information in the superblock
      fs/ext4/ext4.h
      fs/ext4/super.c
    unicode: update unicode database unicode version 12.1.0
  * unicode: introduce test module for normalized utf8 implementation
      fs/unicode/Kconfig
  * unicode: implement higher level API for string handling
      include/linux/unicode.h
    unicode: reduce the size of utf8data[]
    unicode: introduce code for UTF-8 normalization
  * unicode: introduce UTF-8 character database
      fs/Kconfig
      fs/Makefile
      fs/unicode/Kconfig
      scripts/Makefile
  * ext4 crypto: fix to check feature status before get policy
      fs/ext4/ioctl.c
    fscrypt: document the new ioctls and policy version
    ubifs: wire up new fscrypt ioctls
  * f2fs: wire up new fscrypt ioctls
      fs/f2fs/file.c
      fs/f2fs/super.c
  * ext4: wire up new fscrypt ioctls
      fs/ext4/ioctl.c
      fs/ext4/super.c
  * fscrypt: require that key be added when setting a v2 encryption policy
      fs/crypto/fscrypt_private.h
      fs/crypto/keyring.c
      fs/crypto/policy.c
  * fscrypt: add FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS ioctl
      fs/crypto/keyring.c
      include/linux/fscrypt.h
      include/uapi/linux/fscrypt.h
  * fscrypt: allow unprivileged users to add/remove keys for v2 policies
      fs/crypto/fscrypt_private.h
      fs/crypto/keyring.c
      fs/crypto/keysetup.c
      include/uapi/linux/fscrypt.h
  * fscrypt: v2 encryption policy support
      fs/crypto/crypto.c
      fs/crypto/fname.c
      fs/crypto/fscrypt_private.h
      fs/crypto/keyring.c
      fs/crypto/keysetup.c
      fs/crypto/keysetup_v1.c
      fs/crypto/policy.c
      include/linux/fscrypt.h
      include/uapi/linux/fscrypt.h
  * fscrypt: add an HKDF-SHA512 implementation
      fs/crypto/Kconfig
      fs/crypto/Makefile
      fs/crypto/fscrypt_private.h
      fs/crypto/hkdf.c
  * fscrypt: add FS_IOC_GET_ENCRYPTION_KEY_STATUS ioctl
      fs/crypto/keyring.c
      include/linux/fscrypt.h
      include/uapi/linux/fscrypt.h
  * fscrypt: add FS_IOC_REMOVE_ENCRYPTION_KEY ioctl
      fs/crypto/fscrypt_private.h
      fs/crypto/keyring.c
      fs/crypto/keysetup.c
      include/linux/fscrypt.h
      include/uapi/linux/fscrypt.h
  * fscrypt: add FS_IOC_ADD_ENCRYPTION_KEY ioctl
      fs/crypto/Makefile
      fs/crypto/crypto.c
      fs/crypto/fscrypt_private.h
      fs/crypto/keyring.c
      fs/crypto/keysetup.c
      fs/super.c
      include/linux/fs.h
      include/linux/fscrypt.h
      include/uapi/linux/fscrypt.h
  * fscrypt: rename keyinfo.c to keysetup.c
      fs/crypto/Makefile
      fs/crypto/fscrypt_private.h
      include/linux/fscrypt.h
  * fscrypt: move v1 policy key setup to keysetup_v1.c
      fs/crypto/Makefile
      fs/crypto/fscrypt_private.h
      fs/crypto/keysetup_v1.c
  * fscrypt: refactor key setup code in preparation for v2 policies
      fs/crypto/fscrypt_private.h
  * fscrypt: rename fscrypt_master_key to fscrypt_direct_key
      fs/crypto/fscrypt_private.h
  * fscrypt: add ->ci_inode to fscrypt_info
      fs/crypto/fscrypt_private.h
  * fscrypt: use FSCRYPT_* definitions, not FS_*
      fs/crypto/crypto.c
      fs/crypto/fname.c
      fs/crypto/fscrypt_private.h
      fs/crypto/policy.c
      include/uapi/linux/fscrypt.h
  * fscrypt: use FSCRYPT_ prefix for uapi constants
      include/uapi/linux/fscrypt.h
  * fs, fscrypt: move uapi definitions to new header <linux/fscrypt.h>
      include/linux/fscrypt.h
      include/uapi/linux/fs.h
      include/uapi/linux/fscrypt.h
    fscrypt: use ENOPKG when crypto API support missing
    fscrypt: improve warnings for missing crypto API support
    fscrypt: improve warning messages for unsupported encryption contexts
  * fscrypt: make fscrypt_msg() take inode instead of super_block
      fs/crypto/crypto.c
      fs/crypto/fname.c
      fs/crypto/fscrypt_private.h
      fs/crypto/hooks.c
  * fscrypt: clean up base64 encoding/decoding
      fs/crypto/fname.c
  * fscrypt: remove loadable module related code
      fs/crypto/crypto.c
      fs/crypto/fscrypt_private.h
    Merge 4.14.146 into android-4.14
Linux 4.14.146
    media: technisat-usb2: break out of loop at end of buffer
  * tcp: Don't dequeue SYN/FIN-segments from write-queue
      net/ipv4/tcp.c
  * tcp: Reset send_head when removing skb from write-queue
      net/ipv4/tcp.c
  * binfmt_elf: move brk out of mmap when doing direct loader exec
      fs/binfmt_elf.c
    floppy: fix usercopy direction
    PCI: kirin: Fix section mismatch warning
    iommu/amd: Fix race in increase_address_space()
    iommu/amd: Flush old domains in kdump kernel
  * keys: Fix missing null pointer check in request_key_auth_describe()
      security/keys/request_key_auth.c
    x86/hyper-v: Fix overflow bug in fill_gva_list()
    x86/uaccess: Don't leak the AC flags into __get_user() argument evaluation
    dmaengine: ti: omap-dma: Add cleanup in omap_dma_probe()
    dmaengine: ti: dma-crossbar: Fix a memory leak bug
    net: seeq: Fix the function used to release some memory in an error handling path
    tools/power turbostat: fix buffer overrun
    tools/power x86_energy_perf_policy: Fix argument parsing
    tools/power x86_energy_perf_policy: Fix "uninitialized variable" warnings at -O2
    amd-xgbe: Fix error path in xgbe_mod_init()
    perf/x86/amd/ibs: Fix sample bias for dispatched micro-ops
    perf/x86/intel: Restrict period on Nehalem
    i2c: designware: Synchronize IRQs when unregistering slave client
    sky2: Disable MSI on yet another ASUS boards (P6Xxxx)
    ARM: 8901/1: add a criteria for pfn_valid of arm
    cifs: Use kzfree() to zero out the password
    cifs: set domainName when a domain-key is used in multiuser
  * kallsyms: Don't let kallsyms_lookup_size_offset() fail on retrieving the first symbol
      kernel/kallsyms.c
    NFSv2: Fix write regression
    NFSv2: Fix eof handling
  * netfilter: nf_conntrack_ftp: Fix debug output
      net/netfilter/nf_conntrack_ftp.c
    x86/apic: Fix arch_dynirq_lower_bound() bug for DT enabled machines
  * r8152: Set memory to all 0xFFs on failed reg reads
      drivers/net/usb/r8152.c
    batman-adv: Only read OGM2 tvlv_len after buffer len check
    ARM: 8874/1: mm: only adjust sections of valid mm structures
    qed: Add cleanup in qed_slowpath_start()
  * Kconfig: Fix the reference to the IDT77105 Phy driver in the description of ATM_NICSTAR_USE_IDT77105
      drivers/atm/Kconfig
    NFS: Fix initialisation of I/O result struct in nfs_pgio_rpcsetup
    NFSv4: Fix return value in nfs_finish_open()
    NFSv4: Fix return values for nfs4_file_open()
    netfilter: xt_nfacct: Fix alignment mismatch in xt_nfacct_match_info
    fpga: altera-ps-spi: Fix getting of optional confd gpio
    s390/bpf: use 32-bit index for tail calls
    ARM: dts: dra74x: Fix iodelay configuration for mmc3
    ARM: OMAP2+: Fix omap4 errata warning on other SoCs
    s390/bpf: fix lcgr instruction encoding
    ARM: OMAP2+: Fix missing SYSC_HAS_RESET_STATUS for dra7 epwmss
  * nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds
      net/wireless/nl80211.c
    mwifiex: Fix three heap overflow at parsing element in cfg80211_ap_settings
    tty/serial: atmel: reschedule TX after RX was started
    serial: sprd: correct the wrong sequence of arguments
    firmware: google: check if size is valid when decoding VPD data
    KVM: coalesced_mmio: add bounds checking
  * net_sched: let qdisc_put() accept NULL pointer
      net/sched/sch_generic.c
    xen-netfront: do not assume sk_buff_head list is empty in error handling
    media: tm6000: double free if usb disconnect while streaming
    phy: renesas: rcar-gen3-usb2: Disable clearing VBUS in over-current
  * USB: usbcore: Fix slab-out-of-bounds bug during device reset
      drivers/usb/core/config.c
    powerpc/mm/radix: Use the right page size for vmemmap mapping
    Input: elan_i2c - remove Lenovo Legion Y7000 PnpID
    HID: wacom: generic: read HID_DG_CONTACTMAX from any feature report
    ANDROID: arm64: bpf: implement arch_bpf_jit_check_func
  * ANDROID: bpf: validate bpf_func when BPF_JIT is enabled with CFI
      include/linux/filter.h
      kernel/bpf/core.c
      net/Kconfig
    UPSTREAM: kcm: use BPF_PROG_RUN
  * UPSTREAM: psi: get poll_work to run when calling poll syscall next time
      kernel/sched/psi.c
  * UPSTREAM: sched/psi: Do not require setsched permission from the trigger creator
      kernel/sched/psi.c
  * UPSTREAM: sched/psi: Reduce psimon FIFO priority
      kernel/sched/psi.c
    Merge 4.14.145 into android-4.14
Linux 4.14.145
    x86/build: Add -Wnoaddress-of-packed-member to REALMODE_CFLAGS, to silence GCC9 build warning
  * nvmem: Use the same permissions for eeprom as for nvmem
      drivers/nvmem/core.c
    platform/x86: pmc_atom: Add CB4063 Beckhoff Automation board to critclk_systems DMI table
    Revert "Bluetooth: btusb: driver to enable the usb-wakeup feature"
    drm/mediatek: mtk_drm_drv.c: Add of_node_put() before goto
    firmware: ti_sci: Always request response from firmware
    crypto: talitos - HMAC SNOOP NO AFEU mode requires SW icv checking.
    crypto: talitos - Do not modify req->cryptlen on decryption.
    crypto: talitos - fix ECB algs ivsize
    crypto: talitos - check data blocksize in ablkcipher.
    crypto: talitos - fix CTR alg blocksize
    crypto: talitos - check AES key size
  * driver core: Fix use-after-free and double free on glue directory
      drivers/base/core.c
    ubifs: Correctly use tnc_next() in search_dh_cookie()
  * PCI: Always allow probing with driver_override
      drivers/pci/pci-driver.c
    mtd: rawnand: mtk: Fix wrongly assigned OOB buffer pointer issue
    clk: rockchip: Don't yell about bad mmc phases when getting
    drm/meson: Add support for XBGR8888 & ABGR8888 formats
    powerpc: Add barrier_nospec to raw_copy_in_user()
    MIPS: VDSO: Use same -m%-float cflag as the kernel proper
    MIPS: VDSO: Prevent use of smp_processor_id()
    KVM: nVMX: handle page fault in vmread
    KVM: x86: work around leak of uninitialized stack contents
    KVM: s390: Do not leak kernel stack data in the KVM_S390_INTERRUPT ioctl
  * genirq: Prevent NULL pointer dereference in resend_irqs()
      kernel/irq/resend.c
    Btrfs: fix assertion failure during fsync and use of stale transaction
  * gpio: fix line flag validation in lineevent_create
      drivers/gpio/gpiolib.c
  * gpio: fix line flag validation in linehandle_create
      drivers/gpio/gpiolib.c
    gpiolib: acpi: Add gpiolib_acpi_run_edge_events_on_boot option and blacklist
    Revert "MIPS: SiByte: Enable swiotlb for SWARM, LittleSur and BigSur"
    btrfs: correctly validate compression type
    btrfs: compression: add helper for type to string conversion
  * tun: fix use-after-free when register netdev failed
      drivers/net/tun.c
    tipc: add NULL pointer check before calling kfree_rcu
  * tcp: fix tcp_ecn_withdraw_cwr() to clear TCP_ECN_QUEUE_CWR
      net/ipv4/tcp_input.c
    sctp: use transport pf_retrans in sctp_do_8_2_transport_strike
    sctp: Fix the link time qualifier of 'sctp_ctrlsock_exit()'
    sch_hhf: ensure quantum and hhf_non_hh_weight are non-zero
    net: phylink: Fix flow control resolution
  * net: gso: Fix skb_segment splat when splitting gso_size mangled skb having linear-headed frag_list
      net/core/skbuff.c
  * net: Fix null de-reference of device refcount
      net/core/dev.c
    isdn/capi: check message length in capi_write()
  * ipv6: Fix the link time qualifier of 'ping_v6_proc_exit_net()'
      net/ipv6/ping.c
  * cdc_ether: fix rndis support for Mediatek based smartphones
      drivers/net/usb/cdc_ether.c
  * bridge/mdb: remove wrong use of NLM_F_MULTI
      net/bridge/br_mdb.c
    Merge remote-tracking branch 'origin/upstream-f2fs-stable-linux-4.14.y' into android-4.14
  * BACKPORT: arm64: Add support for relocating the kernel with RELR relocations
      Makefile
      arch/Kconfig
      arch/arm64/Kconfig
      arch/arm64/kernel/head.S
      arch/arm64/kernel/vmlinux.lds.S
      init/Kconfig
  * ANDROID: Log which device failed to suspend in dpm_suspend_start()
      drivers/base/power/main.c
      kernel/power/suspend.c
  * ANDROID: Revert "ANDROID: sched: Disallow WALT with CFS bandwidth control"
      init/Kconfig
  * ANDROID: sched: WALT: Add support for CFS_BANDWIDTH
      kernel/sched/fair.c
  * ANDROID: sched: WALT: Refactor cumulative runnable average fixup
      kernel/sched/deadline.c
      kernel/sched/fair.c
      kernel/sched/rt.c
      kernel/sched/sched.h
      kernel/sched/stop_task.c
      kernel/sched/walt.h
    Merge 4.14.144 into android-4.14
Linux 4.14.144
    vhost: make sure log_num < in_num
  * kernel/module: Fix mem leak in module_add_modinfo_attrs
      kernel/module.c
    clk: s2mps11: Add used attribute to s2mps11_dt_match
    scripts/decode_stacktrace: match basepath using shell prefix operator, not regex
    arm64: dts: rockchip: enable usb-host regulators at boot on rk3328-rock64
    powerpc/64: mark start_here_multiplatform as __ref
    hv_sock: Fix hang when a connection is closed
    batman-adv: Only read OGM tvlv_len after buffer len check
    batman-adv: fix uninit-value in batadv_netlink_get_ifindex()
    vhost/test: fix build for vhost test
    PCI: dra7xx: Fix legacy INTD IRQ handling
    PCI: designware-ep: Fix find_first_zero_bit() usage
  * ip6: fix skb leak in ip6frag_expire_frag_queue()
      include/net/ipv6_frag.h
  * xfrm: clean up xfrm protocol checks
      include/net/xfrm.h
      net/key/af_key.c
      net/xfrm/xfrm_state.c
      net/xfrm/xfrm_user.c
    powerpc/tm: Fix FP/VMX unavailable exceptions inside a transaction
    drm/vmwgfx: Fix double free in vmw_recv_msg()
  * sched/fair: Don't assign runtime for throttled cfs_rq
      kernel/sched/fair.c
    ALSA: hda/realtek - Fix the problem of two front mics on a ThinkCentre
    ALSA: hda/realtek - Fix overridden device-specific initialization
    ALSA: hda - Fix potential endless loop at applying quirks
    fscrypt: document testing with xfstests
  * fscrypt: remove selection of CONFIG_CRYPTO_SHA256
      fs/crypto/Kconfig
  * fscrypt: remove unnecessary includes of ratelimit.h
      fs/crypto/fname.c
      fs/crypto/hooks.c
  * fscrypt: don't set policy for a dead directory
      fs/crypto/policy.c
  * fscrypt: decrypt only the needed blocks in __fscrypt_decrypt_bio()
      fs/crypto/bio.c
  * fscrypt: support decrypting multiple filesystem blocks per page
      fs/crypto/bio.c
      fs/crypto/crypto.c
      fs/ext4/inode.c
      include/linux/fscrypt.h
  * fscrypt: introduce fscrypt_decrypt_block_inplace()
      fs/crypto/crypto.c
      include/linux/fscrypt.h
  * fscrypt: handle blocksize < PAGE_SIZE in fscrypt_zeroout_range()
      fs/crypto/bio.c
  * fscrypt: support encrypting multiple filesystem blocks per page
      fs/crypto/crypto.c
      fs/ext4/page-io.c
      fs/f2fs/data.c
      include/linux/fscrypt.h
  * fscrypt: introduce fscrypt_encrypt_block_inplace()
      fs/crypto/crypto.c
      include/linux/fscrypt.h
  * fscrypt: clean up some BUG_ON()s in block encryption/decryption
      fs/crypto/crypto.c
  * fscrypt: rename fscrypt_do_page_crypto() to fscrypt_crypt_block()
      fs/crypto/bio.c
      fs/crypto/crypto.c
      fs/crypto/fscrypt_private.h
  * fscrypt: remove the "write" part of struct fscrypt_ctx
      fs/crypto/bio.c
      fs/crypto/crypto.c
      include/linux/fscrypt.h
  * fscrypt: simplify bounce page handling
      fs/crypto/bio.c
      fs/crypto/crypto.c
      fs/crypto/fscrypt_private.h
      fs/ext4/page-io.c
      fs/f2fs/data.c
      include/linux/fscrypt.h

Change-Id: I15fbf188f7373d8ef3c58e06ec09174054909a1d
Signed-off-by: Robin Peng <robinpeng@google.com>
2019-11-01 12:29:45 +08:00
Wanpeng Li
859cc32316 Revert "locking/pvqspinlock: Don't wait if vCPU is preempted"
commit 89340d0935c9296c7b8222b6eab30e67cb57ab82 upstream.

This patch reverts commit 75437bb304 (locking/pvqspinlock: Don't
wait if vCPU is preempted).  A large performance regression was caused
by this commit.  on over-subscription scenarios.

The test was run on a Xeon Skylake box, 2 sockets, 40 cores, 80 threads,
with three VMs of 80 vCPUs each.  The score of ebizzy -M is reduced from
13000-14000 records/s to 1700-1800 records/s:

          Host                Guest                score

vanilla w/o kvm optimizations     upstream    1700-1800 records/s
vanilla w/o kvm optimizations     revert      13000-14000 records/s
vanilla w/ kvm optimizations      upstream    4500-5000 records/s
vanilla w/ kvm optimizations      revert      14000-15500 records/s

Exit from aggressive wait-early mechanism can result in premature yield
and extra scheduling latency.

Actually, only 6% of wait_early events are caused by vcpu_is_preempted()
being true.  However, when one vCPU voluntarily releases its vCPU, all
the subsequently waiters in the queue will do the same and the cascading
effect leads to bad performance.

kvm optimizations:
[1] commit d73eb57b80b (KVM: Boost vCPUs that are delivering interrupts)
[2] commit 266e85a5ec9 (KVM: X86: Boost queue head vCPU to mitigate lock waiter preemption)

Tested-by: loobinliu@tencent.com
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Waiman Long <longman@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: loobinliu@tencent.com
Cc: stable@vger.kernel.org
Fixes: 75437bb304 (locking/pvqspinlock: Don't wait if vCPU is preempted)
Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-10-11 18:18:36 +02:00
Waiman Long
885c898a00 locking/lockdep: Add debug_locks check in __lock_downgrade()
[ Upstream commit 71492580571467fb7177aade19c18ce7486267f5 ]

Tetsuo Handa had reported he saw an incorrect "downgrading a read lock"
warning right after a previous lockdep warning. It is likely that the
previous warning turned off lock debugging causing the lockdep to have
inconsistency states leading to the lock downgrade warning.

Fix that by add a check for debug_locks at the beginning of
__lock_downgrade().

Debugged-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Reported-by: syzbot+53383ae265fb161ef488@syzkaller.appspotmail.com
Signed-off-by: Waiman Long <longman@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will.deacon@arm.com>
Link: https://lkml.kernel.org/r/1547093005-26085-1-git-send-email-longman@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-10-05 12:47:36 +02:00
Robin Peng
8950883106 Merge android-4.14-r (4.14.136) into android-msm-floral-4.14-lts
Merge 4.14.136 into android-4.14
Linux 4.14.136
  * ip_tunnel: allow not to count pkts on tstats by setting skb's dev to NULL
      net/ipv4/ip_tunnel_core.c
    ceph: hold i_ceph_lock when removing caps for freeing inode
    Fix allyesconfig output.
    drivers/pps/pps.c: clear offset flags in PPS_SETPARAMS ioctl
  * sched/fair: Don't free p->numa_faults with concurrent readers
      fs/exec.c
      include/linux/sched/numa_balancing.h
      kernel/fork.c
      kernel/sched/fair.c
    Bluetooth: hci_uart: check for missing tty operations
    hv_sock: Add support for delayed close
  * iommu/iova: Fix compilation error with !CONFIG_IOMMU_IOVA
      include/linux/iova.h
  * iommu/vt-d: Don't queue_iova() if there is no flush queue
      drivers/iommu/iova.c
      include/linux/iova.h
    media: radio-raremono: change devm_k*alloc to k*alloc
    NFS: Cleanup if nfs_match_client is interrupted
    media: pvrusb2: use a different format for warnings
    media: cpia2_usb: first wake up, then free in disconnect
    ath10k: Change the warning message string
    media: au0828: fix null dereference in error path
    ISDN: hfcsusb: checking idx of ep configuration
  * binder: fix possible UAF when freeing buffer
      drivers/android/binder.c
  * arm64: compat: Provide definition for COMPAT_SIGMINSTKSZ
      arch/arm64/include/asm/compat.h
    i2c: qup: fixed releasing dma without flush operation completion
    arm64: dts: marvell: Fix A37xx UART0 register size
    NFSv4: Fix lookup revalidate of regular files
    NFS: Refactor nfs_lookup_revalidate()
    NFS: Fix dentry revalidation on NFSv4 lookup
    vsock: correct removal of socket from the list
    VSOCK: use TCP state constants for sk_state
    Merge remote-tracking branch 'origin/upstream-f2fs-stable-linux-4.14.y' into android-4.14
    ANDROID: fix up 9p filesystem due to CFI non-upstream patches
    Merge 4.14.135 into android-4.14
Linux 4.14.135
  * access: avoid the RCU grace period for the temporary subjective credentials
      fs/open.c
      include/linux/cred.h
      kernel/cred.c
    powerpc/tm: Fix oops on sigreturn on systems without TM
    powerpc/xive: Fix loop exit-condition in xive_find_target_in_mask()
    ALSA: hda - Add a conexant codec entry to let mute led work
    ALSA: line6: Fix wrong altsetting for LINE6_PODHD500_1
    hpet: Fix division by zero in hpet_time_div()
  * fpga-manager: altera-ps-spi: Fix build error
      drivers/fpga/Kconfig
  * binder: prevent transactions to context manager from its own process.
      drivers/android/binder.c
    x86/speculation/mds: Apply more accurate check on hypervisor platform
    x86/sysfb_efi: Add quirks for some devices with swapped width and height
    btrfs: inode: Don't compress if NODATASUM or NODATACOW set
    KVM: nVMX: do not use dangling shadow VMCS after guest reset
  * usb: pci-quirks: Correct AMD PLL quirk detection
      drivers/usb/host/pci-quirks.c
    usb: wusbcore: fix unbalanced get/put cluster_id
  * drm/crc-debugfs: Also sprinkle irqrestore over early exits
      drivers/gpu/drm/drm_debugfs_crc.c
  * drm/crc: Only report a single overflow when a CRC fd is opened
      drivers/gpu/drm/drm_debugfs_crc.c
      include/drm/drm_debugfs_crc.h
    locking/lockdep: Hide unused 'class' variable
    locking/lockdep: Fix lock used or unused stats error
    mm/mmu_notifier: use hlist_add_head_rcu()
  * mm/gup.c: remove some BUG_ONs from get_gate_page()
      mm/gup.c
  * mm/gup.c: mark undo_dev_pagemap as __maybe_unused
      mm/gup.c
    9p: pass the correct prototype to read_cache_page
    mm/kmemleak.c: fix check for softirq context
    sh: prevent warnings when using iounmap
    block/bio-integrity: fix a memory leak bug
    powerpc/eeh: Handle hugepages in ioremap space
  * mailbox: handle failed named mailbox channel request
      drivers/mailbox/mailbox.c
  * f2fs: avoid out-of-range memory access
      fs/f2fs/segment.c
    powerpc/boot: add {get, put}_unaligned_be32 to xz_config.h
    PCI: dwc: pci-dra7xx: Fix compilation when !CONFIG_GPIOLIB
    RDMA/rxe: Fill in wc byte_len with IB_WC_RECV_RDMA_WITH_IMM
    perf annotate: Fix dereferencing freed memory found by the smatch tool
    perf session: Fix potential NULL pointer dereference found by the smatch tool
    perf test mmap-thread-lookup: Initialize variable to suppress memory sanitizer warning
  * kallsyms: exclude kasan local symbols on s390
      scripts/kallsyms.c
    serial: sh-sci: Fix TX DMA buffer flushing and workqueue races
    serial: sh-sci: Terminate TX DMA during buffer flushing
    RDMA/i40iw: Set queue pair state when being queried
    powerpc/4xx/uic: clear pending interrupt after irq type/pol change
    um: Silence lockdep complaint about mmap_sem
    mfd: hi655x-pmic: Fix missing return value check for devm_regmap_init_mmio_clk
    mfd: arizona: Fix undefined behavior
  * mfd: core: Set fwnode for created devices
      drivers/mfd/mfd-core.c
    recordmcount: Fix spurious mcount entries on powerpc
    powerpc/xmon: Fix disabling tracing while in xmon
    iio: iio-utils: Fix possible incorrect mask calculation
    PCI: xilinx-nwl: Fix Multi MSI data programming
  * kbuild: Add -Werror=unknown-warning-option to CLANG_FLAGS
      Makefile
  * PCI: sysfs: Ignore lockdep for remove attribute
      drivers/pci/pci-sysfs.c
    serial: mctrl_gpio: Check if GPIO property exisits before requesting it
  * drm/msm: Depopulate platform on probe failure
      drivers/gpu/drm/msm/msm_drv.c
    powerpc/pci/of: Fix OF flags parsing for 64bit BARs
  * usb: gadget: Zero ffs_io_data
      drivers/usb/gadget/function/f_fs.c
  * tty: serial_core: Set port active bit in uart_port_activate
      drivers/tty/serial/serial_core.c
    drm/rockchip: Properly adjust to a true clock in adjusted_mode
    powerpc/pseries/mobility: prevent cpu hotplug during DT update
    phy: renesas: rcar-gen2: Fix memory leak at error paths
    drm/virtio: Add memory barriers for capset cache.
    serial: 8250: Fix TX interrupt handling condition
    tty: serial: msm_serial: avoid system lockup condition
    tty/serial: digicolor: Fix digicolor-usart already registered warning
    memstick: Fix error cleanup path of memstick_init
  * drm/crc-debugfs: User irqsafe spinlock in drm_crtc_add_crc_entry
      drivers/gpu/drm/drm_debugfs_crc.c
    drm/bridge: sii902x: pixel clock unit is 10kHz instead of 1kHz
    drm/bridge: tc358767: read display_props in get_modes()
  * PCI: Return error if cannot probe VF
      drivers/pci/pci-driver.c
    drm/edid: Fix a missing-check bug in drm_load_edid_firmware()
    tty: serial: cpm_uart - fix init when SMC is relocated
    pinctrl: rockchip: fix leaked of_node references
    tty: max310x: Fix invalid baudrate divisors calculator
  * usb: core: hub: Disable hub-initiated U1/U2
      drivers/usb/core/hub.c
    drm/panel: simple: Fix panel_simple_dsi_probe
    hvsock: fix epollout hang from race condition
    nfsd: Fix overflow causing non-working mounts on 1 TB machines
    nfsd: fix performance-limiting session calculation
    nfsd: give out fewer session slots as limit approaches
    nfsd: increase DRC cache limit
    NFSv4: Fix open create exclusive when the server reboots
    perf/events/amd/uncore: Fix amd_uncore_llc ID to use pre-defined cpu_llc_id
  * mm: vmscan: scan anonymous pages on file refaults
      mm/vmscan.c
  * ext4: allow directory holes
      fs/ext4/dir.c
      fs/ext4/namei.c
  * ext4: use jbd2_inode dirty range scoping
      fs/ext4/ext4_jbd2.h
      fs/ext4/inode.c
      fs/ext4/move_extent.c
  * jbd2: introduce jbd2_inode dirty range scoping
      fs/jbd2/commit.c
      fs/jbd2/journal.c
      fs/jbd2/transaction.c
      include/linux/jbd2.h
  * mm: add filemap_fdatawait_range_keep_errors()
      include/linux/fs.h
      mm/filemap.c
  * ext4: enforce the immutable flag on open files
      fs/ext4/file.c
      fs/ext4/inode.c
  * ext4: don't allow any modifications to an immutable file
      fs/ext4/ioctl.c
    MIPS: lb60: Fix pin mappings
  * dma-buf: Discard old fence_excl on retrying get_fences_rcu for realloc
      drivers/dma-buf/reservation.c
  * dma-buf: balance refcount inbalance
      drivers/dma-buf/dma-buf.c
  * net: bridge: stp: don't cache eth dest pointer before skb pull
      net/bridge/br_stp_bpdu.c
  * net: bridge: mcast: fix stale ipv6 hdr pointer when handling v6 query
      net/bridge/br_multicast.c
  * net: bridge: mcast: fix stale nsrcs pointer in igmp3/mld2 report handling
      net/bridge/br_multicast.c
  * tcp: Reset bytes_acked and bytes_received when disconnecting
      net/ipv4/tcp.c
  * tcp: fix tcp_set_congestion_control() use from bpf hook
      include/net/tcp.h
      net/core/filter.c
      net/ipv4/tcp.c
      net/ipv4/tcp_cong.c
  * net: make skb_dst_force return true when dst is refcounted
      include/net/dst.h
      net/netfilter/nf_queue.c
  * bonding: validate ip header before check IPPROTO_IGMP
      drivers/net/bonding/bond_main.c
    netrom: hold sock when setting skb->destructor
    netrom: fix a memory leak in nr_rx_frame()
    macsec: fix checksumming after decryption
    macsec: fix use-after-free of skb during RX
    vrf: make sure skb->data contains ip header to make routing
    sky2: Disable MSI on ASUS P6T
    rxrpc: Fix send on a connected, but unbound socket
    nfc: fix potential illegal memory access
    net: openvswitch: fix csum updates for MPLS actions
  * net: neigh: fix multiple neigh timer scheduling
      net/core/neighbour.c
    net: dsa: mv88e6xxx: wait after reset deactivation
    net: bcmgenet: use promisc for unsupported filters
  * ipv4: don't set IPv6 only flags to IPv4 addresses
      net/ipv4/devinet.c
  * igmp: fix memory leak in igmpv3_del_delrec()
      net/ipv4/igmp.c
    caif-hsi: fix possible deadlock in cfhsi_exit_module()
    bnx2x: Prevent ptp_task to be rescheduled indefinitely
    bnx2x: Prevent load reordering in tx completion processing
  * lib/strscpy: Shut up KASAN false-positives in strscpy()
      lib/string.c
  * compiler.h: Add read_word_at_a_time() function.
      include/linux/compiler.h
  * compiler.h, kasan: Avoid duplicating __read_once_size_nocheck()
      include/linux/compiler.h
  * dm bufio: fix deadlock with loop device
      drivers/md/dm-bufio.c
    dt-bindings: allow up to four clocks for orion-mdio
    net: mvmdio: allow up to four clocks to be specified for orion-mdio
  * usb: Handle USB3 remote wakeup for LPM enabled devices correctly
      drivers/usb/core/hub.c
  * Bluetooth: Add SMP workaround Microsoft Surface Precision Mouse bug
      net/bluetooth/smp.c
    intel_th: msu: Fix single mode with disabled IOMMU
  * eCryptfs: fix a couple type promotion bugs
      fs/ecryptfs/crypto.c
    powerpc/watchpoint: Restore NV GPRs while returning from exception
    powerpc/32s: fix suspend/resume when IBATs 4-7 are used
    parisc: Fix kernel panic due invalid values in IAOQ0 or IAOQ1
    parisc: Ensure userspace privilege for ptraced processes in regset functions
    crypto: caam - limit output IV to CBC to work around CTR mode DMA issue
    PCI: hv: Fix a use-after-free bug in hv_eject_device_work()
    gpu: ipu-v3: ipu-ic: Fix saturation bit offset in TPMEM
    coda: pass the host file in vma->vm_file on mmap
    libnvdimm/pfn: fix fsdax-mode namespace info-block zero-fields
    HID: wacom: correct touch resolution x/y typo
    HID: wacom: generic: only switch the mode on devices with LEDs
    Btrfs: add missing inode version, ctime and mtime updates when punching hole
    Btrfs: fix fsync not persisting dentry deletions due to inode evictions
    Btrfs: fix data loss after inode eviction, renaming it, and fsync it
  * PCI: Do not poll for PME if the device is in D3cold
      drivers/pci/pci.c
    intel_th: pci: Add Ice Lake NNPI support
    perf/x86/amd/uncore: Set the thread mask for F17h L3 PMCs
    perf/x86/amd/uncore: Do not set 'ThreadMask' and 'SliceMask' for non-L3 PMCs
    x86/boot: Fix memory leak in default_get_smp_config()
    9p/virtio: Add cleanup path in p9_virtio_init
    9p/xen: Add cleanup path in p9_trans_xen_init
    xen/events: fix binding user event channels to cpus
    dm zoned: fix zone state management race
    padata: use smp_mb in padata_reorder to avoid orphaned padata jobs
    drm/nouveau/i2c: Enable i2c pads & busses during preinit
  * fs/proc/proc_sysctl.c: fix the default values of i_uid/i_gid on /proc/sys inodes.
      fs/proc/proc_sysctl.c
    arm64: tegra: Fix AGIC register range
    KVM: x86/vPMU: refine kvm_pmu err msg when event creation failed
    media: coda: Remove unbalanced and unneeded mutex unlock
  * media: v4l2: Test type instead of cfg->type in v4l2_ctrl_new_custom()
      drivers/media/v4l2-core/v4l2-ctrls.c
    ALSA: hda/realtek: apply ALC891 headset fixup to one Dell machine
    ALSA: seq: Break too long mutex context in the write loop
  * ASoC: dapm: Adapt for debugfs API change
      sound/soc/soc-dapm.c
  * lib/scatterlist: Fix mapping iterator when sg->offset is greater than PAGE_SIZE
      lib/scatterlist.c
    pnfs/flexfiles: Fix PTR_ERR() dereferences in ff_layout_track_ds_error
    NFSv4: Handle the special Linux file open access mode
    iwlwifi: pcie: fix ALIVE interrupt handling for gen2 devices w/o MSI-X
    iwlwifi: pcie: don't service an interrupt that was masked
    arm64: tegra: Update Jetson TX1 GPU regulator timings
    regulator: s2mps11: Fix buck7 and buck8 wrong voltages
    Input: alps - fix a mismatch between a condition check and its comment
    Input: synaptics - whitelist Lenovo T580 SMBus intertouch
    Input: alps - don't handle ALPS cs19 trackpoint-only device
    Input: gtco - bounds check collection indent level
    crypto: crypto4xx - fix a potential double free in ppc4xx_trng_probe
    crypto: ccp/gcm - use const time tag comparison.
    crypto: ccp - memset structure fields to zero before reuse
    crypto: chacha20poly1305 - fix atomic sleep when using async algorithm
  * crypto: arm64/sha2-ce - correct digest for empty data in finup
      arch/arm64/crypto/sha2-ce-glue.c
  * crypto: arm64/sha1-ce - correct digest for empty data in finup
      arch/arm64/crypto/sha1-ce-glue.c
    crypto: ccp - Validate the the error value used to index error messages
  * crypto: ghash - fix unaligned memory access in ghash_setkey()
      crypto/ghash-generic.c
    scsi: mac_scsi: Fix pseudo DMA implementation, take 2
    scsi: mac_scsi: Increase PIO/PDMA transfer length threshold
    scsi: megaraid_sas: Fix calculation of target ID
  * scsi: core: Fix race on creating sense cache
      drivers/scsi/scsi_lib.c
    Revert "scsi: ncr5380: Increase register polling limit"
    scsi: NCR5380: Always re-enable reselection interrupt
    scsi: NCR5380: Reduce goto statements in NCR5380_select()
    xen: let alloc_xenballooned_pages() fail if not enough memory free
    floppy: fix out-of-bounds read in copy_buffer
    floppy: fix invalid pointer dereference in drive_name
    floppy: fix out-of-bounds read in next_valid_format
    floppy: fix div-by-zero in setup_format_params
    iavf: fix dereference of null rx_buffer pointer
    net: mvmdio: defer probe of orion-mdio if a clock is not ready
    gtp: fix use-after-free in gtp_newlink()
    gtp: fix use-after-free in gtp_encap_destroy()
    gtp: fix Illegal context switch in RCU read-side critical section.
    gtp: fix suspicious RCU usage
  * Bluetooth: validate BLE connection interval updates
      net/bluetooth/hci_event.c
      net/bluetooth/l2cap_core.c
    gtp: add missing gtp_encap_disable_sock() in gtp_encap_enable()
  * Bluetooth: Check state in l2cap_disconnect_rsp
      net/bluetooth/l2cap_core.c
    Bluetooth: 6lowpan: search for destination address in all peers
    Bluetooth: hci_bcsp: Fix memory leak in rx_skb
  * gpiolib: Fix references to gpiod_[gs]et_*value_cansleep() variants
      drivers/gpio/gpiolib.c
  * net: usb: asix: init MAC address buffers
      drivers/net/usb/asix_devices.c
    perf stat: Make metric event lookup more robust
    iwlwifi: mvm: Drop large non sta frames
    ath10k: destroy sdio workqueue while remove sdio module
    net: hns3: add some error checking in hclge_tm module
    net: hns3: fix a -Wformat-nonliteral compile warning
    bcache: check c->gc_thread by IS_ERR_OR_NULL in cache_set_flush()
  * EDAC: Fix global-out-of-bounds write when setting edac_mc_poll_msec
      drivers/edac/edac_mc_sysfs.c
      drivers/edac/edac_module.h
  * crypto: asymmetric_keys - select CRYPTO_HASH where needed
      crypto/asymmetric_keys/Kconfig
    crypto: serpent - mark __serpent_setkey_sbox noinline
    ixgbe: Check DDM existence in transceiver before access
  * rslib: Fix handling of of caller provided syndrome
      lib/reed_solomon/decode_rs.c
  * rslib: Fix decoding of shortened codes
      lib/reed_solomon/decode_rs.c
  * clocksource/drivers/exynos_mct: Increase priority over ARM arch timer
      include/linux/cpuhotplug.h
    libata: don't request sense data on !ZAC ATA devices
    perf tools: Increase MAX_NR_CPUS and MAX_CACHES
    ath10k: fix PCIE device wake up failed
    ath10k: add missing error handling
    ipvs: fix tinfo memory leak in start_sync_thread
    mt7601u: fix possible memory leak when the device is disconnected
    x86/build: Add 'set -e' to mkcapflags.sh to delete broken capflags.c
    mt7601u: do not schedule rx_tasklet when the device has been disconnected
    rtlwifi: rtl8192cu: fix error handle when usb probe failed
    media: hdpvr: fix locking and a missing msleep
    media: vimc: cap: check v4l2_fill_pixfmt return value
    media: coda: increment sequence offset for the last returned frame
    media: coda: fix last buffer handling in V4L2_ENC_CMD_STOP
    media: coda: fix mpeg2 sequence number handling
    acpi/arm64: ignore 5.1 FADTs that are reported as 5.0
  * timer_list: Guard procfs specific code
      kernel/time/timer_list.c
  * ntp: Limit TAI-UTC offset
      kernel/time/ntp.c
  * media: i2c: fix warning same module names
      drivers/media/i2c/Makefile
    media: s5p-mfc: Make additional clocks optional
    ipvs: defer hook registration to avoid leaks
  * ipsec: select crypto ciphers for xfrm_algo
      net/xfrm/Kconfig
  * EDAC/sysfs: Fix memory leak when creating a csrow object
      drivers/edac/edac_mc_sysfs.c
    ipoib: correcly show a VF hardware address
    vhost_net: disable zerocopy by default
    perf evsel: Make perf_evsel__name() accept a NULL argument
    x86/atomic: Fix smp_mb__{before,after}_atomic()
  * sched/core: Add __sched tag for io_schedule()
      kernel/sched/core.c
  * xfrm: fix sa selector validation
      net/xfrm/xfrm_user.c
  * blkcg, writeback: dead memcgs shouldn't contribute to writeback ownership arbitration
      fs/fs-writeback.c
    x86/cpufeatures: Add FDP_EXCPTN_ONLY and ZERO_FCS_FDS
  * rcu: Force inlining of rcu_read_lock()
      include/linux/rcupdate.h
  * bpf: silence warning messages in core
      kernel/bpf/Makefile
  * regmap: fix bulk writes on paged registers
      drivers/base/regmap/regmap.c
    gpio: omap: ensure irq is enabled before wakeup
    gpio: omap: fix lack of irqstatus_raw0 for OMAP4
  * iommu: Fix a leak in iommu_insert_resv_region
      drivers/iommu/iommu.c
    media: fdp1: Support M3N and E3 platforms
    perf test 6: Fix missing kvm module load for s390
    perf cs-etm: Properly set the value of 'old' and 'head' in snapshot mode
    ipset: Fix memory accounting for hash types on resize
    net: sfp: add mutex to prevent concurrent state checks
    RAS/CEC: Fix pfn insertion
    s390/qdio: handle PENDING state for QEBSM devices
    net: axienet: Fix race condition causing TX hang
    net: fec: Do not use netdev messages too early
    net: stmmac: dwmac4: fix flow control issue
    cpupower : frequency-set -r option misses the last cpu in related cpu list
    media: wl128x: Fix some error handling in fm_v4l2_init_video_device()
    locking/lockdep: Fix merging of hlocks with non-zero references
    tua6100: Avoid build warnings.
    crypto: talitos - Align SEC1 accesses to 32 bits boundaries.
    crypto: talitos - properly handle split ICV.
  * net: phy: Check against net_device being NULL
      drivers/net/phy/phy_device.c
    media: staging: media: davinci_vpfe: - Fix for memory leak if decoder initialization fails.
  * media: mc-device.c: don't memset __user pointer contents
      drivers/media/media-device.c
  * fscrypt: clean up some BUG_ON()s in block encryption/decryption
      fs/crypto/crypto.c
  * xfrm: Fix xfrm sel prefix length validation
      net/xfrm/xfrm_user.c
  * af_key: fix leaks in key_pol_get_resp and dump_sp.
      net/key/af_key.c
    signal/pid_namespace: Fix reboot_pid_ns to use send_sig not force_sig
    qed: Set the doorbell address correctly
    net: stmmac: dwmac4/5: Clear unused address entries
    net: stmmac: dwmac1000: Clear unused address entries
  * media: media_device_enum_links32: clean a reserved field
      drivers/media/media-device.c
    media: vpss: fix a potential NULL pointer dereference
    media: marvell-ccic: fix DMA s/g desc number calculation
    crypto: talitos - fix skcipher failure due to wrong output IV
    media: spi: IR LED: add missing of table registration
    media: dvb: usb: fix use after free in dvb_usb_device_exit
    batman-adv: fix for leaked TVLV handler.
    ath: DFS JP domain W56 fixed pulse type 3 RADAR detection
    ath6kl: add some bounds checking
    ath9k: Check for errors when reading SREV register
    ath10k: Do not send probe response template for mesh
    wil6210: fix potential out-of-bounds read
    dmaengine: imx-sdma: fix use-after-free on probe error path
    scsi: iscsi: set auth_protocol back to NULL if CHAP_A value is not supported
  * arm64/efi: Mark __efistub_stext_offset as an absolute symbol explicitly
      arch/arm64/kernel/image.h
    MIPS: fix build on non-linux hosts
    MIPS: ath79: fix ar933x uart parity mode
  * f2fs: use EINVAL for superblock with invalid magic
      fs/f2fs/super.c
  * f2fs: fix to read source block before invalidating it
      fs/f2fs/gc.c
  * f2fs: remove redundant check from f2fs_setflags_common()
      fs/f2fs/file.c
  * f2fs: use generic checking function for FS_IOC_FSSETXATTR
      fs/f2fs/file.c
      fs/inode.c
      include/linux/fs.h
  * f2fs: use generic checking and prep function for FS_IOC_SETFLAGS
      fs/f2fs/file.c
      fs/inode.c
      include/linux/fs.h
    ubifs, fscrypt: cache decrypted symlink target in ->i_link
  * vfs: use READ_ONCE() to access ->i_link
      fs/namei.c
  * fs, fscrypt: clear DCACHE_ENCRYPTED_NAME when unaliasing directory
      fs/dcache.c
      include/linux/fscrypt.h
    ANDROID: (arm64) cuttlefish_defconfig: enable CONFIG_CPU_FREQ_TIMES
  * ANDROID: xfrm: remove in_compat_syscall() checks
      net/xfrm/xfrm_state.c
      net/xfrm/xfrm_user.c
    ANDROID: enable CONFIG_RTC_DRV_TEST on cuttlefish
  * UPSTREAM: binder: Set end of SG buffer area properly.
      drivers/android/binder.c
    ANDROID: x86_64_cuttlefish_defconfig: enable CONFIG_CPU_FREQ_TIMES
    Merge 4.14.134 into android-4.14
Linux 4.14.134
    drm/udl: move to embedding drm device inside udl device.
    drm/udl: introduce a macro to convert dev to udl.
    crypto/NX: Set receive window credits to max number of CRBs in RxFIFO
    s390/qdio: don't touch the dsci in tiqdio_add_input_queues()
    s390/qdio: (re-)initialize tiqdio list entries
    s390: fix stfle zero padding
    ARC: hide unused function unw_hdr_alloc
  * linux/kernel.h: fix overflow for DIV_ROUND_UP_ULL
      include/linux/kernel.h
  * cpu/hotplug: Fix out-of-bounds read when setting fail state
      kernel/cpu.c
    x86/boot/64: Fix crash if kernel image crosses page table boundary
  * dm verity: use message limit for data block corruption message
      drivers/md/dm-verity-target.c
    ARM: dts: imx6ul: fix PWM[1-4] interrupts
    sis900: fix TX completion
  * ppp: mppe: Add softdep to arc4
      drivers/net/ppp/ppp_mppe.c
    be2net: fix link failure after ethtool offline test
    ARM: omap2: remove incorrect __init annotation
  * perf/core: Fix perf_sample_regs_user() mm check
      kernel/events/core.c
    efi/bgrt: Drop BGRT status field reserved bits check
    clk: ti: clkctrl: Fix returning uninitialized data
    MIPS: Remove superfluous check for __linux__
    VMCI: Fix integer overflow in VMCI handle arrays
    carl9170: fix misuse of device driver API
  * binder: fix memory leak in error path
      drivers/android/binder.c
    staging: comedi: amplc_pci230: fix null pointer deref on interrupt
    staging: comedi: dt282x: fix a null pointer deref on interrupt
    usb: renesas_usbhs: add a workaround for a race condition of workqueue
  * usb: gadget: ether: Fix race between gether_disconnect and rx_submit
      drivers/usb/gadget/function/u_ether.c
    p54usb: Fix race between disconnect and firmware loading
    Revert "serial: 8250: Don't service RX FIFO if interrupts are disabled"
    USB: serial: option: add support for GosunCn ME3630 RNDIS mode
    USB: serial: ftdi_sio: add ID for isodebug v1
    mwifiex: Don't abort on small, spec-compliant vendor IEs
    mwifiex: Fix heap overflow in mwifiex_uap_parse_tail_ies()
    mwifiex: Abort at too short BSS descriptor element
    Documentation: Add section about CPU vulnerabilities for Spectre
    x86/tls: Fix possible spectre-v1 in do_get_thread_area()
    x86/ptrace: Fix possible spectre-v1 in ptrace_get_debugreg()
    block, bfq: NULL out the bic when it's no longer valid
    ALSA: hda/realtek - Headphone Mic can't record after S3
    udf: Fix incorrect final NOT_ALLOCATED (hole) extent length
  * fscrypt: don't set policy for a dead directory
      fs/crypto/policy.c
    net :sunrpc :clnt :Fix xps refcount imbalance on the error path
    net: dsa: mv88e6xxx: fix shift of FID bits in mv88e6185_g1_vtu_loadpurge()
  * quota: fix a problem about transfer quota
      fs/quota/dquot.c
    net: lio_core: fix potential sign-extension overflow on large shift
  * ip6_tunnel: allow not to count pkts on tstats by passing dev as NULL
      include/net/ip6_tunnel.h
  * drm: return -EFAULT if copy_to_user() fails
      drivers/gpu/drm/drm_bufs.c
      drivers/gpu/drm/drm_ioc32.c
    bnx2x: Check if transceiver implements DDM before access
    md: fix for divide error in status_resync
    qmi_wwan: extend permitted QMAP mux_id value range
    qmi_wwan: avoid RCU stalls on device disconnect when in QMAP mode
    qmi_wwan: add support for QMAP padding in the RX path
    mac80211: only warn once on chanctx_conf being NULL
    ARM: davinci: da8xx: specify dma_coherent_mask for lcdc
    ARM: davinci: da850-evm: call regulator_has_full_constraints()
    mlxsw: spectrum: Disallow prio-tagged packets when PVID is removed
    KVM: arm/arm64: vgic: Fix kvm_device leak in vgic_its_destroy
    Input: imx_keypad - make sure keyboard can always wake up system
    ARM: dts: am335x phytec boards: Fix cd-gpios active level
    ibmvnic: Refresh device multicast list after reset
    can: af_can: Fix error path of can_init()
    can: m_can: implement errata "Needless activation of MRAF irq"
  * can: mcp251x: add support for mcp25625
      drivers/net/can/spi/Kconfig
    dt-bindings: can: mcp251x: add mcp25625 support
  * netfilter: ipv6: nf_defrag: accept duplicate fragments again
      net/ipv6/netfilter/nf_conntrack_reasm.c
  * netfilter: ipv6: nf_defrag: fix leakage of unqueued fragments
      net/ipv6/netfilter/nf_conntrack_reasm.c
    iwlwifi: Fix double-free problems in iwl_req_fw_callback()
    mwifiex: Fix possible buffer overflows at parsing bss descriptor
    mac80211: free peer keys before vif down in mesh
    mac80211: mesh: fix RCU warning
    staging:iio:ad7150: fix threshold mode config bit
  * bpf: sockmap, fix use after free from sleep in psock backlog workqueue
      net/core/skbuff.c
    samples, bpf: fix to change the buffer size for read()
    Input: elantech - enable middle button support on 2 ThinkPads
    crypto: talitos - rename alternative AEAD algos.
  * drivers: base: cacheinfo: Ensure cpu hotplug work is done before Intel RDT
      drivers/base/cacheinfo.c
      include/linux/cpuhotplug.h
    nilfs2: do not use unexported cpu_to_le32()/le32_to_cpu() in uapi header
    Input: synaptics - enable SMBUS on T480 thinkpad trackpad
    e1000e: start network tx queue only when link is up
    Revert "e1000e: fix cyclic resets at link up with active tx"
  * ANDROID: f2fs: add android fsync tracepoint
      fs/f2fs/file.c
      include/trace/events/android_fs.h
      include/trace/events/android_fs_template.h
  * ANDROID: f2fs: fix wrong android tracepoint
      fs/f2fs/data.c
  * fscrypt: cache decrypted symlink target in ->i_link
      fs/crypto/hooks.c
      fs/crypto/keyinfo.c
      fs/ext4/super.c
      fs/f2fs/super.c
      include/linux/fscrypt.h
  * fscrypt: fix race where ->lookup() marks plaintext dentry as ciphertext
      fs/crypto/fname.c
      fs/crypto/hooks.c
      fs/ext4/ext4.h
      fs/ext4/namei.c
      fs/f2fs/namei.c
      include/linux/fscrypt.h
  * fscrypt: only set dentry_operations on ciphertext dentries
      fs/crypto/hooks.c
  * fscrypt: fix race allowing rename() and link() of ciphertext dentries
      fs/crypto/hooks.c
      include/linux/fscrypt.h
  * fscrypt: clean up and improve dentry revalidation
      fs/crypto/crypto.c
      fs/crypto/hooks.c
      include/linux/dcache.h
      include/linux/fscrypt.h
  * fscrypt: use READ_ONCE() to access ->i_crypt_info
      fs/crypto/crypto.c
      fs/crypto/fname.c
      fs/crypto/keyinfo.c
      fs/crypto/policy.c
      include/linux/fscrypt.h
  * fscrypt: remove WARN_ON_ONCE() when decryption fails
      fs/crypto/bio.c
  * fscrypt: drop inode argument from fscrypt_get_ctx()
      fs/crypto/bio.c
      fs/crypto/crypto.c
      fs/ext4/readpage.c
      include/linux/fscrypt.h
  * f2fs: improve print log in f2fs_sanity_check_ckpt()
      fs/f2fs/super.c
  * f2fs: avoid out-of-range memory access
      fs/f2fs/segment.c
  * f2fs: fix to avoid long latency during umount
      fs/f2fs/segment.c
  * f2fs: allow all the users to pin a file
      fs/f2fs/file.c
  * f2fs: support swap file w/ DIO
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      include/trace/events/f2fs.h
  * f2fs: allocate blocks for pinned file
      fs/f2fs/file.c
  * f2fs: fix is_idle() check for discard type
      fs/f2fs/f2fs.h
  * f2fs: add a rw_sem to cover quota flag changes
      fs/f2fs/checkpoint.c
      fs/f2fs/f2fs.h
      fs/f2fs/super.c
  * f2fs: set SBI_NEED_FSCK for xattr corruption case
      fs/f2fs/xattr.c
  * f2fs: use generic EFSBADCRC/EFSCORRUPTED
      fs/f2fs/checkpoint.c
      fs/f2fs/data.c
      fs/f2fs/dir.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/inline.c
      fs/f2fs/inode.c
      fs/f2fs/node.c
      fs/f2fs/recovery.c
      fs/f2fs/segment.c
      fs/f2fs/segment.h
      fs/f2fs/super.c
      fs/f2fs/xattr.c
  * f2fs: Use DIV_ROUND_UP() instead of open-coding
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/segment.h
  * f2fs: print kernel message if filesystem is inconsistent
      fs/f2fs/segment.c
  * f2fs: introduce f2fs_<level> macros to wrap f2fs_printk()
      fs/f2fs/checkpoint.c
      fs/f2fs/dir.c
      fs/f2fs/extent_cache.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/inline.c
      fs/f2fs/inode.c
      fs/f2fs/namei.c
      fs/f2fs/node.c
      fs/f2fs/recovery.c
      fs/f2fs/segment.c
      fs/f2fs/segment.h
      fs/f2fs/super.c
  * f2fs: avoid get_valid_blocks() for cleanup
      fs/f2fs/sysfs.c
  * f2fs: ioctl for removing a range from F2FS
      fs/f2fs/checkpoint.c
      fs/f2fs/debug.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/segment.c
      fs/f2fs/super.c
  * f2fs: only set project inherit bit for directory
      fs/f2fs/f2fs.h
      fs/f2fs/inode.c
  * f2fs: separate f2fs i_flags from fs_flags and ext4 i_flags
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
    UPSTREAM: kasan: initialize tag to 0xff in __kasan_kmalloc
    UPSTREAM: x86/boot: Provide KASAN compatible aliases for string routines
    UPSTREAM: mm/kasan: Remove the ULONG_MAX stack trace hackery
    UPSTREAM: x86/uaccess, kasan: Fix KASAN vs SMAP
  * UPSTREAM: x86/uaccess: Introduce user_access_{save,restore}()
      include/linux/uaccess.h
    UPSTREAM: kasan: fix variable 'tag' set but not used warning
    UPSTREAM: Revert "x86_64: Increase stack size for KASAN_EXTRA"
    UPSTREAM: kasan: fix coccinelle warnings in kasan_p*_table
  * UPSTREAM: kasan: fix kasan_check_read/write definitions
      include/linux/kasan-checks.h
  * BACKPORT: kasan: remove use after scope bugs detection.
      arch/Kconfig
      lib/Kconfig.debug
      lib/Kconfig.kasan
      scripts/Makefile.kasan
  * BACKPORT: kasan: turn off asan-stack for clang-8 and earlier
      lib/Kconfig.kasan
      scripts/Makefile.kasan
  * UPSTREAM: slub: fix a crash with SLUB_DEBUG + KASAN_SW_TAGS
      mm/slub.c
    UPSTREAM: kasan, slab: remove redundant kasan_slab_alloc hooks
    UPSTREAM: kasan, slab: make freelist stored without tags
    UPSTREAM: kasan, slab: fix conflicts with CONFIG_HARDENED_USERCOPY
    UPSTREAM: kasan: prevent tracing of tags.c
  * UPSTREAM: kasan: fix random seed generation for tag-based mode
      arch/arm64/kernel/setup.c
  * UPSTREAM: slub: fix SLAB_CONSISTENCY_CHECKS + KASAN_SW_TAGS
      mm/slub.c
  * UPSTREAM: kasan, slub: fix more conflicts with CONFIG_SLAB_FREELIST_HARDENED
      mm/slub.c
  * UPSTREAM: kasan, slub: fix conflicts with CONFIG_SLAB_FREELIST_HARDENED
      mm/slub.c
  * UPSTREAM: kasan, slub: move kasan_poison_slab hook before page_address
      mm/slub.c
  * UPSTREAM: kasan, kmemleak: pass tagged pointers to kmemleak
      mm/slab.h
      mm/slab_common.c
      mm/slub.c
    UPSTREAM: kasan: fix assigning tags twice
    UPSTREAM: kasan: mark file common so ftrace doesn't trace it
  * UPSTREAM: kasan, arm64: remove redundant ARCH_SLAB_MINALIGN define
      arch/arm64/include/asm/cache.h
    UPSTREAM: kasan: fix krealloc handling for tag-based mode
  * UPSTREAM: kasan: make tag based mode work with CONFIG_HARDENED_USERCOPY
      mm/slub.c
  * UPSTREAM: kasan, arm64: use ARCH_SLAB_MINALIGN instead of manual aligning
      arch/arm64/include/asm/cache.h
  * BACKPORT: mm/memblock.c: skip kmemleak for kasan_init()
      include/linux/memblock.h
      mm/memblock.c
    UPSTREAM: kasan: add SPDX-License-Identifier mark to source files
    BACKPORT: kasan: update documentation
  * UPSTREAM: kasan, arm64: select HAVE_ARCH_KASAN_SW_TAGS
      arch/arm64/Kconfig
  * UPSTREAM: kasan: add __must_check annotations to kasan hooks
      include/linux/kasan.h
  * BACKPORT: kasan, mm, arm64: tag non slab memory allocated via pagealloc
      arch/arm64/include/asm/memory.h
      include/linux/mm.h
      include/linux/page-flags-layout.h
      mm/cma.c
      mm/page_alloc.c
  * UPSTREAM: kasan, arm64: add brk handler for inline instrumentation
      arch/arm64/include/asm/brk-imm.h
      arch/arm64/kernel/traps.c
      include/linux/kasan.h
    UPSTREAM: kasan: add hooks implementation for tag-based mode
    UPSTREAM: mm: move obj_to_index to include/linux/slab_def.h
    UPSTREAM: kasan: add bug reporting routines for tag-based mode
    UPSTREAM: kasan: split out generic_report.c from report.c
  * UPSTREAM: kasan, mm: perform untagged pointers comparison in krealloc
      mm/slab_common.c
  * BACKPORT: kasan, arm64: enable top byte ignore for the kernel
      arch/arm64/include/asm/pgtable-hwdef.h
      arch/arm64/mm/proc.S
  * BACKPORT: kasan, arm64: fix up fault handling logic
      arch/arm64/mm/fault.c
  * UPSTREAM: kasan: preassign tags to objects with ctors or SLAB_TYPESAFE_BY_RCU
      mm/slub.c
  * UPSTREAM: kasan, arm64: untag address in _virt_addr_is_linear
      arch/arm64/include/asm/memory.h
  * UPSTREAM: kasan: add tag related helper functions
      arch/arm64/include/asm/kasan.h
      arch/arm64/include/asm/memory.h
      include/linux/kasan.h
  * BACKPORT: arm64: move untagged_addr macro from uaccess.h to memory.h
      arch/arm64/include/asm/memory.h
      arch/arm64/include/asm/uaccess.h
  * BACKPORT: kasan: initialize shadow to 0xff for tag-based mode
      include/linux/kasan.h
  * BACKPORT: kasan: rename kasan_zero_page to kasan_early_shadow_page
      include/linux/kasan.h
  * BACKPORT: kasan, arm64: adjust shadow size for tag-based mode
      arch/arm64/Makefile
      arch/arm64/include/asm/memory.h
  * BACKPORT: kasan: add CONFIG_KASAN_GENERIC and CONFIG_KASAN_SW_TAGS
      include/linux/compiler-clang.h
      include/linux/compiler-gcc.h
      include/linux/kasan.h
      lib/Kconfig.kasan
      mm/slub.c
      scripts/Makefile.kasan
    UPSTREAM: kasan: rename source files to reflect the new naming scheme
    BACKPORT: kasan: move common generic and tag-based code to common.c
  * UPSTREAM: kasan, slub: handle pointer tags in early_kmem_cache_node_alloc
      mm/slub.c
  * UPSTREAM: kasan, mm: change hooks signatures
      include/linux/kasan.h
      include/linux/slab.h
      mm/slab.h
      mm/slab_common.c
      mm/slub.c
  * UPSTREAM: arm64: add EXPORT_SYMBOL_NOKASAN()
      arch/arm64/include/asm/assembler.h
  * BACKPORT: compiler: remove __no_sanitize_address_or_inline again
      include/linux/compiler-gcc.h
      include/linux/compiler.h
    UPSTREAM: mm/kasan/quarantine.c: make quarantine_lock a raw_spinlock_t
    UPSTREAM: lib/test_kasan.c: add tests for several string/memory API functions
  * UPSTREAM: arm64: lib: use C string functions with KASAN enabled
      arch/arm64/include/asm/string.h
      arch/arm64/kernel/arm64ksyms.c
      arch/arm64/lib/memchr.S
      arch/arm64/lib/memcmp.S
      arch/arm64/lib/strchr.S
      arch/arm64/lib/strcmp.S
      arch/arm64/lib/strlen.S
      arch/arm64/lib/strncmp.S
      arch/arm64/lib/strnlen.S
      arch/arm64/lib/strrchr.S
  * UPSTREAM: compiler: introduce __no_sanitize_address_or_inline
      include/linux/compiler-gcc.h
    UPSTREAM: arm64: Fix typo in a comment in arch/arm64/mm/kasan_init.c
  * BACKPORT: kernel/memremap, kasan: make ZONE_DEVICE with work with KASAN
      include/linux/kasan.h
      kernel/memremap.c
  * BACKPORT: mm/mempool.c: remove unused argument in kasan_unpoison_element() and remove_element()
      mm/mempool.c
  * UPSTREAM: kasan: only select SLUB_DEBUG with SYSFS=y
      lib/Kconfig.kasan
  * UPSTREAM: kasan: depend on CONFIG_SLUB_DEBUG
      lib/Kconfig.kasan
  * UPSTREAM: KASAN: prohibit KASAN+STRUCTLEAK combination
      arch/Kconfig
    UPSTREAM: arm64: kasan: avoid pfn_to_nid() before page array is initialized
    UPSTREAM: kasan: fix invalid-free test crashing the kernel
  * UPSTREAM: kasan, slub: fix handling of kasan_slab_free hook
      mm/slub.c
  * UPSTREAM: slab, slub: skip unnecessary kasan_cache_shutdown()
      mm/slab.h
      mm/slub.c
  * BACKPORT: kasan: make kasan_cache_create() work with 32-bit slab cache sizes
      include/linux/kasan.h
      mm/slub.c
    UPSTREAM: locking/atomics: Instrument cmpxchg_double*()
    UPSTREAM: locking/atomics: Instrument xchg()
    UPSTREAM: locking/atomics: Simplify cmpxchg() instrumentation
    UPSTREAM: locking/atomics/x86: Reduce arch_cmpxchg64*() instrumentation
    UPSTREAM: locking/atomic, asm-generic, x86: Add comments for atomic instrumentation
    UPSTREAM: locking/atomic, asm-generic: Add KASAN instrumentation to atomic operations
    UPSTREAM: locking/atomic/x86: Switch atomic.h to use atomic-instrumented.h
    UPSTREAM: locking/atomic, asm-generic: Add asm-generic/atomic-instrumented.h
  * BACKPORT: kasan, arm64: clean up KASAN_SHADOW_SCALE_SHIFT usage
      arch/arm64/Makefile
  * UPSTREAM: kasan: clean up KASAN_SHADOW_SCALE_SHIFT usage
      arch/arm64/include/asm/kasan.h
      arch/arm64/include/asm/memory.h
      include/linux/kasan.h
    UPSTREAM: kasan: fix prototype author email address
    UPSTREAM: kasan: detect invalid frees
    UPSTREAM: kasan: unify code between kasan_slab_free() and kasan_poison_kfree()
  * UPSTREAM: kasan: detect invalid frees for large mempool objects
      include/linux/kasan.h
      mm/mempool.c
  * UPSTREAM: kasan: don't use __builtin_return_address(1)
      include/linux/kasan.h
      mm/slub.c
  * UPSTREAM: kasan: detect invalid frees for large objects
      include/linux/kasan.h
      mm/slub.c
    UPSTREAM: kasan: add functions for unpoisoning stack variables
    UPSTREAM: kasan: add tests for alloca poisoning
  * UPSTREAM: kasan: support alloca() poisoning
      scripts/Makefile.kasan
  * UPSTREAM: kasan/Makefile: support LLVM style asan parameters
      scripts/Makefile.kasan
  * BACKPORT: kasan: add compiler support for clang
      include/linux/compiler-clang.h
  * BACKPORT: fs: dcache: Revert "manually unpoison dname after allocation to shut up kasan's reports"
      fs/dcache.c
  * UPSTREAM: fs/dcache: Use read_word_at_a_time() in dentry_string_cmp()
      fs/dcache.c
  * UPSTREAM: lib/strscpy: Shut up KASAN false-positives in strscpy()
      lib/string.c
  * UPSTREAM: compiler.h: Add read_word_at_a_time() function.
      include/linux/compiler.h
  * UPSTREAM: compiler.h, kasan: Avoid duplicating __read_once_size_nocheck()
      include/linux/compiler.h
  * UPSTREAM: arm64/mm/kasan: don't use vmemmap_populate() to initialize shadow
      arch/arm64/Kconfig
    UPSTREAM: Documentation/features/KASAN: mark KASAN as supported only on 64-bit on x86
    Merge 4.14.133 into android-4.14
Linux 4.14.133
    stable/btrfs: fix backport bug in d819d97ea0 ("btrfs: honor path->skip_locking in backref code")
    dmaengine: imx-sdma: remove BD_INTR for channel0
    MIPS: Add missing EHB in mtc0 -> mfc0 sequence.
    MIPS: Fix bounds check virt_addr_valid
    svcrdma: Ignore source port when computing DRC hash
    KVM: LAPIC: Fix pending interrupt in IRR blocked by software disable LAPIC
    KVM: x86: degrade WARN to pr_warn_ratelimited
    ARC: handle gcc generated __builtin_trap for older compiler
    tty: rocket: fix incorrect forward declaration of 'rp_init()'
    vhost: scsi: add weight support
    vhost: vsock: add weight support
    vhost_net: fix possible infinite loop
    vhost: introduce vhost_exceeds_weight()
    vhost_net: introduce vhost_exceeds_weight()
    vhost_net: use packet weight for rx handler, too
    vhost-net: set packet weight of tx polling to 2 * vq size
    btrfs: Ensure replaced device doesn't have pending chunk allocation
  * mm/vmscan.c: prevent useless kswapd loops
      mm/vmscan.c
    ftrace/x86: Remove possible deadlock between register_kprobe() and ftrace_run_update_code()
    drm/imx: only send event on crtc disable if kept disabled
    drm/imx: notify drm core before sending event during crtc disable
    drm/amdgpu/gfx9: use reset default for PA_SC_FIFO_SIZE
  * arm64: kaslr: keep modules inside module region when KASAN is enabled
      arch/arm64/kernel/module.c
  * tracing/snapshot: Resize spare buffer if size changed
      kernel/trace/trace.c
    lib/mpi: Fix karactx leak in mpi_powm
    ALSA: hda/realtek - Change front mic location for Lenovo M710q
  * ALSA: usb-audio: fix sign unintended sign extension on left shifts
      sound/usb/mixer_quirks.c
    ALSA: line6: Fix write on zero-sized buffer
    ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages
    ALSA: seq: fix incorrect order of dest_client/dest_ports arguments
  * crypto: cryptd - Fix skcipher instance memory leak
      crypto/cryptd.c
    crypto: user - prevent operating on larval algorithms
  * ptrace: Fix ->ptracer_cred handling for PTRACE_TRACEME
      kernel/ptrace.c
    drm/i915/dmc: protect against reading random memory
    MIPS: netlogic: xlr: Remove erroneous check in nlm_fmn_send()
    ftrace: Fix NULL pointer dereference in free_ftrace_func_mapper()
    module: Fix livepatch/ftrace module text permissions race
  * mm/mlock.c: change count_mm_mlocked_page_nr return type
      mm/mlock.c
    scripts/decode_stacktrace.sh: prefix addr2line with $CROSS_COMPILE
  * cpuset: restore sanity to cpuset_cpus_allowed_fallback()
      kernel/cgroup/cpuset.c
    platform/x86: mlx-platform: Fix parent device in i2c-mux-reg device registration
    scsi: hpsa: correct ioaccel2 chaining
    SoC: rt274: Fix internal jack assignment in set_jack callback
    usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC
    usb: gadget: fusb300_udc: Fix memory leak of fusb300->ep[i]
    ASoC: sun4i-i2s: Add offset to RX channel select
    ASoC: sun4i-i2s: Fix sun8i tx channel offset mask
    ASoC: max98090: remove 24-bit format support if RJ is 0
    drm/mediatek: call mtk_dsi_stop() after mtk_drm_crtc_atomic_disable()
    drm/mediatek: call drm_atomic_helper_shutdown() when unbinding driver
    drm/mediatek: fix unbind functions
    spi: bitbang: Fix NULL pointer dereference in spi_unregister_master
  * ASoC: soc-pcm: BE dai needs prepare when pause release after resume
      sound/soc/soc-pcm.c
    ASoC : cs4265 : readable register too low
  * Bluetooth: Fix faulty expression for minimum encryption key size check
      net/bluetooth/l2cap_core.c
    Merge 4.14.132 into android-4.14
Linux 4.14.132
  * arm64: insn: Fix ldadd instruction encoding
      arch/arm64/include/asm/insn.h
    tipc: pass tunnel dev as NULL to udp_tunnel(6)_xmit_skb
    futex: Update comments and docs about return values of arch futex code
  * bpf, arm64: use more scalable stadd over ldxr / stxr loop in xadd
      arch/arm64/include/asm/insn.h
      arch/arm64/kernel/insn.c
  * arm64: futex: Avoid copying out uninitialised stack in failed cmpxchg()
      arch/arm64/include/asm/futex.h
  * bpf: udp: ipv6: Avoid running reuseport's bpf_prog from __udp6_lib_err
      net/ipv6/udp.c
  * bpf: udp: Avoid calling reuseport's bpf_prog from udp_gro
      net/ipv4/udp.c
      net/ipv6/udp.c
  * bonding: Always enable vlan tx offload
      drivers/net/bonding/bond_main.c
    team: Always enable vlan tx offload
  * tun: wake up waitqueues after IFF_UP is set
      drivers/net/tun.c
    tipc: check msg->req data len in tipc_nl_compat_bearer_disable
    tipc: change to use register_pernet_device
    sctp: change to hold sk after auth shkey is created successfully
    net: stmmac: fixed new system time seconds value calculation
  * net: remove duplicate fetch in sock_getsockopt
      net/core/sock.c
  * net/packet: fix memory leak in packet_set_ring()
      net/packet/af_packet.c
  * ipv4: Use return value of inet_iif() for __raw_v4_lookup in the while loop
      net/ipv4/raw.c
  * af_packet: Block execution of tasks waiting for transmit to complete in AF_PACKET
      net/packet/af_packet.c
      net/packet/internal.h
    eeprom: at24: fix unexpected timeout under high load
  * cpu/speculation: Warn on unsupported mitigations= parameter
      kernel/cpu.c
    NFS/flexfiles: Use the correct TCP timeout for flexfiles I/O
    x86/microcode: Fix the microcode load on CPU hotplug for real
    x86/speculation: Allow guests to use SSBD even if host does not
    scsi: vmw_pscsi: Fix use-after-free in pvscsi_queue_lck()
    dm log writes: make sure super sector log updates are written in order
    mm/page_idle.c: fix oops because end_pfn is larger than max_pfn
    fs/binfmt_flat.c: make load_flat_shared_library() work
    mm/mempolicy.c: fix an incorrect rebind node in mpol_rebind_nodemask
  * fs/proc/array.c: allow reporting eip/esp for all coredumping threads
      fs/proc/array.c
  * Revert "compiler.h: update definition of unreachable()"
      include/linux/compiler.h
    qmi_wwan: Fix out-of-bounds read
    net/9p: include trans_common.h to fix missing prototype warning.
    9p: p9dirent_read: check network-provided name length
    9p/rdma: remove useless check in cm_event_handler
    9p: acl: fix uninitialized iattr access
    9p/rdma: do not disconnect on down_interruptible EAGAIN
    9p/xen: fix check for xenbus_read error in front_probe
  * block: bio_iov_iter_get_pages: pin more pages for multi-segment IOs
      block/bio.c
  * block: add a lower-level bio_add_page interface
      block/bio.c
      include/linux/bio.h
    IB/hfi1: Close PSM sdma_progress sleep window
    Revert "x86/uaccess, ftrace: Fix ftrace_likely_update() vs. SMAP"
    perf header: Fix unchecked usage of strncpy()
    perf help: Remove needless use of strncpy()
    perf ui helpline: Use strlcpy() as a shorter form of strncpy() + explicit set nul
    Merge 4.14.131 into android-4.14
    Merge 4.14.130 into android-4.14
Linux 4.14.131
  * tcp: refine memory limit test in tcp_fragment()
      net/ipv4/tcp_output.c
Linux 4.14.130
    mac80211: Do not use stack memory with scatterlist for GMAC
    mac80211: handle deauthentication/disassociation from TDLS peer
    mac80211: drop robust management frames from unknown TA
  * cfg80211: fix memory leak of wiphy device name
      net/wireless/core.c
    SMB3: retry on STATUS_INSUFFICIENT_RESOURCES instead of failing write
  * Bluetooth: Fix regression with minimum encryption key size alignment
      net/bluetooth/hci_conn.c
      net/bluetooth/l2cap_core.c
  * Bluetooth: Align minimum encryption key size for LE and BR/EDR connections
      include/net/bluetooth/hci_core.h
      net/bluetooth/hci_conn.c
    ARM: dts: am57xx-idk: Remove support for voltage switching for SD card
    ARM: imx: cpuidle-imx6sx: Restrict the SW2ISO increase to i.MX6SX
    powerpc/bpf: use unsigned division instruction for 64-bit operations
    can: purge socket error queue on sock destruct
    can: flexcan: fix timeout when set small bitrate
    btrfs: start readahead also in seed devices
    nvme: Fix u32 overflow in the number of namespace list calculation
    hwmon: (pmbus/core) Treat parameters as paged if on multiple pages
  * hwmon: (core) add thermal sensors only if dev->of_node is present
      drivers/hwmon/hwmon.c
    s390/qeth: fix VLAN attribute in bridge_hostnotify udev event
    net: ipvlan: Fix ipvlan device tso disabled while NETIF_F_IP_CSUM is set
    scsi: smartpqi: unlock on error in pqi_submit_raid_request_synchronous()
  * scsi: ufs: Check that space was properly alloced in copy_query_response
      drivers/scsi/ufs/ufshcd.c
    scripts/checkstack.pl: Fix arm64 wrong or unknown architecture
    drm/arm/hdlcd: Allow a bit of clock tolerance
    drm/arm/hdlcd: Actually validate CRTC modes
    net: ethernet: mediatek: Use NET_IP_ALIGN to judge if HW RX_2BYTE_OFFSET is enabled
    net: ethernet: mediatek: Use hw_feature to judge if HWLRO is supported
    sparc: perf: fix updated event period in response to PERF_EVENT_IOC_PERIOD
    mdesc: fix a missing-check bug in get_vdev_port_node_info()
    net: hns: Fix loopback test failed at copper ports
    net: dsa: mv88e6xxx: avoid error message on remove from VLAN 0
    xtensa: Fix section mismatch between memblock_reserve and mem_reserve
    MIPS: uprobes: remove set but not used variable 'epc'
    IB/hfi1: Validate page aligned for a given virtual address
    IB/{qib, hfi1, rdmavt}: Correct ibv_devinfo max_mr value
    IB/hfi1: Insure freeze_work work_struct is canceled on shutdown
    IB/rdmavt: Fix alloc_qpn() WARN_ON()
    parisc: Fix compiler warnings in float emulation code
    parport: Fix mem leak in parport_register_dev_model
    ARC: [plat-hsdk]: Add missing FIFO size entry in GMAC node
    ARC: [plat-hsdk]: Add missing multicast filter bins number to GMAC node
    ARC: fix build warnings
    apparmor: enforce nullbyte at end of tag string
  * Input: uinput - add compat ioctl number translation for UI_*_FF_UPLOAD
      drivers/input/misc/uinput.c
    Input: synaptics - enable SMBus on ThinkPad E480 and E580
    IB/hfi1: Silence txreq allocation warnings
    usb: chipidea: udc: workaround for endpoint conflict issue
  * scsi: ufs: Avoid runtime suspend possibly being blocked forever
      drivers/scsi/ufs/ufshcd-pltfrm.c
    mmc: core: Prevent processing SDIO IRQs when the card is suspended
    net: phy: broadcom: Use strlcpy() for ethtool::get_strings
  * gcc-9: silence 'address-of-packed-member' warning
      Makefile
    objtool: Support per-function rodata sections
  * tracing: Silence GCC 9 array bounds warning
      kernel/trace/trace.c
      kernel/trace/trace.h
    Merge 4.14.129 into android-4.14
Linux 4.14.129
  * Abort file_remove_privs() for non-reg. files
      fs/inode.c
    infiniband: fix race condition between infiniband mlx4, mlx5 driver and core dumping
  * coredump: fix race condition between collapse_huge_page() and core dumping
      include/linux/sched/mm.h
    HID: wacom: Send BTN_TOUCH in response to INTUOSP2_BT eraser contact
    HID: wacom: Don't report anything prior to the tool entering range
    HID: wacom: Don't set tool type until we're in range
    mlxsw: spectrum: Prevent force of 56G
    scsi: libsas: delete sas port if expander discover failed
    scsi: scsi_dh_alua: Fix possible null-ptr-deref
    scsi: smartpqi: properly set both the DMA mask and the coherent DMA mask
    scsi: libcxgbi: add a check for NULL pointer in cxgbi_check_route()
    net: phy: dp83867: Set up RGMII TX delay
    net: sh_eth: fix mdio access in sh_eth_close() for R-Car Gen2 and RZ/A1 SoCs
    KVM: PPC: Book3S HV: Don't take kvm->lock around kvm_for_each_vcpu
    KVM: PPC: Book3S: Use new mutex to synchronize access to rtas token list
    ia64: fix build errors by exporting paddr_to_nid()
    perf record: Fix s390 missing module symbol and warning for non-root users
    perf data: Fix 'strncat may truncate' build failure with recent gcc
  * configfs: Fix use-after-free when accessing sd->s_dentry
      fs/configfs/dir.c
    ALSA: hda - Force polling mode on CNL for fixing codec communication
  * i2c: dev: fix potential memory leak in i2cdev_ioctl_rdwr
      drivers/i2c/i2c-dev.c
    net: aquantia: fix LRO with FCS error
    net: tulip: de4x5: Drop redundant MODULE_DEVICE_TABLE()
  * gpio: fix gpio-adp5588 build errors
      drivers/gpio/Kconfig
  * perf/ring-buffer: Always use {READ,WRITE}_ONCE() for rb->user_page data
      kernel/events/ring_buffer.c
  * perf/ring_buffer: Add ordering to rb->nest increment
      kernel/events/ring_buffer.c
  * perf/ring_buffer: Fix exposing a temporarily decreased data_head
      kernel/events/ring_buffer.c
    x86/CPU/AMD: Don't force the CPB cap when running under a hypervisor
    mISDN: make sure device name is NUL terminated
    powerpc/powernv: Return for invalid IMC domain
    clk: ti: clkctrl: Fix clkdm_clk handling
    selftests: netfilter: missing error check when setting up veth interface
    ipvs: Fix use-after-free in ip_vs_in
  * netfilter: nf_queue: fix reinject verdict handling
      net/netfilter/nf_queue.c
    perf/x86/intel/ds: Fix EVENT vs. UEVENT PEBS constraints
    Staging: vc04_services: Fix a couple error codes
    sunhv: Fix device naming inconsistency between sunhv_console and sunhv_reg
    sctp: Free cookie before we memdup a new one
    net: openvswitch: do not free vport if register_netdevice() is failed.
  * neigh: fix use-after-free read in pneigh_get_next
      net/core/neighbour.c
    lapb: fixed leak of control-blocks.
  * ipv6: flowlabel: fl6_sock_lookup() must use atomic_inc_not_zero
      net/ipv6/ip6_flowlabel.c
    be2net: Fix number of Rx queues used for flow hashing
    ax25: fix inconsistent lock state in ax25_destroy_timer
    perf machine: Guard against NULL in machine__exit()
    Merge 4.14.128 into android-4.14
Linux 4.14.128
    rtc: pcf8523: don't return invalid date when battery is low
    x86/kasan: Fix boot with 5-level paging and KASAN
  * x86/microcode, cpuhotplug: Add a microcode loader CPU hotplug callback
      include/linux/cpuhotplug.h
    RAS/CEC: Fix binary search function
    USB: serial: option: add Telit 0x1260 and 0x1261 compositions
    USB: serial: option: add support for Simcom SIM7500/SIM7600 RNDIS mode
    USB: serial: pl2303: add Allied Telesis VT-Kit3
  * USB: usb-storage: Add new ID to ums-realtek
      drivers/usb/storage/unusual_realtek.h
  * USB: Fix chipmunk-like voice when using Logitech C270 for recording audio.
      drivers/usb/core/quirks.c
    usb: dwc2: host: Fix wMaxPacketSize handling (fix webcam regression)
    usb: dwc2: Fix DMA cache alignment issues
    drm/vmwgfx: NULL pointer dereference from vmw_cmd_dx_view_define()
    drm/vmwgfx: integer underflow in vmw_cmd_dx_set_shader() leading to an invalid read
    KVM: s390: fix memory slot handling for KVM_SET_USER_MEMORY_REGION
    KVM: x86/pmu: do not mask the value that is written to fixed PMUs
    usbnet: ipheth: fix racing condition
    selftests/timers: Add missing fflush(stdout) calls
    libnvdimm: Fix compilation warnings with W=1
    scsi: bnx2fc: fix incorrect cast to u64 on shift operation
    platform/x86: pmc_atom: Add several Beckhoff Automation boards to critclk_systems DMI table
    platform/x86: pmc_atom: Add Lex 3I380D industrial PC to critclk_systems DMI table
    nvme: remove the ifdef around nvme_nvm_ioctl
  * arm64/mm: Inhibit huge-vmap with ptdump
      arch/arm64/mm/mmu.c
    scsi: lpfc: add check for loss of ndlp when sending RRQ
    scsi: qedi: remove set but not used variables 'cdev' and 'udev'
    scsi: qedi: remove memset/memcpy to nfunc and use func instead
    Drivers: misc: fix out-of-bounds access in function param_set_kgdbts_var
    s390/kasan: fix strncpy_from_user kasan checks
    Revert "ALSA: seq: Protect in-kernel ioctl calls with mutex"
    ALSA: seq: Fix race of get-subscription call vs port-delete ioctls
    ALSA: seq: Protect in-kernel ioctl calls with mutex
  * x86/uaccess, kcov: Disable stack protector
      kernel/Makefile
    drm/i915/sdvo: Implement proper HDMI audio support for SDVO
    ASoC: fsl_asrc: Fix the issue about unsupported rate
    ASoC: cs42xx8: Add regcache mask dirty
  * cgroup: Use css_tryget() instead of css_tryget_online() in task_get_css()
      include/linux/cgroup.h
    bcache: fix stack corruption by PRECEDING_KEY()
    i2c: acorn: fix i2c warning
  * iommu/arm-smmu: Avoid constant zero in TLBI writes
      drivers/iommu/arm-smmu.c
  * media: v4l2-ioctl: clear fields in s_parm
      drivers/media/v4l2-core/v4l2-ioctl.c
  * ptrace: restore smp_rmb() in __ptrace_may_access()
      kernel/cred.c
      kernel/ptrace.c
  * signal/ptrace: Don't leak unitialized kernel memory with PTRACE_PEEK_SIGINFO
      kernel/ptrace.c
  * mm/vmscan.c: fix trying to reclaim unevictable LRU page
      mm/vmscan.c
    fs/ocfs2: fix race in ocfs2_dentry_attach_lock()
  * mm/list_lru.c: fix memory leak in __memcg_init_list_lru_node
      mm/list_lru.c
    libata: Extend quirks for the ST1000LM024 drives with NOLPM quirk
    ALSA: firewire-motu: fix destruction of data for isochronous resources
    ALSA: hda/realtek - Update headset mode for ALC256
    ALSA: oxfw: allow PCM capture for Stanton SCS.1m
    HID: wacom: Sync INTUOSP2_BT touch state after each frame if necessary
    HID: wacom: Correct button numbering 2nd-gen Intuos Pro over Bluetooth
    nouveau: Fix build with CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT disabled
  * drm/nouveau: add kconfig option to turn off nouveau legacy contexts. (v3)
      drivers/gpu/drm/nouveau/Kconfig
  * ANDROID: kernel: cgroup: cpuset: Clear cpus_requested for empty buf
      kernel/cgroup/cpuset.c
  * ANDROID: kernel: cgroup: cpuset: Add missing allocation of cpus_requested in alloc_trial_cpuset
      kernel/cgroup/cpuset.c
  * BACKPORT: security: Implement Clang's stack initialization
      Makefile
      security/Kconfig.hardening
  * BACKPORT: security: Create "kernel hardening" config area
      security/Kconfig
      security/Kconfig.hardening
    Merge 4.14.127 into android-4.14
Linux 4.14.127
  * tcp: enforce tcp_min_snd_mss in tcp_mtu_probing()
      net/ipv4/tcp_timer.c
  * tcp: add tcp_min_snd_mss sysctl
      include/net/netns/ipv4.h
      net/ipv4/sysctl_net_ipv4.c
      net/ipv4/tcp_ipv4.c
      net/ipv4/tcp_output.c
  * tcp: tcp_fragment() should apply sane memory limits
      include/uapi/linux/snmp.h
      net/ipv4/proc.c
      net/ipv4/tcp_output.c
  * tcp: limit payload size of sacked skbs
      include/linux/tcp.h
      include/net/tcp.h
      net/ipv4/tcp.c
      net/ipv4/tcp_input.c
      net/ipv4/tcp_output.c
  * tcp: reduce tcp_fastretrans_alert() verbosity
      net/ipv4/tcp_input.c
    Merge 4.14.126 into android-4.14
Linux 4.14.126
    ALSA: seq: Cover unsubscribe_port() in list_mutex
  * drm: don't block fb changes for async plane updates
      drivers/gpu/drm/drm_atomic_helper.c
      include/drm/drm_modeset_helper_vtables.h
  * Revert "drm/nouveau: add kconfig option to turn off nouveau legacy contexts. (v3)"
      drivers/gpu/drm/nouveau/Kconfig
  * Revert "Bluetooth: Align minimum encryption key size for LE and BR/EDR connections"
      include/net/bluetooth/hci_core.h
      net/bluetooth/hci_conn.c
  * percpu: do not search past bitmap when allocating an area
      mm/percpu.c
    gpio: vf610: Do not share irq_chip
    usb: typec: fusb302: Check vconn is off when we start toggling
    ARM: exynos: Fix undefined instruction during Exynos5422 resume
  * pwm: Fix deadlock warning when removing PWM device
      drivers/pwm/core.c
      drivers/pwm/sysfs.c
      include/linux/pwm.h
    ARM: dts: exynos: Always enable necessary APIO_1V8 and ABB_1V8 regulators on Arndale Octa
    pwm: tiehrpwm: Update shadow register for disabling PWMs
    dmaengine: idma64: Use actual device for DMA transfers
    gpio: gpio-omap: add check for off wake capable gpios
    PCI: xilinx: Check for __get_free_pages() failure
    block, bfq: increase idling for weight-raised queues
    video: imsttfb: fix potential NULL pointer dereferences
    video: hgafb: fix potential NULL pointer dereference
    PCI: rcar: Fix 64bit MSI message address handling
    PCI: rcar: Fix a potential NULL pointer dereference
    power: supply: max14656: fix potential use-before-alloc
    platform/x86: intel_pmc_ipc: adding error handling
    PCI: rpadlpar: Fix leaked device_node references in add/remove paths
    ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA
    ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ipg" clock to SDMA
    ARM: dts: imx6ul: Specify IMX6UL_CLK_IPG as "ipg" clock to SDMA
    ARM: dts: imx7d: Specify IMX7D_CLK_IPG as "ipg" clock to SDMA
    ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ahb" clock to SDMA
    ARM: dts: imx53: Specify IMX5_CLK_IPG as "ahb" clock to SDMA
    ARM: dts: imx50: Specify IMX5_CLK_IPG as "ahb" clock to SDMA
    ARM: dts: imx51: Specify IMX5_CLK_IPG as "ahb" clock to SDMA
    soc: rockchip: Set the proper PWM for rk3288
    clk: rockchip: Turn on "aclk_dmac1" for suspend on rk3288
    soc: mediatek: pwrap: Zero initialize rdata in pwrap_init_cipher
    PCI: keystone: Prevent ARM32 specific code to be compiled for ARM64
    platform/chrome: cros_ec_proto: check for NULL transfer function
    x86/PCI: Fix PCI IRQ routing table memory leak
    vfio: Fix WARNING "do not call blocking ops when !TASK_RUNNING"
    nfsd: allow fh_want_write to be called twice
  * fuse: retrieve: cap requested size to negotiated max_write
      fs/fuse/dev.c
  * nvmem: core: fix read buffer in place
      drivers/nvmem/core.c
    ALSA: hda - Register irq handler after the chip initialization
    nvme-pci: unquiesce admin queue on shutdown
    misc: pci_endpoint_test: Fix test_reg_bar to be updated in pci_endpoint_test
    iommu/vt-d: Set intel_iommu_gfx_mapped correctly
  * blk-mq: move cancel of requeue_work into blk_mq_release
      block/blk-core.c
      block/blk-mq.c
  * watchdog: fix compile time error of pretimeout governors
      drivers/watchdog/Kconfig
    watchdog: imx2_wdt: Fix set_timeout for big timeout values
    mmc: mmci: Prevent polling for busy detection in IRQ context
    uml: fix a boot splat wrt use of cpu_all_mask
  * configfs: fix possible use-after-free in configfs_register_group
      fs/configfs/dir.c
  * percpu: remove spurious lock dependency between percpu and sched
      mm/percpu.c
  * f2fs: fix to do sanity check on valid block count of segment
      fs/f2fs/segment.h
  * f2fs: fix to avoid panic in dec_valid_block_count()
      fs/f2fs/f2fs.h
  * f2fs: fix to clear dirty inode in error path of f2fs_iget()
      fs/f2fs/inode.c
  * f2fs: fix to avoid panic in do_recover_data()
      fs/f2fs/recovery.c
  * ntp: Allow TAI-UTC offset to be set to zero
      kernel/time/ntp.c
    pwm: meson: Use the spin-lock only to protect register modifications
  * EDAC/mpc85xx: Prevent building as a module
      drivers/edac/Kconfig
    objtool: Don't use ignore flag for fake jumps
    drm/bridge: adv7511: Fix low refresh rate selection
    perf/x86/intel: Allow PEBS multi-entry in watermark mode
    mfd: twl6040: Fix device init errors for ACCCTL register
    drm/nouveau/disp/dp: respect sink limits when selecting failsafe link configuration
    mfd: intel-lpss: Set the device in reset state when init
    mfd: tps65912-spi: Add missing of table registration
    drivers: thermal: tsens: Don't print error message on -EPROBE_DEFER
    thermal: rcar_gen3_thermal: disable interrupt in .remove
  * kernel/sys.c: prctl: fix false positive in validate_prctl_map()
      kernel/sys.c
    mm/slab.c: fix an infinite loop in leaks_show()
    mm/cma_debug.c: fix the break condition in cma_maxchunk_get()
  * mm/cma.c: fix the bitmap status to show failed allocation reason
      mm/cma.c
  * mm/cma.c: fix crash on CMA allocation if bitmap allocation fails
      mm/cma.c
  * mem-hotplug: fix node spanned pages when we have a node with only ZONE_MOVABLE
      mm/page_alloc.c
    hugetlbfs: on restore reserve error path retain subpool reservation
  * mm/hmm: select mmu notifier when selecting HMM
      mm/Kconfig
    ARM: prevent tracing IPI_CPU_BACKTRACE
    ipc: prevent lockup on alloc_msg and free_msg
  * sysctl: return -EINVAL if val violates minmax
      kernel/sysctl.c
  * fs/fat/file.c: issue flush after the writeback of FAT
      fs/fat/file.c
    rapidio: fix a NULL pointer dereference when create_workqueue() fails
  * f2fs: Add option to limit required GC for checkpoint=disable
      fs/f2fs/f2fs.h
      fs/f2fs/segment.c
      fs/f2fs/super.c
      fs/f2fs/sysfs.c
  * f2fs: Fix accounting for unusable blocks
      fs/f2fs/f2fs.h
  * f2fs: Fix root reserved on remount
      fs/f2fs/super.c
  * f2fs: Lower threshold for disable_cp_again
      fs/f2fs/segment.c
  * f2fs: fix sparse warning
      fs/f2fs/dir.c
      fs/f2fs/node.c
  * f2fs: fix f2fs_show_options to show nodiscard mount option
      fs/f2fs/super.c
  * f2fs: add error prints for debugging mount failure
      fs/f2fs/segment.c
      fs/f2fs/super.c
  * f2fs: fix to do sanity check on segment bitmap of LFS curseg
      fs/f2fs/segment.c
    f2fs: add missing sysfs entries in documentation
  * f2fs: fix to avoid deadloop if data_flush is on
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/segment.c
      fs/f2fs/super.c
  * f2fs: always assume that the device is idle under gc_urgent
      fs/f2fs/f2fs.h
  * f2fs: add bio cache for IPU
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/segment.c
  * f2fs: allow ssr block allocation during checkpoint=disable period
      fs/f2fs/gc.c
  * f2fs: fix to check layout on last valid checkpoint park
      fs/f2fs/checkpoint.c
      fs/f2fs/super.c
    BACKPORT: kheaders: Do not regenerate archive if config is not changed
  * BACKPORT: kheaders: Move from proc to sysfs
      init/Kconfig
      kernel/Makefile
  * BACKPORT: Provide in-kernel headers to make extending kernel easier
      init/Kconfig
      kernel/Makefile
  * UPSTREAM: binder: check for overflow when alloc for security context
      drivers/android/binder.c
    Merge 4.14.125 into android-4.14
Linux 4.14.125
  * ethtool: check the return value of get_regs_len
      net/core/ethtool.c
  * ipv4: Define __ipv4_neigh_lookup_noref when CONFIG_INET is disabled
      include/net/arp.h
  * fuse: Add FOPEN_STREAM to use stream_open()
      fs/fuse/file.c
      include/uapi/linux/fuse.h
  * fs: stream_open - opener for stream-like files so that read and write can run simultaneously without deadlock
      fs/open.c
      fs/read_write.c
      include/linux/fs.h
    qmi_wwan: Add quirk for Quectel dynamic config
  * TTY: serial_core, add ->install
      drivers/tty/serial/serial_core.c
    drm/i915/fbc: disable framebuffer compression on GeminiLake
    drm/i915: Fix I915_EXEC_RING_MASK
    drm/radeon: prefer lower reference dividers
    drm/amdgpu/psp: move psp version specific function pointers to early_init
  * drm/nouveau: add kconfig option to turn off nouveau legacy contexts. (v3)
      drivers/gpu/drm/nouveau/Kconfig
    drm/gma500/cdv: Check vbt config bits when detecting lvds panels
    test_firmware: Use correct snprintf() limit
    genwqe: Prevent an integer overflow in the ioctl
    Revert "MIPS: perf: ath79: Fix perfcount IRQ assignment"
    MIPS: pistachio: Build uImage.gz by default
    MIPS: Bounds check virt_addr_valid
    i2c: xiic: Add max_read_len quirk
  * x86/power: Fix 'nosmt' vs hibernation triple fault during resume
      include/linux/cpu.h
      kernel/cpu.c
  * pstore/ram: Run without kernel crash dump region
      fs/pstore/platform.c
      fs/pstore/ram.c
  * pstore: Convert buf_lock to semaphore
      fs/pstore/platform.c
      fs/pstore/ram.c
      include/linux/pstore.h
  * pstore: Remove needless lock during console writes
      fs/pstore/platform.c
  * fuse: fallocate: fix return with locked inode
      fs/fuse/file.c
    parisc: Use implicit space register selection for loading the coherence index of I/O pdirs
  * rcu: locking and unlocking need to always be at least barriers
      include/linux/rcupdate.h
  * Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied"
      net/core/fib_rules.c
  * Revert "fib_rules: fix error in backport of e9919a24d302 ("fib_rules: return 0...")"
      net/core/fib_rules.c
  * ipv6: fix the check before getting the cookie in rt6_get_cookie
      include/net/ip6_fib.h
    net: sfp: read eeprom in maximum 16 byte increments
  * ipv6: use READ_ONCE() for inet->hdrincl as in ipv4
      net/ipv6/raw.c
  * ipv6: fix EFAULT on sendto with icmpv6 and hdrincl
      net/ipv6/raw.c
    pktgen: do not sleep with the thread lock held.
    net: rds: fix memory leak in rds_ib_flush_mr_pool
    net/mlx4_en: ethtool, Remove unsupported SFP EEPROM high pages query
  * neighbor: Call __ipv4_neigh_lookup_noref in neigh_xmit
      net/core/neighbour.c
    Fix memory leak in sctp_process_init
  * ethtool: fix potential userspace buffer overflow
      net/core/ethtool.c
    Merge 4.14.124 into android-4.14
Linux 4.14.124
    media: uvcvideo: Fix uvc_alloc_entity() allocation alignment
  * binder: fix race between munmap() and direct reclaim
      drivers/android/binder_alloc.c
  * Revert "binder: fix handling of misaligned binder object"
      drivers/android/binder_alloc.c
    Revert "x86/build: Move _etext to actual end of .text"
  * include/linux/module.h: copy __init/__exit attrs to init/cleanup_module
      include/linux/module.h
  * Compiler Attributes: add support for __copy (gcc >= 9)
      include/linux/compiler-gcc.h
      include/linux/compiler_types.h
    drm/rockchip: shutdown drm subsystem on shutdown
    drm/vmwgfx: Don't send drm sysfs hotplug events on initial master set
    gcc-plugins: Fix build failures under Darwin host
    Revert "lockd: Show pid of lockd for remote locks"
    CIFS: cifs_read_allocate_pages: don't iterate through whole page array on ENOMEM
    staging: wlan-ng: fix adapter initialization failure
    staging: vc04_services: prevent integer overflow in create_pagelist()
    serial: sh-sci: disable DMA for uart_console
    ima: show rules with IMA_INMASK correctly
    doc: Cope with Sphinx logging deprecations
    doc: Cope with the deprecation of AutoReporter
    docs: Fix conf.py for Sphinx 2.0
  * kernel/signal.c: trace_signal_deliver when signal_group_exit
      kernel/signal.c
  * memcg: make it work on sparse non-0-node systems
      include/linux/list_lru.h
      mm/list_lru.c
    tty: max310x: Fix external crystal register setup
    tty: serial: msm_serial: Fix XON/XOFF
    drm/nouveau/i2c: Disable i2c bus access after ->fini()
    KVM: s390: Do not report unusabled IDs via KVM_CAP_MAX_VCPU_ID
    ALSA: hda/realtek - Set default power save node to 0
    powerpc/perf: Fix MMCRA corruption by bhrb_filter
    KVM: PPC: Book3S HV: XIVE: Do not clear IRQ data of passthrough interrupts
    Btrfs: incremental send, fix file corruption when no-holes feature is enabled
    Btrfs: fix fsync not persisting changed attributes of a directory
    Btrfs: fix race updating log root item during fsync
    Btrfs: fix wrong ctime and mtime of a directory after log replay
    scsi: zfcp: fix to prevent port_remove with pure auto scan LUNs (only sdevs)
    scsi: zfcp: fix missing zfcp_port reference put on -EBUSY from port_remove
    media: smsusb: better handle optional alignment
    media: usb: siano: Fix false-positive "uninitialized variable" warning
    media: usb: siano: Fix general protection fault in smsusb
    USB: rio500: fix memory leak in close after disconnect
    USB: rio500: refuse more than one device at a time
  * USB: Add LPM quirk for Surface Dock GigE adapter
      drivers/usb/core/quirks.c
    USB: sisusbvga: fix oops in error path of sisusb_probe
  * USB: Fix slab-out-of-bounds write in usb_get_bos_descriptor
      drivers/usb/core/config.c
    usbip: usbip_host: fix stub_dev lock context imbalance regression
    usbip: usbip_host: fix BUG: sleeping function called from invalid context
  * usb: xhci: avoid null pointer deref when bos field is NULL
      drivers/usb/host/xhci.c
  * xhci: Convert xhci_handshake() to use readl_poll_timeout_atomic()
      drivers/usb/host/xhci.c
  * xhci: Use %zu for printing size_t type
      drivers/usb/host/xhci-ring.c
  * xhci: update bounce buffer with correct sg num
      drivers/usb/host/xhci-ring.c
  * include/linux/bitops.h: sanitize rotate primitives
      include/linux/bitops.h
    sparc64: Fix regression in non-hypervisor TLB flush xcall
    tipc: fix modprobe tipc failed after switch order of device registration
    Revert "tipc: fix modprobe tipc failed after switch order of device registration"
    xen/pciback: Don't disable PCI_COMMAND on PCI device reset.
    crypto: vmx - ghash: do nosimd fallback manually
    net: phy: marvell10g: report if the PHY fails to boot firmware
    net: mvpp2: fix bad MVPP2_TXQ_SCHED_TOKEN_CNTR_REG queue value
    net: mvneta: Fix err code path of probe
    net: dsa: mv88e6xxx: fix handling of upper half of STATS_TYPE_PORT
  * ipv4/igmp: fix build error if !CONFIG_IP_MULTICAST
      net/ipv4/igmp.c
  * ipv4/igmp: fix another memory leak in igmpv3_del_delrec()
      net/ipv4/igmp.c
    bnxt_en: Fix aggregation buffer leak under OOM condition.
    net/mlx5: Allocate root ns memory using kzalloc to match kfree
    tipc: Avoid copying bytes beyond the supplied data
  * usbnet: fix kernel crash after disconnect
      drivers/net/usb/usbnet.c
    net: stmmac: fix reset gpio free missing
  * net-gro: fix use-after-free read in napi_gro_frags()
      net/core/dev.c
    net: fec: fix the clk mismatch in failed_reset path
  * llc: fix skb leak in llc_build_and_send_ui_pkt()
      net/llc/llc_output.c
  * ipv6: Consider sk_bound_dev_if when binding a raw socket to an address
      net/ipv6/raw.c
  * inet: switch IP ID generator to siphash
      include/linux/siphash.h
      include/net/netns/ipv4.h
      net/ipv4/route.c
      net/ipv6/output_core.c
  * ANDROID: uid_sys_stats: report uid_cputime stats in microseconds
      drivers/misc/uid_sys_stats.c
  * Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied"
      net/core/fib_rules.c
  * Revert "UPSTREAM: fib_rules: fix error in backport of e9919a24d302 ("fib_rules: return 0...")"
      net/core/fib_rules.c
    Revert "x86/build: Move _etext to actual end of .text"
    Merge 4.14.123 into android-4.14
Linux 4.14.123
    NFS: Fix a double unlock from nfs_match,get_client
    vfio-ccw: Prevent quiesce function going into an infinite loop
  * drm: Wake up next in drm_read() chain if we are forced to putback the event
      drivers/gpu/drm/drm_file.c
  * drm/drv: Hold ref on parent device during drm_device lifetime
      drivers/gpu/drm/drm_drv.c
    ASoC: davinci-mcasp: Fix clang warning without CONFIG_PM
  * spi: Fix zero length xfer bug
      drivers/spi/spi.c
    spi: rspi: Fix sequencer reset during initialization
    spi : spi-topcliff-pch: Fix to handle empty DMA buffers
    scsi: lpfc: Fix SLI3 commands being issued on SLI4 devices
    media: saa7146: avoid high stack usage with clang
    scsi: lpfc: Fix fc4type information for FDMI
    scsi: lpfc: Fix FDMI manufacturer attribute value
    media: vimc: zero the media_device on probe
    media: go7007: avoid clang frame overflow warning with KASAN
    media: vimc: stream: fix thread state before sleep
    media: m88ds3103: serialize reset messages in m88ds3103_set_frontend
    thunderbolt: Fix to check for kmemdup failure
    hwrng: omap - Set default quality
    dmaengine: tegra210-adma: use devm_clk_*() helpers
    batman-adv: allow updating DAT entry timeouts on incoming ARP Replies
    scsi: qla4xxx: avoid freeing unallocated dma memory
  * usb: core: Add PM runtime calls to usb_hcd_platform_shutdown
      drivers/usb/core/hcd.c
    rcuperf: Fix cleanup path for invalid perf_type strings
    rcutorture: Fix cleanup path for invalid torture_type strings
    x86/mce: Fix machine_check_poll() tests for error types
    tty: ipwireless: fix missing checks for ioremap
    virtio_console: initialize vtermno value for ports
    scsi: qedf: Add missing return in qedf_post_io_req() in the fcport offload check
    media: wl128x: prevent two potential buffer overflows
    media: video-mux: fix null pointer dereferences
  * kobject: Don't trigger kobject_uevent(KOBJ_REMOVE) twice.
      lib/kobject_uevent.c
    spi: tegra114: reset controller on probe
    HID: logitech-hidpp: change low battery level threshold from 31 to 30 percent
    cxgb3/l2t: Fix undefined behaviour
    ASoC: fsl_utils: fix a leaked reference by adding missing of_node_put
    ASoC: eukrea-tlv320: fix a leaked reference by adding missing of_node_put
  * HID: core: move Usage Page concatenation to Main item
      drivers/hid/hid-core.c
      include/linux/hid.h
    RDMA/hns: Fix bad endianess of port_pd variable
  * chardev: add additional check for minor range overlap
      fs/char_dev.c
    x86/ia32: Fix ia32_restore_sigcontext() AC leak
    x86/uaccess, signal: Fix AC=1 bloat
    x86/uaccess, ftrace: Fix ftrace_likely_update() vs. SMAP
  * arm64: cpu_ops: fix a leaked reference by adding missing of_node_put
      arch/arm64/kernel/cpu_ops.c
  * scsi: ufs: Avoid configuring regulator with undefined voltage range
      drivers/scsi/ufs/ufshcd.c
  * scsi: ufs: Fix regulator load and icc-level configuration
      drivers/scsi/ufs/ufshcd.c
    rtlwifi: fix potential NULL pointer dereference
    rtc: xgene: fix possible race condition
    brcmfmac: fix Oops when bringing up interface during USB disconnect
    brcmfmac: fix race during disconnect when USB completion is in progress
    brcmfmac: fix WARNING during USB disconnect in case of unempty psq
    brcmfmac: convert dev_init_lock mutex to completion
    b43: shut up clang -Wuninitialized variable warning
    brcmfmac: fix missing checks for kmemdup
    mwifiex: Fix mem leak in mwifiex_tm_cmd
    rtlwifi: fix a potential NULL pointer dereference
    iio: common: ssp_sensors: Initialize calculated_time in ssp_common_process_data
    iio: hmc5843: fix potential NULL pointer dereferences
    iio: ad_sigma_delta: Properly handle SPI bus locking vs CS assertion
    x86/build: Keep local relocations with ld.lld
    block: sed-opal: fix IOC_OPAL_ENABLE_DISABLE_MBR
    cpufreq: kirkwood: fix possible object reference leak
    cpufreq: pmac32: fix possible object reference leak
    cpufreq/pasemi: fix possible object reference leak
    cpufreq: ppc_cbe: fix possible object reference leak
    s390: cio: fix cio_irb declaration
    x86/microcode: Fix the ancient deprecated microcode loading method
    s390: zcrypt: initialize variables before_use
    clk: rockchip: Make rkpwm a critical clock on rk3288
    extcon: arizona: Disable mic detect if running when driver is removed
    clk: rockchip: Fix video codec clocks on rk3288
  * PM / core: Propagate dev->power.wakeup_path when no callbacks
      drivers/base/power/main.c
    drm/amdgpu: fix old fence check in amdgpu_fence_emit
    mmc: sdhci-of-esdhc: add erratum eSDHC-A001 and A-008358 support
    mmc: sdhci-of-esdhc: add erratum A-009204 support
    mmc: sdhci-of-esdhc: add erratum eSDHC5 support
    mmc_spi: add a status check for spi_sync_locked
    mmc: core: make pwrseq_emmc (partially) support sleepy GPIO controllers
    scsi: libsas: Do discovery on empty PHY to update PHY info
    hwmon: (f71805f) Use request_muxed_region for Super-IO accesses
    hwmon: (pc87427) Use request_muxed_region for Super-IO accesses
    hwmon: (smsc47b397) Use request_muxed_region for Super-IO accesses
    hwmon: (smsc47m1) Use request_muxed_region for Super-IO accesses
    hwmon: (vt1211) Use request_muxed_region for Super-IO accesses
    RDMA/cxgb4: Fix null pointer dereference on alloc_skb failure
  * arm64: vdso: Fix clock_getres() for CLOCK_REALTIME
      arch/arm64/include/asm/vdso_datapage.h
      arch/arm64/kernel/asm-offsets.c
      arch/arm64/kernel/vdso.c
    i40e: don't allow changes to HW VLAN stripping on active port VLANs
    i40e: Able to add up to 16 MAC filters on an untrusted VF
    phy: sun4i-usb: Make sure to disable PHY0 passby for peripheral mode
    x86/irq/64: Limit IST stack overflow check to #DB stack
  * USB: core: Don't unbind interfaces following device reset failure
      drivers/usb/core/hub.c
    drm/msm: a5xx: fix possible object reference leak
  * sched/core: Handle overflow in cpu_shares_write_u64
      kernel/sched/core.c
  * sched/rt: Check integer overflow at usec to nsec conversion
      kernel/sched/rt.c
  * sched/core: Check quota and period overflow at usec to nsec conversion
      kernel/sched/core.c
  * cgroup: protect cgroup->nr_(dying_)descendants by css_set_lock
      include/linux/cgroup-defs.h
      kernel/cgroup/cgroup.c
  * random: add a spinlock_t to struct batched_entropy
      drivers/char/random.c
    powerpc/64: Fix booting large kernels with STRICT_KERNEL_RWX
    powerpc/numa: improve control of topology updates
    media: pvrusb2: Prevent a buffer overflow
    media: au0828: Fix NULL pointer dereference in au0828_analog_stream_enable()
    media: stm32-dcmi: fix crash when subdev do not expose any formats
  * audit: fix a memory leak bug
      kernel/auditfilter.c
    media: ov2659: make S_FMT succeed even if requested format doesn't match
    media: au0828: stop video streaming only when last user stops
    media: ov6650: Move v4l2_clk_get() to ov6650_video_probe() helper
    media: coda: clear error return value before picture run
    dmaengine: at_xdmac: remove BUG_ON macro in tasklet
    clk: rockchip: undo several noc and special clocks as critical on rk3288
    pinctrl: samsung: fix leaked of_node references
    pinctrl: pistachio: fix leaked of_node references
    HID: logitech-hidpp: use RAP instead of FAP to get the protocol version
  * mm/uaccess: Use 'unsigned long' to placate UBSAN warnings on older GCC versions
      lib/strncpy_from_user.c
      lib/strnlen_user.c
    x86/mm: Remove in_nmi() warning from 64-bit implementation of vmalloc_fault()
  * smpboot: Place the __percpu annotation correctly
      include/linux/smpboot.h
    x86/build: Move _etext to actual end of .text
    vfio-ccw: Release any channel program when releasing/removing vfio-ccw mdev
    vfio-ccw: Do not call flush_workqueue while holding the spinlock
    bcache: avoid clang -Wunintialized warning
    bcache: add failure check to run_cache_set() for journal replay
    bcache: fix failure in journal relplay
    bcache: return error immediately in bch_journal_replay()
    crypto: sun4i-ss - Fix invalid calculation of hash end
    net: cw1200: fix a NULL pointer dereference
    mwifiex: prevent an array overflow
    ASoC: fsl_sai: Update is_slave_mode with correct value
    libbpf: fix samples/bpf build failure due to undefined UINT32_MAX
  * mac80211/cfg80211: update bss channel on channel switch
      net/wireless/nl80211.c
    dmaengine: pl330: _stop: clear interrupt status
    w1: fix the resume command API
    scsi: qedi: Abort ep termination if offload not scheduled
    rtc: 88pm860x: prevent use-after-free on device remove
    iwlwifi: pcie: don't crash on invalid RX interrupt
    btrfs: Don't panic when we can't find a root key
    btrfs: fix panic during relocation after ENOSPC before writeback happens
    Btrfs: fix data bytes_may_use underflow with fallocate due to failed quota reserve
    scsi: qla2xxx: Avoid that lockdep complains about unsafe locking in tcm_qla2xxx_close_session()
    scsi: qla2xxx: Fix abort handling in tcm_qla2xxx_write_pending()
    scsi: qla2xxx: Fix a qla24xx_enable_msix() error path
  * sched/cpufreq: Fix kobject memleak
      drivers/cpufreq/cpufreq.c
  * arm64: Fix compiler warning from pte_unmap() with -Wunused-but-set-variable
      arch/arm64/include/asm/pgtable.h
    ARM: vdso: Remove dependency with the arch_timer driver internals
    ACPI / property: fix handling of data_nodes in acpi_get_next_subnode()
    brcm80211: potential NULL dereference in brcmf_cfg80211_vndr_cmds_dcmd_handler()
    spi: pxa2xx: fix SCR (divisor) calculation
  * ASoC: imx: fix fiq dependencies
      sound/soc/fsl/Kconfig
    powerpc/boot: Fix missing check of lseek() return value
    powerpc/perf: Return accordingly on invalid chip-id in
  * ASoC: hdmi-codec: unlock the device on startup errors
      sound/soc/codecs/hdmi-codec.c
    pinctrl: zte: fix leaked of_node references
    net: ena: gcc 8: fix compilation warning
    dmaengine: tegra210-dma: free dma controller in remove()
    tools/bpf: fix perf build error with uClibc (seen on ARC)
    mmc: core: Verify SD bus width
    gfs2: Fix occasional glock use-after-free
    IB/hfi1: Fix WQ_MEM_RECLAIM warning
    NFS: make nfs_match_client killable
    cxgb4: Fix error path in cxgb4_init_module
    gfs2: Fix lru_count going negative
    Revert "btrfs: Honour FITRIM range constraints during free space trim"
    net: erspan: fix use-after-free
    at76c50x-usb: Don't register led_trigger if usb_register_driver failed
    batman-adv: mcast: fix multicast tt/tvlv worker locking
  * bpf: devmap: fix use-after-free Read in __dev_map_entry_free
      kernel/bpf/devmap.c
    ssb: Fix possible NULL pointer dereference in ssb_host_pcmcia_exit
    media: vivid: use vfree() instead of kfree() for dev->bitmap_cap
    media: serial_ir: Fix use-after-free in serial_ir_init_module
    media: cpia2: Fix use-after-free in cpia2_exit
  * fbdev: fix WARNING in __alloc_pages_nodemask bug
      drivers/video/fbdev/core/fbcmap.c
    btrfs: honor path->skip_locking in backref code
    brcmfmac: add subtype check for event handling in data path
    brcmfmac: assure SSID length from firmware is limited
  * hugetlb: use same fault hash key for shared and private mappings
      include/linux/hugetlb.h
  * fbdev: fix divide error in fb_var_to_videomode
      drivers/video/fbdev/core/modedb.c
    btrfs: sysfs: don't leak memory when failing add fsid
    btrfs: sysfs: Fix error path kobject memory leak
    Btrfs: fix race between ranged fsync and writeback of adjacent ranges
    Btrfs: avoid fallback to transaction commit during fsync of files with holes
    Btrfs: do not abort transaction at btrfs_update_root() after failure to COW path
    gfs2: Fix sign extension bug in gfs2_update_stats
  * arm64/iommu: handle non-remapped addresses in ->mmap and ->get_sgtable
      arch/arm64/mm/dma-mapping.c
    libnvdimm/namespace: Fix label tracking error
    libnvdimm/pmem: Bypass CONFIG_HARDENED_USERCOPY overhead
    kvm: svm/avic: fix off-by-one in checking host APIC ID
    mmc: sdhci-iproc: Set NO_HISPD bit to fix HS50 data hold time problem
    mmc: sdhci-iproc: cygnus: Set NO_HISPD bit to fix HS50 data hold time problem
    crypto: vmx - CTR: always increment IV as quadword
  * Revert "scsi: sd: Keep disk read-only when re-reading partition"
      drivers/scsi/sd.c
  * sbitmap: fix improper use of smp_mb__before_atomic()
      lib/sbitmap.c
  * bio: fix improper use of smp_mb__before_atomic()
      include/linux/bio.h
    KVM: x86: fix return value for reserved EFER
  * f2fs: Fix use of number of devices
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/segment.c
  * ext4: do not delete unlinked inode from orphan list on failed truncate
      fs/ext4/inode.c
    x86: Hide the int3_emulate_call/jmp functions from UML
    Merge remote-tracking branch 'origin/upstream-f2fs-stable-linux-4.14.y' into android-4.14
    x86: Hide the int3_emulate_call/jmp functions from UML
    Merge 4.14.122 into android-4.14
Linux 4.14.122
    fbdev: sm712fb: fix memory frequency by avoiding a switch/case fallthrough
    btrfs: Honour FITRIM range constraints during free space trim
  * bpf, lru: avoid messing with eviction heuristics upon syscall lookup
      kernel/bpf/hashtab.c
  * bpf: add map_lookup_elem_sys_only for lookups from syscall side
      include/linux/bpf.h
      kernel/bpf/syscall.c
  * driver core: Postpone DMA tear-down until after devres release for probe failure
      drivers/base/dd.c
    md/raid: raid5 preserve the writeback action after the parity check
    Revert "Don't jump to compute_result state from check_result state"
    perf bench numa: Add define for RUSAGE_THREAD if not present
    ufs: fix braino in ufs_get_inode_gid() for solaris UFS flavour
  * x86/mm/mem_encrypt: Disable all instrumentation for early SME setup
      lib/Makefile
  * sched/cpufreq: Fix kobject memleak
      kernel/sched/cpufreq_schedutil.c
    iwlwifi: mvm: check for length correctness in iwl_mvm_create_skb()
  * power: supply: sysfs: prevent endless uevent loop with CONFIG_POWER_SUPPLY_DEBUG
      drivers/power/supply/power_supply_sysfs.c
    KVM: arm/arm64: Ensure vcpu target is unset on reset failure
    mac80211: Fix kernel panic due to use of txq after free
    apparmorfs: fix use-after-free on symlink traversal
    securityfs: fix use-after-free on symlink traversal
    power: supply: cpcap-battery: Fix division by zero
  * xfrm4: Fix uninitialized memory read in _decode_session4
      net/ipv4/xfrm4_policy.c
  * esp4: add length check for UDP encapsulation
      net/ipv4/esp4.c
  * vti4: ipip tunnel deregistration fixes.
      net/ipv4/ip_vti.c
  * xfrm6_tunnel: Fix potential panic when unloading xfrm6_tunnel module
      net/ipv6/xfrm6_tunnel.c
  * xfrm: policy: Fix out-of-bound array accesses in __xfrm_policy_unlink
      net/xfrm/xfrm_user.c
    dm delay: fix a crash when invalid device is specified
    dm zoned: Fix zone report handling
    dm cache metadata: Fix loading discard bitset
  * PCI: Work around Pericom PCIe-to-PCI bridge Retrain Link erratum
      drivers/pci/quirks.c
      include/linux/pci.h
    PCI: Factor out pcie_retrain_link() function
  * PCI: Mark Atheros AR9462 to avoid bus reset
      drivers/pci/quirks.c
  * PCI: Mark AMD Stoney Radeon R7 GPU ATS as broken
      drivers/pci/quirks.c
    fbdev: sm712fb: fix crashes and garbled display during DPMS modesetting
    fbdev: sm712fb: use 1024x768 by default on non-MIPS, fix garbled display
    fbdev: sm712fb: fix support for 1024x768-16 mode
    fbdev: sm712fb: fix crashes during framebuffer writes by correctly mapping VRAM
    fbdev: sm712fb: fix boot screen glitch when sm712fb replaces VGA
    fbdev: sm712fb: fix white screen of death on reboot, don't set CR3B-CR3F
    fbdev: sm712fb: fix VRAM detection, don't set SR70/71/74/75
    fbdev: sm712fb: fix brightness control on reboot, don't set SR30
    objtool: Allow AR to be overridden with HOSTAR
    perf intel-pt: Fix sample timestamp wrt non-taken branches
    perf intel-pt: Fix improved sample timestamp
    perf intel-pt: Fix instructions sampling rate
    memory: tegra: Fix integer overflow on tick value calculation
  * tracing: Fix partial reading of trace event's id file
      kernel/trace/trace_events.c
    ftrace/x86_64: Emulate call function while updating in breakpoint handler
    x86_64: Allow breakpoints to emulate call instructions
    x86_64: Add gap to int3 to allow for call emulation
    ceph: flush dirty inodes before proceeding with remount
    iommu/tegra-smmu: Fix invalid ASID bits on Tegra30/114
  * fuse: honor RLIMIT_FSIZE in fuse_file_fallocate
      fs/fuse/file.c
  * fuse: fix writepages on 32bit
      fs/fuse/file.c
    clk: rockchip: fix wrong clock definitions for rk3328
    clk: tegra: Fix PLLM programming on Tegra124+ when PMC overrides divider
    clk: hi3660: Mark clk_gate_ufs_subsys as critical
    PNFS fallback to MDS if no deviceid found
    NFS4: Fix v4.0 client state corruption when mount
    Revert "cifs: fix memory leak in SMB2_read"
    media: ov6650: Fix sensor possibly not detected on probe
    cifs: fix strcat buffer overflow and reduce raciness in smb21_set_oplock_level()
  * of: fix clang -Wunsequenced for be32_to_cpu()
      include/linux/of.h
    p54: drop device reference count if fails to enable device
    intel_th: msu: Fix single mode with IOMMU
    md: add mddev->pers to avoid potential NULL pointer dereference
    stm class: Fix channel free in stm output free path
    parisc: Rename LEVEL to PA_ASM_LEVEL to avoid name clash with DRBD code
    parisc: Use PA_ASM_LEVEL in boot code
    parisc: Skip registering LED when running in QEMU
    parisc: Export running_on_qemu symbol for modules
  * net: Always descend into dsa/
      drivers/net/Makefile
    vsock/virtio: Initialize core virtio vsock before registering the driver
    tipc: fix modprobe tipc failed after switch order of device registration
    vsock/virtio: free packets during the socket release
    tipc: switch order of device registration to fix a crash
  * ppp: deflate: Fix possible crash in deflate_init
      drivers/net/ppp/ppp_deflate.c
    net: usb: qmi_wwan: add Telit 0x1260 and 0x1261 compositions
  * net: test nouarg before dereferencing zerocopy pointers
      include/linux/skbuff.h
    net/mlx4_core: Change the error print to info print
  * net: avoid weird emergency message
      net/core/dev.c
  * f2fs: link f2fs quota ops for sysfile
      fs/f2fs/checkpoint.c
      fs/f2fs/super.c
    Enable CONFIG_ION_SYSTEM_HEAP
  * BACKPORT: gcov: clang support
      kernel/gcov/Kconfig
    UPSTREAM: gcov: docs: add a note on GCC vs Clang differences
    UPSTREAM: gcov: clang: move common GCC code into gcc_base.c
  * UPSTREAM: module: add stubs for within_module functions
      include/linux/module.h
  * UPSTREAM: gcov: remove CONFIG_GCOV_FORMAT_AUTODETECT
      kernel/gcov/Kconfig
  * BACKPORT: kbuild: gcov: enable -fno-tree-loop-im if supported
      Makefile
  * fs: sdcardfs: Add missing option to show_options
      fs/sdcardfs/super.c
    Merge 4.14.121 into android-4.14
Linux 4.14.121
  * ext4: fix compile error when using BUFFER_TRACE
      fs/ext4/inode.c
  * iov_iter: optimize page_copy_sane()
      lib/iov_iter.c
    KVM: x86: Skip EFER vs. guest CPUID checks for host-initiated writes
    ALSA: hda/realtek - Fix for Lenovo B50-70 inverted internal microphone bug
  * ext4: fix use-after-free in dx_release()
      fs/ext4/namei.c
  * ext4: fix data corruption caused by overlapping unaligned and aligned IO
      fs/ext4/file.c
  * ext4: zero out the unused memory region in the extent tree block
      fs/ext4/extents.c
  * fs/writeback.c: use rcu_barrier() to wait for inflight wb switches going into workqueue when umount
      fs/fs-writeback.c
  * fib_rules: fix error in backport of e9919a24d302 ("fib_rules: return 0...")
      net/core/fib_rules.c
    crypto: ccm - fix incompatibility between "ccm" and "ccm_base"
    crypto: salsa20 - don't access already-freed walk.iv
    crypto: arm64/aes-neonbs - don't access already-freed walk.iv
    ipmi:ssif: compare block number correctly for multi-part return messages
  * ext4: fix ext4_show_options for file systems w/o journal
      fs/ext4/super.c
  * ext4: actually request zeroing of inode table after grow
      fs/ext4/ioctl.c
  * ext4: fix use-after-free race with debug_want_extra_isize
      fs/ext4/super.c
    bcache: never set KEY_PTRS of journal key to 0 in journal_reclaim()
    bcache: fix a race between cache register and cacheset unregister
    Btrfs: do not start a transaction at iterate_extent_inodes()
    Btrfs: do not start a transaction during fiemap
  * ext4: avoid drop reference to iloc.bh twice
      fs/ext4/resize.c
  * ext4: ignore e_value_offs for xattrs with value-in-ea-inode
      fs/ext4/xattr.c
  * ext4: make sanity check in mballoc more strict
      fs/ext4/mballoc.c
  * jbd2: check superblock mapped prior to committing
      fs/jbd2/journal.c
    tty/vt: fix write/write race in ioctl(KDSKBSENT) handler
    tty: vt.c: Fix TIOCL_BLANKSCREEN console blanking if blankinterval == 0
    mtd: spi-nor: intel-spi: Avoid crossing 4K address boundary on read/write
    mfd: max77620: Fix swapped FPS_PERIOD_MAX_US values
    mfd: da9063: Fix OTP control register names to match datasheets for DA9063/63L
  * userfaultfd: use RCU to free the task struct when fork fails
      kernel/fork.c
    ocfs2: fix ocfs2 read inode data panic in ocfs2_iget
  * mm/mincore.c: make mincore() more conservative
      mm/mincore.c
    bpf, arm64: remove prefetch insn in xadd mapping
    ASoC: RT5677-SPI: Disable 16Bit SPI Transfers
    ASoC: max98090: Fix restore of DAPM Muxes
    ALSA: hda/realtek - EAPD turn on later
    ALSA: hda/hdmi - Consider eld_valid when reporting jack event
    ALSA: hda/hdmi - Read the pin sense from register when repolling
  * ALSA: usb-audio: Fix a memory leak bug
      sound/usb/mixer.c
    crypto: arm/aes-neonbs - don't access already-freed walk.iv
    crypto: rockchip - update IV buffer to contain the next IV
  * crypto: gcm - fix incompatibility between "gcm" and "gcm_base"
      crypto/gcm.c
    crypto: x86/crct10dif-pcl - fix use via crypto_shash_digest()
    crypto: crct10dif-generic - fix use via crypto_shash_digest()
  * crypto: skcipher - don't WARN on unprocessed data after slow walk step
      crypto/skcipher.c
    crypto: vmx - fix copy-paste error in CTR mode
    crypto: chacha20poly1305 - set cra_name correctly
    sched/x86: Save [ER]FLAGS on context switch
  * arm64: Save and restore OSDLR_EL1 across suspend/resume
      arch/arm64/mm/proc.S
  * arm64: Clear OSDLR_EL1 on CPU boot
      arch/arm64/kernel/debug-monitors.c
  * arm64: compat: Reduce address limit
      arch/arm64/include/asm/processor.h
    power: supply: axp288_charger: Fix unchecked return value
    ARM: exynos: Fix a leaked reference by adding missing of_node_put
    ARM: dts: exynos: Fix audio (microphone) routing on Odroid XU3
    ARM: dts: exynos: Fix interrupt for shared EINTs on Exynos5260
    objtool: Fix function fallthrough detection
    x86/speculation/mds: Improve CPU buffer clear documentation
    x86/speculation/mds: Revert CPU buffer clear on double fault exit
    PCI: hv: Add pci_destroy_slot() in pci_devices_present_work(), if necessary
    PCI: hv: Add hv_pci_remove_slots() when we unload the driver
    PCI: hv: Fix a memory leak in hv_eject_device_work()
  * locking/rwsem: Prevent decrement of reader count before increment
      kernel/locking/rwsem-xadd.c
  * net: core: another layer of lists, around PF_MEMALLOC skb handling
      include/linux/list.h
  * UPSTREAM: fib_rules: fix error in backport of e9919a24d302 ("fib_rules: return 0...")
      net/core/fib_rules.c
  * UPSTREAM: bpf: relax inode permission check for retrieving bpf program
      kernel/bpf/inode.c
  * BACKPORT: fix "netfilter: xt_bpf: Fix XT_BPF_MODE_FD_PINNED mode of 'xt_bpf_info_v1'"
      include/linux/bpf.h
      kernel/bpf/inode.c
      net/netfilter/xt_bpf.c
    Merge 4.14.120 into android-4.14
Linux 4.14.120
    s390/speculation: Fix build error caused by bad backport
    powerpc/booke64: set RI in default MSR
    powerpc/powernv/idle: Restore IAMR after idle
    drivers/virt/fsl_hypervisor.c: prevent integer overflow in ioctl
    drivers/virt/fsl_hypervisor.c: dereferencing error pointers in ioctl
    tipc: fix hanging clients using poll with EPOLLOUT flag
  * vrf: sit mtu should not be updated when vrf netdev is the link
      net/ipv6/sit.c
    vlan: disable SIOCSHWTSTAMP in container
  * packet: Fix error path in packet_init
      net/packet/af_packet.c
    net: ucc_geth - fix Oops when changing number of buffers in the ring
    net: seeq: fix crash caused by not set dev.parent
    net: ethernet: stmmac: dwmac-sun8i: enable support of unicast filtering
    net: dsa: Fix error cleanup path in dsa_init_module
  * ipv4: Fix raw socket lookup for local traffic
      net/ipv4/raw.c
  * fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied
      net/core/fib_rules.c
    dpaa_eth: fix SG frame cleanup
  * bridge: Fix error path for kobject_init_and_add()
      net/bridge/br_if.c
  * bonding: fix arp_validate toggling in active-backup mode
      drivers/net/bonding/bond_options.c
    powerpc/64s: Include cpu header
    Don't jump to compute_result state from check_result state
    rtlwifi: rtl8723ae: Fix missing break in switch statement
    mwl8k: Fix rate_idx underflow
    cw1200: fix missing unlock on error in cw1200_hw_scan()
    x86/kprobes: Avoid kretprobe recursion bug
    nfc: nci: Potential off by one in ->pipes[] array
    NFC: nci: Add some bounds checking in nci_hci_cmd_received()
    mlxsw: core: Do not use WQ_MEM_RECLAIM for mlxsw workqueue
    mlxsw: core: Do not use WQ_MEM_RECLAIM for mlxsw ordered workqueue
    mlxsw: core: Do not use WQ_MEM_RECLAIM for EMAD workqueue
    mlxsw: spectrum_switchdev: Add MDB entries in prepare phase
    net: fec: manage ahb clock in runtime pm
  * mm/memory.c: fix modifying of page protection by insert_pfn()
      mm/memory.c
    net: hns: Fix WARNING when hns modules installed
    x86/fpu: Don't export __kernel_fpu_{begin,end}()
    cifs: fix memory leak in SMB2_read
    drm/rockchip: fix for mailbox read validation.
    netfilter: nf_tables: warn when expr implements only one of activate/deactivate
    Input: elan_i2c - add hardware ID for multiple Lenovo laptops
    ACPICA: Namespace: remove address node from global list after method termination
  * gtp: change NET_UDP_TUNNEL dependency to select
      drivers/net/Kconfig
    net_sched: fix two more memory leaks in cls_tcindex
    xtensa: xtfpga.dtsi: fix dtc warnings about SPI
  * devres: Align data[] to ARCH_KMALLOC_MINALIGN
      drivers/base/devres.c
    vt: always call notifier with the console lock held
    arm64: dts: marvell: armada-ap806: reserve PSCI area
    RDMA/vmw_pvrdma: Return the correct opcode when creating WR
    drm/rockchip: psr: do not dereference encoder before it is null checked.
    leds: pwm: silently error out on EPROBE_DEFER
    powerpc: remove old GCC version checks
    arm64: KVM: Make VHE Stage-2 TLB invalidation operations non-interruptible
  * mm: introduce mm_[p4d|pud|pmd]_folded
      include/asm-generic/pgtable.h
    x86/vdso: Pass --eh-frame-hdr to the linker
    Btrfs: fix missing delayed iputs on unmount
    net: stmmac: Move debugfs init/exit to ->probe()/->remove()
  * staging: olpc_dcon: add a missing dependency
      drivers/staging/olpc_dcon/Kconfig
    scsi: raid_attrs: fix unused variable warning
    drm/i915: Downgrade Gen9 Plane WM latency error
  * tracing/fgraph: Fix set_graph_function from showing interrupts
      kernel/trace/trace.h
  * net: don't keep lonely packets forever in the gro hash
      net/core/dev.c
    media: ov5640: fix auto controls values when switching to manual mode
    media: ov5640: fix wrong binning value in exposure calculation
    drm/i915: Disable LP3 watermarks on all SNB machines
  * fuse: fix possibly missed wake-up after abort
      fs/fuse/dev.c
    media: adv7842: when the EDID is cleared, unconfigure CEC as well
    media: adv7604: when the EDID is cleared, unconfigure CEC as well
    media: cec: integrate cec_validate_phys_addr() in cec-api.c
    media: cec: make cec_get_edid_spa_location() an inline function
    KVM: arm/arm64: Ensure only THP is candidate for adjustment
    ima: open a new file instance if no read permissions
  * IB/rxe: Revise the ib_wr_opcode enum
      include/rdma/ib_verbs.h
      include/uapi/rdma/ib_user_verbs.h
    ACPICA: AML interpreter: add region addresses in global list during initialization
    bcache: correct dirty data statistics
    MIPS: VDSO: Reduce VDSO_RANDOMIZE_SIZE to 64MB for 64bit
    sparc64: Make corrupted user stacks more debuggable.
    sparc64: Export __node_distance.
    Input: synaptics-rmi4 - fix possible double free
    spi: ST ST95HF NFC: declare missing of table
    spi: Micrel eth switch: declare missing of table
    drm/imx: don't skip DP channel disable for background plane
    gpu: ipu-v3: dp: fix CSC handling
    selftests/net: correct the return value for run_netsocktests
    drm/sun4i: Set device driver data at bind time for use in unbind
    s390: ctcm: fix ctcm_new_device error return code
    MIPS: perf: ath79: Fix perfcount IRQ assignment
  * netfilter: ctnetlink: don't use conntrack/expect object addresses as id
      include/net/netfilter/nf_conntrack.h
      net/netfilter/nf_conntrack_core.c
      net/netfilter/nf_conntrack_netlink.c
    ipvs: do not schedule icmp errors from tunnels
    selftests: netfilter: check icmp pkttoobig errors are set as related
  * init: initialize jump labels before command line option parsing
      init/main.c
  * mm: fix inactive list balancing between NUMA nodes and cgroups
      mm/vmscan.c
    tools lib traceevent: Fix missing equality check for strcmp
    KVM: x86: avoid misreporting level-triggered irqs as edge-triggered in tracing
  * KVM: fix spectrev1 gadgets
      include/linux/kvm_host.h
  * x86/reboot, efi: Use EFI reboot for Acer TravelMate X514-51T
      include/linux/efi.h
    s390/pkey: add one more argument space for debug feature entry
    mISDN: Check address length before reading address family
    clocksource/drivers/oxnas: Fix OX820 compatible
    s390/3270: fix lockdep false positive on view->lock
  * nl80211: Add NL80211_FLAG_CLEAR_SKB flag for other NL commands
      net/wireless/nl80211.c
    mac80211: fix memory accounting with A-MSDU aggregation
    mac80211: Increase MAX_MSG_LEN
    mac80211: fix unaligned access in mesh table hash function
    s390/dasd: Fix capacity calculation for large volumes
    libnvdimm/btt: Fix a kmemdup failure check
  * HID: input: add mapping for "Toggle Display" key
      drivers/hid/hid-input.c
  * HID: input: add mapping for keyboard Brightness Up/Down/Toggle keys
      drivers/hid/hid-input.c
  * HID: input: add mapping for Expose/Overview key
      drivers/hid/hid-input.c
    libnvdimm/namespace: Fix a potential NULL pointer dereference
    iio: adc: xilinx: fix potential use-after-free on remove
    USB: serial: fix unthrottle races
  * kernfs: fix barrier usage in __kernfs_new_node()
      fs/kernfs/dir.c
    hwmon: (pwm-fan) Disable PWM if fetching cooling data fails
    platform/x86: thinkpad_acpi: Disable Bluetooth for some machines
    platform/x86: sony-laptop: Fix unintentional fall-through
  * netfilter: compat: initialize all fields in xt_init
      net/netfilter/x_tables.c
    ANDROID: cuttlefish_defconfig: Disable DEVTMPFS
    ANDROID: Move from clang r349610 to r353983c.
    Merge upstream-f2fs-stable-linux-4.14.y into android-4.14
    Merge 4.14.119 into android-4.14
Linux 4.14.119
    x86/speculation/mds: Fix documentation typo
    Documentation: Correct the possible MDS sysfs values
    x86/mds: Add MDSUM variant to the MDS documentation
    x86/speculation/mds: Add 'mitigations=' support for MDS
    s390/speculation: Support 'mitigations=' cmdline option
    powerpc/speculation: Support 'mitigations=' cmdline option
    x86/speculation: Support 'mitigations=' cmdline option
  * cpu/speculation: Add 'mitigations=' cmdline option
      include/linux/cpu.h
      kernel/cpu.c
    x86/speculation/mds: Print SMT vulnerable on MSBDS with mitigations off
    x86/speculation/mds: Fix comment
    x86/speculation/mds: Add SMT warning message
    x86/speculation: Move arch_smt_update() call to after mitigation decisions
    x86/speculation/mds: Add mds=full,nosmt cmdline option
    Documentation: Add MDS vulnerability documentation
    Documentation: Move L1TF to separate directory
    x86/speculation/mds: Add mitigation mode VMWERV
  * x86/speculation/mds: Add sysfs reporting for MDS
      drivers/base/cpu.c
      include/linux/cpu.h
    x86/speculation/mds: Add mitigation control for MDS
    x86/speculation/mds: Conditionally clear CPU buffers on idle entry
    x86/kvm/vmx: Add MDS protection when L1D Flush is not active
    x86/speculation/mds: Clear CPU buffers on exit to user
    x86/speculation/mds: Add mds_clear_cpu_buffers()
    x86/kvm: Expose X86_FEATURE_MD_CLEAR to guests
    x86/speculation/mds: Add BUG_MSBDS_ONLY
    x86/speculation/mds: Add basic bug infrastructure for MDS
    x86/speculation: Consolidate CPU whitelists
    x86/msr-index: Cleanup bit defines
  * locking/atomics, asm-generic: Move some macros from <linux/bitops.h> to a new <linux/bits.h> file
      include/linux/bitops.h
      include/linux/bits.h
    kvm: x86: Report STIBP on GET_SUPPORTED_CPUID
    x86/cpu: Sanitize FAM6_ATOM naming
    Documentation/l1tf: Fix small spelling typo
    x86/speculation: Simplify the CPU bug detection logic
    Merge 4.14.118 into android-4.14
Linux 4.14.118
  * arm64: futex: Bound number of LDXR/STXR loops in FUTEX_WAKE_OP
      arch/arm64/include/asm/futex.h
  * locking/futex: Allow low-level atomic operations to return -EAGAIN
      kernel/futex.c
    ASoC: Intel: avoid Oops if DMA setup fails
    UAS: fix alignment of scatter/gather segments
  * Bluetooth: Align minimum encryption key size for LE and BR/EDR connections
      include/net/bluetooth/hci_core.h
      net/bluetooth/hci_conn.c
    Bluetooth: hidp: fix buffer overflow
    scsi: qla2xxx: Fix incorrect region-size setting in optrom SYSFS routines
    intel_th: pci: Add Comet Lake support
  * usb-storage: Set virt_boundary_mask to avoid SG overflows
      drivers/usb/storage/scsiglue.c
    USB: cdc-acm: fix unthrottle races
    USB: serial: f81232: fix interrupt worker not stop
  * usb: dwc3: Fix default lpm_nyet_threshold value
      drivers/usb/dwc3/core.c
  * genirq: Prevent use-after-free and work list corruption
      kernel/irq/manage.c
    iommu/amd: Set exclusion range correctly
    platform/x86: pmc_atom: Drop __initconst on dmi table
    virtio-blk: limit number of hw queues by nr_cpu_ids
    ASoC: Intel: kbl: fix wrong number of channels
    drm/mediatek: fix possible object reference leak
    scsi: csiostor: fix missing data copy in csio_scsi_err_handler()
    RDMA/vmw_pvrdma: Fix memory leak on pvrdma_pci_remove
    virtio_pci: fix a NULL pointer reference in vp_del_vqs
    slab: fix a crash by reading /proc/slab_allocators
    ASoC: rockchip: pdm: fix regmap_ops hang issue
  * linux/kernel.h: Use parentheses around argument in u64_to_user_ptr()
      include/linux/kernel.h
    perf/x86/intel: Initialize TFA MSR
    perf/x86/intel: Fix handling of wakeup_events for multi-entry PEBS
    drm/mediatek: Fix an error code in mtk_hdmi_dt_parse_pdata()
    ASoC: tlv320aic32x4: Fix Common Pins
    MIPS: KGDB: fix kgdb support for SMP platforms.
    IB/hfi1: Eliminate opcode tests on mr deref
    ASoC: cs4270: Set auto-increment bit for register writes
    ASoC: wm_adsp: Add locking to wm_adsp2_bus_error
    ASoC: samsung: odroid: Fix clock configuration for 44100 sample rate
    ASoC: nau8810: fix the issue of widget with prefixed name
    ASoC: nau8824: fix the issue of the widget with prefix name
  * ASoC:soc-pcm:fix a codec fixup issue in TDM case
      sound/soc/soc-pcm.c
  * ASoC: hdmi-codec: fix S/PDIF DAI
      sound/soc/codecs/hdmi-codec.c
    staging: greybus: power_supply: fix prop-descriptor request size
    ubsan: Fix nasty -Wbuiltin-declaration-mismatch GCC-9 warnings
    Drivers: hv: vmbus: Remove the undesired put_cpu_ptr() in hv_synic_cleanup()
    scsi: libsas: fix a race condition when smp task timeout
  * f2fs: fix to avoid accessing xattr across the boundary
      fs/f2fs/xattr.c
      fs/f2fs/xattr.h
  * f2fs: fix to avoid potential race on sbi->unusable_block_count access/update
      fs/f2fs/checkpoint.c
      fs/f2fs/segment.c
      fs/f2fs/super.c
  * f2fs: add tracepoint for f2fs_filemap_fault()
      fs/f2fs/file.c
      include/trace/events/f2fs.h
  * f2fs: introduce DATA_GENERIC_ENHANCE
      fs/f2fs/checkpoint.c
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/inode.c
      fs/f2fs/node.c
      fs/f2fs/recovery.c
      fs/f2fs/segment.c
      fs/f2fs/segment.h
  * f2fs: fix to handle error in f2fs_disable_checkpoint()
      fs/f2fs/super.c
  * f2fs: remove redundant check in f2fs_file_write_iter()
      fs/f2fs/file.c
  * f2fs: fix to be aware of readonly device in write_checkpoint()
      fs/f2fs/checkpoint.c
  * f2fs: fix to skip recovery on readonly device
      fs/f2fs/checkpoint.c
      fs/f2fs/super.c
  * f2fs: fix to consider multiple device for readonly check
      fs/f2fs/f2fs.h
      fs/f2fs/super.c
  * f2fs: relocate chksum_offset for large_nat_bitmap feature
      fs/f2fs/checkpoint.c
      fs/f2fs/f2fs.h
  * f2fs: allow unfixed f2fs_checkpoint.checksum_offset
      fs/f2fs/checkpoint.c
      include/linux/f2fs_fs.h
  * f2fs: Replace spaces with tab
      fs/f2fs/acl.c
  * f2fs: insert space before the open parenthesis '('
      fs/f2fs/acl.c
  * f2fs: allow address pointer number of dnode aligning to specified size
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/node.c
      fs/f2fs/super.c
      include/linux/f2fs_fs.h
  * f2fs: introduce f2fs_read_single_page() for cleanup
      fs/f2fs/data.c
  * f2fs: mark is_extension_exist() inline
      fs/f2fs/namei.c
  * f2fs: fix to set FI_UPDATE_WRITE correctly
      fs/f2fs/data.c
  * f2fs: fix to avoid panic in f2fs_inplace_write_data()
      fs/f2fs/segment.c
  * f2fs: fix to do sanity check on valid block count of segment
      fs/f2fs/segment.h
  * f2fs: fix to do sanity check on valid node/block count
      fs/f2fs/super.c
  * f2fs: fix to avoid panic in do_recover_data()
      fs/f2fs/recovery.c
  * f2fs: fix to do sanity check on free nid
      fs/f2fs/node.c
  * f2fs: fix to do checksum even if inode page is uptodate
      fs/f2fs/inode.c
      fs/f2fs/node.c
  * f2fs: fix to avoid panic in f2fs_remove_inode_page()
      fs/f2fs/node.c
  * f2fs: fix to clear dirty inode in error path of f2fs_iget()
      fs/f2fs/inode.c
  * f2fs: remove new blank line of f2fs kernel message
      fs/f2fs/file.c
      fs/f2fs/super.c
  * f2fs: fix wrong __is_meta_io() macro
      fs/f2fs/checkpoint.c
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
  * f2fs: fix to avoid panic in dec_valid_node_count()
      fs/f2fs/f2fs.h
  * f2fs: fix to avoid panic in dec_valid_block_count()
      fs/f2fs/f2fs.h
  * f2fs: fix to use inline space only if inline_xattr is enable
      fs/f2fs/f2fs.h
  * f2fs: fix to retrieve inline xattr space
      fs/f2fs/inline.c
  * f2fs: fix error path of recovery
      fs/f2fs/recovery.c
  * f2fs: fix to avoid deadloop in foreground GC
      fs/f2fs/gc.c
  * f2fs: data: fix warning Using plain integer as NULL pointer
      fs/f2fs/data.c
  * f2fs: add tracepoint for f2fs_file_write_iter()
      fs/f2fs/file.c
      include/trace/events/f2fs.h
  * f2fs: add comment for conditional compilation statement
      fs/f2fs/f2fs.h
  * f2fs: fix potential recursive call when enabling data_flush
      fs/f2fs/checkpoint.c
      fs/f2fs/data.c
  * f2fs: improve discard handling with multi-device volumes
      fs/f2fs/f2fs.h
      fs/f2fs/segment.c
  * f2fs: Reduce zoned block device memory usage
      fs/f2fs/f2fs.h
      fs/f2fs/segment.c
      fs/f2fs/super.c
  * f2fs: Fix use of number of devices
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/segment.c
  * ANDROID: block/cfq-iosched: make group_idle per io cgroup tunable
      block/cfq-iosched.c
    Merge remote-tracking branch 'origin/upstream-f2fs-stable-linux-4.14.y' into android-4.14
    ANDROID: cuttlefish_defconfig: Enable CONFIG_CPUSETS and CONFIG_CGROUP_SCHEDTUNE
    Merge 4.14.117 into android-4.14
Linux 4.14.117
    mm/kmemleak.c: fix unused-function warning
    media: v4l2: i2c: ov7670: Fix PLL bypass register values
    i2c: i2c-stm32f7: Fix SDADEL minimum formula
    clk: x86: Add system specific quirk to mark clocks as critical
    x86/mce: Improve error message when kernel cannot recover, p2
    powerpc/mm/hash: Handle mmap_min_addr correctly in get_unmapped_area topdown search
  * selinux: never allow relabeling on context mounts
      security/selinux/hooks.c
    Input: stmfts - acknowledge that setting brightness is a blocking call
    Input: snvs_pwrkey - initialize necessary driver data before enabling IRQ
    IB/core: Destroy QP if XRC QP fails
    IB/core: Fix potential memory leak while creating MAD agents
    IB/core: Unregister notifier before freeing MAD security
    ASoC: stm32: fix sai driver name initialisation
    scsi: RDMA/srpt: Fix a credit leak for aborted commands
    staging: iio: adt7316: fix the dac write calculation
    staging: iio: adt7316: fix the dac read calculation
    staging: iio: adt7316: allow adt751x to use internal vref for all dacs
    Bluetooth: btusb: request wake pin with NOAUTOEN
    perf/x86/amd: Update generic hardware cache events for Family 17h
    ARM: iop: don't use using 64-bit DMA masks
    ARM: orion: don't use using 64-bit DMA masks
    xsysace: Fix error handling in ace_setup
    sh: fix multiple function definition build errors
    hugetlbfs: fix memory leak for resv_map
    kmemleak: powerpc: skip scanning holes in the .bss section
    net: hns: Fix WARNING when remove HNS driver with SMMU enabled
    net: hns: fix ICMP6 neighbor solicitation messages discard problem
    net: hns: Fix probabilistic memory overwrite when HNS driver initialized
    net: hns: Use NAPI_POLL_WEIGHT for hns driver
    net: hns: fix KASAN: use-after-free in hns_nic_net_xmit_hw()
    scsi: storvsc: Fix calculation of sub-channel count
  * scsi: core: add new RDAC LENOVO/DE_Series device
      drivers/scsi/scsi_devinfo.c
    vfio/pci: use correct format characters
  * HID: input: add mapping for Assistant key
      drivers/hid/hid-input.c
    rtc: da9063: set uie_unsupported when relevant
  * debugfs: fix use-after-free on symlink traversal
      fs/debugfs/inode.c
    jffs2: fix use-after-free on symlink traversal
    net: stmmac: don't log oversized frames
    net: stmmac: fix dropping of multi-descriptor RX frames
    net: stmmac: don't overwrite discard_frame status
    net: stmmac: ratelimit RX error logs
  * bonding: show full hw address in sysfs for slave entries
      drivers/net/bonding/bond_sysfs_slave.c
    net/mlx5: E-Switch, Fix esw manager vport indication for more vport commands
    igb: Fix WARN_ONCE on runtime suspend
    ARM: dts: rockchip: Fix gpu opp node names for rk3288
    batman-adv: Reduce tt_global hash refcnt only for removed entry
    batman-adv: Reduce tt_local hash refcnt only for removed entry
    batman-adv: Reduce claim hash refcnt only for removed entry
    rtc: sh: Fix invalid alarm warning for non-enabled alarm
  * HID: debug: fix race condition with between rdesc_show() and device removal
      drivers/hid/hid-debug.c
    HID: logitech: check the return value of create_singlethread_workqueue
    nvme-loop: init nvmet_ctrl fatal_err_work when allocate
  * mm: do not stall register_shrinker()
      mm/vmscan.c
  * USB: core: Fix bug caused by duplicate interface PM usage counter
      drivers/usb/core/driver.c
      include/linux/usb.h
  * USB: core: Fix unterminated string returned by usb_string()
      drivers/usb/core/message.c
    usb: usbip: fix isoc packet num validation in get_pipe
    USB: w1 ds2490: Fix bug caused by improper use of altsetting array
    USB: yurex: Fix protection fault after device removal
    ALSA: hda/realtek - Fixed Dell AIO speaker noise
    ALSA: hda/realtek - Add new Dell platform for headset mode
    caif: reduce stack size with KASAN
  * arm64: only advance singlestep for user instruction traps
      arch/arm64/kernel/traps.c
  * arm64: Fix single stepping in kernel traps
      arch/arm64/include/asm/traps.h
      arch/arm64/kernel/armv8_deprecated.c
      arch/arm64/kernel/cpufeature.c
      arch/arm64/kernel/traps.c
  * kasan: prevent compiler from optimizing away memset in tests
      lib/Makefile
    kasan: remove redundant initialization of variable 'real_size'
    net: dsa: bcm_sf2: fix buffer overflow doing set_rxnfc
    net: phy: marvell: Fix buffer overrun with stats counters
    rxrpc: Fix net namespace cleanup
    bnxt_en: Free short FW command HWRM memory in error path in bnxt_init_one()
    bnxt_en: Improve multicast address setup logic.
  * packet: validate msg_namelen in send directly
      net/packet/af_packet.c
    sctp: avoid running the sctp state machine recursively
  * ipv6: invert flowlabel sharing check in process and user mode
      net/ipv6/ip6_flowlabel.c
  * ipv6/flowlabel: wait rcu grace period before put_pid()
      net/ipv6/ip6_flowlabel.c
  * ipv4: ip_do_fragment: Preserve skb_iif during fragmentation
      net/ipv4/ip_output.c
    ALSA: line6: use dynamic buffers
    ANDROID: cuttlefish 4.14: enable CONFIG_CRYPTO_AES_NI_INTEL=y
    Merge 4.14.116 into android-4.14
Linux 4.14.116
    leds: pca9532: fix a potential NULL pointer dereference
  * ptrace: take into account saved_sigmask in PTRACE{GET,SET}SIGMASK
      include/linux/sched/signal.h
      kernel/ptrace.c
    iommu/amd: Reserve exclusion range in iova-domain
    kconfig/[mn]conf: handle backspace (^H) key
  * gpio: of: Fix of_gpiochip_add() error path
      drivers/gpio/gpiolib-of.c
    libata: fix using DMA buffers on stack
    scsi: zfcp: reduce flood of fcrscn1 trace records on multi-element RSCN
    ceph: fix use-after-free on symlink traversal
    usb: u132-hcd: fix resource leak
    usb: usb251xb: fix to avoid potential NULL pointer dereference
    scsi: qla4xxx: fix a potential NULL pointer dereference
    drm/meson: Uninstall IRQ handler
    drm/meson: Fix invalid pointer in meson_drv_unbind()
    gpio: aspeed: fix a potential NULL pointer dereference
    net: ethernet: ti: fix possible object reference leak
    net: ibm: fix possible object reference leak
    net: xilinx: fix possible object reference leak
    NFS: Fix a typo in nfs_init_timeout_values()
    ARM: dts: imx6qdl: Fix typo in imx6qdl-icore-rqs.dtsi
  * net/sched: don't dereference a->goto_chain to read the chain index
      include/net/tc_act/tc_gact.h
    net: macb: Add null check for PCLK and HCLK
    staging: rtlwifi: Fix potential NULL pointer dereference of kzalloc
    staging: rtl8712: uninitialized memory in read_bbreg_hdl()
    staging: rtlwifi: rtl8822b: fix to avoid potential NULL pointer dereference
    staging: rtl8188eu: Fix potential NULL pointer dereference of kcalloc
    net: ks8851: Set initial carrier state to down
    net: ks8851: Delay requesting IRQ until opened
    net: ks8851: Reassert reset pin if chip ID check fails
    net: ks8851: Dequeue RX packets explicitly
    ARM: dts: pfla02: increase phy reset duration
    usb: gadget: net2272: Fix net2272_dequeue()
    usb: gadget: net2280: Fix net2280_dequeue()
    usb: gadget: net2280: Fix overrun of OUT messages
    KVM: arm/arm64: vgic-its: Take the srcu lock when parsing the memslots
    serial: ar933x_uart: Fix build failure with disabled console
    sc16is7xx: missing unregister/delete driver on error in sc16is7xx_init()
    s390/qeth: fix race when initializing the IP address table
    netfilter: bridge: set skb transport_header before entering NF_INET_PRE_ROUTING
    netfilter: nft_set_rbtree: check for inactive element after flag mismatch
    qlcnic: Avoid potential NULL pointer dereference
    s390: limit brk randomization to 32MB
    ARM: dts: bcm283x: Fix hdmi hpd gpio pull
  * fs: prevent page refcount overflow in pipe_buf_get
      fs/fuse/dev.c
      fs/pipe.c
      fs/splice.c
      include/linux/pipe_fs_i.h
      kernel/trace/trace.c
  * mm: prevent get_user_pages() from overflowing page refcount
      mm/gup.c
  * mm: add 'try_get_page()' helper function
      include/linux/mm.h
  * mm: make page ref count overflow check tighter and more explicit
      include/linux/mm.h
    usbnet: ipheth: fix potential null pointer dereference in ipheth_carrier_set
    usbnet: ipheth: prevent TX queue timeouts when device not ready
  * selinux: use kernel linux/socket.h for genheaders and mdp
      scripts/selinux/genheaders/genheaders.c
      scripts/selinux/mdp/mdp.c
      security/selinux/include/classmap.h
    Merge 4.14.115 into android-4.14
Linux 4.14.115
    Documentation: Add nospectre_v1 parameter
    powerpc/fsl: Add FSL_PPC_BOOK3E as supported arch for nospectre_v2 boot arg
  * ipv4: set the tcp_min_rtt_wlen range from 0 to one day
      net/ipv4/sysctl_net_ipv4.c
    net/rose: fix unbound loop in rose_loopback_timer()
    net/rose: Convert timers to use timer_setup()
    team: fix possible recursive locking when add slaves
    stmmac: pci: Adjust IOT2000 matching
    net: stmmac: move stmmac_check_ether_addr() to driver probe
    net: rds: exchange of 8K and 1M pool
    net/mlx5e: ethtool, Remove unsupported SFP EEPROM high pages query
    mlxsw: spectrum: Fix autoneg status in ethtool
  * ipv4: add sanity checks in ipv4_link_failure()
      net/ipv4/route.c
  * Revert "block/loop: Use global lock for ioctl() operation."
      drivers/block/loop.c
      drivers/block/loop.h
  * mm: Fix warning in insert_pfn()
      mm/memory.c
    x86/retpolines: Disable switch jump tables when retpolines are enabled
    x86, retpolines: Raise limit for generating indirect calls from switch-case
    dm integrity: change memcmp to strncmp in dm_integrity_ctr
    tipc: check link name with right length in tipc_nl_compat_link_set
    tipc: check bearer name with right length in tipc_nl_compat_bearer_enable
    fm10k: Fix a potential NULL pointer dereference
  * netfilter: ebtables: CONFIG_COMPAT: drop a bogus WARN_ON
      net/bridge/netfilter/ebtables.c
    NFS: Forbid setting AF_INET6 to "struct sockaddr_in"->sin_family.
  * sched/deadline: Correctly handle active 0-lag timers
      kernel/sched/deadline.c
  * binder: fix handling of misaligned binder object
      drivers/android/binder_alloc.c
    ipvs: fix warning on unused variable
  * fs/proc/proc_sysctl.c: Fix a NULL pointer dereference
      fs/proc/proc_sysctl.c
    intel_th: gth: Fix an off-by-one in output unassigning
  * slip: make slhc_free() silently accept an error pointer
      drivers/net/slip/slhc.c
    tipc: handle the err returned from cmd header function
    vsock/virtio: fix kernel panic from virtio_transport_reset_no_sock
  * ext4: fix some error pointer dereferences
      fs/ext4/xattr.c
  * USB: Consolidate LPM checks to avoid enabling LPM twice
      drivers/usb/core/driver.c
      drivers/usb/core/hub.c
      drivers/usb/core/message.c
  * USB: Add new USB LPM helpers
      drivers/usb/core/driver.c
      drivers/usb/core/hub.c
      drivers/usb/core/message.c
      drivers/usb/core/sysfs.c
      drivers/usb/core/usb.h
    drm/vc4: Fix compilation error reported by kbuild test bot
    Revert "drm/i915/fbdev: Actually configure untiled displays"
    drm/vc4: Fix memory leak during gpu reset.
    ARM: 8857/1: efi: enable CP15 DMB instructions before cleaning the cache
    dmaengine: sh: rcar-dmac: With cyclic DMA residue 0 is valid
    vfio/type1: Limit DMA mappings per container
    Input: synaptics-rmi4 - write config register values to the right offset
    sunrpc: don't mark uninitialised items as VALID.
    nfsd: Don't release the callback slot unless it was actually held
    ceph: fix ci->i_head_snapc leak
    ceph: ensure d_name stability in ceph_dentry_hash()
    ceph: only use d_name directly when parent is locked
  * sched/numa: Fix a possible divide-by-zero
      kernel/sched/fair.c
    IB/rdmavt: Fix frwr memory registration
  * trace: Fix preempt_enable_no_resched() abuse
      kernel/trace/ring_buffer.c
    MIPS: scall64-o32: Fix indirect syscall number load
  * lib/Kconfig.debug: fix build error without CONFIG_BLOCK
      lib/Kconfig.debug
  * zram: pass down the bvec we need to read into in the work struct
      drivers/block/zram/zram_drv.c
  * tracing: Fix buffer_ref pipe ops
      fs/splice.c
      include/linux/pipe_fs_i.h
      kernel/trace/trace.c
  * tracing: Fix a memory leak by early error exit in trace_pid_write()
      kernel/trace/trace.c
    cifs: do not attempt cifs operation on smb2+ rename error
  * kbuild: simplify ld-option implementation
      scripts/Kbuild.include
    Merge 4.14.114 into android-4.14
Linux 4.14.114
  * kernel/sysctl.c: fix out-of-bounds access when setting file-max
      kernel/sysctl.c
    Revert "locking/lockdep: Add debug_locks check in __lock_downgrade()"
    i2c-hid: properly terminate i2c_hid_dmi_desc_override_table[] array
    xfs: hold xfs_buf locked between shortform->leaf conversion and the addition of an attribute
    xfs: add the ability to join a held buffer to a defer_ops
  * iomap: report collisions between directio and buffered writes to userspace
      fs/direct-io.c
      include/linux/fs.h
    tools include: Adopt linux/bits.h
  * percpu: stop printing kernel addresses
      mm/percpu.c
  * ALSA: info: Fix racy addition/deletion of nodes
      sound/core/info.c
  * mm/vmstat.c: fix /proc/vmstat format for CONFIG_DEBUG_TLBFLUSH=y CONFIG_SMP=n
      mm/vmstat.c
    device_cgroup: fix RCU imbalance in error case
  * sched/fair: Limit sched_cfs_period_timer() loop to avoid hard lockup
      kernel/sched/fair.c
  * Revert "kbuild: use -Oz instead of -Os when using clang"
      Makefile
  * net: IP6 defrag: use rbtrees in nf_conntrack_reasm.c
      net/ipv6/netfilter/nf_conntrack_reasm.c
  * net: IP6 defrag: use rbtrees for IPv6 defrag
      include/net/ipv6_frag.h
      net/ipv6/reassembly.c
  * ipv6: remove dependency of nf_defrag_ipv6 on ipv6 module
      include/net/ipv6.h
      include/net/ipv6_frag.h
      net/ipv6/netfilter/nf_conntrack_reasm.c
      net/ipv6/netfilter/nf_defrag_ipv6_hooks.c
      net/ipv6/reassembly.c
  * net: IP defrag: encapsulate rbtree defrag code into callable functions
      include/net/inet_frag.h
      net/ipv4/inet_fragment.c
      net/ipv4/ip_fragment.c
  * ipv6: frags: fix a lockdep false positive
      net/ipv6/reassembly.c
    tpm/tpm_i2c_atmel: Return -E2BIG when the transfer is incomplete
  * modpost: file2alias: check prototype of handler
      scripts/mod/file2alias.c
  * modpost: file2alias: go back to simple devtable lookup
      scripts/mod/file2alias.c
    mmc: sdhci: Handle auto-command errors
    mmc: sdhci: Rename SDHCI_ACMD12_ERR and SDHCI_INT_ACMD12ERR
    mmc: sdhci: Fix data command CRC error handling
    crypto: crypto4xx - properly set IV after de- and encrypt
    x86/speculation: Prevent deadlock on ssb_state::lock
    perf/x86: Fix incorrect PEBS_REGS
    x86/cpu/bugs: Use __initconst for 'const' init data
    perf/x86/amd: Add event map for AMD Family 17h
    mac80211: do not call driver wake_tx_queue op during reconfig
    rt2x00: do not increment sequence number while re-transmitting
    kprobes: Fix error check when reusing optimized probes
    kprobes: Mark ftrace mcount handler functions nokprobe
  * x86/kprobes: Verify stack frame on kretprobe
      include/linux/kprobes.h
  * arm64: futex: Restore oldval initialization to work around buggy compilers
      arch/arm64/include/asm/futex.h
    crypto: x86/poly1305 - fix overflow during partial reduction
  * coredump: fix race condition between mmget_not_zero()/get_task_mm() and core dumping
      fs/proc/task_mmu.c
      include/linux/sched/mm.h
      mm/mmap.c
    Revert "svm: Fix AVIC incomplete IPI emulation"
    Revert "scsi: fcoe: clear FC_RP_STARTED flags when receiving a LOGO"
  * scsi: core: set result when the command cannot be dispatched
      drivers/scsi/scsi_lib.c
  * ALSA: core: Fix card races between register and disconnect
      sound/core/init.c
    ALSA: hda/realtek - add two more pin configuration sets to quirk table
    staging: comedi: ni_usb6501: Fix possible double-free of ->usb_rx_buf
    staging: comedi: ni_usb6501: Fix use of uninitialized mutex
    staging: comedi: vmk80xx: Fix possible double-free of ->usb_rx_buf
    staging: comedi: vmk80xx: Fix use of uninitialized semaphore
    io: accel: kxcjk1013: restore the range after resume.
  * iio: core: fix a possible circular locking dependency
      drivers/iio/industrialio-core.c
    iio: adc: at91: disable adc channel interrupt in timeout case
    iio: Fix scan mask selection
    iio: dac: mcp4725: add missing powerdown bits in store eeprom
    iio: ad_sigma_delta: select channel when reading register
    iio: cros_ec: Fix the maths for gyro scale calculation
    iio/gyro/bmg160: Use millidegrees for temperature scale
    iio: gyro: mpu3050: fix chip ID reading
    staging: iio: ad7192: Fix ad7193 channel address
    Staging: iio: meter: fixed typo
    KVM: x86: svm: make sure NMI is injected after nmi_singlestep
    KVM: x86: Don't clear EFER during SMM transitions for 32-bit vCPU
    CIFS: keep FileInfo handle live during oplock break
    net: thunderx: don't allow jumbo frames with XDP
    net: thunderx: raise XDP MTU to 1508
  * ipv4: ensure rcu_read_lock() in ipv4_link_failure()
      net/ipv4/route.c
  * ipv4: recompile ip options in ipv4_link_failure
      net/ipv4/route.c
    vhost: reject zero size iova range
    team: set slave to promisc if team is already in promisc mode
  * tcp: tcp_grow_window() needs to respect tcp_space()
      net/ipv4/tcp_input.c
    net: fou: do not use guehdr after iptunnel_pull_offloads in gue_udp_recv
  * net: bridge: multicast: use rcu to access port list from br_multicast_start_querier
      net/bridge/br_multicast.c
  * net: bridge: fix per-port af_packet sockets
      net/bridge/br_input.c
    net: atm: Fix potential Spectre v1 vulnerabilities
  * bonding: fix event handling for stacked bonds
      drivers/net/bonding/bond_main.c
    ANDROID: cuttlefish_defconfig: Enable CONFIG_XFRM_STATISTICS
    Merge 4.14.113 into android-4.14
Linux 4.14.113
  * appletalk: Fix compile regression
      include/linux/atalk.h
    mm: hide incomplete nr_indirectly_reclaimable in sysfs
    net: stmmac: Set dma ring length before enabling the DMA
    bpf: Fix selftests are changes for CVE 2019-7308
  * bpf: fix sanitation rewrite in case of non-pointers
      kernel/bpf/verifier.c
  * bpf: do not restore dst_reg when cur_state is freed
      kernel/bpf/verifier.c
  * bpf: fix inner map masking to prevent oob under speculation
      kernel/bpf/map_in_map.c
  * bpf: fix sanitation of alu op with pointer / scalar type from different paths
      include/linux/bpf_verifier.h
      kernel/bpf/verifier.c
  * bpf: prevent out of bounds speculation on pointer arithmetic
      include/linux/bpf_verifier.h
      kernel/bpf/verifier.c
  * bpf: fix check_map_access smin_value test when pointer contains offset
      kernel/bpf/verifier.c
  * bpf: restrict unknown scalars of mixed signed bounds for unprivileged
      kernel/bpf/verifier.c
  * bpf: restrict stack pointer arithmetic for unprivileged
      kernel/bpf/verifier.c
  * bpf: restrict map value pointer arithmetic for unprivileged
      kernel/bpf/verifier.c
  * bpf: enable access to ax register also from verifier rewrite
      include/linux/filter.h
      kernel/bpf/core.c
  * bpf: move tmp variable into ax register in interpreter
      include/linux/filter.h
      kernel/bpf/core.c
  * bpf: move {prev_,}insn_idx into verifier env
      include/linux/bpf_verifier.h
      kernel/bpf/verifier.c
  * bpf: fix stack state printing in verifier log
      kernel/bpf/verifier.c
  * bpf: fix verifier NULL pointer dereference
      kernel/bpf/verifier.c
  * bpf: fix verifier memory leaks
      kernel/bpf/verifier.c
  * bpf: reduce verifier memory consumption
      include/linux/bpf_verifier.h
      kernel/bpf/verifier.c
    dm: disable CRYPTO_TFM_REQ_MAY_SLEEP to fix a GFP_KERNEL recursion deadlock
  * bpf: fix use after free in bpf_evict_inode
      kernel/bpf/inode.c
  * include/linux/swap.h: use offsetof() instead of custom __swapoffset macro
      include/linux/swap.h
  * lib/div64.c: off by one in shift
      lib/div64.c
  * appletalk: Fix use-after-free in atalk_proc_exit
      include/linux/atalk.h
    drm/amdkfd: use init_mqd function to allocate object for hid_mqd (CI)
    ARM: 8839/1: kprobe: make patch_lock a raw_spinlock_t
    drm/nouveau/volt/gf117: fix speedo readout register
    coresight: cpu-debug: Support for CA73 CPUs
    Revert "ACPI / EC: Remove old CLEAR_ON_RESUME quirk"
    crypto: axis - fix for recursive locking from bottom half
    drm/panel: panel-innolux: set display off in innolux_panel_unprepare
  * lkdtm: Add tests for NULL pointer dereference
      drivers/misc/lkdtm.h
      drivers/misc/lkdtm_core.c
      drivers/misc/lkdtm_perms.c
  * lkdtm: Print real addresses
      drivers/misc/lkdtm_perms.c
    soc/tegra: pmc: Drop locking from tegra_powergate_is_powered()
    iommu/dmar: Fix buffer overflow during PCI bus notification
    crypto: sha512/arm - fix crash bug in Thumb2 build
    crypto: sha256/arm - fix crash bug in Thumb2 build
    kernel: hung_task.c: disable on suspend
    cifs: fallback to older infolevels on findfirst queryinfo retry
  * compiler.h: update definition of unreachable()
      include/linux/compiler.h
    KVM: nVMX: restore host state in nested_vmx_vmexit for VMFail
    ACPI / SBS: Fix GPE storm on recent MacBookPro's
    usbip: fix vhci_hcd controller counting
    ARM: samsung: Limit SAMSUNG_PM_CHECK config option to non-Exynos platforms
    HID: i2c-hid: override HID descriptors for certain devices
    media: au0828: cannot kfree dev before usb disconnect
    powerpc/pseries: Remove prrn_work workqueue
    serial: uartps: console_setup() can't be placed to init section
    netfilter: xt_cgroup: shrink size of v2 path
  * f2fs: fix to do sanity check with current segment number
      fs/f2fs/super.c
    9p locks: add mount option for lock retry interval
    9p: do not trust pdu content for stat item size
    rsi: improve kernel thread handling to fix kernel panic
    gpio: pxa: handle corner case of unprobed device
  * ext4: prohibit fstrim in norecovery mode
      fs/ext4/ioctl.c
    fix incorrect error code mapping for OBJECTID_NOT_FOUND
    x86/hw_breakpoints: Make default case in hw_breakpoint_arch_parse() return an error
    iommu/vt-d: Check capability before disabling protected memory
    drm/nouveau/debugfs: Fix check of pm_runtime_get_sync failure
    x86/cpu/cyrix: Use correct macros for Cyrix calls on Geode processors
    x86/hpet: Prevent potential NULL pointer dereference
    irqchip/mbigen: Don't clear eventid when freeing an MSI
    perf tests: Fix a memory leak in test__perf_evsel__tp_sched_test()
    perf tests: Fix memory leak by expr__find_other() in test__expr()
    perf tests: Fix a memory leak of cpu_map object in the openat_syscall_event_on_all_cpus test
    perf evsel: Free evsel->counts in perf_evsel__exit()
    perf hist: Add missing map__put() in error case
    perf top: Fix error handling in cmd_top()
    perf build-id: Fix memory leak in print_sdt_events()
    perf config: Fix a memory leak in collect_config()
    perf config: Fix an error in the config template documentation
    perf list: Don't forget to drop the reference to the allocated thread_map
    tools/power turbostat: return the exit status of a command
    x86/mm: Don't leak kernel addresses
    scsi: iscsi: flush running unbind operations when removing a session
    thermal/intel_powerclamp: fix truncated kthread name
    thermal/int340x_thermal: fix mode setting
    thermal/int340x_thermal: Add additional UUIDs
    thermal: bcm2835: Fix crash in bcm2835_thermal_debugfs
    thermal/intel_powerclamp: fix __percpu declaration of worker_data
    ALSA: opl3: fix mismatch between snd_opl3_drum_switch definition and declaration
    mmc: davinci: remove extraneous __init annotation
    IB/mlx4: Fix race condition between catas error reset and aliasguid flows
    auxdisplay: hd44780: Fix memory leak on ->remove()
    ALSA: sb8: add a check for request_region
    ALSA: echoaudio: add a check for ioremap_nocache
  * ext4: report real fs size after failed resize
      fs/ext4/resize.c
  * ext4: add missing brelse() in add_new_gdb_meta_bg()
      fs/ext4/resize.c
  * perf/core: Restore mmap record type correctly
      kernel/events/core.c
    arc: hsdk_defconfig: Enable CONFIG_BLK_DEV_RAM
    ARC: u-boot args: check that magic number is correct
    ANDROID: cuttlefish_defconfig: Enable L2TP/PPTP
  * ANDROID: Makefile: Properly resolve 4.14.112 merge
      Makefile
    Make arm64 serial port config compatible with crosvm
    Merge 4.14.112 into android-4.14
Linux 4.14.112
    arm64: dts: rockchip: Fix vcc_host1_5v GPIO polarity on rk3328-rock64
    arm64: dts: rockchip: fix vcc_host1_5v pin assign on rk3328-rock64
  * dm table: propagate BDI_CAP_STABLE_WRITES to fix sporadic checksum errors
      drivers/md/dm-table.c
  * PCI: Add function 1 DMA alias quirk for Marvell 9170 SATA controller
      drivers/pci/quirks.c
    x86/perf/amd: Remove need to check "running" bit in NMI handler
    x86/perf/amd: Resolve NMI latency issues for active PMCs
    x86/perf/amd: Resolve race condition when disabling PMC
    xtensa: fix return_address
  * sched/fair: Do not re-read ->h_load_next during hierarchical load calculation
      kernel/sched/fair.c
    xen: Prevent buffer overflow in privcmd ioctl
  * arm64: backtrace: Don't bother trying to unwind the userspace stack
      arch/arm64/kernel/traps.c
    arm64: dts: rockchip: fix rk3328 rgmii high tx error rate
  * arm64: futex: Fix FUTEX_WAKE_OP atomic ops with non-zero result value
      arch/arm64/include/asm/futex.h
    ARM: dts: at91: Fix typo in ISC_D0 on PC9
    ARM: dts: am335x-evm: Correct the regulators for the audio codec
    ARM: dts: am335x-evmsk: Correct the regulators for the audio codec
    virtio: Honour 'may_reduce_num' in vring_create_virtqueue
  * genirq: Initialize request_mutex if CONFIG_SPARSE_IRQ=n
      kernel/irq/irqdesc.c
  * genirq: Respect IRQCHIP_SKIP_SET_WAKE in irq_chip_set_wake_parent()
      kernel/irq/chip.c
  * block: fix the return errno for direct IO
      fs/block_dev.c
  * block: do not leak memory in bio_copy_user_iov()
      block/bio.c
    btrfs: prop: fix vanished compression property after failed set
    btrfs: prop: fix zstd compression parameter validation
    Btrfs: do not allow trimming when a fs is mounted with the nologreplay option
    ASoC: fsl_esai: fix channel swap issue when stream starts
  * include/linux/bitrev.h: fix constant bitrev
      include/linux/bitrev.h
    drm/udl: add a release method and delay modeset teardown
  * alarmtimer: Return correct remaining time
      kernel/time/alarmtimer.c
    parisc: regs_return_value() should return gpr28
    parisc: Detect QEMU earlier in boot process
    arm64: dts: rockchip: fix rk3328 sdmmc0 write errors
    hv_netvsc: Fix unwanted wakeup after tx_disable
  * ip6_tunnel: Match to ARPHRD_TUNNEL6 for dev type
      net/ipv6/ip6_tunnel.c
    ALSA: seq: Fix OOB-reads from strlcpy
  * net: ethtool: not call vzalloc for zero sized memory request
      net/core/ethtool.c
  * netns: provide pure entropy for net_hash_mix()
      include/net/net_namespace.h
      include/net/netns/hash.h
      net/core/net_namespace.c
    net/sched: act_sample: fix divide by zero in the traffic path
    bnxt_en: Reset device on RX buffer errors.
    bnxt_en: Improve RX consumer index validity check.
    nfp: validate the return code from dev_queue_xmit()
    net/mlx5e: Add a lock on tir list
    net/mlx5e: Fix error handling when refreshing TIRs
  * vrf: check accept_source_route on the original netdevice
      include/net/ip.h
      net/ipv4/ip_input.c
      net/ipv4/ip_options.c
    tcp: Ensure DCTCP reacts to losses
    sctp: initialize _pad of sockaddr_in before copying to user memory
    qmi_wwan: add Olicard 600
    openvswitch: fix flow actions reallocation
    net/sched: fix ->get helper of the matchall cls
    net: rds: force to destroy connection if t_sock is NULL in rds_tcp_kill_sock().
    net/mlx5: Decrease default mr cache size
  * net-gro: Fix GRO flush when receiving a GSO packet.
      net/core/skbuff.c
    kcm: switch order of device registration to fix a crash
  * ipv6: sit: reset ip header pointer in ipip6_rcv
      net/ipv6/sit.c
  * ipv6: Fix dangling pointer when ipv6 fragment
      net/ipv6/ip6_output.c
  * tty: ldisc: add sysctl to prevent autoloading of ldiscs
      drivers/tty/Kconfig
      drivers/tty/tty_io.c
      drivers/tty/tty_ldisc.c
  * tty: mark Siemens R3964 line discipline as BROKEN
      drivers/char/Kconfig
  * arm64: kaslr: Reserve size of ARM64_MEMSTART_ALIGN in linear region
      arch/arm64/mm/init.c
    stating: ccree: revert "staging: ccree: fix leak of import() after init()"
  * lib/string.c: implement a basic bcmp
      include/linux/string.h
      lib/string.c
    x86/vdso: Drop implicit common-page-size linker flag
    x86: vdso: Use $LD instead of $CC to link
  * kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD
      Makefile
    powerpc/tm: Limit TM code inside PPC_TRANSACTIONAL_MEM
    drm/i915/gvt: do not let pin count of shadow mm go negative
    x86/power: Make restore_processor_context() sane
    x86/power/32: Move SYSENTER MSR restoration to fix_processor_context()
    x86/power/64: Use struct desc_ptr for the IDT in struct saved_context
    x86/power: Fix some ordering bugs in __restore_processor_context()
    net: sfp: move sfp_register_socket call from sfp_remove to sfp_probe
  * fscrypt: remove filesystem specific build config option
      fs/crypto/Kconfig
      fs/crypto/fscrypt_private.h
      fs/ext4/Kconfig
      fs/ext4/dir.c
      fs/ext4/ext4.h
      fs/ext4/inode.c
      fs/ext4/ioctl.c
      fs/ext4/namei.c
      fs/ext4/page-io.c
      fs/ext4/readpage.c
      fs/ext4/super.c
      fs/ext4/sysfs.c
      fs/f2fs/Kconfig
      fs/f2fs/f2fs.h
      fs/f2fs/super.c
      fs/f2fs/sysfs.c
      fs/ubifs/Kconfig
      include/linux/fs.h
      include/linux/fscrypt.h
  * f2fs: use IS_ENCRYPTED() to check encryption status
      fs/f2fs/data.c
      fs/f2fs/dir.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/inode.c
      fs/f2fs/namei.c
  * ext4: use IS_ENCRYPTED() to check encryption status
      fs/ext4/dir.c
      fs/ext4/ext4.h
      fs/ext4/ext4_jbd2.h
      fs/ext4/extents.c
      fs/ext4/ialloc.c
      fs/ext4/inode.c
      fs/ext4/move_extent.c
      fs/ext4/namei.c
      fs/ext4/page-io.c
      fs/ext4/readpage.c
  * fscrypt: return -EXDEV for incompatible rename or link into encrypted dir
      fs/crypto/hooks.c
      fs/crypto/policy.c
      include/linux/fscrypt.h
  * fscrypt: remove CRYPTO_CTR dependency
      fs/crypto/Kconfig
  * fscrypt: add Adiantum support / removed speck
      fs/crypto/crypto.c
      fs/crypto/fname.c
      fs/crypto/fscrypt_private.h
      fs/crypto/keyinfo.c
      fs/crypto/policy.c
      include/uapi/linux/fs.h
  * Revert "CHROMIUM: dm: boot time specification of dm="
      drivers/md/dm-ioctl.c
      drivers/md/dm-table.c
      include/linux/device-mapper.h
      init/Makefile
      init/do_mounts.c
      init/do_mounts.h
    Revert "ANDROID: dm: do_mounts_dm: Rebase on top of 4.9"
    Revert "ANDROID: dm: do_mounts_dm: fix dm_substitute_devices()"
  * Revert "ANDROID: dm: do_mounts_dm: Update init/do_mounts_dm.c to the latest ChromiumOS version."
      drivers/md/dm.h
      include/linux/device-mapper.h
  * sched/fair: remove printk while schedule is in progress
      kernel/sched/fair.c
  * ANDROID: Makefile: Add '-fsplit-lto-unit' to cfi-clang-flags
      Makefile
  * ANDROID: cfi: Remove unused variable in ptr_to_check_fn
      kernel/cfi.c
    ANDROID: cuttlefish_defconfig: Enable CONFIG_FUSE_FS
  * ext4: switch to fscrypt_prepare_setattr()
      fs/ext4/inode.c
  * ext4: switch to fscrypt_prepare_rename()
      fs/ext4/namei.c
  * ext4: switch to fscrypt_prepare_link()
      fs/ext4/namei.c
  * ext4: switch to fscrypt_file_open()
      fs/ext4/file.c
  * ext4, dax: set ext4_dax_aops for dax files
      fs/ext4/inode.c

Change-Id: I38ccf03554f42e97fe28e95314b0ec47312765c1
Signed-off-by: Robin Peng <robinpeng@google.com>
2019-08-28 15:55:19 +08:00
Arnd Bergmann
ee4c7168bc locking/lockdep: Hide unused 'class' variable
[ Upstream commit 68037aa78208f34bda4e5cd76c357f718b838cbb ]

The usage is now hidden in an #ifdef, so we need to move
the variable itself in there as well to avoid this warning:

  kernel/locking/lockdep_proc.c:203:21: error: unused variable 'class' [-Werror,-Wunused-variable]

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Bart Van Assche <bvanassche@acm.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Qian Cai <cai@lca.pw>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Waiman Long <longman@redhat.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Yuyang Du <duyuyang@gmail.com>
Cc: frederic@kernel.org
Fixes: 68d41d8c94a3 ("locking/lockdep: Fix lock used or unused stats error")
Link: https://lkml.kernel.org/r/20190715092809.736834-1-arnd@arndb.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-07-31 07:28:56 +02:00
Yuyang Du
7666eca3ec locking/lockdep: Fix lock used or unused stats error
[ Upstream commit 68d41d8c94a31dfb8233ab90b9baf41a2ed2da68 ]

The stats variable nr_unused_locks is incremented every time a new lock
class is register and decremented when the lock is first used in
__lock_acquire(). And after all, it is shown and checked in lockdep_stats.

However, under configurations that either CONFIG_TRACE_IRQFLAGS or
CONFIG_PROVE_LOCKING is not defined:

The commit:

  091806515124b20 ("locking/lockdep: Consolidate lock usage bit initialization")

missed marking the LOCK_USED flag at IRQ usage initialization because
as mark_usage() is not called. And the commit:

  886532aee3cd42d ("locking/lockdep: Move mark_lock() inside CONFIG_TRACE_IRQFLAGS && CONFIG_PROVE_LOCKING")

further made mark_lock() not defined such that the LOCK_USED cannot be
marked at all when the lock is first acquired.

As a result, we fix this by not showing and checking the stats under such
configurations for lockdep_stats.

Reported-by: Qian Cai <cai@lca.pw>
Signed-off-by: Yuyang Du <duyuyang@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will.deacon@arm.com>
Cc: arnd@arndb.de
Cc: frederic@kernel.org
Link: https://lkml.kernel.org/r/20190709101522.9117-1-duyuyang@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-07-31 07:28:56 +02:00
Imre Deak
50beba0287 locking/lockdep: Fix merging of hlocks with non-zero references
[ Upstream commit d9349850e188b8b59e5322fda17ff389a1c0cd7d ]

The sequence

	static DEFINE_WW_CLASS(test_ww_class);

	struct ww_acquire_ctx ww_ctx;
	struct ww_mutex ww_lock_a;
	struct ww_mutex ww_lock_b;
	struct ww_mutex ww_lock_c;
	struct mutex lock_c;

	ww_acquire_init(&ww_ctx, &test_ww_class);

	ww_mutex_init(&ww_lock_a, &test_ww_class);
	ww_mutex_init(&ww_lock_b, &test_ww_class);
	ww_mutex_init(&ww_lock_c, &test_ww_class);

	mutex_init(&lock_c);

	ww_mutex_lock(&ww_lock_a, &ww_ctx);

	mutex_lock(&lock_c);

	ww_mutex_lock(&ww_lock_b, &ww_ctx);
	ww_mutex_lock(&ww_lock_c, &ww_ctx);

	mutex_unlock(&lock_c);	(*)

	ww_mutex_unlock(&ww_lock_c);
	ww_mutex_unlock(&ww_lock_b);
	ww_mutex_unlock(&ww_lock_a);

	ww_acquire_fini(&ww_ctx); (**)

will trigger the following error in __lock_release() when calling
mutex_release() at **:

	DEBUG_LOCKS_WARN_ON(depth <= 0)

The problem is that the hlock merging happening at * updates the
references for test_ww_class incorrectly to 3 whereas it should've
updated it to 4 (representing all the instances for ww_ctx and
ww_lock_[abc]).

Fix this by updating the references during merging correctly taking into
account that we can have non-zero references (both for the hlock that we
merge into another hlock or for the hlock we are merging into).

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will.deacon@arm.com>
Link: https://lkml.kernel.org/r/20190524201509.9199-2-imre.deak@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-07-31 07:28:23 +02:00
Waiman Long
8a5e7aeffc locking/rwsem: Prevent decrement of reader count before increment
[ Upstream commit a9e9bcb45b1525ba7aea26ed9441e8632aeeda58 ]

During my rwsem testing, it was found that after a down_read(), the
reader count may occasionally become 0 or even negative. Consequently,
a writer may steal the lock at that time and execute with the reader
in parallel thus breaking the mutual exclusion guarantee of the write
lock. In other words, both readers and writer can become rwsem owners
simultaneously.

The current reader wakeup code does it in one pass to clear waiter->task
and put them into wake_q before fully incrementing the reader count.
Once waiter->task is cleared, the corresponding reader may see it,
finish the critical section and do unlock to decrement the count before
the count is incremented. This is not a problem if there is only one
reader to wake up as the count has been pre-incremented by 1.  It is
a problem if there are more than one readers to be woken up and writer
can steal the lock.

The wakeup was actually done in 2 passes before the following v4.9 commit:

  70800c3c0c ("locking/rwsem: Scan the wait_list for readers only once")

To fix this problem, the wakeup is now done in two passes
again. In the first pass, we collect the readers and count them.
The reader count is then fully incremented. In the second pass, the
waiter->task is then cleared and they are put into wake_q to be woken
up later.

Signed-off-by: Waiman Long <longman@redhat.com>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: huang ying <huang.ying.caritas@gmail.com>
Fixes: 70800c3c0c ("locking/rwsem: Scan the wait_list for readers only once")
Link: http://lkml.kernel.org/r/20190428212557.13482-2-longman@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-05-21 18:50:12 +02:00
Blagovest Kolenichev
313f4c9c8f Merge android-4.14.109 (80571db) into msm-4.14
* refs/heads/tmp-80571db:
  Revert "ANDROID: input: keychord: Add keychord driver"
  Revert "ANDROID: input: keychord: log when keychord triggered"
  Revert "ANDROID: input: keychord: Fix a slab out-of-bounds read."
  Revert "ANDROID: input: keychord: Fix races in keychord_write."
  Revert "ANDROID: input: keychord: Fix for a memory leak in keychord."
  ANDROID: drop CONFIG_INPUT_KEYCHORD from cuttlefish
  UPSTREAM: filemap: add a comment about FAULT_FLAG_RETRY_NOWAIT behavior
  BACKPORT: filemap: drop the mmap_sem for all blocking operations
  BACKPORT: filemap: kill page_cache_read usage in filemap_fault
  UPSTREAM: filemap: pass vm_fault to the mmap ra helpers
  ANDROID: Remove Android paranoid check for socket creation
  BACKPORT: mm/debug.c: provide useful debugging information for VM_BUG
  UPSTREAM: x86/alternative: Print unadorned pointers
  UPSTREAM: trace_uprobe: Display correct offset in uprobe_events
  UPSTREAM: usercopy: Remove pointer from overflow report
  UPSTREAM: Do not hash userspace addresses in fault handlers
  UPSTREAM: mm/slab.c: do not hash pointers when debugging slab
  UPSTREAM: kasan: use %px to print addresses instead of %p
  UPSTREAM: vsprintf: add printk specifier %px
  UPSTREAM: printk: hash addresses printed with %p
  UPSTREAM: vsprintf: refactor %pK code out of pointer()
  UPSTREAM: docs: correct documentation for %pK
  ANDROID: binder: remove extra declaration left after backport
  FROMGIT: binder: fix BUG_ON found by selinux-testsuite
  Linux 4.14.109
  ath10k: avoid possible string overflow
  power: supply: charger-manager: Fix incorrect return value
  pwm-backlight: Enable/disable the PWM before/after LCD enable toggle.
  sched/cpufreq/schedutil: Fix error path mutex unlock
  rtc: Fix overflow when converting time64_t to rtc_time
  PCI: endpoint: Use EPC's device in dma_alloc_coherent()/dma_free_coherent()
  PCI: designware-ep: Read-only registers need DBI_RO_WR_EN to be writable
  PCI: designware-ep: dw_pcie_ep_set_msi() should only set MMC bits
  scsi: ufs: fix wrong command type of UTRD for UFSHCI v2.1
  USB: core: only clean up what we allocated
  lib/int_sqrt: optimize small argument
  ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec
  ALSA: hda - Record the current power state before suspend/resume calls
  locking/lockdep: Add debug_locks check in __lock_downgrade()
  x86/unwind: Add hardcoded ORC entry for NULL
  x86/unwind: Handle NULL pointer calls better in frame unwinder
  netfilter: ebtables: remove BUGPRINT messages
  drm: Reorder set_property_atomic to avoid returning with an active ww_ctx
  Bluetooth: hci_ldisc: Postpone HCI_UART_PROTO_READY bit set in hci_uart_set_proto()
  Bluetooth: hci_ldisc: Initialize hci_dev before open()
  Bluetooth: Fix decrementing reference count twice in releasing socket
  Bluetooth: hci_uart: Check if socket buffer is ERR_PTR in h4_recv_buf()
  media: v4l2-ctrls.c/uvc: zero v4l2_event
  ext4: brelse all indirect buffer in ext4_ind_remove_space()
  ext4: fix data corruption caused by unaligned direct AIO
  ext4: fix NULL pointer dereference while journal is aborted
  ALSA: x86: Fix runtime PM for hdmi-lpe-audio
  objtool: Move objtool_file struct off the stack
  perf probe: Fix getting the kernel map
  futex: Ensure that futex address is aligned in handle_futex_death()
  scsi: ibmvscsi: Fix empty event pool access during host removal
  scsi: ibmvscsi: Protect ibmvscsi_head from concurrent modificaiton
  MIPS: Fix kernel crash for R6 in jump label branch function
  MIPS: Ensure ELF appended dtb is relocated
  mips: loongson64: lemote-2f: Add IRQF_NO_SUSPEND to "cascade" irqaction.
  udf: Fix crash on IO error during truncate
  libceph: wait for latest osdmap in ceph_monc_blacklist_add()
  iommu/amd: fix sg->dma_address for sg->offset bigger than PAGE_SIZE
  drm/vmwgfx: Don't double-free the mode stored in par->set_mode
  mmc: pxamci: fix enum type confusion
  ANDROID: dm-bow: Fix 32 bit compile errors
  ANDROID: Add dm-bow to cuttlefish configuration
  UPSTREAM: binder: fix handling of misaligned binder object
  UPSTREAM: binder: fix sparse issue in binder_alloc_selftest.c
  BACKPORT: binder: use userspace pointer as base of buffer space
  UPSTREAM: binder: fix kerneldoc header for struct binder_buffer
  BACKPORT: binder: remove user_buffer_offset
  UPSTREAM: binder: remove kernel vm_area for buffer space
  UPSTREAM: binder: avoid kernel vm_area for buffer fixups
  BACKPORT: binder: add function to copy binder object from buffer
  BACKPORT: binder: add functions to copy to/from binder buffers
  UPSTREAM: binder: create userspace-to-binder-buffer copy function
  ANDROID: dm-bow: backport to 4.14
  ANDROID: dm-bow: Add dm-bow feature
  f2fs: set pin_file under CAP_SYS_ADMIN
  f2fs: fix to avoid deadlock in f2fs_read_inline_dir()
  f2fs: fix to adapt small inline xattr space in __find_inline_xattr()
  f2fs: fix to do sanity check with inode.i_inline_xattr_size
  f2fs: give some messages for inline_xattr_size
  f2fs: don't trigger read IO for beyond EOF page
  f2fs: fix to add refcount once page is tagged PG_private
  f2fs: remove wrong comment in f2fs_invalidate_page()
  f2fs: fix to use kvfree instead of kzfree
  f2fs: print more parameters in trace_f2fs_map_blocks
  f2fs: trace f2fs_ioc_shutdown
  f2fs: fix to avoid deadlock of atomic file operations
  f2fs: fix to dirty inode for i_mode recovery
  f2fs: give random value to i_generation
  f2fs: no need to take page lock in readdir
  f2fs: fix to update iostat correctly in IPU path
  f2fs: fix encrypted page memory leak
  f2fs: make fault injection covering __submit_flush_wait()
  f2fs: fix to retry fill_super only if recovery failed
  f2fs: silence VM_WARN_ON_ONCE in mempool_alloc
  f2fs: correct spelling mistake
  f2fs: fix wrong #endif
  f2fs: don't clear CP_QUOTA_NEED_FSCK_FLAG
  f2fs: don't allow negative ->write_io_size_bits
  f2fs: fix to check inline_xattr_size boundary correctly
  Revert "f2fs: fix to avoid deadlock of atomic file operations"
  Revert "f2fs: fix to check inline_xattr_size boundary correctly"
  f2fs: do not use mutex lock in atomic context
  f2fs: fix potential data inconsistence of checkpoint
  f2fs: fix to avoid deadlock of atomic file operations
  f2fs: fix to check inline_xattr_size boundary correctly
  f2fs: jump to label 'free_node_inode' when failing from d_make_root()
  f2fs: fix to document inline_xattr_size option
  f2fs: fix to data block override node segment by mistake
  f2fs: fix typos in code comments
  f2fs: use xattr_prefix to wrap up
  f2fs: sync filesystem after roll-forward recovery
  f2fs: flush quota blocks after turnning it off
  f2fs: avoid null pointer exception in dcc_info
  f2fs: don't wake up too frequently, if there is lots of IOs
  f2fs: try to keep CP_TRIMMED_FLAG after successful umount
  f2fs: add quick mode of checkpoint=disable for QA
  f2fs: run discard jobs when put_super
  f2fs: fix to set sbi dirty correctly
  f2fs: fix to initialize variable to avoid UBSAN/smatch warning
  f2fs: UBSAN: set boolean value iostat_enable correctly
  f2fs: add brackets for macros
  f2fs: check if file namelen exceeds max value
  f2fs: fix to trigger fsck if dirent.name_len is zero
  f2fs: no need to check return value of debugfs_create functions
  f2fs: export FS_NOCOW_FL flag to user
  f2fs: check inject_rate validity during configuring
  f2fs: remove set but not used variable 'err'
  f2fs: fix compile warnings: 'struct *' declared inside parameter list
  f2fs: change error code to -ENOMEM from -EINVAL

Conflicts:
	drivers/md/Makefile
	mm/filemap.c
	net/ipv4/af_inet.c

Change-Id: Id050d9a819404a8af08f83bf7fcc5c5536980fe9
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2019-05-15 07:46:06 -07:00
Greg Kroah-Hartman
599c8a408f Revert "locking/lockdep: Add debug_locks check in __lock_downgrade()"
This reverts commit 4a195a0bc2 which was
commit 71492580571467fb7177aade19c18ce7486267f5 upstream.

Tetsuo rightly points out that the backport here is incorrect, as it
touches the __lock_set_class function instead of the intended
__lock_downgrade function.

Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Cc: Waiman Long <longman@redhat.com>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-04-27 09:35:42 +02:00
Waiman Long
4a195a0bc2 locking/lockdep: Add debug_locks check in __lock_downgrade()
commit 71492580571467fb7177aade19c18ce7486267f5 upstream.

Tetsuo Handa had reported he saw an incorrect "downgrading a read lock"
warning right after a previous lockdep warning. It is likely that the
previous warning turned off lock debugging causing the lockdep to have
inconsistency states leading to the lock downgrade warning.

Fix that by add a check for debug_locks at the beginning of
__lock_downgrade().

Debugged-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Reported-by: syzbot+53383ae265fb161ef488@syzkaller.appspotmail.com
Signed-off-by: Waiman Long <longman@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will.deacon@arm.com>
Link: https://lkml.kernel.org/r/1547093005-26085-1-git-send-email-longman@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-03-27 14:13:54 +09:00
Blagovest Kolenichev
57c2bb95b7 Merge android-4.14-p.105 (e742253) into msm-4.14
* refs/heads/tmp-e742253:
  Linux 4.14.105
  x86/uaccess: Don't leak the AC flag into __put_user() value evaluation
  MIPS: eBPF: Fix icache flush end address
  MIPS: fix truncation in __cmpxchg_small for short values
  mm: enforce min addr even if capable() in expand_downwards()
  mmc: sdhci-esdhc-imx: correct the fix of ERR004536
  mmc: tmio: fix access width of Block Count Register
  mmc: tmio_mmc_core: don't claim spurious interrupts
  mmc: spi: Fix card detection during probe
  powerpc: Always initialize input array when calling epapr_hypercall()
  KVM: nSVM: clear events pending from svm_complete_interrupts() when exiting to L1
  svm: Fix AVIC incomplete IPI emulation
  cfg80211: extend range deviation for DMG
  mac80211: Add attribute aligned(2) to struct 'action'
  mac80211: don't initiate TDLS connection if station is not associated to AP
  ibmveth: Do not process frames after calling napi_reschedule
  net: dev_is_mac_header_xmit() true for ARPHRD_RAWIP
  net: usb: asix: ax88772_bind return error when hw_reset fail
  hv_netvsc: Fix ethtool change hash key error
  net: altera_tse: fix connect_local_phy error path
  scsi: csiostor: fix NULL pointer dereference in csio_vport_set_state()
  writeback: synchronize sync(2) against cgroup writeback membership switches
  direct-io: allow direct writes to empty inodes
  staging: android: ion: Support cpu access during dma_buf_detach
  serial: fsl_lpuart: fix maximum acceptable baud rate with over-sampling
  drm/amd/powerplay: OD setting fix on Vega10
  locking/rwsem: Fix (possible) missed wakeup
  futex: Fix (possible) missed wakeup
  sched/wait: Fix rcuwait_wake_up() ordering
  mac80211: fix miscounting of ttl-dropped frames
  staging: rtl8723bs: Fix build error with Clang when inlining is disabled
  drivers: thermal: int340x_thermal: Fix sysfs race condition
  ARC: fix __ffs return value to avoid build warnings
  selftests: gpio-mockup-chardev: Check asprintf() for error
  selftests: seccomp: use LDLIBS instead of LDFLAGS
  ASoC: imx-audmux: change snprintf to scnprintf for possible overflow
  ASoC: dapm: change snprintf to scnprintf for possible overflow
  genirq: Make sure the initial affinity is not empty
  usb: gadget: Potential NULL dereference on allocation error
  usb: dwc3: gadget: Fix the uninitialized link_state when udc starts
  usb: dwc3: gadget: synchronize_irq dwc irq in suspend
  thermal: int340x_thermal: Fix a NULL vs IS_ERR() check
  clk: vc5: Abort clock configuration without upstream clock
  ASoC: Variable "val" in function rt274_i2c_probe() could be uninitialized
  ALSA: compress: prevent potential divide by zero bugs
  ASoC: Intel: Haswell/Broadwell: fix setting for .dynamic field
  drm/msm: Unblock writer if reader closes file
  scsi: libsas: Fix rphy phy_identifier for PHYs with end devices attached
  net: stmmac: Disable ACS Feature for GMAC >= 4
  net: stmmac: Fix reception of Broadcom switches tags
  Revert "loop: Fold __loop_release into loop_release"
  Revert "loop: Get rid of loop_index_mutex"
  Revert "loop: Fix double mutex_unlock(&loop_ctl_mutex) in loop_control_ioctl()"
  FROMGIT: binder: create node flag to request sender's security context

  Modify include/uapi/linux/android/binder.h, as commit:

  FROMGIT: binder: create node flag to request sender's security context

  introduces enums and structures, which are already defined in other
  userspace files that include the binder uapi file. Thus, the
  redeclaration of these enums and structures can lead to
  build errors. To avoid this, guard the redundant declarations
  in the uapi header with the __KERNEL__ header guard, so they
  are not exported to userspace.

Conflicts:
	drivers/gpu/drm/msm/msm_rd.c
	drivers/staging/android/ion/ion.c
	include/uapi/linux/android/binder.h
	sound/core/compress_offload.c

Change-Id: I5d470f222a6a1baa284813a11f847cfcbe6ee0a6
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2019-03-20 16:37:04 -07:00
Xie Yongji
726152d423 locking/rwsem: Fix (possible) missed wakeup
[ Upstream commit e158488be27b157802753a59b336142dc0eb0380 ]

Because wake_q_add() can imply an immediate wakeup (cmpxchg failure
case), we must not rely on the wakeup being delayed. However, commit:

  e38513905e ("locking/rwsem: Rework zeroing reader waiter->task")

relies on exactly that behaviour in that the wakeup must not happen
until after we clear waiter->task.

[ peterz: Added changelog. ]

Signed-off-by: Xie Yongji <xieyongji@baidu.com>
Signed-off-by: Zhang Yu <zhangyu31@baidu.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: e38513905e ("locking/rwsem: Rework zeroing reader waiter->task")
Link: https://lkml.kernel.org/r/1543495830-2644-1-git-send-email-xieyongji@baidu.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-03-05 17:58:00 +01:00
Blagovest Kolenichev
f1b30ef999 Merge android-4.14-p.99 (b952da4) into msm-4.14
* refs/heads/tmp-b952da4:
  Revert "iommu/arm-smmu: Add support for qcom,smmu-v2 variant"
  Linux 4.14.99
  ath9k: dynack: check da->enabled first in sampling routines
  ath9k: dynack: make ewma estimation faster
  perf/x86/intel: Delay memory deallocation until x86_pmu_dead_cpu()
  IB/hfi1: Add limit test for RC/UC send via loopback
  nfsd4: catch some false session retries
  nfsd4: fix cached replies to solo SEQUENCE compounds
  serial: 8250_pci: Make PCI class test non fatal
  serial: fix race between flush_to_ldisc and tty_open
  perf tests evsel-tp-sched: Fix bitwise operator
  perf/core: Don't WARN() for impossible ring-buffer sizes
  x86/MCE: Initialize mce.bank in the case of a fatal error in mce_no_way_out()
  perf/x86/intel/uncore: Add Node ID mask
  cpu/hotplug: Fix "SMT disabled by BIOS" detection for KVM
  KVM: nVMX: unconditionally cancel preemption timer in free_nested (CVE-2019-7221)
  kvm: fix kvm_ioctl_create_device() reference counting (CVE-2019-6974)
  KVM: x86: work around leak of uninitialized stack contents (CVE-2019-7222)
  scsi: aic94xx: fix module loading
  scsi: cxlflash: Prevent deadlock when adapter probe fails
  staging: speakup: fix tty-operation NULL derefs
  usb: gadget: musb: fix short isoc packets with inventra dma
  usb: gadget: udc: net2272: Fix bitwise and boolean operations
  usb: dwc3: gadget: Handle 0 xfer length for OUT EP
  usb: phy: am335x: fix race condition in _probe
  irqchip/gic-v3-its: Plug allocation race for devices sharing a DevID
  futex: Handle early deadlock return correctly
  dmaengine: imx-dma: fix wrong callback invoke
  dmaengine: bcm2835: Fix abort of transactions
  dmaengine: bcm2835: Fix interrupt race on RT
  fuse: handle zero sized retrieve correctly
  fuse: decrement NR_WRITEBACK_TEMP on the right page
  fuse: call pipe_buf_release() under pipe lock
  ALSA: hda - Serialize codec registrations
  ALSA: compress: Fix stop handling on compressed capture streams
  net: dsa: slave: Don't propagate flag changes on down slave interfaces
  net/mlx5e: Force CHECKSUM_UNNECESSARY for short ethernet frames
  net: systemport: Fix WoL with password after deep sleep
  rds: fix refcount bug in rds_sock_addref
  skge: potential memory corruption in skge_get_regs()
  rxrpc: bad unlock balance in rxrpc_recvmsg
  net: dp83640: expire old TX-skb
  enic: fix checksum validation for IPv6
  dccp: fool proof ccid_hc_[rt]x_parse_options()
  thermal: hwmon: inline helpers when CONFIG_THERMAL_HWMON is not set
  scripts/gdb: fix lx-version string output
  exec: load_script: don't blindly truncate shebang string
  fs/epoll: drop ovflist branch prediction
  kernel/hung_task.c: force console verbose before panic
  proc/sysctl: fix return error for proc_doulongvec_minmax()
  kernel/hung_task.c: break RCU locks based on jiffies
  HID: lenovo: Add checks to fix of_led_classdev_register
  thermal: generic-adc: Fix adc to temp interpolation
  kdb: Don't back trace on a cpu that didn't round up
  thermal: bcm2835: enable hwmon explicitly
  block/swim3: Fix -EBUSY error when re-opening device after unmount
  fsl/fman: Use GFP_ATOMIC in {memac,tgec}_add_hash_mac_address()
  gdrom: fix a memory leak bug
  isdn: hisax: hfc_pci: Fix a possible concurrency use-after-free bug in HFCPCI_l1hw()
  ocfs2: improve ocfs2 Makefile
  ocfs2: don't clear bh uptodate for block read
  scripts/decode_stacktrace: only strip base path when a prefix of the path
  cgroup: fix parsing empty mount option string
  f2fs: fix sbi->extent_list corruption issue
  niu: fix missing checks of niu_pci_eeprom_read
  um: Avoid marking pages with "changed protection"
  cifs: check ntwrk_buf_start for NULL before dereferencing it
  MIPS: ralink: Select CONFIG_CPU_MIPSR2_IRQ_VI on MT7620/8
  crypto: ux500 - Use proper enum in hash_set_dma_transfer
  crypto: ux500 - Use proper enum in cryp_set_dma_transfer
  seq_buf: Make seq_buf_puts() null-terminate the buffer
  hwmon: (lm80) fix a missing check of bus read in lm80 probe
  hwmon: (lm80) fix a missing check of the status of SMBus read
  NFS: nfs_compare_mount_options always compare auth flavors.
  kvm: Change offset in kvm_write_guest_offset_cached to unsigned
  powerpc/fadump: Do not allow hot-remove memory from fadump reserved area.
  KVM: x86: svm: report MSR_IA32_MCG_EXT_CTL as unsupported
  pinctrl: meson: meson8b: fix the GPIO function for the GPIOAO pins
  pinctrl: meson: meson8: fix the GPIO function for the GPIOAO pins
  powerpc/mm: Fix reporting of kernel execute faults on the 8xx
  fbdev: fbcon: Fix unregister crash when more than one framebuffer
  ACPI/APEI: Clear GHES block_status before panic()
  igb: Fix an issue that PME is not enabled during runtime suspend
  i40e: define proper net_device::neigh_priv_len
  fbdev: fbmem: behave better with small rotated displays and many CPUs
  md: fix raid10 hang issue caused by barrier
  video: clps711x-fb: release disp device node in probe()
  drbd: Avoid Clang warning about pointless switch statment
  drbd: skip spurious timeout (ping-timeo) when failing promote
  drbd: disconnect, if the wrong UUIDs are attached on a connected peer
  drbd: narrow rcu_read_lock in drbd_sync_handshake
  powerpc/perf: Fix thresholding counter data for unknown type
  cw1200: Fix concurrency use-after-free bugs in cw1200_hw_scan()
  scsi: smartpqi: increase fw status register read timeout
  scsi: smartpqi: correct volume status
  scsi: smartpqi: correct host serial num for ssa
  mlxsw: spectrum: Properly cleanup LAG uppers when removing port from LAG
  Bluetooth: Fix unnecessary error message for HCI request completion
  xfrm6_tunnel: Fix spi check in __xfrm6_tunnel_alloc_spi
  mac80211: fix radiotap vendor presence bitmap handling
  powerpc/uaccess: fix warning/error with access_ok()
  percpu: convert spin_lock_irq to spin_lock_irqsave.
  usb: musb: dsps: fix otg state machine
  arm64: KVM: Skip MMIO insn after emulation
  perf probe: Fix unchecked usage of strncpy()
  perf header: Fix unchecked usage of strncpy()
  perf test: Fix perf_event_attr test failure
  tty: serial: samsung: Properly set flags in autoCTS mode
  mmc: sdhci-xenon: Fix timeout checks
  mmc: sdhci-of-esdhc: Fix timeout checks
  memstick: Prevent memstick host from getting runtime suspended during card detection
  mmc: bcm2835: reset host on timeout
  mmc: bcm2835: Recover from MMC_SEND_EXT_CSD
  KVM: PPC: Book3S: Only report KVM_CAP_SPAPR_TCE_VFIO on powernv machines
  ASoC: fsl: Fix SND_SOC_EUKREA_TLV320 build error on i.MX8M
  ARM: pxa: avoid section mismatch warning
  selftests/bpf: use __bpf_constant_htons in test_prog.c
  switchtec: Fix SWITCHTEC_IOCTL_EVENT_IDX_ALL flags overwrite
  udf: Fix BUG on corrupted inode
  phy: sun4i-usb: add support for missing USB PHY index
  i2c-axxia: check for error conditions first
  OPP: Use opp_table->regulators to verify no regulator case
  cpuidle: big.LITTLE: fix refcount leak
  clk: imx6sl: ensure MMDC CH0 handshake is bypassed
  sata_rcar: fix deferred probing
  iommu/arm-smmu-v3: Use explicit mb() when moving cons pointer
  iommu/arm-smmu: Add support for qcom,smmu-v2 variant
  usb: dwc3: gadget: Disable CSP for stream OUT ep
  watchdog: renesas_wdt: don't set divider while watchdog is running
  ARM: dts: Fix up the D-Link DIR-685 MTD partition info
  media: coda: fix H.264 deblocking filter controls
  mips: bpf: fix encoding bug for mm_srlv32_op
  ARM: dts: Fix OMAP4430 SDP Ethernet startup
  iommu/amd: Fix amd_iommu=force_isolation
  pinctrl: sx150x: handle failure case of devm_kstrdup
  usb: dwc3: trace: add missing break statement to make compiler happy
  IB/hfi1: Unreserve a reserved request when it is completed
  kobject: return error code if writing /sys/.../uevent fails
  driver core: Move async_synchronize_full call
  clk: sunxi-ng: a33: Set CLK_SET_RATE_PARENT for all audio module clocks
  usb: mtu3: fix the issue about SetFeature(U1/U2_Enable)
  timekeeping: Use proper seqcount initializer
  usb: hub: delay hub autosuspend if USB3 port is still link training
  usb: dwc3: Correct the logic for checking TRB full in __dwc3_prepare_one_trb()
  smack: fix access permissions for keyring
  media: DaVinci-VPBE: fix error handling in vpbe_initialize()
  x86/fpu: Add might_fault() to user_insn()
  ARM: dts: mmp2: fix TWSI2
  arm64: ftrace: don't adjust the LR value
  s390/zcrypt: improve special ap message cmd handling
  firmware/efi: Add NULL pointer checks in efivars API functions
  Thermal: do not clear passive state during system sleep
  arm64: io: Ensure value passed to __iormb() is held in a 64-bit register
  drm: Clear state->acquire_ctx before leaving drm_atomic_helper_commit_duplicated_state()
  nfsd4: fix crash on writing v4_end_grace before nfsd startup
  soc: bcm: brcmstb: Don't leak device tree node reference
  sunvdc: Do not spin in an infinite loop when vio_ldc_send() returns EAGAIN
  arm64: io: Ensure calls to delay routines are ordered against prior readX()
  i2c: sh_mobile: add support for r8a77990 (R-Car E3)
  f2fs: fix wrong return value of f2fs_acl_create
  f2fs: fix race between write_checkpoint and write_begin
  f2fs: move dir data flush to write checkpoint process
  staging: pi433: fix potential null dereference
  ACPI: SPCR: Consider baud rate 0 as preconfigured state
  media: adv*/tc358743/ths8200: fill in min width/height/pixelclock
  iio: accel: kxcjk1013: Add KIOX010A ACPI Hardware-ID
  iio: adc: meson-saradc: fix internal clock names
  iio: adc: meson-saradc: check for devm_kasprintf failure
  dmaengine: xilinx_dma: Remove __aligned attribute on zynqmp_dma_desc_ll
  ptp: Fix pass zero to ERR_PTR() in ptp_clock_register
  media: mtk-vcodec: Release device nodes in mtk_vcodec_init_enc_pm()
  soc/tegra: Don't leak device tree node reference
  perf tools: Add Hygon Dhyana support
  modpost: validate symbol names also in find_elf_symbol
  net/mlx5: EQ, Use the right place to store/read IRQ affinity hint
  ARM: OMAP2+: hwmod: Fix some section annotations
  drm/rockchip: fix for mailbox read size
  usbnet: smsc95xx: fix rx packet alignment
  staging: iio: ad7780: update voltage on read
  platform/chrome: don't report EC_MKBP_EVENT_SENSOR_FIFO as wakeup
  Tools: hv: kvp: Fix a warning of buffer overflow with gcc 8.0.1
  fpga: altera-cvp: Fix registration for CvP incapable devices
  staging:iio:ad2s90: Make probe handle spi_setup failure
  MIPS: Boston: Disable EG20T prefetch
  ptp: check gettime64 return code in PTP_SYS_OFFSET ioctl
  serial: fsl_lpuart: clear parity enable bit when disable parity
  drm/vc4: ->x_scaling[1] should never be set to VC4_SCALING_NONE
  crypto: aes_ti - disable interrupts while accessing S-box
  powerpc/pseries: add of_node_put() in dlpar_detach_node()
  x86/PCI: Fix Broadcom CNB20LE unintended sign extension (redux)
  dlm: Don't swamp the CPU with callbacks queued during recovery
  clk: boston: fix possible memory leak in clk_boston_setup()
  ARM: 8808/1: kexec:offline panic_smp_self_stop CPU
  scsi: lpfc: Fix LOGO/PLOGI handling when triggerd by ABTS Timeout event
  scsi: mpt3sas: Call sas_remove_host before removing the target devices
  scsi: lpfc: Correct LCB RJT handling
  ath9k: dynack: use authentication messages for 'late' ack
  gpu: ipu-v3: image-convert: Prevent race between run and unprepare
  ASoC: Intel: mrfld: fix uninitialized variable access
  pinctrl: bcm2835: Use raw spinlock for RT compatibility
  drm/vgem: Fix vgem_init to get drm device available.
  staging: iio: adc: ad7280a: handle error from __ad7280_read32()
  drm/bufs: Fix Spectre v1 vulnerability

Conflicts:
	drivers/thermal/thermal_core.c

File below is aligned according to change [1] from this LTS import:

    arch/arm64/include/asm/io.h

[1] arm64: io: Ensure calls to delay routines are ordered against prior readX()

Change-Id: Ieae90a5ca7b81b08fcfedb150da732f5986aefe5
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2019-03-01 11:14:23 -08:00
Thomas Gleixner
3d8343b78e futex: Handle early deadlock return correctly
commit 1a1fb985f2e2b85ec0d3dc2e519ee48389ec2434 upstream.

commit 56222b212e ("futex: Drop hb->lock before enqueueing on the
rtmutex") changed the locking rules in the futex code so that the hash
bucket lock is not longer held while the waiter is enqueued into the
rtmutex wait list. This made the lock and the unlock path symmetric, but
unfortunately the possible early exit from __rt_mutex_proxy_start() due to
a detected deadlock was not updated accordingly. That allows a concurrent
unlocker to observe inconsitent state which triggers the warning in the
unlock path.

futex_lock_pi()                         futex_unlock_pi()
  lock(hb->lock)
  queue(hb_waiter)				lock(hb->lock)
  lock(rtmutex->wait_lock)
  unlock(hb->lock)
                                        // acquired hb->lock
                                        hb_waiter = futex_top_waiter()
                                        lock(rtmutex->wait_lock)
  __rt_mutex_proxy_start()
     ---> fail
          remove(rtmutex_waiter);
     ---> returns -EDEADLOCK
  unlock(rtmutex->wait_lock)
                                        // acquired wait_lock
                                        wake_futex_pi()
                                        rt_mutex_next_owner()
					  --> returns NULL
                                          --> WARN

  lock(hb->lock)
  unqueue(hb_waiter)

The problem is caused by the remove(rtmutex_waiter) in the failure case of
__rt_mutex_proxy_start() as this lets the unlocker observe a waiter in the
hash bucket but no waiter on the rtmutex, i.e. inconsistent state.

The original commit handles this correctly for the other early return cases
(timeout, signal) by delaying the removal of the rtmutex waiter until the
returning task reacquired the hash bucket lock.

Treat the failure case of __rt_mutex_proxy_start() in the same way and let
the existing cleanup code handle the eventual handover of the rtmutex
gracefully. The regular rt_mutex_proxy_start() gains the rtmutex waiter
removal for the failure case, so that the other callsites are still
operating correctly.

Add proper comments to the code so all these details are fully documented.

Thanks to Peter for helping with the analysis and writing the really
valuable code comments.

Fixes: 56222b212e ("futex: Drop hb->lock before enqueueing on the rtmutex")
Reported-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Co-developed-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: linux-s390@vger.kernel.org
Cc: Stefan Liebler <stli@linux.ibm.com>
Cc: Sebastian Sewior <bigeasy@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/alpine.DEB.2.21.1901292311410.1950@nanos.tec.linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-12 19:46:12 +01:00
Blagovest Kolenichev
1ed79e1650 Merge android-4.14-p.90 (a5e7b25) into msm-4.14
* refs/heads/tmp-a5e7b25:
  Linux 4.14.90
  bpf, arm: fix emit_ldx_r and emit_mov_i using TMP_REG_1
  rtc: snvs: Add timeouts to avoid kernel lockups
  nvmet-rdma: fix response use after free
  i2c: uniphier-f: fix violation of tLOW requirement for Fast-mode
  i2c: uniphier: fix violation of tLOW requirement for Fast-mode
  i2c: scmi: Fix probe error on devices with an empty SMB0001 ACPI device node
  i2c: axxia: properly handle master timeout
  mlxsw: spectrum_switchdev: Fix VLAN device deletion via ioctl
  vhost/vsock: fix reset orphans race with close timeout
  cifs: In Kconfig CONFIG_CIFS_POSIX needs depends on legacy (insecure cifs)
  drm/ast: Fix connector leak during driver unload
  ethernet: fman: fix wrong of_node_put() in probe function
  ARM: 8815/1: V7M: align v7m_dma_inv_range() with v7 counterpart
  ARM: 8814/1: mm: improve/fix ARM v7_dma_inv_range() unaligned address handling
  net/mlx4_en: Fix build break when CONFIG_INET is off
  mv88e6060: disable hardware level MAC learning
  libata: whitelist all SAMSUNG MZ7KM* solid-state disks
  Input: omap-keypad - fix keyboard debounce configuration
  Input: synaptics - enable SMBus for HP 15-ay000
  clk: mmp: Off by one in mmp_clk_add()
  clk: mvebu: Off by one bugs in cp110_of_clk_get()
  drm/msm: Fix error return checking
  ide: pmac: add of_node_put()
  drivers/tty: add missing of_node_put()
  drivers/sbus/char: add of_node_put()
  sbus: char: add of_node_put()
  SUNRPC: Fix a potential race in xprt_connect()
  nfs: don't dirty kernel pages read by direct-io
  bpf: Fix verifier log string check for bad alignment.
  bonding: fix 802.3ad state sent to partner when unbinding slave
  ARC: io.h: Implement reads{x}()/writes{x}()
  drm/msm: Grab a vblank reference when waiting for commit_done
  x86/earlyprintk/efi: Fix infinite loop on some screen widths
  scsi: vmw_pscsi: Rearrange code to avoid multiple calls to free_irq during unload
  scsi: libiscsi: Fix NULL pointer dereference in iscsi_eh_session_reset
  Input: hyper-v - fix wakeup from suspend-to-idle
  mac80211_hwsim: fix module init error paths for netlink
  locking/qspinlock: Fix build for anonymous union in older GCC compilers
  IB/hfi1: Remove race conditions in user_sdma send path
  mac80211: Fix condition validating WMM IE
  mac80211: don't WARN on bad WMM parameters from buggy APs
  netfilter: ipset: Fix wraparound in hash:*net* types
  elevator: lookup mq vs non-mq elevators
  locking/qspinlock, x86: Provide liveness guarantee
  locking/qspinlock/x86: Increase _Q_PENDING_LOOPS upper bound
  locking/qspinlock: Re-order code
  locking/qspinlock: Kill cmpxchg() loop when claiming lock from head of queue
  locking/qspinlock: Remove duplicate clear_pending() function from PV code
  locking/qspinlock: Remove unbounded cmpxchg() loop from locking slowpath
  locking/qspinlock: Merge 'struct __qspinlock' into 'struct qspinlock'
  locking/qspinlock: Bound spinning on pending->locked transition in slowpath
  locking/qspinlock: Ensure node is initialised before updating prev->next
  locking: Remove smp_read_barrier_depends() from queued_spin_lock_slowpath()
  x86/build: Fix compiler support check for CONFIG_RETPOLINE
  drm/amdgpu: update SMC firmware image for polaris10 variants
  drm/i915/execlists: Apply a full mb before execution for Braswell
  Revert "drm/rockchip: Allow driver to be shutdown on reboot/kexec"
  drm/nouveau/kms: Fix memory leak in nv50_mstm_del()
  powerpc/msi: Fix NULL pointer access in teardown code
  tracing: Fix memory leak of instance function hash filters
  tracing: Fix memory leak in set_trigger_filter()
  dm cache metadata: verify cache has blocks in blocks_are_clean_separate_dirty()
  dm thin: send event about thin-pool state change _after_ making it
  ARM: mmp/mmp2: fix cpu_is_mmp2() on mmp2-dt
  fuse: continue to send FUSE_RELEASEDIR when FUSE_OPEN returns ENOSYS
  mmc: sdhci: fix the timeout check window for clock and reset
  MMC: OMAP: fix broken MMC on OMAP15XX/OMAP5910/OMAP310
  arm64: dma-mapping: Fix FORCE_CONTIGUOUS buffer clearing
  userfaultfd: check VM_MAYWRITE was set after verifying the uffd is registered
  aio: fix spectre gadget in lookup_ioctx
  pinctrl: sunxi: a83t: Fix IRQ offset typo for PH11
  timer/debug: Change /proc/timer_list from 0444 to 0400

Change-Id: I9c3c7020caccfea06edafeb33c2740560bb6cc12
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2019-01-28 06:16:26 -08:00
qctecmdr Service
43a76f22fb Merge "locking/rwsem: for rwsem prio aware enhancement" 2019-01-14 19:57:16 -08:00
Maria Yu
f9b2f0067a locking/rwsem: for rwsem prio aware enhancement
When add into waiting list will be prio aware,
lower prio value means higher priority task will get lock
before lower priority task.
Only try to preempt waiters with which task priority
which is higher than DEFAULT_PRIO.
To avoid starvation, add count to record how many waiters
preempt to queue in wait list. If preempt count is exceed
MAX_PREEMPT_ALLOWED, use simple FIFO to queue in the wait
list until the wait list is empty.

Change-Id: I4d5fe6a823a16c9762e2e2f416d34bdd701341c4
Signed-off-by: Maria Yu <aiquny@codeaurora.org>
2019-01-02 17:05:33 +08:00
Peter Zijlstra
5d01e06329 locking/qspinlock, x86: Provide liveness guarantee
commit 7aa54be2976550f17c11a1c3e3630002dea39303 upstream.

On x86 we cannot do fetch_or() with a single instruction and thus end up
using a cmpxchg loop, this reduces determinism. Replace the fetch_or()
with a composite operation: tas-pending + load.

Using two instructions of course opens a window we previously did not
have. Consider the scenario:

	CPU0		CPU1		CPU2

 1)	lock
	  trylock -> (0,0,1)

 2)			lock
			  trylock /* fail */

 3)	unlock -> (0,0,0)

 4)					lock
					  trylock -> (0,0,1)

 5)			  tas-pending -> (0,1,1)
			  load-val <- (0,1,0) from 3

 6)			  clear-pending-set-locked -> (0,0,1)

			  FAIL: _2_ owners

where 5) is our new composite operation. When we consider each part of
the qspinlock state as a separate variable (as we can when
_Q_PENDING_BITS == 8) then the above is entirely possible, because
tas-pending will only RmW the pending byte, so the later load is able
to observe prior tail and lock state (but not earlier than its own
trylock, which operates on the whole word, due to coherence).

To avoid this we need 2 things:

 - the load must come after the tas-pending (obviously, otherwise it
   can trivially observe prior state).

 - the tas-pending must be a full word RmW instruction, it cannot be an XCHGB for
   example, such that we cannot observe other state prior to setting
   pending.

On x86 we can realize this by using "LOCK BTS m32, r32" for
tas-pending followed by a regular load.

Note that observing later state is not a problem:

 - if we fail to observe a later unlock, we'll simply spin-wait for
   that store to become visible.

 - if we observe a later xchg_tail(), there is no difference from that
   xchg_tail() having taken place before the tas-pending.

Suggested-by: Will Deacon <will.deacon@arm.com>
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: andrea.parri@amarulasolutions.com
Cc: longman@redhat.com
Fixes: 59fb586b4a07 ("locking/qspinlock: Remove unbounded cmpxchg() loop from locking slowpath")
Link: https://lkml.kernel.org/r/20181003130957.183726335@infradead.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
[bigeasy: GEN_BINARY_RMWcc macro redo]
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2018-12-21 14:13:09 +01:00
Peter Zijlstra
49849a651b locking/qspinlock: Re-order code
commit 53bf57fab7321fb42b703056a4c80fc9d986d170 upstream.

Flip the branch condition after atomic_fetch_or_acquire(_Q_PENDING_VAL)
such that we loose the indent. This also result in a more natural code
flow IMO.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: andrea.parri@amarulasolutions.com
Cc: longman@redhat.com
Link: https://lkml.kernel.org/r/20181003130257.156322446@infradead.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2018-12-21 14:13:09 +01:00
Will Deacon
f2f76a2c66 locking/qspinlock: Kill cmpxchg() loop when claiming lock from head of queue
commit c61da58d8a9ba9238250a548f00826eaf44af0f7 upstream.

When a queued locker reaches the head of the queue, it claims the lock
by setting _Q_LOCKED_VAL in the lockword. If there isn't contention, it
must also clear the tail as part of this operation so that subsequent
lockers can avoid taking the slowpath altogether.

Currently this is expressed as a cmpxchg() loop that practically only
runs up to two iterations. This is confusing to the reader and unhelpful
to the compiler. Rewrite the cmpxchg() loop without the loop, so that a
failed cmpxchg() implies that there is contention and we just need to
write to _Q_LOCKED_VAL without considering the rest of the lockword.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Waiman Long <longman@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: boqun.feng@gmail.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: paulmck@linux.vnet.ibm.com
Link: http://lkml.kernel.org/r/1524738868-31318-7-git-send-email-will.deacon@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2018-12-21 14:13:09 +01:00
Will Deacon
075703d79c locking/qspinlock: Remove duplicate clear_pending() function from PV code
commit 3bea9adc96842b8a7345c7fb202c16ae9c8d5b25 upstream.

The native clear_pending() function is identical to the PV version, so the
latter can simply be removed.

This fixes the build for systems with >= 16K CPUs using the PV lock implementation.

Reported-by: Waiman Long <longman@redhat.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: boqun.feng@gmail.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: paulmck@linux.vnet.ibm.com
Link: http://lkml.kernel.org/r/20180427101619.GB21705@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2018-12-21 14:13:09 +01:00
Will Deacon
7a617996cb locking/qspinlock: Remove unbounded cmpxchg() loop from locking slowpath
commit 59fb586b4a07b4e1a0ee577140ab4842ba451acd upstream.

The qspinlock locking slowpath utilises a "pending" bit as a simple form
of an embedded test-and-set lock that can avoid the overhead of explicit
queuing in cases where the lock is held but uncontended. This bit is
managed using a cmpxchg() loop which tries to transition the uncontended
lock word from (0,0,0) -> (0,0,1) or (0,0,1) -> (0,1,1).

Unfortunately, the cmpxchg() loop is unbounded and lockers can be starved
indefinitely if the lock word is seen to oscillate between unlocked
(0,0,0) and locked (0,0,1). This could happen if concurrent lockers are
able to take the lock in the cmpxchg() loop without queuing and pass it
around amongst themselves.

This patch fixes the problem by unconditionally setting _Q_PENDING_VAL
using atomic_fetch_or, and then inspecting the old value to see whether
we need to spin on the current lock owner, or whether we now effectively
hold the lock. The tricky scenario is when concurrent lockers end up
queuing on the lock and the lock becomes available, causing us to see
a lockword of (n,0,0). With pending now set, simply queuing could lead
to deadlock as the head of the queue may not have observed the pending
flag being cleared. Conversely, if the head of the queue did observe
pending being cleared, then it could transition the lock from (n,0,0) ->
(0,0,1) meaning that any attempt to "undo" our setting of the pending
bit could race with a concurrent locker trying to set it.

We handle this race by preserving the pending bit when taking the lock
after reaching the head of the queue and leaving the tail entry intact
if we saw pending set, because we know that the tail is going to be
updated shortly.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Waiman Long <longman@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: boqun.feng@gmail.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: paulmck@linux.vnet.ibm.com
Link: http://lkml.kernel.org/r/1524738868-31318-6-git-send-email-will.deacon@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2018-12-21 14:13:08 +01:00
Will Deacon
5261ad70e2 locking/qspinlock: Merge 'struct __qspinlock' into 'struct qspinlock'
commit 625e88be1f41b53cec55827c984e4a89ea8ee9f9 upstream.

'struct __qspinlock' provides a handy union of fields so that
subcomponents of the lockword can be accessed by name, without having to
manage shifts and masks explicitly and take endianness into account.

This is useful in qspinlock.h and also potentially in arch headers, so
move the 'struct __qspinlock' into 'struct qspinlock' and kill the extra
definition.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Waiman Long <longman@redhat.com>
Acked-by: Boqun Feng <boqun.feng@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: paulmck@linux.vnet.ibm.com
Link: http://lkml.kernel.org/r/1524738868-31318-3-git-send-email-will.deacon@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2018-12-21 14:13:08 +01:00
Will Deacon
3dab30f338 locking/qspinlock: Bound spinning on pending->locked transition in slowpath
commit 6512276d97b160d90b53285bd06f7f201459a7e3 upstream.

If a locker taking the qspinlock slowpath reads a lock value indicating
that only the pending bit is set, then it will spin whilst the
concurrent pending->locked transition takes effect.

Unfortunately, there is no guarantee that such a transition will ever be
observed since concurrent lockers could continuously set pending and
hand over the lock amongst themselves, leading to starvation. Whilst
this would probably resolve in practice, it means that it is not
possible to prove liveness properties about the lock and means that lock
acquisition time is unbounded.

Rather than removing the pending->locked spinning from the slowpath
altogether (which has been shown to heavily penalise a 2-threaded
locking stress test on x86), this patch replaces the explicit spinning
with a call to atomic_cond_read_relaxed and allows the architecture to
provide a bound on the number of spins. For architectures that can
respond to changes in cacheline state in their smp_cond_load implementation,
it should be sufficient to use the default bound of 1.

Suggested-by: Waiman Long <longman@redhat.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Waiman Long <longman@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: boqun.feng@gmail.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: paulmck@linux.vnet.ibm.com
Link: http://lkml.kernel.org/r/1524738868-31318-4-git-send-email-will.deacon@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2018-12-21 14:13:08 +01:00
Will Deacon
13f14c3632 locking/qspinlock: Ensure node is initialised before updating prev->next
commit 95bcade33a8af38755c9b0636e36a36ad3789fe6 upstream.

When a locker ends up queuing on the qspinlock locking slowpath, we
initialise the relevant mcs node and publish it indirectly by updating
the tail portion of the lock word using xchg_tail. If we find that there
was a pre-existing locker in the queue, we subsequently update their
->next field to point at our node so that we are notified when it's our
turn to take the lock.

This can be roughly illustrated as follows:

  /* Initialise the fields in node and encode a pointer to node in tail */
  tail = initialise_node(node);

  /*
   * Exchange tail into the lockword using an atomic read-modify-write
   * operation with release semantics
   */
  old = xchg_tail(lock, tail);

  /* If there was a pre-existing waiter ... */
  if (old & _Q_TAIL_MASK) {
	prev = decode_tail(old);
	smp_read_barrier_depends();

	/* ... then update their ->next field to point to node.
	WRITE_ONCE(prev->next, node);
  }

The conditional update of prev->next therefore relies on the address
dependency from the result of xchg_tail ensuring order against the
prior initialisation of node. However, since the release semantics of
the xchg_tail operation apply only to the write portion of the RmW,
then this ordering is not guaranteed and it is possible for the CPU
to return old before the writes to node have been published, consequently
allowing us to point prev->next to an uninitialised node.

This patch fixes the problem by making the update of prev->next a RELEASE
operation, which also removes the reliance on dependency ordering.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1518528177-19169-2-git-send-email-will.deacon@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2018-12-21 14:13:08 +01:00
Paul E. McKenney
a9febd662c locking: Remove smp_read_barrier_depends() from queued_spin_lock_slowpath()
commit 548095dea63ffc016d39c35b32c628d033638aca upstream.

Queued spinlocks are not used by DEC Alpha, and furthermore operations
such as READ_ONCE() and release/relaxed RMW atomics are being changed
to imply smp_read_barrier_depends().  This commit therefore removes the
now-redundant smp_read_barrier_depends() from queued_spin_lock_slowpath(),
and adjusts the comments accordingly.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@redhat.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2018-12-21 14:13:08 +01:00
Blagovest Kolenichev
ce2f7fefc5 Merge android-4.14-p.81 (b435b51) into msm-4.14
* refs/heads/tmp-b435b51:
  Linux 4.14.81
  MD: fix invalid stored role for a disk - try2
  bpf: wait for running BPF programs when updating map-in-map
  net: sched: Remove TCA_OPTIONS from policy
  Btrfs: fix fsync after hole punching when using no-holes feature
  Btrfs: fix use-after-free when dumping free space
  Btrfs: fix use-after-free during inode eviction
  btrfs: move the dio_sem higher up the callchain
  btrfs: don't run delayed_iputs in commit
  btrfs: only free reserved extent if we didn't insert it
  btrfs: don't use ctl->free_space for max_extent_size
  btrfs: set max_extent_size properly
  Btrfs: fix assertion on fsync of regular file when using no-holes feature
  Btrfs: fix null pointer dereference on compressed write path error
  btrfs: qgroup: Dirty all qgroups before rescan
  Btrfs: fix wrong dentries after fsync of file that got its parent replaced
  Btrfs: fix warning when replaying log after fsync of a tmpfile
  btrfs: make sure we create all new block groups
  btrfs: reset max_extent_size on clear in a bitmap
  btrfs: protect space cache inode alloc with GFP_NOFS
  btrfs: wait on caching when putting the bg cache
  btrfs: don't attempt to trim devices that don't support it
  btrfs: iterate all devices during trim, instead of fs_devices::alloc_list
  btrfs: Ensure btrfs_trim_fs can trim the whole filesystem
  btrfs: Enhance btrfs_trim_fs function to handle error better
  btrfs: fix error handling in free_log_tree
  btrfs: locking: Add extra check in btrfs_init_new_buffer() to avoid deadlock
  btrfs: Handle owner mismatch gracefully when walking up tree
  btrfs: qgroup: Avoid calling qgroup functions if qgroup is not enabled
  selftests/powerpc: Fix ptrace tm failure
  soc/tegra: pmc: Fix child-node lookup
  arm64: dts: stratix10: Correct System Manager register size
  ARM: dts: socfpga: Fix SDRAM node address for Arria10
  Cramfs: fix abad comparison when wrap-arounds occur
  rpmsg: smd: fix memory leak on channel create
  arm64: lse: remove -fcall-used-x0 flag
  media: media colorspaces*.rst: rename AdobeRGB to opRGB
  media: em28xx: make v4l2-compliance happier by starting sequence on zero
  media: em28xx: fix input name for Terratec AV 350
  media: tvp5150: avoid going past array on v4l2_querymenu()
  media: em28xx: use a default format if TRY_FMT fails
  xen-blkfront: fix kernel panic with negotiate_mq error path
  xen: fix xen_qlock_wait()
  kgdboc: Passing ekgdboc to command line causes panic
  media: v4l2-tpg: fix kernel oops when enabling HFLIP and OSD
  TC: Set DMA masks for devices
  iommu/arm-smmu: Ensure that page-table updates are visible before TLBI
  MIPS: OCTEON: fix out of bounds array access on CN68XX
  powerpc/msi: Fix compile error on mpc83xx
  dm zoned: fix various dmz_get_mblock() issues
  dm zoned: fix metadata block ref counting
  dm ioctl: harden copy_params()'s copy_from_user() from malicious users
  lockd: fix access beyond unterminated strings in prints
  nfsd: Fix an Oops in free_session()
  nfs: Fix a missed page unlock after pg_doio()
  NFSv4.1: Fix the r/wsize checking
  genirq: Fix race on spurious interrupt detection
  printk: Fix panic caused by passing log_buf_len to command line
  smb3: on kerberos mount if server doesn't specify auth type use krb5
  smb3: do not attempt cifs operation in smb3 query info error path
  smb3: allow stats which track session and share reconnects to be reset
  w1: omap-hdq: fix missing bus unregister at removal
  iio: adc: at91: fix wrong channel number in triggered buffer mode
  iio: adc: at91: fix acking DRDY irq on simple conversions
  iio: adc: imx25-gcq: Fix leak of device_node in mx25_gcq_setup_cfgs()
  iio: ad5064: Fix regulator handling
  kbuild: fix kernel/bounds.c 'W=1' warning
  KVM: arm64: Fix caching of host MDCR_EL2 value
  mm/rmap: map_pte() was not handling private ZONE_DEVICE page properly
  hugetlbfs: dirty pages as they are added to pagecache
  ima: fix showing large 'violations' or 'runtime_measurements_count'
  mm: /proc/pid/smaps_rollup: fix NULL pointer deref in smaps_pte_range()
  crypto: tcrypt - fix ghash-generic speed test
  crypto: lrw - Fix out-of bounds access on counter overflow
  signal: Guard against negative signal numbers in copy_siginfo_from_user32
  signal/GenWQE: Fix sending of SIGKILL
  PCI: vmd: White list for fast interrupt handlers
  PCI: Add Device IDs for Intel GPU "spurious interrupt" quirk
  PCI/ASPM: Fix link_state teardown on device removal
  ARM: dts: dra7: Fix up unaligned access setting for PCIe EP
  EDAC, skx_edac: Fix logical channel intermediate decoding
  EDAC, {i7core,sb,skx}_edac: Fix uncorrected error counting
  EDAC, amd64: Add Family 17h, models 10h-2fh support
  HID: hiddev: fix potential Spectre v1
  ext4: fix use-after-free race in ext4_remount()'s error path
  ext4: propagate error from dquot_initialize() in EXT4_IOC_FSSETXATTR
  ext4: fix setattr project check in fssetxattr ioctl
  ext4: initialize retries variable in ext4_da_write_inline_data_begin()
  gfs2_meta: ->mount() can get NULL dev_name
  jbd2: fix use after free in jbd2_log_do_checkpoint()
  IB/mlx5: Fix MR cache initialization
  ASoC: intel: skylake: Add missing break in skl_tplg_get_token()
  libnvdimm, region: Fail badblocks listing for inactive regions
  libnvdimm: Hold reference on parent while scheduling async init
  dmaengine: stm32-dma: fix incomplete configuration in cyclic mode
  dmaengine: ppc4xx: fix off-by-one build failure
  net/ipv4: defensive cipso option parsing
  iwlwifi: mvm: check return value of rs_rate_from_ucode_rate()
  usb: gadget: udc: renesas_usb3: Fix b-device mode for "workaround"
  usbip:vudc: BUG kmalloc-2048 (Not tainted): Poison overwritten
  libertas: don't set URB_ZERO_PACKET on IN USB transfer
  xen/pvh: don't try to unplug emulated devices
  xen/pvh: increase early stack size
  xen: make xen_qlock_wait() nestable
  xen: fix race in xen_qlock_wait()
  xen/balloon: Support xend-based toolstack
  xen/blkfront: avoid NULL blkfront_info dereference on device removal
  tpm: Restore functionality to xen vtpm driver.
  xen-swiotlb: use actually allocated size on check physical continuous
  ARM: dts: exynos: Mark 1 GHz CPU OPP as suspend OPP on Exynos5250
  ARM: dts: exynos: Convert exynos5250.dtsi to opp-v2 bindings
  arm: dts: exynos: Add missing cooling device properties for CPUs
  ARM: dts: exynos: Remove "cooling-{min|max}-level" for CPU nodes
  f2fs: fix to account IO correctly
  Revert "f2fs: fix to clear PG_checked flag in set_page_dirty()"
  cpupower: Fix AMD Family 0x17 msr_pstate size
  ALSA: hda: Check the non-cached stream buffers more explicitly
  IB/rxe: fix for duplicate request processing and ack psns
  dmaengine: dma-jz4780: Return error if not probed from DT
  mfd: menelaus: Fix possible race condition and leak
  signal: Always deliver the kernel's SIGKILL and SIGSTOP to a pid namespace init
  f2fs: report error if quota off error during umount
  scsi: lpfc: Correct race with abort on completion path
  scsi: lpfc: Correct soft lockup when running mds diagnostics
  uio: ensure class is registered before devices
  driver/dma/ioat: Call del_timer_sync() without holding prep_lock
  usb: chipidea: Prevent unbalanced IRQ disable
  crypto: caam - fix implicit casts in endianness helpers
  PCI: dwc: pci-dra7xx: Enable errata i870 for both EP and RC mode
  coresight: etb10: Fix handling of perf mode
  PCI/MSI: Warn and return error if driver enables MSI/MSI-X twice
  f2fs: fix to recover inode's i_flags during POR
  MD: fix invalid stored role for a disk
  ext4: fix argument checking in EXT4_IOC_MOVE_EXT
  usb: gadget: udc: atmel: handle at91sam9rl PMC
  PCI / ACPI: Enable wake automatically for power managed bridges
  VMCI: Resource wildcard match fixed
  Drivers: hv: vmbus: Use cpumask_var_t for on-stack cpu mask
  tpm: suppress transmit cmd error logs when TPM 1.2 is disabled/deactivated
  PCI: mediatek: Fix mtk_pcie_find_port() endpoint/port matching logic
  usb: host: ohci-at91: fix request of irq for optional gpio
  RDMA/bnxt_re: Fix recursive lock warning in debug kernel
  IB/ipoib: Clear IPCB before icmp_send
  RDMA/core: Do not expose unsupported counters
  scsi: megaraid_sas: fix a missing-check bug
  KVM: nVMX: Clear reserved bits of #DB exit qualification
  UAPI: ndctl: Fix g++-unsupported initialisation in headers
  scsi: esp_scsi: Track residual for PIO transfers
  cgroup, netclassid: add a preemption point to write_classid
  thermal: da9062/61: Prevent hardware access during system suspend
  ath10k: schedule hardware restart if WMI command times out
  ixgbevf: VF2VF TCP RSS
  iwlwifi: mvm: fix BAR seq ctrl reporting
  net: dsa: mv88e6xxx: Fix writing to a PHY page.
  pinctrl: ssbi-gpio: Fix pm8xxx_pin_config_get() to be compliant
  pinctrl: spmi-mpp: Fix pmic_mpp_config_get() to be compliant
  pinctrl: qcom: spmi-mpp: Fix drive strength setting
  ACPI / LPSS: Add alternative ACPI HIDs for Cherry Trail DMA controllers
  kprobes: Return error if we fail to reuse kprobe instead of BUG_ON()
  block, bfq: correctly charge and reset entity service in all cases
  net: phy: phylink: ensure the carrier is off when starting phylink
  brcmfmac: fix for proper support of 160MHz bandwidth
  pinctrl: qcom: spmi-mpp: Fix err handling of pmic_mpp_set_mux
  x86: boot: Fix EFI stub alignment
  Bluetooth: btbcm: Add entry for BCM4335C0 UART bluetooth
  signal: Introduce COMPAT_SIGMINSTKSZ for use in compat_sys_sigaltstack
  mtd: rawnand: atmel: Fix potential NULL pointer dereference
  cpufreq: dt: Try freeing static OPPs only if we have added them
  ACPI / processor: Fix the return value of acpi_processor_ids_walk()
  x86/olpc: Indicate that legacy PC XO-1 platform should not register RTC
  iwlwifi: mvm: clear HW_RESTART_REQUESTED when stopping the interface
  iwlwifi: pcie: avoid empty free RB queue
  mmc: sdhci-pci-o2micro: Add quirk for O2 Micro dev 0x8620 rev 0x01
  cpupower: Fix coredump on VMWare
  perf strbuf: Match va_{add,copy} with va_end
  perf tools: Cleanup trace-event-info 'tdata' leak
  perf tools: Free temporary 'sys' string in read_event_files()
  spi: spi-ep93xx: Use dma_data_direction for ep93xx_spi_dma_{finish,prepare}
  lightnvm: pblk: fix two sleep-in-atomic-context bugs
  hwmon: (pwm-fan) Set fan speed to 0 on suspend
  s390/sthyi: Fix machine name validity indication
  tun: Consistently configure generic netdev params via rtnetlink
  nfp: devlink port split support for 1x100G CXP NIC
  swim: fix cleanup on setup error
  ataflop: fix error handling during setup
  locking/lockdep: Fix debug_locks off performance problem
  i2c: rcar: cleanup DMA for all kinds of failure
  selftests: ftrace: Add synthetic event syntax testcase
  net: qla3xxx: Remove overflowing shift statement
  x86/fpu: Remove second definition of fpu in __fpu__restore_sig()
  perf cpu_map: Align cpu map synthesized events properly.
  perf tools: Fix use of alternatives to find JDIR
  sched/fair: Fix the min_vruntime update logic in dequeue_entity()
  sparc64: Make proc_id signed.
  sparc: Throttle perf events properly.
  sparc: Fix single-pcr perf event counter management.
  perf vendor events intel: Fix wrong filter_band* values for uncore events
  xfrm: policy: use hlist rcu variants on insert
  Revert "perf tools: Fix PMU term format max value calculation"
  bpf: do not blindly change rlimit in reuseport net selftest
  ARM: dts: exynos: Disable pull control for MAX8997 interrupts on Origen
  x86/speculation: Support Enhanced IBRS on future CPUs
  x86/mm/pat: Disable preemption around __flush_tlb_all()
  x86/corruption-check: Fix panic in memory_corruption_check() when boot option without value is provided
  x86/xen: Fix boot loader version reported for PVH guests
  x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation
  ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops
  ALSA: hda - Add mic quirk for the Lenovo G50-30 (17aa:3905)
  ALSA: hda/realtek - Fix the problem of the front MIC on the Lenovo M715
  ALSA: hda - Fix headphone pin config for ASUS G751
  ALSA: hda - Add quirk for ASUS G751 laptop
  parisc: Fix exported address of os_hpmc handler
  parisc: Fix map_pages() to not overwrite existing pte entries
  parisc: Fix address in HPMC IVA
  ipmi: Fix timer race with module unload
  pcmcia: Implement CLKRUN protocol disabling for Ricoh bridges
  cpufreq: conservative: Take limits changes into account properly
  jffs2: free jffs2_sb_info through jffs2_kill_sb()
  hwmon: (pmbus) Fix page count auto-detection.
  bcache: fix miss key refill->end in writeback
  bcache: trace missed reading by cache_missed
  spi: bcm-qspi: switch back to reading flash using smaller chunks
  mtd: spi-nor: fsl-quadspi: fix read error for flash size larger than 16MB

Conflicts:
	drivers/iommu/arm-smmu.c

Change-Id: I639fbf255e1ad1533d0018bfeb1a6b88109aa970
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2018-11-15 03:21:14 -08:00
Blagovest Kolenichev
07d9065fbe Merge android-4.14-p.79 (f9cf23e) into msm-4.14
* refs/heads/tmp-f9cf23e:
  Revert "net: qualcomm: rmnet: Skip processing loopback packets"
  Linux 4.14.79
  net/mlx5: Fix build break when CONFIG_SMP=n
  net/sched: cls_api: add missing validation of netlink attributes
  net: bcmgenet: Poll internal PHY for GENETv5
  net: ipmr: fix unresolved entry dumps
  rtnetlink: Disallow FDB configuration for non-Ethernet device
  net/mlx5e: fix csum adjustments caused by RXFCS
  net: fix pskb_trim_rcsum_slow() with odd trim offset
  net: drop skb on failure in ip_check_defrag()
  net: sched: Fix for duplicate class dump
  net/mlx5: Take only bit 24-26 of wqe.pftype_wq for page fault type
  openvswitch: Fix push/pop ethernet validation
  ip6_tunnel: Fix encapsulation layout
  bonding: fix length of actor system
  ethtool: fix a privilege escalation bug
  virtio_net: avoid using netif_tx_disable() for serializing tx routine
  vhost: Fix Spectre V1 vulnerability
  udp6: fix encap return code for resubmitting
  sctp: fix race on sctp_id2asoc
  r8169: fix NAPI handling under high load
  net: udp: fix handling of CHECKSUM_COMPLETE packets
  net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules
  net: socket: fix a missing-check bug
  net: sched: gred: pass the right attribute to gred_change_table_def()
  net/ipv6: Fix index counter for unicast addresses in in6_dump_addrs
  net: fec: don't dump RX FIFO register when not available
  llc: set SOCK_RCU_FREE in llc_sap_add_socket()
  ipv6/ndisc: Preserve IPv6 control buffer if protocol error handlers are called
  ipv6: mcast: fix a use-after-free in inet6_mc_check
  net: bridge: remove ipv6 zero address check in mcast queries
  bridge: do not add port to router list when receives query with source 0.0.0.0
  drm/i915/gvt: fix memory leak of a cmd_entry struct on error exit path
  perf tools: Disable parallelism for 'make clean'
  Revert "netfilter: ipv6: nf_defrag: drop skb dst before queueing"
  ALSA: usx2y: Fix invalid stream URBs
  media: uvcvideo: Fix driver reference counting
  ARM: dts: r8a7790: Correct critical CPU temperature
  kvm: x86: fix WARN due to uninitialized guest FPU state
  mtd: spi-nor: Add support for is25wp series chips
  sch_netem: restore skb->dev after dequeuing from the rbtree
  fs/fat/fatent.c: add cond_resched() to fat_count_free_clusters()
  selftests: rtnetlink.sh explicitly requires bash.
  net: ena: fix NULL dereference due to untimely napi initialization
  net: ena: fix warning in rmmod caused by double iounmap
  rxrpc: Fix connection-level abort handling
  rxrpc: Only take the rwind and mtu values from latest ACK
  rxrpc: Don't check RXRPC_CALL_TX_LAST after calling rxrpc_rotate_tx_window()
  perf python: Use -Wno-redundant-decls to build with PYTHON=python3
  ARM: dts: imx53-qsb: disable 1.2GHz OPP
  compiler.h: Allow arch-specific asm/compiler.h
  perf tests: Fix indexing when invoking subtests
  libertas: call into generic suspend code before turning off power
  kconfig: fix the rule of mainmenu_stmt symbol
  net: stmmac: mark PM functions as __maybe_unused
  x86/paravirt: Fix some warning messages
  net: phy: phylink: Don't release NULL GPIO
  btrfs: quota: Set rescan progress to (u64)-1 if we hit last leaf
  scsi: sd: Remember that READ CAPACITY(16) succeeded
  scsi: ibmvfc: Avoid unnecessary port relogin
  selftests/powerpc: Add ptrace hw breakpoint test
  iio: buffer: fix the function signature to match implementation
  enic: do not overwrite error code
  lan78xx: Don't reset the interface on open
  MIPS: Workaround GCC __builtin_unreachable reordering bug
  mmc: dw_mmc-rockchip: correct property names in debug
  IB/usnic: Update with bug fixes from core code
  xen-netfront: Fix mismatched rtnl_unlock
  xen-netfront: Update features after registering netdev
  tpm: tpm_crb: relinquish locality on error path.
  bpf: sockmap, map_release does not hold refcnt for pinned maps
  tpm: move the delay_msec increment after sleep in tpm_transmit()
  sparc64: Fix regression in pmdp_invalidate().
  KVM: x86: Update the exit_qualification access bits while walking an address
  test_bpf: Fix testing with CONFIG_BPF_JIT_ALWAYS_ON=y on other arches
  cifs: Use ULL suffix for 64-bit constant
  l2tp: remove configurable payload offset
  ARM: tegra: Fix ULPI regression on Tegra20
  IB/mlx5: Avoid passing an invalid QP type to firmware
  kbuild: set no-integrated-as before incl. arch Makefile
  scsi: qla2xxx: Avoid double completion of abort command
  net/mlx5e: Refine ets validation function
  net: phy: Add general dummy stubs for MMD register access
  net: phy: realtek: Use the dummy stubs for MMD register access for rtl8211b
  dm integrity: fail early if required HMAC key is not available
  powerpc/pseries: Add empty update_numa_cpu_lookup_table() for NUMA=n
  net/mlx5: Fix mlx5_get_vector_affinity function
  s390/qeth: fix error handling in adapter command callbacks
  IB/rxe: put the pool on allocation failure
  IB/ipoib: Fix lockdep issue found on ipoib_ib_dev_heavy_flush
  scsi: aacraid: address UBSAN warning regression
  usbip: vhci_hcd: update 'status' file header and format
  tools/testing/nvdimm: unit test clear-error commands
  iwlwifi: fix the ALIVE notification layout
  iwlwifi: dbg: allow wrt collection before ALIVE
  iwlwifi: mvm: check for short GI only for OFDM
  ocfs2: fix crash in ocfs2_duplicate_clusters_by_page()
  yam: fix a missing-check bug
  net: cxgb3_main: fix a missing-check bug
  be2net: don't flip hw_features when VXLANs are added/deleted
  locking/ww_mutex: Fix runtime warning in the WW mutex selftest
  net: qualcomm: rmnet: Skip processing loopback packets
  declance: Fix continuation with the adapter identification message
  net: fec: fix rare tx timeout
  perf/x86/amd/uncore: Set ThreadMask and SliceMask for L3 Cache perf events
  perf/x86/intel/uncore: Fix PCI BDF address of M3UPI on SKX
  perf/ring_buffer: Prevent concurent ring buffer access
  perf/core: Fix perf_pmu_unregister() locking
  cfg80211: fix use-after-free in reg_process_hint()
  smsc95xx: Check for Wake-on-LAN modes
  smsc75xx: Check for Wake-on-LAN modes
  r8152: Check for supported Wake-on-LAN Modes
  sr9800: Check for supported Wake-on-LAN modes
  lan78xx: Check for supported Wake-on-LAN modes
  ax88179_178a: Check for supported Wake-on-LAN modes
  asix: Check for supported Wake-on-LAN modes
  nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds
  qed: Avoid implicit enum conversion in qed_iwarp_parse_rx_pkt
  qed: Avoid constant logical operation warning in qed_vf_pf_acquire
  qed: Avoid implicit enum conversion in qed_roce_mode_to_flavor
  qed: Fix mask parameter in qed_vf_prep_tunn_req_tlv
  qed: Avoid implicit enum conversion in qed_set_tunn_cls_info
  pxa168fb: prepare the clock
  Bluetooth: SMP: fix crash in unpairing
  mac80211_hwsim: do not omit multicast announce of first added radio
  nl80211: Fix possible Spectre-v1 for NL80211_TXRATE_HT
  soc: fsl: qe: Fix copy/paste bug in ucc_get_tdm_sync_shift()
  soc: fsl: qbman: qman: avoid allocating from non existing gen_pool
  net: macb: Clean 64b dma addresses if they are not detected
  ARM: dts: BCM63xx: Fix incorrect interrupt specifiers
  arm64: hugetlb: Fix handling of young ptes
  netfilter: bridge: Don't sabotage nf_hook calls from an l3mdev
  xfrm: validate template mode
  ARM: 8799/1: mm: fix pci_ioremap_io() offset check
  xfrm: Fix NULL pointer dereference when skb_dst_force clears the dst_entry.
  mac80211: fix TX status reporting for ieee80211s
  mac80211: TDLS: fix skb queue/priority assignment
  cfg80211: Address some corner cases in scan result channel updating
  mac80211: fix pending queue hang due to TX_DROP
  cfg80211: reg: Init wiphy_idx in regulatory_hint_core()
  mac80211: Always report TX status
  xfrm: reset crypto_done when iterating over multiple input xfrms
  xfrm: reset transport header back to network header after all input transforms ahave been applied
  xfrm6: call kfree_skb when skb is toobig
  xfrm: Validate address prefix lengths in the xfrm selector.

Conflicts:
	arch/Kconfig

Change-Id: I93e1459c0e7511f2d30bd01fc3f5bf81f23a7bf6
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2018-11-13 15:44:33 -08:00
Waiman Long
5cf2ab06e8 locking/lockdep: Fix debug_locks off performance problem
[ Upstream commit 9506a7425b094d2f1d9c877ed5a78f416669269b ]

It was found that when debug_locks was turned off because of a problem
found by the lockdep code, the system performance could drop quite
significantly when the lock_stat code was also configured into the
kernel. For instance, parallel kernel build time on a 4-socket x86-64
server nearly doubled.

Further analysis into the cause of the slowdown traced back to the
frequent call to debug_locks_off() from the __lock_acquired() function
probably due to some inconsistent lockdep states with debug_locks
off. The debug_locks_off() function did an unconditional atomic xchg
to write a 0 value into debug_locks which had already been set to 0.
This led to severe cacheline contention in the cacheline that held
debug_locks.  As debug_locks is being referenced in quite a few different
places in the kernel, this greatly slow down the system performance.

To prevent that trashing of debug_locks cacheline, lock_acquired()
and lock_contended() now checks the state of debug_locks before
proceeding. The debug_locks_off() function is also modified to check
debug_locks before calling __debug_locks_off().

Signed-off-by: Waiman Long <longman@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will.deacon@arm.com>
Link: http://lkml.kernel.org/r/1539913518-15598-1-git-send-email-longman@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-11-13 11:14:51 -08:00
Guenter Roeck
45894023be locking/ww_mutex: Fix runtime warning in the WW mutex selftest
[ Upstream commit e4a02ed2aaf447fa849e3254bfdb3b9b01e1e520 ]

If CONFIG_WW_MUTEX_SELFTEST=y is enabled, booting an image
in an arm64 virtual machine results in the following
traceback if 8 CPUs are enabled:

  DEBUG_LOCKS_WARN_ON(__owner_task(owner) != current)
  WARNING: CPU: 2 PID: 537 at kernel/locking/mutex.c:1033 __mutex_unlock_slowpath+0x1a8/0x2e0
  ...
  Call trace:
   __mutex_unlock_slowpath()
   ww_mutex_unlock()
   test_cycle_work()
   process_one_work()
   worker_thread()
   kthread()
   ret_from_fork()

If requesting b_mutex fails with -EDEADLK, the error variable
is reassigned to the return value from calling ww_mutex_lock
on a_mutex again. If this call fails, a_mutex is not locked.
It is, however, unconditionally unlocked subsequently, causing
the reported warning. Fix the problem by using two error variables.

With this change, the selftest still fails as follows:

  cyclic deadlock not resolved, ret[7/8] = -35

However, the traceback is gone.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will.deacon@arm.com>
Fixes: d1b42b800e ("locking/ww_mutex: Add kselftests for resolving ww_mutex cyclic deadlocks")
Link: http://lkml.kernel.org/r/1538516929-9734-1-git-send-email-linux@roeck-us.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2018-11-04 14:52:41 +01:00
Blagovest Kolenichev
47b6f627f1 Merge android-4.14-p.68 (2c79578) into msm-4.14
* refs/heads/tmp-2c79578:
  Linux 4.14.68
  gcc-plugins: Use dynamic initializers
  gcc-plugins: Add include required by GCC release 8
  cdrom: Fix info leak/OOB read in cdrom_ioctl_drive_status
  watchdog: Mark watchdog touch functions as notrace
  power: generic-adc-battery: check for duplicate properties copied from iio channels
  power: generic-adc-battery: fix out-of-bounds write when copying channel properties
  PM / clk: signedness bug in of_pm_clk_add_clks()
  clk: rockchip: fix clk_i2sout parent selection bits on rk3399
  iscsi target: fix session creation failure handling
  scsi: core: Avoid that SCSI device removal through sysfs triggers a deadlock
  scsi: sysfs: Introduce sysfs_{un,}break_active_protection()
  scsi: mpt3sas: Fix _transport_smp_handler() error path
  tpm: Return the actual size when receiving an unsupported command
  MIPS: lib: Provide MIPS64r6 __multi3() for GCC < 7
  MIPS: Change definition of cpu_relax() for Loongson-3
  MIPS: Always use -march=<arch>, not -<arch> shortcuts
  MIPS: Correct the 64-bit DSP accumulator register size
  kprobes: Make list and blacklist root user read only
  kprobes/arm: Fix %p uses in error messages
  s390/pci: fix out of bounds access during irq setup
  s390/numa: move initial setup of node_to_cpumask_map
  s390/qdio: reset old sbal_state flags
  s390: fix br_r1_trampoline for machines without exrl
  s390/mm: fix addressing exception after suspend/resume
  x86/entry/64: Wipe KASAN stack shadow before rewind_stack_do_exit()
  hwmon: (nct6775) Fix potential Spectre v1
  x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+
  x86/spectre: Add missing family 6 check to microcode check
  x86/irqflags: Mark native_restore_fl extern inline
  x86/nmi: Fix NMI uaccess race against CR3 switching
  x86/vdso: Fix lsl operand order
  pinctrl: freescale: off by one in imx1_pinconf_group_dbg_show()
  ASoC: sirf: Fix potential NULL pointer dereference
  ASoC: zte: Fix incorrect PCM format bit usages
  ASoC: dpcm: don't merge format from invalid codec dai
  b43/leds: Ensure NUL-termination of LED name string
  b43legacy/leds: Ensure NUL-termination of LED name string
  udl-kms: avoid division
  udl-kms: fix crash due to uninitialized memory
  udl-kms: handle allocation failure
  udl-kms: change down_interruptible to down
  fuse: Add missed unlock_page() to fuse_readpages_fill()
  fuse: Fix oops at process_init_reply()
  fuse: umount should wait for all requests
  fuse: fix unlocked access to processing queue
  fuse: fix double request_end()
  fuse: fix initial parallel dirops
  fuse: Don't access pipe->buffers without pipe_lock()
  x86/kvm/vmx: Remove duplicate l1d flush definitions
  KVM: x86: SVM: Call x86_spec_ctrl_set_guest/host() with interrupts disabled
  x86/process: Re-export start_thread()
  x86/vdso: Fix vDSO build if a retpoline is emitted
  x86/speculation/l1tf: Suggest what to do on systems with too much RAM
  x86/speculation/l1tf: Fix off-by-one error when warning that system has too much RAM
  x86/speculation/l1tf: Fix overflow in l1tf_pfn_limit() on 32bit
  mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE
  mm: move tlb_table_flush to tlb_flush_mmu_free
  platform/x86: ideapad-laptop: Apply no_hw_rfkill to Y20-15IKBM, too
  nvme-pci: add a memory barrier to nvme_dbbuf_update_and_check_event
  ext4: reset error code in ext4_find_entry in fallback
  ext4: sysfs: print ext4_super_block fields as little-endian
  ext4: check for NUL characters in extended attribute's name
  stop_machine: Atomically queue and wake stopper threads
  stop_machine: Reflow cpu_stop_queue_two_works()
  s390/kvm: fix deadlock when killed by oom
  KVM: arm/arm64: Skip updating PTE entry if no change
  KVM: arm/arm64: Skip updating PMD entry if no change
  arm64: dts: rockchip: corrected uart1 clock-names for rk3328
  arm64: mm: check for upper PAGE_SHIFT bits in pfn_valid()
  kprobes/arm64: Fix %p uses in error messages
  printk/nmi: Prevent deadlock when accessing the main log buffer in NMI
  printk: Create helper function to queue deferred console handling
  printk: Split the code for storing a message into the log buffer
  iommu/arm-smmu: Error out only if not enough context interrupts
  Btrfs: fix btrfs_write_inode vs delayed iput deadlock
  btrfs: don't leak ret from do_chunk_alloc
  btrfs: use correct compare function of dirty_metadata_bytes
  smb3: fill in statfs fsid and correct namelen
  smb3: don't request leases in symlink creation and query
  smb3: Do not send SMB3 SET_INFO if nothing changed
  smb3: enumerating snapshots was leaving part of the data off end
  cifs: check kmalloc before use
  cifs: add missing debug entries for kconfig options
  mei: don't update offset in write
  mm/memory.c: check return value of ioremap_prot
  scsi: vmw_pvscsi: Return DID_RESET for status SAM_STAT_COMMAND_TERMINATED
  scsi: fcoe: clear FC_RP_STARTED flags when receiving a LOGO
  scsi: fcoe: drop frames in ELS LOGO error path
  scsi: fcoe: fix use-after-free in fcoe_ctlr_els_send
  gpiolib-acpi: make sure we trigger edge events at least once on boot
  memcg: remove memcg_cgroup::id from IDR on mem_cgroup_css_alloc() failure
  drivers: net: lmc: fix case value for target abort error
  Squashfs: Compute expected length from inode size rather than block length
  mm: delete historical BUG from zap_pmd_range()
  squashfs metadata 2: electric boogaloo
  enic: do not call enic_change_mtu in enic_probe
  sparc: use asm-generic version of msi.h
  sparc/time: Add missing __init to init_tick_ops()
  arc: fix type warnings in arc/mm/cache.c
  arc: fix build errors in arc/include/asm/delay.h
  arc: [plat-eznps] fix printk warning in arc/plat-eznps/mtm.c
  arc: [plat-eznps] fix data type errors in platform headers
  ARC: [plat-eznps] Add missing struct nps_host_reg_aux_dpc
  enic: handle mtu change for vf properly
  nfp: flower: fix port metadata conversion bug
  bpf: use GFP_ATOMIC instead of GFP_KERNEL in bpf_parse_prog()
  ARC: dma [non-IOC] setup SMP_CACHE_BYTES and cache_line_size
  Revert "MIPS: BCM47XX: Enable 74K Core ExternalSync for PCIe erratum"
  tools/power turbostat: Read extended processor family from CPUID
  zswap: re-check zswap_is_full() after do zswap_shrink()
  ipc/sem.c: prevent queue.status tearing in semop
  hinic: Link the logical network device to the pci device in sysfs
  selftests/ftrace: Add snapshot and tracing_on test case
  cachefiles: Wait rather than BUG'ing on "Unexpected object collision"
  cachefiles: Fix refcounting bug in backing-file read monitoring
  fscache: Allow cancelled operations to be enqueued
  x86/boot: Fix if_changed build flip/flop bug
  sched/rt: Restore rt_runtime after disabling RT_RUNTIME_SHARE
  i2c/mux, locking/core: Annotate the nested rt_mutex usage
  locking/rtmutex: Allow specifying a subclass for nested locking
  net: axienet: Fix double deregister of mdio
  qmi_wwan: fix interface number for DW5821e production firmware
  bnx2x: Fix invalid memory access in rss hash config path.
  media: staging: omap4iss: Include asm/cacheflush.h after generic includes
  perf/x86/amd/ibs: Don't access non-started event
  i2c: davinci: Avoid zero value of CLKH
  can: m_can: Move accessing of message ram to after clocks are enabled
  can: mpc5xxx_can: check of_iomap return before use
  net: prevent ISA drivers from building on PPC32
  atl1c: reserve min skb headroom
  qed: Correct Multicast API to reflect existence of 256 approximate buckets.
  qed: Fix possible race for the link state value.
  qed: Fix link flap issue due to mismatching EEE capabilities.
  net: caif: Add a missing rcu_read_unlock() in caif_flow_cb
  tools/power turbostat: fix -S on UP systems
  KVM: vmx: use local variable for current_vmptr when emulating VMPTRST
  netfilter: nf_tables: don't allow to rename to already-pending name
  netfilter: nf_tables: fix memory leaks on chain rename
  bpf, ppc64: fix unexpected r0=0 exit path inside bpf_xadd
  netfilter: nft_set_hash: add rcu_barrier() in the nft_rhash_destroy()
  usb: gadget: f_uac2: fix endianness of 'struct cntrl_*_lay3'
  tools: usb: ffs-test: Fix build on big endian systems
  usb/phy: fix PPC64 build errors in phy-fsl-usb.c
  usb: gadget: u_audio: protect stream runtime fields with stream spinlock
  usb: gadget: u_audio: remove cached period bytes value
  usb: gadget: u_audio: remove caching of stream buffer parameters
  usb: gadget: u_audio: update hw_ptr in iso_complete after data copied
  usb: gadget: u_audio: fix pcm/card naming in g_audio_setup()
  usb: gadget: f_uac2: fix error handling in afunc_bind (again)
  usb: gadget: r8a66597: Fix a possible sleep-in-atomic-context bugs in r8a66597_queue()
  usb: gadget: r8a66597: Fix two possible sleep-in-atomic-context bugs in init_controller()
  nbd: handle unexpected replies better
  nbd: don't requeue the same request twice.
  drm/imx: imx-ldb: check if channel is enabled before printing warning
  drm/imx: imx-ldb: disable LDB on driver bind
  scsi: libiscsi: fix possible NULL pointer dereference in case of TMF
  scsi: target: iscsi: cxgbit: fix max iso npdu calculation
  drm/bridge: adv7511: Reset registers on hotplug
  nl80211: Add a missing break in parse_station_flags
  ext4: clear mmp sequence number when remounting read-only
  mac80211: add stations tied to AP_VLANs during hw reconfig
  esp6: fix memleak on error path in esp6_input
  xfrm: free skb if nlsk pointer is NULL
  xfrm: fix missing dst_release() after policy blocking lbcast and multicast
  vti6: fix PMTU caching and reporting on xmit
  crypto: vmx - Use skcipher for ctr fallback

Conflicts:
	drivers/iommu/arm-smmu.c
	kernel/stop_machine.c

Change-Id: Ib4f6c537166c1f2b192ae8fbd39be534e692b042
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2018-10-05 14:59:09 -07:00