1458 Commits

Author SHA1 Message Date
Sami Tolvanen
89e8432b63 BACKPORT: kbuild: fix --gc-sections
Adds KEEP() to __ex_table, __param, and __bug_table.

Bug: 67506682
Change-Id: I44ce1a541ac61b18c9ef5eb4749122f39ca7c755
Reported-by: Channagoud Kadabi <ckadabi@quicinc.com>
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
(cherry picked from commit 3a3a0844ac38928ce19ed45b38532f8f16422470)
Signed-off-by: Dan Aloni <daloni@magicleap.com>
Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
2022-11-15 21:35:30 +01:00
Sami Tolvanen
2eda2fafc8 BACKPORT: FROMLIST: kbuild: fix LD_DEAD_CODE_DATA_ELIMINATION
Don't remove .head.text or .exitcall.exit when linking with --gc-sections,
and include .init.text.* in .init.text and .init.rodata.* in .init.rodata.

Bug: 62093296
Bug: 67506682
Change-Id: Ia0f9e735d04c2322dcc8bcfc94241f0551b149c4
(am from https://patchwork.kernel.org/patch/10085773/)
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
(cherry picked from commit 4d10cc8e3fd07f7ff77623a1551dad3ead787d26)
Signed-off-by: Dan Aloni <daloni@magicleap.com>
Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
2022-11-15 21:35:29 +01:00
Nicholas Piggin
7cea01354e BACKPORT: kbuild: allow archs to select link dead code/data elimination
Introduce LD_DEAD_CODE_DATA_ELIMINATION option for architectures to
select to build with -ffunction-sections, -fdata-sections, and link
with --gc-sections. It requires some work (documented) to ensure all
unreferenced entrypoints are live, and requires toolchain and build
verification, so it is made a per-arch option for now.

On a random powerpc64le build, this yelds a significant size saving,
it boots and runs fine, but there is a lot I haven't tested as yet, so
these savings may be reduced if there are bugs in the link.

    text      data        bss        dec   filename
11169741   1180744    1923176	14273661   vmlinux
10445269   1004127    1919707	13369103   vmlinux.dce

~700K text, ~170K data, 6% removed from kernel image size.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.com>

(cherry-pick from b67067f1176df6ee727450546b58704e4b588563)

Change-Id: I81b63489605bc2f146498d0bb0e1cc5b7adab8a0
Signed-off-by: Dan Aloni <daloni@magicleap.com>
Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
2022-11-15 21:35:29 +01:00
Michael Bestas
ec66dd5675 Merge remote-tracking branch 'common/android-4.4-p' into android-msm-wahoo-4.4
* common/android-4.4-p:
  Linux 4.4.296
  xen/netback: don't queue unlimited number of packages
  xen/console: harden hvc_xen against event channel storms
  xen/netfront: harden netfront against event channel storms
  xen/blkfront: harden blkfront against event channel storms
  Input: touchscreen - avoid bitwise vs logical OR warning
  ARM: 8805/2: remove unneeded naked function usage
  net: lan78xx: Avoid unnecessary self assignment
  net: systemport: Add global locking for descriptor lifecycle
  timekeeping: Really make sure wall_to_monotonic isn't positive
  USB: serial: option: add Telit FN990 compositions
  PCI/MSI: Clear PCI_MSIX_FLAGS_MASKALL on error
  USB: gadget: bRequestType is a bitfield, not a enum
  igbvf: fix double free in `igbvf_probe`
  soc/tegra: fuse: Fix bitwise vs. logical OR warning
  nfsd: fix use-after-free due to delegation race
  dm btree remove: fix use after free in rebalance_children()
  recordmcount.pl: look for jgnop instruction as well as bcrl on s390
  mac80211: send ADDBA requests using the tid/queue of the aggregation session
  hwmon: (dell-smm) Fix warning on /proc/i8k creation error
  net: netlink: af_netlink: Prevent empty skb by adding a check on len.
  i2c: rk3x: Handle a spurious start completion interrupt flag
  parisc/agp: Annotate parisc agp init functions with __init
  nfc: fix segfault in nfc_genl_dump_devices_done
  FROMGIT: USB: gadget: bRequestType is a bitfield, not a enum
  Linux 4.4.295
  irqchip: nvic: Fix offset for Interrupt Priority Offsets
  irqchip/irq-gic-v3-its.c: Force synchronisation when issuing INVALL
  iio: accel: kxcjk-1013: Fix possible memory leak in probe and remove
  iio: itg3200: Call iio_trigger_notify_done() on error
  iio: ltr501: Don't return error code in trigger handler
  iio: mma8452: Fix trigger reference couting
  iio: stk3310: Don't return error code in interrupt handler
  usb: core: config: fix validation of wMaxPacketValue entries
  USB: gadget: zero allocate endpoint 0 buffers
  USB: gadget: detect too-big endpoint 0 requests
  net/qla3xxx: fix an error code in ql_adapter_up()
  net, neigh: clear whole pneigh_entry at alloc time
  net: fec: only clear interrupt of handling queue in fec_enet_rx_queue()
  net: altera: set a couple error code in probe()
  net: cdc_ncm: Allow for dwNtbOutMaxSize to be unset or zero
  block: fix ioprio_get(IOPRIO_WHO_PGRP) vs setuid(2)
  tracefs: Set all files to the same group ownership as the mount option
  signalfd: use wake_up_pollfree()
  binder: use wake_up_pollfree()
  wait: add wake_up_pollfree()
  libata: add horkage for ASMedia 1092
  can: pch_can: pch_can_rx_normal: fix use after free
  tracefs: Have new files inherit the ownership of their parent
  ALSA: pcm: oss: Handle missing errors in snd_pcm_oss_change_params*()
  ALSA: pcm: oss: Limit the period size to 16MB
  ALSA: pcm: oss: Fix negative period/buffer sizes
  ALSA: ctl: Fix copy of updated id with element read/write
  mm: bdi: initialize bdi_min_ratio when bdi is unregistered
  nfc: fix potential NULL pointer deref in nfc_genl_dump_ses_done
  can: sja1000: fix use after free in ems_pcmcia_add_card()
  HID: check for valid USB device for many HID drivers
  HID: wacom: fix problems when device is not a valid USB device
  HID: add USB_HID dependancy on some USB HID drivers
  HID: add USB_HID dependancy to hid-chicony
  HID: add USB_HID dependancy to hid-prodikeys
  HID: add hid_is_usb() function to make it simpler for USB detection
  HID: introduce hid_is_using_ll_driver
  UPSTREAM: USB: gadget: zero allocate endpoint 0 buffers
  UPSTREAM: USB: gadget: detect too-big endpoint 0 requests
  Linux 4.4.294
  serial: pl011: Add ACPI SBSA UART match id
  tty: serial: msm_serial: Deactivate RX DMA for polling support
  vgacon: Propagate console boot parameters before calling `vc_resize'
  parisc: Fix "make install" on newer debian releases
  siphash: use _unaligned version by default
  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: add fget_many() and fput_many()
  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
  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
  scsi: iscsi: Unblock session then wake up error handler
  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
  hugetlb: take PMD sharing into account when flushing tlb/caches
  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
  shm: extend forced shm destroy to support objects from several IPC nses
  fuse: release pipe buf after last use
  fuse: fix page stealing
  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
  tracing: Check pid filtering when creating events
  tcp_cubic: fix spurious Hystart ACK train detections for not-cwnd-limited flows
  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
  ASoC: topology: Add missing rwsem around snd_ctl_remove() calls
  ARM: dts: BCM5301X: Add interrupt properties to GPIO node
  xen: detect uninitialized xenbus in xenbus_init
  xen: don't continue xenstore initialization in case of errors
  staging: rtl8192e: Fix use after free in _rtl92e_pci_disconnect()
  ALSA: ctxfi: Fix out-of-range access
  binder: fix test regression due to sender_euid change
  usb: hub: Fix locking issues with address0_mutex
  usb: hub: Fix usb enumeration issue due to address0 race
  USB: serial: option: add Fibocom FM101-GL variants
  USB: serial: option: add Telit LE910S1 0x9200 composition
  staging: ion: Prevent incorrect reference counting behavour

 Conflicts:
	fs/file_table.c

Change-Id: Ie66d41bc083d3d53fc89fba73b6e57bcc18e1c4a
2021-12-27 01:17:29 +02:00
Greg Kroah-Hartman
bedab629a0 Merge 4.4.294 into android-4.4-p
Changes in 4.4.294
	staging: ion: Prevent incorrect reference counting behavour
	USB: serial: option: add Telit LE910S1 0x9200 composition
	USB: serial: option: add Fibocom FM101-GL variants
	usb: hub: Fix usb enumeration issue due to address0 race
	usb: hub: Fix locking issues with address0_mutex
	binder: fix test regression due to sender_euid change
	ALSA: ctxfi: Fix out-of-range access
	staging: rtl8192e: Fix use after free in _rtl92e_pci_disconnect()
	xen: don't continue xenstore initialization in case of errors
	xen: detect uninitialized xenbus in xenbus_init
	ARM: dts: BCM5301X: Add interrupt properties to GPIO node
	ASoC: topology: Add missing rwsem around snd_ctl_remove() calls
	net: ieee802154: handle iftypes as u32
	NFSv42: Don't fail clone() unless the OP_CLONE operation failed
	ARM: socfpga: Fix crash with CONFIG_FORTIRY_SOURCE
	scsi: mpt3sas: Fix kernel panic during drive powercycle test
	tcp_cubic: fix spurious Hystart ACK train detections for not-cwnd-limited flows
	tracing: Check pid filtering when creating events
	hugetlbfs: flush TLBs correctly after huge_pmd_unshare
	proc/vmcore: fix clearing user buffer by properly using clear_user()
	NFC: add NCI_UNREG flag to eliminate the race
	fuse: fix page stealing
	fuse: release pipe buf after last use
	shm: extend forced shm destroy to support objects from several IPC nses
	xen: sync include/xen/interface/io/ring.h with Xen's newest version
	xen/blkfront: read response from backend only once
	xen/blkfront: don't take local copy of a request from the ring page
	xen/blkfront: don't trust the backend response data blindly
	xen/netfront: read response from backend only once
	xen/netfront: don't read data from request on the ring page
	xen/netfront: disentangle tx_skb_freelist
	xen/netfront: don't trust the backend response data blindly
	tty: hvc: replace BUG_ON() with negative return value
	hugetlb: take PMD sharing into account when flushing tlb/caches
	net: return correct error code
	platform/x86: thinkpad_acpi: Fix WWAN device disabled issue after S3 deep
	s390/setup: avoid using memblock_enforce_memory_limit
	scsi: iscsi: Unblock session then wake up error handler
	net: tulip: de4x5: fix the problem that the array 'lp->phy[8]' may be out of bound
	net: ethernet: dec: tulip: de4x5: fix possible array overflows in type3_infoblock()
	kprobes: Limit max data_size of the kretprobe instances
	sata_fsl: fix UAF in sata_fsl_port_stop when rmmod sata_fsl
	sata_fsl: fix warning in remove_proc_entry when rmmod sata_fsl
	fs: add fget_many() and fput_many()
	fget: check that the fd still exists after getting a ref to it
	natsemi: xtensa: fix section mismatch warnings
	net: qlogic: qlcnic: Fix a NULL pointer dereference in qlcnic_83xx_add_rings()
	siphash: use _unaligned version by default
	parisc: Fix "make install" on newer debian releases
	vgacon: Propagate console boot parameters before calling `vc_resize'
	tty: serial: msm_serial: Deactivate RX DMA for polling support
	serial: pl011: Add ACPI SBSA UART match id
	Linux 4.4.294

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Id3cafc33da957a0501bcf61d000025167d552797
2021-12-08 09:00:24 +01:00
Nadav Amit
8a8ae093b5 hugetlbfs: flush TLBs correctly after huge_pmd_unshare
commit a4a118f2eead1d6c49e00765de89878288d4b890 upstream.

When __unmap_hugepage_range() calls to huge_pmd_unshare() succeed, a TLB
flush is missing.  This TLB flush must be performed before releasing the
i_mmap_rwsem, in order to prevent an unshared PMDs page from being
released and reused before the TLB flush took place.

Arguably, a comprehensive solution would use mmu_gather interface to
batch the TLB flushes and the PMDs page release, however it is not an
easy solution: (1) try_to_unmap_one() and try_to_migrate_one() also call
huge_pmd_unshare() and they cannot use the mmu_gather interface; and (2)
deferring the release of the page reference for the PMDs page until
after i_mmap_rwsem is dropeed can confuse huge_pmd_unshare() into
thinking PMDs are shared when they are not.

Fix __unmap_hugepage_range() by adding the missing TLB flush, and
forcing a flush when unshare is successful.

Fixes: 24669e5847 ("hugetlb: use mmu_gather instead of a temporary linked list for accumulating pages)" # 3.6
Signed-off-by: Nadav Amit <namit@vmware.com>
Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-12-08 08:44:06 +01:00
Michael Bestas
73e700e188 Merge remote-tracking branch 'common/android-4.4-p' into android-msm-wahoo-4.4
# By Thomas Gleixner (11) and others
# Via Greg Kroah-Hartman (4) and Sasha Levin (1)
* google/common/android-4.4-p:
  Linux 4.4.282
  mmc: dw_mmc: Fix occasional hang after tuning on eMMC
  ASoC: intel: atom: Fix breakage for PCM buffer address setup
  ipack: tpci200: fix many double free issues in tpci200_pci_probe
  ALSA: hda - fix the 'Capture Switch' value change notifications
  mmc: dw_mmc: Fix hang on data CRC error
  mmc: dw_mmc: call the dw_mci_prep_stop_abort() by default
  mmc: dw_mmc: Wait for data transfer after response errors.
  net: qlcnic: add missed unlock in qlcnic_83xx_flash_read32
  net: 6pack: fix slab-out-of-bounds in decode_data
  dccp: add do-while-0 stubs for dccp_pr_debug macros
  Bluetooth: hidp: use correct wait queue when removing ctrl_wait
  scsi: core: Avoid printing an error if target_alloc() returns -ENXIO
  scsi: megaraid_mm: Fix end of loop tests for list_for_each_entry()
  dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not yet available
  ARM: dts: am43x-epos-evm: Reduce i2c0 bus speed for tps65218
  dmaengine: usb-dmac: Fix PM reference leak in usb_dmac_probe()
  KVM: nSVM: avoid picking up unsupported bits from L2 in int_ctl (CVE-2021-3653)
  vmlinux.lds.h: Handle clang's module.{c,d}tor sections
  PCI/MSI: Enforce MSI[X] entry updates to be visible
  PCI/MSI: Enforce that MSI-X table entry is masked for update
  PCI/MSI: Mask all unused MSI-X entries
  PCI/MSI: Protect msi_desc::masked for multi-MSI
  PCI/MSI: Use msi_mask_irq() in pci_msi_shutdown()
  PCI/MSI: Correct misleading comments
  PCI/MSI: Do not set invalid bits in MSI mask
  PCI/MSI: Enable and mask MSI-X early
  x86/tools: Fix objdump version check again
  xen/events: Fix race in set_evtchn_to_irq
  net: Fix memory leak in ieee802154_raw_deliver
  i2c: dev: zero out array used for i2c reads from userspace
  ASoC: intel: atom: Fix reference to PCM buffer address
  ANDROID: xt_quota2: set usersize in xt_match registration object
  ANDROID: xt_quota2: clear quota2_log message before sending
  ANDROID: xt_quota2: remove trailing junk which might have a digit in it
  UPSTREAM: netfilter: x_tables: fix pointer leaks to userspace
  Linux 4.4.281
  ovl: prevent private clone if bind mount is not allowed
  net: xilinx_emaclite: Do not print real IOMEM pointer
  USB:ehci:fix Kunpeng920 ehci hardware problem
  pipe: increase minimum default pipe size to 2 pages
  net/qla3xxx: fix schedule while atomic in ql_wait_for_drvr_lock and ql_adapter_reset
  alpha: Send stop IPI to send to online CPUs
  reiserfs: check directory items on read from disk
  reiserfs: add check for root_inode in reiserfs_fill_super
  pcmcia: i82092: fix a null pointer dereference bug
  MIPS: Malta: Do not byte-swap accesses to the CBUS UART
  serial: 8250: Mask out floating 16/32-bit bus bits
  media: rtl28xxu: fix zero-length control request
  scripts/tracing: fix the bug that can't parse raw_trace_func
  USB: serial: ftdi_sio: add device ID for Auto-M3 OP-COM v2
  USB: serial: ch341: fix character loss at high transfer rates
  USB: serial: option: add Telit FD980 composition 0x1056
  Bluetooth: defer cleanup of resources in hci_unregister_dev()
  net: vxge: fix use-after-free in vxge_device_unregister
  net: pegasus: fix uninit-value in get_interrupt_interval
  bnx2x: fix an error code in bnx2x_nic_load()
  mips: Fix non-POSIX regexp
  net: natsemi: Fix missing pci_disable_device() in probe and remove
  media: videobuf2-core: dequeue if start_streaming fails
  scsi: sr: Return correct event when media event code is 3
  ALSA: seq: Fix racy deletion of subscriber
  Linux 4.4.280
  rcu: Update documentation of rcu_read_unlock()
  futex,rt_mutex: Fix rt_mutex_cleanup_proxy_lock()
  futex: Avoid freeing an active timer
  futex: Handle transient "ownerless" rtmutex state correctly
  rtmutex: Make wait_lock irq safe
  futex: Futex_unlock_pi() determinism
  futex: Rework futex_lock_pi() to use rt_mutex_*_proxy_lock()
  futex: Pull rt_mutex_futex_unlock() out from under hb->lock
  futex,rt_mutex: Introduce rt_mutex_init_waiter()
  futex: Cleanup refcounting
  futex: Rename free_pi_state() to put_pi_state()
  Linux 4.4.279
  can: raw: raw_setsockopt(): fix raw_rcv panic for sock UAF
  Revert "Bluetooth: Shutdown controller after workqueues are flushed or cancelled"
  net: Fix zero-copy head len calculation.
  r8152: Fix potential PM refcount imbalance
  regulator: rt5033: Fix n_voltages settings for BUCK and LDO
  btrfs: mark compressed range uptodate only if all bio succeed

 Conflicts:
	net/bluetooth/hci_core.c
	net/netfilter/xt_quota2.c

Change-Id: Ie0b282f0d39df01e607217af7c0a91252e4fdccd
2021-09-02 00:24:42 +03:00
Greg Kroah-Hartman
d1ac4a20df Merge 4.4.282 into android-4.4-p
Changes in 4.4.282
	ASoC: intel: atom: Fix reference to PCM buffer address
	i2c: dev: zero out array used for i2c reads from userspace
	net: Fix memory leak in ieee802154_raw_deliver
	xen/events: Fix race in set_evtchn_to_irq
	x86/tools: Fix objdump version check again
	PCI/MSI: Enable and mask MSI-X early
	PCI/MSI: Do not set invalid bits in MSI mask
	PCI/MSI: Correct misleading comments
	PCI/MSI: Use msi_mask_irq() in pci_msi_shutdown()
	PCI/MSI: Protect msi_desc::masked for multi-MSI
	PCI/MSI: Mask all unused MSI-X entries
	PCI/MSI: Enforce that MSI-X table entry is masked for update
	PCI/MSI: Enforce MSI[X] entry updates to be visible
	vmlinux.lds.h: Handle clang's module.{c,d}tor sections
	KVM: nSVM: avoid picking up unsupported bits from L2 in int_ctl (CVE-2021-3653)
	dmaengine: usb-dmac: Fix PM reference leak in usb_dmac_probe()
	ARM: dts: am43x-epos-evm: Reduce i2c0 bus speed for tps65218
	dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not yet available
	scsi: megaraid_mm: Fix end of loop tests for list_for_each_entry()
	scsi: core: Avoid printing an error if target_alloc() returns -ENXIO
	Bluetooth: hidp: use correct wait queue when removing ctrl_wait
	dccp: add do-while-0 stubs for dccp_pr_debug macros
	net: 6pack: fix slab-out-of-bounds in decode_data
	net: qlcnic: add missed unlock in qlcnic_83xx_flash_read32
	mmc: dw_mmc: Wait for data transfer after response errors.
	mmc: dw_mmc: call the dw_mci_prep_stop_abort() by default
	mmc: dw_mmc: Fix hang on data CRC error
	ALSA: hda - fix the 'Capture Switch' value change notifications
	ipack: tpci200: fix many double free issues in tpci200_pci_probe
	ASoC: intel: atom: Fix breakage for PCM buffer address setup
	mmc: dw_mmc: Fix occasional hang after tuning on eMMC
	Linux 4.4.282

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ifed03ee647494ce96ad9673a133a9b77649b5c12
2021-08-27 14:34:16 +02:00
Nathan Chancellor
f1c2379db9 vmlinux.lds.h: Handle clang's module.{c,d}tor sections
commit 848378812e40152abe9b9baf58ce2004f76fb988 upstream.

A recent change in LLVM causes module_{c,d}tor sections to appear when
CONFIG_K{A,C}SAN are enabled, which results in orphan section warnings
because these are not handled anywhere:

ld.lld: warning: arch/x86/pci/built-in.a(legacy.o):(.text.asan.module_ctor) is being placed in '.text.asan.module_ctor'
ld.lld: warning: arch/x86/pci/built-in.a(legacy.o):(.text.asan.module_dtor) is being placed in '.text.asan.module_dtor'
ld.lld: warning: arch/x86/pci/built-in.a(legacy.o):(.text.tsan.module_ctor) is being placed in '.text.tsan.module_ctor'

Fangrui explains: "the function asan.module_ctor has the SHF_GNU_RETAIN
flag, so it is in a separate section even with -fno-function-sections
(default)".

Place them in the TEXT_TEXT section so that these technologies continue
to work with the newer compiler versions. All of the KASAN and KCSAN
KUnit tests continue to pass after this change.

Cc: stable@vger.kernel.org
Link: https://github.com/ClangBuiltLinux/linux/issues/1432
Link: 7b78956224
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Fangrui Song <maskray@google.com>
Acked-by: Marco Elver <elver@google.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20210731023107.1932981-1-nathan@kernel.org
[nc: Fix conflicts due to lack of cf68fffb66d60 and 266ff2a8f51f0]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-26 08:37:48 -04:00
Michael Bestas
43f0fa2b4c Merge tag 'v4.4.252' into android-msm-wahoo-4.4
This is the 4.4.252 stable release

# gpg: Signature made Sun Jan 17 14:57:14 2021 EET
# gpg:                using RSA key 647F28654894E3BD457199BE38DBBDC86092693E
# gpg: Good signature from "Greg Kroah-Hartman <gregkh@kernel.org>" [full]
# gpg: gregkh@kernel.org: Verified 3 signatures in the past 75 minutes.  Encrypted
#      0 messages.

# By David Disseldorp (5) and others
# Via Greg Kroah-Hartman
* tag 'v4.4.252':
  Linux 4.4.252
  net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed packet
  block: fix use-after-free in disk_part_iter_next
  iommu/intel: Fix memleak in intel_irq_remapping_alloc
  block: rsxx: select CONFIG_CRC32
  wil6210: select CONFIG_CRC32
  cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get()
  spi: pxa2xx: Fix use-after-free on unbind
  ubifs: wbuf: Don't leak kernel memory to flash
  vmlinux.lds.h: Add PGO and AutoFDO input sections
  net: fix pmtu check in nopmtudisc mode
  net: ip: always refragment ip defragmented packets
  powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at
  scsi: target: Fix XCOPY NAA identifier lookup
  xcopy: loop over devices using idr helper
  target: use XCOPY segment descriptor CSCD IDs
  target: simplify XCOPY wwn->se_dev lookup helper
  target: bounds check XCOPY segment descriptor list
  target: add XCOPY target/segment desc sense codes

Change-Id: I0302ba7b16ea9a7aac9e780fcec18dbe6e2e8f49
2021-07-24 18:05:16 +03:00
Greg Kroah-Hartman
cf3e310ff8 Merge 4.4.252 into android-4.4-p
Changes in 4.4.252
	target: add XCOPY target/segment desc sense codes
	target: bounds check XCOPY segment descriptor list
	target: simplify XCOPY wwn->se_dev lookup helper
	target: use XCOPY segment descriptor CSCD IDs
	xcopy: loop over devices using idr helper
	scsi: target: Fix XCOPY NAA identifier lookup
	powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at
	net: ip: always refragment ip defragmented packets
	net: fix pmtu check in nopmtudisc mode
	vmlinux.lds.h: Add PGO and AutoFDO input sections
	ubifs: wbuf: Don't leak kernel memory to flash
	spi: pxa2xx: Fix use-after-free on unbind
	cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get()
	wil6210: select CONFIG_CRC32
	block: rsxx: select CONFIG_CRC32
	iommu/intel: Fix memleak in intel_irq_remapping_alloc
	block: fix use-after-free in disk_part_iter_next
	net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed packet
	Linux 4.4.252

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I52de3890001cf1dd465a82774f65934443485761
2021-01-17 14:24:13 +01:00
Nick Desaulniers
b60abd189e vmlinux.lds.h: Add PGO and AutoFDO input sections
commit eff8728fe69880d3f7983bec3fb6cea4c306261f upstream.

Basically, consider .text.{hot|unlikely|unknown}.* part of .text, too.

When compiling with profiling information (collected via PGO
instrumentations or AutoFDO sampling), Clang will separate code into
.text.hot, .text.unlikely, or .text.unknown sections based on profiling
information. After D79600 (clang-11), these sections will have a
trailing `.` suffix, ie.  .text.hot., .text.unlikely., .text.unknown..

When using -ffunction-sections together with profiling infomation,
either explicitly (FGKASLR) or implicitly (LTO), code may be placed in
sections following the convention:
.text.hot.<foo>, .text.unlikely.<bar>, .text.unknown.<baz>
where <foo>, <bar>, and <baz> are functions.  (This produces one section
per function; we generally try to merge these all back via linker script
so that we don't have 50k sections).

For the above cases, we need to teach our linker scripts that such
sections might exist and that we'd explicitly like them grouped
together, otherwise we can wind up with code outside of the
_stext/_etext boundaries that might not be mapped properly for some
architectures, resulting in boot failures.

If the linker script is not told about possible input sections, then
where the section is placed as output is a heuristic-laiden mess that's
non-portable between linkers (ie. BFD and LLD), and has resulted in many
hard to debug bugs.  Kees Cook is working on cleaning this up by adding
--orphan-handling=warn linker flag used in ARCH=powerpc to additional
architectures. In the case of linker scripts, borrowing from the Zen of
Python: explicit is better than implicit.

Also, ld.bfd's internal linker script considers .text.hot AND
.text.hot.* to be part of .text, as well as .text.unlikely and
.text.unlikely.*. I didn't see support for .text.unknown.*, and didn't
see Clang producing such code in our kernel builds, but I see code in
LLVM that can produce such section names if profiling information is
missing. That may point to a larger issue with generating or collecting
profiles, but I would much rather be safe and explicit than have to
debug yet another issue related to orphan section placement.

Reported-by: Jian Cai <jiancai@google.com>
Suggested-by: Fāng-ruì Sòng <maskray@google.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Luis Lozano <llozano@google.com>
Tested-by: Manoj Gupta <manojgupta@google.com>
Acked-by: Kees Cook <keescook@chromium.org>
Cc: linux-arch@vger.kernel.org
Cc: stable@vger.kernel.org
Link: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=add44f8d5c5c05e08b11e033127a744d61c26aee
Link: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=1de778ed23ce7492c523d5850c6c6dbb34152655
Link: https://reviews.llvm.org/D79600
Link: https://bugs.chromium.org/p/chromium/issues/detail?id=1084760
Link: https://lore.kernel.org/r/20200821194310.3089815-7-keescook@chromium.org

Debugged-by: Luis Lozano <llozano@google.com>
[nc: Fix conflicts around lack of TEXT_MAIN, NOINSTR_TEXT, and
     .text..refcount]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-17 13:55:13 +01:00
Greg Kroah-Hartman
60fca75727 Merge 4.4.226 into android-4.4-p
Changes in 4.4.226
	ax25: fix setsockopt(SO_BINDTODEVICE)
	net: revert "net: get rid of an signed integer overflow in ip_idents_reserve()"
	sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and socket is closed
	net/mlx5: Add command entry handling completion
	net: sun: fix missing release regions in cas_init_one().
	net/mlx4_core: fix a memory leak bug.
	uapi: fix linux/if_pppol2tp.h userspace compilation errors
	IB/cma: Fix reference count leak when no ipv4 addresses are set
	cachefiles: Fix race between read_waiter and read_copier involving op->to_do
	usb: gadget: legacy: fix redundant initialization warnings
	cifs: Fix null pointer check in cifs_read
	Input: usbtouchscreen - add support for BonXeon TP
	Input: evdev - call input_flush_device() on release(), not flush()
	Input: xpad - add custom init packet for Xbox One S controllers
	Input: i8042 - add ThinkPad S230u to i8042 reset list
	IB/qib: Call kobject_put() when kobject_init_and_add() fails
	ALSA: hwdep: fix a left shifting 1 by 31 UB bug
	ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC
	exec: Always set cap_ambient in cap_bprm_set_creds
	fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info()
	include/asm-generic/topology.h: guard cpumask_of_node() macro argument
	iommu: Fix reference count leak in iommu_group_alloc.
	parisc: Fix kernel panic in mem_init()
	x86/dma: Fix max PFN arithmetic overflow on 32 bit systems
	xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input
	xfrm: fix a warning in xfrm_policy_insert_list
	xfrm: fix a NULL-ptr deref in xfrm_local_error
	vti4: eliminated some duplicate code.
	ip_vti: receive ipip packet by calling ip_tunnel_rcv
	netfilter: nft_reject_bridge: enable reject with bridge vlan
	netfilter: ipset: Fix subcounter update skip
	netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code
	qlcnic: fix missing release in qlcnic_83xx_interrupt_test.
	bonding: Fix reference count leak in bond_sysfs_slave_add.
	netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build
	mm: remove VM_BUG_ON(PageSlab()) from page_mapcount()
	drm/fb-helper: Use proper plane mask for fb cleanup
	genirq/generic_pending: Do not lose pending affinity update
	usb: renesas_usbhs: gadget: fix spin_lock_init() for &uep->lock
	mac80211: fix memory leak
	net: rtnl_configure_link: fix dev flags changes arg to __dev_notify_flags
	mm/vmalloc.c: don't dereference possible NULL pointer in __vunmap()
	asm-prototypes: Clear any CPP defines before declaring the functions
	sc16is7xx: move label 'err_spi' to correct section
	drm/msm: Fix possible null dereference on failure of get_pages()
	printk: help pr_debug and pr_devel to optimize out arguments
	scsi: zfcp: fix request object use-after-free in send path causing wrong traces
	Linux 4.4.226

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ia5473e84bcdec9d8a045a80a1c683fc1072f8c4f
2020-06-03 09:38:51 +02:00
Nathan Chancellor
c300b8611f Merge 4.4.226 into android-msm-wahoo-4.4
Changes in 4.4.226: (48 commits)
        ax25: fix setsockopt(SO_BINDTODEVICE)
        net: revert "net: get rid of an signed integer overflow in ip_idents_reserve()"
        sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and socket is closed
        net/mlx5: Add command entry handling completion
        net: sun: fix missing release regions in cas_init_one().
        net/mlx4_core: fix a memory leak bug.
        uapi: fix linux/if_pppol2tp.h userspace compilation errors
        IB/cma: Fix reference count leak when no ipv4 addresses are set
        cachefiles: Fix race between read_waiter and read_copier involving op->to_do
        usb: gadget: legacy: fix redundant initialization warnings
        cifs: Fix null pointer check in cifs_read
        Input: usbtouchscreen - add support for BonXeon TP
        Input: evdev - call input_flush_device() on release(), not flush()
        Input: xpad - add custom init packet for Xbox One S controllers
        Input: i8042 - add ThinkPad S230u to i8042 reset list
        IB/qib: Call kobject_put() when kobject_init_and_add() fails
        ALSA: hwdep: fix a left shifting 1 by 31 UB bug
        ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC
        exec: Always set cap_ambient in cap_bprm_set_creds
        fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info()
        include/asm-generic/topology.h: guard cpumask_of_node() macro argument
        iommu: Fix reference count leak in iommu_group_alloc.
        parisc: Fix kernel panic in mem_init()
        x86/dma: Fix max PFN arithmetic overflow on 32 bit systems
        xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input
        xfrm: fix a warning in xfrm_policy_insert_list
        xfrm: fix a NULL-ptr deref in xfrm_local_error
        vti4: eliminated some duplicate code.
        ip_vti: receive ipip packet by calling ip_tunnel_rcv
        netfilter: nft_reject_bridge: enable reject with bridge vlan
        netfilter: ipset: Fix subcounter update skip
        netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code
        qlcnic: fix missing release in qlcnic_83xx_interrupt_test.
        bonding: Fix reference count leak in bond_sysfs_slave_add.
        netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build
        mm: remove VM_BUG_ON(PageSlab()) from page_mapcount()
        drm/fb-helper: Use proper plane mask for fb cleanup
        genirq/generic_pending: Do not lose pending affinity update
        usb: renesas_usbhs: gadget: fix spin_lock_init() for &uep->lock
        mac80211: fix memory leak
        net: rtnl_configure_link: fix dev flags changes arg to __dev_notify_flags
        mm/vmalloc.c: don't dereference possible NULL pointer in __vunmap()
        asm-prototypes: Clear any CPP defines before declaring the functions
        sc16is7xx: move label 'err_spi' to correct section
        drm/msm: Fix possible null dereference on failure of get_pages()
        printk: help pr_debug and pr_devel to optimize out arguments
        scsi: zfcp: fix request object use-after-free in send path causing wrong traces
        Linux 4.4.226

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	drivers/gpu/drm/msm/msm_gem.c
2020-06-03 00:07:58 -07:00
Michal Marek
c7f701f9c4 asm-prototypes: Clear any CPP defines before declaring the functions
commit c7858bf16c0b2cc62f475f31e6df28c3a68da1d6 upstream.

The asm-prototypes.h file is used to provide dummy function declarations
for genksyms, when processing asm files with EXPORT_SYMBOL. Make sure
that any architecture defines get out of our way. x86 currently has an
issue with memcpy on 64bit with CONFIG_KMEMCHECK=y and with
memset/__memset on 32bit:

	$ cat init/test.c
	#include <asm/asm-prototypes.h>
	$ make -s init/test.o
	In file included from ./arch/x86/include/asm/string.h:4:0,
			 from ./include/linux/string.h:18,
			 from ./include/linux/bitmap.h:8,
			 from ./include/linux/cpumask.h:11,
			 from ./arch/x86/include/asm/cpumask.h:4,
			 from ./arch/x86/include/asm/msr.h:10,
			 from ./arch/x86/include/asm/processor.h:20,
			 from ./arch/x86/include/asm/cpufeature.h:4,
			 from ./arch/x86/include/asm/thread_info.h:52,
			 from ./include/linux/thread_info.h:25,
			 from ./arch/x86/include/asm/preempt.h:6,
			 from ./include/linux/preempt.h:59,
			 from ./include/linux/spinlock.h:50,
			 from ./include/linux/seqlock.h:35,
			 from ./include/linux/time.h:5,
			 from ./include/uapi/linux/timex.h:56,
			 from ./include/linux/timex.h:56,
			 from ./include/linux/sched.h:19,
			 from ./include/linux/uaccess.h:4,
			 from ./arch/x86/include/asm/asm-prototypes.h:2,
			 from init/test.c:1:
	./arch/x86/include/asm/string_64.h:52:47: error: expected declaration specifiers or ‘...’ before ‘(’ token
	 #define memcpy(dst, src, len) __inline_memcpy((dst), (src), (len))
	 ./include/asm-generic/asm-prototypes.h:6:14: note: in expansion of macro ‘memcpy’
	  extern void *memcpy(void *, const void *, __kernel_size_t);

						       ^
	...

During real build, this manifests itself by genksyms segfaulting.

Fixes: 334bb7738764 ("x86/kbuild: enable modversions for symbols exported from asm")
Reported-and-tested-by: Borislav Petkov <bp@alien8.de>
Cc: Adam Borowski <kilobyte@angband.pl>
Signed-off-by: Michal Marek <mmarek@suse.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-03 08:12:15 +02:00
Arnd Bergmann
e8457f2a32 include/asm-generic/topology.h: guard cpumask_of_node() macro argument
[ Upstream commit 4377748c7b5187c3342a60fa2ceb60c8a57a8488 ]

drivers/hwmon/amd_energy.c:195:15: error: invalid operands to binary expression ('void' and 'int')
                                        (channel - data->nr_cpus));
                                        ~~~~~~~~~^~~~~~~~~~~~~~~~~
include/asm-generic/topology.h:51:42: note: expanded from macro 'cpumask_of_node'
    #define cpumask_of_node(node)       ((void)node, cpu_online_mask)
                                               ^~~~
include/linux/cpumask.h:618:72: note: expanded from macro 'cpumask_first_and'
 #define cpumask_first_and(src1p, src2p) cpumask_next_and(-1, (src1p), (src2p))
                                                                       ^~~~~

Fixes: f0b848ce6f ("cpumask: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask")
Fixes: 8abee9566b7e ("hwmon: Add amd_energy driver to report energy counters")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Link: http://lkml.kernel.org/r/20200527134623.930247-1-arnd@arndb.de
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-06-03 08:12:12 +02:00
Greg Kroah-Hartman
7f96a9e54d Merge 4.4.223 into android-4.4-p
Changes in 4.4.223
	mwifiex: fix PCIe register information for 8997 chipset
	drm/qxl: qxl_release use after free
	drm/qxl: qxl_release leak in qxl_draw_dirty_fb()
	staging: rtl8192u: Fix crash due to pointers being "confusing"
	usb: gadget: f_acm: Fix configfs attr name
	usb: gadged: pch_udc: get rid of redundant assignments
	usb: gadget: pch_udc: reorder spin_[un]lock to avoid deadlock
	usb: gadget: udc: core: don't starve DMA resources
	MIPS: Fix macro typo
	MIPS: ptrace: Drop cp0_tcstatus from regoffset_table[]
	MIPS: BMIPS: Fix PRID_IMP_BMIPS5000 masking for BMIPS5200
	MIPS: smp-cps: Stop printing EJTAG exceptions to UART
	MIPS: scall: Handle seccomp filters which redirect syscalls
	MIPS: BMIPS: BMIPS5000 has I cache filing from D cache
	MIPS: BMIPS: Clear MIPS_CACHE_ALIASES earlier
	MIPS: BMIPS: local_r4k___flush_cache_all needs to blast S-cache
	MIPS: BMIPS: Pretty print BMIPS5200 processor name
	MIPS: Fix HTW config on XPA kernel without LPA enabled
	MIPS: BMIPS: Adjust mips-hpt-frequency for BCM7435
	MIPS: math-emu: Fix BC1{EQ,NE}Z emulation
	MIPS: Fix BC1{EQ,NE}Z return offset calculation
	MIPS: perf: Fix I6400 event numbers
	MIPS: KVM: Fix translation of MFC0 ErrCtl
	MIPS: SMP: Update cpu_foreign_map on CPU disable
	MIPS: c-r4k: Fix protected_writeback_scache_line for EVA
	MIPS: Octeon: Off by one in octeon_irq_gpio_map()
	bpf, mips: fix off-by-one in ctx offset allocation
	MIPS: RM7000: Double locking bug in rm7k_tc_disable()
	MIPS: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO
	mips/panic: replace smp_send_stop() with kdump friendly version in panic path
	ARM: dts: armadillo800eva Correct extal1 frequency to 24 MHz
	ARM: imx: select SRC for i.MX7
	ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wxl/wsxl
	ARM: dts: kirkwood: gpio pin fixes for linkstation ls-wvl/vl
	ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wxl/wsxl
	ARM: dts: kirkwood: gpio-leds fixes for linkstation ls-wvl/vl
	ARM: dts: orion5x: gpio pin fixes for linkstation lswtgl
	ARM: dts: orion5x: fix the missing mtd flash on linkstation lswtgl
	ARM: dts: kirkwood: use unique machine name for ds112
	ARM: dts: kirkwood: add kirkwood-ds112.dtb to Makefile
	ARM: OMAP2+: hwmod: fix _idle() hwmod state sanity check sequence
	perf/x86: Fix filter_events() bug with event mappings
	x86/LDT: Print the real LDT base address
	x86/apic/uv: Silence a shift wrapping warning
	ALSA: fm801: explicitly free IRQ line
	ALSA: fm801: propagate TUNER_ONLY bit when autodetected
	ALSA: fm801: detect FM-only card earlier
	netfilter: nfnetlink: use original skbuff when acking batches
	xfrm: fix crash in XFRM_MSG_GETSA netlink handler
	mwifiex: fix IBSS data path issue.
	mwifiex: add missing check for PCIe8997 chipset
	iwlwifi: set max firmware version of 7265 to 17
	Bluetooth: btmrvl: fix hung task warning dump
	dccp: limit sk_filter trim to payload
	net/mlx4_core: Do not BUG_ON during reset when PCI is offline
	mlxsw: pci: Correctly determine if descriptor queue is full
	PCI: Supply CPU physical address (not bus address) to iomem_is_exclusive()
	net/mlx4_core: Implement pci_resume callback
	alpha/PCI: Call iomem_is_exclusive() for IORESOURCE_MEM, but not IORESOURCE_IO
	vfio/pci: Allow VPD short read
	brcmfmac: add eth_type_trans back for PCIe full dongle
	mlxsw: Treat local port 64 as valid
	IB/mlx4: Initialize hop_limit when creating address handle
	ovs/gre,geneve: fix error path when creating an iface
	GRE: Disable segmentation offloads w/ CSUM and we are encapsulated via FOU
	powerpc/pci/of: Parse unassigned resources
	firmware: actually return NULL on failed request_firmware_nowait()
	c8sectpfe: Rework firmware loading mechanism
	net/mlx5: Avoid passing dma address 0 to firmware
	IB/mlx5: Fix RC transport send queue overhead computation
	net/mlx5: Make command timeout way shorter
	IB/mlx5: Fix FW version diaplay in sysfs
	net/mlx5e: Fix MLX5E_100BASE_T define
	net/mlx5: Fix the size of modify QP mailbox
	net/mlx5: Fix masking of reserved bits in XRCD number
	net/mlx5e: Fix blue flame quota logic
	net/mlx5: use mlx5_buf_alloc_node instead of mlx5_buf_alloc in mlx5_wq_ll_create
	net/mlx5: Avoid calling sleeping function by the health poll thread
	net/mlx5: Fix wait_vital for VFs and remove fixed sleep
	net/mlx5: Fix potential deadlock in command mode change
	net/mlx5: Add timeout handle to commands with callback
	net/mlx5: Fix pci error recovery flow
	net/mlx5e: Copy all L2 headers into inline segment
	net_sched: keep backlog updated with qlen
	sch_drr: update backlog as well
	sch_hfsc: always keep backlog updated
	sch_prio: update backlog as well
	sch_qfq: keep backlog updated with qlen
	sch_sfb: keep backlog updated with qlen
	sch_tbf: update backlog as well
	btrfs: cleaner_kthread() doesn't need explicit freeze
	irda: Free skb on irda_accept error path.
	phy: fix device reference leaks
	bonding: prevent out of bound accesses
	mtd: nand: fix ONFI parameter page layout
	ath10k: free cached fw bin contents when get board id fails
	xprtrdma: checking for NULL instead of IS_ERR()
	xprtrdma: Fix additional uses of spin_lock_irqsave(rb_lock)
	xprtrdma: xprt_rdma_free() must not release backchannel reqs
	xprtrdma: rpcrdma_bc_receive_call() should init rq_private_buf.len
	RDMA/cxgb3: device driver frees DMA memory with different size
	mlxsw: spectrum: Don't forward packets when STP state is DISABLED
	mlxsw: spectrum: Disable learning according to STP state
	mlxsw: spectrum: Don't count internal TX header bytes to stats
	mlxsw: spectrum: Indicate support for autonegotiation
	mlxsw: spectrum: Fix misuse of hard_header_len
	net: tcp_memcontrol: properly detect ancestor socket pressure
	tcp: do not set rtt_min to 1
	RDS:TCP: Synchronize rds_tcp_accept_one with rds_send_xmit when resetting t_sock
	net: ipv6: tcp reset, icmp need to consider L3 domain
	batman-adv: Fix lockdep annotation of batadv_tlv_container_remove
	batman-adv: replace WARN with rate limited output on non-existing VLAN
	tty: serial: msm: Support more bauds
	serial: samsung: Fix possible out of bounds access on non-DT platform
	Drivers: hv: utils: use memdup_user in hvt_op_write
	isa: Call isa_bus_init before dependent ISA bus drivers register
	Btrfs: clean up an error code in btrfs_init_space_info()
	Input: gpio-keys - fix check for disabling unsupported keys
	Input: edt-ft5x06 - fix setting gain, offset, and threshold via device tree
	net/xfrm_input: fix possible NULL deref of tunnel.ip6->parms.i_key
	xfrm_user: propagate sec ctx allocation errors
	xfrm: Fix memory leak of aead algorithm name
	mac80211: fix mgmt-tx abort cookie and leak
	mac80211: TDLS: always downgrade invalid chandefs
	mac80211: TDLS: change BW calculation for WIDER_BW peers
	mac80211: Fix BW upgrade for TDLS peers
	NFS: Fix an LOCK/OPEN race when unlinking an open file
	net: get rid of an signed integer overflow in ip_idents_reserve()
	mtd: nand: denali: add missing nand_release() call in denali_remove()
	ASoC: Intel: pass correct parameter in sst_alloc_stream_mrfld()
	ASoC: tegra_alc5632: check return value
	ASoC: fsl_ssi: mark SACNT register volatile
	Revert "ACPI / LPSS: allow to use specific PM domain during ->probe()"
	mmc: sdhci: restore behavior when setting VDD via external regulator
	mmc: sd: limit SD card power limit according to cards capabilities
	mmc: debugfs: correct wrong voltage value
	mmc: block: return error on failed mmc_blk_get()
	clk: rockchip: Revert "clk: rockchip: reset init state before mmc card initialization"
	mmc: dw_mmc: rockchip: Set the drive phase properly
	mmc: moxart: fix wait_for_completion_interruptible_timeout return variable type
	mmc: sdhci: Fix regression setting power on Trats2 board
	perf tools: Fix perf regs mask generation
	powerpc/tm: Fix stack pointer corruption in __tm_recheckpoint()
	powerpc/book3s: Fix MCE console messages for unrecoverable MCE.
	sctp: fix the transports round robin issue when init is retransmitted
	sunrpc: Update RPCBIND_MAXNETIDLEN
	NFC: nci: memory leak in nci_core_conn_create()
	net: phy: Avoid polling PHY with PHY_IGNORE_INTERRUPTS
	net: phy: Fix phy_mac_interrupt()
	net: phy: bcm7xxx: Fix shadow mode 2 disabling
	of_mdio: fix node leak in of_phy_register_fixed_link error path
	phy: micrel: Fix finding PHY properties in MAC node for KSZ9031.
	net: dsa: slave: fix of-node leak and phy priority
	drivers: net: cpsw: don't ignore phy-mode if phy-handle is used
	iommu/dma: Respect IOMMU aperture when allocating
	mdio-sun4i: oops in error handling in probe
	iio:ad7797: Use correct attribute_group
	selftests/ipc: Fix test failure seen after initial test run
	wimax/i2400m: Fix potential urb refcnt leak
	cifs: protect updating server->dstaddr with a spinlock
	scripts/config: allow colons in option strings for sed
	lib/mpi: Fix building for powerpc with clang
	net: bcmgenet: suppress warnings on failed Rx SKB allocations
	net: systemport: suppress warnings on failed Rx SKB allocations
	rc: allow rc modules to be loaded if rc-main is not a module
	lirc_imon: do not leave imon_probe() with mutex held
	am437x-vpfe: fix an uninitialized variable bug
	cx23885: uninitialized variable in cx23885_av_work_handler()
	ath9k_htc: check for underflow in ath9k_htc_rx_msg()
	VFIO: platform: reset: fix a warning message condition
	net: moxa: fix an error code
	mfd: lp8788-irq: Uninitialized variable in irq handler
	ethernet: micrel: fix some error codes
	power: ipaq-micro-battery: freeing the wrong variable
	i40e: fix an uninitialized variable bug
	qede: uninitialized variable in qede_start_xmit()
	qlcnic: potential NULL dereference in qlcnic_83xx_get_minidump_template()
	qlcnic: use the correct ring in qlcnic_83xx_process_rcv_ring_diag()
	target: Fix a memory leak in target_dev_lba_map_store()
	memory/tegra: Add number of TLB lines for Tegra124
	pinctrl: bcm2835: Fix memory leak in error path
	be2net: Don't leak iomapped memory on removal.
	ipv4: Fix memory leak in exception case for splitting tries
	flow_dissector: Check for IP fragmentation even if not using IPv4 address
	ipv4: fix checksum annotation in udp4_csum_init
	ipv4: do not abuse GFP_ATOMIC in inet_netconf_notify_devconf()
	ipv4: accept u8 in IP_TOS ancillary data
	net: vrf: Fix dev refcnt leak due to IPv6 prefix route
	ipv6: fix checksum annotation in udp6_csum_init
	ipv6: do not abuse GFP_ATOMIC in inet6_netconf_notify_devconf()
	ipv6: add missing netconf notif when 'all' is updated
	net: ipv6: Fix processing of RAs in presence of VRF
	netfilter: nf_tables: fix a wrong check to skip the inactive rules
	netfilter: nft_dynset: fix panic if NFT_SET_HASH is not enabled
	netfilter: nf_tables: destroy the set if fail to add transaction
	netfilter: nft_dup: do not use sreg_dev if the user doesn't specify it
	udp: restore UDPlite many-cast delivery
	clk: st: avoid uninitialized variable use
	clk: gpio: handle error codes for of_clk_get_parent_count()
	clk: ti: omap3+: dpll: use non-locking version of clk_get_rate
	clk: multiplier: Prevent the multiplier from under / over flowing
	clk: imx: clk-pllv3: fix incorrect handle of enet powerdown bit
	clk: xgene: Don't call __pa on ioremaped address
	cls_bpf: reset class and reuse major in da
	arm64: bpf: jit JMP_JSET_{X,K}
	bpf, trace: check event type in bpf_perf_event_read
	bpf: fix map not being uncharged during map creation failure
	net/mlx4_core: Fix potential corruption in counters database
	net/mlx4_core: Fix access to uninitialized index
	net/mlx4_en: Fix the return value of a failure in VLAN VID add/kill
	net/mlx4_core: Check device state before unregistering it
	net/mlx4_core: Fix the resource-type enum in res tracker to conform to FW spec
	net/mlx4_en: Process all completions in RX rings after port goes up
	net/mlx4_core: Do not access comm channel if it has not yet been initialized
	net/mlx4_en: Fix potential deadlock in port statistics flow
	net/mlx4: Fix uninitialized fields in rule when adding promiscuous mode to device managed flow steering
	net/mlx4_core: Fix QUERY FUNC CAP flags
	mlxsw: switchx2: Fix misuse of hard_header_len
	mlxsw: switchx2: Fix ethernet port initialization
	sched/fair: Fix calc_cfs_shares() fixed point arithmetics width confusion
	net_sched: flower: Avoid dissection of unmasked keys
	pkt_sched: fq: use proper locking in fq_dump_stats()
	sched/preempt: Fix preempt_count manipulations
	power: bq27xxx: fix reading for bq27000 and bq27010
	power: bq27xxx: fix register numbers of bq27500
	power: test_power: correctly handle empty writes
	power: bq27xxx_battery: Fix bq27541 AveragePower register address
	power_supply: tps65217-charger: Fix NULL deref during property export
	net: vrf: Fix dst reference counting
	net: Don't delete routes in different VRFs
	vti6: fix input path
	ipv4: Fix table id reference in fib_sync_down_addr
	mlx4: do not call napi_schedule() without care
	xprtrdma: Fix backchannel allocation of extra rpcrdma_reps
	ALSA: fm801: Initialize chip after IRQ handler is registered
	bonding: fix length of actor system
	MIPS: perf: Remove incorrect odd/even counter handling for I6400
	Revert "cpufreq: Drop rwsem lock around CPUFREQ_GOV_POLICY_EXIT"
	net: dsa: mv88e6xxx: unlock DSA and CPU ports
	gfs2: fix flock panic issue
	blk-mq: fix undefined behaviour in order_to_size()
	dm: fix second blk_delay_queue() parameter to be in msec units not jiffies
	dmaengine: edma: Add probe callback to edma_tptc_driver
	openvswitch: update checksum in {push,pop}_mpls
	cxgb4/cxgb4vf: Fixes regression in perf when tx vlan offload is disabled
	net: bcmgenet: fix skb_len in bcmgenet_xmit_single()
	net: bcmgenet: device stats are unsigned long
	ovs/gre: fix rtnl notifications on iface deletion
	gre: do not assign header_ops in collect metadata mode
	gre: build header correctly for collect metadata tunnels
	gre: reject GUE and FOU in collect metadata mode
	sfc: fix potential stack corruption from running past stat bitmask
	sfc: clear napi_hash state when copying channels
	net: bcmsysport: Device stats are unsigned long
	cxgbi: fix uninitialized flowi6
	net: macb: add missing free_netdev() on error in macb_probe()
	macvtap: segmented packet is consumed
	tipc: fix the error handling in tipc_udp_enable()
	net: icmp6_send should use dst dev to determine L3 domain
	et131x: Fix logical vs bitwise check in et131x_tx_timeout()
	net: ethernet: stmmac: dwmac-sti: fix probe error path
	rtnl: reset calcit fptr in rtnl_unregister()
	net: ethernet: stmmac: dwmac-rk: fix probe error path
	fq_codel: return non zero qlen in class dumps
	net: ethernet: stmmac: dwmac-generic: fix probe error path
	ovs/geneve: fix rtnl notifications on iface deletion
	bnxt: add a missing rcu synchronization
	qdisc: fix a module refcount leak in qdisc_create_dflt()
	net: axienet: Fix return value check in axienet_probe()
	bnxt_en: Remove locking around txr->dev_state
	net: ethernet: davinci_emac: Fix devioctl while in fixed link
	net: ethernet: mvneta: Remove IFF_UNICAST_FLT which is not implemented
	net: ethernet: ti: cpsw: fix device and of_node leaks
	net: ethernet: ti: cpsw: fix secondary-emac probe error path
	net: hns: fix device reference leaks
	net: bridge: don't increment tx_dropped in br_do_proxy_arp
	net: dsa: mv88e6xxx: enable SA learning on DSA ports
	net: ehea: avoid null pointer dereference
	l2tp: fix use-after-free during module unload
	hwrng: exynos - Disable runtime PM on driver unbind
	net: icmp_route_lookup should use rt dev to determine L3 domain
	net: mvneta: fix trivial cut-off issue in mvneta_ethtool_update_stats
	net: macb: replace macb_writel() call by queue_writel() to update queue ISR
	ravb: Add missing free_irq() call to ravb_close()
	mvpp2: use correct size for memset
	net: vxlan: lwt: Fix vxlan local traffic.
	net: ethoc: Fix early error paths
	ovs/vxlan: fix rtnl notifications on iface deletion
	net: mv643xx_eth: fix packet corruption with TSO and tiny unaligned packets.
	regulator: core: Rely on regulator_dev_release to free constraints
	net: dsa: mv88e6xxx: fix port VLAN maps
	at803x: fix reset handling
	cxl: Fix DAR check & use REGION_ID instead of opencoding
	net: ethernet: davinci_emac: Fix platform_data overwrite
	ata: sata_dwc_460ex: remove incorrect locking
	pinctrl: tegra: Correctly check the supported configuration
	brcmfmac: add fallback for devices that do not report per-chain values
	brcmfmac: restore stopping netdev queue when bus clogs up
	bridge: Fix problems around fdb entries pointing to the bridge device
	bna: add missing per queue ethtool stat
	net: skbuff: Remove errornous length validation in skb_vlan_pop()
	net: ep93xx_eth: Do not crash unloading module
	macvlan: Fix potential use-after free for broadcasts
	sctp: Fix SHUTDOWN CTSN Ack in the peer restart case
	ALSA: hda: Match both PCI ID and SSID for driver blacklist
	mac80211: add ieee80211_is_any_nullfunc()
	Linux 4.4.223

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ie7caca39501fe5e82b947964cc474ed1c786d756
2020-05-11 11:15:55 +02:00
Peter Zijlstra
d8e47de3a2 sched/preempt: Fix preempt_count manipulations
commit 2e636d5e66c35dfcbaf617aa8fa963f6847478fe upstream.

Vikram reported that his ARM64 compiler managed to 'optimize' away the
preempt_count manipulations in code like:

	preempt_enable_no_resched();
	put_user();
	preempt_disable();

Irrespective of that fact that that is horrible code that should be
fixed for many reasons, it does highlight a deficiency in the generic
preempt_count manipulators. As it is never right to combine/elide
preempt_count manipulations like this.

Therefore sprinkle some volatile in the two generic accessors to
ensure the compiler is aware of the fact that the preempt_count is
observed outside of the regular program-order view and thus cannot be
optimized away like this.

x86; the only arch not using the generic code is not affected as we
do all this in asm in order to use the segment base per-cpu stuff.

Reported-by: Vikram Mulukutla <markivx@codeaurora.org>
Tested-by: Vikram Mulukutla <markivx@codeaurora.org>
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: a787870924 ("sched, arch: Create asm/preempt.h")
Link: http://lkml.kernel.org/r/20160516131751.GH3205@twins.programming.kicks-ass.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-05-10 10:26:21 +02:00
Nathan Chancellor
4cf66c0bce Merge 4.4.212 into android-msm-wahoo-4.4
Changes in 4.4.212: (184 commits)
        xfs: Sanity check flags of Q_XQUOTARM call
        powerpc/archrandom: fix arch_get_random_seed_int()
        mt7601u: fix bbp version check in mt7601u_wait_bbp_ready
        drm/virtio: fix bounds check in virtio_gpu_cmd_get_capset()
        ALSA: hda: fix unused variable warning
        ALSA: usb-audio: update quirk for B&W PX to remove microphone
        staging: comedi: ni_mio_common: protect register write overflow
        pcrypt: use format specifier in kobject_add
        exportfs: fix 'passing zero to ERR_PTR()' warning
        drm/dp_mst: Skip validating ports during destruction, just ref
        pinctrl: sh-pfc: r8a7740: Add missing REF125CK pin to gether_gmii group
        pinctrl: sh-pfc: r8a7740: Add missing LCD0 marks to lcd0_data24_1 group
        pinctrl: sh-pfc: r8a7791: Remove bogus ctrl marks from qspi_data4_b group
        pinctrl: sh-pfc: r8a7791: Remove bogus marks from vin1_b_data18 group
        pinctrl: sh-pfc: sh73a0: Add missing TO pin to tpu4_to3 group
        pinctrl: sh-pfc: r8a7794: Remove bogus IPSR9 field
        pinctrl: sh-pfc: sh7734: Add missing IPSR11 field
        pinctrl: sh-pfc: sh7269: Add missing PCIOR0 field
        pinctrl: sh-pfc: sh7734: Remove bogus IPSR10 value
        Input: nomadik-ske-keypad - fix a loop timeout test
        clk: highbank: fix refcount leak in hb_clk_init()
        clk: qoriq: fix refcount leak in clockgen_init()
        clk: socfpga: fix refcount leak
        clk: samsung: exynos4: fix refcount leak in exynos4_get_xom()
        clk: imx6q: fix refcount leak in imx6q_clocks_init()
        clk: imx6sx: fix refcount leak in imx6sx_clocks_init()
        clk: imx7d: fix refcount leak in imx7d_clocks_init()
        clk: vf610: fix refcount leak in vf610_clocks_init()
        clk: armada-370: fix refcount leak in a370_clk_init()
        clk: kirkwood: fix refcount leak in kirkwood_clk_init()
        clk: armada-xp: fix refcount leak in axp_clk_init()
        IB/usnic: Fix out of bounds index check in query pkey
        RDMA/ocrdma: Fix out of bounds index check in query pkey
        media: s5p-jpeg: Correct step and max values for V4L2_CID_JPEG_RESTART_INTERVAL
        crypto: tgr192 - fix unaligned memory access
        ASoC: imx-sgtl5000: put of nodes if finding codec fails
        rtc: cmos: ignore bogus century byte
        tty: ipwireless: Fix potential NULL pointer dereference
        rtc: ds1672: fix unintended sign extension
        rtc: 88pm860x: fix unintended sign extension
        rtc: 88pm80x: fix unintended sign extension
        rtc: pm8xxx: fix unintended sign extension
        fbdev: chipsfb: remove set but not used variable 'size'
        pinctrl: sh-pfc: emev2: Add missing pinmux functions
        pinctrl: sh-pfc: r8a7791: Fix scifb2_data_c pin group
        pinctrl: sh-pfc: sh73a0: Fix fsic_spdif pin groups
        block: don't use bio->bi_vcnt to figure out segment number
        vfio_pci: Enable memory accesses before calling pci_map_rom
        cdc-wdm: pass return value of recover_from_urb_loss
        drm/nouveau/bios/ramcfg: fix missing parentheses when calculating RON
        drm/nouveau/pmu: don't print reply values if exec is false
        ASoC: qcom: Fix of-node refcount unbalance in apq8016_sbc_parse_of()
        fs/nfs: Fix nfs_parse_devname to not modify it's argument
        clocksource/drivers/sun5i: Fail gracefully when clock rate is unavailable
        ARM: 8847/1: pm: fix HYP/SVC mode mismatch when MCPM is used
        regulator: wm831x-dcdc: Fix list of wm831x_dcdc_ilim from mA to uA
        nios2: ksyms: Add missing symbol exports
        scsi: megaraid_sas: reduce module load time
        xen, cpu_hotplug: Prevent an out of bounds access
        net: sh_eth: fix a missing check of of_get_phy_mode
        media: ivtv: update *pos correctly in ivtv_read_pos()
        media: cx18: update *pos correctly in cx18_read_pos()
        media: wl128x: Fix an error code in fm_download_firmware()
        media: cx23885: check allocation return
        jfs: fix bogus variable self-initialization
        m68k: mac: Fix VIA timer counter accesses
        ARM: OMAP2+: Fix potentially uninitialized return value for _setup_reset()
        media: davinci-isif: avoid uninitialized variable use
        spi: tegra114: clear packed bit for unpacked mode
        spi: tegra114: fix for unpacked mode transfers
        soc/fsl/qe: Fix an error code in qe_pin_request()
        spi: bcm2835aux: fix driver to not allow 65535 (=-1) cs-gpios
        ehea: Fix a copy-paste err in ehea_init_port_res
        scsi: qla2xxx: Unregister chrdev if module initialization fails
        ARM: pxa: ssp: Fix "WARNING: invalid free of devm_ allocated data"
        hwmon: (w83627hf) Use request_muxed_region for Super-IO accesses
        tipc: set sysctl_tipc_rmem and named_timeout right range
        powerpc: vdso: Make vdso32 installation conditional in vdso_install
        media: ov2659: fix unbalanced mutex_lock/unlock
        6lowpan: Off by one handling ->nexthdr
        dmaengine: axi-dmac: Don't check the number of frames for alignment
        ALSA: usb-audio: Handle the error from snd_usb_mixer_apply_create_quirk()
        packet: in recvmsg msg_name return at least sizeof sockaddr_ll
        ASoC: fix valid stream condition
        IB/mlx5: Add missing XRC options to QP optional params mask
        iommu/vt-d: Make kernel parameter igfx_off work with vIOMMU
        media: omap_vout: potential buffer overflow in vidioc_dqbuf()
        media: davinci/vpbe: array underflow in vpbe_enum_outputs()
        platform/x86: alienware-wmi: printing the wrong error code
        netfilter: ebtables: CONFIG_COMPAT: reject trailing data after last rule
        ARM: riscpc: fix lack of keyboard interrupts after irq conversion
        kdb: do a sanity check on the cpu in kdb_per_cpu()
        backlight: lm3630a: Return 0 on success in update_status functions
        thermal: cpu_cooling: Actually trace CPU load in thermal_power_cpu_get_power
        spi: spi-fsl-spi: call spi_finalize_current_message() at the end
        misc: sgi-xp: Properly initialize buf in xpc_get_rsvd_page_pa
        iommu: Use right function to get group for device
        signal/cifs: Fix cifs_put_tcp_session to call send_sig instead of force_sig
        inet: frags: call inet_frags_fini() after unregister_pernet_subsys()
        media: vivid: fix incorrect assignment operation when setting video mode
        powerpc/cacheinfo: add cacheinfo_teardown, cacheinfo_rebuild
        drm/msm/mdp5: Fix mdp5_cfg_init error return
        net/af_iucv: always register net_device notifier
        ASoC: ti: davinci-mcasp: Fix slot mask settings when using multiple AXRs
        rtc: pcf8563: Clear event flags and disable interrupts before requesting irq
        drm/msm/a3xx: remove TPL1 regs from snapshot
        iommu/amd: Make iommu_disable safer
        mfd: intel-lpss: Release IDA resources
        devres: allow const resource arguments
        net: pasemi: fix an use-after-free in pasemi_mac_phy_init()
        scsi: libfc: fix null pointer dereference on a null lport
        libertas_tf: Use correct channel range in lbtf_geo_init
        usb: host: xhci-hub: fix extra endianness conversion
        mic: avoid statically declaring a 'struct device'.
        x86/kgbd: Use NMI_VECTOR not APIC_DM_NMI
        ALSA: aoa: onyx: always initialize register read value
        cifs: fix rmmod regression in cifs.ko caused by force_sig changes
        crypto: caam - free resources in case caam_rng registration failed
        ext4: set error return correctly when ext4_htree_store_dirent fails
        ASoC: es8328: Fix copy-paste error in es8328_right_line_controls
        ASoC: cs4349: Use PM ops 'cs4349_runtime_pm'
        ASoC: wm8737: Fix copy-paste error in wm8737_snd_controls
        signal: Allow cifs and drbd to receive their terminating signals
        dmaengine: dw: platform: Switch to acpi_dma_controller_register()
        mac80211: minstrel_ht: fix per-group max throughput rate initialization
        mips: avoid explicit UB in assignment of mips_io_port_base
        ahci: Do not export local variable ahci_em_messages
        Partially revert "kfifo: fix kfifo_alloc() and kfifo_init()"
        power: supply: Init device wakeup after device_add()
        x86, perf: Fix the dependency of the x86 insn decoder selftest
        bcma: fix incorrect update of BCMA_CORE_PCI_MDIO_DATA
        iio: dac: ad5380: fix incorrect assignment to val
        ath9k: dynack: fix possible deadlock in ath_dynack_node_{de}init
        net: sonic: return NETDEV_TX_OK if failed to map buffer
        Btrfs: fix hang when loading existing inode cache off disk
        hwmon: (shtc1) fix shtc1 and shtw1 id mask
        net: sonic: replace dev_kfree_skb in sonic_send_packet
        net/rds: Fix 'ib_evt_handler_call' element in 'rds_ib_stat_names'
        iommu/amd: Wait for completion of IOTLB flush in attach_device
        net: hisilicon: Fix signedness bug in hix5hd2_dev_probe()
        net: broadcom/bcmsysport: Fix signedness in bcm_sysport_probe()
        net: ethernet: stmmac: Fix signedness bug in ipq806x_gmac_of_parse()
        mac80211: accept deauth frames in IBSS mode
        llc: fix another potential sk_buff leak in llc_ui_sendmsg()
        llc: fix sk_buff refcounting in llc_conn_state_process()
        net: stmmac: fix length of PTP clock's name string
        drm/msm/dsi: Implement reset correctly
        dmaengine: imx-sdma: fix size check for sdma script_number
        net: qca_spi: Move reset_count to struct qcaspi
        media: ov6650: Fix incorrect use of JPEG colorspace
        media: ov6650: Fix some format attributes not under control
        media: ov6650: Fix .get_fmt() V4L2_SUBDEV_FORMAT_TRY support
        MIPS: Loongson: Fix return value of loongson_hwmon_init
        net: neigh: use long type to store jiffies delta
        packet: fix data-race in fanout_flow_is_huge()
        dmaengine: ti: edma: fix missed failure handling
        drm/radeon: fix bad DMA from INTERRUPT_CNTL2
        arm64: dts: juno: Fix UART frequency
        m68k: Call timer_interrupt() with interrupts disabled
        can, slip: Protect tty->disc_data in write_wakeup and close with RCU
        firestream: fix memory leaks
        net: cxgb3_main: Add CAP_NET_ADMIN check to CHELSIO_GET_MEM
        net, ip_tunnel: fix namespaces move
        net_sched: fix datalen for ematch
        net: usb: lan78xx: Add .ndo_features_check
        hwmon: (adt7475) Make volt2reg return same reg as reg2volt input
        Input: keyspan-remote - fix control-message timeouts
        ARM: 8950/1: ftrace/recordmcount: filter relocation types
        mmc: sdhci: fix minimum clock rate for v3 controller
        Input: sur40 - fix interface sanity checks
        Input: gtco - fix endpoint sanity check
        Input: aiptek - fix endpoint sanity check
        hwmon: (nct7802) Fix voltage limits to wrong registers
        scsi: RDMA/isert: Fix a recently introduced regression related to logout
        tracing: xen: Ordered comparison of function pointers
        do_last(): fetch directory ->i_mode and ->i_uid before it's too late
        iio: buffer: align the size of scan bytes to size of the largest element
        scsi: iscsi: Avoid potential deadlock in iscsi_if_rx func
        md: Avoid namespace collision with bitmap API
        bitmap: Add bitmap_alloc(), bitmap_zalloc() and bitmap_free()
        netfilter: ipset: use bitmap infrastructure completely
        net/x25: fix nonblocking connect
        libertas: Fix two buffer overflows at parsing bss descriptor
        Linux 4.4.212

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2020-01-29 17:10:10 -07:00
Greg Kroah-Hartman
141714cc1f Merge 4.4.212 into android-4.4-p
Changes in 4.4.212
	xfs: Sanity check flags of Q_XQUOTARM call
	powerpc/archrandom: fix arch_get_random_seed_int()
	mt7601u: fix bbp version check in mt7601u_wait_bbp_ready
	drm/virtio: fix bounds check in virtio_gpu_cmd_get_capset()
	ALSA: hda: fix unused variable warning
	ALSA: usb-audio: update quirk for B&W PX to remove microphone
	staging: comedi: ni_mio_common: protect register write overflow
	pcrypt: use format specifier in kobject_add
	exportfs: fix 'passing zero to ERR_PTR()' warning
	drm/dp_mst: Skip validating ports during destruction, just ref
	pinctrl: sh-pfc: r8a7740: Add missing REF125CK pin to gether_gmii group
	pinctrl: sh-pfc: r8a7740: Add missing LCD0 marks to lcd0_data24_1 group
	pinctrl: sh-pfc: r8a7791: Remove bogus ctrl marks from qspi_data4_b group
	pinctrl: sh-pfc: r8a7791: Remove bogus marks from vin1_b_data18 group
	pinctrl: sh-pfc: sh73a0: Add missing TO pin to tpu4_to3 group
	pinctrl: sh-pfc: r8a7794: Remove bogus IPSR9 field
	pinctrl: sh-pfc: sh7734: Add missing IPSR11 field
	pinctrl: sh-pfc: sh7269: Add missing PCIOR0 field
	pinctrl: sh-pfc: sh7734: Remove bogus IPSR10 value
	Input: nomadik-ske-keypad - fix a loop timeout test
	clk: highbank: fix refcount leak in hb_clk_init()
	clk: qoriq: fix refcount leak in clockgen_init()
	clk: socfpga: fix refcount leak
	clk: samsung: exynos4: fix refcount leak in exynos4_get_xom()
	clk: imx6q: fix refcount leak in imx6q_clocks_init()
	clk: imx6sx: fix refcount leak in imx6sx_clocks_init()
	clk: imx7d: fix refcount leak in imx7d_clocks_init()
	clk: vf610: fix refcount leak in vf610_clocks_init()
	clk: armada-370: fix refcount leak in a370_clk_init()
	clk: kirkwood: fix refcount leak in kirkwood_clk_init()
	clk: armada-xp: fix refcount leak in axp_clk_init()
	IB/usnic: Fix out of bounds index check in query pkey
	RDMA/ocrdma: Fix out of bounds index check in query pkey
	media: s5p-jpeg: Correct step and max values for V4L2_CID_JPEG_RESTART_INTERVAL
	crypto: tgr192 - fix unaligned memory access
	ASoC: imx-sgtl5000: put of nodes if finding codec fails
	rtc: cmos: ignore bogus century byte
	tty: ipwireless: Fix potential NULL pointer dereference
	rtc: ds1672: fix unintended sign extension
	rtc: 88pm860x: fix unintended sign extension
	rtc: 88pm80x: fix unintended sign extension
	rtc: pm8xxx: fix unintended sign extension
	fbdev: chipsfb: remove set but not used variable 'size'
	pinctrl: sh-pfc: emev2: Add missing pinmux functions
	pinctrl: sh-pfc: r8a7791: Fix scifb2_data_c pin group
	pinctrl: sh-pfc: sh73a0: Fix fsic_spdif pin groups
	block: don't use bio->bi_vcnt to figure out segment number
	vfio_pci: Enable memory accesses before calling pci_map_rom
	cdc-wdm: pass return value of recover_from_urb_loss
	drm/nouveau/bios/ramcfg: fix missing parentheses when calculating RON
	drm/nouveau/pmu: don't print reply values if exec is false
	ASoC: qcom: Fix of-node refcount unbalance in apq8016_sbc_parse_of()
	fs/nfs: Fix nfs_parse_devname to not modify it's argument
	clocksource/drivers/sun5i: Fail gracefully when clock rate is unavailable
	ARM: 8847/1: pm: fix HYP/SVC mode mismatch when MCPM is used
	regulator: wm831x-dcdc: Fix list of wm831x_dcdc_ilim from mA to uA
	nios2: ksyms: Add missing symbol exports
	scsi: megaraid_sas: reduce module load time
	xen, cpu_hotplug: Prevent an out of bounds access
	net: sh_eth: fix a missing check of of_get_phy_mode
	media: ivtv: update *pos correctly in ivtv_read_pos()
	media: cx18: update *pos correctly in cx18_read_pos()
	media: wl128x: Fix an error code in fm_download_firmware()
	media: cx23885: check allocation return
	jfs: fix bogus variable self-initialization
	m68k: mac: Fix VIA timer counter accesses
	ARM: OMAP2+: Fix potentially uninitialized return value for _setup_reset()
	media: davinci-isif: avoid uninitialized variable use
	spi: tegra114: clear packed bit for unpacked mode
	spi: tegra114: fix for unpacked mode transfers
	soc/fsl/qe: Fix an error code in qe_pin_request()
	spi: bcm2835aux: fix driver to not allow 65535 (=-1) cs-gpios
	ehea: Fix a copy-paste err in ehea_init_port_res
	scsi: qla2xxx: Unregister chrdev if module initialization fails
	ARM: pxa: ssp: Fix "WARNING: invalid free of devm_ allocated data"
	hwmon: (w83627hf) Use request_muxed_region for Super-IO accesses
	tipc: set sysctl_tipc_rmem and named_timeout right range
	powerpc: vdso: Make vdso32 installation conditional in vdso_install
	media: ov2659: fix unbalanced mutex_lock/unlock
	6lowpan: Off by one handling ->nexthdr
	dmaengine: axi-dmac: Don't check the number of frames for alignment
	ALSA: usb-audio: Handle the error from snd_usb_mixer_apply_create_quirk()
	packet: in recvmsg msg_name return at least sizeof sockaddr_ll
	ASoC: fix valid stream condition
	IB/mlx5: Add missing XRC options to QP optional params mask
	iommu/vt-d: Make kernel parameter igfx_off work with vIOMMU
	media: omap_vout: potential buffer overflow in vidioc_dqbuf()
	media: davinci/vpbe: array underflow in vpbe_enum_outputs()
	platform/x86: alienware-wmi: printing the wrong error code
	netfilter: ebtables: CONFIG_COMPAT: reject trailing data after last rule
	ARM: riscpc: fix lack of keyboard interrupts after irq conversion
	kdb: do a sanity check on the cpu in kdb_per_cpu()
	backlight: lm3630a: Return 0 on success in update_status functions
	thermal: cpu_cooling: Actually trace CPU load in thermal_power_cpu_get_power
	spi: spi-fsl-spi: call spi_finalize_current_message() at the end
	misc: sgi-xp: Properly initialize buf in xpc_get_rsvd_page_pa
	iommu: Use right function to get group for device
	signal/cifs: Fix cifs_put_tcp_session to call send_sig instead of force_sig
	inet: frags: call inet_frags_fini() after unregister_pernet_subsys()
	media: vivid: fix incorrect assignment operation when setting video mode
	powerpc/cacheinfo: add cacheinfo_teardown, cacheinfo_rebuild
	drm/msm/mdp5: Fix mdp5_cfg_init error return
	net/af_iucv: always register net_device notifier
	ASoC: ti: davinci-mcasp: Fix slot mask settings when using multiple AXRs
	rtc: pcf8563: Clear event flags and disable interrupts before requesting irq
	drm/msm/a3xx: remove TPL1 regs from snapshot
	iommu/amd: Make iommu_disable safer
	mfd: intel-lpss: Release IDA resources
	devres: allow const resource arguments
	net: pasemi: fix an use-after-free in pasemi_mac_phy_init()
	scsi: libfc: fix null pointer dereference on a null lport
	libertas_tf: Use correct channel range in lbtf_geo_init
	usb: host: xhci-hub: fix extra endianness conversion
	mic: avoid statically declaring a 'struct device'.
	x86/kgbd: Use NMI_VECTOR not APIC_DM_NMI
	ALSA: aoa: onyx: always initialize register read value
	cifs: fix rmmod regression in cifs.ko caused by force_sig changes
	crypto: caam - free resources in case caam_rng registration failed
	ext4: set error return correctly when ext4_htree_store_dirent fails
	ASoC: es8328: Fix copy-paste error in es8328_right_line_controls
	ASoC: cs4349: Use PM ops 'cs4349_runtime_pm'
	ASoC: wm8737: Fix copy-paste error in wm8737_snd_controls
	signal: Allow cifs and drbd to receive their terminating signals
	dmaengine: dw: platform: Switch to acpi_dma_controller_register()
	mac80211: minstrel_ht: fix per-group max throughput rate initialization
	mips: avoid explicit UB in assignment of mips_io_port_base
	ahci: Do not export local variable ahci_em_messages
	Partially revert "kfifo: fix kfifo_alloc() and kfifo_init()"
	power: supply: Init device wakeup after device_add()
	x86, perf: Fix the dependency of the x86 insn decoder selftest
	bcma: fix incorrect update of BCMA_CORE_PCI_MDIO_DATA
	iio: dac: ad5380: fix incorrect assignment to val
	ath9k: dynack: fix possible deadlock in ath_dynack_node_{de}init
	net: sonic: return NETDEV_TX_OK if failed to map buffer
	Btrfs: fix hang when loading existing inode cache off disk
	hwmon: (shtc1) fix shtc1 and shtw1 id mask
	net: sonic: replace dev_kfree_skb in sonic_send_packet
	net/rds: Fix 'ib_evt_handler_call' element in 'rds_ib_stat_names'
	iommu/amd: Wait for completion of IOTLB flush in attach_device
	net: hisilicon: Fix signedness bug in hix5hd2_dev_probe()
	net: broadcom/bcmsysport: Fix signedness in bcm_sysport_probe()
	net: ethernet: stmmac: Fix signedness bug in ipq806x_gmac_of_parse()
	mac80211: accept deauth frames in IBSS mode
	llc: fix another potential sk_buff leak in llc_ui_sendmsg()
	llc: fix sk_buff refcounting in llc_conn_state_process()
	net: stmmac: fix length of PTP clock's name string
	drm/msm/dsi: Implement reset correctly
	dmaengine: imx-sdma: fix size check for sdma script_number
	net: qca_spi: Move reset_count to struct qcaspi
	media: ov6650: Fix incorrect use of JPEG colorspace
	media: ov6650: Fix some format attributes not under control
	media: ov6650: Fix .get_fmt() V4L2_SUBDEV_FORMAT_TRY support
	MIPS: Loongson: Fix return value of loongson_hwmon_init
	net: neigh: use long type to store jiffies delta
	packet: fix data-race in fanout_flow_is_huge()
	dmaengine: ti: edma: fix missed failure handling
	drm/radeon: fix bad DMA from INTERRUPT_CNTL2
	arm64: dts: juno: Fix UART frequency
	m68k: Call timer_interrupt() with interrupts disabled
	can, slip: Protect tty->disc_data in write_wakeup and close with RCU
	firestream: fix memory leaks
	net: cxgb3_main: Add CAP_NET_ADMIN check to CHELSIO_GET_MEM
	net, ip_tunnel: fix namespaces move
	net_sched: fix datalen for ematch
	net: usb: lan78xx: Add .ndo_features_check
	hwmon: (adt7475) Make volt2reg return same reg as reg2volt input
	Input: keyspan-remote - fix control-message timeouts
	ARM: 8950/1: ftrace/recordmcount: filter relocation types
	mmc: sdhci: fix minimum clock rate for v3 controller
	Input: sur40 - fix interface sanity checks
	Input: gtco - fix endpoint sanity check
	Input: aiptek - fix endpoint sanity check
	hwmon: (nct7802) Fix voltage limits to wrong registers
	scsi: RDMA/isert: Fix a recently introduced regression related to logout
	tracing: xen: Ordered comparison of function pointers
	do_last(): fetch directory ->i_mode and ->i_uid before it's too late
	iio: buffer: align the size of scan bytes to size of the largest element
	scsi: iscsi: Avoid potential deadlock in iscsi_if_rx func
	md: Avoid namespace collision with bitmap API
	bitmap: Add bitmap_alloc(), bitmap_zalloc() and bitmap_free()
	netfilter: ipset: use bitmap infrastructure completely
	net/x25: fix nonblocking connect
	libertas: Fix two buffer overflows at parsing bss descriptor
	Linux 4.4.212

Change-Id: Ic427b213b19cb47b394a4ddc4ed48c7278376c71
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2020-01-29 10:43:58 +01:00
Eric Wong
fb1778eb80 rtc: cmos: ignore bogus century byte
[ Upstream commit 2a4daadd4d3e507138f8937926e6a4df49c6bfdc ]

Older versions of Libreboot and Coreboot had an invalid value
(`3' in my case) in the century byte affecting the GM45 in
the Thinkpad X200.  Not everybody's updated their firmwares,
and Linux <= 4.2 was able to read the RTC without problems,
so workaround this by ignoring invalid values.

Fixes: 3c217e51d8 ("rtc: cmos: century support")

Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Sylvain Chouleur <sylvain.chouleur@intel.com>
Cc: Patrick McDermott <patrick.mcdermott@libiquity.com>
Cc: linux-rtc@vger.kernel.org
Signed-off-by: Eric Wong <e@80x24.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-01-29 10:21:39 +01:00
Nathan Chancellor
0a9e3a1ce1 Merge branch 'android-msm-wahoo-4.4-q-preview' into android-msm-wahoo-4.4
* android-msm-wahoo-4.4-q-preview:
  soc: qcom: smem: Add secure device check for smem dump
  qcacld-3.0: Fix buffer overflow in htt_t2h_msg_handler_fast
  qcacld-3.0: Fix possible OOB in wma_unified_radio_tx_mem_free()
  diag: dci: Validate dci client entries prior read
  msm: camera_v2: handle the error value returned during get clock
  msm: kgsl: Fix race condition while making page as dirty
  lsm: check payload size validity before using it as array index
  qcacld-3.0: Remove off-by-one write condition in sch_beacon_process
  dsp: asm: validate payload size before access
  drivers: soc: qcom: Added check to avoid opening multiple instance
  drivers: soc: Synchronize apr callback and voice svc release
  UPSTREAM: binder: check for overflow when alloc for security context
  msm: adsprpc: use same CPU address during DMA allocation and free
  msm: ADSPRPC: Update correct VA to user space
  msm: kgsl: Prevent race condition when freeing memory
  Revert "msm: kgsl: Offload mementry destroy work to separate thread"
  arm64/config: integrate hang/locking/memory debug configs into memory debug
  icnss: Not capture msa dump for modem watchdog bite reset
  lib/bug.c: make panic_on_warn available for all architectures
  arm64/config: enable CONFIG_PANIC_ON_WARN_DEFAULT_ENABLE in debug build configs.
  arm64/config: support panic on warn by config
  misc: mnh-thermal: register a cooling device.
  arm64/configs: wahoo: Expand USB HID game controller support
  iommu: do not attempt reclaim on higher order allocs
  msm: adsprpc: allocate all remote memory in kernel
  net: ipc_router: Initialize the sockaddr in recvmsg() handler
  msm: asm: Remove redundant payload size check
  msm: asm: validate ADSP data size before access
  dts: taimen: lower fg-temp charging factor & comp on high temp
  battery: fix htc_battery_probe abort in charger mode
  subsystem_restart: Not capture ssrdump as detected specific pattern
  soc: qcom: glink: Return error in case of invalid input
  soc: qcom: Validate read and write index before calculating ptr
  dsp: q6voice: Check size of shared memory buffer before access
  msm: ice: check for crypto engine availability
  qseecom: fix kclient free issue in qseecom_remove
  dsp: codecs: fix range check for audio buffer copying
  fbdev/msm: sanitize debugfs inputs when reading mdp memory
  msm: jpegdma: Fix for ASAN issues in jpegdma module
  qdsp6v2: apr: check for packet size to header size comparison
  ARM: dts: msm: Untrusted pointer dereference
  msm: ipa: Fix to validate the buffer size
  msm: adsprpc: destroy mutex before file free
  i2c: core-smbus: prevent stack corruption on read I2C_BLOCK_DATA
  audio: remove static variable in capture copy
  qcacld-3.0: Return proper error on request id mapping failure
  qcacld-3.0: OOB read while processing extscan change results
  icnss: Add check on msa region
  input: misc: vl53L0 security vulnerability fix
  ANDROID: clang: upgrade wahoo to 9.0.3
  touchscreen: synaptics_dsx: prevent NULL pointer dereference
  diag: block WDSP mask transmission
  mm: mm_event: remove get/put_online_cpus call
  iommu: dma-mapping-fast: Add a check for count in fast_smmu_alloc
  ion: fix a possible memory leak in ion_cma_allocate
  input: qpnp-power-on: correct Power-off reason of PMIC FAULT cases
  qcacld-3.0: Unset sme roaming in progress after roam synch complete
  qcacld-3.0: Fix use after free of pCurRoamProfile
  ANDROID: tracing: fix race condition reading saved tgids
  qcacld-3.0: Send frames with GCMP MIC LEN if encryption is GCMP
  BACKPORT: USB: dwc3-msm: Protect enabling phy irqs with mutex
  SSM: Remove support for SSM driver
  ANDROID: drop CONFIG_INPUT_KEYCHORD from all
  msm: msm_bus: Fix error handling in msm_bus_device_probe
  msm: msm_bus: Fix error handling in msm_bus_device_init
  BACKPORT: userfaultfd: shmem/hugetlbfs: only allow to register VM_MAYWRITE vmas
  diag: Prevent out of bound access while initializing msg mask
  diag: Update mask pointers after reallocation
  UPSTREAM: net: socket: set sock->sk to NULL after calling proto_ops::release()
  UPSTREAM: socket: close race condition between sock_close() and sockfs_setattr()
  arm64/configs: wahoo: simplify log buffer allocation
  kgsl: add GPU driver memory consumption in vmstat
  mm: add ION heap-pool allocation stat into vmstat
  BACKPORT: mm: add NR_ZSMALLOC to vmstat
  diag: Add missing protection while accessing session's info
  diag: Update mask buffer after reallocation
  diag: Fix diag msg mask buffer overflow issue
  diag: Fix possible usage of freed resource issue
  cpufreq: stats: optimize proc files
  msm: ipa3: Add mutex to prevent race condition
  lpm-levels: Remove kfree for memory allocated with devm_kzalloc
  msm: camera: cpp: Check for valid tx level
  wdsp: reset spi clk user if enable fails
  soc: qcom: Reorganize PIL code for reclaiming MSS mem during SSR
  qcacld-3.0: Update connect_timeout correctly in case of scan for ssid
  qcacld-3.0: Do not add MME for bcast non RMF action frames
  qcacld-3.0: Check channel_count in DCC_GET_STATS command
  qcacld-3.0: Fix possible integer underflow in cfg80211_rx_mgmt
  qcacld-3.0: check the data length when downloading firmware
  qcacld-3.0: Validate user input for null termination
  dm-bow: Add free list
  dm-bow: Do not block reads unnecessarily
  dm-bow: Fix crash in error handling
  ANDROID: sdcardfs: Add option to not link obb
  ANDROID: sdcardfs: Add sandbox
  ANDROID: sdcardfs: Add option to drop unused dentries
  ANDROID: sdcardfs: fix potential crash when reserved_mb is not zero
  ANDROID: sdcardfs: Don't d_drop in d_revalidate
  ANDROID: sdcardfs: Set s_root to NULL after putting
  ANDROID: sdcardfs: d_make_root calls iput
  ANDROID: sdcardfs: Check for private data earlier
  ANDROID: sdcardfs: Fix sdcardfs to stop creating cases-sensitive duplicate entries.
  ANDROID: sdcardfs: fix lock issue on 32 bit/SMP architectures
  ANDROID: sdcardfs: Set num in extension_details during make_item
  ANDROID: sdcardfs: Hold i_mutex for i_size_write
  ANDROID: sdcardfs: override credential for ioctl to lower fs
  ANDROID: sdcardfs: use mount_nodev and fix a issue in sdcardfs_kill_sb
  ANDROID: sdcardfs: remove dead function open_flags_to_access_mode()
  ANDROID: sdcardfs: d_splice_alias can return error values
  ANDROID: mnt: Propagate remount correctly
  arm64/config: wahoo: Set CONFIG_BLK_DEV_LOOP_MIN_COUNT to 16.
  qcacld-3.0: Possible OOB access in wlan_hdd_cfg80211_start_bss()
  qcacld-3.0: Fix possible integer overflow in lim
  qseecom: set rcv_req_flag to 0 when listener is just registered
  qseecom: do not wake up listener to receive request if it is not ready
  qseecom: check if listener is not ready to receive request
  qseecom: set listener id before sending registration scm_call
  qseecom: processing invalid listener request
  qseecom: change check_blocked flag to an u32 value
  qseecom: check if app is blocked when unloading app
  qseecom: abort all listener threads before listener unregistration
  mm: perproc-reclaim: do not discarding file-backed pages
  BACKPORT: mm: move lazily freed pages to inactive list
  mm: mm_event: remove unncessary comma of pgout
  Fix missing prebuilt kernels
  msm: mdss: Fix scalar LUT handling
  qcacld-3.0: Fix potential OOB read when check rx mgmt frames
  ANDROID: clang: upgrade wahoo to 8.0.9
  msm: mdss: use uaccess routines to access user space buffers
  FROMLIST: BACKPORT: overlayfs: override_creds=off option bypass creator_cred
  build.config: factor out common stuff
  BACKPORT: mm/debug.c: provide useful debugging information for VM_BUG
  qcacld-3.0: Dont pass source argument as nla_data to nla_memcpy
  qcacld-3.0: Avoid possible overflow while parsing scan ie
  qcacld-3.0: Fix possible OOB access in lim_process_assoc_req_frame
  qcacld-3.0: Fix possible OOB in lim_chk_n_process_wpa_rsn_ie
  qcacld-3.0: Validate all channels for avoid_freq channel list
  qcacld-3.0: Fix the double free for the txrx stats req
  qcacld-3.0: Implement descriptor pool for fw stats
  cfg80211: Fix use after free when process wdev events
  qcacld-3.0: OOB access may occur due to total numChannels exceeds max value
  qcacld-3.0: Fix possible heap overflow in lim_update_ext_cap_ie
  qcacld-3.0: Fix possible OOB access in lim_process_disassoc_frame
  qcacmn: Fix possible OOB access while sending NAN msg to firmware
  qcacmn: Fix possible buffer overflow in send_stats_ext_req_cmd_tlv
  qcacmn: Fix Uninitialized byte sent to FW in wmi_unified_cmd_send
  USB: rndis: Honor dl_max_packet_size value sent by host
  Add build.config.lts
  mm: fix passing active page into shrink_page_list
  msm: camera: Fix arbitrary kernel write
  ion: ensure valid start address
  ion: ensure CMO target is valid
  mm: readahead back to 128KB
  FROMGIT: loop: drop caches if offset or block_size are changed
  UPSTREAM: loop: Add LOOP_SET_BLOCK_SIZE in compat ioctl
  BACKPORT: block/loop: set hw_sectors
  UPSTREAM: loop: add ioctl for changing logical block size
  arm64/config: wahoo: enable overlayfs
  misc: mnh: check device number when stopping mipi
  FROMGIT: dm: do not allow readahead to limit IO size
  UPSTREAM: readahead: stricter check for bdi io_pages
  UPSTREAM: mm: don't cap request size based on read-ahead setting
  dm-bow: Handle TRIM mode better
  Add header version and size
  Handle variable sector sizes
  Enable dm-bow for checkpointing for wahoo kenrel
  Port dm-bow to 4.4
  [RFC] dm-bow working prototype
  wahoo_defconfig: enable CONFIG_MEMBARRIER
  thermal: create tz and cdev softlink in thermal class
  Release 5.2.1.1L
  qcacld-3.0: Enable SAE, OWE, GMAC
  qcacld-3.0: Enable SAE and GCMP by default
  qcacld-3.0: Changes to support DPP AKM
  qcacld-3.0: Reset rmfEnabled for STA VDEV during DEL BSS
  qcacld-3.0: Add suppport to forward GAS action frames to supplicant
  qcacld-3.0: Add support for GMAC offload
  qcacld-3.0: Trigger/handle SAE using cfg80211
  qcacld-3.0: Add support for SAE PMK caching
  qcacld-3.0: Add changes to handle SAE status
  qcacld-3.0: Disable roaming for SAE
  qcacld-3.0: Add SAE auth timer
  qcacld-3.0: Add changes to send SAE auth frame to user space
  qcacld-3.0: Add changes for auth in send mgmt path
  qcacld-3.0: Add changes to trigger SAE in supplicant
  qcacld-3.0: Add SAE related ini and cap exchange changes
  qcacld-3.0: Add support for SAE AKM suites
  qcacld-3.0: Add support for SuiteB AKM suites
  qcacld-3.0: Add support for GMAC cipher suite
  qcacld-3.0: Add support for GMAC MIC validation
  qcacld-3.0: Disable roaming for OWE
  qcacld-3.0: Add support for OWE
  qcacld-3.0: Add OWE IEs
  qcacld-3.0: Always send assoc req/rsp
  qcacmn: Add support for GMAC MIC calculation
  cfg80211: indicate support for external authentication
  nl80211: Fix external_auth check for offloaded authentication
  nl80211: Allow SAE Authentication for NL80211_CMD_CONNECT
  cfg80211/nl80211: Optional authentication offload to userspace
  cfg80211: NL80211_ATTR_SOCKET_OWNER support for CMD_CONNECT
  cfg80211: Updated nl80211_commands to be in sync with upstream
  mm: mm_event: comment about enum event type ordering
  mm: synchronize period update interval
  mm: mm_event supports vmstat
  power: qpnp-fg-gen3: fix soc not keeping full after charging overnight
  qcacld-3.0: Ignore special scan requests from CFG
  Revert "qcacld-3.0: Flush scan results on interface down"
  Revert "ANDROID: dm verity: add minimum prefetch size"
  qcacld-3.0: Forward NDP Indication event for NDP initiator
  reset/msm-poweroff: Fix to set reboot message
  pixel-2: enable CONFIG_PROCESS_RECLAIM
  mm: per-process reclaim
  Revert "mm: prevent to write out dirty page in CMA by may_writepage"
  Revert "mm: Per process reclaim"
  Revert "mm: make shrink_page_list with pages work from multiple zones"
  Revert "mm: Remove shrink_page"
  Revert "mm: Enhance per process reclaim to consider shared pages"
  Revert "mm: Support address range reclaim"
  Revert "mm: process reclaim: vmpressure based process reclaim"
  Revert "mm: process_reclaim: fix reclaim skip on low efficiency"
  Revert "mm: process_reclaim: do not iterate over stale task structs"
  Revert "mm: process_reclaim: use unbounded cpu workqueue"
  Make heap_name in ion trace points a copied char array
  BACKPORT: xfrm: Allow Output Mark to be Updated Using UPDSA
  ANDROID: clang: upgrade wahoo to 8.0.6
  cpufreq: times: add text versions of uid concurrent_*_time files
  qcacld: Fix compiler warning in policy mgr
  Enable CONFIG_THERMAL_EMULATION
  qcacld-3.0: Send roam_scan_mode as 0 for RSO Stop during disconnect
  sched/debug: Don't dump sched debug info in SysRq-W
  thermal: Create softlink by name for thermal_zone and cooling device
  UPSTREAM: HID: sony: remove redundant check for -ve err
  UPSTREAM: HID: sony: Make sure to unregister sensors on failure
  UPSTREAM: HID: sony: Make DS4 bt poll interval adjustable
  UPSTREAM: HID: sony: Set proper bit flags on DS4 output report
  UPSTREAM: HID: sony: DS4 use brighter LED colors
  UPSTREAM: HID: sony: Improve navigation controller axis/button mapping
  UPSTREAM: HID: sony: Use DS3 MAC address as unique identifier on USB
  UPSTREAM: HID: sony: Perform duplicate device check earlier on
  UPSTREAM: HID: sony: Expose DS3 motion sensors through separate device
  UPSTREAM: HID: sony: Print error on failure to active DS3 / Navigation controllers
  UPSTREAM: HID: sony: DS3 comply to Linux gamepad spec
  UPSTREAM: HID: sony: Mark DS4 touchpad device as a pointer
  UPSTREAM: HID: sony: Support motion sensor calibration on dongle
  UPSTREAM: HID: sony: Make work handling more generic
  UPSTREAM: HID: sony: Treat the ds4 dongle as a separate device
  UPSTREAM: HID: sony: Remove report descriptor fixup for DS4
  UPSTREAM: HID: sony: Report hardware timestamp for DS4 sensor values
  UPSTREAM: HID: sony: Calibrate DS4 motion sensors
  UPSTREAM: HID: sony: Report DS4 motion sensors through a separate device
  UPSTREAM: HID: sony: Fix input device leak when connecting a DS4 twice using USB/BT
  UPSTREAM: HID: sony: Use LED_CORE_SUSPENDRESUME
  UPSTREAM: HID: sony: Ignore DS4 dongle reports when no device is connected
  UPSTREAM: HID: sony: Use DS4 MAC address as unique identifier on USB
  UPSTREAM: HID: sony: Fix error handling bug when touchpad registration fails
  UPSTREAM: HID: sony: Comply to Linux gamepad spec for DS4
  UPSTREAM: HID: sony: Make the DS4 touchpad a separate device
  UPSTREAM: HID: sony: Fix memory issue when connecting device using both Bluetooth and USB
  UPSTREAM: HID: sony: Adjust value range for motion sensors
  UPSTREAM: HID: sony: Handle multiple touch events input record
  UPSTREAM: HID: sony: Send ds4 output reports on output end-point
  UPSTREAM: HID: sony: Perform CRC check on bluetooth input packets
  UPSTREAM: HID: sony: Adjust HID report size name definitions
  UPSTREAM: HID: sony: Fix race condition in sony_probe
  UPSTREAM: HID: sony: Update copyright and add Dualshock 4 rate control note
  UPSTREAM: HID: sony: Defer the initial USB Sixaxis output report
  UPSTREAM: HID: sony: Relax duplicate checking for USB-only devices
  UPSTREAM: HID: sony: underscores are unnecessary for u8, u16, s32
  UPSTREAM: HID: sony: fix some warnings from scripts/checkpatch.pl
  UPSTREAM: HID: sony: fix errors from scripts/checkpatch.pl
  UPSTREAM: HID: sony: fix a typo in descriptors comments s/Joystik/Joystick/
  UPSTREAM: HID: sony: Fixup output reports for the nyko core controller
  UPSTREAM: HID: sony: Remove the size check for the Dualshock 4 HID Descriptor
  UPSTREAM: HID: sony: Save and restore the controller state on suspend and resume
  UPSTREAM: HID: sony: Refactor the output report sending functions
  UPSTREAM: HID: sony: Support DS4 dongle
  UPSTREAM: HID: sony: Update device ids
  FROMLIST: ANDROID: binder: Add BINDER_GET_NODE_INFO_FOR_REF ioctl.
  FROMLIST: arm64: Build vDSO with -ffixed-x18
  usb: typec: Set min voltage as well
  scsi/ufs: print UFS health info in kernel log
  ion: add heap size change tracepoints
  clang: upgrade from clang 7.0.2 to 8.0.3
  mm: emit tracepoint when rss watermark is hit
  staging: bcm15602: Disable intentional panic by default
  arm64: untag user address in msm_cpp_copy_from_ioctl_ptr
  FROMLIST: selftests, arm64: add a selftest for passing tagged pointers to kernel
  FROMLIST: arm64: update Documentation/arm64/tagged-pointers.txt
  FROMLIST: fs, arm64: untag user address in copy_mount_options
  FROMLIST: lib, arm64: untag addrs passed to strncpy_from_user and strnlen_user
  FROMLIST: mm, arm64: untag user addresses in mm/gup.c
  FROMLIST: arm64: untag user addresses in access_ok and __uaccess_mask_ptr
  FROMLIST: uaccess: add untagged_addr definition for other arches
  FROMLIST: arm64: add type casts to untagged_addr macro
  UPSTREAM: arm64: Use pointer masking to limit uaccess speculation
  BACKPORT: arm64: barrier: Add CSDB macros to control data-value prediction
  UPSTREAM: arm64: uaccess: Formalise types for access_ok()
  BACKPORT: arm64: Make USER_DS an inclusive limit
  UPSTREAM: arm64: uaccess: Remove redundant __force from addr cast in __range_ok
  BACKPORT: arm64: move TASK_* definitions to <asm/processor.h>
  UPSTREAM: mm/gup.c: fix access_ok() argument type
  UPSTREAM: arm64: remove duplicate macro __KERNEL__ check
  UPSTREAM: arm64: print a fault message when attempting to write RO memory
  mm: enable MM_EVENT_STAT by default
  mm: mm_event: add read io stat
  mm: mm_event: add special kernel allocation stat
  mm: mm_event: add swapin stat
  mm: mm_event: add compaction stat
  mm: mm_event: add reclaim stat
  mm: mm_event: add page fault stat
  mm: mm_event: make capture period configurable
  mm: introduce per-process mm event tracking feature
  input: touchscreen: fix reported double free
  input: touchscreen: fix reported use after free
  usb: pd_engine: enable self powered device flag
  BACKPORT: usb: typec: tcpm: charge current handling for sink during hard
  BACKPORT: usb: typec: tcpm: Do not disconnect link for self powered devices
  Revert "Revert "arch/arm64/wahoo_defconfig: enable DEADLINE I/O scheduler""
  lge_battery: set ibat default current max
  PREUPLOAD: Add checkpatch hook
  wahoo_defconfig: remove unused governors
  Revert "BACKPORT: kbuild: allow archs to select link dead code/data elimination"
  Revert "UPSTREAM: kbuild: -ffunction-sections fix for archs with conflicting sections"
  Revert "UPSTREAM: kbuild: keep data tables through dead code elimination"
  Revert "UPSTREAM: kbuild: linker script do not match C names unless LD_DEAD_CODE_DATA_ELIMINATION is configured"
  Revert "kbuild: add ld-name macro and support for ld.gold"
  Revert "kbuild: fix CONFIG_LD_DEAD_CODE_DATA_ELIMINATION with ld.gold"
  Revert "arm64: keep .altinstructions and .altinstr_replacement"
  Revert "arm64: replace the mrs_s/msr_s macros for C callers"
  Revert "add build system support for clang LTO"
  Revert "add support for CONFIG_DYNAMIC_FTRACE with clang LTO"
  Revert "mod/empty.o: disable LTO"
  Revert "arch/arm64/crypto: disable LTO for aes-ce-cipher.c"
  Revert "drivers/firmware/efi/libstub: disable LTO"
  Revert "add a workaround for ld.gold crash with ARM64_MODULE_PLTS"
  Revert "add build.config.clang.lto"
  Update prebuilts-master/clang/host/linux-x86 to newer revision
  BACKPORT: sched/sysctl: Fix attributes of some extern declarations
  bcm15602: Intentionally panic on Easel PMIC reset
  Revert "Revert "misc: mnh-pwr: Update link status first on emergency shutdown""
  binder: Add instramentation to dump_ref_desc_tree()
  qcacld-3.0: Change random scan mac attributes to be optional
  Revert "misc: mnh-pwr: Update link status first on emergency shutdown"
  misc: mnh-pwr: Update link status first on emergency shutdown
  cpufreq_stats: Reset cpufreq_task_stats right after dup_task_struct
  tracing: do not leak kernel addresses
  fs/pstore/ramoops: Apply `decrypt_state' node sync for BootReceive

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2019-09-03 16:53:35 -07:00
Nathan Chancellor
c9a29e2bc4 Merge 4.4.190 into android-msm-wahoo-4.4
Changes in 4.4.190: (79 commits)
        usb: iowarrior: fix deadlock on disconnect
        sound: fix a memory leak bug
        x86/mm: Check for pfn instead of page in vmalloc_sync_one()
        x86/mm: Sync also unmappings in vmalloc_sync_all()
        mm/vmalloc: Sync unmappings in __purge_vmap_area_lazy()
        perf db-export: Fix thread__exec_comm()
        usb: yurex: Fix use-after-free in yurex_delete
        can: peak_usb: fix potential double kfree_skb()
        netfilter: nfnetlink: avoid deadlock due to synchronous request_module
        iscsi_ibft: make ISCSI_IBFT dependson ACPI instead of ISCSI_IBFT_FIND
        mac80211: don't warn about CW params when not using them
        hwmon: (nct6775) Fix register address and added missed tolerance for nct6106
        cpufreq/pasemi: fix use-after-free in pas_cpufreq_cpu_init()
        s390/qdio: add sanity checks to the fast-requeue path
        ALSA: compress: Fix regression on compressed capture streams
        ALSA: compress: Prevent bypasses of set_params
        ALSA: compress: Be more restrictive about when a drain is allowed
        perf probe: Avoid calling freeing routine multiple times for same pointer
        ARM: davinci: fix sleep.S build error on ARMv4
        scsi: megaraid_sas: fix panic on loading firmware crashdump
        scsi: ibmvfc: fix WARN_ON during event pool release
        tty/ldsem, locking/rwsem: Add missing ACQUIRE to read_failed sleep loop
        perf/core: Fix creating kernel counters for PMUs that override event->cpu
        can: peak_usb: pcan_usb_pro: Fix info-leaks to USB devices
        can: peak_usb: pcan_usb_fd: Fix info-leaks to USB devices
        hwmon: (nct7802) Fix wrong detection of in4 presence
        ALSA: firewire: fix a memory leak bug
        mac80211: don't WARN on short WMM parameters from AP
        SMB3: Fix deadlock in validate negotiate hits reconnect
        smb3: send CAP_DFS capability during session setup
        mwifiex: fix 802.11n/WPA detection
        scsi: mpt3sas: Use 63-bit DMA addressing on SAS35 HBA
        sh: kernel: hw_breakpoint: Fix missing break in switch statement
        usb: gadget: f_midi: fail if set_alt fails to allocate requests
        USB: gadget: f_midi: fixing a possible double-free in f_midi
        mm/memcontrol.c: fix use after free in mem_cgroup_iter()
        ALSA: hda - Fix a memory leak bug
        HID: holtek: test for sanity of intfdata
        HID: hiddev: avoid opening a disconnected device
        HID: hiddev: do cleanup in failure of opening a device
        Input: kbtab - sanity check for endpoint type
        Input: iforce - add sanity checks
        net: usb: pegasus: fix improper read if get_registers() fail
        xen/pciback: remove set but not used variable 'old_state'
        irqchip/irq-imx-gpcv2: Forward irq type to parent
        perf header: Fix divide by zero error if f_header.attr_size==0
        perf header: Fix use of unitialized value warning
        libata: zpodd: Fix small read overflow in zpodd_get_mech_type()
        scsi: hpsa: correct scsi command status issue after reset
        ata: libahci: do not complain in case of deferred probe
        kbuild: modpost: handle KBUILD_EXTRA_SYMBOLS only for external modules
        IB/core: Add mitigation for Spectre V1
        ocfs2: remove set but not used variable 'last_hash'
        asm-generic: fix -Wtype-limits compiler warnings
        staging: comedi: dt3000: Fix signed integer overflow 'divider * base'
        staging: comedi: dt3000: Fix rounding up of timer divisor
        USB: core: Fix races in character device registration and deregistraion
        usb: cdc-acm: make sure a refcount is taken early enough
        USB: serial: option: add D-Link DWM-222 device ID
        USB: serial: option: Add support for ZTE MF871A
        USB: serial: option: add the BroadMobi BM818 card
        USB: serial: option: Add Motorola modem UARTs
        Backport minimal compiler_attributes.h to support GCC 9
        include/linux/module.h: copy __init/__exit attrs to init/cleanup_module
        arm64: compat: Allow single-byte watchpoints on all addresses
        Input: psmouse - fix build error of multiple definition
        asm-generic: default BUG_ON(x) to if(x)BUG()
        scsi: fcoe: Embed fc_rport_priv in fcoe_rport structure
        RDMA: Directly cast the sockaddr union to sockaddr
        IB/mlx5: Make coding style more consistent
        x86/vdso: Remove direct HPET access through the vDSO
        iommu/amd: Move iommu_init_pci() to .init section
        x86/boot: Disable the address-of-packed-member compiler warning
        net/packet: fix race in tpacket_snd()
        xen/netback: Reset nr_frags before freeing skb
        net/mlx5e: Only support tx/rx pause setting for port owner
        sctp: fix the transport error_count check
        bonding: Add vlan tx offload to hw_enc_features
        Linux 4.4.190

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	sound/core/compress_offload.c
2019-08-25 08:22:16 -07:00
Greg Kroah-Hartman
dfd52e7009 Merge 4.4.190 into android-4.4-p
Changes in 4.4.190
	usb: iowarrior: fix deadlock on disconnect
	sound: fix a memory leak bug
	x86/mm: Check for pfn instead of page in vmalloc_sync_one()
	x86/mm: Sync also unmappings in vmalloc_sync_all()
	mm/vmalloc: Sync unmappings in __purge_vmap_area_lazy()
	perf db-export: Fix thread__exec_comm()
	usb: yurex: Fix use-after-free in yurex_delete
	can: peak_usb: fix potential double kfree_skb()
	netfilter: nfnetlink: avoid deadlock due to synchronous request_module
	iscsi_ibft: make ISCSI_IBFT dependson ACPI instead of ISCSI_IBFT_FIND
	mac80211: don't warn about CW params when not using them
	hwmon: (nct6775) Fix register address and added missed tolerance for nct6106
	cpufreq/pasemi: fix use-after-free in pas_cpufreq_cpu_init()
	s390/qdio: add sanity checks to the fast-requeue path
	ALSA: compress: Fix regression on compressed capture streams
	ALSA: compress: Prevent bypasses of set_params
	ALSA: compress: Be more restrictive about when a drain is allowed
	perf probe: Avoid calling freeing routine multiple times for same pointer
	ARM: davinci: fix sleep.S build error on ARMv4
	scsi: megaraid_sas: fix panic on loading firmware crashdump
	scsi: ibmvfc: fix WARN_ON during event pool release
	tty/ldsem, locking/rwsem: Add missing ACQUIRE to read_failed sleep loop
	perf/core: Fix creating kernel counters for PMUs that override event->cpu
	can: peak_usb: pcan_usb_pro: Fix info-leaks to USB devices
	can: peak_usb: pcan_usb_fd: Fix info-leaks to USB devices
	hwmon: (nct7802) Fix wrong detection of in4 presence
	ALSA: firewire: fix a memory leak bug
	mac80211: don't WARN on short WMM parameters from AP
	SMB3: Fix deadlock in validate negotiate hits reconnect
	smb3: send CAP_DFS capability during session setup
	mwifiex: fix 802.11n/WPA detection
	scsi: mpt3sas: Use 63-bit DMA addressing on SAS35 HBA
	sh: kernel: hw_breakpoint: Fix missing break in switch statement
	usb: gadget: f_midi: fail if set_alt fails to allocate requests
	USB: gadget: f_midi: fixing a possible double-free in f_midi
	mm/memcontrol.c: fix use after free in mem_cgroup_iter()
	ALSA: hda - Fix a memory leak bug
	HID: holtek: test for sanity of intfdata
	HID: hiddev: avoid opening a disconnected device
	HID: hiddev: do cleanup in failure of opening a device
	Input: kbtab - sanity check for endpoint type
	Input: iforce - add sanity checks
	net: usb: pegasus: fix improper read if get_registers() fail
	xen/pciback: remove set but not used variable 'old_state'
	irqchip/irq-imx-gpcv2: Forward irq type to parent
	perf header: Fix divide by zero error if f_header.attr_size==0
	perf header: Fix use of unitialized value warning
	libata: zpodd: Fix small read overflow in zpodd_get_mech_type()
	scsi: hpsa: correct scsi command status issue after reset
	ata: libahci: do not complain in case of deferred probe
	kbuild: modpost: handle KBUILD_EXTRA_SYMBOLS only for external modules
	IB/core: Add mitigation for Spectre V1
	ocfs2: remove set but not used variable 'last_hash'
	asm-generic: fix -Wtype-limits compiler warnings
	staging: comedi: dt3000: Fix signed integer overflow 'divider * base'
	staging: comedi: dt3000: Fix rounding up of timer divisor
	USB: core: Fix races in character device registration and deregistraion
	usb: cdc-acm: make sure a refcount is taken early enough
	USB: serial: option: add D-Link DWM-222 device ID
	USB: serial: option: Add support for ZTE MF871A
	USB: serial: option: add the BroadMobi BM818 card
	USB: serial: option: Add Motorola modem UARTs
	Backport minimal compiler_attributes.h to support GCC 9
	include/linux/module.h: copy __init/__exit attrs to init/cleanup_module
	arm64: compat: Allow single-byte watchpoints on all addresses
	Input: psmouse - fix build error of multiple definition
	asm-generic: default BUG_ON(x) to if(x)BUG()
	scsi: fcoe: Embed fc_rport_priv in fcoe_rport structure
	RDMA: Directly cast the sockaddr union to sockaddr
	IB/mlx5: Make coding style more consistent
	x86/vdso: Remove direct HPET access through the vDSO
	iommu/amd: Move iommu_init_pci() to .init section
	x86/boot: Disable the address-of-packed-member compiler warning
	net/packet: fix race in tpacket_snd()
	xen/netback: Reset nr_frags before freeing skb
	net/mlx5e: Only support tx/rx pause setting for port owner
	sctp: fix the transport error_count check
	bonding: Add vlan tx offload to hw_enc_features
	Linux 4.4.190

Change-Id: Ic4094fbac2f9b8f6d4a9b4397e82471f40424332
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-08-25 14:35:01 +02:00
Arnd Bergmann
1ac31ce017 asm-generic: default BUG_ON(x) to if(x)BUG()
commit 3c047057d1206ec0f3b88c7809cacba478067a0c upstream.

When CONFIG_BUG is disabled, BUG_ON() will only evaluate the condition,
but will not actually stop the current thread. GCC warns about a couple
of BUG_ON() users where this actually leads to further undefined
behavior:

include/linux/ceph/osdmap.h: In function 'ceph_can_shift_osds':
include/linux/ceph/osdmap.h:54:1: warning: control reaches end of non-void function
fs/ext4/inode.c: In function 'ext4_map_blocks':
fs/ext4/inode.c:548:5: warning: 'retval' may be used uninitialized in this function
drivers/mfd/db8500-prcmu.c: In function 'prcmu_config_clkout':
drivers/mfd/db8500-prcmu.c:762:10: warning: 'div_mask' may be used uninitialized in this function
drivers/mfd/db8500-prcmu.c:769:13: warning: 'mask' may be used uninitialized in this function
drivers/mfd/db8500-prcmu.c:757:7: warning: 'bits' may be used uninitialized in this function
drivers/tty/serial/8250/8250_core.c: In function 'univ8250_release_irq':
drivers/tty/serial/8250/8250_core.c:252:18: warning: 'i' may be used uninitialized in this function
drivers/tty/serial/8250/8250_core.c:235:19: note: 'i' was declared here

There is an obvious conflict of interest here: on the one hand, someone
who disables CONFIG_BUG() will want the kernel to be as small as possible
and doesn't care about printing error messages to a console that nobody
looks at. On the other hand, running into a BUG_ON() condition means that
something has gone wrong, and we probably want to also stop doing things
that might cause data corruption.

This patch picks the second choice, and changes the NOP to BUG(), which
normally stops the execution of the current thread in some form (endless
loop or a trap). This follows the logic we applied in a4b5d580e0 ("bug:
Make BUG() always stop the machine").

For ARM multi_v7_defconfig, the size slightly increases:

section		CONFIG_BUG=y	CONFIG_BUG=n	CONFIG_BUG=n+patch

  .text            8320248   |     8180944   |     8207688
  .rodata          3633720   |     3567144   |     3570648
  __bug_table        32508   |         ---   |         ---
  __modver             692   |        1584   |        2176
  .init.text        558132   |      548300   |      550088
  .exit.text         12380   |       12256   |       12380
  .data            1016672   |     1016064   |     1016128
  Total           14622556   |    14374510   |    14407326

So instead of saving 1.70% of the total image size, we only save 1.48%
by turning off CONFIG_BUG, but in return we can ensure that we don't run
into cases of uninitialized variable or return code uses when something
bad happens. Aside from that, we significantly reduce the number of
warnings in randconfig builds, which makes it easier to fix the warnings
about other problems.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-08-25 10:53:04 +02:00
Qian Cai
dbc68075c3 asm-generic: fix -Wtype-limits compiler warnings
[ Upstream commit cbedfe11347fe418621bd188d58a206beb676218 ]

Commit d66acc39c7 ("bitops: Optimise get_order()") introduced a
compilation warning because "rx_frag_size" is an "ushort" while
PAGE_SHIFT here is 16.

The commit changed the get_order() to be a multi-line macro where
compilers insist to check all statements in the macro even when
__builtin_constant_p(rx_frag_size) will return false as "rx_frag_size"
is a module parameter.

In file included from ./arch/powerpc/include/asm/page_64.h:107,
                 from ./arch/powerpc/include/asm/page.h:242,
                 from ./arch/powerpc/include/asm/mmu.h:132,
                 from ./arch/powerpc/include/asm/lppaca.h:47,
                 from ./arch/powerpc/include/asm/paca.h:17,
                 from ./arch/powerpc/include/asm/current.h:13,
                 from ./include/linux/thread_info.h:21,
                 from ./arch/powerpc/include/asm/processor.h:39,
                 from ./include/linux/prefetch.h:15,
                 from drivers/net/ethernet/emulex/benet/be_main.c:14:
drivers/net/ethernet/emulex/benet/be_main.c: In function 'be_rx_cqs_create':
./include/asm-generic/getorder.h:54:9: warning: comparison is always
true due to limited range of data type [-Wtype-limits]
   (((n) < (1UL << PAGE_SHIFT)) ? 0 :  \
         ^
drivers/net/ethernet/emulex/benet/be_main.c:3138:33: note: in expansion
of macro 'get_order'
  adapter->big_page_size = (1 << get_order(rx_frag_size)) * PAGE_SIZE;
                                 ^~~~~~~~~

Fix it by moving all of this multi-line macro into a proper function,
and killing __get_order() off.

[akpm@linux-foundation.org: remove __get_order() altogether]
[cai@lca.pw: v2]
  Link: http://lkml.kernel.org/r/1564000166-31428-1-git-send-email-cai@lca.pw
Link: http://lkml.kernel.org/r/1563914986-26502-1-git-send-email-cai@lca.pw
Fixes: d66acc39c7 ("bitops: Optimise get_order()")
Signed-off-by: Qian Cai <cai@lca.pw>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Howells <dhowells@redhat.com>
Cc: Jakub Jelinek <jakub@redhat.com>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Bill Wendling <morbo@google.com>
Cc: James Y Knight <jyknight@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-08-25 10:53:01 +02:00
Nathan Chancellor
abfa8a57c4 Merge branch 'android-msm-wahoo-4.4' into android-msm-wahoo-4.4-q-preview
* android-msm-wahoo-4.4:
  Linux 4.4.185
  dmaengine: imx-sdma: remove BD_INTR for channel0
  KVM: x86: degrade WARN to pr_warn_ratelimited
  arm64, vdso: Define vdso_{start,end} as array
  ARC: handle gcc generated __builtin_trap for older compiler
  tty: rocket: fix incorrect forward declaration of 'rp_init()'
  btrfs: Ensure replaced device doesn't have pending chunk allocation
  lib/mpi: Fix karactx leak in mpi_powm
  ALSA: usb-audio: fix sign unintended sign extension on left shifts
  ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages
  ALSA: seq: fix incorrect order of dest_client/dest_ports arguments
  crypto: user - prevent operating on larval algorithms
  ptrace: Fix ->ptracer_cred handling for PTRACE_TRACEME
  MIPS: Workaround GCC __builtin_unreachable reordering bug
  bug.h: work around GCC PR82365 in BUG()
  swiotlb: Make linux/swiotlb.h standalone includible
  mfd: omap-usb-tll: Fix register offsets
  MIPS: math-emu: do not use bools for arithmetic
  ARC: fix build warning in elf.h
  ARC: Assume multiplier is always present
  scsi: hpsa: correct ioaccel2 chaining
  usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC
  usb: gadget: fusb300_udc: Fix memory leak of fusb300->ep[i]
  ASoC: max98090: remove 24-bit format support if RJ is 0
  spi: bitbang: Fix NULL pointer dereference in spi_unregister_master
  ASoC : cs4265 : readable register too low
  um: Compile with modern headers
  Bluetooth: Fix faulty expression for minimum encryption key size check
  net: check before dereferencing netdev_ops during busy poll
  bonding: Always enable vlan tx offload
  ipv4: Use return value of inet_iif() for __raw_v4_lookup in the while loop
  team: Always enable vlan tx offload
  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
  cpu/speculation: Warn on unsupported mitigations= parameter
  x86/speculation: Allow guests to use SSBD even if host does not
  ovl: modify ovl_permission() to do checks on two inodes
  KVM: X86: Fix scan ioapic use-before-initialization
  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
  perf help: Remove needless use of strncpy()
  perf ui helpline: Use strlcpy() as a shorter form of strncpy() + explicit set nul
  mac80211: drop robust management frames from unknown TA
  cfg80211: fix memory leak of wiphy device name
  SMB3: retry on STATUS_INSUFFICIENT_RESOURCES instead of failing write
  Bluetooth: Fix regression with minimum encryption key size alignment
  Bluetooth: Align minimum encryption key size for LE and BR/EDR connections
  ARM: imx: cpuidle-imx6sx: Restrict the SW2ISO increase to i.MX6SX
  can: purge socket error queue on sock destruct
  can: flexcan: fix timeout when set small bitrate
  btrfs: start readahead also in seed devices
  Btrfs: fix race between readahead and device replace/removal
  hwmon: (pmbus/core) Treat parameters as paged if on multiple pages
  s390/qeth: fix VLAN attribute in bridge_hostnotify udev event
  scsi: ufs: Check that space was properly alloced in copy_query_response
  scripts/checkstack.pl: Fix arm64 wrong or unknown architecture
  sparc: perf: fix updated event period in response to PERF_EVENT_IOC_PERIOD
  net: hns: Fix loopback test failed at copper ports
  MIPS: uprobes: remove set but not used variable 'epc'
  IB/hfi1: Insure freeze_work work_struct is canceled on shutdown
  parisc: Fix compiler warnings in float emulation code
  parport: Fix mem leak in parport_register_dev_model
  apparmor: enforce nullbyte at end of tag string
  Input: uinput - add compat ioctl number translation for UI_*_FF_UPLOAD
  usb: chipidea: udc: workaround for endpoint conflict issue
  gcc-9: silence 'address-of-packed-member' warning
  tracing: Silence GCC 9 array bounds warning
  scsi: vmw_pscsi: Fix use-after-free in pvscsi_queue_lck()
  mm/page_idle.c: fix oops because end_pfn is larger than max_pfn
  fs/binfmt_flat.c: make load_flat_shared_library() work

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2019-07-10 22:22:31 -07:00
Nathan Chancellor
f3a2c48951 Merge 4.4.185 into android-msm-wahoo-4.4
Changes in 4.4.185: (74 commits)
        fs/binfmt_flat.c: make load_flat_shared_library() work
        mm/page_idle.c: fix oops because end_pfn is larger than max_pfn
        scsi: vmw_pscsi: Fix use-after-free in pvscsi_queue_lck()
        tracing: Silence GCC 9 array bounds warning
        gcc-9: silence 'address-of-packed-member' warning
        usb: chipidea: udc: workaround for endpoint conflict issue
        Input: uinput - add compat ioctl number translation for UI_*_FF_UPLOAD
        apparmor: enforce nullbyte at end of tag string
        parport: Fix mem leak in parport_register_dev_model
        parisc: Fix compiler warnings in float emulation code
        IB/hfi1: Insure freeze_work work_struct is canceled on shutdown
        MIPS: uprobes: remove set but not used variable 'epc'
        net: hns: Fix loopback test failed at copper ports
        sparc: perf: fix updated event period in response to PERF_EVENT_IOC_PERIOD
        scripts/checkstack.pl: Fix arm64 wrong or unknown architecture
        scsi: ufs: Check that space was properly alloced in copy_query_response
        s390/qeth: fix VLAN attribute in bridge_hostnotify udev event
        hwmon: (pmbus/core) Treat parameters as paged if on multiple pages
        Btrfs: fix race between readahead and device replace/removal
        btrfs: start readahead also in seed devices
        can: flexcan: fix timeout when set small bitrate
        can: purge socket error queue on sock destruct
        ARM: imx: cpuidle-imx6sx: Restrict the SW2ISO increase to i.MX6SX
        Bluetooth: Align minimum encryption key size for LE and BR/EDR connections
        Bluetooth: Fix regression with minimum encryption key size alignment
        SMB3: retry on STATUS_INSUFFICIENT_RESOURCES instead of failing write
        cfg80211: fix memory leak of wiphy device name
        mac80211: drop robust management frames from unknown TA
        perf ui helpline: Use strlcpy() as a shorter form of strncpy() + explicit set nul
        perf help: Remove needless use of strncpy()
        9p/rdma: do not disconnect on down_interruptible EAGAIN
        9p: acl: fix uninitialized iattr access
        9p/rdma: remove useless check in cm_event_handler
        9p: p9dirent_read: check network-provided name length
        net/9p: include trans_common.h to fix missing prototype warning.
        KVM: X86: Fix scan ioapic use-before-initialization
        ovl: modify ovl_permission() to do checks on two inodes
        x86/speculation: Allow guests to use SSBD even if host does not
        cpu/speculation: Warn on unsupported mitigations= parameter
        sctp: change to hold sk after auth shkey is created successfully
        tipc: change to use register_pernet_device
        tipc: check msg->req data len in tipc_nl_compat_bearer_disable
        team: Always enable vlan tx offload
        ipv4: Use return value of inet_iif() for __raw_v4_lookup in the while loop
        bonding: Always enable vlan tx offload
        net: check before dereferencing netdev_ops during busy poll
        Bluetooth: Fix faulty expression for minimum encryption key size check
        um: Compile with modern headers
        ASoC : cs4265 : readable register too low
        spi: bitbang: Fix NULL pointer dereference in spi_unregister_master
        ASoC: max98090: remove 24-bit format support if RJ is 0
        usb: gadget: fusb300_udc: Fix memory leak of fusb300->ep[i]
        usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC
        scsi: hpsa: correct ioaccel2 chaining
        ARC: Assume multiplier is always present
        ARC: fix build warning in elf.h
        MIPS: math-emu: do not use bools for arithmetic
        mfd: omap-usb-tll: Fix register offsets
        swiotlb: Make linux/swiotlb.h standalone includible
        bug.h: work around GCC PR82365 in BUG()
        MIPS: Workaround GCC __builtin_unreachable reordering bug
        ptrace: Fix ->ptracer_cred handling for PTRACE_TRACEME
        crypto: user - prevent operating on larval algorithms
        ALSA: seq: fix incorrect order of dest_client/dest_ports arguments
        ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages
        ALSA: usb-audio: fix sign unintended sign extension on left shifts
        lib/mpi: Fix karactx leak in mpi_powm
        btrfs: Ensure replaced device doesn't have pending chunk allocation
        tty: rocket: fix incorrect forward declaration of 'rp_init()'
        ARC: handle gcc generated __builtin_trap for older compiler
        arm64, vdso: Define vdso_{start,end} as array
        KVM: x86: degrade WARN to pr_warn_ratelimited
        dmaengine: imx-sdma: remove BD_INTR for channel0
        Linux 4.4.185

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	Makefile
	arch/arm64/kernel/vdso.c
2019-07-10 09:41:26 -07:00
Greg Kroah-Hartman
60a02c0d81 Merge 4.4.185 into android-4.4-p
Changes in 4.4.185
	fs/binfmt_flat.c: make load_flat_shared_library() work
	mm/page_idle.c: fix oops because end_pfn is larger than max_pfn
	scsi: vmw_pscsi: Fix use-after-free in pvscsi_queue_lck()
	tracing: Silence GCC 9 array bounds warning
	gcc-9: silence 'address-of-packed-member' warning
	usb: chipidea: udc: workaround for endpoint conflict issue
	Input: uinput - add compat ioctl number translation for UI_*_FF_UPLOAD
	apparmor: enforce nullbyte at end of tag string
	parport: Fix mem leak in parport_register_dev_model
	parisc: Fix compiler warnings in float emulation code
	IB/hfi1: Insure freeze_work work_struct is canceled on shutdown
	MIPS: uprobes: remove set but not used variable 'epc'
	net: hns: Fix loopback test failed at copper ports
	sparc: perf: fix updated event period in response to PERF_EVENT_IOC_PERIOD
	scripts/checkstack.pl: Fix arm64 wrong or unknown architecture
	scsi: ufs: Check that space was properly alloced in copy_query_response
	s390/qeth: fix VLAN attribute in bridge_hostnotify udev event
	hwmon: (pmbus/core) Treat parameters as paged if on multiple pages
	Btrfs: fix race between readahead and device replace/removal
	btrfs: start readahead also in seed devices
	can: flexcan: fix timeout when set small bitrate
	can: purge socket error queue on sock destruct
	ARM: imx: cpuidle-imx6sx: Restrict the SW2ISO increase to i.MX6SX
	Bluetooth: Align minimum encryption key size for LE and BR/EDR connections
	Bluetooth: Fix regression with minimum encryption key size alignment
	SMB3: retry on STATUS_INSUFFICIENT_RESOURCES instead of failing write
	cfg80211: fix memory leak of wiphy device name
	mac80211: drop robust management frames from unknown TA
	perf ui helpline: Use strlcpy() as a shorter form of strncpy() + explicit set nul
	perf help: Remove needless use of strncpy()
	9p/rdma: do not disconnect on down_interruptible EAGAIN
	9p: acl: fix uninitialized iattr access
	9p/rdma: remove useless check in cm_event_handler
	9p: p9dirent_read: check network-provided name length
	net/9p: include trans_common.h to fix missing prototype warning.
	KVM: X86: Fix scan ioapic use-before-initialization
	ovl: modify ovl_permission() to do checks on two inodes
	x86/speculation: Allow guests to use SSBD even if host does not
	cpu/speculation: Warn on unsupported mitigations= parameter
	sctp: change to hold sk after auth shkey is created successfully
	tipc: change to use register_pernet_device
	tipc: check msg->req data len in tipc_nl_compat_bearer_disable
	team: Always enable vlan tx offload
	ipv4: Use return value of inet_iif() for __raw_v4_lookup in the while loop
	bonding: Always enable vlan tx offload
	net: check before dereferencing netdev_ops during busy poll
	Bluetooth: Fix faulty expression for minimum encryption key size check
	um: Compile with modern headers
	ASoC : cs4265 : readable register too low
	spi: bitbang: Fix NULL pointer dereference in spi_unregister_master
	ASoC: max98090: remove 24-bit format support if RJ is 0
	usb: gadget: fusb300_udc: Fix memory leak of fusb300->ep[i]
	usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC
	scsi: hpsa: correct ioaccel2 chaining
	ARC: Assume multiplier is always present
	ARC: fix build warning in elf.h
	MIPS: math-emu: do not use bools for arithmetic
	mfd: omap-usb-tll: Fix register offsets
	swiotlb: Make linux/swiotlb.h standalone includible
	bug.h: work around GCC PR82365 in BUG()
	MIPS: Workaround GCC __builtin_unreachable reordering bug
	ptrace: Fix ->ptracer_cred handling for PTRACE_TRACEME
	crypto: user - prevent operating on larval algorithms
	ALSA: seq: fix incorrect order of dest_client/dest_ports arguments
	ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages
	ALSA: usb-audio: fix sign unintended sign extension on left shifts
	lib/mpi: Fix karactx leak in mpi_powm
	btrfs: Ensure replaced device doesn't have pending chunk allocation
	tty: rocket: fix incorrect forward declaration of 'rp_init()'
	ARC: handle gcc generated __builtin_trap for older compiler
	arm64, vdso: Define vdso_{start,end} as array
	KVM: x86: degrade WARN to pr_warn_ratelimited
	dmaengine: imx-sdma: remove BD_INTR for channel0
	Linux 4.4.185

Change-Id: If1b1ee0b61d5f6d6fb162dc446c621d6baebfab9
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-07-10 12:57:28 +02:00
Arnd Bergmann
2fbaa1af06 bug.h: work around GCC PR82365 in BUG()
[ Upstream commit 173a3efd3edb2ef6ef07471397c5f542a360e9c1 ]

Looking at functions with large stack frames across all architectures
led me discovering that BUG() suffers from the same problem as
fortify_panic(), which I've added a workaround for already.

In short, variables that go out of scope by calling a noreturn function
or __builtin_unreachable() keep using stack space in functions
afterwards.

A workaround that was identified is to insert an empty assembler
statement just before calling the function that doesn't return.  I'm
adding a macro "barrier_before_unreachable()" to document this, and
insert calls to that in all instances of BUG() that currently suffer
from this problem.

The files that saw the largest change from this had these frame sizes
before, and much less with my patch:

  fs/ext4/inode.c:82:1: warning: the frame size of 1672 bytes is larger than 800 bytes [-Wframe-larger-than=]
  fs/ext4/namei.c:434:1: warning: the frame size of 904 bytes is larger than 800 bytes [-Wframe-larger-than=]
  fs/ext4/super.c:2279:1: warning: the frame size of 1160 bytes is larger than 800 bytes [-Wframe-larger-than=]
  fs/ext4/xattr.c:146:1: warning: the frame size of 1168 bytes is larger than 800 bytes [-Wframe-larger-than=]
  fs/f2fs/inode.c:152:1: warning: the frame size of 1424 bytes is larger than 800 bytes [-Wframe-larger-than=]
  net/netfilter/ipvs/ip_vs_core.c:1195:1: warning: the frame size of 1068 bytes is larger than 800 bytes [-Wframe-larger-than=]
  net/netfilter/ipvs/ip_vs_core.c:395:1: warning: the frame size of 1084 bytes is larger than 800 bytes [-Wframe-larger-than=]
  net/netfilter/ipvs/ip_vs_ftp.c:298:1: warning: the frame size of 928 bytes is larger than 800 bytes [-Wframe-larger-than=]
  net/netfilter/ipvs/ip_vs_ftp.c:418:1: warning: the frame size of 908 bytes is larger than 800 bytes [-Wframe-larger-than=]
  net/netfilter/ipvs/ip_vs_lblcr.c:718:1: warning: the frame size of 960 bytes is larger than 800 bytes [-Wframe-larger-than=]
  drivers/net/xen-netback/netback.c:1500:1: warning: the frame size of 1088 bytes is larger than 800 bytes [-Wframe-larger-than=]

In case of ARC and CRIS, it turns out that the BUG() implementation
actually does return (or at least the compiler thinks it does),
resulting in lots of warnings about uninitialized variable use and
leaving noreturn functions, such as:

  block/cfq-iosched.c: In function 'cfq_async_queue_prio':
  block/cfq-iosched.c:3804:1: error: control reaches end of non-void function [-Werror=return-type]
  include/linux/dmaengine.h: In function 'dma_maxpq':
  include/linux/dmaengine.h:1123:1: error: control reaches end of non-void function [-Werror=return-type]

This makes them call __builtin_trap() instead, which should normally
dump the stack and kill the current process, like some of the other
architectures already do.

I tried adding barrier_before_unreachable() to panic() and
fortify_panic() as well, but that had very little effect, so I'm not
submitting that patch.

Vineet said:

: For ARC, it is double win.
:
: 1. Fixes 3 -Wreturn-type warnings
:
: | ../net/core/ethtool.c:311:1: warning: control reaches end of non-void function
: [-Wreturn-type]
: | ../kernel/sched/core.c:3246:1: warning: control reaches end of non-void function
: [-Wreturn-type]
: | ../include/linux/sunrpc/svc_xprt.h:180:1: warning: control reaches end of
: non-void function [-Wreturn-type]
:
: 2.  bloat-o-meter reports code size improvements as gcc elides the
:    generated code for stack return.

Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82365
Link: http://lkml.kernel.org/r/20171219114112.939391-1-arnd@arndb.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Vineet Gupta <vgupta@synopsys.com>	[arch/arc]
Tested-by: Vineet Gupta <vgupta@synopsys.com>	[arch/arc]
Cc: Mikael Starvik <starvik@axis.com>
Cc: Jesper Nilsson <jesper.nilsson@axis.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Christopher Li <sparse@chrisli.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ removed cris changes - gregkh]
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-07-10 09:56:42 +02:00
Mark Rutland
021c0d5cdf asm-generic: Fix local variable shadow in __set_fixmap_offset
[ Upstream commit 3694bd76781b76c4f8d2ecd85018feeb1609f0e5 ]

Currently __set_fixmap_offset is a macro function which has a local
variable called 'addr'. If a caller passes a 'phys' parameter which is
derived from a variable also called 'addr', the local variable will
shadow this, and the compiler will complain about the use of an
uninitialized variable. To avoid the issue with namespace clashes,
'addr' is prefixed with a liberal sprinkling of underscores.

Turning __set_fixmap_offset into a static inline breaks the build for
several architectures. Fixing this properly requires updates to a number
of architectures to make them agree on the prototype of __set_fixmap (it
could be done as a subsequent patch series).

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
[catalin.marinas@arm.com: squashed the original function patch and macro fixup]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-04-03 06:23:23 +02:00
Petri Gynther
32f26d6b7a LTS: Merge 4.4.155 into android-msm-wahoo-4.4
Update Wahoo kernel to the latest 4.4.y LTS kernel.

Bug: 115649143
Test: Manual testing
Change-Id: Iceb5099a1582cb8b0416d16a1cd6f68276959603
Signed-off-by: Petri Gynther <pgynther@google.com>
2018-09-13 12:25:10 -07:00
Sami Tolvanen
85fb6af9ca Revert "BACKPORT: kbuild: allow archs to select link dead code/data elimination"
This reverts commit 8f5829bb1e.

Change-Id: Iee7a083ae3e4b9a9260f778ae8b4c31899e2855e
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2018-09-10 19:16:08 -07:00
Sami Tolvanen
31b145cab9 Revert "UPSTREAM: kbuild: -ffunction-sections fix for archs with conflicting sections"
This reverts commit 9f0a690c08.

Change-Id: I09317b6dd7d69dbae7bb8039f177d77d197bdd1f
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2018-09-10 19:16:08 -07:00
Sami Tolvanen
e4fe6d9d23 Revert "UPSTREAM: kbuild: keep data tables through dead code elimination"
This reverts commit dacb3a38b1.

Change-Id: I852cbeeb9e40325f942db07e5d777a6c7a0adff5
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2018-09-10 19:16:08 -07:00
Sami Tolvanen
54c63992a2 Revert "UPSTREAM: kbuild: linker script do not match C names unless LD_DEAD_CODE_DATA_ELIMINATION is configured"
This reverts commit db356c56be.

Change-Id: I88305e67a5d96f388b1eac824e124a02236583db
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2018-09-10 19:16:08 -07:00
Sami Tolvanen
90de57b31d Revert "kbuild: fix CONFIG_LD_DEAD_CODE_DATA_ELIMINATION with ld.gold"
This reverts commit 91dad5ad5f.

Change-Id: I3ab5e4fec64df8672b23ac4e3c58cad54f36a8b4
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2018-09-10 19:16:08 -07:00
Sami Tolvanen
bfff6048aa Revert "add support for CONFIG_DYNAMIC_FTRACE with clang LTO"
This reverts commit 1d9af6fbcf.

Change-Id: I9f4887d281260913e448e3c7b6661597ff476457
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2018-09-10 11:50:36 -07:00
Greg Kroah-Hartman
ea0c83b10a Merge 4.4.149 into android-msm-wahoo-4.4-lts
Linux 4.4.149
    x86/mm: Add TLB purge to free pmd/pte page interfaces
  * ioremap: Update pgtable free interfaces with addr
      arch/arm64/mm/mmu.c
      include/asm-generic/pgtable.h
      lib/ioremap.c
  * Bluetooth: hidp: buffer overflow in hidp_process_report
      net/bluetooth/hidp/core.c
    ASoC: Intel: cht_bsw_max98090_ti: Fix jack initialization
  * crypto: ablkcipher - fix crash flushing dcache in error path
      crypto/ablkcipher.c
  * crypto: blkcipher - fix crash flushing dcache in error path
      crypto/blkcipher.c
    crypto: vmac - separate tfm and request context
    crypto: vmac - require a block cipher with 128-bit block size
  * kbuild: verify that $DEPMOD is installed
      scripts/depmod.sh
    i2c: ismt: fix wrong device address when unmap the data buffer
  * kasan: don't emit builtin calls when sanitization is off
      Makefile
      scripts/Makefile.kasan
      scripts/Makefile.lib
  * tcp: Fix missing range_truesize enlargement in the backport
      net/ipv4/tcp_input.c
    x86/mm: Disable ioremap free page handling on x86-PAE

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2018-08-18 07:49:55 -07:00
Greg Kroah-Hartman
761bba431a Merge 4.4.148 into android-msm-wahoo-4.4-lts
Linux 4.4.148
  * x86/speculation/l1tf: Unbreak !__HAVE_ARCH_PFN_MODIFY_ALLOWED architectures
      include/asm-generic/pgtable.h
    x86/init: fix build with CONFIG_SWAP=n
    x86/speculation/l1tf: Fix up CPU feature flags
    x86/mm/kmmio: Make the tracer robust against L1TF
    x86/mm/pat: Make set_memory_np() L1TF safe
    x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert
    x86/speculation/l1tf: Invert all not present mappings
    x86/speculation/l1tf: Fix up pte->pfn conversion for PAE
    x86/speculation/l1tf: Protect PAE swap entries against L1TF
    x86/cpufeatures: Add detection of L1D cache flush support.
    x86/speculation/l1tf: Extend 64bit swap file size limit
    x86/bugs: Move the l1tf function and define pr_fmt properly
  * x86/speculation/l1tf: Limit swap file size to MAX_PA/2
      include/linux/swapfile.h
      mm/swapfile.c
  * x86/speculation/l1tf: Disallow non privileged high MMIO PROT_NONE mappings
      include/asm-generic/pgtable.h
      mm/memory.c
      mm/mprotect.c
  * mm: fix cache mode tracking in vm_insert_mixed()
      mm/memory.c
  * mm: Add vm_insert_pfn_prot()
      include/linux/mm.h
      mm/memory.c
  * x86/speculation/l1tf: Add sysfs reporting for l1tf
      drivers/base/cpu.c
      include/linux/cpu.h
    x86/speculation/l1tf: Make sure the first page is always reserved
    x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation
    x86/speculation/l1tf: Protect swap entries against L1TF
    x86/speculation/l1tf: Change order of offset/type in swap entry
    mm: x86: move _PAGE_SWP_SOFT_DIRTY from bit 7 to bit 1
    x86/mm: Fix swap entry comment and macro
    x86/mm: Move swap offset/type up in PTE to work around erratum
    x86/speculation/l1tf: Increase 32bit PAE __PHYSICAL_PAGE_SHIFT
    x86/irqflags: Provide a declaration for native_save_fl
    kprobes/x86: Fix %p uses in error messages
    x86/speculation: Protect against userspace-userspace spectreRSB
    x86/paravirt: Fix spectre-v2 mitigations for paravirt guests
    ARM: dts: imx6sx: fix irq for pcie bridge
    IB/ocrdma: fix out of bounds access to local buffer
    IB/mlx4: Mark user MR as writable if actual virtual memory is writable
    IB/core: Make testing MR flags for writability a static inline function
  * fix __legitimize_mnt()/mntput() race
      fs/namespace.c
  * fix mntput/mntput race
      fs/namespace.c
  * root dentries need RCU-delayed freeing
      fs/dcache.c
    scsi: sr: Avoid that opening a CD-ROM hangs with runtime power management enabled
  * ACPI / LPSS: Add missing prv_offset setting for byt/cht PWM devices
      drivers/acpi/acpi_lpss.c
    xen/netfront: don't cache skb_shinfo()
    parisc: Define mb() and add memory barriers to assembler unlock sequences
    parisc: Enable CONFIG_MLONGCALLS by default
  * fork: unconditionally clear stack on fork
      include/linux/thread_info.h
  * ipv4+ipv6: Make INET*_ESP select CRYPTO_ECHAINIV
      net/ipv4/Kconfig
      net/ipv6/Kconfig
    tpm: fix race condition in tpm_common_write()
  * ext4: fix check to prevent initializing reserved inodes
      fs/ext4/ialloc.c
      fs/ext4/super.c

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2018-08-18 06:56:17 -07:00
Greg Kroah-Hartman
3e869ee257 Merge 4.4.149 into android-4.4-p
Changes in 4.4.149
	x86/mm: Disable ioremap free page handling on x86-PAE
	tcp: Fix missing range_truesize enlargement in the backport
	kasan: don't emit builtin calls when sanitization is off
	i2c: ismt: fix wrong device address when unmap the data buffer
	kbuild: verify that $DEPMOD is installed
	crypto: vmac - require a block cipher with 128-bit block size
	crypto: vmac - separate tfm and request context
	crypto: blkcipher - fix crash flushing dcache in error path
	crypto: ablkcipher - fix crash flushing dcache in error path
	ASoC: Intel: cht_bsw_max98090_ti: Fix jack initialization
	Bluetooth: hidp: buffer overflow in hidp_process_report
	ioremap: Update pgtable free interfaces with addr
	x86/mm: Add TLB purge to free pmd/pte page interfaces
	Linux 4.4.149

Change-Id: I21eebdf6c7191b5b1f005f0e4e9df1207463c964
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2018-08-17 21:29:00 +02:00
Nathan Chancellor
ae3552c8eb Merge 4.4.149 into android-msm-wahoo-4.4
Changes in 4.4.149: (14 commits)
        x86/mm: Disable ioremap free page handling on x86-PAE
        tcp: Fix missing range_truesize enlargement in the backport
        kasan: don't emit builtin calls when sanitization is off
        i2c: ismt: fix wrong device address when unmap the data buffer
        kbuild: verify that $DEPMOD is installed
        crypto: vmac - require a block cipher with 128-bit block size
        crypto: vmac - separate tfm and request context
        crypto: blkcipher - fix crash flushing dcache in error path
        crypto: ablkcipher - fix crash flushing dcache in error path
        ASoC: Intel: cht_bsw_max98090_ti: Fix jack initialization
        Bluetooth: hidp: buffer overflow in hidp_process_report
        ioremap: Update pgtable free interfaces with addr
        x86/mm: Add TLB purge to free pmd/pte page interfaces
        Linux 4.4.149

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	Makefile
2018-08-17 12:11:16 -07:00
Chintan Pandya
29f475cbff ioremap: Update pgtable free interfaces with addr
commit 785a19f9d1dd8a4ab2d0633be4656653bd3de1fc upstream.

The following kernel panic was observed on ARM64 platform due to a stale
TLB entry.

 1. ioremap with 4K size, a valid pte page table is set.
 2. iounmap it, its pte entry is set to 0.
 3. ioremap the same address with 2M size, update its pmd entry with
    a new value.
 4. CPU may hit an exception because the old pmd entry is still in TLB,
    which leads to a kernel panic.

Commit b6bdb7517c3d ("mm/vmalloc: add interfaces to free unmapped page
table") has addressed this panic by falling to pte mappings in the above
case on ARM64.

To support pmd mappings in all cases, TLB purge needs to be performed
in this case on ARM64.

Add a new arg, 'addr', to pud_free_pmd_page() and pmd_free_pte_page()
so that TLB purge can be added later in seprate patches.

[toshi.kani@hpe.com: merge changes, rewrite patch description]
Fixes: 28ee90fe6048 ("x86/mm: implement free pmd/pte page interfaces")
Signed-off-by: Chintan Pandya <cpandya@codeaurora.org>
Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: mhocko@suse.com
Cc: akpm@linux-foundation.org
Cc: hpa@zytor.com
Cc: linux-mm@kvack.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: Will Deacon <will.deacon@arm.com>
Cc: Joerg Roedel <joro@8bytes.org>
Cc: stable@vger.kernel.org
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20180627141348.21777-3-toshi.kani@hpe.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-17 20:56:45 +02:00
Nathan Chancellor
30434a5667 Merge 4.4.148 into android-msm-wahoo-4.4
Changes in 4.4.148: (46 commits)
        ext4: fix check to prevent initializing reserved inodes
        tpm: fix race condition in tpm_common_write()
        ipv4+ipv6: Make INET*_ESP select CRYPTO_ECHAINIV
        fork: unconditionally clear stack on fork
        parisc: Enable CONFIG_MLONGCALLS by default
        parisc: Define mb() and add memory barriers to assembler unlock sequences
        xen/netfront: don't cache skb_shinfo()
        ACPI / LPSS: Add missing prv_offset setting for byt/cht PWM devices
        scsi: sr: Avoid that opening a CD-ROM hangs with runtime power management enabled
        root dentries need RCU-delayed freeing
        fix mntput/mntput race
        fix __legitimize_mnt()/mntput() race
        IB/core: Make testing MR flags for writability a static inline function
        IB/mlx4: Mark user MR as writable if actual virtual memory is writable
        IB/ocrdma: fix out of bounds access to local buffer
        ARM: dts: imx6sx: fix irq for pcie bridge
        x86/paravirt: Fix spectre-v2 mitigations for paravirt guests
        x86/speculation: Protect against userspace-userspace spectreRSB
        kprobes/x86: Fix %p uses in error messages
        x86/irqflags: Provide a declaration for native_save_fl
        x86/speculation/l1tf: Increase 32bit PAE __PHYSICAL_PAGE_SHIFT
        x86/mm: Move swap offset/type up in PTE to work around erratum
        x86/mm: Fix swap entry comment and macro
        mm: x86: move _PAGE_SWP_SOFT_DIRTY from bit 7 to bit 1
        x86/speculation/l1tf: Change order of offset/type in swap entry
        x86/speculation/l1tf: Protect swap entries against L1TF
        x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation
        x86/speculation/l1tf: Make sure the first page is always reserved
        x86/speculation/l1tf: Add sysfs reporting for l1tf
        mm: Add vm_insert_pfn_prot()
        mm: fix cache mode tracking in vm_insert_mixed()
        x86/speculation/l1tf: Disallow non privileged high MMIO PROT_NONE mappings
        x86/speculation/l1tf: Limit swap file size to MAX_PA/2
        x86/bugs: Move the l1tf function and define pr_fmt properly
        x86/speculation/l1tf: Extend 64bit swap file size limit
        x86/cpufeatures: Add detection of L1D cache flush support.
        x86/speculation/l1tf: Protect PAE swap entries against L1TF
        x86/speculation/l1tf: Fix up pte->pfn conversion for PAE
        x86/speculation/l1tf: Invert all not present mappings
        x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert
        x86/mm/pat: Make set_memory_np() L1TF safe
        x86/mm/kmmio: Make the tracer robust against L1TF
        x86/speculation/l1tf: Fix up CPU feature flags
        x86/init: fix build with CONFIG_SWAP=n
        x86/speculation/l1tf: Unbreak !__HAVE_ARCH_PFN_MODIFY_ALLOWED architectures
        Linux 4.4.148

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	include/linux/swapfile.h
2018-08-15 11:17:58 -07:00
Greg Kroah-Hartman
ff21484341 Merge 4.4.148 into android-4.4-p
Changes in 4.4.148
	ext4: fix check to prevent initializing reserved inodes
	tpm: fix race condition in tpm_common_write()
	ipv4+ipv6: Make INET*_ESP select CRYPTO_ECHAINIV
	fork: unconditionally clear stack on fork
	parisc: Enable CONFIG_MLONGCALLS by default
	parisc: Define mb() and add memory barriers to assembler unlock sequences
	xen/netfront: don't cache skb_shinfo()
	ACPI / LPSS: Add missing prv_offset setting for byt/cht PWM devices
	scsi: sr: Avoid that opening a CD-ROM hangs with runtime power management enabled
	root dentries need RCU-delayed freeing
	fix mntput/mntput race
	fix __legitimize_mnt()/mntput() race
	IB/core: Make testing MR flags for writability a static inline function
	IB/mlx4: Mark user MR as writable if actual virtual memory is writable
	IB/ocrdma: fix out of bounds access to local buffer
	ARM: dts: imx6sx: fix irq for pcie bridge
	x86/paravirt: Fix spectre-v2 mitigations for paravirt guests
	x86/speculation: Protect against userspace-userspace spectreRSB
	kprobes/x86: Fix %p uses in error messages
	x86/irqflags: Provide a declaration for native_save_fl
	x86/speculation/l1tf: Increase 32bit PAE __PHYSICAL_PAGE_SHIFT
	x86/mm: Move swap offset/type up in PTE to work around erratum
	x86/mm: Fix swap entry comment and macro
	mm: x86: move _PAGE_SWP_SOFT_DIRTY from bit 7 to bit 1
	x86/speculation/l1tf: Change order of offset/type in swap entry
	x86/speculation/l1tf: Protect swap entries against L1TF
	x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation
	x86/speculation/l1tf: Make sure the first page is always reserved
	x86/speculation/l1tf: Add sysfs reporting for l1tf
	mm: Add vm_insert_pfn_prot()
	mm: fix cache mode tracking in vm_insert_mixed()
	x86/speculation/l1tf: Disallow non privileged high MMIO PROT_NONE mappings
	x86/speculation/l1tf: Limit swap file size to MAX_PA/2
	x86/bugs: Move the l1tf function and define pr_fmt properly
	x86/speculation/l1tf: Extend 64bit swap file size limit
	x86/cpufeatures: Add detection of L1D cache flush support.
	x86/speculation/l1tf: Protect PAE swap entries against L1TF
	x86/speculation/l1tf: Fix up pte->pfn conversion for PAE
	x86/speculation/l1tf: Invert all not present mappings
	x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert
	x86/mm/pat: Make set_memory_np() L1TF safe
	x86/mm/kmmio: Make the tracer robust against L1TF
	x86/speculation/l1tf: Fix up CPU feature flags
	x86/init: fix build with CONFIG_SWAP=n
	x86/speculation/l1tf: Unbreak !__HAVE_ARCH_PFN_MODIFY_ALLOWED architectures
	Linux 4.4.148

Change-Id: Id593840e382389d43e5e54f9d1cfa1d679d8d8be
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2018-08-15 18:23:58 +02:00
Jiri Kosina
8f2adf3d21 x86/speculation/l1tf: Unbreak !__HAVE_ARCH_PFN_MODIFY_ALLOWED architectures
commit 6c26fcd2abfe0a56bbd95271fce02df2896cfd24 upstream.

pfn_modify_allowed() and arch_has_pfn_modify_check() are outside of the
!__ASSEMBLY__ section in include/asm-generic/pgtable.h, which confuses
assembler on archs that don't have __HAVE_ARCH_PFN_MODIFY_ALLOWED (e.g.
ia64) and breaks build:

    include/asm-generic/pgtable.h: Assembler messages:
    include/asm-generic/pgtable.h:538: Error: Unknown opcode `static inline bool pfn_modify_allowed(unsigned long pfn,pgprot_t prot)'
    include/asm-generic/pgtable.h:540: Error: Unknown opcode `return true'
    include/asm-generic/pgtable.h:543: Error: Unknown opcode `static inline bool arch_has_pfn_modify_check(void)'
    include/asm-generic/pgtable.h:545: Error: Unknown opcode `return false'
    arch/ia64/kernel/entry.S:69: Error: `mov' does not fit into bundle

Move those two static inlines into the !__ASSEMBLY__ section so that they
don't confuse the asm build pass.

Fixes: 42e4089c7890 ("x86/speculation/l1tf: Disallow non privileged high MMIO PROT_NONE mappings")
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[groeck: Context changes]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2018-08-15 17:42:11 +02:00
Andi Kleen
d71af2dbac x86/speculation/l1tf: Disallow non privileged high MMIO PROT_NONE mappings
commit 42e4089c7890725fcd329999252dc489b72f2921 upstream

For L1TF PROT_NONE mappings are protected by inverting the PFN in the page
table entry. This sets the high bits in the CPU's address space, thus
making sure to point to not point an unmapped entry to valid cached memory.

Some server system BIOSes put the MMIO mappings high up in the physical
address space. If such an high mapping was mapped to unprivileged users
they could attack low memory by setting such a mapping to PROT_NONE. This
could happen through a special device driver which is not access
protected. Normal /dev/mem is of course access protected.

To avoid this forbid PROT_NONE mappings or mprotect for high MMIO mappings.

Valid page mappings are allowed because the system is then unsafe anyways.

It's not expected that users commonly use PROT_NONE on MMIO. But to
minimize any impact this is only enforced if the mapping actually refers to
a high MMIO address (defined as the MAX_PA-1 bit being set), and also skip
the check for root.

For mmaps this is straight forward and can be handled in vm_insert_pfn and
in remap_pfn_range().

For mprotect it's a bit trickier. At the point where the actual PTEs are
accessed a lot of state has been changed and it would be difficult to undo
on an error. Since this is a uncommon case use a separate early page talk
walk pass for MMIO PROT_NONE mappings that checks for this condition
early. For non MMIO and non PROT_NONE there are no changes.

[dwmw2: Backport to 4.9]
[groeck: Backport to 4.4]

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Acked-by: Dave Hansen <dave.hansen@intel.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-15 17:42:10 +02:00
Nathan Chancellor
a204867e40 Merge tag 'android-9.0.0_r0.5' into android-msm-wahoo-4.4
Android 9.0.0 Release 0.5 (PPR1.180610.011,taimen/walleye)

* tag 'android-9.0.0_r0.5': (611 commits)
  scsi: ufs: call single_release to avoid memory leak
  kernel: initialize and free cpufreq stats properly
  kernel: Fix massive cpufreq stats memory leaks
  scsi: ufs: revise commit ecd2676bd513 ("disallow SECURITY_PROTOCOL_IN without _OUT")
  FROMLIST: binder: fix proc->files use-after-free
  Revert "Add timeout and panic when __scm_call_armv8_64 takes too long."
  scsi: ufs: disallow SECURITY_PROTOCOL_IN without _OUT
  qcacld-3.0: Fix potential buffer overflow in radio stats event handler
  packet: in packet_do_bind, test fanout with bind_lock held
  packet: hold bind lock when rebinding to fanout hook
  qcacld-3.0: Fix OOB write in WMA TX power level stats handler
  msm: mdss: Fix for wrong length in copy_to_user
  fbdev: msm: check buffer size before writing to user buffer
  qcacld-3.0: Add vdev_id sanity check in wma_vdev_stop_resp_handler
  msm: sde: check buffer size before writing to user buffer
  diag: Protect the decrement of number of diag clients
  drivers: qcom: lpm-stats: Fix undefined access error
  input: touch: ftm4: Fix length of memset() to avoid using uninitialized memory
  input: touch: ftm4: Fix memory overflow
  netfilter: ebtables: CONFIG_COMPAT: don't trust userland offsets
  msm: camera: Fix for Possible information leak issue
  ASoC: msm-lsm-client: use kzalloc instead of kmalloc
  Revert "arch/arm64/wahoo_defconfig: enable DEADLINE I/O scheduler"
  Wifi: Store unstripped  wlan.ko image
  Release 5.2.1.1J.1
  qcacld-3.0: Enable support to send packet fate stats
  Revert "serial: msm_serial_hs: Protect spurious irqs after wakeup irq enablement"
  pinctrl: qcom: Add irq_enable callback for msm gpio
  arm64: dts: taimen: Move DISPLAY_ON command to post-panel-on
  Revert "qcom: scm: reduce the timeout to trigger panic from 10mins to 10s."
  Revert "arm64/configs: wahoo: Enable RTB logging"
  FROMLIST: arm64: vdso32: Use full path to Clang instead of relying on PATH
  msm: ipa: rmnet: Make code changes with respect to CR#2046006
  qcacld-3.0: Not to be hard to make high order page
  arm64/configs: wahoo: Enable RTB logging
  qcom: scm: reduce the timeout to trigger panic from 10mins to 10s.
  Release 5.2.1.1J
  qcacld-3.0: Fix race condition in resetting vdev and using it
  qcacld-3.0: Acquire SME lock before csr_roam_offload_scan from SME
  qcacld-3.0: Call vdev resp and hold req queue cleanup from MC thread
  qcacmn: Fix debugfs issue for DPTRACE
  tcpm: Ignore CC and vbus changes in PORT_RESET change
  arm64: dts: taimen-pm: set LOW_BATT_THRESHOLD to 2.7V
  smb-lib: add DT to set BATIF_LOW_BATT_THRESHOLD
  arm64: dts: taimen: set low voltage thresholds
  msm: mdss: read status register in case of error detection
  msm: mdss: add post panel on command debug node
  msm-dwc3: Add debug logs around suspend/resume
  BACKPORT: irq: Make the irqentry text section unconditional
  UPSTREAM: kasan: make get_wild_bug_type() static
  UPSTREAM: kasan: separate report parts by empty lines
  UPSTREAM: kasan: improve double-free report format
  UPSTREAM: kasan: print page description after stacks
  UPSTREAM: kasan: improve slab object description
  UPSTREAM: kasan: change report header
  UPSTREAM: kasan: simplify address description logic
  UPSTREAM: kasan: change allocation and freeing stack traces headers
  UPSTREAM: kasan: unify report headers
  UPSTREAM: kasan: introduce helper functions for determining bug type
  BACKPORT: kasan: report only the first error by default
  UPSTREAM: kasan: fix races in quarantine_remove_cache()
  UPSTREAM: kasan: resched in quarantine_remove_cache()
  BACKPORT: kasan, sched/headers: Uninline kasan_enable/disable_current()
  BACKPORT: kasan: drain quarantine of memcg slab objects
  UPSTREAM: x86/suspend: fix false positive KASAN warning on suspend/resume
  UPSTREAM: kasan: support use-after-scope detection
  UPSTREAM: kasan/tests: add tests for user memory access functions
  UPSTREAM: mm, kasan: add a ksize() test
  BACKPORT: kprobes: Unpoison stack in jprobe_return() for KASAN
  UPSTREAM: arm64: setup: introduce kaslr_offset()
  UPSTREAM: kcov: fix comparison callback signature
  UPSTREAM: kcov: support comparison operands collection
  UPSTREAM: kcov: remove pointless current != NULL check
  UPSTREAM: kcov: support compat processes
  UPSTREAM: kcov: simplify interrupt check
  UPSTREAM: kcov: make kcov work properly with KASLR enabled
  UPSTREAM: kcov: add more missing includes
  UPSTREAM: kcov: add missing #include <linux/sched.h>
  UPSTREAM: kcov: properly check if we are in an interrupt
  UPSTREAM: kcov: don't profile branches in kcov
  UPSTREAM: kcov: don't trace the code coverage code
  Add timeout and panic when __scm_call_armv8_64 takes too long.
  Release 5.2.1.1I.1
  qcacld-3.0: Ignore the csa event when roaming is in progress
  htc_battery: Add Vbus output status in log
  smb-lib: Export Vbus output status
  power_supply: Add property of OTG status
  scsi: ufs: disable clock scaling
  Release 5.2.1.1I
  qcacld-3.0: Revive the WoW wakeup logs to appear in kmsg
  qcacld-3.0: Log netdev tx queue state at user triggered disconnect
  qcacld-3.0: Don't fill any WMA request if target is not ready
  msm: adsprpc: Use unsigned integer for length values
  FROMLIST: ARM: amba: Fix race condition with driver_override
  msm: sensor: ois: add conditional check for ioctl
  drivers: cpuidle: lpm-levels: Fix untrusted pointer dereference.
  ASoC: msm: check payload size before memory allocation
  UPSTREAM: scsi: sg: don't return bogus Sg_requests
  netfilter: add back stackpointer size checks
  qcacld-3.0: Fix integer underflow and buffer over-read in fwlog
  ASoC: msm: qdsp6v2: check for buffer size before read
  usb: gadget: f_hid: fix: Prevent accessing released memory
  usb: gadget: define free_ep_req as universal function
  [BACKPORT] xfrm_user: fix return value from xfrm_user_rcv_msg
  soc: qcom: fix race condition while freeing private data
  msm: vidc: Addition of enums for HLG and HDR10
  defconfig: arm64: Enable UFSHCD_CMD_LOGGING flag
  scsi: ufs: Fix compilation error in ufs cmd logging
  scsi: ufs: add support for logging custom events
  scsi: ufs: fix the UFS command tracing events
  scsi: ufs: update ufs command logging infrastructure
  scsi: ufs: add command logging infrastructure
  power: qpnp-fg-gen3: make CHARGE_FULL property writable by user
  Revert "USB: set hub's default autosuspend delay as 0"
  Revert "usb: hub: Prevent hub autosuspend if usbcore.autosuspend is -1"
  msm: ipa: Fix to handle NULL pointer dereference
  msm: ipa: Prevent deletion of the default route rule
  msm: ipa: Fix to add string NULL terminator
  msm: ipa: dynamic memory leak fix
  msm: ipa: dynamic memory leak fix
  msm: ipa: return the wifi stats when reset is set
  msm: ipa: Return error -ENODEV for set data quota failure
  msm: ipa: Change error value for set quota
  msm: ipa: Fix to validate routing table index for filter exception
  msm:ipa: Fix to slab out of bounds access
  msm: ipa3: Fix IPA aggregation force close call
  msm: ipa: ipa_usb: teth_prot and ttype validation
  msm: ipa: Fix to use after free issue
  msm: ipa: fix ipacm_client usage
  msm: ipa3: Verify IPA client id before using it
  msm: ipa3: Protect access to ipa3_qmi_ctx variable by lock
  msm: ipa: using rate limit api for ioctl calls
  msm: ipa: Fix to IPA static analysis constant null deferenced
  msm: ipa: Fix to use GFP_DMA and add check for dma_map_single
  Release 5.2.1.1H.1
  qcacld-3.0: update the adapter->rssi from fw
  qcacld-3.0: Fix null pointer dereference in sending probe req
  Release 5.2.1.1H
  qcacld-3.0: Fix OOB write in wma_extscan_change_results_event_handler
  qcacld-3.0: Fix Use after free in wma_del_tdls_sta
  qcacld-3.0: Fix race vdev down and tx_desc->vdev access
  qcacld-3.0: Fix race vdev down and tx_desc->vdev access
  qcacld-3.0: Fix OOB write in wma_unified_debug_print_event_handler
  qcacld-3.0: Probe request sent with corrupted IE
  qcacmn: Validate nbuf in dp trace function
  qcacmn: Check for TSO packet in release_skb
  build.config: enforce trace_printk check
  msm: mdss: improve performance coming out of idle pc
  Revert "qcacld-3.0: Treat ARP/ICMP/ICMPV6 packets as high priority"
  pd_engine: Add support for TYPEC_CC_RP_1_5
  tcpm: set rp tp 1.5A once PD contract is negotiated
  smb-lib: Add support for POWER_SUPPLY_TYPEC_PR_SOURCE_1_5
  qcacld-3.0: Enable wiphy RxLDPC for 5G band
  Release 5.2.1.1G
  qcacld-3.0: Enable ct tracker for external ctrl mode after tdls link enable
  qcacld-3.0: Hold wakelock till connection completion
  qcacld-3.0: Reset txrx connectivity stats after SSR
  qcacld-3.0: Prevent access to rx thread after thread shutdown
  qcacld-3.0: Flush packets in datapath error case
  qcacld-3.0: Remove CSR dot11f IE RSN max len
  qcacld-3.0: Fix OOB write in wma_unified_debug_print_event_handler
  qcacld-3.0: Return -EGAIAN and not -ENODEV if FW is down
  qcacld-3.0: Fix check condition after taking lock
  qcacld-3.0: Fix OOB write in wma_roam_synch_event_handler
  qcacld-3.0: Fix issue in connection to WAPI AP
  ASoC: msm: qdsp6v2: Add volume control for capture streams
  cpufreq: stats: use seq iterator for large uid-related files
  cpufreq: stats: update uid data in acct_update_power
  htc_battery: Control stop/start charge level by charging_disabled
  proc: add null check in proc_uid_init
  Release 5.2.1.1E
  qcacld-3.0: Remove duplicate block of code due to auto merge
  qcacld-3.0: Reset is_acs_allowed variable when chan count is 0
  qcacld-3.0: Avoid double free in drv_cmd_get_ibss_peer_info_all()
  qcacld-3.0: Fail channel sap channel change request for channel 0
  qcacld-3.0: Fix buf overflow in __wlan_hdd_cfg80211_update_connect_params
  icnss: Consider recovery as FW down
  usb: pd_engine: Turn off Vbus and Vconn during shutdown
  VTS: Fix test for supplicant deprecated commands
  Revert "xhci: plat: Register shutdown for xhci_plat"
  Revert "f_fs: set maxburst to one before enabling endpoints"
  dwc3: resize txfifo of IN/INT endpoint before enabling it
  scsi: ufs: Avoid dead lock during error recovery
  power: qcom/bcl_peripheral: fix READ_OPTIONAL_PROP
  icnss: Avoid wlan driver remove during modem graceful shutdown
  lge_battery: add parameters to control stop/start charge level
  ext4: handle errors on ext4_commit_super
  qcacld-3.0: WLAN upgrade to 5.2.1.1D
  arm64: dts: Add tcpc configs for taimen
  usb: to recognize vbus_present from attribute "present"
  Revert "Revert "f_fs: set maxburst to one before enabling endpoints""
  Revert "ANDROID: usb: gadget: accessory: Lower protocol version"
  qcacld-3.0: WLAN upgrade to 5.2.1.1C.1
  qcacld-3.0: Fix issue while handling ndp response without iface name
  726b68f Release 5.2.1.1C
  arm64: wahoo_defconfig: set CONFIG_QCA_CLD_WLAN=m
  ANDROID: usb: gadget: accessory: Lower protocol version
  usb: typec: Import tcpc configs from device tree
  arm64: dts: Add tcpc configs for walleye
  dt-bindings: usb: Add typec bindings
  Revert "f_fs: set maxburst to one before enabling endpoints"
  staging: bcm15602: use async probe
  init/main.c: add sync point between each level
  Revert "Revert "select: use freezable blocking call""
  input: misc: stmvl53L0: use async probe
  arm64:configs:wahoo: disable CONFIG_QPNP_FG_GEN3_LEGACY_CYCLE_COUNT
  qpnp: fg+smb-lib: implement Linux cycle count
  htc_battery: add parameters to control stop/start charge level
  misc: mnh: use async probe
  FROMLIST: ALSA: usb-audio: fix memory leak on cval
  ALSA: usb-audio: fix error in backport
  qpnp-fg-gen3: add cycle_counts_bins device driver attribute
  qcacld-3.0: WLAN upgrade to 5.2.1.1B
  qcacld-3.0: WLAN upgrade to 5.2.1.1A
  BACKPORT: ALSA: usb-audio: UAC2 jack detection
  BACKPORT: ALSA: usb-audio: fix uac control query argument
  scsi: ufs: Add discard command support to ufs debugfs req. stats
  scsi: ufs: Adding io_stats to UFS debugfs
  blkdev: Refactoring block io latency histogram codes
  msm: wlan: Update regulatory database
  msm: wlan: Update regulatory database
  msm: wlan: Update regulatory database
  ANDROID: initramfs: call free_initrd() when skipping init
  pd_engine:Notify smblib when no suspend is allowed
  typec: PD: Add callback to support no usb suspend
  smb-lib: support separate current settings from usb and pd
  arm64: dts: msm8998-htc-common: set imem-restart_info
  reset/msm-poweroff: setting reboot message
  qcacld-3.0: WLAN upgrade to 5.1.1.47F.2
  qcacld-3.0: Validate opmode update req before sending to FW
  scsi: ufs: fix req_stats debugfs entry
  gower: smb138x-charger: changed buck freq from 700 to 900 kHz
  power: smb-lib: Skip enable DRP when chg->typec_pr_disabled is true
  Revert "msm: ipc_logging: Disable ipc_log_string"
  BACKPORT: mm, procfs: breakdown RSS for anon, shmem and file in /proc/pid/status
  BACKPORT: mm, shmem: add internal shmem resident memory accounting
  power/supply qpnp-smb2: remove POWER_SUPPLY_PROP_PORT_TEMP
  net: replace dst_cache ip6_tunnel implementation with the generic one
  Make DST_CACHE a silent config option
  net: add dst_cache support
  scsi: ufs: fix wrong order for slow io
  scsi: ufs: ufs-qcom-ice: Initialize local variable in ice_cfg_start()
  scsi: ufs: Serialise ufs clock gating and ungating
  scsi: ufs: Add UFS slow I/O monitoring.
  Revert "qcacld-3.0: Fix potential OOB read in dot11f.c"
  Revert "qcacld-3.0: Check the length of IE's before appending"
  Revert "qcacld-3.0: Check ie_len against 255 in function get_container_ies_len"
  msm: mdss: set err detect irq to disable on init
  msm: ADSPRPC: Change SSC VMID from 5 to 38
  Disable kASLR for KASAN builds.
  msm: ipc_logging: Disable ipc_log_string
  UPSTREAM: block: silently forbid sending any ioctl to a partition
  Revert "Revert "qcacld-3.0: WLAN upgrade to 5.1.1.47F.1""
  arm64: dts: lge: taimen: max touch coordinates
  thermal: qcom: tracing: add clock_set_rate tracing for lmh
  arm64: dts: taimen: To avoid AOD blinking issues, changed some related commands
  Revert "soc: qcom: glink: Move ctx initialization of xprt ptr"
  Revert "soc: qcom: glink: Move tx_info allocation in beginning"
  Revert "soc: qcom: glink: Move get reference to valid location"
  Revert "soc: qcom: initialize glink link state"
  Revert "soc: qcom: avoid calling sleeping functions in interrupt context"
  Revert "qcacld-3.0: WLAN upgrade to 5.1.1.47F.1"
  Revert "qcacld-3.0: Check for SRD channels in sap_get_channel_list"
  Revert "qcacld-3.0: Update bss count based on channel offset only for same band"
  Revert "qcacld-3.0: Trim ACS channel list based on the concurrent connections"
  Revert "qcacld-3.0: Avoid 2.4Ghz channel in 40Mhz for SAP start"
  Revert "qcacld-3.0: WLAN upgrade to 5.1.1.47F.2"
  Revert "qcacld-3.0: Treat ARP/ICMP/ICMPV6 packets as high priority"
  arch/arm64/wahoo_defconfig: set default readahead to 2048KB
  ANDROID: mm: add config for default readahead size
  power: lge_battery: Enable bm_check_therm_charging when not charging
  Revert "arm64: dts: taimen: set fg-empty-voltage to 3.2V"
  Revert "arm64: dts: walleye: set fg-empty-voltage to 3.2V"
  Revert "arm64: dts: taimen: set fg-empty-voltage to 3.2V"
  Revert "arm64: dts: walleye: set fg-empty-voltage to 3.2V"
  Revert "arm64: dts: taimen: lower FG empty and cutoff voltages"
  Revert "arm64: dts: taimen: set vbat-too-low-threshold to 2.8V"
  scsi: ufs: fix wrong pointer for enabled latency_hist
  misc: mnh-ddr: Allocate memory for driver once
  scsi: ufs: nullify lrbp->cmd inside of valid tag period
  arch/arm64/wahoo_defconfig: enable DEADLINE I/O scheduler
  qcacld-3.0: Treat ARP/ICMP/ICMPV6 packets as high priority
  qcacld-3.0: WLAN upgrade to 5.1.1.47F.2
  qcacld-3.0: Avoid 2.4Ghz channel in 40Mhz for SAP start
  qcacld-3.0: Trim ACS channel list based on the concurrent connections
  qcacld-3.0: Update bss count based on channel offset only for same band
  qcacld-3.0: Check for SRD channels in sap_get_channel_list
  qcacld-3.0: WLAN upgrade to 5.1.1.47F.1
  soc: qcom: avoid calling sleeping functions in interrupt context
  soc: qcom: initialize glink link state
  soc: qcom: glink: Move get reference to valid location
  soc: qcom: glink: Move tx_info allocation in beginning
  soc: qcom: glink: Move ctx initialization of xprt ptr
  ANDROID: usb: gadget: f_accessory: Also zero out rx_req on unbind
  soc: qcom: service-locator: Update incorrect usage of qmi_send_req_wait
  soc: qcom: service-locator: Fix error message prints for receiving messages
  ANDROID: usb: gadget: f_accessory: Fix double-free
  msm: ipa3: add lock for num_q6_rule
  msm: ipa: fix security issues in ipa wan driver
  nl80211: Define policy for packet pattern attributes
  netlink: Add netns check on taps
  qcacld-3.0: Add sanity check for vdev_id in wma_wow_wakeup_host_event
  qcacld-3.0: Add sanity check for vdev id to prevent OOB access
  qcacld-3.0: Calculate buf_len properly for extscan hotlist event buffer
  msm: ipa: add null terminator
  misc: mnh: mipi: change variable type to check for error
  qcacld-3.0: Validate packet length, before processing PTT commands
  qcacld-3.0: Use after free in hdd_debugfs_stats_update api
  qcacld-3.0: Fix potential OOB read in dot11f.c
  BACKPORT: USB: core: harden cdc_parse_cdc_header
  PCI: Fix race condition with driver_override
  qcacld-3.0: Fix potential buffer overwrite in wma_unified_link_iface_stats_event_handler
  FROMGIT: soc: qcom: initialize glink link state
  qcacld-3.0: Check the length of IE's before appending
  UPSTREAM: KEYS: encrypted: fix buffer overread in valid_master_desc()
  UPSTREAM: net: ipv4: fix for a race condition in raw_sendmsg
  qcacld-3.0: Add sanity check in wma_process_rmf_frame
  diag: dci: Add validity check for dci client's process descriptor
  qcacld-3.0: Add sanity check for num_hw_modes and num_phy
  qcacld-3.0: WLAN upgrade to 5.1.1.44V.4
  qcacld-3.0: Enhance logging levels for some SAP ACS messages
  qcacld-3.0: Do 11ac override only if channel list has 5Ghz channel(s)
  qcacld-3.0: Assign acs_cfg->end_ch before use
  qcacld-3.0: Avoid selection of irrelevant channel in 80/160MHz config
  qcacld-3.0: Set ACS weight to max for channels not in scan list
  qcacld-3.0: Fix an ACS hw mode mapping discrepancy
  qcacld-3.0: Check for valid vdev ID in SWBA event handler
  ASoC: apr: Add validity check to APR port
  msm: ipa: Fix the handling of default IPA header
  qcacld-3.0: Fix buffer overread in wma_extscan_hotlist_match_event_handler
  qcacld-3.0: Remove unused function proc_set_req_internal
  qcacld-3.0: Fix potential buffer overflow in htt_t2h_lp_msg_handler
  qcacld-3.0: Fix potential buffer overflow in ol_rx_flush_handler
  qcacld-3.0: Fix buffer overflow in wma radio_tx_power_level_stats handler
  qcacld-3.0: Fix potential buffer overflow in process_tx_info
  ANDROID: usb: gadget: f_accessory: Increase buffer size and max burst
  Revert "arm64: dts: taimen: To avoid AOD flickering, changed AOD in/out init.code"
  qcacld-3.0: Check ie_len against 255 in function get_container_ies_len
  arm64: dts: taimen: To avoid AOD flickering, changed AOD in/out init.code
  msm: wlan: Remove channel 14 from Japan
  ANDROID: cpufreq: change uid_cpupower to use u32
  qcacld-3.0: Support NDP Confirm with channel info and Schedule Update
  UPSTREAM: ext4: don't allow encrypted operations without keys
  UPSTREAM: typec: tcpm: Only request matching pdos
  UPSTREAM: typec: tcpm: Validate source and sink caps
  ANDROID: sdcardfs: Protect set_top
  ANDROID: fsnotify: Notify lower fs of open
  Revert "ANDROID: sdcardfs: notify lower file of opens"
  ANDROID: sdcardfs: Use lower getattr times/size
  qcacld-3.0: WLAN upgrade to 5.1.1.44V.3
  qcacld-3.0: Validate CSA WBW IE before processing channel switch
  Revert "arm64/configs: wahoo: remove CONFIG_IPC_LOGGING"
  nl80211: Add the missing nl80211 enums
  Revert "scsi: ufs: Change power mode on line reset"
  Revert "Revert "scsi: ufs: disable auto hibern8""
  KEYS: prevent KEYCTL_READ on negative key
  hrtimer: Reset hrtimer cpu base proper on CPU hotplug
  qcacld-3.0: WLAN upgrade to 5.1.1.44V.2
  qcacld-3.0: Avoid panic during HDD resume failure if FW is down
  qcacld-3.0: WLAN upgrade to 5.1.1.44V.1
  qcacld-3.0: Send per chain rssi to upper layer
  qcacld-3.0: Modify dwell time and DBS scan based on scan request
  qcacmn: Send per chain rssi to upper layer
  qcacld-3.0: Add support for HW mode info vendor command
  nl80211: Introduce scan flags to emphasize requested scan behavior
  cfg80211: Scan results to also report the per chain signal strength
  qcacld-3.0: WLAN upgrade to 5.1.1.44V
  msm: wlan: Remove DSRC channels from US reg-domain
  icnss: Update icnss platform driver
  USB: fix buffer overflows with parsing CDC headers
  scsi/ufs: use 16 queue depth for Samsung UFS part
  BACKPORT: USB: core: harden cdc_parse_cdc_header
  ANDROID: clock_gettime(CLOCK_BOOTTIME,) slows down >20x
  qcacld-3.0: Update host driver version to 5.1.1.41W.1
  Revert "scsi: ufs: disable auto hibern8"
  qcacld-3.0: Trim the ACS scan channel list as per acs config
  ANDROID: xattr: Pass EOPNOTSUPP to permission2
  STOPSHIP: ANDROID: cpufreq: concurrent_*_time P/H experiment
  ANDROID: cpufreq: Remove seq_printf from critical path
  ANDROID: sdcardfs: Move default_normal to superblock
  qcacld-3.0: Check the channel width value in CSA processing
  arm64: dts: htc: usb-xa: Lower USB-C temp and hysteresis thresholds
  arm64: dts: lge: Lower USB-C temp and hysteresis thresholds
  wlan_mac: Change from icnss to cnss_utils api
  cnss_utils: Zero out cnss_utils priv structure during initialization
  cnss_utils: Add support for derived MAC address
  cnss_utils: Add support of cnss_utils for WLAN
  arm64: dts: taimen: lower FG empty and cutoff voltages
  arm64: dts: taimen: set vbat-too-low-threshold to 2.8V
  power: qcom: bcl_peripheral: allow setting vbat-too-low from DT
  msm: bus_arb: disable debug logging
  arm64/configs: wahoo: remove CONFIG_IPC_LOGGING
  input: touchscreen: stm: enable touch after unblank
  Add VTI support to Wahoo Kernel
  arm64: dts: taimen: set fg-empty-voltage to 3.2V
  arm64: dts: walleye: set fg-empty-voltage to 3.2V
  power: lge-battery: remove debugging FG log message
  qcacld-3.0: WLAN upgrade to 5.1.1.41W
  wireless: wlan: Remove DSRC channels from ETSI countries
  soc: qcom: ssr: Remove ramdump enabled limitation for crash_reason
  STOPSHIP: ANDROID: vdso: add disable switch for experiments
  ANDROID: wahoo: turn on VDSO
  ANDROID: arm64: vdso32: fix CC=clang build
  ANDROID: wahoo: add CROSS_COMPILE_ARM32 to build configs
  ANDROID: CROSS_COMPILE_ARM32 must work if CONFIG_COMPAT_VDSO
  FROMLIST: BACKPORT: [PATCH 6/6] arm64: Wire up and expose the new compat vDSO
  FROMLIST: BACKPORT: [PATCH 5/6] arm64: compat: 32-bit vDSO setup
  FROMLIST: [PATCH 4/6] arm64: compat: Add a 32-bit vDSO
  FROMLIST: [PATCH 3/6] arm64: Refactor vDSO init/setup
  FROMLIST: [PATCH 2/6] arm64: elf: Set AT_SYSINFO_EHDR in compat processes
  FROMLIST: [PATCH 1/6] arm64: compat: Use vDSO sigreturn trampolines if available
  FROMLIST: lib: vdso: add support for time
  FROMLIST: [PATCH] arm64: compat: Expose offset to registers in sigframes
  FROMLIST: [PATCH v5 12/12] lib: vdso: do not expose gettimeofday, if no arch supported timer
  FROMLIST: [PATCH v5 11/12] lib: vdso: Add support for CLOCK_BOOTTIME
  FROMLIST: [PATCH v5 10/12] arm64: vdso: replace gettimeofday.S with global vgettimeofday.C
  FROMLIST: [PATCH v5 09/12] arm: vdso: move vgettimeofday.c to lib/vdso/
  FROMLIST: [PATCH v5 08/12] arm: vdso: Add ARCH_CLOCK_FIXED_MASK
  FROMLIST: [PATCH v5 07/12] arm: vdso: disable profiling
  FROMLIST: [PATCH v5 06/12] arm: vdso: add support for clock_getres
  FROMLIST: [PATCH v6 05/12] arm: vdso: Add support for CLOCK_MONOTONIC_RAW
  FROMLIST: [PATCH v5 04/12] arm: vdso: do calculations outside reader loops
  FROMLIST: [PATCH v5 03/12] arm: vdso: inline assembler operations to compiler.h
  FROMLIST: [PATCH v5 02/12] arm: vdso: add include file defining __get_datapage()
  FROMLIST: [PATCH v5 01/12] arm: vdso: rename vdso_datapage variables
  FROMLIST: [PATCH v2 3/3] arm64: compat: Add CONFIG_KUSER_HELPERS
  FROMLIST: [PATCH v2 2/3] arm64: compat: Split the sigreturn trampolines and kuser helpers (assembler sources)
  FROMLIST: [PATCH v2 1/3] arm64: compat: Split the sigreturn trampolines and kuser helpers (C sources)
  msm: ipc_logging: fix missing header
  ANDROID: sdcardfs: Fix missing break on default_normal
  mm: skip swap readahead when process is exiting
  ANDROID: sdcardfs: Add default_normal option
  ANDROID: sdcardfs: notify lower file of opens
  UPSTREAM: net: xfrm: allow clearing socket xfrm policies.
  qcacld-3.0: wlan driver upgrade to 5.1.1.38X
  diag: Add timer to make sure wakelock no stuck
  misc: mnh: fix pcie suspend sequence for power down from suspend
  misc: mnh: prevent double ready irq disables
  ANDROID: cpufreq: update conditions for recording cputime
  BACKPORT: arm64: Use __pa_symbol for empty_zero_page
  BACKPORT: arm64: Use __pa_symbol for kernel symbols
  UPSTREAM: mm: Introduce lm_alias
  BACKPORT: time: Clean up CLOCK_MONOTONIC_RAW time handling
  BACKPORT: time: Fix CLOCK_MONOTONIC_RAW sub-nanosecond accounting
  UPSTREAM: arm64: compat: Remove leftover variable declaration
  UPSTREAM: arm64: vdso: constify vm_special_mapping used for aarch32 vectors page
  UPSTREAM: arm64: vdso: add __init section marker to alloc_vectors_page
  UPSTREAM: ARM: 8597/1: VDSO: put RO and RO after init objects into proper sections
  UPSTREAM: arm64: Add support for CLOCK_MONOTONIC_RAW in clock_gettime() vDSO
  UPSTREAM: arm64: Refactor vDSO time functions
  UPSTREAM: arm64: fix vdso-offsets.h dependency
  UPSTREAM: kbuild: drop FORCE from PHONY targets
  UPSTREAM: mm: add PHYS_PFN, use it in __phys_to_pfn()
  UPSTREAM: ARM: 8476/1: VDSO: use PTR_ERR_OR_ZERO for vma check
  Revert "soc: qcom: pil: Dump whole subsystem region"
  misc: mnh: Free firmware buf on download failure
  Revert "arm64: dts: taimen: add delay after sleep out and post panel on cmd"
  ANDROID: cpufreq: uid_concurrent_policy_time
  ANDROID: cpufreq: uid_concurrent_active_time
  ANDROID: cpufreq: concurrent_policy_time by pid
  ANDROID: cpufreq: concurrent_active_time by pid
  PM: wakeup_reasons: Fix formatting for printk
  ufs: show ufs part info in error case
  msm: mdss: ensure mdp transfer before post panel on commands
  spmi-pmic-arb: add support to dispatch interrupt based on IRQ status
  input: ftm4: sync only between repeated touch events
  msm: kgsl: Stop slab shrinker when no more pages can be reclaimed
  UPSTREAM: arm64: vdso: fix clock_getres for 4GiB-aligned res
  build.config.clang.lto: fix LD_LIBRARY_PATH
  soc: qcom: pil: Dump whole subsystem region
  easelcomm: Avoid retries when sending wrap marker
  FROMLIST: arm64: Avoid aligning normal memory pointers in __memcpy_{to,from}io
  misc: easelcomm: Convert service spinlock to mutex
  msm: mdss: enable err_detect irq after post panel on
  misc: easelcomm: Fix signed and unsigned comparison
  drv2624: use regmap_write_bit() for updating bits for volatile registers
  genirq: Add generic action name for chained IRQs
  input: touchscreen: stm: add decoding for additional events
  clk: msm: clock-gpu-8998: Remove 180MHz perf level for gfx3d clock
  arm64: configs: wahoo: enable MNH_PCIE_MULTIPLE_MSI
  misc: mnh: pcie: fix compile error for multiple msi config
  pci: msm: add support for multiple msi interrupts
  ANDROID: Revert "arm64: move ELF_ET_DYN_BASE to 4GB / 4MB"
  sched: rate-limit sched_timing printk
  usb: gadget: f_fs: Fix sleeping while atomic in ffs_epfile_io
  power: Adjust learned capacity max decrement to 0.5%
  arm64: dtbo: muskie: Remove muskie dtbo from build
  ANDROID: cpufreq: Add time_in_state to /proc/uid directories
  ANDROID: proc: Add /proc/uid directory
  input: misc: Fixed LDAF PerformRefSpadManagement
  soc: qcom: glink: Add downvote of transport during SSR
  input: touchscreen: stm: faster touch i2c reads
  ANDROID: binder: show high watermark of alloc->pages.
  ANDROID: binder: Add thread->process_todo flag.
  qpnp-fg-gen3: Move getting battery id and profile to profile_load_work
  input: ftm4: reflash firmware when config or cx is corrupt
  diag: Flush control workqueue immediately on channel close
  BACKPORT: xfrm: Clear sk_dst_cache when applying per-socket policy.
  msm: vidc: Fix issue with regulator node reordering
  staging: bcm15602: add vsel sysfs for all bcm15602 rails
  ...

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	arch/arm/include/asm/kvm_arm.h
	arch/arm64/boot/dts/lge/dsi-panel-sw43402-dsc-qhd-cmd.dtsi
	arch/x86/include/asm/thread_info.h
	arch/x86/kernel/kprobes/core.c
	drivers/gpu/drm/msm/msm_gem_submit.c
	drivers/md/dm-bufio.c
	drivers/media/v4l2-core/v4l2-compat-ioctl32.c
	drivers/mmc/core/bus.c
	drivers/net/wireless/iwlwifi/iwl-nvm-parse.c
	include/linux/compiler-clang.h
	kernel/time/timekeeping.c
	net/bridge/netfilter/ebtables.c
	net/core/dst_cache.c
	net/ipv4/raw.c
	net/xfrm/xfrm_state.c
	sound/usb/card.c
	sound/usb/mixer.c
2018-08-06 12:37:31 -07:00
Greg Kroah-Hartman
8ba8cea1c9 Merge 4.4.134 into android-msm-wahoo-4.4-lts
Linux 4.4.134
    s390/ftrace: use expoline for indirect branches
    kdb: make "mdr" command repeat
    Bluetooth: btusb: Add device ID for RTL8822BE
    ASoC: samsung: i2s: Ensure the RCLK rate is properly determined
  * regulator: of: Add a missing 'of_node_put()' in an error handling path of 'of_regulator_match()'
      drivers/regulator/of_regulator.c
    scsi: lpfc: Fix frequency of Release WQE CQEs
    scsi: lpfc: Fix soft lockup in lpfc worker thread during LIP testing
    scsi: lpfc: Fix issue_lip if link is disabled
  * netlabel: If PF_INET6, check sk_buff ip header version
      net/netlabel/netlabel_unlabeled.c
    selftests/net: fixes psock_fanout eBPF test case
    perf report: Fix memory corruption in --branch-history mode --branch-history
    perf tests: Use arch__compare_symbol_names to compare symbols
    x86/apic: Set up through-local-APIC mode on the boot CPU if 'noapic' specified
    drm/rockchip: Respect page offset for PRIME mmap calls
    MIPS: Octeon: Fix logging messages with spurious periods after newlines
  * audit: return on memory error to avoid null pointer dereference
      kernel/audit.c
    crypto: sunxi-ss - Add MODULE_ALIAS to sun4i-ss
    clk: samsung: exynos3250: Fix PLL rates
    clk: samsung: exynos5250: Fix PLL rates
    clk: samsung: exynos5433: Fix PLL rates
    clk: samsung: exynos5260: Fix PLL rates
    clk: samsung: s3c2410: Fix PLL rates
    media: cx25821: prevent out-of-bounds read on array card
  * udf: Provide saner default for invalid uid / gid
      fs/udf/super.c
  * PCI: Add function 1 DMA alias quirk for Marvell 88SE9220
      drivers/pci/quirks.c
    serial: arc_uart: Fix out-of-bounds access through DT alias
    serial: fsl_lpuart: Fix out-of-bounds access through DT alias
  * serial: imx: Fix out-of-bounds access through serial port index
      drivers/tty/serial/imx.c
    serial: mxs-auart: Fix out-of-bounds access through serial port index
  * serial: samsung: Fix out-of-bounds access through serial port index
      drivers/tty/serial/samsung.c
    serial: xuartps: Fix out-of-bounds access through DT alias
    rtc: tx4939: avoid unintended sign extension on a 24 bit shift
    staging: rtl8192u: return -ENOMEM on failed allocation of priv->oldaddr
    hwrng: stm32 - add reset during probe
    enic: enable rq before updating rq descriptors
    clk: rockchip: Prevent calculating mmc phase if clock rate is zero
    media: em28xx: USB bulk packet size fix
    dmaengine: pl330: fix a race condition in case of threaded irqs
    media: s3c-camif: fix out-of-bounds array access
    media: cx23885: Set subdev host data to clk_freq pointer
    media: cx23885: Override 888 ImpactVCBe crystal frequency
    ALSA: vmaster: Propagate slave error
    x86/devicetree: Fix device IRQ settings in DT
    x86/devicetree: Initialize device tree before using it
  * usb: gadget: composite: fix incorrect handling of OS desc requests
      drivers/usb/gadget/composite.c
      include/linux/usb/composite.h
    usb: gadget: udc: change comparison to bitshift when dealing with a mask
  * gfs2: Fix fallocate chunk size
      fs/gfs2/file.c
    cdrom: do not call check_disk_change() inside cdrom_open()
    hwmon: (pmbus/adm1275) Accept negative page register values
    hwmon: (pmbus/max8688) Accept negative page register values
  * perf/core: Fix perf_output_read_group()
      kernel/events/core.c
  * ASoC: topology: create TLV data for dapm widgets
      sound/soc/soc-topology.c
    powerpc: Add missing prototype for arch_irq_work_raise()
  * usb: gadget: ffs: Execute copy_to_user() with USER_DS set
      drivers/usb/gadget/function/f_fs.c
  * usb: gadget: ffs: Let setup() return USB_GADGET_DELAYED_STATUS
      drivers/usb/gadget/function/f_fs.c
    usb: dwc2: Fix interval type issue
    ipmi_ssif: Fix kernel panic at msg_done_handler
  * PCI: Restore config space on runtime resume despite being unbound
      drivers/pci/pci-driver.c
    MIPS: ath79: Fix AR724X_PLL_REG_PCIE_CONFIG offset
  * xhci: zero usb device slot_id member when disabling and freeing a xhci slot
      drivers/usb/host/xhci-mem.c
    KVM: lapic: stop advertising DIRECTED_EOI when in-kernel IOAPIC is in use
    i2c: mv64xxx: Apply errata delay only in standard mode
  * ACPICA: acpi: acpica: fix acpi operand cache leak in nseval.c
      drivers/acpi/acpica/nseval.c
  * ACPICA: Events: add a return on failure from acpi_hw_register_read
      drivers/acpi/acpica/evevent.c
    bcache: quit dc->writeback_thread when BCACHE_DEV_DETACHING is set
    zorro: Set up z->dev.dma_mask for the DMA API
  * clk: Don't show the incorrect clock phase
      drivers/clk/clk.c
    cpufreq: cppc_cpufreq: Fix cppc_cpufreq_init() failure path
  * usb: dwc3: Update DWC_usb31 GTXFIFOSIZ reg fields
      drivers/usb/dwc3/core.h
    arm: dts: socfpga: fix GIC PPI warning
    virtio-net: Fix operstate for virtio when no VIRTIO_NET_F_STATUS
  * ima: Fallback to the builtin hash algorithm
      security/integrity/ima/ima_main.c
  * ima: Fix Kconfig to select TPM 2.0 CRB interface
      security/integrity/ima/Kconfig
    ath10k: Fix kernel panic while using worker (ath10k_sta_rc_update_wk)
    net/mlx5: Protect from command bit overflow
    selftests: Print the test we're running to /dev/kmsg
    tools/thermal: tmon: fix for segfault
    powerpc/perf: Fix kernel address leak via sampling registers
    powerpc/perf: Prevent kernel address leak to userspace via BHRB buffer
  * rtc: hctosys: Ensure system time doesn't overflow time_t
      drivers/rtc/hctosys.c
    hwmon: (nct6775) Fix writing pwmX_mode
    parisc/pci: Switch LBA PCI bus from Hard Fail to Soft Fail mode
    m68k: set dma and coherent masks for platform FEC ethernets
    powerpc/mpic: Check if cpu_possible() in mpic_physmask()
    ACPI: acpi_pad: Fix memory leak in power saving threads
  * xen/acpi: off by one in read_acpi_id()
      drivers/xen/xen-acpi-processor.c
    btrfs: fix lockdep splat in btrfs_alloc_subvolume_writers
    Btrfs: fix copy_items() return value when logging an inode
    btrfs: tests/qgroup: Fix wrong tree backref level
    Bluetooth: btusb: Add USB ID 7392:a611 for Edimax EW-7611ULB
    net: bgmac: Fix endian access in bgmac_dma_tx_ring_free()
    rtc: snvs: Fix usage of snvs_rtc_enable
    sparc64: Make atomic_xchg() an inline function rather than a macro.
    fscache: Fix hanging wait on page discarded by writeback
    KVM: VMX: raise internal error for exception during invalid protected mode state
  * sched/rt: Fix rq->clock_update_flags < RQCF_ACT_SKIP warning
      kernel/sched/rt.c
    ocfs2/dlm: don't handle migrate lockres if already in shutdown
  * btrfs: Fix possible softlock on single core machines
      fs/btrfs/extent-tree.c
    Btrfs: fix NULL pointer dereference in log_dir_items
    Btrfs: bail out on error during replay_dir_deletes
  * mm: fix races between address_space dereference and free in page_evicatable
      mm/vmscan.c
    mm/ksm: fix interaction with THP
    dp83640: Ensure against premature access to PHY registers after reset
    scsi: aacraid: Insure command thread is not recursively stopped
    cpufreq: CPPC: Initialize shared perf capabilities of CPUs
    Force log to disk before reading the AGF during a fstrim
    sr: get/drop reference to device in revalidate and check_events
  * swap: divide-by-zero when zero length swap file on ssd
      mm/swapfile.c
  * fs/proc/proc_sysctl.c: fix potential page fault while unregistering sysctl table
      fs/proc/proc_sysctl.c
    x86/pgtable: Don't set huge PUD/PMD on non-leaf entries
    sh: fix debug trap failure to process signals before return to user
    net: mvneta: fix enable of all initialized RXQs
  * net: Fix untag for vlan packets without ethernet header
      net/core/skbuff.c
  * mm/kmemleak.c: wait for scan completion before disabling free
      mm/kmemleak.c
    llc: properly handle dev_queue_xmit() return value
    net-usb: add qmi_wwan if on lte modem wistron neweb d18q1
    net/usb/qmi_wwan.c: Add USB id for lt4120 modem
    net: qmi_wwan: add BroadMobi BM806U 2020:2033
    ARM: 8748/1: mm: Define vdso_start, vdso_end as array
    batman-adv: fix packet loss for broadcasted DHCP packets to a server
    batman-adv: fix multicast-via-unicast transmission with AP isolation
    selftests: ftrace: Add a testcase for probepoint
    selftests: ftrace: Add a testcase for string type with kprobe_event
    selftests: ftrace: Add probe event argument syntax testcase
  * mm/mempolicy.c: avoid use uninitialized preferred_node
      mm/mempolicy.c
    RDMA/ucma: Correct option size check using optlen
  * perf/cgroup: Fix child event counting bug
      kernel/events/core.c
  * vti4: Don't override MTU passed on link creation via IFLA_MTU
      net/ipv4/ip_vti.c
  * vti4: Don't count header length twice on tunnel setup
      net/ipv4/ip_vti.c
    batman-adv: fix header size check in batadv_dbg_arp()
  * net: Fix vlan untag for bridge and vlan_dev with reorder_hdr off
      include/uapi/linux/if_ether.h
      net/core/skbuff.c
    sunvnet: does not support GSO for sctp
  * ipv4: lock mtu in fnhe when received PMTU < net.ipv4.route.min_pmtu
      include/net/ip.h
      include/net/ip_fib.h
      include/net/route.h
      net/ipv4/route.c
      net/ipv4/xfrm4_policy.c
  * workqueue: use put_device() instead of kfree()
      kernel/workqueue.c
    bnxt_en: Check valid VNIC ID in bnxt_hwrm_vnic_set_tpa().
  * netfilter: ebtables: fix erroneous reject of last rule
      net/bridge/netfilter/ebtables.c
    USB: OHCI: Fix NULL dereference in HCDs using HCD_LOCAL_MEM
    xen: xenbus: use put_device() instead of kfree()
    fbdev: Fixing arbitrary kernel leak in case FBIOGETCMAP_SPARC in sbusfb_ioctl_helper().
  * scsi: sd: Keep disk read-only when re-reading partition
      drivers/scsi/sd.c
    scsi: mpt3sas: Do not mark fw_event workqueue as WQ_MEM_RECLAIM
  * usb: musb: call pm_runtime_{get,put}_sync before reading vbus registers
      drivers/usb/musb/musb_core.c
    e1000e: allocate ring descriptors with dma_zalloc_coherent
    e1000e: Fix check_for_link return value with autoneg off
    watchdog: f71808e_wdt: Fix magic close handling
    KVM: PPC: Book3S HV: Fix VRMA initialization with 2MB or 1GB memory backing
    selftests/powerpc: Skip the subpage_prot tests if the syscall is unavailable
  * Btrfs: send, fix issuing write op when processing hole in no data mode
      fs/btrfs/send.c
    xen/pirq: fix error path cleanup when binding MSIs
    net/tcp/illinois: replace broken algorithm reference link
    gianfar: Fix Rx byte accounting for ndev stats
  * sit: fix IFLA_MTU ignored on NEWLINK
      net/ipv6/sit.c
    bcache: fix kcrashes with fio in RAID5 backend dev
    dmaengine: rcar-dmac: fix max_chunk_size for R-Car Gen3
    virtio-gpu: fix ioctl and expose the fixed status to userspace.
  * r8152: fix tx packets accounting
      drivers/net/usb/r8152.c
    clocksource/drivers/fsl_ftm_timer: Fix error return checking
    nvme-pci: Fix nvme queue cleanup if IRQ setup fails
  * netfilter: ebtables: convert BUG_ONs to WARN_ONs
      net/bridge/netfilter/ebtables.c
    batman-adv: invalidate checksum on fragment reassembly
    batman-adv: fix packet checksum in receive path
    md/raid1: fix NULL pointer dereference
    media: dmxdev: fix error code for invalid ioctls
    x86/topology: Update the 'cpu cores' field in /proc/cpuinfo correctly across CPU hotplug operations
    locking/xchg/alpha: Fix xchg() and cmpxchg() memory ordering bugs
  * regulatory: add NUL to request alpha2
      include/net/regulatory.h
    smsc75xx: fix smsc75xx_set_features()
    ARM: OMAP: Fix dmtimer init for omap1
    s390/cio: clear timer when terminating driver I/O
    s390/cio: fix return code after missing interrupt
    powerpc/bpf/jit: Fix 32-bit JIT for seccomp_data access
  * kernel/relay.c: limit kmalloc size to KMALLOC_MAX_SIZE
      kernel/relay.c
    md: raid5: avoid string overflow warning
    locking/xchg/alpha: Add unconditional memory barrier to cmpxchg()
  * usb: musb: fix enumeration after resume
      drivers/usb/musb/musb_core.c
    drm/exynos: fix comparison to bitshift when dealing with a mask
    md raid10: fix NULL deference in handle_write_completed()
  * mac80211: round IEEE80211_TX_STATUS_HEADROOM up to multiple of 4
      include/net/mac80211.h
  * NFC: llcp: Limit size of SDP URI
      net/nfc/netlink.c
    ARM: OMAP1: clock: Fix debugfs_create_*() usage
    ARM: OMAP3: Fix prm wake interrupt for resume
    ARM: OMAP2+: timer: fix a kmemleak caused in omap_get_timer_dt
    scsi: qla4xxx: skip error recovery in case of register disconnect.
    scsi: aacraid: fix shutdown crash when init fails
    scsi: storvsc: Increase cmd_per_lun for higher speed devices
    selftests: memfd: add config fragment for fuse
    usb: dwc2: Fix dwc2_hsotg_core_init_disconnected()
    usb: gadget: fsl_udc_core: fix ep valid checks
    usb: gadget: f_uac2: fix bFirstInterface in composite gadget
    ARC: Fix malformed ARC_EMUL_UNALIGNED default
    scsi: qla2xxx: Avoid triggering undefined behavior in qla2x00_mbx_completion()
    scsi: mptfusion: Add bounds check in mptctl_hp_targetinfo()
    scsi: sym53c8xx_2: iterator underflow in sym_getsync()
    scsi: bnx2fc: Fix check in SCSI completion handler for timed out request
  * scsi: ufs: Enable quirk to ignore sending WRITE_SAME command
      drivers/scsi/ufs/ufshcd.c
  * irqchip/gic-v3: Change pr_debug message to pr_devel
      drivers/irqchip/irq-gic-v3.c
    locking/qspinlock: Ensure node->count is updated before initialising node
    tools/libbpf: handle issues with bpf ELF objects containing .eh_frames
    bcache: return attach error when no cache set exist
    bcache: fix for data collapse after re-attaching an attached device
    bcache: fix for allocator and register thread race
    bcache: properly set task state in bch_writeback_thread()
  * cifs: silence compiler warnings showing up with gcc-8.0.0
      fs/cifs/cifssmb.c
  * proc: fix /proc/*/map_files lookup
      fs/proc/base.c
  * arm64: spinlock: Fix theoretical trylock() A-B-A with LSE atomics
      arch/arm64/include/asm/spinlock.h
    RDS: IB: Fix null pointer issue
    xen/grant-table: Use put_page instead of free_page
    xen-netfront: Fix race between device setup and open
    MIPS: TXx9: use IS_BUILTIN() for CONFIG_LEDS_CLASS
  * bpf: fix selftests/bpf test_kmod.sh failure when CONFIG_BPF_JIT_ALWAYS_ON=y
      lib/test_bpf.c
  * ACPI: processor_perflib: Do not send _PPC change notification if not ready
      drivers/acpi/processor_perflib.c
  * firmware: dmi_scan: Fix handling of empty DMI strings
      drivers/firmware/dmi_scan.c
  * x86/power: Fix swsusp_arch_resume prototype
      include/linux/suspend.h
      kernel/power/power.h
    IB/ipoib: Fix for potential no-carrier state
  * mm: pin address_space before dereferencing it while isolating an LRU page
      mm/vmscan.c
  * asm-generic: provide generic_pmdp_establish()
      include/asm-generic/pgtable.h
  * mm/mempolicy: add nodes_empty check in SYSC_migrate_pages
      mm/mempolicy.c
  * mm/mempolicy: fix the check of nodemask from user
      mm/mempolicy.c
    ocfs2: return error when we attempt to access a dirty bh in jbd2
    ocfs2/acl: use 'ip_xattr_sem' to protect getting extended attribute
    ocfs2: return -EROFS to mount.ocfs2 if inode block is invalid
    ntb_transport: Fix bug with max_mw_size parameter
    RDMA/mlx5: Avoid memory leak in case of XRCD dealloc failure
    powerpc/numa: Ensure nodes initialized for hotplug
    powerpc/numa: Use ibm,max-associativity-domains to discover possible nodes
    jffs2: Fix use-after-free bug in jffs2_iget()'s error handling path
  * HID: roccat: prevent an out of bounds read in kovaplus_profile_activated()
      drivers/hid/hid-roccat-kovaplus.c
    scsi: fas216: fix sense buffer initialization
  * Btrfs: fix scrub to repair raid6 corruption
      fs/btrfs/volumes.c
    btrfs: Fix out of bounds access in btrfs_search_slot
  * Btrfs: set plug for fsync
      fs/btrfs/file.c
    ipmi/powernv: Fix error return code in ipmi_powernv_probe()
    mac80211_hwsim: fix possible memory leak in hwsim_new_radio_nl()
  * kconfig: Fix expr_free() E_NOT leak
      scripts/kconfig/expr.c
  * kconfig: Fix automatic menu creation mem leak
      scripts/kconfig/menu.c
    kconfig: Don't leak main menus during parsing
    watchdog: sp5100_tco: Fix watchdog disable bit
    nfs: Do not convert nfs_idmap_cache_timeout to jiffies
    dm thin: fix documentation relative to low water mark threshold
    tools lib traceevent: Fix get_field_str() for dynamic strings
    perf callchain: Fix attr.sample_max_stack setting
    tools lib traceevent: Simplify pointer print logic and fix %pF
  * PCI: Add function 1 DMA alias quirk for Marvell 9128
      drivers/pci/quirks.c
  * tracing/hrtimer: Fix tracing bugs by taking all clock bases and modes into account
      include/trace/events/timer.h
    kvm: x86: fix KVM_XEN_HVM_CONFIG ioctl
    ASoC: au1x: Fix timeout tests in au1xac97c_ac97_read()
  * ALSA: hda - Use IS_REACHABLE() for dependency on input
      sound/pci/hda/Kconfig
      sound/pci/hda/patch_realtek.c
  * NFSv4: always set NFS_LOCK_LOST when a lock is lost.
      fs/nfs/nfs4proc.c
      fs/nfs/nfs4state.c
    firewire-ohci: work around oversized DMA reads on JMicron controllers
  * do d_instantiate/unlock_new_inode combinations safely
      fs/btrfs/inode.c
      fs/dcache.c
      fs/ext4/namei.c
      fs/f2fs/namei.c
      include/linux/dcache.h
    xfs: remove racy hasattr check from attr ops
  * kernel/signal.c: avoid undefined behaviour in kill_something_info
      kernel/signal.c
  * kernel/sys.c: fix potential Spectre v1 issue
      kernel/sys.c
    kasan: fix memory hotplug during boot
    ipc/shm: fix shmat() nil address after round-down when remapping
    Revert "ipc/shm: Fix shmat mmap nil-page protection"
  * xen-swiotlb: fix the check condition for xen_swiotlb_free_coherent
      drivers/xen/swiotlb-xen.c
    libata: blacklist Micron 500IT SSD with MU01 firmware
    libata: Blacklist some Sandisk SSDs for NCQ
    mmc: sdhci-iproc: fix 32bit writes for TRANSFER_MODE register
  * ALSA: timer: Fix pause event notification
      sound/core/timer.c
  * aio: fix io_destroy(2) vs. lookup_ioctx() race
      fs/aio.c
    affs_lookup(): close a race with affs_remove_link()
    KVM: Fix spelling mistake: "cop_unsuable" -> "cop_unusable"
    MIPS: Fix ptrace(2) PTRACE_PEEKUSR and PTRACE_POKEUSR accesses to o32 FGRs
    MIPS: ptrace: Expose FIR register through FP regset

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2018-07-30 07:07:21 -07:00
Greg Kroah-Hartman
5c9fc8fd59 Merge 4.4.133 into android-msm-wahoo-4.4-lts
Linux 4.4.133
    x86/kexec: Avoid double free_page() upon do_kexec_load() failure
    hfsplus: stop workqueue when fill_super() failed
  * cfg80211: limit wiphy names to 128 bytes
      include/uapi/linux/nl80211.h
      net/wireless/core.c
    gpio: rcar: Add Runtime PM handling for interrupts
  * time: Fix CLOCK_MONOTONIC_RAW sub-nanosecond accounting
      include/linux/timekeeper_internal.h
      kernel/time/timekeeping.c
  * dmaengine: ensure dmaengine helpers check valid callback
      include/linux/dmaengine.h
    scsi: zfcp: fix infinite iteration on ERP ready list
  * scsi: sg: allocate with __GFP_ZERO in sg_build_indirect()
      drivers/scsi/sg.c
    scsi: libsas: defer ata device eh commands to libata
    s390: use expoline thunks in the BPF JIT
    s390: extend expoline to BC instructions
    s390: move spectre sysfs attribute code
    s390/kernel: use expoline for indirect branches
    s390/lib: use expoline for indirect branches
    s390: move expoline assembler macros to a header
    s390: add assembler macros for CPU alternatives
    ext2: fix a block leak
  * tcp: purge write queue in tcp_connect_init()
      net/ipv4/tcp_output.c
  * sock_diag: fix use-after-free read in __sk_free
      net/core/sock.c
  * packet: in packet_snd start writing at link layer allocation
      net/packet/af_packet.c
  * net: test tailroom before appending to linear skb
      net/ipv4/ip_output.c
      net/ipv6/ip6_output.c
    btrfs: fix reading stale metadata blocks after degraded raid1 mounts
  * btrfs: fix crash when trying to resume balance without the resume flag
      fs/btrfs/volumes.c
    Btrfs: fix xattr loss after power failure
    ARM: 8772/1: kprobes: Prohibit kprobes on get_user functions
    ARM: 8770/1: kprobes: Prohibit probing on optimized_callback
    ARM: 8769/1: kprobes: Fix to use get_kprobe_ctlblk after irq-disabed
  * tick/broadcast: Use for_each_cpu() specially on UP kernels
      kernel/time/tick-broadcast.c
    ARM: 8771/1: kprobes: Prohibit kprobes on do_undefinstr
  * efi: Avoid potential crashes, fix the 'struct efi_pci_io_protocol_32' definition for mixed mode
      include/linux/efi.h
    s390: remove indirect branch from do_softirq_own_stack
    s390/qdio: don't release memory in qdio_setup_irq()
    s390/cpum_sf: ensure sample frequency of perf event attributes is non-zero
    s390/qdio: fix access to uninitialized qdio_q fields
  * mm: don't allow deferred pages with NEED_PER_CPU_KM
      mm/Kconfig
    powerpc/powernv: Fix NVRAM sleep in invalid context when crashing
  * procfs: fix pthread cross-thread naming if !PR_DUMPABLE
      fs/proc/base.c
  * proc read mm's {arg,env}_{start,end} with mmap semaphore taken.
      fs/proc/base.c
      mm/util.c
    tracing/x86/xen: Remove zero data size trace events trace_xen_mmu_flush_tlb{_all}
    cpufreq: intel_pstate: Enable HWP by default
  * signals: avoid unnecessary taking of sighand->siglock
      include/linux/signal.h
      kernel/signal.c
  * mm: filemap: avoid unnecessary calls to lock_page when waiting for IO to complete during a read
      mm/filemap.c
  * mm: filemap: remove redundant code in do_read_cache_page
      mm/filemap.c
  * proc: meminfo: estimate available memory more conservatively
      fs/proc/meminfo.c
  * vmscan: do not force-scan file lru if its absolute size is small
      mm/vmscan.c
    powerpc: Don't preempt_disable() in show_cpuinfo()
    cpuidle: coupled: remove unused define cpuidle_coupled_lock
    powerpc/powernv: remove FW_FEATURE_OPALv3 and just use FW_FEATURE_OPAL
    powerpc/powernv: Remove OPALv2 firmware define and references
    powerpc/powernv: panic() on OPAL < V3
    spi: pxa2xx: Allow 64-bit DMA
  * ALSA: control: fix a redundant-copy issue
      sound/core/control_compat.c
  * ALSA: hda: Add Lenovo C50 All in one to the power_save blacklist
      sound/pci/hda/hda_intel.c
  * ALSA: usb: mixer: volume quirk for CM102-A+/102S+
      sound/usb/mixer.c
  * usbip: usbip_host: fix bad unlock balance during stub_probe()
      drivers/usb/usbip/stub_main.c
  * usbip: usbip_host: fix NULL-ptr deref and use-after-free errors
      drivers/usb/usbip/stub_dev.c
      drivers/usb/usbip/stub_main.c
  * usbip: usbip_host: run rebind from exit when module is removed
      drivers/usb/usbip/stub_dev.c
      drivers/usb/usbip/stub_main.c
  * usbip: usbip_host: delete device from busid_table after rebind
      drivers/usb/usbip/stub_main.c
  * usbip: usbip_host: refine probe and disconnect debug msgs to be useful
      drivers/usb/usbip/stub_dev.c
  * kernel/exit.c: avoid undefined behaviour when calling wait4()
      kernel/exit.c
  * futex: futex_wake_op, fix sign_extend32 sign bits
      kernel/futex.c
  * pipe: cap initial pipe capacity according to pipe-max-size limit
      fs/pipe.c
  * l2tp: revert "l2tp: fix missing print session offset info"
      net/l2tp/l2tp_netlink.c
    Revert "ARM: dts: imx6qdl-wandboard: Fix audio channel swap"
    lockd: lost rollback of set_grace_period() in lockd_down_net()
  * xfrm: fix xfrm_do_migrate() with AEAD e.g(AES-GCM)
      net/xfrm/xfrm_state.c
  * futex: Remove duplicated code and fix undefined behaviour
      arch/arm64/include/asm/futex.h
      kernel/futex.c
  * futex: Remove unnecessary warning from get_futex_key
      kernel/futex.c
  * arm64: Add work around for Arm Cortex-A55 Erratum 1024718
      arch/arm64/Kconfig
      arch/arm64/include/asm/assembler.h
      arch/arm64/include/asm/cputype.h
      arch/arm64/mm/proc.S
  * arm64: introduce mov_q macro to move a constant into a 64-bit register
      arch/arm64/include/asm/assembler.h
    audit: move calcs after alloc and check when logging set loginuid
  * ALSA: timer: Call notifier in the same spinlock
      sound/core/timer.c
    sctp: delay the authentication for the duplicated cookie-echo chunk
    sctp: fix the issue that the cookie-ack with auth can't get processed
  * tcp: ignore Fast Open on repair mode
      net/ipv4/tcp.c
  * bonding: do not allow rlb updates to invalid mac
      drivers/net/bonding/bond_alb.c
    tg3: Fix vunmap() BUG_ON() triggered from tg3_free_consistent().
    sctp: use the old asoc when making the cookie-ack chunk in dupcook_d
  * sctp: handle two v4 addrs comparison in sctp_inet6_cmp_addr
      net/sctp/ipv6.c
    r8169: fix powering up RTL8168h
    qmi_wwan: do not steal interfaces from class drivers
  * openvswitch: Don't swap table in nlattr_set() after OVS_ATTR_NESTED is found
      net/openvswitch/flow_netlink.c
  * net: support compat 64-bit time in {s,g}etsockopt
      net/compat.c
    net_sched: fq: take care of throttled flows before reuse
    net/mlx4_en: Verify coalescing parameters are in range
    net: ethernet: sun: niu set correct packet size in skb
    llc: better deal with too small mtu
  * ipv4: fix memory leaks in udp_sendmsg, ping_v4_sendmsg
      net/ipv4/ping.c
      net/ipv4/udp.c
  * dccp: fix tasklet usage
      net/dccp/ccids/ccid2.c
  * bridge: check iface upper dev when setting master via ioctl
      net/bridge/br_if.c
    8139too: Use disable_irq_nosync() in rtl8139_poll_controller()

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2018-07-30 06:57:27 -07:00