tree 7abd70fbd9dbcb9cfb9181778e66196e724d9e9b
parent 1820e155a215b65bc1e089625f2633abc0c05d48
parent 7edd66cf61670d2d0c31f89cb3a247016e489a8a
author Lakitu Kernel Bot <cloud-image-merge-automation@prod.google.com> 1587718650 -0700
committer Vaibhav Rustagi <vaibhavrustagi@google.com> 1587743170 +0000

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

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

Adrian Huang (1):
      iommu/amd: Fix the configuration of GCR3 table root pointer

Alexander Gordeev (1):
      s390/cpuinfo: fix wrong output when CPU0 is offline

Alexandre Belloni (1):
      rtc: 88pm860x: fix possible race condition

Chao Yu (2):
      f2fs: fix NULL pointer dereference in f2fs_write_begin()
      f2fs: fix to wait all node page writeback

Claudiu Beznea (1):
      clk: at91: usb: continue if clk_hw_round_rate() return zero

Dan Carpenter (3):
      libnvdimm: Out of bounds read in __nd_ioctl()
      fbdev: potential information leak in do_fb_ioctl()
      mtd: lpddr: Fix a double free in probe()

Daniel Borkmann (1):
      bpf: fix buggy r0 retval refinement for tracing helpers

David Hildenbrand (1):
      KVM: s390: vsie: Fix possible race when shadowing region 3 tables

Dmitry Osipenko (1):
      power: supply: bq27xxx_battery: Silence deferred-probe error

Eric Sandeen (1):
      ext4: do not commit super on read-only bdev

Florian Fainelli (1):
      net: dsa: bcm_sf2: Fix overflow checks

Frank Rowand (4):
      of: unittest: kmemleak on changeset destroy
      of: unittest: kmemleak in of_unittest_platform_populate()
      of: unittest: kmemleak in of_unittest_overlay_high_level()
      of: overlay: kmemleak in dup_and_fixup_symbol_prop()

Frieder Schrempf (1):
      mtd: spinand: Explicitly use MTD_OPS_RAW to write the bad block marker to OOB

Gabriel Krisman Bertazi (1):
      um: ubd: Prevent buffer overrun on command completion

Greg Kroah-Hartman (1):
      Linux 4.19.118

Ilya Dryomov (2):
      rbd: avoid a deadlock on header_rwsem when flushing notifies
      rbd: call rbd_dev_unprobe() after unwatching and flushing notifies

Jack Zhang (1):
      drm/amdkfd: kfree the wrong pointer

Jacob Pan (1):
      iommu/vt-d: Fix mm reference leak

Jan Kara (1):
      ext2: fix debug reference to ext2_xattr_cache

Jeffery Miller (1):
      power: supply: axp288_fuel_gauge: Broaden vendor check for Intel Compute Sticks.

Josh Poimboeuf (1):
      objtool: Fix switch table detection in .text.unlikely

Li Bin (1):
      scsi: sg: add sg_remove_request in sg_common_write

Long Li (1):
      cifs: Allocate encryption header through kmalloc

Lucas Stach (1):
      soc: imx: gpc: fix power up sequencing

Luke Nelson (2):
      arm, bpf: Fix offset overflow for BPF_MEM BPF_DW
      arm, bpf: Fix bugs with ALU64 {RSH, ARSH} BPF_K shift by 0

Magnus Karlsson (1):
      xsk: Add missing check on user supplied headroom size

Martin Fuzzey (1):
      ARM: dts: imx6: Use gpc for FEC interrupt controller to fix wake on LAN.

Maxime Roussin-Bélanger (1):
      iio: si1133: read 24-bit signed integer for measurement

Michael Walle (1):
      watchdog: sp805: fix restart handler

Misono Tomohiro (1):
      NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails

Nathan Chancellor (2):
      video: fbdev: sis: Remove unnecessary parentheses and commented code
      powerpc/maple: Fix declaration made after definition

Nicolas Saenz Julienne (1):
      drm/vc4: Fix HDMI mode validation

Pablo Neira Ayuso (1):
      netfilter: nf_tables: report EOPNOTSUPP on unsupported flags/object type

Paul E. McKenney (1):
      locktorture: Print ratio of acquisitions, not failures

Qian Cai (2):
      percpu_counter: fix a data race at vm_committed_as
      x86: ACPI: fix CPU hotplug deadlock

Randy Dunlap (1):
      ext2: fix empty body warnings when -Wextra is used

Roman Gushchin (1):
      ext4: use non-movable memory for superblock readahead

Sowjanya Komatineni (1):
      clk: tegra: Fix Tegra PMC clock out parents

Stephen Rothwell (1):
      tty: evh_bytechan: Fix out of bounds accesses

Steven Price (1):
      include/linux/swapops.h: correct guards for non_swap_entry()

Takashi Iwai (1):
      ALSA: hda: Don't release card at firmware loading error

Thomas Richter (1):
      s390/cpum_sf: Fix wrong page count in error message

Tianyu Lan (6):
      x86/Hyper-V: Report crash register data or kmsg before running crash kernel
      x86/Hyper-V: Unload vmbus channel in hv panic callback
      x86/Hyper-V: Free hv_panic_page when fail to register kmsg dump
      x86/Hyper-V: Trigger crash enlightenment only once during system crash.
      x86/Hyper-V: Report crash register data when sysctl_record_panic_msg is not set
      x86/Hyper-V: Report crash data in die() when panic_on_oops is set

Trond Myklebust (2):
      NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid()
      NFS: Fix memory leaks in nfs_pageio_stop_mirroring()

Vegard Nossum (1):
      compiler.h: fix error in BUILD_BUG_ON() reporting

Waiman Long (1):
      KEYS: Don't write out to userspace while holding key semaphore

Wen Yang (1):
      mtd: phram: fix a double free issue in error path

Zenghui Yu (1):
      irqchip/mbigen: Free msi_desc on device teardown

ndesaulniers@google.com (1):
      lib/raid6: use vdupq_n_u8 to avoid endianness warnings

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

Change-Id: Iba36dbed959d2ec9fe806466b302ae74bdda33b7
Signed-off-by: Lakitu Kernel Bot <cloud-image-merge-automation@prod.google.com>
