tree 454c8b7988066312dea920accfd486a92e744827
parent 1e82b7ed214e1c924ab94521e25a179eeb4e80e6
parent dda0e2920330128e0dbdeb11c8f25031aa40b11c
author Vaibhav Rustagi <vaibhavrustagi@google.com> 1585863217 -0700
committer Vaibhav Rustagi <vaibhavrustagi@google.com> 1585930245 +0000

merge-upstream/v4.19.114 from branch/tag: upstream/v4.19.114 into branch: cos-4.19

Conflicts:
 scripts/Makefile.extrawarn

Changelog:
-------------------------------------------------------------

Alberto Mattea (1):
      usb: xhci: apply XHCI_SUSPEND_DELAY to AMD XHCI controller 1022:145c

Alexander Shishkin (2):
      intel_th: Fix user-visible error codes
      intel_th: pci: Add Elkhart Lake CPU support

Anthony Mallet (2):
      USB: cdc-acm: fix close_delay and closing_wait units in TIOCSSERIAL
      USB: cdc-acm: fix rounding error in TIOCSSERIAL

Arthur Demchenkov (1):
      ARM: dts: N900: fix onenand timings

Bhawanpreet Lakha (1):
      drm/amd/display: Clear link settings on MST disable connector

Carlo Nonato (1):
      block, bfq: fix overwrite of bfq_group pointer in bfq_find_set_group()

Chuhong Yuan (1):
      i2c: hix5hd2: add missed clk_disable_unprepare in remove

Chunguang Xu (1):
      memcg: fix NULL pointer dereference in __mem_cgroup_usage_unregister_event

Cong Wang (2):
      net_sched: cls_route: remove the right filter from hashtable
      net_sched: keep alloc_hash updated after hash allocation

Corentin Labbe (1):
      rtc: max8907: add missing select REGMAP_IRQ

Cristian Marussi (2):
      arm64: smp: fix smp_send_stop() behaviour
      arm64: smp: fix crash_smp_send_stop() behaviour

Dajun Jin (1):
      drivers/of/of_mdio.c:fix of_mdiobus_register()

Dan Carpenter (2):
      NFC: fdp: Fix a signedness bug in fdp_nci_send_patch()
      Input: raydium_i2c_ts - fix error codes in raydium_i2c_boot_trigger()

Daniel Axtens (1):
      altera-stapl: altera_get_note: prevent write beyond end of 'key'

Daniele Palmas (1):
      USB: serial: option: add ME910G1 ECM composition 0x110b

David Howells (1):
      afs: Fix some tracing details

Dirk Mueller (1):
      scripts/dtc: Remove redundant YYLOC global declaration

Dominik Czarnota (1):
      sxgbe: Fix off by one in samsung driver strncpy size arg

Dongli Zhang (2):
      xenbus: req->body should be updated before req->state
      xenbus: req->err should be updated before req->state

Edward Cree (1):
      genirq: Fix reference leaks on irq affinity notifiers

Edwin Peer (1):
      bnxt_en: fix memory leaks in bnxt_dcbnl_ieee_getets()

Emil Renner Berthing (1):
      net: stmmac: dwmac-rk: fix error path in rk_gmac_probe

Eric Biggers (4):
      libfs: fix infoleak in simple_attr_read()
      vt: vt_ioctl: remove unnecessary console allocation checks
      vt: vt_ioctl: fix VT_DISALLOCATE freeing in-use virtual console
      vt: vt_ioctl: fix use-after-free in vt_in_use()

Eric Dumazet (1):
      tcp: repair: fix TCP_QUEUE_SEQ implementation

Eugen Hristev (1):
      iio: adc: at91-sama5d2_adc: fix differential channels in triggered mode

Eugene Syromiatnikov (1):
      Input: avoid BIT() macro usage in the serio.h UAPI header

Evan Benn (1):
      drm/mediatek: Find the cursor plane instead of hard coding it

Evan Green (1):
      spi: pxa2xx: Add CS control clock quirk

Fabrice Gasnier (1):
      iio: trigger: stm32-timer: disable master mode when stopping

Filipe Manana (1):
      btrfs: fix log context list corruption after rename whiteout error

Florian Fainelli (1):
      net: dsa: Fix duplicate frames flooded by learning

Florian Westphal (1):
      geneve: move debug check after netdev unregister

Georg Müller (1):
      platform/x86: pmc_atom: Add Lex 2I385SW to critclk_systems DMI table

Greg Kroah-Hartman (5):
      Linux 4.19.113
      Revert "r8169: check that Realtek PHY driver module is loaded"
      bpf: Explicitly memset the bpf_attr structure
      bpf: Explicitly memset some bpf info structures declared on the stack
      Linux 4.19.114

Haishuang Yan (1):
      netfilter: flowtable: reload ip{v6}h in nf_flow_tuple_ip{v6}

Hans de Goede (5):
      usb: quirks: add NO_LPM quirk for RTL8153 based ethernet adapters
      gpiolib: acpi: Correct comment for HP x2 10 honor_wakeup quirk
      gpiolib: acpi: Rework honor_wakeup option into an ignore_wake option
      gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 BYT + AXP288 model
      gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 CHT + AXP288 model

Heiner Kallweit (1):
      r8169: re-enable MSI on RTL8168c

Ido Schimmel (1):
      mlxsw: spectrum_mr: Fix list iteration in error path

Ilie Halip (1):
      arm64: alternative: fix build with clang integrated assembler

Ilya Dryomov (1):
      ceph: check POOL_FLAG_FULL/NEARFULL in addition to OSDMAP_FULL/NEARFULL

Jernej Skrabec (1):
      drm/bridge: dw-hdmi: fix AVI frame colorimetry

Jiri Kosina (1):
      ftrace/x86: Anotate text_mutex split between ftrace_arch_code_modify_post_process() and ftrace_arch_code_modify_prepare()

Jiri Slaby (3):
      vt: selection, introduce vc_is_sel
      vt: ioctl, switch VT_IS_IN_USE and VT_BUSY to inlines
      vt: switch vt_dont_switch to bool

Jisheng Zhang (1):
      net: mvneta: Fix the case where the last poll did not process all rx

Joerg Roedel (1):
      x86/mm: split vmalloc_sync_all()

Johan Hovold (9):
      staging: greybus: loopback_test: fix poll-mask build breakage
      staging: greybus: loopback_test: fix potential path truncation
      staging: greybus: loopback_test: fix potential path truncations
      media: flexcop-usb: fix endpoint sanity check
      media: usbtv: fix control-message timeouts
      media: ov519: add missing endpoint sanity checks
      media: dib0700: fix rc endpoint lookup
      media: stv06xx: add missing descriptor sanity checks
      media: xirlink_cit: add missing descriptor sanity checks

Johannes Berg (4):
      nl80211: fix NL80211_ATTR_CHANNEL_WIDTH attribute type
      mac80211: mark station unauthorized before key removal
      mac80211: set IEEE80211_TX_CTRL_PORT_CTRL_PROTO for nl80211 TX
      mac80211: fix authentication with iwlwifi/mvm

Jonathan Neuschäfer (1):
      parse-maintainers: Mark as executable

Josip Pavic (1):
      drm/amd/display: fix dcc swath size calculations on dcn1

Jouni Malinen (1):
      mac80211: Check port authorization in the ieee80211_tx_dequeue() case

Julian Wiedmann (1):
      s390/qeth: handle error when backing RX buffer

Kai-Heng Feng (3):
      USB: Disable LPM on WD19's Realtek Hub
      ALSA: hda/realtek: Fix pop noise on ALC225
      ahci: Add Intel Comet Lake H RAID PCI ID

Kishon Vijay Abraham I (1):
      ARM: dts: dra7: Add "dma-ranges" property to PCIe RC DT nodes

Larry Finger (1):
      staging: rtl8188eu: Add ASUS USB-N10 Nano B1 to device table

Linus Torvalds (1):
      mm: slub: be more careful about the double cmpxchg of freelist

Lyude Paul (1):
      Revert "drm/dp_mst: Skip validating ports during destruction, just ref"

Madalin Bucur (5):
      dt-bindings: net: FMan erratum A050385
      arm64: dts: ls1043a: FMan erratum A050385
      fsl/fman: detect FMan erratum A050385
      arm64: dts: ls1043a-rdb: correct RGMII delay mode to rgmii-id
      arm64: dts: ls1046ardb: set RGMII interfaces to RGMII_ID mode

Mans Rullgard (1):
      usb: musb: fix crash with highmen PIO and usbmon

Maor Gottlieb (1):
      RDMA/mlx5: Block delay drop to unprivileged users

Marco Felsch (1):
      ARM: dts: imx6: phycore-som: fix arm and soc minimum voltage

Marek Szyprowski (2):
      drm/exynos: dsi: propagate error value and silence meaningless warning
      drm/exynos: dsi: fix workaround for the legacy clock name

Marek Vasut (1):
      net: ks8851-ml: Fix IO operations, again

Martin K. Petersen (1):
      scsi: sd: Fix optimal I/O size for devices that change reported values

Masami Hiramatsu (2):
      perf probe: Do not depend on dwfl_module_addrsym()
      tools: Let O= makes handle a relative path with -C option

Matthias Reichl (1):
      USB: cdc-acm: restore capability check order

Michael Straube (1):
      staging: rtl8188eu: Add device id for MERCUSYS MW150US v2

Michał Mirosław (1):
      mmc: sdhci-of-at91: fix cd-gpios for SAMA5D2

Mike Gilbert (1):
      cpupower: avoid multiple definition with gcc -fno-common

Mike Marciniszyn (1):
      RDMA/core: Ensure security pkey modify is not lost

Mike Snitzer (2):
      dm bio record: save/restore bi_end_io and bi_integrity
      dm integrity: use dm_bio_record and dm_bio_restore

Nathan Chancellor (2):
      kbuild: Disable -Wpointer-to-enum-cast
      dpaa_eth: Remove unnecessary boolean expression in dpaa_get_headroom

Naveen N. Rao (1):
      powerpc: Include .BTF section

Nick Hudson (1):
      ARM: bcm2835-rpi-zero-w: Add missing pinctrl name

Nicolas Cavallari (1):
      mac80211: Do not send mesh HWMP PREQ if HWMP is disabled

Nicolas Dichtel (1):
      vti[6]: fix packet tx through bpf_redirect() in XinY cases

Oliver Hartkopp (1):
      slcan: not call free_netdev before rtnl_unlock in slcan_open

Pablo Neira Ayuso (1):
      netfilter: nft_fwd_netdev: validate family and chain type

Pawel Dembicki (4):
      net: qmi_wwan: add support for ASKEY WWHC050
      USB: serial: option: add support for ASKEY WWHC050
      USB: serial: option: add BroadMobi BM806U
      USB: serial: option: add Wistron Neweb D19Q1

Peter Zijlstra (1):
      futex: Fix inode life-time issue

Petr Machata (2):
      net: ip_gre: Separate ERSPAN newlink / changelink callbacks
      net: ip_gre: Accept IFLA_INFO_DATA-less configuration

Qian Cai (1):
      page-flags: fix a crash at SetPageError(THP_SWAP)

Qiujun Huang (4):
      drm/lease: fix WARNING in idr_destroy
      USB: serial: io_edgeport: fix slab-out-of-bounds read in edge_interrupt_callback
      staging: wlan-ng: fix ODEBUG bug in prism2sta_disconnect_usb
      staging: wlan-ng: fix use-after-free Read in hfa384x_usbin_callback

Raed Salem (1):
      xfrm: handle NETDEV_UNREGISTER for xfrm device

Rajkumar Manoharan (1):
      mac80211: add option for setting control flags

Ran Wang (1):
      usb: host: xhci-plat: add a shutdown

Rayagonda Kokatanur (1):
      net: phy: mdio-mux-bcm-iproc: check clk_prepare_enable() return value

René van Dorst (1):
      net: dsa: mt7530: Change the LINK bit to reflect the link status

Ricky Wu (1):
      mmc: rtsx_pci: Fix support for speed-modes that relies on tuning

Roger Quadros (2):
      ARM: dts: dra7: Add bus_dma_limit for L3 bus
      ARM: dts: omap5: Add bus_dma_limit for L3 bus

Samuel Thibault (1):
      staging/speakup: fix get_word non-space look-ahead

Sasha Levin (2):
      Revert "vrf: mark skb for multicast or link-local as enslaved to VRF"
      Revert "ipv6: Fix handling of LLA with VRF and sockets bound to VRF"

Scott Chen (1):
      USB: serial: pl2303: add device-id for HP LD381

Scott Mayhew (1):
      nfs: add minor version to nfs_server_key for fscache

Stephan Gerhold (1):
      iio: magnetometer: ak8974: Fix negative raw values in sysfs

Steven Rostedt (VMware) (1):
      xhci: Do not open code __print_symbolic() in xhci trace events

Sungbo Eo (1):
      ARM: dts: oxnas: Fix clear-mask property

Taehee Yoo (5):
      hsr: fix general protection fault in hsr_addr_is_self()
      vxlan: check return value of gro_cells_init()
      hsr: use rcu_read_lock() in hsr_get_node_{list/status}()
      hsr: add restart routine into hsr_get_node_list()
      hsr: set .netnsok flag

Takashi Iwai (5):
      ALSA: line6: Fix endless MIDI read loop
      ALSA: seq: virmidi: Fix running status after receiving sysex
      ALSA: seq: oss: Fix running status after receiving sysex
      ALSA: pcm: oss: Avoid plugin buffer overflow
      ALSA: pcm: oss: Remove WARNING from snd_pcm_plug_alloc() checks

Thomas Gleixner (1):
      futex: Unbreak futex hashing

Thommy Jakobsson (1):
      spi/zynqmp: remove entry that causes a cs glitch

Tom St Denis (1):
      drm/amd/amdgpu: Fix GPR read from debugfs (v2)

Tomas Novotny (1):
      iio: light: vcnl4000: update sampling periods for vcnl4200

Torsten Hilbrich (1):
      vti6: Fix memory leak of skb if input policy check fails

Tycho Andersen (1):
      cgroup1: don't call release_agent when it is ""

Ulf Hansson (5):
      mmc: core: Allow host controllers to require R1B for CMD6
      mmc: core: Respect MMC_CAP_NEED_RSP_BUSY for erase/trim/discard
      mmc: core: Respect MMC_CAP_NEED_RSP_BUSY for eMMC sleep command
      mmc: sdhci-omap: Fix busy detection by enabling MMC_CAP_NEED_RSP_BUSY
      mmc: sdhci-tegra: Fix busy detection by enabling MMC_CAP_NEED_RSP_BUSY

Vasily Averin (1):
      cgroup-v1: cgroup_pidlist_next should update position index

Vasundhara Volam (1):
      bnxt_en: Reset rings if ring reservation fails during open()

Vincent Chen (1):
      riscv: avoid the PIC offset of static percpu data in module beyond 2G limits

Vlastimil Babka (1):
      mm, slub: prevent kmalloc_node crashes and memory leaks

Wen Xiong (1):
      scsi: ipr: Fix softlockup when rescanning devices in petitboot

Wen-chien Jesse Sung (1):
      iio: st_sensors: remap SMO8840 to LIS2DH12

Willem de Bruijn (2):
      macsec: restrict to ethernet devices
      net/packet: tpacket_rcv: avoid a producer race condition

Xin Long (2):
      xfrm: fix uctx len check in verify_sec_ctx_len
      xfrm: add the missing verify_sec_ctx_len check in xfrm_add_acquire

Yoshiki Komachi (1):
      bpf/btf: Fix BTF verification of enum members in struct/union

YueHaibing (1):
      xfrm: policy: Fix doulbe free in xfrm_policy_timer

Yuji Sasaki (1):
      spi: qup: call spi_qup_pm_resume_runtime before suspending

Yussuf Khalil (1):
      Input: synaptics - enable RMI on HP Envy 13-ad105ng

Zh-yuan Ye (1):
      net: cbs: Fix software cbs to consider packet sending time

disconnect3d (1):
      perf map: Fix off by one in strncpy() size argument

luanshi (1):
      drivers/perf: arm_pmu_acpi: Fix incorrect checking of gicc pointer

BUG=b/152939125,b/153136662
TEST=tryjob, validation and K8s e2e
RELEASE_NOTE=Upgraded the Linux kernel to upstream/v4.19.114

Signed-off-by: Vaibhav Rustagi <vaibhavrustagi@google.com>
Change-Id: Iaebd36ca260c4e162fe2f683a0c510b37cc9e1a2
