Commit Graph

170 Commits

Author SHA1 Message Date
Josh Poimboeuf
5ef2fdd01f UPSTREAM: objtool: Add support for C jump tables
Objtool doesn't know how to read C jump tables, so it has to whitelist
functions which use them, causing missing ORC unwinder data for such
functions, e.g. ___bpf_prog_run().

C jump tables are very similar to GCC switch jump tables, which objtool
already knows how to read.  So adding support for C jump tables is easy.
It just needs to be able to find the tables and distinguish them from
other data.

To allow the jump tables to be found, create an __annotate_jump_table
macro which can be used to annotate them.

The annotation is done by placing the jump table in an
.rodata..c_jump_table section.  The '.rodata' prefix ensures that the data
will be placed in the rodata section by the vmlinux linker script.  The
double periods are part of an existing convention which distinguishes
kernel sections from GCC sections.

Change-Id: Ibea915c9a925fe8ff4f6bacaba957496320ad8cf
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Song Liu <songliubraving@fb.com>
Cc: Kairui Song <kasong@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lkml.kernel.org/r/0ba2ca30442b16b97165992381ce643dc27b3d1a.1561685471.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2025-09-08 17:23:37 +03:00
Wilson Sung
5084fd58f3 Merge android-4.19-stable (4.19.215) into android-msm-pixel-4.19-lts
Merge 4.19.215 into android-4.19-stable
Linux 4.19.215
  * sctp: add vtag check in sctp_sf_ootb
      net/sctp/sm_statefuns.c
  * sctp: add vtag check in sctp_sf_do_8_5_1_E_sa
      net/sctp/sm_statefuns.c
  * sctp: add vtag check in sctp_sf_violation
      net/sctp/sm_statefuns.c
  * sctp: fix the processing for COOKIE_ECHO chunk
      net/sctp/sm_statefuns.c
  * sctp: use init_tag from inithdr for ABORT chunk
      net/sctp/sm_statefuns.c
    net: nxp: lpc_eth.c: avoid hang when bringing interface down
    net: ethernet: microchip: lan743x: Fix dma allocation failure by using dma_set_mask_and_coherent
    net: ethernet: microchip: lan743x: Fix driver crash when lan743x_pm_resume fails
    nios2: Make NIOS2_DTB_SOURCE_BOOL depend on !COMPILE_TEST
  * net: Prevent infinite while loop in skb_tx_hash()
      net/core/dev.c
    net: batman-adv: fix error handling
  * regmap: Fix possible double-free in regcache_rbtree_exit()
      drivers/base/regmap/regcache-rbtree.c
    arm64: dts: allwinner: h5: NanoPI Neo 2: Fix ethernet node
    RDMA/mlx5: Set user priority for DCT
    net: lan78xx: fix division by zero in send path
    mmc: sdhci-esdhc-imx: clear the buffer_read_ready to reset standard tuning circuit
    mmc: sdhci: Map more voltage level to SDHCI_POWER_330
    mmc: dw_mmc: exynos: fix the finding clock sample value
    mmc: cqhci: clear HALT state after CQE enable
    mmc: vub300: fix control-message timeouts
  * ipv6: make exception cache less predictible
      net/ipv6/route.c
  * ipv6: use siphash in rt6_exception_hash()
      net/ipv6/route.c
  * ipv4: use siphash instead of Jenkins in fnhe_hashfun()
      net/ipv4/route.c
  * Revert "net: mdiobus: Fix memory leak in __mdiobus_register"
      drivers/net/phy/mdio_bus.c
    nfc: port100: fix using -ERRNO as command type mask
    ata: sata_mv: Fix the error handling of mv_chip_id()
  * usbnet: fix error return code in usbnet_probe()
      drivers/net/usb/usbnet.c
  * usbnet: sanity check for maxpacket
      drivers/net/usb/usbnet.c
    ARM: 8819/1: Remove '-p' from LDFLAGS
  * arm64: Avoid premature usercopy failure
      arch/arm64/lib/copy_from_user.S
      arch/arm64/lib/copy_in_user.S
      arch/arm64/lib/copy_to_user.S
    powerpc/bpf: Fix BPF_MOD when imm == 1
    ARM: 9141/1: only warn about XIP address when not compile testing
    ARM: 9139/1: kprobes: fix arch_init_kprobes() prototype
    ARM: 9134/1: remove duplicate memcpy() definition
    ARM: 9133/1: mm: proc-macros: ensure *_tlb_fns are 4B aligned
    Merge 4.19.214 into android-4.19-stable
  * ANDROID: Incremental fs: Fix dentry get/put imbalance on vfs_mkdir() failure
      fs/incfs/vfs.c
Linux 4.19.214
    ARM: 9122/1: select HAVE_FUTEX_CMPXCHG
  * tracing: Have all levels of checks prevent recursion
      kernel/trace/trace.h
  * net: mdiobus: Fix memory leak in __mdiobus_register
      drivers/net/phy/mdio_bus.c
  * scsi: core: Fix shost->cmd_per_lun calculation in scsi_add_host_with_dma()
      drivers/scsi/hosts.c
    ALSA: hda: avoid write to STATESTS if controller is in reset
    platform/x86: intel_scu_ipc: Update timeout value in comment
    isdn: mISDN: Fix sleeping function called from invalid context
    ARM: dts: spear3xx: Fix gmac node
    net: stmmac: add support for dwmac 3.40a
    btrfs: deal with errors when checking if a dir entry exists during log replay
  * gcc-plugins/structleak: add makefile var for disabling structleak
      scripts/Makefile.gcc-plugins
  * netfilter: Kconfig: use 'default y' instead of 'm' for bool config option
      net/netfilter/Kconfig
    isdn: cpai: check ctr->cnr to avoid array index out of bound
    nfc: nci: fix the UAF of rf_conn_info object
  * mm, slub: fix mismatch between reconstructed freelist depth and cnt
      mm/slub.c
  * ASoC: DAPM: Fix missing kctl change notifications
      sound/soc/soc-dapm.c
    ALSA: hda/realtek: Add quirk for Clevo PC50HS
  * ALSA: usb-audio: Provide quirk for Sennheiser GSP670 Headset
      sound/usb/quirks-table.h
  * vfs: check fd has read access in kernel_read_file_from_fd()
      fs/exec.c
  * elfcore: correct reference to CONFIG_UML
      include/linux/elfcore.h
    ocfs2: mount fails with buffer overflow in strlen
    ocfs2: fix data corruption after conversion from inline format
    can: peak_pci: peak_pci_remove(): fix UAF
    can: peak_usb: pcan_usb_fd_decode_status(): fix back to ERROR_ACTIVE state notification
    can: rcar_can: fix suspend/resume
    net: hns3: disable sriov before unload hclge layer
    net: hns3: add limit ets dwrr bandwidth cannot be 0
    NIOS2: irqflags: rename a redefined register name
  * lan78xx: select CRC32
      drivers/net/usb/Kconfig
    netfilter: ipvs: make global sysctl readonly in non-init netns
    ASoC: wm8960: Fix clock configuration on slave mode
    dma-debug: fix sg checks in debug_dma_map_sg()
    NFSD: Keep existing listeners on portlist error
    xtensa: xtfpga: Try software restart before simulating CPU reset
    xtensa: xtfpga: use CONFIG_USE_OF instead of CONFIG_OF
    ARM: dts: at91: sama5d2_som1_ek: disable ISC node by default
    Merge 4.19.213 into android-4.19-stable
    UPSTREAM: crypto: arm/blake2s - fix for big endian
    ANDROID: gki_defconfig: enable BLAKE2b support
    BACKPORT: crypto: arm/blake2b - add NEON-accelerated BLAKE2b
    BACKPORT: crypto: blake2b - update file comment
  * BACKPORT: crypto: blake2b - sync with blake2s implementation
      include/crypto/blake2b.h
      include/crypto/internal/blake2b.h
  * UPSTREAM: wireguard: Kconfig: select CRYPTO_BLAKE2S_ARM
      drivers/net/Kconfig
    UPSTREAM: crypto: arm/blake2s - add ARM scalar optimized BLAKE2s
  * UPSTREAM: crypto: blake2s - include <linux/bug.h> instead of <asm/bug.h>
      include/crypto/blake2s.h
  * UPSTREAM: crypto: blake2s - adjust include guard naming
      include/crypto/blake2s.h
      include/crypto/internal/blake2s.h
  * UPSTREAM: crypto: blake2s - add comment for blake2s_state fields
      include/crypto/blake2s.h
  * UPSTREAM: crypto: blake2s - optimize blake2s initialization
      include/crypto/blake2s.h
      include/crypto/internal/blake2s.h
  * BACKPORT: crypto: blake2s - share the "shash" API boilerplate code
      include/crypto/internal/blake2s.h
  * UPSTREAM: crypto: blake2s - move update and final logic to internal/blake2s.h
      include/crypto/internal/blake2s.h
    UPSTREAM: crypto: blake2s - remove unneeded includes
    UPSTREAM: crypto: x86/blake2s - define shash_alg structs using macros
    UPSTREAM: crypto: blake2s - define shash_alg structs using macros
  * UPSTREAM: crypto: lib/blake2s - Move selftest prototype into header file
      include/crypto/internal/blake2s.h
    UPSTREAM: crypto: blake2b - Fix clang optimization for ARMv7-M
    UPSTREAM: crypto: blake2b - rename tfm context and _setkey callback
    UPSTREAM: crypto: blake2b - merge _update to api callback
    UPSTREAM: crypto: blake2b - open code set last block helper
    UPSTREAM: crypto: blake2b - delete unused structs or members
    UPSTREAM: crypto: blake2b - simplify key init
    UPSTREAM: crypto: blake2b - merge blake2 init to api callback
    UPSTREAM: crypto: blake2b - merge _final implementation to callback
  * BACKPORT: crypto: testmgr - add test vectors for blake2b
      crypto/testmgr.c
  * BACKPORT: crypto: blake2b - add blake2b generic implementation
      crypto/Kconfig
      crypto/Makefile
Linux 4.19.213
  * r8152: select CRC32 and CRYPTO/CRYPTO_HASH/CRYPTO_SHA256
      drivers/net/usb/Kconfig
    qed: Fix missing error code in qed_slowpath_start()
    mqprio: Correct stats in mqprio_dump_class_stats().
    acpi/arm64: fix next_platform_timer() section mismatch error
    drm/msm/dsi: fix off by one in dsi_bus_clk_enable error handling
    drm/msm/dsi: Fix an error code in msm_dsi_modeset_init()
    drm/msm: Fix null pointer dereference on pointer edp
    platform/mellanox: mlxreg-io: Fix argument base in kstrtou32() call
    pata_legacy: fix a couple uninitialized variable bugs
    NFC: digital: fix possible memory leak in digital_in_send_sdd_req()
    NFC: digital: fix possible memory leak in digital_tg_listen_mdaa()
    nfc: fix error handling of nfc_proto_register()
    ethernet: s2io: fix setting mac address during resume
    net: encx24j600: check error in devm_regmap_init_encx24j600
  * net: korina: select CRC32
      drivers/net/ethernet/Kconfig
  * net: arc: select CRC32
      drivers/net/ethernet/arc/Kconfig
  * sctp: account stream padding length for reconf chunk
      net/sctp/sm_make_chunk.c
    iio: dac: ti-dac5571: fix an error code in probe()
    iio: ssp_sensors: fix error code in ssp_print_mcu_debug()
    iio: ssp_sensors: add more range checking in ssp_parse_dataframe()
    iio: light: opt3001: Fixed timeout error when 0 lux
    iio: adc128s052: Fix the error handling path of 'adc128_probe()'
    iio: adc: aspeed: set driver data when adc probe.
    x86/Kconfig: Do not enable AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT automatically
  * nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells
      drivers/nvmem/core.c
    virtio: write back F_VERSION_1 before validate
    USB: serial: option: add prod. id for Quectel EG91
    USB: serial: option: add Telit LE910Cx composition 0x1204
    USB: serial: option: add Quectel EC200S-CN module support
    USB: serial: qcserial: add EM9191 QDL support
  * Input: xpad - add support for another USB ID of Nacon GC-100
      drivers/input/joystick/xpad.c
    usb: musb: dsps: Fix the probe error path
    efi: Change down_interruptible() in virt_efi_reset_system() to down_trylock()
    efi/cper: use stack buffer for error record decoding
    cb710: avoid NULL pointer subtraction
  * xhci: Enable trust tx length quirk for Fresco FL11 USB controller
      drivers/usb/host/xhci-pci.c
  * xhci: Fix command ring pointer corruption while aborting a command
      drivers/usb/host/xhci-ring.c
  * xhci: guard accesses to ep_state in xhci_endpoint_reset()
      drivers/usb/host/xhci.c
    mei: me: add Ice Lake-N device id.
    x86/resctrl: Free the ctrlval arrays when domain_setup_mon_state() fails
    btrfs: check for error when looking up inode during dir entry replay
    btrfs: deal with errors when adding inode reference during log replay
    btrfs: deal with errors when replaying dir entry during log replay
    s390: fix strrchr() implementation
    nds32/ftrace: Fix Error: invalid operands (*UND* and *UND* sections) for `^'
    ALSA: hda/realtek - ALC236 headset MIC recording issue
    ALSA: hda/realtek: Add quirk for Clevo X170KM-G
    ALSA: hda/realtek: Complete partial device name to avoid ambiguity
    ALSA: seq: Fix a potential UAF by wrong private_free call order
    Merge 4.19.212 into android-4.19-stable
Linux 4.19.212
  * sched: Always inline is_percpu_thread()
      include/linux/sched.h
    perf/x86: Reset destroy callback on event init failure
    scsi: virtio_scsi: Fix spelling mistake "Unsupport" -> "Unsupported"
    scsi: ses: Fix unsigned comparison with less than zero
  * net: sun: SUNVNET_COMMON should depend on INET
      drivers/net/ethernet/sun/Kconfig
    mac80211: check return value of rhashtable_init
  * net: prevent user from passing illegal stab size
      include/net/pkt_sched.h
      net/sched/sch_api.c
    m68k: Handle arrivals of multiple signals correctly
    mac80211: Drop frames from invalid MAC address in ad-hoc mode
  * netfilter: ip6_tables: zero-initialize fragment offset
      net/ipv6/netfilter/ip6_tables.c
  * HID: apple: Fix logical maximum and usage maximum of Magic Keyboard JIS
      drivers/hid/hid-apple.c
    net: phy: bcm7xxx: Fixed indirect MMD operations
    Merge 4.19.211 into android-4.19-stable
  * Revert "lib/timerqueue: Rely on rbtree semantics for next timer"
      include/linux/timerqueue.h
      lib/timerqueue.c
    Merge 4.19.210 into android-4.19-stable
Linux 4.19.211
    x86/Kconfig: Correct reference to MWINCHIP3D
    i2c: acpi: fix resource leak in reconfiguration device addition
    i40e: Fix freeing of uninitialized misc IRQ vector
    i40e: fix endless loop under rtnl
  * rtnetlink: fix if_nlmsg_stats_size() under estimation
      net/core/rtnetlink.c
    drm/nouveau/debugfs: fix file release memory leak
  * netlink: annotate data races around nlk->bound
      net/netlink/af_netlink.c
    net: sfp: Fix typo in state machine debug string
  * net: bridge: use nla_total_size_64bit() in br_get_linkxstats_size()
      net/bridge/br_netlink.c
    ARM: imx6: disable the GIC CPU interface before calling stby-poweroff sequence
    ptp_pch: Load module automatically if ID matches
    powerpc/fsl/dts: Fix phy-connection-type for fm1mac3
  * net_sched: fix NULL deref in fifo_set_limit()
      net/sched/sch_fifo.c
  * phy: mdio: fix memory leak
      drivers/net/phy/mdio_bus.c
  * bpf: Fix integer overflow in prealloc_elems_and_freelist()
      kernel/bpf/stackmap.c
    bpf, arm: Fix register clobbering in div/mod implementation
    xtensa: call irqchip_init only when CONFIG_USE_OF is selected
    bpf, mips: Validate conditional branch offsets
    ARM: dts: qcom: apq8064: use compatible which contains chipid
    ARM: dts: omap3430-sdp: Fix NAND device node
    xen/balloon: fix cancelled balloon action
    nfsd4: Handle the NFSv4 READDIR 'dircount' hint being zero
  * ovl: fix missing negative dentry check in ovl_rename()
      fs/overlayfs/dir.c
    xen/privcmd: fix error handling in mmap-resource processing
    USB: cdc-acm: fix break reporting
    USB: cdc-acm: fix racy tty buffer accesses
  * Partially revert "usb: Kconfig: using select for USB_COMMON dependency"
      drivers/usb/Kconfig
  * ANDROID: Different fix for KABI breakage in 4.19.209 in struct sock
      include/net/sock.h
    ANDROID: GKI: update .xml file for struct sock change
Linux 4.19.210
  * lib/timerqueue: Rely on rbtree semantics for next timer
      include/linux/timerqueue.h
      lib/timerqueue.c
  * libata: Add ATA_HORKAGE_NO_NCQ_ON_ATI for Samsung 860 and 870 SSD.
      include/linux/libata.h
    tools/vm/page-types: remove dependency on opt_file for idle page tracking
    scsi: ses: Retry failed Send/Receive Diagnostic commands
    selftests: be sure to make khdr before other targets
    usb: dwc2: check return value after calling platform_get_resource()
    usb: testusb: Fix for showing the connection speed
  * scsi: sd: Free scsi_disk device via put_device()
      drivers/scsi/sd.c
    ext2: fix sleeping in atomic bugs on error
    sparc64: fix pci_iounmap() when CONFIG_PCI is not set
    xen-netback: correct success/error reporting for the SKB-with-fraglist case
  * net: mdio: introduce a shutdown method to mdio device drivers
      drivers/net/phy/mdio_device.c
      include/linux/mdio.h
  * ANDROID: Fix up KABI breakage in 4.19.209 in struct sock
      include/net/sock.h
    Merge 4.19.209 into android-4.19-stable
  * FROMLIST: dm-verity: skip verity_handle_error on I/O errors
      drivers/md/dm-verity-target.c
Linux 4.19.209
  * cred: allow get_cred() and put_cred() to be given NULL.
      include/linux/cred.h
  * HID: usbhid: free raw_report buffers in usbhid_stop
      drivers/hid/usbhid/hid-core.c
    netfilter: ipset: Fix oversized kvmalloc() calls
    HID: betop: fix slab-out-of-bounds Write in betop_probe
    crypto: ccp - fix resource leaks in ccp_run_aes_gcm_cmd()
    usb: hso: remove the bailout parameter
    usb: hso: fix error handling code of hso_create_net_device
    hso: fix bailout in error case of probe
    ARM: 9098/1: ftrace: MODULE_PLT: Fix build problem without DYNAMIC_FTRACE
    ARM: 9079/1: ftrace: Add MODULE_PLTS support
    ARM: 9078/1: Add warn suppress parameter to arm_gen_branch_link()
    ARM: 9077/1: PLT: Move struct plt_entries definition to header
    EDAC/synopsys: Fix wrong value type assignment for edac_mode
  * net: udp: annotate data race around udp_sk(sk)->corkflag
      net/ipv4/udp.c
      net/ipv6/udp.c
  * ext4: fix potential infinite loop in ext4_dx_readdir()
      fs/ext4/dir.c
    ipack: ipoctal: fix module reference leak
    ipack: ipoctal: fix missing allocation-failure check
    ipack: ipoctal: fix tty-registration error handling
    ipack: ipoctal: fix tty registration race
    ipack: ipoctal: fix stack information leak
  * elf: don't use MAP_FIXED_NOREPLACE for elf interpreter mappings
      fs/binfmt_elf.c
  * af_unix: fix races in sk_peer_pid and sk_peer_cred accesses
      include/net/sock.h
      net/core/sock.c
      net/unix/af_unix.c
    scsi: csiostor: Add module softdep on cxgb4
    Revert "block, bfq: honor already-setup queue merges"
    e100: fix buffer overrun in e100_get_regs
    e100: fix length calculation in e100_get_regs_len
    hwmon: (tmp421) fix rounding for negative values
    hwmon: (tmp421) report /PVLD condition as fault
    hwmon: (tmp421) Replace S_<PERMS> with octal values
  * sctp: break out if skb_header_pointer returns NULL in sctp_rcv_ootb
      net/sctp/input.c
    mac80211: limit injected vht mcs/nss in ieee80211_parse_tx_radiotap
    mac80211: Fix ieee80211_amsdu_aggregate frag_tail bug
    hwmon: (mlxreg-fan) Return non-zero value when fan current state is enforced from sysfs
    ipvs: check that ip_vs_conn_tab_bits is between 8 and 20
    drm/amd/display: Pass PCI deviceid into DC
    x86/kvmclock: Move this_cpu_pvti into kvmclock.h
    mac80211: fix use-after-free in CCMP/GCMP RX
  * cpufreq: schedutil: Destroy mutex before kobject_put() frees the memory
      drivers/cpufreq/cpufreq_governor_attr_set.c
  * cpufreq: schedutil: Use kobject release() method to free sugov_tunables
      kernel/sched/cpufreq_schedutil.c
    tty: Fix out-of-bound vmalloc access in imageblit
    qnx4: work around gcc false positive warning bug
    xen/balloon: fix balloon kthread freezing
  * tcp: adjust rto_base in retransmits_timed_out()
      net/ipv4/tcp_timer.c
  * tcp: create a helper to model exponential backoff
      net/ipv4/tcp_timer.c
  * tcp: always set retrans_stamp on recovery
      net/ipv4/tcp_output.c
      net/ipv4/tcp_timer.c
  * tcp: address problems caused by EDT misshaps
      net/ipv4/tcp_input.c
      net/ipv4/tcp_timer.c
    PCI: aardvark: Fix checking for PIO status
    arm64: dts: marvell: armada-37xx: Extend PCIe MEM space
    erofs: fix up erofs_lookup tracepoint
    spi: Fix tegra20 build with CONFIG_PM=n
    net: 6pack: Fix tx timeout and slot time
    alpha: Declare virt_to_phys and virt_to_bus parameter as pointer to volatile
  * arm64: Mark __stack_chk_guard as __ro_after_init
      arch/arm64/kernel/process.c
    parisc: Use absolute_pointer() to define PAGE0
    qnx4: avoid stringop-overread errors
    sparc: avoid stringop-overread errors
    net: i825xx: Use absolute_pointer for memcpy from fixed memory location
  * compiler.h: Introduce absolute_pointer macro
      include/linux/compiler.h
    nvme-multipath: fix ANA state updates when a namespace is not present
    xen/balloon: use a kernel thread instead a workqueue
    m68k: Double cast io functions to unsigned long
    net: stmmac: allow CSR clock of 300MHz
    net: macb: fix use after free on rmmod
  * blktrace: Fix uaf in blk_trace access after removing by sysfs
      kernel/trace/blktrace.c
    md: fix a lock order reversal in md_alloc
  * irqchip/gic-v3-its: Fix potential VPE leak on error
      drivers/irqchip/irq-gic-v3-its.c
  * irqchip/goldfish-pic: Select GENERIC_IRQ_CHIP to fix build
      drivers/irqchip/Kconfig
  * thermal/core: Potential buffer overflow in thermal_build_list_of_policies()
      drivers/thermal/thermal_core.c
    fpga: machxo2-spi: Fix missing error code in machxo2_write_complete()
    fpga: machxo2-spi: Return an error on failure
    tty: synclink_gt: rename a conflicting function name
    tty: synclink_gt, drop unneeded forward declarations
    scsi: iscsi: Adjust iface sysfs attr detection
    net/mlx4_en: Don't allow aRFS for encapsulated packets
    gpio: uniphier: Fix void functions to remove return value
    net/smc: add missing error check in smc_clc_prfx_set()
    bnxt_en: Fix TX timeout when TX ring size is set to the smallest
    net: hso: fix muxed tty registration
    serial: mvebu-uart: fix driver's tx_empty callback
    mcb: fix error handling in mcb_alloc_bus()
    USB: serial: option: add device id for Foxconn T99W265
    USB: serial: option: remove duplicate USB device ID
    USB: serial: option: add Telit LN920 compositions
    USB: serial: mos7840: remove duplicated 0xac24 device ID
    Re-enable UAS for LaCie Rugged USB3-FW with fk quirk
    staging: greybus: uart: fix tty use after free
    USB: cdc-acm: fix minor-number release
    USB: serial: cp210x: add ID for GW Instek GDM-834x Digital Multimeter
  * usb-storage: Add quirk for ScanLogic SL11R-IDE older than 2.6c
      drivers/usb/storage/unusual_devs.h
    xen/x86: fix PV trap handling on secondary processors
    cifs: fix incorrect check for null pointer in header_assemble
    usb: musb: tusb6010: uninitialized data in tusb_fifo_write_unaligned()
    usb: dwc2: gadget: Fix ISOC transfer complete handling for DDMA
    usb: gadget: r8a66597: fix a loop in set_feature()
    ocfs2: drop acl cache for directories too
    Merge 4.19.208 into android-4.19-stable
    ANDROID: GKI: update ABI xml
    ANDROID: GKI: Update aarch64 cuttlefish symbol list
  * ANDROID: GKI: rework the ANDROID_KABI_USE() macro to not use __UNIQUE()
      include/linux/android_kabi.h
  * BACKPORT: loop: Set correct device size when using LOOP_CONFIGURE
      drivers/block/loop.c
Linux 4.19.208
    drm/nouveau/nvkm: Replace -ENOSYS with -ENODEV
    blk-throttle: fix UAF by deleteing timer in blk_throtl_exit()
    pwm: stm32-lp: Don't modify HW state in .remove() callback
    pwm: rockchip: Don't modify HW state in .remove() callback
    pwm: img: Don't modify HW state in .remove() callback
    nilfs2: fix memory leak in nilfs_sysfs_delete_snapshot_group
    nilfs2: fix memory leak in nilfs_sysfs_create_snapshot_group
    nilfs2: fix memory leak in nilfs_sysfs_delete_##name##_group
    nilfs2: fix memory leak in nilfs_sysfs_create_##name##_group
    nilfs2: fix NULL pointer in nilfs_##name##_attr_release
    nilfs2: fix memory leak in nilfs_sysfs_create_device_group
    ceph: lockdep annotations for try_nonblocking_invalidate
    dmaengine: xilinx_dma: Set DMA mask for coherent APIs
  * dmaengine: ioat: depends on !UML
      drivers/dma/Kconfig
    dmaengine: sprd: Add missing MODULE_DEVICE_TABLE
    parisc: Move pci_dev_is_behind_card_dino to where it is used
  * drivers: base: cacheinfo: Get rid of DEFINE_SMP_CALL_CACHE_FUNCTION()
      arch/arm64/kernel/cacheinfo.c
      include/linux/cacheinfo.h
  * Kconfig.debug: drop selecting non-existing HARDLOCKUP_DETECTOR_ARCH
      lib/Kconfig.debug
    pwm: lpc32xx: Don't modify HW state in .probe() after the PWM chip was registered
  * profiling: fix shift-out-of-bounds bugs
      kernel/profile.c
    nilfs2: use refcount_dec_and_lock() to fix potential UAF
  * prctl: allow to setup brk for et_dyn executables
      kernel/sys.c
    9p/trans_virtio: Remove sysfs file on probe failure
    thermal/drivers/exynos: Fix an error code in exynos_tmu_probe()
    dmaengine: acpi: Avoid comparison GSI with Linux vIRQ
  * sctp: add param size validation for SCTP_PARAM_SET_PRIMARY
      net/sctp/sm_make_chunk.c
  * sctp: validate chunk size in __rcv_asconf_lookup
      net/sctp/input.c
    tracing/kprobe: Fix kprobe_on_func_entry() modification
    crypto: talitos - fix max key size for sha384 and sha512
    apparmor: remove duplicate macro list_entry_is_head()
  * rcu: Fix missed wakeup of exp_wq waiters
      kernel/rcu/tree_exp.h
  * KVM: remember position in kvm->vcpus array
      include/linux/kvm_host.h
    s390/bpf: Fix optimizing out zero-extensions

Bug: 205088357
Change-Id: Ib9d80af897f5c3076e6793dc3db117d198e499c2
Signed-off-by: JohnnLee <johnnlee@google.com>
2021-11-24 03:28:15 +00:00
Greg Kroah-Hartman
664620f99a Merge 4.19.209 into android-4.19-stable
Changes in 4.19.209
	ocfs2: drop acl cache for directories too
	usb: gadget: r8a66597: fix a loop in set_feature()
	usb: dwc2: gadget: Fix ISOC transfer complete handling for DDMA
	usb: musb: tusb6010: uninitialized data in tusb_fifo_write_unaligned()
	cifs: fix incorrect check for null pointer in header_assemble
	xen/x86: fix PV trap handling on secondary processors
	usb-storage: Add quirk for ScanLogic SL11R-IDE older than 2.6c
	USB: serial: cp210x: add ID for GW Instek GDM-834x Digital Multimeter
	USB: cdc-acm: fix minor-number release
	staging: greybus: uart: fix tty use after free
	Re-enable UAS for LaCie Rugged USB3-FW with fk quirk
	USB: serial: mos7840: remove duplicated 0xac24 device ID
	USB: serial: option: add Telit LN920 compositions
	USB: serial: option: remove duplicate USB device ID
	USB: serial: option: add device id for Foxconn T99W265
	mcb: fix error handling in mcb_alloc_bus()
	serial: mvebu-uart: fix driver's tx_empty callback
	net: hso: fix muxed tty registration
	bnxt_en: Fix TX timeout when TX ring size is set to the smallest
	net/smc: add missing error check in smc_clc_prfx_set()
	gpio: uniphier: Fix void functions to remove return value
	net/mlx4_en: Don't allow aRFS for encapsulated packets
	scsi: iscsi: Adjust iface sysfs attr detection
	tty: synclink_gt, drop unneeded forward declarations
	tty: synclink_gt: rename a conflicting function name
	fpga: machxo2-spi: Return an error on failure
	fpga: machxo2-spi: Fix missing error code in machxo2_write_complete()
	thermal/core: Potential buffer overflow in thermal_build_list_of_policies()
	irqchip/goldfish-pic: Select GENERIC_IRQ_CHIP to fix build
	irqchip/gic-v3-its: Fix potential VPE leak on error
	md: fix a lock order reversal in md_alloc
	blktrace: Fix uaf in blk_trace access after removing by sysfs
	net: macb: fix use after free on rmmod
	net: stmmac: allow CSR clock of 300MHz
	m68k: Double cast io functions to unsigned long
	xen/balloon: use a kernel thread instead a workqueue
	nvme-multipath: fix ANA state updates when a namespace is not present
	compiler.h: Introduce absolute_pointer macro
	net: i825xx: Use absolute_pointer for memcpy from fixed memory location
	sparc: avoid stringop-overread errors
	qnx4: avoid stringop-overread errors
	parisc: Use absolute_pointer() to define PAGE0
	arm64: Mark __stack_chk_guard as __ro_after_init
	alpha: Declare virt_to_phys and virt_to_bus parameter as pointer to volatile
	net: 6pack: Fix tx timeout and slot time
	spi: Fix tegra20 build with CONFIG_PM=n
	erofs: fix up erofs_lookup tracepoint
	arm64: dts: marvell: armada-37xx: Extend PCIe MEM space
	PCI: aardvark: Fix checking for PIO status
	tcp: address problems caused by EDT misshaps
	tcp: always set retrans_stamp on recovery
	tcp: create a helper to model exponential backoff
	tcp: adjust rto_base in retransmits_timed_out()
	xen/balloon: fix balloon kthread freezing
	qnx4: work around gcc false positive warning bug
	tty: Fix out-of-bound vmalloc access in imageblit
	cpufreq: schedutil: Use kobject release() method to free sugov_tunables
	cpufreq: schedutil: Destroy mutex before kobject_put() frees the memory
	mac80211: fix use-after-free in CCMP/GCMP RX
	x86/kvmclock: Move this_cpu_pvti into kvmclock.h
	drm/amd/display: Pass PCI deviceid into DC
	ipvs: check that ip_vs_conn_tab_bits is between 8 and 20
	hwmon: (mlxreg-fan) Return non-zero value when fan current state is enforced from sysfs
	mac80211: Fix ieee80211_amsdu_aggregate frag_tail bug
	mac80211: limit injected vht mcs/nss in ieee80211_parse_tx_radiotap
	sctp: break out if skb_header_pointer returns NULL in sctp_rcv_ootb
	hwmon: (tmp421) Replace S_<PERMS> with octal values
	hwmon: (tmp421) report /PVLD condition as fault
	hwmon: (tmp421) fix rounding for negative values
	e100: fix length calculation in e100_get_regs_len
	e100: fix buffer overrun in e100_get_regs
	Revert "block, bfq: honor already-setup queue merges"
	scsi: csiostor: Add module softdep on cxgb4
	af_unix: fix races in sk_peer_pid and sk_peer_cred accesses
	elf: don't use MAP_FIXED_NOREPLACE for elf interpreter mappings
	ipack: ipoctal: fix stack information leak
	ipack: ipoctal: fix tty registration race
	ipack: ipoctal: fix tty-registration error handling
	ipack: ipoctal: fix missing allocation-failure check
	ipack: ipoctal: fix module reference leak
	ext4: fix potential infinite loop in ext4_dx_readdir()
	net: udp: annotate data race around udp_sk(sk)->corkflag
	EDAC/synopsys: Fix wrong value type assignment for edac_mode
	ARM: 9077/1: PLT: Move struct plt_entries definition to header
	ARM: 9078/1: Add warn suppress parameter to arm_gen_branch_link()
	ARM: 9079/1: ftrace: Add MODULE_PLTS support
	ARM: 9098/1: ftrace: MODULE_PLT: Fix build problem without DYNAMIC_FTRACE
	hso: fix bailout in error case of probe
	usb: hso: fix error handling code of hso_create_net_device
	usb: hso: remove the bailout parameter
	crypto: ccp - fix resource leaks in ccp_run_aes_gcm_cmd()
	HID: betop: fix slab-out-of-bounds Write in betop_probe
	netfilter: ipset: Fix oversized kvmalloc() calls
	HID: usbhid: free raw_report buffers in usbhid_stop
	cred: allow get_cred() and put_cred() to be given NULL.
	Linux 4.19.209

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I0372088284cf5d3ac51275d2ba5fad5b0ce6f5c6
2021-10-08 11:28:08 +02:00
Guenter Roeck
a33e34a35b compiler.h: Introduce absolute_pointer macro
[ Upstream commit f6b5f1a56987de837f8e25cd560847106b8632a8 ]

absolute_pointer() disassociates a pointer from its originating symbol
type and context. Use it to prevent compiler warnings/errors such as

  drivers/net/ethernet/i825xx/82596.c: In function 'i82596_probe':
  arch/m68k/include/asm/string.h:72:25: error:
	'__builtin_memcpy' reading 6 bytes from a region of size 0 [-Werror=stringop-overread]

Such warnings may be reported by gcc 11.x for string and memory
operations on fixed addresses.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-10-06 15:31:17 +02:00
Lucas Wei
5ff9988b08 Merge android-4.19-stable (4.19.183) into android-msm-pixel-4.19-lts
Merge 4.19.183 into android-4.19-stable
    ANDROID: refresh ABI XML to new version
    ANDROID: refresh ABI XML
Linux 4.19.183
    cifs: Fix preauth hash corruption
    x86/apic/of: Fix CPU devicetree-node lookups
  * genirq: Disable interrupts for force threaded handlers
      kernel/irq/manage.c
  * ext4: fix potential error in ext4_do_update_inode
      fs/ext4/inode.c
  * ext4: do not try to set xattr into ea_inode if value is empty
      fs/ext4/xattr.c
  * ext4: find old entry again if failed to rename whiteout
      fs/ext4/namei.c
    x86: Introduce TS_COMPAT_RESTART to fix get_nr_restart_syscall()
    x86: Move TS_COMPAT back to asm/thread_info.h
  * kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data()
      fs/select.c
      include/linux/thread_info.h
      kernel/futex.c
      kernel/time/alarmtimer.c
      kernel/time/hrtimer.c
      kernel/time/posix-cpu-timers.c
    x86/ioapic: Ignore IRQ2 again
    perf/x86/intel: Fix a crash caused by zero PEBS status
    PCI: rpadlpar: Fix potential drc_name corruption in store functions
    iio: hid-sensor-temperature: Fix issues of timestamp channel
    iio: hid-sensor-prox: Fix scale not correct issue
    iio: hid-sensor-humidity: Fix alignment issue of timestamp channel
    iio: gyro: mpu3050: Fix error handling in mpu3050_trigger_handler
    iio: adis16400: Fix an error code in adis16400_initial_setup()
    iio:adc:qcom-spmi-vadc: add default scale to LR_MUX2_BAT_ID channel
  * iio:adc:stm32-adc: Add HAS_IOMEM dependency
      drivers/iio/adc/Kconfig
  * usb: gadget: configfs: Fix KASAN use-after-free
      drivers/usb/gadget/configfs.c
  * USB: replace hardcode maximum usb string length by definition
      drivers/usb/gadget/composite.c
      drivers/usb/gadget/configfs.c
      drivers/usb/gadget/usbstring.c
      include/uapi/linux/usb/ch9.h
    usbip: Fix incorrect double assignment to udc->ud.tcp_rx
  * usb-storage: Add quirk to defeat Kindle's automatic unload
      drivers/usb/storage/transport.c
      drivers/usb/storage/unusual_devs.h
      include/linux/usb_usual.h
    powerpc: Force inlining of cpu_has_feature() to avoid build failure
    nvme-rdma: fix possible hang when failing to set io queues
    scsi: lpfc: Fix some error codes in debugfs
  * net/qrtr: fix __netdev_alloc_skb call
      net/qrtr/qrtr.c
    sunrpc: fix refcount leak for rpc auth modules
    svcrdma: disable timeouts on rdma backchannel
    NFSD: Repair misuse of sv_lock in 5.10.16-rt30.
    nvmet: don't check iosqes,iocqes for discovery controllers
    ASoC: fsl_ssi: Fix TDM slot setup for I2S mode
    btrfs: fix slab cache flags for free space tree bitmap
    btrfs: fix race when cloning extent buffer during rewind of an old root
    tools build: Check if gettid() is available before providing helper
    tools build feature: Check if eventfd() is available
    tools build feature: Check if get_current_dir_name() is available
    perf tools: Use %define api.pure full instead of %pure-parser
    lkdtm: don't move ctors to .rodata
  * vmlinux.lds.h: Create section for protection against instrumentation
      include/asm-generic/sections.h
      include/asm-generic/vmlinux.lds.h
      include/linux/compiler.h
      include/linux/compiler_types.h
      scripts/mod/modpost.c
  * Revert "PM: runtime: Update device status before letting suppliers suspend"
      drivers/base/power/runtime.c
    ALSA: hda: generic: Fix the micmute led init state
    ASoC: ak5558: Add MODULE_DEVICE_TABLE
    ASoC: ak4458: Add MODULE_DEVICE_TABLE
    ANDROID: clang: update to 12.0.4
    Merge 4.19.182 into android-4.19-stable
Linux 4.19.182
    net: dsa: b53: Support setting learning on port
    net: dsa: tag_mtk: fix 802.1ad VLAN egress
  * bpf: Add sanity check for upper ptr_limit
      kernel/bpf/verifier.c
  * bpf: Simplify alu_limit masking for pointer arithmetic
      kernel/bpf/verifier.c
  * bpf: Fix off-by-one for area size in creating mask to left
      kernel/bpf/verifier.c
  * bpf: Prohibit alu ops for pointer types not defining ptr_limit
      kernel/bpf/verifier.c
  * KVM: arm64: nvhe: Save the SPE context early
      arch/arm64/include/asm/kvm_hyp.h
  * ext4: check journal inode extents more carefully
      fs/ext4/block_validity.c
      fs/ext4/ext4.h
      fs/ext4/extents.c
      fs/ext4/indirect.c
      fs/ext4/inode.c
      fs/ext4/mballoc.c
  * Revert "net: Introduce parse_protocol header_ops callback"
      include/linux/netdevice.h
  * Revert "net: check if protocol extracted by virtio_net_hdr_set_proto is correct"
      include/linux/virtio_net.h
    Merge 4.19.181 into android-4.19-stable
Linux 4.19.181
    xen/events: avoid handling the same event on two cpus at the same time
    xen/events: don't unmask an event channel when an eoi is pending
    xen/events: reset affinity of 2-level event when tearing it down
    KVM: arm64: Fix exclusive limit for IPA size
    hwmon: (lm90) Fix max6658 sporadic wrong temperature reading
    x86/unwind/orc: Disable KASAN checking in the ORC unwinder, part 2
    binfmt_misc: fix possible deadlock in bm_register_write
    powerpc/64s: Fix instruction encoding for lis in ppc_function_entry()
  * include/linux/sched/mm.h: use rcu_dereference in in_vfork()
      include/linux/sched/mm.h
  * stop_machine: mark helpers __always_inline
      include/linux/stop_machine.h
  * hrtimer: Update softirq_expires_next correctly after __hrtimer_get_next_event()
      kernel/time/hrtimer.c
  * configfs: fix a use-after-free in __configfs_open_file
      fs/configfs/file.c
    block: rsxx: fix error return code of rsxx_pci_probe()
    NFSv4.2: fix return value of _nfs4_get_security_label()
    sh_eth: fix TRSCER mask for R7S72100
    staging: comedi: pcl818: Fix endian problem for AI command data
    staging: comedi: pcl711: Fix endian problem for AI command data
    staging: comedi: me4000: Fix endian problem for AI command data
    staging: comedi: dmm32at: Fix endian problem for AI command data
    staging: comedi: das800: Fix endian problem for AI command data
    staging: comedi: das6402: Fix endian problem for AI command data
    staging: comedi: adv_pci1710: Fix endian problem for AI command data
    staging: comedi: addi_apci_1500: Fix endian problem for command sample
    staging: comedi: addi_apci_1032: Fix endian problem for COS sample
    staging: rtl8192e: Fix possible buffer overflow in _rtl92e_wx_set_scan
    staging: rtl8712: Fix possible buffer overflow in r8712_sitesurvey_cmd
    staging: ks7010: prevent buffer overflow in ks_wlan_set_scan()
    staging: rtl8188eu: fix potential memory corruption in rtw_check_beacon_data()
    staging: rtl8712: unterminated string leads to read overflow
    staging: rtl8188eu: prevent ->ssid overflow in rtw_wx_set_scan()
    staging: rtl8192u: fix ->ssid overflow in r8192_wx_set_scan()
    usbip: fix vudc usbip_sockfd_store races leading to gpf
    usbip: fix vhci_hcd attach_store() races leading to gpf
    usbip: fix stub_dev usbip_sockfd_store() races leading to gpf
    usbip: fix vudc to check for stream socket
    usbip: fix vhci_hcd to check for stream socket
    usbip: fix stub_dev to check for stream socket
    USB: serial: cp210x: add some more GE USB IDs
    USB: serial: cp210x: add ID for Acuity Brands nLight Air Adapter
    USB: serial: ch341: add new Product ID
    USB: serial: io_edgeport: fix memory leak in edge_startup
  * usb: xhci: Fix ASMedia ASM1042A and ASM3242 DMA addressing
      drivers/usb/host/xhci-pci.c
  * xhci: Improve detection of device initiated wake signal.
      drivers/usb/host/xhci.c
    usb: renesas_usbhs: Clear PIPECFG for re-enabling pipe with other EPNUM
    USB: usblp: fix a hang in poll() if disconnected
  * usb: dwc3: qcom: Honor wakeup enabled/disabled state
      drivers/usb/dwc3/dwc3-qcom.c
    usb: gadget: f_uac1: stop playback on function disable
    usb: gadget: f_uac2: always increase endpoint max_packet_size by one audio slot
  * USB: gadget: u_ether: Fix a configfs return code
      drivers/usb/gadget/function/u_ether_configfs.h
    Goodix Fingerprint device is not a modem
    mmc: cqhci: Fix random crash when remove mmc module/card
    mmc: core: Fix partition switch time for eMMC
    s390/dasd: fix hanging IO request during DASD driver unbind
    s390/dasd: fix hanging DASD driver unbind
  * Revert 95ebabde382c ("capabilities: Don't allow writing ambiguous v3 file capabilities")
      security/commoncap.c
  * ALSA: usb-audio: Apply the control quirk to Plantronics headsets
      sound/usb/quirks.c
  * ALSA: usb-audio: Fix "cannot get freq eq" errors on Dell AE515 sound bar
      sound/usb/quirks.c
    ALSA: hda: Avoid spurious unsol event handling during S3/S4
    ALSA: hda: Drop the BATCH workaround for AMD controllers
    ALSA: hda/hdmi: Cancel pending works before suspend
  * ALSA: usb: Add Plantronics C320-M USB ctrl msg delay quirk
      sound/usb/quirks.c
    scsi: target: core: Prevent underflow for service actions
  * scsi: target: core: Add cmd length set before cmd complete
      include/target/target_core_backend.h
    scsi: libiscsi: Fix iscsi_prep_scsi_cmd_pdu() error handling
    s390/smp: __smp_rescan_cpus() - move cpumask away from stack
    i40e: Fix memory leak in i40e_probe
  * PCI: Fix pci_register_io_range() memory leak
      drivers/pci/pci.c
      lib/logic_pio.c
    PCI: mediatek: Add missing of_node_put() to fix reference leak
    PCI: xgene-msi: Fix race in installing chained irq handler
    sparc64: Use arch_validate_flags() to validate ADI flag
    sparc32: Limit memblock allocation to low memory
    powerpc/perf: Record counter overflow always if SAMPLE_IP is unset
    powerpc: improve handling of unrecoverable system reset
    powerpc/pci: Add ppc_md.discover_phbs()
    mmc: mediatek: fix race condition between msdc_request_timeout and irq
    mmc: mxs-mmc: Fix a resource leak in an error handling path in 'mxs_mmc_probe()'
    udf: fix silent AED tagLocation corruption
    i2c: rcar: optimize cacheline to minimize HW race condition
  * net: phy: fix save wrong speed and duplex problem if autoneg is on
      drivers/net/phy/phy.c
    media: v4l: vsp1: Fix bru null pointer access
    media: v4l: vsp1: Fix uif null pointer access
    media: usbtv: Fix deadlock on suspend
    sh_eth: fix TRSCER mask for R7S9210
    s390/cio: return -EFAULT if copy_to_user() fails
    drm: meson_drv add shutdown function
  * drm/compat: Clear bounce structures
      drivers/gpu/drm/drm_ioc32.c
    s390/cio: return -EFAULT if copy_to_user() fails again
    perf traceevent: Ensure read cmdlines are null terminated.
    selftests: forwarding: Fix race condition in mirror installation
    net: stmmac: fix watchdog timeout during suspend/resume stress test
    net: stmmac: stop each tx channel independently
  * net: qrtr: fix error return code of qrtr_sendmsg()
      net/qrtr/qrtr.c
    net: davicom: Fix regulator not turned off on driver removal
    net: davicom: Fix regulator not turned off on failed probe
    net: lapbether: Remove netif_start_queue / netif_stop_queue
  * cipso,calipso: resolve a number of problems with the DOI refcounts
      net/ipv4/cipso_ipv4.c
      net/ipv6/calipso.c
      net/netlabel/netlabel_cipso_v4.c
    net: usb: qmi_wwan: allow qmimux add/del with master up
  * net: sched: avoid duplicates in classes dump
      net/sched/sch_api.c
    net: stmmac: fix incorrect DMA channel intr enable setting of EQoS v4.10
    net/mlx4_en: update moderation when config reset
    net: avoid infinite loop in mpls_gso_segment when mpls_hlen == 0
  * net: check if protocol extracted by virtio_net_hdr_set_proto is correct
      include/linux/virtio_net.h
    sh_eth: fix TRSCER mask for SH771x
  * Revert "mm, slub: consider rest of partial list if acquire_slab() fails"
      mm/slub.c
    scripts/recordmcount.{c,pl}: support -ffunction-sections .text.* section names
    cifs: return proper error code in statfs(2)
  * tcp: add sanity tests to TCP_QUEUE_SEQ
      net/ipv4/tcp.c
  * tcp: annotate tp->write_seq lockless reads
      include/net/tcp.h
      net/ipv4/tcp.c
      net/ipv4/tcp_diag.c
      net/ipv4/tcp_ipv4.c
      net/ipv4/tcp_minisocks.c
      net/ipv4/tcp_output.c
      net/ipv6/tcp_ipv6.c
  * tcp: annotate tp->copied_seq lockless reads
      net/ipv4/tcp.c
      net/ipv4/tcp_diag.c
      net/ipv4/tcp_input.c
      net/ipv4/tcp_ipv4.c
      net/ipv4/tcp_minisocks.c
      net/ipv4/tcp_output.c
      net/ipv6/tcp_ipv6.c
    mt76: dma: do not report truncated frames to mac80211
  * netfilter: x_tables: gpf inside xt_find_revision()
      net/netfilter/x_tables.c
    can: flexcan: enable RX FIFO after FRZ/HALT valid
    can: flexcan: assert FRZ bit in flexcan_chip_freeze()
  * can: skb: can_skb_set_owner(): fix ref counting if socket was closed before setting skb ownership
      include/linux/can/skb.h
  * net: Introduce parse_protocol header_ops callback
      include/linux/netdevice.h
  * net: Fix gro aggregation for udp encaps with zero csum
      net/ipv4/udp_offload.c
    ath9k: fix transmitting to stations in dynamic SMPS mode
    ethernet: alx: fix order of calls on resume
  * uapi: nfnetlink_cthelper.h: fix userspace compilation error
      include/uapi/linux/netfilter/nfnetlink_cthelper.h
  * FROMGIT: configfs: fix a use-after-free in __configfs_open_file
      fs/configfs/file.c
    ANDROID: GKI: Enable CONFIG_BT for x86
  * Revert "Revert "zram: close udev startup race condition as default groups""
      drivers/block/zram/zram_drv.c
  * Revert "block: genhd: add 'groups' argument to device_add_disk"
      block/genhd.c
      drivers/scsi/sd.c
      include/linux/genhd.h
    Revert "nvme: register ns_id attributes as default sysfs groups"
    Revert "aoe: register default groups with device_add_disk()"
  * Revert "zram: register default groups with device_add_disk()"
      drivers/block/zram/zram_drv.c
    Revert "virtio-blk: modernize sysfs attribute creation"
    Merge 4.19.180 into android-4.19-stable
Linux 4.19.180
    mmc: sdhci-of-dwcmshc: set SDHCI_QUIRK2_PRESET_VALUE_BROKEN
    drm/msm/a5xx: Remove overwriting A5XX_PC_DBG_ECO_CNTL register
  * misc: eeprom_93xx46: Add quirk to support Microchip 93LC46B eeprom
      include/linux/eeprom_93xx46.h
  * PCI: Add function 1 DMA alias quirk for Marvell 9215 SATA controller
      drivers/pci/quirks.c
    ASoC: Intel: bytcr_rt5640: Add quirk for ARCHOS Cesium 140
    media: cx23885: add more quirks for reset DMA on some AMD IOMMU
  * HID: mf: add support for 0079:1846 Mayflash/Dragonrise USB Gamecube Adapter
      drivers/hid/hid-ids.h
      drivers/hid/hid-quirks.c
    platform/x86: acer-wmi: Add ACER_CAP_KBD_DOCK quirk for the Aspire Switch 10E SW3-016
    platform/x86: acer-wmi: Add support for SW_TABLET_MODE on Switch devices
    platform/x86: acer-wmi: Add ACER_CAP_SET_FUNCTION_MODE capability flag
    platform/x86: acer-wmi: Add new force_caps module parameter
    platform/x86: acer-wmi: Cleanup accelerometer device handling
    platform/x86: acer-wmi: Cleanup ACER_CAP_FOO defines
    mwifiex: pcie: skip cancel_work_sync() on reset failure path
    iommu/amd: Fix sleeping in atomic in increase_address_space()
  * dm table: fix zoned iterate_devices based device capability checks
      drivers/md/dm-table.c
  * dm table: fix DAX iterate_devices based device capability checks
      drivers/md/dm-table.c
  * dm table: fix iterate_devices based device capability checks
      drivers/md/dm-table.c
  * net: dsa: add GRO support via gro_cells
      net/dsa/Kconfig
    r8169: fix resuming from suspend on RTL8105e if machine runs on battery
  * dm verity: fix FEC for RS roots unaligned to block size
      drivers/md/dm-verity-fec.c
    rsxx: Return -EFAULT if copy_to_user() fails
  * RDMA/rxe: Fix missing kconfig dependency on CRYPTO
      drivers/infiniband/sw/rxe/Kconfig
    ALSA: ctxfi: cthw20k2: fix mask on conf to allow 4 bits
    virtio-blk: modernize sysfs attribute creation
  * zram: register default groups with device_add_disk()
      drivers/block/zram/zram_drv.c
    aoe: register default groups with device_add_disk()
    nvme: register ns_id attributes as default sysfs groups
  * block: genhd: add 'groups' argument to device_add_disk
      block/genhd.c
      drivers/scsi/sd.c
      include/linux/genhd.h
  * Revert "zram: close udev startup race condition as default groups"
      drivers/block/zram/zram_drv.c
    usbip: tools: fix build error for multiple definition
    drm/amdgpu: fix parameter error of RREG32_PCIE() in amdgpu_regs_pcie
  * dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size
      drivers/md/dm-bufio.c
  * PM: runtime: Update device status before letting suppliers suspend
      drivers/base/power/runtime.c
    btrfs: unlock extents in btrfs_zero_range in case of quota reservation errors
    btrfs: free correct amount of space in btrfs_delayed_inode_reserve_metadata
    btrfs: validate qgroup inherit for SNAP_CREATE_V2 ioctl
    btrfs: fix raid6 qstripe kmap
    btrfs: raid56: simplify tracking of Q stripe presence
  * ANDROID: GKI: hack up fs/sysfs/file.c to prevent GENKSYMS change
      fs/sysfs/file.c
  * Revert "arm64: Avoid redundant type conversions in xchg() and cmpxchg()"
      arch/arm64/include/asm/atomic_ll_sc.h
      arch/arm64/include/asm/atomic_lse.h
      arch/arm64/include/asm/cmpxchg.h
    Merge 4.19.179 into android-4.19-stable
Linux 4.19.179
    ALSA: hda/realtek: Apply dual codec quirks for MSI Godlike X570 board
    ALSA: hda/realtek: Add quirk for Clevo NH55RZQ
  * media: v4l: ioctl: Fix memory leak in video_usercopy
      drivers/media/v4l2-core/v4l2-ioctl.c
  * swap: fix swapfile read/write offset
      mm/page_io.c
      mm/swapfile.c
  * zsmalloc: account the number of compacted pages correctly
      drivers/block/zram/zram_drv.c
      include/linux/zsmalloc.h
      mm/zsmalloc.c
    xen-netback: respect gnttab_map_refs()'s return value
    Xen/gnttab: handle p2m update errors on a per-slot basis
    scsi: iscsi: Verify lengths on passthrough PDUs
    scsi: iscsi: Ensure sysfs attributes are limited to PAGE_SIZE
  * sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output
      fs/sysfs/file.c
      include/linux/sysfs.h
    scsi: iscsi: Restrict sessions and handles to admin capabilities
    ASoC: Intel: bytcr_rt5640: Add quirk for the Acer One S1002 tablet
    ASoC: Intel: bytcr_rt5640: Add quirk for the Voyo Winpad A15 tablet
    ASoC: Intel: bytcr_rt5640: Add quirk for the Estar Beauty HD MID 7316R tablet
    parisc: Bump 64-bit IRQ stack size to 64 KB
    btrfs: fix error handling in commit_fs_roots
  * f2fs: fix to set/clear I_LINKABLE under i_lock
      fs/f2fs/namei.c
  * f2fs: handle unallocated section and zone on pinned/atgc
      fs/f2fs/segment.h
    media: uvcvideo: Allow entities with no pads
    drm/amd/display: Guard against NULL pointer deref when get_i2c_info fails
  * PCI: Add a REBAR size quirk for Sapphire RX 5600 XT Pulse
      drivers/pci/pci.c
    crypto: tcrypt - avoid signed overflow in byte count
    staging: most: sound: add sanity check for function argument
  * Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data
      net/bluetooth/amp.c
    x86/build: Treat R_386_PLT32 relocation as R_386_PC32
    ath10k: fix wmi mgmt tx queue full due to race condition
    pktgen: fix misuse of BUG_ON() in pktgen_thread_worker()
    Bluetooth: hci_h5: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for btrtl
    wlcore: Fix command execute failure 19 for wl12xx
    vt/consolemap: do font sum unsigned
    x86/reboot: Add Zotac ZBOX CI327 nano PCI reboot quirk
    staging: fwserial: Fix error handling in fwserial_create
    rsi: Move card interrupt handling to RX thread
    rsi: Fix TX EAPOL packet handling against iwlwifi AP
    dt-bindings: net: btusb: DT fix s/interrupt-name/interrupt-names/
  * net: bridge: use switchdev for port flags set through sysfs too
      net/bridge/br_sysfs_if.c
    mm/hugetlb.c: fix unnecessary address expansion of pmd sharing
  * net: fix up truesize of cloned skb in skb_prepare_for_shift()
      net/core/skbuff.c
  * smackfs: restrict bytes count in smackfs write functions
      security/smack/smackfs.c
    xfs: Fix assert failure in xfs_setattr_size()
    media: mceusb: sanity check for prescaler value
    udlfb: Fix memory leak in dlfb_usb_probe
    JFS: more checks for invalid superblock
    MIPS: VDSO: Use CLANG_FLAGS instead of filtering out '--target='
  * arm64: Use correct ll/sc atomic constraints
      arch/arm64/include/asm/atomic_ll_sc.h
  * arm64: cmpxchg: Use "K" instead of "L" for ll/sc immediate constraint
      arch/arm64/include/asm/atomic_ll_sc.h
  * arm64: Avoid redundant type conversions in xchg() and cmpxchg()
      arch/arm64/include/asm/atomic_ll_sc.h
      arch/arm64/include/asm/atomic_lse.h
      arch/arm64/include/asm/cmpxchg.h
  * arm64 module: set plt* section addresses to 0x0
      arch/arm64/kernel/module.lds
    virtio/s390: implement virtio-ccw revision 2 correctly
    drm/virtio: use kvmalloc for large allocations
    hugetlb: fix update_and_free_page contig page struct assumption
    net: usb: qmi_wwan: support ZTE P685M modem
    ANDROID: clang: update to 12.0.3
  * Revert "block: split .sysfs_lock into two locks"
      block/blk-core.c
      block/blk-mq-sysfs.c
      block/blk-sysfs.c
      block/blk.h
      block/elevator.c
      include/linux/blkdev.h
  * Revert "block: fix race between switching elevator and removing queues"
      block/blk-sysfs.c
  * Revert "block: don't release queue's sysfs lock during switching elevator"
      block/blk-sysfs.c
      block/elevator.c
  * Revert "dm: fix deadlock when swapping to encrypted device"
      drivers/md/dm-core.h
      drivers/md/dm.c
      include/linux/device-mapper.h
    Merge 4.19.178 into android-4.19-stable
Linux 4.19.178
    ARM: dts: aspeed: Add LCLK to lpc-snoop
    net: qrtr: Fix memory leak in qrtr_tun_open
    dm era: Update in-core bitset after committing the metadata
  * net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before sending
      include/linux/icmpv6.h
      include/linux/ipv6.h
      include/net/icmp.h
      net/ipv4/icmp.c
      net/ipv6/icmp.c
      net/ipv6/ip6_icmp.c
  * ipv6: silence compilation warning for non-IPV6 builds
      include/linux/icmpv6.h
  * ipv6: icmp6: avoid indirect call for icmpv6_send()
      include/linux/icmpv6.h
      net/ipv6/icmp.c
      net/ipv6/ip6_icmp.c
  * xfrm: interface: use icmp_ndo_send helper
      net/xfrm/xfrm_interface.c
    sunvnet: use icmp_ndo_send helper
    gtp: use icmp_ndo_send helper
  * icmp: allow icmpv6_ndo_send to work with CONFIG_IPV6=n
      include/linux/icmpv6.h
  * icmp: introduce helper for nat'd source address in network device context
      include/linux/icmpv6.h
      include/net/icmp.h
      net/ipv4/icmp.c
      net/ipv6/ip6_icmp.c
    dm era: only resize metadata in preresume
    dm era: Reinitialize bitset cache before digesting a new writeset
    dm era: Use correct value size in equality function of writeset tree
    dm era: Fix bitset memory leaks
    dm era: Verify the data block size hasn't changed
    dm era: Recover committed writeset after crash
  * dm: fix deadlock when swapping to encrypted device
      drivers/md/dm-core.h
      drivers/md/dm.c
      include/linux/device-mapper.h
    gfs2: Don't skip dlm unlock if glock has an lvb
    sparc32: fix a user-triggerable oops in clear_user()
  * f2fs: fix out-of-repair __setattr_copy()
      fs/f2fs/file.c
    cpufreq: intel_pstate: Get per-CPU max freq via MSR_HWP_CAPABILITIES if available
  * printk: fix deadlock when kernel panic
      kernel/printk/printk_safe.c
    gpio: pcf857x: Fix missing first interrupt
    mmc: sdhci-esdhc-imx: fix kernel panic when remove module
  * module: Ignore _GLOBAL_OFFSET_TABLE_ when warning for undefined symbols
      kernel/module.c
  * arm64: Extend workaround for erratum 1024718 to all versions of Cortex-A55
      arch/arm64/Kconfig
      arch/arm64/kernel/cpufeature.c
    libnvdimm/dimm: Avoid race between probe and available_slots_show()
  * hugetlb: fix copy_huge_page_from_user contig page struct assumption
      mm/memory.c
    x86: fix seq_file iteration for pat/memtype.c
    seq_file: document how per-entry resources are managed.
    fs/affs: release old buffer head on error path
    mtd: spi-nor: hisi-sfc: Put child node np on error path
    watchdog: mei_wdt: request stop on unregister
  * arm64: uprobe: Return EOPNOTSUPP for AARCH32 instruction probing
      arch/arm64/kernel/probes/uprobes.c
    floppy: reintroduce O_NDELAY fix
    x86/reboot: Force all cpus to exit VMX root if VMX is supported
    media: ipu3-cio2: Fix mbus_code processing in cio2_subdev_set_fmt()
    staging: rtl8188eu: Add Edimax EW-7811UN V2 to device table
    staging: gdm724x: Fix DMA from stack
    staging/mt7621-dma: mtk-hsdma.c->hsdma-mt7621.c
    dts64: mt7622: fix slow sd card access
  * pstore: Fix typo in compression option name
      fs/pstore/platform.c
    drivers/misc/vmw_vmci: restrict too big queue size in qp_host_alloc_queue
    misc: rtsx: init of rts522a add OCP power off when no card is present
  * seccomp: Add missing return in non-void function
      kernel/seccomp.c
    crypto: sun4i-ss - handle BigEndian for cipher
    crypto: sun4i-ss - checking sg length is not sufficient
  * crypto: arm64/sha - add missing module aliases
      arch/arm64/crypto/sha1-ce-glue.c
      arch/arm64/crypto/sha2-ce-glue.c
    btrfs: fix extent buffer leak on failure to copy root
    btrfs: fix reloc root leak with 0 ref reloc roots on recovery
    btrfs: abort the transaction if we fail to inc ref in btrfs_copy_root
    KEYS: trusted: Fix migratable=1 failing
    tpm_tis: Clean up locality release
    tpm_tis: Fix check_locality for correct locality acquisition
    ALSA: hda/realtek: modify EAPD in the ALC886
    USB: serial: mos7720: fix error code in mos7720_write()
    USB: serial: mos7840: fix error code in mos7840_write()
    USB: serial: ftdi_sio: fix FTX sub-integer prescaler
  * usb: dwc3: gadget: Fix dep->interval for fullspeed interrupt
      drivers/usb/dwc3/gadget.c
  * usb: dwc3: gadget: Fix setting of DEPCFG.bInterval_m1
      drivers/usb/dwc3/gadget.c
    usb: musb: Fix runtime PM race in musb_queue_resume_work
    USB: serial: option: update interface mapping for ZTE P685M
    Input: i8042 - add ASUS Zenbook Flip to noselftest list
    Input: joydev - prevent potential read overflow in ioctl
  * Input: xpad - add support for PowerA Enhanced Wired Controller for Xbox Series X|S
      drivers/input/joystick/xpad.c
    Input: raydium_ts_i2c - do not send zero length
    HID: wacom: Ignore attempts to overwrite the touch_max value from HID
    ACPI: configfs: add missing check after configfs_register_default_group()
    ACPI: property: Fix fwnode string properties matching
  * blk-settings: align max_sectors on "logical_block_size" boundary
      block/blk-settings.c
  * scsi: bnx2fc: Fix Kconfig warning & CNIC build errors
      drivers/scsi/bnx2fc/Kconfig
  * mm/rmap: fix potential pte_unmap on an not mapped pte
      include/linux/rmap.h
    i2c: brcmstb: Fix brcmstd_send_i2c_cmd condition
  * arm64: Add missing ISB after invalidating TLB in __primary_switch
      arch/arm64/kernel/head.S
    r8169: fix jumbo packet handling on RTL8168e
    mm/hugetlb: fix potential double free in hugetlb_register_node() error path
  * mm/memory.c: fix potential pte_unmap_unlock pte error
      mm/memory.c
    ocfs2: fix a use after free on error
    vxlan: move debug check after netdev unregister
    net/mlx4_core: Add missed mlx4_free_cmd_mailbox()
    i40e: Fix add TC filter for IPv6
    i40e: Fix VFs not created
    i40e: Fix overwriting flow control settings during driver loading
    i40e: Add zero-initialization of AQ command structures
    i40e: Fix flow for IPv6 next header (extension header)
    regmap: sdw: use _no_pm functions in regmap_read/write
  * ext4: fix potential htree index checksum corruption
      fs/ext4/namei.c
    drm/msm/dsi: Correct io_start for MSM8994 (20nm PHY)
  * PCI: Align checking of syscall user config accessors
      drivers/pci/syscall.c
    VMCI: Use set_page_dirty_lock() when unregistering guest memory
    pwm: rockchip: rockchip_pwm_probe(): Remove superfluous clk_unprepare()
    misc: eeprom_93xx46: Add module alias to avoid breaking support for non device tree users
    misc: eeprom_93xx46: Fix module alias to enable module autoprobe
    sparc64: only select COMPAT_BINFMT_ELF if BINFMT_ELF is set
    Input: elo - fix an error code in elo_connect()
    perf test: Fix unaligned access in sample parsing test
    perf intel-pt: Fix missing CYC processing in PSB
    Input: sur40 - fix an error code in sur40_probe()
    spi: pxa2xx: Fix the controller numbering for Wildcat Point
    clk: qcom: gcc-msm8998: Fix Alpha PLL type for all GPLLs
    powerpc/8xx: Fix software emulation interrupt
    powerpc/pseries/dlpar: handle ibm, configure-connector delay status
    mfd: wm831x-auxadc: Prevent use after free in wm831x_auxadc_read_irq()
    spi: stm32: properly handle 0 byte transfer
    RDMA/rxe: Correct skb on loopback path
    RDMA/rxe: Fix coding error in rxe_recv.c
    perf tools: Fix DSO filtering when not finding a map for a sampled address
  * tracepoint: Do not fail unregistering a probe due to memory failure
      kernel/tracepoint.c
  * amba: Fix resource leak for drivers without .remove
      drivers/amba/bus.c
    ARM: 9046/1: decompressor: Do not clear SCTLR.nTLSMD for ARMv7+ cores
    mmc: renesas_sdhi_internal_dmac: Fix DMA buffer alignment from 8 to 128-bytes
    mmc: usdhi6rol0: Fix a resource leak in the error handling path of the probe
    powerpc/47x: Disable 256k page size
    KVM: PPC: Make the VMX instruction emulation routines static
    IB/umad: Return EPOLLERR in case of when device disassociated
    IB/umad: Return EIO in case of when device disassociated
    auxdisplay: ht16k33: Fix refresh rate handling
    isofs: release buffer head before return
    regulator: s5m8767: Drop regulators OF node reference
    spi: atmel: Put allocated master before return
  * certs: Fix blacklist flag type confusion
      include/linux/key.h
      security/keys/key.c
    regulator: axp20x: Fix reference cout leak
    clk: sunxi-ng: h6: Fix clock divider range on some clocks
    RDMA/mlx5: Use the correct obj_id upon DEVX TIR creation
    clocksource/drivers/mxs_timer: Add missing semicolon when DEBUG is defined
  * rtc: s5m: select REGMAP_I2C
      drivers/rtc/Kconfig
    power: reset: at91-sama5d2_shdwc: fix wkupdbc mask
  * of/fdt: Make sure no-map does not remove already reserved regions
      drivers/of/fdt.c
  * fdt: Properly handle "no-map" field in the memory region
      drivers/of/fdt.c
    mfd: bd9571mwv: Use devm_mfd_add_devices()
    dmaengine: hsu: disable spurious interrupt
    dmaengine: owl-dma: Fix a resource leak in the remove function
    dmaengine: fsldma: Fix a resource leak in an error handling path of the probe function
    dmaengine: fsldma: Fix a resource leak in the remove function
  * HID: core: detect and skip invalid inputs to snto32()
      drivers/hid/hid-core.c
    clk: sunxi-ng: h6: Fix CEC clock
    spi: cadence-quadspi: Abort read if dummy cycles required are too many
  * quota: Fix memory leak when handling corrupted quota file
      fs/quota/quota_v2.c
    clk: meson: clk-pll: fix initializing the old rate (fallback) for a PLL
  * capabilities: Don't allow writing ambiguous v3 file capabilities
      security/commoncap.c
    jffs2: fix use after free in jffs2_sum_write_data()
    fs/jfs: fix potential integer overflow on shift of a int
  * ima: Free IMA measurement buffer after kexec syscall
      include/linux/kexec.h
    ima: Free IMA measurement buffer on error
  * crypto: ecdh_helper - Ensure 'len >= secret.len' in decode_key()
      crypto/ecdh_helper.c
    hwrng: timeriomem - Fix cooldown period calculation
    btrfs: clarify error returns values in __load_free_space_cache
    Drivers: hv: vmbus: Avoid use-after-free in vmbus_onoffer_rescind()
    drm/amdgpu: Prevent shift wrapping in amdgpu_read_mask()
  * f2fs: fix to avoid inconsistent quota data
      fs/f2fs/file.c
      fs/f2fs/inline.c
    ASoC: cpcap: fix microphone timeslot mask
    ata: ahci_brcm: Add back regulators management
    crypto: talitos - Work around SEC6 ERRATA (AES-CTR mode data size error)
    media: uvcvideo: Accept invalid bFormatIndex and bFrameIndex values
    media: pxa_camera: declare variable when DEBUG is defined
    media: cx25821: Fix a bug when reallocating some dma memory
    media: qm1d1c0042: fix error return code in qm1d1c0042_init()
    media: lmedm04: Fix misuse of comma
    drm/amd/display: Fix 10/12 bpc setup in DCE output bit depth reduction.
    crypto: bcm - Rename struct device_private to bcm_device_private
    ASoC: cs42l56: fix up error handling in probe
    media: tm6000: Fix memleak in tm6000_start_stream
    media: media/pci: Fix memleak in empress_init
    media: em28xx: Fix use-after-free in em28xx_alloc_urbs
    media: vsp1: Fix an error handling path in the probe function
    media: camss: missing error code in msm_video_register()
    media: i2c: ov5670: Fix PIXEL_RATE minimum value
    MIPS: lantiq: Explicitly compare LTQ_EBU_PCC_ISTAT against 0
    MIPS: c-r4k: Fix section mismatch for loongson2_sc_init
    drm/amdgpu: Fix macro name _AMDGPU_TRACE_H_ in preprocessor if condition
    crypto: sun4i-ss - fix kmap usage
    gma500: clean up error handling in init
    drm/gma500: Fix error return code in psb_driver_load()
  * fbdev: aty: SPARC64 requires FB_ATY_CT
      drivers/video/fbdev/Kconfig
    net: mvneta: Remove per-cpu queue mapping for Armada 3700
    net: amd-xgbe: Fix network fluctuations when using 1G BELFUSE SFP
    net: amd-xgbe: Reset link when the link never comes back
    net: amd-xgbe: Fix NETDEV WATCHDOG transmit queue timeout warning
    net: amd-xgbe: Reset the PHY rx data path when mailbox command timeout
    ibmvnic: skip send_request_unmap for timeout reset
    ibmvnic: add memory barrier to protect long term buffer
    b43: N-PHY: Fix the update of coef for the PHY revision >= 3case
    cxgb4/chtls/cxgbit: Keeping the max ofld immediate data size same in cxgb4 and ulds
  * tcp: fix SO_RCVLOWAT related hangs under mem pressure
      include/net/tcp.h
  * bpf: Fix bpf_fib_lookup helper MTU check for SKB ctx
      net/core/filter.c
    mac80211: fix potential overflow when multiplying to u32 integers
    xen/netback: fix spurious event detection for common event case
    bnxt_en: reverse order of TX disable and carrier off
    ibmvnic: Set to CLOSED state even on error
    ath9k: fix data bus crash when setting nf_override via debugfs
  * bpf_lru_list: Read double-checked variable once without lock
      kernel/bpf/bpf_lru_list.c
    soc: aspeed: snoop: Add clock control logic
    ARM: s3c: fix fiq for clang IAS
    arm64: dts: msm8916: Fix reserved and rfsa nodes unit address
    ARM: dts: armada388-helios4: assign pinctrl to each fan
    ARM: dts: armada388-helios4: assign pinctrl to LEDs
    staging: rtl8723bs: wifi_regd.c: Fix incorrect number of regulatory rules
    usb: dwc2: Make "trimming xfer length" a debug message
    usb: dwc2: Abort transaction after errors with unknown reason
    usb: dwc2: Do not update data length if it is 0 on inbound transfers
    ARM: dts: Configure missing thermal interrupt for 4430
    memory: ti-aemif: Drop child node when jumping out loop
  * Bluetooth: Put HCI device if inquiry procedure interrupts
      net/bluetooth/hci_core.c
  * Bluetooth: drop HCI device reference before return
      net/bluetooth/a2mp.c
    usb: gadget: u_audio: Free requests only after callback
  * ACPICA: Fix exception code class checks
      include/acpi/acexcep.h
    cpufreq: brcmstb-avs-cpufreq: Fix resource leaks in ->remove()
    cpufreq: brcmstb-avs-cpufreq: Free resources in error path
    arm64: dts: allwinner: A64: Limit MMC2 bus frequency to 150 MHz
    arm64: dts: allwinner: Drop non-removable from SoPine/LTS SD card
    arm64: dts: allwinner: A64: properly connect USB PHY to port 0
  * bpf: Avoid warning when re-casting __bpf_call_base into __bpf_call_base_args
      include/linux/filter.h
    arm64: dts: exynos: correct PMIC interrupt trigger level on Espresso
    arm64: dts: exynos: correct PMIC interrupt trigger level on TM2
    ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid XU3 family
    ARM: dts: exynos: correct PMIC interrupt trigger level on Arndale Octa
    ARM: dts: exynos: correct PMIC interrupt trigger level on Spring
    ARM: dts: exynos: correct PMIC interrupt trigger level on Rinato
    ARM: dts: exynos: correct PMIC interrupt trigger level on Monk
    ARM: dts: exynos: correct PMIC interrupt trigger level on Artik 5
  * Bluetooth: Fix initializing response id after clearing struct
      net/bluetooth/a2mp.c
    Bluetooth: btqcomsmd: Fix a resource leak in error handling paths in the probe function
    ath10k: Fix error handling in case of CE pipe init failure
  * random: fix the RNDRESEEDCRNG ioctl
      drivers/char/random.c
    MIPS: vmlinux.lds.S: add missing PAGE_ALIGNED_DATA() section
  * ALSA: usb-audio: Fix PCM buffer allocation in non-vmalloc mode
      sound/usb/pcm.c
    bfq: Avoid false bfq queue merging
    PCI: qcom: Use PHY_REFCLK_USE_PAD only for ipq8064
    kdb: Make memory allocations more robust
  * vmlinux.lds.h: add DWARF v5 sections
      include/asm-generic/vmlinux.lds.h
  * locking/static_key: Fix false positive warnings on concurrent dec/inc
      kernel/jump_label.c
  * jump_label/lockdep: Assert we hold the hotplug lock for _cpuslocked() operations
      kernel/jump_label.c
    scripts/recordmcount.pl: support big endian for ARCH sh
    cifs: Set CIFS_MOUNT_USE_PREFIX_PATH flag on setting cifs_sb->prepath.
    NET: usb: qmi_wwan: Adding support for Cinterion MV31
  * block: don't release queue's sysfs lock during switching elevator
      block/blk-sysfs.c
      block/elevator.c
  * block: fix race between switching elevator and removing queues
      block/blk-sysfs.c
  * block: split .sysfs_lock into two locks
      block/blk-core.c
      block/blk-mq-sysfs.c
      block/blk-sysfs.c
      block/blk.h
      block/elevator.c
      include/linux/blkdev.h
  * block: add helper for checking if queue is registered
      block/blk-sysfs.c
      block/elevator.c
      include/linux/blkdev.h
  * scripts: set proper OpenSSL include dir also for sign-file
      scripts/Makefile
  * scripts: use pkg-config to locate libcrypto
      scripts/Makefile
    arm64: tegra: Add power-domain for Tegra210 HDA
    ntfs: check for valid standard information attribute
  * usb: quirks: add quirk to start video capture on ELMO L-12F document camera reliable
      drivers/usb/core/quirks.c
  * USB: quirks: sort quirk entries
      drivers/usb/core/quirks.c
  * HID: make arrays usage and value to be the same
      drivers/hid/hid-core.c
    ANDROID: syscalls/x86: use a weak function for IA32 compat syscalls
    ANDROID: Adding kprobes build configs for Cuttlefish
  * UPSTREAM: locking/static_key: Fix false positive warnings on concurrent dec/inc
      kernel/jump_label.c
  * UPSTREAM: jump_label/lockdep: Assert we hold the hotplug lock for _cpuslocked() operations
      kernel/jump_label.c
    ANDROID: Add symbol of _proc_mkdir

Bug: 184596728
Change-Id: I0dddfc3da829cf53c4716a6df1072ed3396b6f4a
Signed-off-by: Lucas Wei <lucaswei@google.com>
2021-04-26 16:14:00 +08:00
Greg Kroah-Hartman
72af4b8433 Merge 4.19.183 into android-4.19-stable
Changes in 4.19.183
	ASoC: ak4458: Add MODULE_DEVICE_TABLE
	ASoC: ak5558: Add MODULE_DEVICE_TABLE
	ALSA: hda: generic: Fix the micmute led init state
	Revert "PM: runtime: Update device status before letting suppliers suspend"
	vmlinux.lds.h: Create section for protection against instrumentation
	lkdtm: don't move ctors to .rodata
	perf tools: Use %define api.pure full instead of %pure-parser
	tools build feature: Check if get_current_dir_name() is available
	tools build feature: Check if eventfd() is available
	tools build: Check if gettid() is available before providing helper
	btrfs: fix race when cloning extent buffer during rewind of an old root
	btrfs: fix slab cache flags for free space tree bitmap
	ASoC: fsl_ssi: Fix TDM slot setup for I2S mode
	nvmet: don't check iosqes,iocqes for discovery controllers
	NFSD: Repair misuse of sv_lock in 5.10.16-rt30.
	svcrdma: disable timeouts on rdma backchannel
	sunrpc: fix refcount leak for rpc auth modules
	net/qrtr: fix __netdev_alloc_skb call
	scsi: lpfc: Fix some error codes in debugfs
	nvme-rdma: fix possible hang when failing to set io queues
	powerpc: Force inlining of cpu_has_feature() to avoid build failure
	usb-storage: Add quirk to defeat Kindle's automatic unload
	usbip: Fix incorrect double assignment to udc->ud.tcp_rx
	USB: replace hardcode maximum usb string length by definition
	usb: gadget: configfs: Fix KASAN use-after-free
	iio:adc:stm32-adc: Add HAS_IOMEM dependency
	iio:adc:qcom-spmi-vadc: add default scale to LR_MUX2_BAT_ID channel
	iio: adis16400: Fix an error code in adis16400_initial_setup()
	iio: gyro: mpu3050: Fix error handling in mpu3050_trigger_handler
	iio: hid-sensor-humidity: Fix alignment issue of timestamp channel
	iio: hid-sensor-prox: Fix scale not correct issue
	iio: hid-sensor-temperature: Fix issues of timestamp channel
	PCI: rpadlpar: Fix potential drc_name corruption in store functions
	perf/x86/intel: Fix a crash caused by zero PEBS status
	x86/ioapic: Ignore IRQ2 again
	kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data()
	x86: Move TS_COMPAT back to asm/thread_info.h
	x86: Introduce TS_COMPAT_RESTART to fix get_nr_restart_syscall()
	ext4: find old entry again if failed to rename whiteout
	ext4: do not try to set xattr into ea_inode if value is empty
	ext4: fix potential error in ext4_do_update_inode
	genirq: Disable interrupts for force threaded handlers
	x86/apic/of: Fix CPU devicetree-node lookups
	cifs: Fix preauth hash corruption
	Linux 4.19.183

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4f8cba389a80baddd43c2e782e9250187bf94d05
2021-03-25 15:18:10 +01:00
Nicolas Boichat
c0387536ed vmlinux.lds.h: Create section for protection against instrumentation
From: Thomas Gleixner <tglx@linutronix.de>

commit 6553896666433e7efec589838b400a2a652b3ffa upstream.

Some code pathes, especially the low level entry code, must be protected
against instrumentation for various reasons:

 - Low level entry code can be a fragile beast, especially on x86.

 - With NO_HZ_FULL RCU state needs to be established before using it.

Having a dedicated section for such code allows to validate with tooling
that no unsafe functions are invoked.

Add the .noinstr.text section and the noinstr attribute to mark
functions. noinstr implies notrace. Kprobes will gain a section check
later.

Provide also a set of markers: instrumentation_begin()/end()

These are used to mark code inside a noinstr function which calls
into regular instrumentable text section as safe.

The instrumentation markers are only active when CONFIG_DEBUG_ENTRY is
enabled as the end marker emits a NOP to prevent the compiler from merging
the annotation points. This means the objtool verification requires a
kernel compiled with this option.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200505134100.075416272@linutronix.de

[Nicolas:
Guard noinstr macro in include/linux/compiler_types.h in __KERNEL__
&& !__ASSEMBLY__, otherwise noinstr is expanded in the linker
script construct.

Upstream does not have this problem as many macros were moved by
commit 71391bdd2e9a ("include/linux/compiler_types.h: don't pollute
userspace with macro definitions"). We take the minimal approach here
and just guard the new macro.

Minor context conflicts in:
	arch/powerpc/kernel/vmlinux.lds.S
	include/asm-generic/vmlinux.lds.h
	include/linux/compiler.h]
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-24 11:07:31 +01:00
Lucas Wei
598e89bf33 Merge android-4.19-stable (4.19.171) into android-msm-pixel-4.19-lts
Merge 4.19.171 into android-4.19-stable
Linux 4.19.171
    net: dsa: b53: fix an off by one in checking "vlan->vid"
  * net: Disable NETIF_F_HW_TLS_RX when RXCSUM is disabled
      net/core/dev.c
    net: mscc: ocelot: allow offloading of bridge on top of LAG
  * ipv6: set multicast flag on the multicast route
      net/ipv6/addrconf.c
  * net_sched: reject silly cell_log in qdisc_get_rtab()
      net/sched/sch_api.c
    net_sched: avoid shift-out-of-bounds in tcindex_set_parms()
  * ipv6: create multicast route with RTPROT_KERNEL
      net/ipv6/addrconf.c
  * udp: mask TOS bits in udp_v4_early_demux()
      net/ipv4/udp.c
    kasan: fix incorrect arguments passing in kasan_add_zero_shadow
    kasan: fix unaligned address is unhandled in kasan_remove_zero_shadow
  * skbuff: back tiny skbs with kmalloc() in __netdev_alloc_skb() too
      net/core/skbuff.c
    sh_eth: Fix power down vs. is_opened flag ordering
    sh: dma: fix kconfig dependency for G2_DMA
  * netfilter: rpfilter: mask ecn bits before fib lookup
      net/ipv4/netfilter/ipt_rpfilter.c
  * driver core: Extend device_is_dependent()
      drivers/base/core.c
    xhci: tegra: Delay for disabling LFPS detector
  * xhci: make sure TRB is fully written before giving it to the controller
      drivers/usb/host/xhci-ring.c
  * usb: bdc: Make bdc pci driver depend on BROKEN
      drivers/usb/gadget/udc/bdc/Kconfig
  * usb: udc: core: Use lock when write to soft_connect
      drivers/usb/gadget/udc/core.c
    usb: gadget: aspeed: fix stop dma register setting.
  * USB: ehci: fix an interrupt calltrace error
      drivers/usb/host/ehci-hub.c
  * ehci: fix EHCI host controller initialization sequence
      drivers/usb/host/ehci-hcd.c
    serial: mvebu-uart: fix tx lost characters at power off
    stm class: Fix module init return on allocation failure
    intel_th: pci: Add Alder Lake-P support
    irqchip/mips-cpu: Set IPI domain parent chip
    iio: ad5504: Fix setting power-down state
    can: peak_usb: fix use after free bugs
    can: vxcan: vxcan_xmit: fix use after free bug
    can: dev: can_restart: fix use after free bug
    selftests: net: fib_tests: remove duplicate log test
    platform/x86: intel-vbtn: Drop HP Stream x360 Convertible PC 11 from allow-list
    i2c: octeon: check correct size of maximum RECV_LEN packet
    scsi: megaraid_sas: Fix MEGASAS_IOC_FIRMWARE regression
    drm/nouveau/kms/nv50-: fix case where notifier buffer is at offset 0
    drm/nouveau/mmu: fix vram heap sizing
    drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields
    drm/nouveau/privring: ack interrupts the same way as RM
    drm/nouveau/bios: fix issue shadowing expansion ROMs
  * xen: Fix event channel callback via INTX/GSI
      include/xen/xenbus.h
    clk: tegra30: Add hda clock default rates to clock driver
  * HID: Ignore battery for Elan touchscreen on ASUS UX550
      drivers/hid/hid-ids.h
      drivers/hid/hid-input.c
    riscv: Fix kernel time_init()
    scsi: qedi: Correct max length of CHAP secret
  * scsi: ufs: Correct the LUN used in eh_device_reset_handler() callback
      drivers/scsi/ufs/ufshcd.c
    ASoC: Intel: haswell: Add missing pm_ops
  * drm/atomic: put state on error path
      drivers/gpu/drm/drm_atomic_helper.c
    dm integrity: fix a crash if "recalculate" used without "internal_hash"
  * dm: avoid filesystem lookup in dm_get_dev_t()
      drivers/md/dm-table.c
    mmc: sdhci-xenon: fix 1.8v regulator stabilization
    mmc: core: don't initialize block size from ext_csd if not present
    btrfs: fix lockdep splat in btrfs_recover_relocation
    ACPI: scan: Make acpi_bus_get_device() clear return pointer on error
    ALSA: hda/via: Add minimum mute flag
    ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info()
    i2c: bpmp-tegra: Ignore unknown I2C_M flags
  * Revert "ANDROID: Incremental fs: RCU locks instead of mutex for pending_reads."
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
  * Revert "ANDROID: Incremental fs: Fix minor bugs"
      fs/incfs/data_mgmt.c
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: dentry_revalidate should not return -EBADF."
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: Remove annoying pr_debugs"
      fs/incfs/data_mgmt.c
  * Revert "ANDROID: Incremental fs: Remove unnecessary dependencies"
      fs/incfs/Kconfig
  * Revert "ANDROID: Incremental fs: Use R/W locks to read/write segment blockmap."
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/vfs.c
    Revert "ANDROID: Incremental fs: Stress tool"
    Revert "ANDROID: Incremental fs: Adding perf test"
    Revert "ANDROID: Incremental fs: Allow running a single test"
  * Revert "ANDROID: Incremental fs: Fix incfs to work on virtio-9p"
      fs/incfs/format.c
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: Don't allow renaming .index directory."
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: Create mapped file"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Add UID to pending_read"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/main.c
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Separate pseudo-file code"
      fs/incfs/Makefile
      fs/incfs/pseudo_files.c
      fs/incfs/pseudo_files.h
      fs/incfs/vfs.c
      fs/incfs/vfs.h
  * Revert "ANDROID: Incremental fs: Add .blocks_written file"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/pseudo_files.c
      fs/incfs/pseudo_files.h
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Remove attributes from file"
      fs/incfs/data_mgmt.c
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/pseudo_files.c
  * Revert "ANDROID: Incremental fs: Remove back links and crcs"
      fs/incfs/format.c
      fs/incfs/format.h
  * Revert "ANDROID: Incremental fs: Remove block HASH flag"
      fs/incfs/format.c
      fs/incfs/format.h
  * Revert "ANDROID: Incremental fs: Make compatible with existing files"
      fs/incfs/format.c
      fs/incfs/format.h
  * Revert "ANDROID: Incremental fs: Add INCFS_IOC_GET_BLOCK_COUNT"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Add hash block counts to IOC_IOCTL_GET_BLOCK_COUNT"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Fix filled block count from get filled blocks"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
      fs/incfs/vfs.h
  * Revert "ANDROID: Incremental fs: Fix uninitialized variable"
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: Fix dangling else"
      fs/incfs/data_mgmt.c
  * Revert "ANDROID: Incremental fs: Add .incomplete folder"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: Add per UID read timeouts"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Fix misuse of cpu_to_leXX and poll return"
      fs/incfs/format.c
      fs/incfs/pseudo_files.c
    Revert "ANDROID: Incremental fs: Fix read_log_test which failed sporadically"
  * Revert "ANDROID: Incremental fs: Initialize mount options correctly"
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: Small improvements"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: Add zstd compression support"
      fs/incfs/Kconfig
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.h
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Add zstd feature flag"
      fs/incfs/main.c
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Add v2 feature flag"
      fs/incfs/main.c
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Change per UID timeouts to microseconds"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
    Revert "ANDROID: Incremental fs: Fix incfs_test use of atol, open"
  * Revert "ANDROID: Incremental fs: Set credentials before reading/writing"
      fs/incfs/data_mgmt.c
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/pseudo_files.c
    ANDROID: GKI: Update ABI for clang bump
    ANDROID: clang: update to 12.0.1
    Revert "ANDROID: enable LLVM_IAS=1 for clang's integrated assembler for x86_64"
    ANDROID: enable LLVM_IAS=1 for clang's integrated assembler for x86_64
    Merge 4.19.170 into android-4.19-stable
Linux 4.19.170
    spi: cadence: cache reference clock rate during probe
  * net: ipv6: Validate GSO SKB before finish IPv6 processing
      net/ipv6/ip6_output.c
  * net: skbuff: disambiguate argument and member for skb_list_walk_safe helper
      include/linux/skbuff.h
  * net: introduce skb_list_walk_safe for skb segment walking
      include/linux/skbuff.h
  * tipc: fix NULL deref in tipc_link_xmit()
      net/tipc/link.c
    rxrpc: Fix handling of an unsupported token type in rxrpc_read()
  * net: avoid 32 x truesize under-estimation for tiny skbs
      net/core/skbuff.c
  * net: sit: unregister_netdevice on newlink's error path
      net/ipv6/sit.c
    net: stmmac: Fixed mtu channged by cache aligned
    rxrpc: Call state should be read with READ_ONCE() under some circumstances
    net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands
    net: dcb: Validate netlink message in DCB handler
  * esp: avoid unneeded kmap_atomic call
      net/ipv4/esp4.c
      net/ipv6/esp6.c
    rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request
    net: mvpp2: Remove Pause and Asym_Pause support
    netxen_nic: fix MSI/MSI-x interrupts
  * udp: Prevent reuseport_select_sock from reading uninitialized socks
      net/core/sock_reuseport.c
    nfsd4: readdirplus shouldn't return parent of export
    crypto: x86/crc32c - fix building with clang ias
  * dm integrity: fix flush with external metadata device
      drivers/md/dm-bufio.c
      include/linux/dm-bufio.h
  * compiler.h: Raise minimum version of GCC to 5.1 for arm64
      include/linux/compiler-gcc.h
  * usb: ohci: Make distrust_firmware param default to false
      drivers/usb/host/ohci-hcd.c
    ANDROID: GKI: Update the ABI xml and symbol list
  * ANDROID: GKI: genirq: export `kstat_irqs_usr` for watchdog
      kernel/irq/irqdesc.c
  * ANDROID: GKI: soc: qcom: export `irq_stack_ptr`
      arch/arm64/kernel/irq.c
  * ANDROID: ASoC: core: add locked version of soc_find_component
      sound/soc/soc-core.c
  * ANDROID: dm-user: Fix the list walk-and-delete code
      drivers/md/dm-user.c
    Merge 4.19.169 into android-4.19-stable
Linux 4.19.169
  * kbuild: enforce -Werror=return-type
      Makefile
  * netfilter: nf_nat: Fix memleak in nf_nat_init
      net/netfilter/nf_nat_core.c
  * netfilter: conntrack: fix reading nf_conntrack_buckets
      net/netfilter/nf_conntrack_standalone.c
    ALSA: fireface: Fix integer overflow in transmit_midi_msg()
    ALSA: firewire-tascam: Fix integer overflow in midi_port_work()
  * dm: eliminate potential source of excessive kernel log noise
      drivers/md/dm.c
    net: sunrpc: interpret the return value of kstrtou32 correctly
  * mm, slub: consider rest of partial list if acquire_slab() fails
      mm/slub.c
    RDMA/mlx5: Fix wrong free of blue flame register on error
    RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp
  * ext4: fix superblock checksum failure when setting password salt
      fs/ext4/ioctl.c
    NFS: nfs_igrab_and_active must first reference the superblock
    NFS/pNFS: Fix a leak of the layout 'plh_outstanding' counter
    pNFS: Mark layout for return if return-on-close was not sent
    NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock
    ASoC: Intel: fix error code cnl_set_dsp_D0()
    ASoC: meson: axg-tdm-interface: fix loopback
  * dump_common_audit_data(): fix racy accesses to ->d_name
      security/lsm_audit.c
    ima: Remove __init annotation from ima_pcrread()
    ARM: picoxcell: fix missing interrupt-parent properties
    drm/msm: Call msm_init_vram before binding the gpu
  * ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI
      include/linux/acpi.h
    net: ethernet: fs_enet: Add missing MODULE_LICENSE
  * misdn: dsp: select CONFIG_BITREVERSE
      drivers/isdn/mISDN/Kconfig
    arch/arc: add copy_user_page() to <asm/page.h> to fix build error on ARC
    bfq: Fix computation of shallow depth
    ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram
    btrfs: fix transaction leak and crash after RO remount caused by qgroup rescan
    ARC: build: add boot_targets to PHONY
    ARC: build: add uImage.lzma to the top-level target
    ARC: build: remove non-existing bootpImage from KBUILD_IMAGE
  * ext4: fix bug for rename with RENAME_WHITEOUT
      fs/ext4/namei.c
  * r8152: Add Lenovo Powered USB-C Travel Hub
      drivers/net/usb/cdc_ether.c
      drivers/net/usb/r8152.c
    dm integrity: fix the maximum number of arguments
  * dm snapshot: flush merged data before committing metadata
      drivers/md/dm-snap.c
    mm/hugetlb: fix potential missing huge page size info
    ACPI: scan: Harden acpi_device_add() against device ID overflows
    MIPS: relocatable: fix possible boot hangup with KASLR enabled
    MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB
  * tracing/kprobes: Do the notrace functions check without kprobes on ftrace
      kernel/trace/Kconfig
    x86/hyperv: check cpu mask after interrupt has been disabled
  * ASoC: dapm: remove widget from dirty list on free
      sound/soc/soc-dapm.c
  * Revert "BACKPORT: FROMGIT: mm: improve mprotect(R|W) efficiency on pages referenced once"
      mm/mprotect.c
    Merge 4.19.168 into android-4.19-stable
Linux 4.19.168
  * regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init()
      drivers/base/regmap/regmap-debugfs.c
  * net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed packet
      net/core/skbuff.c
  * block: fix use-after-free in disk_part_iter_next
      block/genhd.c
    KVM: arm64: Don't access PMCR_EL0 when no PMU is available
  * wan: ds26522: select CONFIG_BITREVERSE
      drivers/net/wan/Kconfig
  * regmap: debugfs: Fix a memory leak when calling regmap_attach_dev
      drivers/base/regmap/regmap-debugfs.c
    net/mlx5e: Fix two double free cases
    net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups
    iommu/intel: Fix memleak in intel_irq_remapping_alloc
  * lightnvm: select CONFIG_CRC32
      drivers/lightnvm/Kconfig
  * block: rsxx: select CONFIG_CRC32
      drivers/block/Kconfig
  * wil6210: select CONFIG_CRC32
      drivers/net/wireless/ath/wil6210/Kconfig
    dmaengine: xilinx_dma: fix mixed_enum_type coverity warning
    dmaengine: xilinx_dma: fix incompatible param warning in _child_probe()
    dmaengine: xilinx_dma: check dma_async_device_register return value
    dmaengine: mediatek: mtk-hsdma: Fix a resource leak in the error handling path of the probe function
    spi: stm32: FIFO threshold level - fix align packet size
    cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get()
    i2c: sprd: use a specific timeout to avoid system hang up issue
    ARM: OMAP2+: omap_device: fix idling of devices during probe
    HID: wacom: Fix memory leakage caused by kfifo_alloc
    iio: imu: st_lsm6dsx: fix edge-trigger interrupts
    iio: imu: st_lsm6dsx: flip irq return logic
    spi: pxa2xx: Fix use-after-free on unbind
    drm/i915: Fix mismatch between misplaced vma check and vma insert
  * vmlinux.lds.h: Add PGO and AutoFDO input sections
      include/asm-generic/vmlinux.lds.h
    x86/resctrl: Don't move a task to the same resource group
    x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR
    chtls: Fix chtls resources release sequence
    chtls: Added a check to avoid NULL pointer dereference
    chtls: Replace skb_dequeue with skb_peek
    chtls: Fix panic when route to peer not configured
    chtls: Remove invalid set_tcb call
    chtls: Fix hardware tid leak
  * net: ipv6: fib: flush exceptions when purging route
      net/ipv6/ip6_fib.c
  * net: fix pmtu check in nopmtudisc mode
      net/ipv4/ip_tunnel.c
  * net: ip: always refragment ip defragmented packets
      net/ipv4/ip_output.c
    net/sonic: Fix some resource leaks in error handling paths
    net: vlan: avoid leaks on register_vlan_dev() failures
    net: stmmac: dwmac-sun8i: Balance internal PHY power
    net: stmmac: dwmac-sun8i: Balance internal PHY resource references
    net: hns3: fix the number of queues actually used by ARQ
  * net: cdc_ncm: correct overhead in delayed_ndp_size
      drivers/net/usb/cdc_ncm.c
  * BACKPORT: FROMGIT: mm: improve mprotect(R|W) efficiency on pages referenced once
      mm/mprotect.c
  * ANDROID: dm-user: fix typo in channel_free
      drivers/md/dm-user.c
    Merge 4.19.167 into android-4.19-stable
  * ANDROID: dm-user: Add some missing static
      drivers/md/dm-user.c
Linux 4.19.167
    scsi: target: Fix XCOPY NAA identifier lookup
    KVM: x86: fix shift out of bounds reported by UBSAN
    x86/mtrr: Correct the range check before performing MTRR type lookups
    netfilter: xt_RATEEST: reject non-null terminated string from userspace
    netfilter: ipset: fix shift-out-of-bounds in htable_bits()
  * netfilter: x_tables: Update remaining dereference to RCU
      net/ipv4/netfilter/arp_tables.c
      net/ipv4/netfilter/ip_tables.c
      net/ipv6/netfilter/ip6_tables.c
    xen/pvh: correctly setup the PV EFI interface for dom0
  * Revert "device property: Keep secondary firmware node secondary by type"
      drivers/base/core.c
    btrfs: send: fix wrong file path when there is an inode with a pending rmdir
    ALSA: hda/realtek - Fix speaker volume control on Lenovo C940
    ALSA: hda/conexant: add a new hda codec CX11970
    ALSA: hda/via: Fix runtime PM for Clevo W35xSS
    x86/mm: Fix leak of pmd ptlock
    USB: serial: keyspan_pda: remove unused variable
  * usb: gadget: configfs: Fix use-after-free issue with udc_name
      drivers/usb/gadget/configfs.c
  * usb: gadget: configfs: Preserve function ordering after bind failure
      drivers/usb/gadget/configfs.c
  * usb: gadget: Fix spinlock lockup on usb_function_deactivate
      drivers/usb/gadget/composite.c
    USB: gadget: legacy: fix return error code in acm_ms_bind()
  * usb: gadget: u_ether: Fix MTU size mismatch with RX packet size
      drivers/usb/gadget/function/u_ether.c
    usb: gadget: function: printer: Fix a memory leak for interface descriptor
    usb: gadget: f_uac2: reset wMaxPacketSize
  * usb: gadget: select CONFIG_CRC32
      drivers/usb/gadget/Kconfig
  * ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks
      sound/usb/midi.c
    USB: usblp: fix DMA to stack
    USB: yurex: fix control-URB timeout handling
    USB: serial: option: add Quectel EM160R-GL
    USB: serial: option: add LongSung M5710 module support
    USB: serial: iuu_phoenix: fix DMA from stack
    usb: uas: Add PNY USB Portable SSD to unusual_uas
    usb: usbip: vhci_hcd: protect shift size
  * USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set
      drivers/usb/host/xhci.c
    usb: chipidea: ci_hdrc_imx: add missing put_device() call in usbmisc_get_init_data()
  * usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion
      drivers/usb/dwc3/core.h
    USB: cdc-wdm: Fix use after free in service_outstanding_interrupt().
    USB: cdc-acm: blacklist another IR Droid device
  * usb: gadget: enable super speed plus
      drivers/usb/gadget/configfs.c
    staging: mt7621-dma: Fix a resource leak in an error handling path
  * crypto: ecdh - avoid buffer overflow in ecdh_set_secret()
      crypto/ecdh.c
    video: hyperv_fb: Fix the mmap() regression for v5.4.y and older
    Bluetooth: revert: hci_h5: close serdev device and free hu in h5_close
    net: systemport: set dev->max_mtu to UMAC_MAX_MTU_SIZE
  * net-sysfs: take the rtnl lock when accessing xps_rxqs_map and num_tc
      net/core/net-sysfs.c
  * net-sysfs: take the rtnl lock when storing xps_rxqs
      net/core/net-sysfs.c
  * net: sched: prevent invalid Scell_log shift count
      include/net/red.h
    vhost_net: fix ubuf refcount incorrectly when sendmsg fails
    r8169: work around power-saving bug on some chip versions
    net: usb: qmi_wwan: add Quectel EM160R-GL
  * CDC-NCM: remove "connected" log message
      drivers/net/usb/cdc_ncm.c
    net: hdlc_ppp: Fix issues when mod_timer is called while timer is running
  * erspan: fix version 1 check in gre_parse_header()
      net/ipv4/gre_demux.c
    net: hns: fix return value check in __lb_other_process()
  * ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst()
      net/ipv4/fib_frontend.c
  * tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS
      drivers/net/tun.c
    net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered
  * net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc
      net/core/net-sysfs.c
  * net-sysfs: take the rtnl lock when storing xps_cpus
      net/core/net-sysfs.c
    net: ethernet: Fix memleak in ethoc_probe
    net/ncsi: Use real net-device for response handler
    virtio_net: Fix recursive call to cpus_read_lock()
    qede: fix offload for IPIP tunnel packets
    net: mvpp2: Fix GoP port 3 Networking Complex Control configurations
    atm: idt77252: call pci_disable_device() on error path
    ethernet: ucc_geth: set dev->max_mtu to 1518
    ethernet: ucc_geth: fix use-after-free in ucc_geth_remove()
    net: mvpp2: prs: fix PPPoE with ipv6 packet parse
    net: mvpp2: Add TCAM entry to drop flow control pause frames
    i40e: Fix Error I40E_AQ_RC_EINVAL when removing VFs
  * proc: fix lookup in /proc/net subdirectories after setns(2)
      fs/proc/generic.c
      fs/proc/internal.h
      fs/proc/proc_net.c
      include/linux/proc_fs.h
  * proc: change ->nlink under proc_subdir_lock
      fs/proc/generic.c
    depmod: handle the case of /sbin/depmod without /sbin in PATH
  * lib/genalloc: fix the overflow when size is too big
      lib/genalloc.c
    scsi: scsi_transport_spi: Set RQF_PM for domain validation commands
    scsi: ide: Do not set the RQF_PREEMPT flag for sense requests
    scsi: ufs-pci: Ensure UFS device is in PowerDown mode for suspend-to-disk ->poweroff()
  * scsi: ufs: Fix wrong print message in dev_err()
      drivers/scsi/ufs/ufshcd.c
  * workqueue: Kick a worker based on the actual activation of delayed works
      kernel/workqueue.c
  * kbuild: don't hardcode depmod path
      Makefile
    ANDROID: enable LLVM_IAS=1 for clang's integrated assembler for aarch64
  * Revert "ANDROID: arm64: lse: fix LSE atomics with LTO"
      arch/arm64/include/asm/lse.h
  * ANDROID: uapi: Add dm-user structure definition
      include/uapi/linux/dm-user.h
  * ANDROID: dm: dm-user: New target that proxies BIOs to userspace
      drivers/md/Kconfig
      drivers/md/Makefile
      drivers/md/dm-user.c
    ANDROID: GKI: Enable XFRM_MIGRATE
    Merge 4.19.166 into android-4.19-stable
Linux 4.19.166
    mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start
    iio:magnetometer:mag3110: Fix alignment and data leak issues.
    iio:imu:bmi160: Fix alignment and data leak issues
  * kdev_t: always inline major/minor helper functions
      include/linux/kdev_t.h
    dmaengine: at_hdmac: add missing kfree() call in at_dma_xlate()
    dmaengine: at_hdmac: add missing put_device() call in at_dma_xlate()
    dmaengine: at_hdmac: Substitute kzalloc with kmalloc
    Revert "mtd: spinand: Fix OOB read"
    Merge 4.19.165 into android-4.19-stable
Linux 4.19.165
  * dm verity: skip verity work if I/O error when system is shutting down
      drivers/md/dm-verity-target.c
  * ALSA: pcm: Clear the full allocated memory at hw_params
      sound/core/pcm_native.c
  * module: delay kobject uevent until after module init call
      kernel/module.c
    NFSv4: Fix a pNFS layout related use-after-free race when freeing the inode
    powerpc: sysdev: add missing iounmap() on error in mpic_msgr_probe()
  * quota: Don't overflow quota file offsets
      fs/quota/quota_tree.c
  * module: set MODULE_STATE_GOING state when a module fails to load
      kernel/module.c
    rtc: sun6i: Fix memleak in sun6i_rtc_clk_init
  * fcntl: Fix potential deadlock in send_sig{io, urg}()
      fs/fcntl.c
  * ALSA: rawmidi: Access runtime->avail always in spinlock
      sound/core/rawmidi.c
    ALSA: seq: Use bool for snd_seq_queue internal flags
    media: gp8psk: initialize stats at power control logic
    misc: vmw_vmci: fix kernel info-leak by initializing dbells in vmci_ctx_get_chkpt_doorbells()
    reiserfs: add check for an invalid ih_entry_count
    Bluetooth: hci_h5: close serdev device and free hu in h5_close
  * of: fix linker-section match-table corruption
      include/linux/of.h
    null_blk: Fix zone size initialization
    xen/gntdev.c: Mark pages as dirty
    powerpc/bitops: Fix possible undefined behaviour with fls() and fls64()
    KVM: x86: reinstate vendor-agnostic check on SPEC_CTRL cpuid bits
    KVM: SVM: relax conditions for allowing MSR_IA32_SPEC_CTRL accesses
  * uapi: move constants from <linux/kernel.h> to <linux/const.h>
      include/uapi/linux/const.h
      include/uapi/linux/ethtool.h
      include/uapi/linux/kernel.h
      include/uapi/linux/lightnvm.h
      include/uapi/linux/mroute6.h
      include/uapi/linux/netfilter/x_tables.h
      include/uapi/linux/netlink.h
      include/uapi/linux/sysctl.h
  * ext4: don't remount read-only with errors=continue on reboot
      fs/ext4/super.c
    vfio/pci: Move dummy_resources_list init in vfio_pci_probe()
    ubifs: prevent creating duplicate encrypted filenames
  * f2fs: prevent creating duplicate encrypted filenames
      fs/f2fs/f2fs.h
  * ext4: prevent creating duplicate encrypted filenames
      fs/ext4/namei.c
  * fscrypt: add fscrypt_is_nokey_name()
      fs/crypto/hooks.c
    md/raid10: initialize r10_bio->read_slot before use.
  * ANDROID: usb: f_accessory: Don't drop NULL reference in acc_disconnect()
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Avoid bitfields for shared variables
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Cancel any pending work before teardown
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Don't corrupt global state on double registration
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Fix teardown ordering in acc_release()
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Add refcounting to global 'acc_dev'
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Wrap '_acc_dev' in get()/put() accessors
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Remove useless assignment
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Remove useless non-debug prints
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Remove stale comments
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: USB: f_accessory: Check dev pointer before decoding ctrl request
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: gadget: f_accessory: fix CTS test stuck
      drivers/usb/gadget/function/f_accessory.c
  * Revert "seq_buf: Avoid type mismatch for seq_buf_init"
      include/linux/seq_buf.h
      include/linux/trace_seq.h
    Merge 4.19.164 into android-4.19-stable
Linux 4.19.164
    platform/x86: mlx-platform: remove an unused variable
  * PCI: Fix pci_slot_release() NULL pointer dereference
      drivers/pci/slot.c
    platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12
    libnvdimm/namespace: Fix reaping of invalidated block-window-namespace labels
    xenbus/xenbus_backend: Disallow pending watch messages
  * xen/xenbus: Count pending messages for each watch
      include/xen/xenbus.h
    xen/xenbus/xen_bus_type: Support will_handle watch callback
  * xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path()
      include/xen/xenbus.h
  * xen/xenbus: Allow watches discard events before queueing
      include/xen/xenbus.h
    xen-blkback: set ring->xenblkd to NULL after kthread_stop()
    clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9
    pinctrl: sunxi: Always call chained_irq_{enter, exit} in sunxi_pinctrl_irq_handler
    md/cluster: fix deadlock when node is doing resync job
    md/cluster: block reshape with remote resync job
    iio:imu:bmi160: Fix too large a buffer.
    iio:pressure:mpl3115: Force alignment of buffer
    iio:light:st_uvis25: Fix timestamp alignment and prevent data leak.
    iio:light:rpr0521: Fix timestamp alignment and prevent data leak.
    iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume
    iio: buffer: Fix demux update
    scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free()
    scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc()
    mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read
    mtd: parser: cmdline: Fix parsing of part-names with colons
    mtd: spinand: Fix OOB read
  * soc: qcom: smp2p: Safely acquire spinlock without IRQs
      drivers/soc/qcom/smp2p.c
    spi: mt7621: fix missing clk_disable_unprepare() on error in mt7621_spi_probe
    spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path
    spi: sc18is602: Don't leak SPI master in probe error path
    spi: rb4xx: Don't leak SPI master in probe error path
    spi: pic32: Don't leak DMA channels in probe error path
    spi: davinci: Fix use-after-free on unbind
    spi: spi-sh: Fix use-after-free on unbind
    drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor()
    jfs: Fix array index bounds check in dbAdjTree
    jffs2: Fix GC exit abnormally
    ubifs: wbuf: Don't leak kernel memory to flash
    SMB3.1.1: do not log warning message if server doesn't populate salt
    SMB3: avoid confusing warning message on mount to Azure
    ceph: fix race in concurrent __ceph_remove_cap invocations
    ima: Don't modify file descriptor mode on the fly
    powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently
    powerpc/powernv/memtrace: Don't leak kernel memory to user space
    powerpc/xmon: Change printk() to pr_cont()
    powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter
    powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at
    ARM: dts: at91: sama5d2: fix CAN message ram offset and size
    ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES
  * KVM: arm64: Introduce handling of AArch32 TTBCR2 traps
      arch/arm64/include/asm/kvm_host.h
  * ext4: fix deadlock with fs freezing and EA inodes
      fs/ext4/inode.c
  * ext4: fix a memory leak of ext4_free_data
      fs/ext4/mballoc.c
    USB: serial: keyspan_pda: fix write unthrottling
    USB: serial: keyspan_pda: fix tx-unthrottle use-after-free
    USB: serial: keyspan_pda: fix write-wakeup use-after-free
    USB: serial: keyspan_pda: fix stalled writes
    USB: serial: keyspan_pda: fix write deadlock
    USB: serial: keyspan_pda: fix dropped unthrottle interrupts
    USB: serial: digi_acceleport: fix write-wakeup deadlocks
    USB: serial: mos7720: fix parallel-port state restore
    EDAC/amd64: Fix PCI component registration
  * crypto: ecdh - avoid unaligned accesses in ecdh_set_secret()
      crypto/ecdh.c
    powerpc/perf: Exclude kernel samples while counting events in user space.
    staging: comedi: mf6x4: Fix AI end-of-conversion detection
    s390/dasd: fix list corruption of lcu list
    s390/dasd: fix list corruption of pavgroup group list
    s390/dasd: prevent inconsistent LCU device data
    s390/dasd: fix hanging device offline processing
    s390/kexec_file: fix diag308 subcode when loading crash kernel
    s390/smp: perform initial CPU reset also for SMT siblings
  * ALSA: usb-audio: Disable sample read check if firmware doesn't give back
      sound/usb/clock.c
  * ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices
      sound/usb/quirks.c
    ALSA: hda/realtek: Apply jack fixup for Quanta NL3
    ALSA: hda/realtek: Add quirk for MSI-GP73
    ALSA: pcm: oss: Fix a few more UBSAN fixes
    ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255
    ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256
    ALSA: hda: Fix regressions on clear and reconfig sysfs
    ACPI: PNP: compare the string length in the matching_id()
    Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks"
  * PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup()
      include/acpi/acpi_bus.h
    ALSA: hda/ca0132 - Change Input Source enum strings.
    Input: cyapa_gen6 - fix out-of-bounds stack access
    media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE
    media: ipu3-cio2: Validate mbus format in setting subdev format
    media: ipu3-cio2: Serialise access to pad format
    media: ipu3-cio2: Return actual subdev format
    media: ipu3-cio2: Remove traces of returned buffers
    media: netup_unidvb: Don't leak SPI master in probe error path
    media: sunxi-cir: ensure IR is handled when it is continuous
    media: gspca: Fix memory leak in probe
    Input: goodix - add upside-down quirk for Teclast X98 Pro tablet
    Input: cros_ec_keyb - send 'scancodes' in addition to key events
    lwt: Disable BH too in run_lwt_bpf()
  * fix namespaced fscaps when !CONFIG_SECURITY
      include/linux/security.h
  * cfg80211: initialize rekey_data
      net/wireless/nl80211.c
    ARM: sunxi: Add machine match for the Allwinner V3 SoC
  * kconfig: fix return value of do_error_if()
      scripts/kconfig/preprocess.c
    clk: sunxi-ng: Make sure divider tables have sentinel
    clk: s2mps11: Fix a resource leak in error handling paths in the probe function
    qlcnic: Fix error code in probe
    perf record: Fix memory leak when using '--user-regs=?' to list registers
    pwm: lp3943: Dynamically allocate PWM chip base
    pwm: zx: Add missing cleanup in error path
    clk: ti: Fix memleak in ti_fapll_synth_setup
  * watchdog: coh901327: add COMMON_CLK dependency
      drivers/watchdog/Kconfig
    watchdog: qcom: Avoid context switch in restart handler
    libnvdimm/label: Return -ENXIO for no slot in __blk_label_update
    net: korina: fix return value
    net: allwinner: Fix some resources leak in the error handling path of the probe and in the remove function
    net: bcmgenet: Fix a resource leak in an error handling path in the probe functin
    checkpatch: fix unescaped left brace
    powerpc/ps3: use dma_mapping_error()
    nfc: s3fwrn5: Release the nfc firmware
    um: chan_xterm: Fix fd leak
    um: tty: Fix handling of close in tty lines
    um: Monitor error events in IRQ controller
  * watchdog: Fix potential dereferencing of null pointer
      drivers/watchdog/watchdog_core.c
    watchdog: sprd: check busy bit before new loading rather than after that
    watchdog: sprd: remove watchdog disable from resume fail path
  * watchdog: sirfsoc: Add missing dependency on HAS_IOMEM
      drivers/watchdog/Kconfig
    irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
  * ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control()
      sound/soc/codecs/wm_adsp.c
    mac80211: don't set set TDLS STA bandwidth wider than possible
    extcon: max77693: Fix modalias string
    clk: tegra: Fix duplicated SE clock entry
    bus: fsl-mc: fix error return code in fsl_mc_object_allocate()
    x86/kprobes: Restore BTF if the single-stepping is cancelled
    nfs_common: need lock during iterate through the list
    nfsd: Fix message level for normal termination
    speakup: fix uninitialized flush_lock
    usb: oxu210hp-hcd: Fix memory leak in oxu_create
    usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe
    powerpc/pseries/hibernation: remove redundant cacheinfo update
    powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops
    platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx systems
    scsi: fnic: Fix error return code in fnic_probe()
  * seq_buf: Avoid type mismatch for seq_buf_init
      include/linux/seq_buf.h
      include/linux/trace_seq.h
    scsi: pm80xx: Fix error return in pm8001_pci_probe()
    scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe
    cpufreq: scpi: Add missing MODULE_ALIAS
    cpufreq: loongson1: Add missing MODULE_ALIAS
    cpufreq: st: Add missing MODULE_DEVICE_TABLE
    cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE
    cpufreq: highbank: Add missing MODULE_DEVICE_TABLE
  * clocksource/drivers/arm_arch_timer: Correct fault programming of CNTKCTL_EL1.EVNTI
      drivers/clocksource/arm_arch_timer.c
  * dm ioctl: fix error return code in target_message
      drivers/md/dm-ioctl.c
    ASoC: jz4740-i2s: add missed checks for clk_get()
    net/mlx5: Properly convey driver version to firmware
    memstick: r592: Fix error return in r592_probe()
    arm64: dts: rockchip: Fix UART pull-ups on rk3328
    pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe()
    ARM: dts: at91: sama5d2: map securam as device
    clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent()
    media: saa7146: fix array overflow in vidioc_s_audio()
    vfio-pci: Use io_remap_pfn_range() for PCI IO memory
    NFS: switch nfsiod to be an UNBOUND workqueue.
    lockd: don't use interval-based rebinding over TCP
  * SUNRPC: xprt_load_transport() needs to support the netid "rdma6"
      include/linux/sunrpc/xprt.h
    NFSv4.2: condition READDIR's mask for security label based on LSM state
    ath10k: Release some resources in an error handling path
    ath10k: Fix an error handling path
    ath10k: Fix the parsing error in service available event
    platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init
    ARM: dts: at91: at91sam9rl: fix ADC triggers
    arm64: dts: meson: fix spi-max-frequency on Khadas VIM2
    PCI: iproc: Fix out-of-bound array accesses
  * PCI: Fix overflow in command-line resource alignment requests
      drivers/pci/pci.c
  * PCI: Bounds-check command-line resource alignment requests
      drivers/pci/pci.c
  * genirq/irqdomain: Don't try to free an interrupt that has no mapping
      kernel/irq/irqdomain.c
    power: supply: bq24190_charger: fix reference leak
    power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching
    arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc
    ARM: dts: Remove non-existent i2c1 from 98dx3236
    HSI: omap_ssi: Don't jump to free ID in ssi_add_controller()
    slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI
    media: max2175: fix max2175_set_csm_mode() error code
    mips: cdmm: fix use-after-free in mips_cdmm_bus_discover
    samples: bpf: Fix lwt_len_hist reusing previous BPF map
    platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration
    platform/x86: mlx-platform: Remove PSU EEPROM from default platform configuration
    media: siano: fix memory leak of debugfs members in smsdvb_hotplug
    dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe()
    cw1200: fix missing destroy_workqueue() on error in cw1200_init_common
    orinoco: Move context allocation after processing the skb
    ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host
    ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host
    memstick: fix a double-free bug in memstick_check
    RDMA/cxgb4: Validate the number of CQEs
    Input: omap4-keypad - fix runtime PM error handling
    drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe
    soc: ti: Fix reference imbalance in knav_dma_probe
    soc: ti: knav_qmss: fix reference leak in knav_queue_probe
  * spi: fix resource leak for drivers without .remove callback
      drivers/spi/spi.c
    crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe
    crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd
    powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32
    spi: mxs: fix reference leak in mxs_spi_probe
    usb/max3421: fix return error code in max3421_probe()
    Input: ads7846 - fix unaligned access on 7845
    Input: ads7846 - fix integer overflow on Rt calculation
    Input: ads7846 - fix race that causes missing releases
    drm/omap: dmm_tiler: fix return error code in omap_dmm_probe()
    video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init()
    media: solo6x10: fix missing snd_card_free in error handling case
  * scsi: core: Fix VPD LUN ID designator priorities
      drivers/scsi/scsi_lib.c
  * ASoC: meson: fix COMPILE_TEST error
      sound/soc/meson/Kconfig
    media: mtk-vcodec: add missing put_device() call in mtk_vcodec_release_dec_pm()
    media: tm6000: Fix sizeof() mismatches
    staging: gasket: interrupt: fix the missed eventfd_ctx_put() in gasket_interrupt.c
    staging: greybus: codecs: Fix reference counter leak in error handling
    crypto: qat - fix status check in qat_hal_put_rel_rd_xfer()
    MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA
    RDMa/mthca: Work around -Wenum-conversion warning
    ASoC: arizona: Fix a wrong free in wm8997_probe
    ASoC: wm8998: Fix PM disable depth imbalance on error
    mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure
    spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in bcm63xx_hsspi_resume
    spi: tegra114: fix reference leak in tegra spi ops
    spi: tegra20-sflash: fix reference leak in tegra_sflash_resume
    spi: tegra20-slink: fix reference leak in slink ops of tegra20
    spi: spi-ti-qspi: fix reference leak in ti_qspi_setup
    Bluetooth: hci_h5: fix memory leak in h5_close
  * Bluetooth: Fix null pointer dereference in hci_event_packet()
      net/bluetooth/hci_event.c
    arm64: dts: exynos: Correct psci compatible used on Exynos7
    arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7
  * selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling
      security/selinux/hooks.c
  * ASoC: pcm: DRAIN support reactivation
      sound/soc/soc-pcm.c
    drm/msm/dsi_pll_10nm: restore VCO rate during restore_state
    spi: img-spfi: fix reference leak in img_spfi_resume
    powerpc/64: Set up a kernel stack for secondaries before cpu_restore()
    crypto: inside-secure - Fix sizeof() mismatch
    crypto: talitos - Fix return type of current_desc_hdr()
    crypto: talitos - Endianess in current_desc_hdr()
  * sched: Reenable interrupts in do_sched_yield()
      kernel/sched/core.c
  * sched/deadline: Fix sched_dl_global_validate()
      kernel/sched/deadline.c
      kernel/sched/sched.h
    x86/apic: Fix x2apic enablement without interrupt remapping
    ARM: p2v: fix handling of LPAE translation in BE mode
    x86/mm/ident_map: Check for errors from ident_pud_init()
    RDMA/rxe: Compute PSN windows correctly
    ARM: dts: aspeed: s2600wf: Fix VGA memory region location
  * selinux: fix error initialization in inode_doinit_with_dentry()
      security/selinux/hooks.c
    RDMA/bnxt_re: Set queue pair state when being queried
    soc: qcom: geni: More properly switch to DMA mode
    soc: mediatek: Check if power domains can be powered on at boot time
    soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains()
    drm/tve200: Fix handling of platform_get_irq() error
    drm/gma500: fix double free of gma_connector
    perf cs-etm: Move definition of 'traceid_list' global variable from header file
    perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata
    md: fix a warning caused by a race between concurrent md_ioctl()s
  * crypto: af_alg - avoid undefined behavior accessing salg_name
      include/uapi/linux/if_alg.h
    media: msi2500: assign SPI bus number dynamically
  * quota: Sanity-check quota file headers on load
      fs/quota/quota_v2.c
  * Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt()
      net/bluetooth/hci_event.c
  * serial_core: Check for port state when tty is in error state
      drivers/tty/serial/serial_core.c
    HID: i2c-hid: add Vero K147 to descriptor override
    scsi: megaraid_sas: Check user-provided offsets
  * coresight: tmc-etr: Check if page is valid before dma_map_page()
      drivers/hwtracing/coresight/coresight-tmc-etr.c
    ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU
    ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on Exynos5410
    ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU
    usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul
    USB: gadget: f_rndis: fix bitrate for SuperSpeed and above
  * usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus
      drivers/usb/gadget/function/f_fs.c
  * USB: gadget: f_midi: setup SuperSpeed Plus descriptors
      drivers/usb/gadget/function/f_midi.c
    USB: gadget: f_acm: add support for SuperSpeed Plus
    USB: serial: option: add interface-number sanity check to flag handling
    soc/tegra: fuse: Fix index bug in get_process_id
  * dm table: Remove BUG_ON(in_interrupt())
      drivers/md/dm-table.c
    scsi: mpt3sas: Increase IOCInit request timeout to 30s
    vxlan: Copy needed_tailroom from lowerdev
    vxlan: Add needed_headroom for lower device
  * arm64: syscall: exit userspace before unmasking exceptions
      arch/arm64/kernel/syscall.c
    drm/tegra: sor: Disable clocks on error in tegra_sor_init()
  * kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling
      kernel/cpu.c
    drm/tegra: replace idr_init() by idr_init_base()
    ixgbe: avoid premature Rx buffer reuse
    RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait
    selftests/bpf/test_offload.py: Reset ethtool features after failed setting
    gpio: eic-sprd: break loop when getting NULL device resource
  * netfilter: x_tables: Switch synchronization to RCU
      include/linux/netfilter/x_tables.h
      net/ipv4/netfilter/arp_tables.c
      net/ipv4/netfilter/ip_tables.c
      net/ipv6/netfilter/ip6_tables.c
      net/netfilter/x_tables.c
  * block: factor out requeue handling from dispatch code
      block/blk-mq.c
    clk: renesas: r9a06g032: Drop __packed for portability
    can: softing: softing_netdev_open(): fix error handling
    xsk: Fix xsk_poll()'s return type
  * scsi: bnx2i: Requires MMU
      drivers/scsi/bnx2i/Kconfig
    gpio: mvebu: fix potential user-after-free on probe
    ARM: dts: sun8i: v3s: fix GIC node memory range
    pinctrl: baytrail: Avoid clearing debounce value when turning it off
    pinctrl: merrifield: Set default bias in case no particular value given
    x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled
    x86/resctrl: Remove unused struct mbm_state::chunks_bw
  * arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S
      arch/arm64/lib/memcpy.S
      arch/arm64/lib/memmove.S
      arch/arm64/lib/memset.S
  * arm64: lse: Fix LSE atomics with LLVM
      arch/arm64/include/asm/lse.h
  * arm64: lse: fix LSE atomics with LLVM's integrated assembler
      arch/arm64/include/asm/atomic_lse.h
      arch/arm64/include/asm/lse.h
  * drm: fix drm_dp_mst_port refcount leaks in drm_dp_mst_allocate_vcpi
      drivers/gpu/drm/drm_dp_mst_topology.c
    drm/xen-front: Fix misused IS_ERR_OR_NULL checks
    serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access
    ALSA: pcm: oss: Fix potential out-of-bounds shift
  * USB: sisusbvga: Make console support depend on BROKEN
      drivers/usb/misc/sisusbvga/Kconfig
  * USB: UAS: introduce a quirk to set no_write_same
      drivers/usb/storage/usb.c
      include/linux/usb_usual.h
  * xhci: Give USB2 ports time to enter U3 in bus suspend
      drivers/usb/host/xhci-hub.c
  * ALSA: usb-audio: Fix control 'access overflow' errors from chmap
      sound/usb/stream.c
  * ALSA: usb-audio: Fix potential out-of-bounds shift
      sound/usb/format.c
  * USB: add RESET_RESUME quirk for Snapscan 1212
      drivers/usb/core/quirks.c
    USB: dummy-hcd: Fix uninitialized array use in init()
    ktest.pl: If size of log is too big to email, email error message
    net: bridge: vlan: fix error return code in __vlan_add()
    net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux
    net: stmmac: delete the eee_ctrl_timer after napi disabled
    net/mlx4_en: Handle TX error CQE
    lan743x: fix for potential NULL pointer dereference with bare card
    net/mlx4_en: Avoid scheduling restart task if it is already running
  * tcp: fix cwnd-limited bug for TSO deferral where we send nothing
      net/ipv4/tcp_output.c
  * tcp: select sane initial rcvq_space.space for big MSS
      net/ipv4/tcp_input.c
    net: stmmac: free tx skb buffer in stmmac_resume()
    mac80211: mesh: fix mesh_pathtbl_init() error path
    PCI: qcom: Add missing reset for ipq806x
  * compiler.h: fix barrier_data() on clang
      include/linux/compiler-clang.h
      include/linux/compiler-gcc.h
      include/linux/compiler.h
    x86/apic/vector: Fix ordering in vector assignment
    x86/membarrier: Get rid of a dubious optimization
    x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP
    scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()"
  * kbuild: avoid static_assert for genksyms
      include/linux/build_bug.h
    mmc: block: Fixup condition for CMD13 polling for RPMB requests
    pinctrl: amd: remove debounce filter setting in IRQ type setting
    Input: i8042 - add Acer laptops to the i8042 reset list
    Input: cm109 - do not stomp on control URB
    platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC
    platform/x86: acer-wmi: add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE
    platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad Yoga 11e 4th gen
    platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e
    soc: fsl: dpio: Get the cpumask through cpumask_of(cpu)
  * irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend
      drivers/irqchip/irq-gic-v3-its.c
  * scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE
      drivers/scsi/ufs/ufshcd.c
    ARC: stack unwinding: don't assume non-current task is sleeping
    powerpc: Drop -me200 addition to build flags
    iwlwifi: mvm: fix kernel panic in case of assert during CSA
    arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards.
    iwlwifi: pcie: limit memory read spin time
    spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe
    spi: bcm2835aux: Fix use-after-free on unbind
    x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S
  * Kbuild: do not emit debug info for assembly with LLVM_IAS=1
      Makefile
    ANDROID: GKI: Update the ABI xml representation
  * ANDROID: Incremental fs: Set credentials before reading/writing
      fs/incfs/data_mgmt.c
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/pseudo_files.c
    ANDROID: Incremental fs: Fix incfs_test use of atol, open
  * ANDROID: Incremental fs: Change per UID timeouts to microseconds
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * ANDROID: Incremental fs: Add v2 feature flag
      fs/incfs/main.c
      include/uapi/linux/incrementalfs.h
  * ANDROID: Incremental fs: Add zstd feature flag
      fs/incfs/main.c
      include/uapi/linux/incrementalfs.h
    Merge 4.19.163 into android-4.19-stable
Linux 4.19.163
    Revert "geneve: pull IP header before ECN decapsulation"
    x86/insn-eval: Use new for_each_insn_prefix() macro to loop over prefixes bytes
    netfilter: nf_tables: avoid false-postive lockdep splat
    Input: i8042 - fix error return code in i8042_setup_aux()
    dm writecache: remove BUG() and fail gracefully instead
    i2c: qup: Fix error return code in qup_i2c_bam_schedule_desc()
    gfs2: check for empty rgrp tree in gfs2_ri_update
  * tracing: Fix userstacktrace option for instances
      kernel/trace/trace.c
      kernel/trace/trace.h
    spi: bcm2835: Release the DMA channel if probe fails after dma_init
    spi: bcm2835: Fix use-after-free on unbind
    spi: bcm-qspi: Fix use-after-free on unbind
  * spi: Introduce device-managed SPI controller allocation
      drivers/spi/spi.c
      include/linux/spi/spi.h
    iommu/amd: Set DTE[IntTabLen] to represent 512 IRTEs
    speakup: Reject setting the speakup line discipline outside of speakup
    i2c: imx: Check for I2SR_IAL after every byte
    i2c: imx: Fix reset of I2SR_IAL flag
    x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes
  * mm/swapfile: do not sleep with a spin lock held
      mm/swapfile.c
  * mm: list_lru: set shrinker map bit when child nr_items is not zero
      mm/list_lru.c
  * dm: remove invalid sparse __acquires and __releases annotations
      drivers/md/dm.c
    dm writecache: fix the maximum number of arguments
    scsi: mpt3sas: Fix ioctl timeout
    i2c: imx: Don't generate STOP condition if arbitration has been lost
    cifs: fix potential use-after-free in cifs_echo_request()
    ftrace: Fix updating FTRACE_FL_TRAMP
    ALSA: hda/generic: Add option to enforce preferred_dacs pairs
    ALSA: hda/realtek - Add new codec supported for ALC897
    ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294
    ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model
  * tty: Fix ->session locking
      drivers/tty/tty_io.c
      drivers/tty/tty_jobctrl.c
      include/linux/tty.h
  * tty: Fix ->pgrp locking in tiocspgrp()
      drivers/tty/tty_jobctrl.c
    USB: serial: option: fix Quectel BG96 matching
    USB: serial: option: add support for Thales Cinterion EXS82
    USB: serial: option: add Fibocom NL668 variants
    USB: serial: ch341: sort device-id entries
    USB: serial: ch341: add new Product ID for CH341A
    USB: serial: kl5kusb105: fix memleak on open
  * usb: gadget: f_fs: Use local copy of descriptors for userspace copy
      drivers/usb/gadget/function/f_fs.c
    pinctrl: baytrail: Fix pin being driven low for a while on gpiod_get(..., GPIOD_OUT_HIGH)
    pinctrl: baytrail: Replace WARN with dev_info_once when setting direct-irq pin to output
    ANDROID: Add symbol of get_next_event_cpu back
    ANDROID: x86: configs: gki: add missing CONFIG_BLK_CGROUP
    ANDROID: Add allowed symbols from sctp.ko and qrtr.ko
    Merge 4.19.162 into android-4.19-stable
Linux 4.19.162
    RDMA/i40iw: Address an mmap handler exploit in i40iw
    tracing: Remove WARN_ON in start_thread()
    Input: i8042 - add ByteSpeed touchpad to noloop table
  * Input: xpad - support Ardwiino Controllers
      drivers/input/joystick/xpad.c
  * ALSA: usb-audio: US16x08: fix value count for level meters
      sound/usb/mixer_us16x08.c
    dt-bindings: net: correct interrupt flags in examples
    chelsio/chtls: fix panic during unload reload chtls
    net/mlx5: Fix wrong address reclaim when command interface is down
    net: mvpp2: Fix error return code in mvpp2_open()
    chelsio/chtls: fix a double free in chtls_setkey()
    net: pasemi: fix error return code in pasemi_mac_open()
    cxgb3: fix error return code in t3_sge_alloc_qset()
    net/x25: prevent a couple of overflows
    net: ip6_gre: set dev->hard_header_len when using header_ops
    geneve: pull IP header before ECN decapsulation
    ibmvnic: Fix TX completion error handling
    ibmvnic: Ensure that SCRQ entry reads are correctly ordered
  * ipv4: Fix tos mask in inet_rtm_getroute()
      net/ipv4/route.c
    netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal
  * bonding: wait for sysfs kobject destruction before freeing struct slave
      drivers/net/bonding/bond_main.c
      drivers/net/bonding/bond_sysfs_slave.c
      include/net/bonding.h
    i40e: Fix removing driver while bare-metal VFs pass traffic
    ibmvnic: fix call_netdevice_notifiers in do_reset
  * net/tls: Protect from calling tls_dev_del for TLS RX twice
      include/net/tls.h
    usbnet: ipheth: fix connectivity with iOS 14
  * tun: honor IOCB_NOWAIT flag
      drivers/net/tun.c
  * tcp: Set INET_ECN_xmit configuration in tcp_reinit_congestion_control
      net/ipv4/tcp_cong.c
  * sock: set sk_err to ee_errno on dequeue from errq
      net/core/skbuff.c
    rose: Fix Null pointer dereference in rose_send_frame()
    net/tls: missing received data after fast remote close
    net/af_iucv: set correct sk_protocol for child sockets
  * ipv6: addrlabel: fix possible memory leak in ip6addrlbl_net_init
      net/ipv6/addrlabel.c
  * FROMLIST: Kbuild: do not emit debug info for assembly with LLVM_IAS=1
      Makefile
  * ANDROID: kbuild: use grep -F instead of fgrep
      scripts/Kbuild.include
  * ANDROID: GKI: usb: gadget: support claiming indexed endpoints by name
      drivers/usb/gadget/epautoconf.c
  * UPSTREAM: arm64: sysreg: Clean up instructions for modifying PSTATE fields
      arch/arm64/include/asm/sysreg.h
      arch/arm64/kernel/cpufeature.c
    Revert "Revert "ANDROID: clang: update to 11.0.5""
  * ANDROID: kbuild: speed up ksym_dep_filter
      scripts/Kbuild.include
  * Revert "drm/atomic_helper: Stop modesets on unregistered connectors harder"
      drivers/gpu/drm/drm_atomic.c
      drivers/gpu/drm/drm_atomic_helper.c
      drivers/gpu/drm/drm_connector.c
      include/drm/drm_connector.h
    Merge 4.19.161 into android-4.19-stable
Linux 4.19.161
  * USB: core: Fix regression in Hercules audio card
      drivers/usb/core/quirks.c
    x86/resctrl: Add necessary kernfs_put() calls to prevent refcount leak
    x86/resctrl: Remove superfluous kernfs_get() calls to prevent refcount leak
    x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb
    usb: gadget: Fix memleak in gadgetfs_fill_super
  * USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb-audio card
      drivers/usb/core/quirks.c
  * usb: gadget: f_midi: Fix memleak in f_midi_alloc
      drivers/usb/gadget/function/f_midi.c
  * USB: core: Change %pK for __user pointers to %px
      drivers/usb/core/devio.c
    perf probe: Fix to die_entrypc() returns error correctly
    can: m_can: fix nominal bitiming tseg2 min for version >= 3.1
    platform/x86: toshiba_acpi: Fix the wrong variable assignment
    platform/x86: thinkpad_acpi: Send tablet mode switch at wakeup time
    can: gs_usb: fix endianess problem with candleLight firmware
    efivarfs: revert "fix memory leak in efivarfs_create()"
    optee: add writeback to valid memory type
    ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq
    ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues
    net: ena: set initial DMA width to avoid intel iommu issue
    nfc: s3fwrn5: use signed integer for parsing GPIO numbers
    IB/mthca: fix return value of error branch in mthca_init_cq()
    s390/qeth: fix tear down of async TX buffers
    cxgb4: fix the panic caused by non smac rewrite
    bnxt_en: Release PCI regions when DMA mask setup fails during probe.
    video: hyperv_fb: Fix the cache type when mapping the VRAM
    bnxt_en: fix error return code in bnxt_init_board()
    bnxt_en: fix error return code in bnxt_init_one()
  * scsi: ufs: Fix race between shutdown and runtime resume flow
      drivers/scsi/ufs/ufshcd.c
    ARM: dts: dra76x: m_can: fix order of clocks
    batman-adv: set .owner to THIS_MODULE
    phy: tegra: xusb: Fix dangling pointer on probe failure
    xtensa: uaccess: Add missing __user to strncpy_from_user() prototype
    perf/x86: fix sysfs type mismatches
    scsi: target: iscsi: Fix cmd abort fabric stop race
  * scsi: libiscsi: Fix NOP race condition
      include/scsi/libiscsi.h
    dmaengine: pl330: _prep_dma_memcpy: Fix wrong burst size
    nvme: free sq/cq dbbuf pointers when dbbuf set fails
  * proc: don't allow async path resolution of /proc/self components
      fs/proc/self.c
  * HID: Add Logitech Dinovo Edge battery quirk
      drivers/hid/hid-ids.h
      drivers/hid/hid-input.c
    x86/xen: don't unbind uninitialized lock_kicker_irq
    dmaengine: xilinx_dma: use readl_poll_timeout_atomic variant
  * HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice devices
      drivers/hid/hid-ids.h
      drivers/hid/hid-quirks.c
    HID: hid-sensor-hub: Fix issue with devices with no report ID
    Input: i8042 - allow insmod to succeed on devices without an i8042 controller
  * HID: add support for Sega Saturn
      drivers/hid/hid-ids.h
      drivers/hid/hid-quirks.c
  * HID: cypress: Support Varmilo Keyboards' media hotkeys
      drivers/hid/hid-ids.h
    ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close
  * drm/atomic_helper: Stop modesets on unregistered connectors harder
      drivers/gpu/drm/drm_atomic.c
      drivers/gpu/drm/drm_atomic_helper.c
      drivers/gpu/drm/drm_connector.c
      include/drm/drm_connector.h
  * arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect()
      arch/arm64/include/asm/pgtable.h
  * arm64: pgtable: Fix pte_accessible()
      arch/arm64/include/asm/pgtable.h
    KVM: x86: Fix split-irqchip vs interrupt injection window request
    KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint
    KVM: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace
  * wireless: Use linux/stddef.h instead of stddef.h
      include/uapi/linux/wireless.h
    btrfs: fix lockdep splat when reading qgroup config on mount
    btrfs: don't access possibly stale fs_info data for printing duplicate device
  * netfilter: clear skb->next in NF_HOOK_LIST()
      include/linux/netfilter.h
    perf event: Check ref_reloc_sym before using it
  * ANDROID: vmlinux.lds.h: merge compound literal sections
      include/asm-generic/vmlinux.lds.h
  * BACKPORT: sched/fair: Fix overutilized update in enqueue_task_fair()
      kernel/sched/fair.c

Bug: 180663378
Change-Id: Ie10d7527ff7d181fa122bbe77d6869c2b65cbe4e
Signed-off-by: Lucas Wei <lucaswei@google.com>
2021-02-26 10:41:51 +08:00
Greg Kroah-Hartman
07ce88e9de Merge 4.19.164 into android-4.19-stable
Changes in 4.19.164
	Kbuild: do not emit debug info for assembly with LLVM_IAS=1
	x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S
	spi: bcm2835aux: Fix use-after-free on unbind
	spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe
	iwlwifi: pcie: limit memory read spin time
	arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards.
	iwlwifi: mvm: fix kernel panic in case of assert during CSA
	powerpc: Drop -me200 addition to build flags
	ARC: stack unwinding: don't assume non-current task is sleeping
	scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE
	irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend
	soc: fsl: dpio: Get the cpumask through cpumask_of(cpu)
	platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e
	platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad Yoga 11e 4th gen
	platform/x86: acer-wmi: add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE
	platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC
	Input: cm109 - do not stomp on control URB
	Input: i8042 - add Acer laptops to the i8042 reset list
	pinctrl: amd: remove debounce filter setting in IRQ type setting
	mmc: block: Fixup condition for CMD13 polling for RPMB requests
	kbuild: avoid static_assert for genksyms
	scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()"
	x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP
	x86/membarrier: Get rid of a dubious optimization
	x86/apic/vector: Fix ordering in vector assignment
	compiler.h: fix barrier_data() on clang
	PCI: qcom: Add missing reset for ipq806x
	mac80211: mesh: fix mesh_pathtbl_init() error path
	net: stmmac: free tx skb buffer in stmmac_resume()
	tcp: select sane initial rcvq_space.space for big MSS
	tcp: fix cwnd-limited bug for TSO deferral where we send nothing
	net/mlx4_en: Avoid scheduling restart task if it is already running
	lan743x: fix for potential NULL pointer dereference with bare card
	net/mlx4_en: Handle TX error CQE
	net: stmmac: delete the eee_ctrl_timer after napi disabled
	net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux
	net: bridge: vlan: fix error return code in __vlan_add()
	ktest.pl: If size of log is too big to email, email error message
	USB: dummy-hcd: Fix uninitialized array use in init()
	USB: add RESET_RESUME quirk for Snapscan 1212
	ALSA: usb-audio: Fix potential out-of-bounds shift
	ALSA: usb-audio: Fix control 'access overflow' errors from chmap
	xhci: Give USB2 ports time to enter U3 in bus suspend
	USB: UAS: introduce a quirk to set no_write_same
	USB: sisusbvga: Make console support depend on BROKEN
	ALSA: pcm: oss: Fix potential out-of-bounds shift
	serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access
	drm/xen-front: Fix misused IS_ERR_OR_NULL checks
	drm: fix drm_dp_mst_port refcount leaks in drm_dp_mst_allocate_vcpi
	arm64: lse: fix LSE atomics with LLVM's integrated assembler
	arm64: lse: Fix LSE atomics with LLVM
	arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S
	x86/resctrl: Remove unused struct mbm_state::chunks_bw
	x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled
	pinctrl: merrifield: Set default bias in case no particular value given
	pinctrl: baytrail: Avoid clearing debounce value when turning it off
	ARM: dts: sun8i: v3s: fix GIC node memory range
	gpio: mvebu: fix potential user-after-free on probe
	scsi: bnx2i: Requires MMU
	xsk: Fix xsk_poll()'s return type
	can: softing: softing_netdev_open(): fix error handling
	clk: renesas: r9a06g032: Drop __packed for portability
	block: factor out requeue handling from dispatch code
	netfilter: x_tables: Switch synchronization to RCU
	gpio: eic-sprd: break loop when getting NULL device resource
	selftests/bpf/test_offload.py: Reset ethtool features after failed setting
	RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait
	ixgbe: avoid premature Rx buffer reuse
	drm/tegra: replace idr_init() by idr_init_base()
	kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling
	drm/tegra: sor: Disable clocks on error in tegra_sor_init()
	arm64: syscall: exit userspace before unmasking exceptions
	vxlan: Add needed_headroom for lower device
	vxlan: Copy needed_tailroom from lowerdev
	scsi: mpt3sas: Increase IOCInit request timeout to 30s
	dm table: Remove BUG_ON(in_interrupt())
	soc/tegra: fuse: Fix index bug in get_process_id
	USB: serial: option: add interface-number sanity check to flag handling
	USB: gadget: f_acm: add support for SuperSpeed Plus
	USB: gadget: f_midi: setup SuperSpeed Plus descriptors
	usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus
	USB: gadget: f_rndis: fix bitrate for SuperSpeed and above
	usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul
	ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU
	ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on Exynos5410
	ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU
	coresight: tmc-etr: Check if page is valid before dma_map_page()
	scsi: megaraid_sas: Check user-provided offsets
	HID: i2c-hid: add Vero K147 to descriptor override
	serial_core: Check for port state when tty is in error state
	Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt()
	quota: Sanity-check quota file headers on load
	media: msi2500: assign SPI bus number dynamically
	crypto: af_alg - avoid undefined behavior accessing salg_name
	md: fix a warning caused by a race between concurrent md_ioctl()s
	perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata
	perf cs-etm: Move definition of 'traceid_list' global variable from header file
	drm/gma500: fix double free of gma_connector
	drm/tve200: Fix handling of platform_get_irq() error
	soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains()
	soc: mediatek: Check if power domains can be powered on at boot time
	soc: qcom: geni: More properly switch to DMA mode
	RDMA/bnxt_re: Set queue pair state when being queried
	selinux: fix error initialization in inode_doinit_with_dentry()
	ARM: dts: aspeed: s2600wf: Fix VGA memory region location
	RDMA/rxe: Compute PSN windows correctly
	x86/mm/ident_map: Check for errors from ident_pud_init()
	ARM: p2v: fix handling of LPAE translation in BE mode
	x86/apic: Fix x2apic enablement without interrupt remapping
	sched/deadline: Fix sched_dl_global_validate()
	sched: Reenable interrupts in do_sched_yield()
	crypto: talitos - Endianess in current_desc_hdr()
	crypto: talitos - Fix return type of current_desc_hdr()
	crypto: inside-secure - Fix sizeof() mismatch
	powerpc/64: Set up a kernel stack for secondaries before cpu_restore()
	spi: img-spfi: fix reference leak in img_spfi_resume
	drm/msm/dsi_pll_10nm: restore VCO rate during restore_state
	ASoC: pcm: DRAIN support reactivation
	selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling
	arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7
	arm64: dts: exynos: Correct psci compatible used on Exynos7
	Bluetooth: Fix null pointer dereference in hci_event_packet()
	Bluetooth: hci_h5: fix memory leak in h5_close
	spi: spi-ti-qspi: fix reference leak in ti_qspi_setup
	spi: tegra20-slink: fix reference leak in slink ops of tegra20
	spi: tegra20-sflash: fix reference leak in tegra_sflash_resume
	spi: tegra114: fix reference leak in tegra spi ops
	spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in bcm63xx_hsspi_resume
	mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure
	ASoC: wm8998: Fix PM disable depth imbalance on error
	ASoC: arizona: Fix a wrong free in wm8997_probe
	RDMa/mthca: Work around -Wenum-conversion warning
	MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA
	crypto: qat - fix status check in qat_hal_put_rel_rd_xfer()
	staging: greybus: codecs: Fix reference counter leak in error handling
	staging: gasket: interrupt: fix the missed eventfd_ctx_put() in gasket_interrupt.c
	media: tm6000: Fix sizeof() mismatches
	media: mtk-vcodec: add missing put_device() call in mtk_vcodec_release_dec_pm()
	ASoC: meson: fix COMPILE_TEST error
	scsi: core: Fix VPD LUN ID designator priorities
	media: solo6x10: fix missing snd_card_free in error handling case
	video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init()
	drm/omap: dmm_tiler: fix return error code in omap_dmm_probe()
	Input: ads7846 - fix race that causes missing releases
	Input: ads7846 - fix integer overflow on Rt calculation
	Input: ads7846 - fix unaligned access on 7845
	usb/max3421: fix return error code in max3421_probe()
	spi: mxs: fix reference leak in mxs_spi_probe
	powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32
	crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd
	crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe
	spi: fix resource leak for drivers without .remove callback
	soc: ti: knav_qmss: fix reference leak in knav_queue_probe
	soc: ti: Fix reference imbalance in knav_dma_probe
	drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe
	Input: omap4-keypad - fix runtime PM error handling
	RDMA/cxgb4: Validate the number of CQEs
	memstick: fix a double-free bug in memstick_check
	ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host
	ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host
	orinoco: Move context allocation after processing the skb
	cw1200: fix missing destroy_workqueue() on error in cw1200_init_common
	dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe()
	media: siano: fix memory leak of debugfs members in smsdvb_hotplug
	platform/x86: mlx-platform: Remove PSU EEPROM from default platform configuration
	platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration
	samples: bpf: Fix lwt_len_hist reusing previous BPF map
	mips: cdmm: fix use-after-free in mips_cdmm_bus_discover
	media: max2175: fix max2175_set_csm_mode() error code
	slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI
	HSI: omap_ssi: Don't jump to free ID in ssi_add_controller()
	ARM: dts: Remove non-existent i2c1 from 98dx3236
	arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc
	power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching
	power: supply: bq24190_charger: fix reference leak
	genirq/irqdomain: Don't try to free an interrupt that has no mapping
	PCI: Bounds-check command-line resource alignment requests
	PCI: Fix overflow in command-line resource alignment requests
	PCI: iproc: Fix out-of-bound array accesses
	arm64: dts: meson: fix spi-max-frequency on Khadas VIM2
	ARM: dts: at91: at91sam9rl: fix ADC triggers
	platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init
	ath10k: Fix the parsing error in service available event
	ath10k: Fix an error handling path
	ath10k: Release some resources in an error handling path
	NFSv4.2: condition READDIR's mask for security label based on LSM state
	SUNRPC: xprt_load_transport() needs to support the netid "rdma6"
	lockd: don't use interval-based rebinding over TCP
	NFS: switch nfsiod to be an UNBOUND workqueue.
	vfio-pci: Use io_remap_pfn_range() for PCI IO memory
	media: saa7146: fix array overflow in vidioc_s_audio()
	clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent()
	ARM: dts: at91: sama5d2: map securam as device
	pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe()
	arm64: dts: rockchip: Fix UART pull-ups on rk3328
	memstick: r592: Fix error return in r592_probe()
	net/mlx5: Properly convey driver version to firmware
	ASoC: jz4740-i2s: add missed checks for clk_get()
	dm ioctl: fix error return code in target_message
	clocksource/drivers/arm_arch_timer: Correct fault programming of CNTKCTL_EL1.EVNTI
	cpufreq: highbank: Add missing MODULE_DEVICE_TABLE
	cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE
	cpufreq: st: Add missing MODULE_DEVICE_TABLE
	cpufreq: loongson1: Add missing MODULE_ALIAS
	cpufreq: scpi: Add missing MODULE_ALIAS
	scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe
	scsi: pm80xx: Fix error return in pm8001_pci_probe()
	seq_buf: Avoid type mismatch for seq_buf_init
	scsi: fnic: Fix error return code in fnic_probe()
	platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx systems
	powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops
	powerpc/pseries/hibernation: remove redundant cacheinfo update
	usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe
	usb: oxu210hp-hcd: Fix memory leak in oxu_create
	speakup: fix uninitialized flush_lock
	nfsd: Fix message level for normal termination
	nfs_common: need lock during iterate through the list
	x86/kprobes: Restore BTF if the single-stepping is cancelled
	bus: fsl-mc: fix error return code in fsl_mc_object_allocate()
	clk: tegra: Fix duplicated SE clock entry
	extcon: max77693: Fix modalias string
	mac80211: don't set set TDLS STA bandwidth wider than possible
	ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control()
	irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
	watchdog: sirfsoc: Add missing dependency on HAS_IOMEM
	watchdog: sprd: remove watchdog disable from resume fail path
	watchdog: sprd: check busy bit before new loading rather than after that
	watchdog: Fix potential dereferencing of null pointer
	um: Monitor error events in IRQ controller
	um: tty: Fix handling of close in tty lines
	um: chan_xterm: Fix fd leak
	nfc: s3fwrn5: Release the nfc firmware
	powerpc/ps3: use dma_mapping_error()
	checkpatch: fix unescaped left brace
	net: bcmgenet: Fix a resource leak in an error handling path in the probe functin
	net: allwinner: Fix some resources leak in the error handling path of the probe and in the remove function
	net: korina: fix return value
	libnvdimm/label: Return -ENXIO for no slot in __blk_label_update
	watchdog: qcom: Avoid context switch in restart handler
	watchdog: coh901327: add COMMON_CLK dependency
	clk: ti: Fix memleak in ti_fapll_synth_setup
	pwm: zx: Add missing cleanup in error path
	pwm: lp3943: Dynamically allocate PWM chip base
	perf record: Fix memory leak when using '--user-regs=?' to list registers
	qlcnic: Fix error code in probe
	clk: s2mps11: Fix a resource leak in error handling paths in the probe function
	clk: sunxi-ng: Make sure divider tables have sentinel
	kconfig: fix return value of do_error_if()
	ARM: sunxi: Add machine match for the Allwinner V3 SoC
	cfg80211: initialize rekey_data
	fix namespaced fscaps when !CONFIG_SECURITY
	lwt: Disable BH too in run_lwt_bpf()
	Input: cros_ec_keyb - send 'scancodes' in addition to key events
	Input: goodix - add upside-down quirk for Teclast X98 Pro tablet
	media: gspca: Fix memory leak in probe
	media: sunxi-cir: ensure IR is handled when it is continuous
	media: netup_unidvb: Don't leak SPI master in probe error path
	media: ipu3-cio2: Remove traces of returned buffers
	media: ipu3-cio2: Return actual subdev format
	media: ipu3-cio2: Serialise access to pad format
	media: ipu3-cio2: Validate mbus format in setting subdev format
	media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE
	Input: cyapa_gen6 - fix out-of-bounds stack access
	ALSA: hda/ca0132 - Change Input Source enum strings.
	PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup()
	Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks"
	ACPI: PNP: compare the string length in the matching_id()
	ALSA: hda: Fix regressions on clear and reconfig sysfs
	ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256
	ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255
	ALSA: pcm: oss: Fix a few more UBSAN fixes
	ALSA: hda/realtek: Add quirk for MSI-GP73
	ALSA: hda/realtek: Apply jack fixup for Quanta NL3
	ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices
	ALSA: usb-audio: Disable sample read check if firmware doesn't give back
	s390/smp: perform initial CPU reset also for SMT siblings
	s390/kexec_file: fix diag308 subcode when loading crash kernel
	s390/dasd: fix hanging device offline processing
	s390/dasd: prevent inconsistent LCU device data
	s390/dasd: fix list corruption of pavgroup group list
	s390/dasd: fix list corruption of lcu list
	staging: comedi: mf6x4: Fix AI end-of-conversion detection
	powerpc/perf: Exclude kernel samples while counting events in user space.
	crypto: ecdh - avoid unaligned accesses in ecdh_set_secret()
	EDAC/amd64: Fix PCI component registration
	USB: serial: mos7720: fix parallel-port state restore
	USB: serial: digi_acceleport: fix write-wakeup deadlocks
	USB: serial: keyspan_pda: fix dropped unthrottle interrupts
	USB: serial: keyspan_pda: fix write deadlock
	USB: serial: keyspan_pda: fix stalled writes
	USB: serial: keyspan_pda: fix write-wakeup use-after-free
	USB: serial: keyspan_pda: fix tx-unthrottle use-after-free
	USB: serial: keyspan_pda: fix write unthrottling
	ext4: fix a memory leak of ext4_free_data
	ext4: fix deadlock with fs freezing and EA inodes
	KVM: arm64: Introduce handling of AArch32 TTBCR2 traps
	ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES
	ARM: dts: at91: sama5d2: fix CAN message ram offset and size
	powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at
	powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter
	powerpc/xmon: Change printk() to pr_cont()
	powerpc/powernv/memtrace: Don't leak kernel memory to user space
	powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently
	ima: Don't modify file descriptor mode on the fly
	ceph: fix race in concurrent __ceph_remove_cap invocations
	SMB3: avoid confusing warning message on mount to Azure
	SMB3.1.1: do not log warning message if server doesn't populate salt
	ubifs: wbuf: Don't leak kernel memory to flash
	jffs2: Fix GC exit abnormally
	jfs: Fix array index bounds check in dbAdjTree
	drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor()
	spi: spi-sh: Fix use-after-free on unbind
	spi: davinci: Fix use-after-free on unbind
	spi: pic32: Don't leak DMA channels in probe error path
	spi: rb4xx: Don't leak SPI master in probe error path
	spi: sc18is602: Don't leak SPI master in probe error path
	spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path
	spi: mt7621: fix missing clk_disable_unprepare() on error in mt7621_spi_probe
	soc: qcom: smp2p: Safely acquire spinlock without IRQs
	mtd: spinand: Fix OOB read
	mtd: parser: cmdline: Fix parsing of part-names with colons
	mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read
	scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc()
	scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free()
	iio: buffer: Fix demux update
	iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume
	iio:light:rpr0521: Fix timestamp alignment and prevent data leak.
	iio:light:st_uvis25: Fix timestamp alignment and prevent data leak.
	iio:pressure:mpl3115: Force alignment of buffer
	iio:imu:bmi160: Fix too large a buffer.
	md/cluster: block reshape with remote resync job
	md/cluster: fix deadlock when node is doing resync job
	pinctrl: sunxi: Always call chained_irq_{enter, exit} in sunxi_pinctrl_irq_handler
	clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9
	xen-blkback: set ring->xenblkd to NULL after kthread_stop()
	xen/xenbus: Allow watches discard events before queueing
	xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path()
	xen/xenbus/xen_bus_type: Support will_handle watch callback
	xen/xenbus: Count pending messages for each watch
	xenbus/xenbus_backend: Disallow pending watch messages
	libnvdimm/namespace: Fix reaping of invalidated block-window-namespace labels
	platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12
	PCI: Fix pci_slot_release() NULL pointer dereference
	platform/x86: mlx-platform: remove an unused variable
	Linux 4.19.164

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I8e2d24b45393ee2360186893d4e578e20156c7f1
2020-12-30 12:19:31 +01:00
Arvind Sankar
b207caff41 compiler.h: fix barrier_data() on clang
commit 3347acc6fcd4ee71ad18a9ff9d9dac176b517329 upstream.

Commit 815f0ddb34 ("include/linux/compiler*.h: make compiler-*.h
mutually exclusive") neglected to copy barrier_data() from
compiler-gcc.h into compiler-clang.h.

The definition in compiler-gcc.h was really to work around clang's more
aggressive optimization, so this broke barrier_data() on clang, and
consequently memzero_explicit() as well.

For example, this results in at least the memzero_explicit() call in
lib/crypto/sha256.c:sha256_transform() being optimized away by clang.

Fix this by moving the definition of barrier_data() into compiler.h.

Also move the gcc/clang definition of barrier() into compiler.h,
__memory_barrier() is icc-specific (and barrier() is already defined
using it in compiler-intel.h) and doesn't belong in compiler.h.

[rdunlap@infradead.org: fix ALPHA builds when SMP is not enabled]

Link: https://lkml.kernel.org/r/20201101231835.4589-1-rdunlap@infradead.org
Fixes: 815f0ddb34 ("include/linux/compiler*.h: make compiler-*.h mutually exclusive")
Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20201014212631.207844-1-nivedita@alum.mit.edu
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[nd: backport to account for missing
  commit e506ea451254a ("compiler.h: Split {READ,WRITE}_ONCE definitions out into rwonce.h")
  commit d08b9f0ca6605 ("scs: Add support for Clang's Shadow Call Stack (SCS)")
  commit a3f8a30f3f00 ("Compiler Attributes: use feature checks instead of version checks")]
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:25:40 +01:00
lucaswei
d43b6a3c5a Merge android-4.19-stable (4.19.125) into android-msm-pixel-4.19-lts
Merge 4.19.125 into android-4.19-stable
    Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-4.19.y' into android-4.19-stable
Linux 4.19.125
    rxrpc: Fix ack discard
  * rxrpc: Trace discarded ACKs
      include/trace/events/rxrpc.h
    iio: adc: stm32-dfsdm: fix device used to request dma
    iio: adc: stm32-dfsdm: Use dma_request_chan() instead dma_request_slave_channel()
    iio: adc: stm32-adc: fix device used to request dma
    iio: adc: stm32-adc: Use dma_request_chan() instead dma_request_slave_channel()
    x86/unwind/orc: Fix unwind_get_return_address_ptr() for inactive tasks
    rxrpc: Fix a memory leak in rxkad_verify_response()
    rapidio: fix an error in get_user_pages_fast() error handling
    ipack: tpci200: fix error return code in tpci200_register()
    mei: release me_cl object reference
    misc: rtsx: Add short delay after exit from ASPM
    iio: dac: vf610: Fix an error handling path in 'vf610_dac_probe()'
    iio: sca3000: Remove an erroneous 'get_device()'
    staging: greybus: Fix uninitialized scalar variable
    staging: iio: ad2s1210: Fix SPI reading
    Revert "gfs2: Don't demote a glock until its revokes are written"
    brcmfmac: abort and release host after error
    tty: serial: qcom_geni_serial: Fix wrap around of TX buffer
    cxgb4/cxgb4vf: Fix mac_hlist initialization and free
    cxgb4: free mac_hlist properly
    net: bcmgenet: abort suspend on error
    net: bcmgenet: code movement
    Revert "net/ibmvnic: Fix EOI when running in XIVE mode"
    media: fdp1: Fix R-Car M3-N naming in debug message
    thunderbolt: Drop duplicated get_switch_at_route()
    staging: most: core: replace strcpy() by strscpy()
    libnvdimm/btt: Fix LBA masking during 'free list' population
    libnvdimm/btt: Remove unnecessary code in btt_freelist_init
  * nfit: Add Hyper-V NVDIMM DSM command set to white list
      include/uapi/linux/ndctl.h
    powerpc/64s: Disable STRICT_KERNEL_RWX
    powerpc: Remove STRICT_KERNEL_RWX incompatibility with RELOCATABLE
    drm/i915/gvt: Init DPLL/DDI vreg for virtual display instead of inheritance.
    dmaengine: owl: Use correct lock in owl_dma_get_pchan()
    dmaengine: tegra210-adma: Fix an error handling path in 'tegra_adma_probe()'
    apparmor: Fix aa_label refcnt leak in policy_update
    apparmor: fix potential label refcnt leak in aa_change_profile
    apparmor: Fix use-after-free in aa_audit_rule_init
    drm/etnaviv: fix perfmon domain interation
    ALSA: hda/realtek - Add more fixup entries for Clevo machines
    ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Xtreme
  * ALSA: pcm: fix incorrect hw_base increase
      sound/core/pcm_lib.c
    ALSA: iec1712: Initialize STDSP24 properly when using the model=staudio option
    padata: purge get_cpu and reorder_via_wq from padata_do_serial
    padata: initialize pd->cpu with effective cpumask
  * padata: Replace delayed timer with immediate workqueue in padata_reorder
      include/linux/padata.h
    ARM: futex: Address build warning
    platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA
  * USB: core: Fix misleading driver bug report
      drivers/usb/core/message.c
    stmmac: fix pointer check after utilization in stmmac_interrupt
    ceph: fix double unlock in handle_cap_export()
  * HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock
      drivers/hid/hid-ids.h
      drivers/hid/hid-quirks.c
    gtp: set NLM_F_MULTI flag in gtp_genl_dump_pdp()
    x86/apic: Move TSC deadline timer debug printk
  * HID: i2c-hid: reset Synaptics SYNA2393 on resume
      drivers/hid/hid-ids.h
    scsi: ibmvscsi: Fix WARN_ON during event pool release
  * component: Silence bind error on -EPROBE_DEFER
      drivers/base/component.c
    aquantia: Fix the media type of AQC100 ethernet controller in the driver
    vhost/vsock: fix packet delivery order to monitoring devices
  * configfs: fix config_item refcnt leak in configfs_rmdir()
      fs/configfs/dir.c
    scsi: qla2xxx: Delete all sessions before unregister local nvme port
    scsi: qla2xxx: Fix hang when issuing nvme disconnect-all in NPIV
  * HID: alps: ALPS_1657 is too specific; use U1_UNICORN_LEGACY instead
      drivers/hid/hid-ids.h
  * HID: alps: Add AUI1657 device ID
      drivers/hid/hid-ids.h
  * HID: multitouch: add eGalaxTouch P80H84 support
      drivers/hid/hid-ids.h
      drivers/hid/hid-multitouch.c
  * gcc-common.h: Update for GCC 10
      scripts/gcc-plugins/gcc-common.h
    ubi: Fix seq_file usage in detailed_erase_block_info debugfs file
    i2c: mux: demux-pinctrl: Fix an error handling path in 'i2c_demux_pinctrl_probe()'
    iommu/amd: Fix over-read of ACPI UID from IVRS table
    ubifs: remove broken lazytime support
  * fix multiplication overflow in copy_fdtable()
      fs/file.c
    mtd: spinand: Propagate ECC information to the MTD structure
    ima: Fix return value of ima_write_policy()
    evm: Check also if *tfm is an error pointer in init_desc()
    ima: Set file->f_mode instead of file->f_flags in ima_calc_file_hash()
    riscv: set max_pfn to the PFN of the last page
    KVM: SVM: Fix potential memory leak in svm_cpu_init()
  * i2c: dev: Fix the race between the release of i2c_dev and cdev
      drivers/i2c/i2c-dev.c
  * ubsan: build ubsan.c more conservatively
      lib/Makefile
  * x86/uaccess, ubsan: Fix UBSAN vs. SMAP
      lib/Makefile
  * ANDROID: scsi: ufs: Handle clocks when lrbp fails
      drivers/scsi/ufs/ufshcd.c
  * ANDROID: fscrypt: handle direct I/O with IV_INO_LBLK_32
      fs/crypto/crypto.c
      fs/crypto/inline_crypt.c
      fs/direct-io.c
      fs/ext4/inode.c
      fs/f2fs/f2fs.h
      include/linux/fscrypt.h
  * BACKPORT: FROMLIST: fscrypt: add support for IV_INO_LBLK_32 policies
      fs/crypto/crypto.c
      fs/crypto/fscrypt_private.h
      fs/crypto/inline_crypt.c
      fs/crypto/keyring.c
      fs/crypto/keysetup.c
      fs/crypto/policy.c
      include/uapi/linux/fscrypt.h
    ANDROID: Update the ABI xml and qcom whitelist
    ANDROID: Fix build.config.gki-debug
    Merge 4.19.124 into android-4.19-stable
Linux 4.19.124
  * Makefile: disallow data races on gcc-10 as well
      Makefile
    KVM: x86: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce
    ARM: dts: r8a7740: Add missing extal2 to CPG node
    arm64: dts: renesas: r8a77980: Fix IPMMU VIP[01] nodes
    ARM: dts: r8a73a4: Add missing CMT1 interrupts
    arm64: dts: rockchip: Rename dwc3 device nodes on rk3399 to make dtc happy
    arm64: dts: rockchip: Replace RK805 PMIC node name with "pmic" on rk3328 boards
  * clk: Unlink clock if failed to prepare or enable
      drivers/clk/clk.c
    Revert "ALSA: hda/realtek: Fix pop noise on ALC225"
    usb: gadget: legacy: fix error return code in cdc_bind()
    usb: gadget: legacy: fix error return code in gncm_bind()
    usb: gadget: audio: Fix a missing error return value in audio_bind()
    usb: gadget: net2272: Fix a memory leak in an error handling path in 'net2272_plat_probe()'
  * dwc3: Remove check for HWO flag in dwc3_gadget_ep_reclaim_trb_sg()
      drivers/usb/dwc3/gadget.c
    clk: rockchip: fix incorrect configuration of rk3228 aclk_gpu* clocks
  * exec: Move would_dump into flush_old_exec
      fs/exec.c
    x86/unwind/orc: Fix error handling in __unwind_start()
  * x86: Fix early boot crash on gcc-10, third try
      include/linux/compiler.h
      init/main.c
    cifs: fix leaked reference on requeued write
    ARM: dts: imx27-phytec-phycard-s-rdk: Fix the I2C1 pinctrl entries
    ARM: dts: dra7: Fix bus_dma_limit for PCIe
  * usb: xhci: Fix NULL pointer dereference when enqueuing trbs from urb sg list
      drivers/usb/host/xhci-ring.c
  * USB: gadget: fix illegal array access in binding with UDC
      drivers/usb/gadget/configfs.c
  * usb: host: xhci-plat: keep runtime active when removing host
      drivers/usb/host/xhci-plat.c
  * usb: core: hub: limit HUB_QUIRK_DISABLE_AUTOSUSPEND to USB5534B
      drivers/usb/core/hub.c
  * ALSA: usb-audio: Add control message quirk delay for Kingston HyperX headset
      sound/usb/quirks.c
  * ALSA: rawmidi: Fix racy buffer resize under concurrent accesses
      include/sound/rawmidi.h
      sound/core/rawmidi.c
    ALSA: hda/realtek - Limit int mic boost for Thinkpad T530
  * gcc-10: avoid shadowing standard library 'free()' in crypto
      crypto/xts.c
  * gcc-10: disable 'restrict' warning for now
      Makefile
  * gcc-10: disable 'stringop-overflow' warning for now
      Makefile
  * gcc-10: disable 'array-bounds' warning for now
      Makefile
  * gcc-10: disable 'zero-length-bounds' warning for now
      Makefile
  * Stop the ad-hoc games with -Wno-maybe-initialized
      Makefile
      init/Kconfig
      kernel/trace/Kconfig
  * kbuild: compute false-positive -Wmaybe-uninitialized cases in Kconfig
      Makefile
      init/Kconfig
      kernel/trace/Kconfig
  * gcc-10 warnings: fix low-hanging fruit
      include/linux/fs.h
      include/linux/tty.h
  * pnp: Use list_for_each_entry() instead of open coding
      include/linux/pnp.h
    hwmon: (da9052) Synchronize access with mfd
    IB/mlx4: Test return value of calls to ib_get_cached_pkey
    netfilter: nft_set_rbtree: Introduce and use nft_rbtree_interval_start()
    arm64: fix the flush_icache_range arguments in machine_kexec
  * netfilter: conntrack: avoid gcc-10 zero-length-bounds warning
      include/net/netfilter/nf_conntrack.h
      net/netfilter/nf_conntrack_core.c
    NFSv4: Fix fscache cookie aux_data to ensure change_attr is included
    nfs: fscache: use timespec64 in inode auxdata
    NFS: Fix fscache super_cookie index_key from changing after umount
    mmc: block: Fix request completion in the CQE timeout path
    mmc: core: Check request type before completing the request
    i40iw: Fix error handling in i40iw_manage_arp_cache()
    pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler
    pinctrl: baytrail: Enable pin configuration setting for GPIO chip
    gfs2: Another gfs2_walk_metadata fix
    ALSA: hda/realtek - Fix S3 pop noise on Dell Wyse
    ipc/util.c: sysvipc_find_ipc() incorrectly updates position index
    drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper()
    ALSA: hda/hdmi: fix race in monitor detection during probe
    cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once
    dmaengine: mmp_tdma: Reset channel error on release
    dmaengine: pch_dma.c: Avoid data race between probe and irq handler
    riscv: fix vdso build with lld
  * tcp: fix SO_RCVLOWAT hangs with fat skbs
      include/net/tcp.h
      net/ipv4/tcp.c
      net/ipv4/tcp_input.c
  * net: tcp: fix rx timestamp behavior for tcp_recvmsg
      net/ipv4/tcp.c
    netprio_cgroup: Fix unlimited memory leak of v2 cgroups
  * net: ipv4: really enforce backoff for redirects
      net/ipv4/route.c
    net: dsa: loop: Add module soft dependency
    hinic: fix a bug of ndo_stop
    virtio_net: fix lockdep warning on 32 bit
  * tcp: fix error recovery in tcp_zerocopy_receive()
      net/ipv4/tcp.c
  * Revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu"
      net/ipv6/route.c
  * pppoe: only process PADT targeted at local interfaces
      drivers/net/ppp/pppoe.c
  * net: phy: fix aneg restart in phy_ethtool_set_eee
      drivers/net/phy/phy.c
  * netlabel: cope with NULL catmap
      net/ipv4/cipso_ipv4.c
      net/ipv6/calipso.c
      net/netlabel/netlabel_kapi.c
  * net: fix a potential recursive NETDEV_FEAT_CHANGE
      net/core/dev.c
    mmc: sdhci-acpi: Add SDHCI_QUIRK2_BROKEN_64_BIT_DMA for AMDI0040
  * scsi: sg: add sg_remove_request in sg_write
      drivers/scsi/sg.c
    virtio-blk: handle block_device_operations callbacks after hot unplug
    drop_monitor: work around gcc-10 stringop-overflow warning
    net: moxa: Fix a potential double 'free_irq()'
    net/sonic: Fix a resource leak in an error handling path in 'jazz_sonic_probe()'
  * shmem: fix possible deadlocks on shmlock_user_lock
      mm/shmem.c
    net: dsa: Do not make user port errors fatal
  * ANDROID: rtc: class: call hctosys in resource managed registration
      drivers/rtc/class.c
    ANDROID: GKI: Update the ABI xml and whitelist
  * ANDROID: power_supply: Add RTX power-supply property
      drivers/power/supply/power_supply_sysfs.c
      include/linux/power_supply.h
  * f2fs: flush dirty meta pages when flushing them
      fs/f2fs/checkpoint.c
  * f2fs: fix checkpoint=disable:%u%%
      fs/f2fs/f2fs.h
      fs/f2fs/super.c
  * f2fs: rework filename handling
      fs/f2fs/dir.c
      fs/f2fs/f2fs.h
      fs/f2fs/hash.c
      fs/f2fs/inline.c
      fs/f2fs/namei.c
      fs/f2fs/recovery.c
  * f2fs: split f2fs_d_compare() from f2fs_match_name()
      fs/f2fs/dir.c
      fs/f2fs/f2fs.h
  * f2fs: don't leak filename in f2fs_try_convert_inline_dir()
      fs/f2fs/inline.c
    ANDROID: clang: update to 11.0.1
    FROMLIST: x86_64: fix jiffies ODR violation
  * ANDROID: arm64: vdso: Fix removing SCS flags
      arch/arm64/kernel/vdso/Makefile
    Merge branch 'android-4.19' into android-4.19-stable
    ANDROID: GKI: Update the ABI xml and whitelist
  * ANDROID: Incremental fs: wake up log pollers less often
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
  * ANDROID: Incremental fs: Fix scheduling while atomic error
      fs/incfs/vfs.c
  * ANDROID: Incremental fs: Avoid continually recalculating hashes
      fs/incfs/data_mgmt.c
  * ANDROID: export: Disable symbol trimming on modules
      include/linux/export.h
    ANDROID: GKI: Update the ABI xml and whitelist
  * ANDROID: fscrypt: set dun_bytes more precisely
      fs/crypto/inline_crypt.c
  * ANDROID: dm-default-key: set dun_bytes more precisely
      drivers/md/dm-default-key.c
  * ANDROID: block: backport the ability to specify max_dun_bytes
      block/blk-crypto.c
      block/keyslot-manager.c
      drivers/md/dm-default-key.c
      drivers/scsi/ufs/ufshcd-crypto.c
      fs/crypto/inline_crypt.c
      include/linux/bio-crypt-ctx.h
      include/linux/blk-crypto.h
      include/linux/keyslot-manager.h
    ANDROID: Revert "ANDROID: GKI: gki_defconfig: CONFIG_DM_DEFAULT_KEY=m"
    Merge 4.19.123 into android-4.19
Linux 4.19.123
    ipc/mqueue.c: change __do_notify() to bypass check_kill_permission()
    scripts/decodecode: fix trapping instruction formatting
    objtool: Fix stack offset tracking for indirect CFAs
    netfilter: nf_osf: avoid passing pointer to local var
  * netfilter: nat: never update the UDP checksum when it's 0
      net/netfilter/nf_nat_proto_udp.c
    x86/unwind/orc: Fix premature unwind stoppage due to IRET frames
    x86/unwind/orc: Fix error path for bad ORC entry type
    x86/unwind/orc: Prevent unwinding before ORC initialization
    x86/unwind/orc: Don't skip the first frame for inactive tasks
    x86/entry/64: Fix unwind hints in rewind_stack_do_exit()
    x86/entry/64: Fix unwind hints in kernel exit path
    x86/entry/64: Fix unwind hints in register clearing code
    batman-adv: Fix refcnt leak in batadv_v_ogm_process
    batman-adv: Fix refcnt leak in batadv_store_throughput_override
    batman-adv: Fix refcnt leak in batadv_show_throughput_override
    batman-adv: fix batadv_nc_random_weight_tq
    KVM: VMX: Mark RCX, RDX and RSI as clobbered in vmx_vcpu_run()'s asm blob
    KVM: VMX: Explicitly reference RCX as the vmx_vcpu pointer in asm blobs
  * coredump: fix crash when umh is disabled
      fs/coredump.c
      kernel/umh.c
    staging: gasket: Check the return value of gasket_get_bar_index()
  * mm/page_alloc: fix watchdog soft lockups during set_zone_contiguous()
      mm/page_alloc.c
    arm64: hugetlb: avoid potential NULL dereference
    KVM: arm64: Fix 32bit PC wrap-around
    KVM: arm: vgic: Fix limit condition when writing to GICD_I[CS]ACTIVER
  * tracing: Add a vmalloc_sync_mappings() for safe measure
      kernel/trace/trace.c
    USB: serial: garmin_gps: add sanity checking for data length
    USB: uas: add quirk for LaCie 2Big Quadra
  * HID: usbhid: Fix race between usbhid_close() and usbhid_stop()
      drivers/hid/usbhid/hid-core.c
      drivers/hid/usbhid/usbhid.h
  * sctp: Fix bundling of SHUTDOWN with COOKIE-ACK
      net/sctp/sm_statefuns.c
    HID: wacom: Read HID_DG_CONTACTMAX directly for non-generic devices
  * net: stricter validation of untrusted gso packets
      include/linux/virtio_net.h
    bnxt_en: Fix VF anti-spoof filter setup.
    bnxt_en: Improve AER slot reset.
    net/mlx5: Fix command entry leak in Internal Error State
    net/mlx5: Fix forced completion access non initialized command entry
    bnxt_en: Fix VLAN acceleration handling in bnxt_fix_features().
  * tipc: fix partial topology connection closure
      net/tipc/topsrv.c
    sch_sfq: validate silly quantum values
    sch_choke: avoid potential panic in choke_reset()
    net: usb: qmi_wwan: add support for DW5816e
    net_sched: sch_skbprio: add message validation to skbprio_change()
    net/mlx4_core: Fix use of ENOSPC around mlx4_counter_alloc()
    net: macsec: preserve ingress frame ordering
    fq_codel: fix TCA_FQ_CODEL_DROP_BATCH_SIZE sanity checks
    dp83640: reverse arguments to list_add_tail
    vt: fix unicode console freeing with a common interface
    tracing/kprobes: Fix a double initialization typo
    USB: serial: qcserial: Add DW5816e support
  * ANDROID: usb: gadget: Add missing inline qualifier to stub functions
      include/linux/usb/gadget.h
    ANDROID: Drop ABI monitoring from KASAN build config
    ANDROID: Rename build.config.gki.arch_kasan
    ANDROID: GKI: Enable CONFIG_STATIC_USERMODEHELPER
  * ANDROID: dm-default-key: Update key size for wrapped keys
      drivers/md/dm-default-key.c
    ANDROID: gki_defconfig: enable CONFIG_MMC_CRYPTO
  * ANDROID: mmc: MMC crypto API
      drivers/mmc/core/Kconfig
      include/linux/mmc/core.h
      include/linux/mmc/host.h
    ANDROID: GKI: Update the ABI xml and whitelist
  * ANDROID: GKI: add missing exports for cam_smmu_api.ko
      drivers/iommu/dma-iommu.c
    Merge 4.19.122 into android-4.19
Linux 4.19.122
  * drm/atomic: Take the atomic toys away from X
      drivers/gpu/drm/drm_ioctl.c
    cgroup, netclassid: remove double cond_resched
  * mac80211: add ieee80211_is_any_nullfunc()
      include/linux/ieee80211.h
    platform/x86: GPD pocket fan: Fix error message when temp-limits are out of range
    ALSA: hda: Match both PCI ID and SSID for driver blacklist
    hexagon: define ioremap_uc
    hexagon: clean up ioremap
    mfd: intel-lpss: Use devm_ioremap_uc for MMIO
  * lib: devres: add a helper function for ioremap_uc
      include/linux/io.h
      lib/devres.c
    drm/amdgpu: Fix oops when pp_funcs is unset in ACPI event
  * sctp: Fix SHUTDOWN CTSN Ack in the peer restart case
      net/sctp/sm_make_chunk.c
    net: systemport: suppress warnings on failed Rx SKB allocations
    net: bcmgenet: suppress warnings on failed Rx SKB allocations
  * lib/mpi: Fix building for powerpc with clang
      lib/mpi/longlong.h
    scripts/config: allow colons in option strings for sed
    s390/ftrace: fix potential crashes when switching tracers
    cifs: protect updating server->dstaddr with a spinlock
    ASoC: rsnd: Fix "status check failed" spam for multi-SSI
    ASoC: rsnd: Don't treat master SSI in multi SSI setup as parent
    net: stmmac: Fix sub-second increment
    net: stmmac: fix enabling socfpga's ptp_ref_clock
    wimax/i2400m: Fix potential urb refcnt leak
    drm/amdgpu: Correctly initialize thermal controller for GPUs with Powerplay table v0 (e.g Hawaii)
    ASoC: codecs: hdac_hdmi: Fix incorrect use of list_for_each_entry
    ASoC: rsnd: Fix HDMI channel mapping for multi-SSI mode
    ASoC: rsnd: Fix parent SSI start/stop in multi-SSI mode
  * usb: dwc3: gadget: Properly set maxpacket limit
      drivers/usb/dwc3/core.h
      drivers/usb/dwc3/gadget.c
    ASoC: sgtl5000: Fix VAG power-on handling
    selftests/ipc: Fix test failure seen after initial test run
    ASoC: topology: Check return value of pcm_new_ver
    powerpc/pci/of: Parse unassigned resources
    vhost: vsock: kick send_pkt worker once device is started
    ANDROID: GKI: fix build warning on 32bits due to ASoC msm change
    ANDROID: GKI: fix build error on 32bits due to ASoC msm change
    ANDROID: GKI: update abi definition due to FAIR_GROUP_SCHED removal
    ANDROID: GKI: Remove FAIR_GROUP_SCHED
    ANDROID: GKI: BULK update ABI XML representation and qcom whitelist
    ANDROID: build.config.gki.aarch64: Enable WHITELIST_STRICT_MODE
    ANDROID: GKI: Update the ABI xml and qcom whitelist
  * ANDROID: remove unused variable
      fs/f2fs/xattr.c
    ANDROID: Drop ABI monitoring from KASAN build config
    Merge 4.19.121 into android-4.19
Linux 4.19.121
    mmc: meson-mx-sdio: remove the broken ->card_busy() op
    mmc: meson-mx-sdio: Set MMC_CAP_WAIT_WHILE_BUSY
    mmc: sdhci-msm: Enable host capabilities pertains to R1b response
    mmc: sdhci-pci: Fix eMMC driver strength for BYT-based controllers
    mmc: sdhci-xenon: fix annoying 1.8V regulator warning
    mmc: cqhci: Avoid false "cqhci: CQE stuck on" by not open-coding timeout loop
    btrfs: transaction: Avoid deadlock due to bad initialization timing of fs_info::journal_info
    btrfs: fix partial loss of prealloc extent past i_size after fsync
  * selinux: properly handle multiple messages in selinux_netlink_send()
      security/selinux/hooks.c
    dmaengine: dmatest: Fix iteration non-stop logic
    nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl
    ALSA: opti9xx: shut up gcc-10 range warning
    iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled system
    scsi: target/iblock: fix WRITE SAME zeroing
    iommu/qcom: Fix local_base status check
    vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn()
    vfio: avoid possible overflow in vfio_iommu_type1_pin_pages
    RDMA/core: Fix race between destroy and release FD object
    RDMA/core: Prevent mixed use of FDs between shared ufiles
    RDMA/mlx4: Initialize ib_spec on the stack
    RDMA/mlx5: Set GRH fields in query QP on RoCE
    scsi: qla2xxx: check UNLOADING before posting async work
    scsi: qla2xxx: set UNLOADING before waiting for session deletion
    dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpath
    dm writecache: fix data corruption when reloading the target
  * dm verity fec: fix hash block number in verity_fec_decode
      drivers/md/dm-verity-fec.c
    PM: hibernate: Freeze kernel threads in software_resume()
    PM: ACPI: Output correct message on target power state
    ALSA: pcm: oss: Place the plugin buffer overflow checks correctly
    ALSA: hda/hdmi: fix without unlocked before return
  * ALSA: usb-audio: Correct a typo of NuPrime DAC-10 USB ID
      sound/usb/quirks.c
    ALSA: hda/realtek - Two front mics on a Lenovo ThinkCenter
    btrfs: fix block group leak when removing fails
    drm/qxl: qxl_release use after free
    drm/qxl: qxl_release leak in qxl_hw_surface_alloc()
    drm/qxl: qxl_release leak in qxl_draw_dirty_fb()
  * drm/edid: Fix off-by-one in DispID DTD pixel clock
      drivers/gpu/drm/drm_edid.c
    ANDROID: GKI: Bulk update ABI XML representation
    ANDROID: GKI: Enable net testing options
    ANDROID: gki_defconfig: Enable CONFIG_REMOTEPROC
    ANDROID: Rename build.config.gki.arch_kasan
    ANDROID: GKI: Update ABI for IOMMU
  * ANDROID: Incremental fs: Fix issues with very large files
      fs/incfs/vfs.c
    ANDROID: Correct build.config branch name
    ANDROID: GKI: Bulk update ABI XML representation and whitelist.
  * UPSTREAM: vdso: Fix clocksource.h macro detection
      include/vdso/clocksource.h
    Merge 4.19.120 into android-4.19
    ANDROID: GKI: update abi definition due to added padding
  * ANDROID: GKI: networking: add Android ABI padding to a lot of networking structures
      include/linux/ipv6.h
      include/linux/net.h
      include/linux/netdevice.h
      include/linux/skbuff.h
  * ANDROID: GKI: dma-mapping.h: add Android ABI padding to a structure
      include/linux/dma-mapping.h
  * ANDROID: GKI: ioport.h: add Android ABI padding to a structure
      include/linux/ioport.h
  * ANDROID: GKI: iomap.h: add Android ABI padding to a structure
      include/linux/iomap.h
  * ANDROID: GKI: genhd.h: add Android ABI padding to some structures
      include/linux/genhd.h
  * ANDROID: GKI: hrtimer.h: add Android ABI padding to a structure
      include/linux/hrtimer.h
  * ANDROID: GKI: ethtool.h: add Android ABI padding to a structure
      include/linux/ethtool.h
  * ANDROID: GKI: sched: add Android ABI padding to some structures
      include/linux/sched/topology.h
      include/linux/sched/user.h
  * ANDROID: GKI: kernfs.h: add Android ABI padding to some structures
      include/linux/kernfs.h
  * ANDROID: GKI: kobject.h: add Android ABI padding to some structures
      include/linux/kobject.h
  * ANDROID: GKI: mm.h: add Android ABI padding to a structure
      include/linux/mm.h
  * ANDROID: GKI: mmu_notifier.h: add Android ABI padding to some structures
      include/linux/mmu_notifier.h
  * ANDROID: GKI: pci: add Android ABI padding to some structures
      drivers/pci/pci.h
      include/linux/pci.h
  * ANDROID: GKI: irqdomain.h: add Android ABI padding to a structure
      include/linux/irqdomain.h
  * ANDROID: GKI: blk_types.h: add Android ABI padding to a structure
      include/linux/blk_types.h
  * ANDROID: GKI: scsi.h: add Android ABI padding to a structure
      drivers/scsi/sd.h
  * ANDROID: GKI: quota.h: add Android ABI padding to some structures
      include/linux/quota.h
  * ANDROID: GKI: timer.h: add Android ABI padding to a structure
      include/linux/timer.h
  * ANDROID: GKI: user_namespace.h: add Android ABI padding to a structure
      include/linux/user_namespace.h
    FROMGIT: f2fs: fix missing check for f2fs_unlock_op
Linux 4.19.120
  * propagate_one(): mnt_set_mountpoint() needs mount_lock
      fs/pnode.c
  * ext4: check for non-zero journal inum in ext4_calculate_overhead
      fs/ext4/super.c
  * qed: Fix use after free in qed_chain_free
      include/linux/qed/qed_chain.h
    bpf, x86_32: Fix clobbering of dst for BPF_JSET
    hwmon: (jc42) Fix name to have no illegal characters
  * ext4: convert BUG_ON's to WARN_ON's in mballoc.c
      fs/ext4/mballoc.c
  * ext4: increase wait time needed before reuse of deleted inode numbers
      fs/ext4/ialloc.c
  * ext4: use matching invalidatepage in ext4_writepage
      fs/ext4/inode.c
  * arm64: Delete the space separator in __emit_inst
      arch/arm64/include/asm/sysreg.h
    ALSA: hda: call runtime_allow() for all hda controllers
    xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status
    objtool: Support Clang non-section symbols in ORC dump
    objtool: Fix CONFIG_UBSAN_TRAP unreachable warnings
    scsi: target: tcmu: reset_ring should reset TCMU_DEV_BIT_BROKEN
    scsi: target: fix PR IN / READ FULL STATUS for FC
    ALSA: hda: Explicitly permit using autosuspend if runtime PM is supported
    ALSA: hda: Keep the controller initialization even if no codecs found
    xfs: fix partially uninitialized structure in xfs_reflink_remap_extent
    x86: hyperv: report value of misc_features
    net: fec: set GPR bit on suspend by DT configuration.
    bpf, x86: Fix encoding for lower 8-bit registers in BPF_STX BPF_B
    xfs: clear PF_MEMALLOC before exiting xfsaild thread
  * mm: shmem: disable interrupt when acquiring info->lock in userfaultfd_copy path
      mm/shmem.c
    bpf, x86_32: Fix incorrect encoding in BPF_LDX zero-extension
  * perf/core: fix parent pid/tid in task exit events
      kernel/events/core.c
    net/mlx5: Fix failing fw tracer allocation on s390
  * cpumap: Avoid warning when CONFIG_DEBUG_PER_CPU_MAPS is enabled
      kernel/bpf/cpumap.c
    ARM: dts: bcm283x: Disable dsi0 node
  * PCI: Move Apex Edge TPU class quirk to fix BAR assignment
      drivers/pci/quirks.c
  * PCI: Avoid ASMedia XHCI USB PME# from D0 defect
      drivers/pci/quirks.c
  * svcrdma: Fix leak of svc_rdma_recv_ctxt objects
      include/linux/sunrpc/svc_rdma.h
  * svcrdma: Fix trace point use-after-free race
      include/trace/events/rpcrdma.h
    xfs: acquire superblock freeze protection on eofblocks scans
    net/cxgb4: Check the return from t4_query_params properly
    rxrpc: Fix DATA Tx to disable nofrag for UDP on AF_INET6 socket
    i2c: altera: use proper variable to hold errno
    nfsd: memory corruption in nfsd4_lock()
    ASoC: wm8960: Fix wrong clock after suspend & resume
    ASoC: tas571x: disable regulators on failed probe
    ASoC: q6dsp6: q6afe-dai: add missing channels to MI2S DAIs
    iio:ad7797: Use correct attribute_group
    usb: gadget: udc: bdc: Remove unnecessary NULL checks in bdc_req_complete
  * usb: dwc3: gadget: Do link recovery for SS and SSP
      drivers/usb/dwc3/gadget.c
  * binder: take read mode of mmap_sem in binder_alloc_free_page()
      drivers/android/binder_alloc.c
  * include/uapi/linux/swab.h: fix userspace breakage, use __BITS_PER_LONG for swap
      include/uapi/linux/swab.h
    mtd: cfi: fix deadloop in cfi_cmdset_0002.c do_write_buffer
    remoteproc: Fix wrong rvring index computation
  * FROMLIST: PM / devfreq: Restart previous governor if new governor fails to start
      drivers/devfreq/devfreq.c
  * ANDROID: GKI: arm64: Enable GZIP and LZ4 kernel compression modes
      arch/arm64/Kconfig
    ANDROID: GKI: arm64: gki_defconfig: Set arm_smmu configuration
  * ANDROID: GKI: iommu/arm-smmu: Modularize ARM SMMU driver
      drivers/iommu/Kconfig
      drivers/iommu/arm-smmu.c
  * ANDROID: GKI: iommu: Snapshot of vendor changes
      arch/arm64/mm/dma-mapping.c
      drivers/iommu/dma-iommu.c
      drivers/iommu/io-pgtable.c
      drivers/iommu/iommu.c
      drivers/iommu/iova.c
      include/linux/dma-iommu.h
      include/linux/dma-mapping.h
      include/linux/io-pgtable.h
      include/linux/iommu.h
      include/linux/iova.h
      include/trace/events/iommu.h
  * ANDROID: GKI: Additions to ARM SMMU register definitions
      drivers/iommu/arm-smmu-regs.h
  * ANDROID: GKI: iommu/io-pgtable-arm: LPAE related updates by vendor
      drivers/iommu/io-pgtable-arm.c
  * ANDROID: GKI: common: dma-mapping: make dma_common_contiguous_remap more robust
      kernel/dma/mapping.c
  * ANDROID: GKI: dma-coherent: Expose device base address and size
      include/linux/dma-mapping.h
      kernel/dma/coherent.c
  * ANDROID: GKI: arm64: add support for NO_KERNEL_MAPPING and STRONGLY_ORDERED
      arch/arm64/mm/dma-mapping.c
  * ANDROID: GKI: dma-mapping: Add dma_remap functions
      arch/arm64/mm/dma-mapping.c
      include/linux/dma-mapping.h
      kernel/dma/mapping.c
  * ANDROID: GKI: arm64: Support early fixup for CMA
      arch/arm64/include/asm/dma-contiguous.h
      arch/arm64/mm/mmu.c
  * ANDROID: GKI: iommu: dma-mapping-fast: Fast ARMv7/v8 Long Descriptor Format
      arch/arm64/include/asm/dma-iommu.h
      arch/arm64/mm/dma-mapping.c
      drivers/iommu/Kconfig
      drivers/iommu/Makefile
      drivers/iommu/dma-mapping-fast.c
      drivers/iommu/io-pgtable-fast.c
      drivers/iommu/io-pgtable.c
      include/linux/dma-mapping-fast.h
      include/linux/io-pgtable-fast.h
      include/linux/io-pgtable.h
  * ANDROID: GKI: arm64: dma-mapping: add support for IOMMU mapper
      arch/arm64/Kconfig
      arch/arm64/include/asm/device.h
      arch/arm64/include/asm/dma-iommu.h
      arch/arm64/mm/dma-mapping.c
      drivers/iommu/Kconfig
  * ANDROID: GKI: add ARCH_NR_GPIO for ABI match
      arch/arm64/Kconfig
  * ANDROID: GKI: kernel: Export symbol of `cpu_do_idle`
      arch/arm64/kernel/arm64ksyms.c
  * ANDROID: GKI: kernel: Export symbols needed by msm_minidump.ko and minidump_log.ko (again)
      arch/arm64/kernel/arm64ksyms.c
  * ANDROID: GKI: add missing exports for __flush_dcache_area
      arch/arm64/kernel/arm64ksyms.c
  * ANDROID: GKI: arm64: Export caching APIs
      arch/arm64/kernel/arm64ksyms.c
  * ANDROID: GKI: arm64: provide dma cache routines with same API as 32 bit
      arch/arm64/include/asm/cacheflush.h
      arch/arm64/mm/cache.S
    ANDROID: gki_defconfig: add FORTIFY_SOURCE, remove SPMI_MSM_PMIC_ARB
  * Revert "ANDROID: GKI: spmi: pmic-arb: don't enable SPMI_MSM_PMIC_ARB by default"
      drivers/spmi/Kconfig
    ANDROID: GKI: update abi definitions after adding padding
  * ANDROID: GKI: elevator: add Android ABI padding to some structures
      include/linux/elevator.h
  * ANDROID: GKI: dentry: add Android ABI padding to some structures
      include/linux/dcache.h
  * ANDROID: GKI: bio: add Android ABI padding to some structures
      include/linux/bio.h
  * ANDROID: GKI: scsi: add Android ABI padding to some structures
      include/scsi/scsi_cmnd.h
      include/scsi/scsi_device.h
      include/scsi/scsi_host.h
  * ANDROID: GKI: ufs: add Android ABI padding to some structures
      drivers/scsi/ufs/ufshcd.h
  * ANDROID: GKI: workqueue.h: add Android ABI padding to some structures
      include/linux/workqueue.h
  * ANDROID: GKI: fs.h: add Android ABI padding to some structures
      include/linux/fs.h
  * ANDROID: GKI: USB: add Android ABI padding to some structures
      include/linux/usb.h
      include/linux/usb/hcd.h
      include/linux/usb/usbnet.h
  * ANDROID: GKI: mm: add Android ABI padding to some structures
      include/linux/mm_types.h
      include/linux/mmzone.h
  * ANDROID: GKI: mount.h: add Android ABI padding to some structures
      include/linux/mount.h
  * ANDROID: GKI: sched.h: add Android ABI padding to some structures
      include/linux/sched.h
      include/linux/sched/signal.h
  * ANDROID: GKI: sock.h: add Android ABI padding to some structures
      include/net/sock.h
  * ANDROID: GKI: module.h: add Android ABI padding to some structures
      include/linux/module.h
  * ANDROID: GKI: device.h: add Android ABI padding to some structures
      include/linux/device.h
  * ANDROID: GKI: phy: add Android ABI padding to some structures
      include/linux/phy.h
  * ANDROID: GKI: add android_kabi.h
      include/linux/android_kabi.h
    ANDROID: ABI: update due to previous changes in the tree
  * BACKPORT: sched/core: Fix reset-on-fork from RT with uclamp
      kernel/sched/core.c
  * ANDROID: GKI: Add support for missing V4L2 symbols
      drivers/media/v4l2-core/v4l2-ioctl.c
      include/uapi/linux/videodev2.h
    ANDROID: GKI: Bulk update ABI XML representation
  * ANDROID: GKI: arm64: psci: Support for OS initiated scheme
      drivers/firmware/psci.c
  * ANDROID: GKI: net: add counter for number of frames coalesced in GRO
      include/linux/netdevice.h
  * ANDROID: GKI: cfg80211: Include length of kek in rekey data
      include/net/cfg80211.h
      net/wireless/nl80211.c
  * BACKPORT: loop: change queue block size to match when using DIO
      drivers/block/loop.c
  * ANDROID: Incremental fs: Add setattr call
      fs/incfs/vfs.c
    ANDROID: GKI: enable CONFIG_RTC_SYSTOHC
  * ANDROID: GKI: ipv4: add vendor padding to __IPV4_DEVCONF_* enums
      include/uapi/linux/ip.h
  * Revert "ANDROID: GKI: ipv4: increase __IPV4_DEVCONF_MAX to 64"
      include/uapi/linux/ip.h
  * ANDROID: driver: gpu: drm: fix export symbol types
      drivers/gpu/drm/drm_panel.c
  * ANDROID: SoC: core: fix export symbol type
      sound/soc/soc-core.c
  * ANDROID: ufshcd-crypto: fix export symbol type
      drivers/scsi/ufs/ufshcd-crypto.c
  * ANDROID: GKI: drivers: mailbox: fix race resulting in multiple message submission
      drivers/mailbox/mailbox.c
    ANDROID: GKI: arm64: gki_defconfig: Enable a few thermal configs
  * Revert "ANDROID: GKI: add base.h include to match MODULE_VERSIONS"
      drivers/thermal/thermal_core.c
  * FROMLIST: thermal: Make cooling device trip point writable from sysfs
      drivers/thermal/thermal_core.c
      drivers/thermal/thermal_core.h
      drivers/thermal/thermal_sysfs.c
  * ANDROID: GKI: drivers: thermal: cpu_cooling: Use CPU ID as cooling device ID
      drivers/thermal/cpu_cooling.c
  * ANDROID: GKI: PM / devfreq: Allow min freq to be 0
      drivers/devfreq/devfreq.c
    ANDROID: GKI: arm64: gki_defconfig: Enable REGULATOR_PROXY_CONSUMER
    ANDROID: GKI: Bulk Update ABI XML representation
    ANDROID: KASAN support for GKI remove CONFIG_CC_WERROR
    ANDROID: KASAN support for GKI
    ANDROID: virt_wifi: fix export symbol types
  * ANDROID: vfs: fix export symbol type
      fs/attr.c
  * ANDROID: vfs: fix export symbol types
      fs/namei.c
  * ANDROID: fscrypt: fix export symbol type
      fs/crypto/fname.c
  * ANDROID: cfi: fix export symbol types
      kernel/cfi.c
  * ANDROID: bpf: fix export symbol type
      kernel/bpf/core.c
    Merge 4.19.119 into android-4.19
Linux 4.19.119
    s390/mm: fix page table upgrade vs 2ndary address mode accesses
    xfs: Fix deadlock between AGI and AGF with RENAME_WHITEOUT
    serial: sh-sci: Make sure status register SCxSR is read in correct sequence
  * xhci: prevent bus suspend if a roothub port detected a over-current condition
      drivers/usb/host/xhci-hub.c
  * usb: f_fs: Clear OS Extended descriptor counts to zero in ffs_data_reset()
      drivers/usb/gadget/function/f_fs.c
  * usb: dwc3: gadget: Fix request completion check
      drivers/usb/dwc3/gadget.c
    UAS: fix deadlock in error handling and PM flushing work
    UAS: no use logging any details in case of ENODEV
    cdc-acm: introduce a cool down
    cdc-acm: close race betrween suspend() and acm_softint
    staging: vt6656: Power save stop wake_up_count wrap around.
    staging: vt6656: Fix pairwise key entry save.
    staging: vt6656: Fix drivers TBTT timing counter.
    staging: vt6656: Fix calling conditions of vnt_set_bss_mode
    staging: vt6656: Don't set RCR_MULTICAST or RCR_BROADCAST by default.
    vt: don't use kmalloc() for the unicode screen buffer
    vt: don't hardcode the mem allocation upper bound
    staging: comedi: Fix comedi_device refcnt leak in comedi_open
    staging: comedi: dt2815: fix writing hi byte of analog output
    powerpc/setup_64: Set cache-line-size based on cache-block-size
    ARM: imx: provide v7_cpu_resume() only on ARM_CPU_SUSPEND=y
    iwlwifi: mvm: beacon statistics shouldn't go backwards
    iwlwifi: pcie: actually release queue memory in TVQM
  * ASoC: dapm: fixup dapm kcontrol widget
      sound/soc/soc-dapm.c
  * audit: check the length of userspace generated audit records
      kernel/audit.c
  * usb-storage: Add unusual_devs entry for JMicron JMS566
      drivers/usb/storage/unusual_devs.h
    tty: rocket, avoid OOB access
    tty: hvc: fix buffer overflow during hvc_alloc().
    KVM: VMX: Enable machine check support for 32bit targets
  * KVM: Check validity of resolved slot when searching memslots
      include/linux/kvm_host.h
    KVM: s390: Return last valid slot if approx index is out-of-bounds
    tpm: ibmvtpm: retry on H_CLOSED in tpm_ibmvtpm_send()
    tpm/tpm_tis: Free IRQ if probing fails
  * ALSA: usb-audio: Filter out unsupported sample rates on Focusrite devices
      sound/usb/format.c
  * ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif
      sound/usb/mixer_quirks.c
    ALSA: hda/realtek - Add new codec supported for ALC245
    ALSA: hda/realtek - Fix unexpected init_amp override
    ALSA: usx2y: Fix potential NULL dereference
    tools/vm: fix cross-compile build
    mm/ksm: fix NULL pointer dereference when KSM zero page is enabled
    mm/hugetlb: fix a addressing exception caused by huge_pte_offset
  * vmalloc: fix remap_vmalloc_range() bounds checks
      include/linux/vmalloc.h
      mm/vmalloc.c
  * USB: hub: Fix handling of connect changes during sleep
      drivers/usb/core/hub.c
  * USB: core: Fix free-while-in-use bug in the USB S-Glibrary
      drivers/usb/core/message.c
    USB: early: Handle AMD's spec-compliant identifiers, too
  * USB: Add USB_QUIRK_DELAY_CTRL_MSG and USB_QUIRK_DELAY_INIT for Corsair K70 RGB RAPIDFIRE
      drivers/usb/core/quirks.c
    USB: sisusbvga: Change port variable from signed to unsigned
  * fs/namespace.c: fix mountpoint reference counter race
      fs/namespace.c
    iio: xilinx-xadc: Make sure not exceed maximum samplerate
    iio: xilinx-xadc: Fix sequencer configuration for aux channels in simultaneous mode
    iio: xilinx-xadc: Fix clearing interrupt when enabling trigger
    iio: xilinx-xadc: Fix ADC-B powerdown
    iio: adc: stm32-adc: fix sleep in atomic context
    iio: st_sensors: rely on odr mask to know if odr can be set
  * iio: core: remove extra semi-colon from devm_iio_device_register() macro
      include/linux/iio/iio.h
  * ALSA: usb-audio: Add connector notifier delegation
      sound/usb/mixer.c
      sound/usb/mixer.h
      sound/usb/mixer_maps.c
  * ALSA: usb-audio: Add static mapping table for ALC1220-VB-based mobos
      sound/usb/mixer.c
      sound/usb/mixer_maps.c
      sound/usb/quirks-table.h
    ALSA: hda: Remove ASUS ROG Zenith from the blacklist
  * KEYS: Avoid false positive ENOMEM error on key read
      security/keys/internal.h
      security/keys/keyctl.c
    mlxsw: Fix some IS_ERR() vs NULL bugs
    vrf: Check skb for XFRM_TRANSFORMED flag
  * xfrm: Always set XFRM_TRANSFORMED in xfrm{4,6}_output_finish
      net/ipv4/xfrm4_output.c
      net/ipv6/xfrm6_output.c
    net: dsa: b53: b53_arl_rw_op() needs to select IVL or SVL
    net: dsa: b53: Rework ARL bin logic
    net: dsa: b53: Fix ARL register definitions
    net: dsa: b53: Lookup VID in ARL searches when VLAN is enabled
    vrf: Fix IPv6 with qdisc and xfrm
    team: fix hang in team_mode_get()
  * tcp: cache line align MAX_TCP_HEADER
      include/net/tcp.h
    sched: etf: do not assume all sockets are full blown
    net/x25: Fix x25_neigh refcnt leak when receiving frame
    net: stmmac: dwmac-meson8b: Add missing boundary to RGMII TX clock array
    net: netrom: Fix potential nr_neigh refcnt leak in nr_add_node
    net: bcmgenet: correct per TX/RX ring statistics
    macvlan: fix null dereference in macvlan_device_event()
    macsec: avoid to set wrong mtu
  * ipv6: fix restrict IPV6_ADDRFORM operation
      net/ipv6/ipv6_sockglue.c
    cxgb4: fix large delays in PTP synchronization
    cxgb4: fix adapter crash due to wrong MC size
    x86/KVM: Clean up host's steal time structure
    x86/KVM: Make sure KVM_VCPU_FLUSH_TLB flag is not missed
  * x86/kvm: Cache gfn to pfn translation
      include/linux/kvm_host.h
      include/linux/kvm_types.h
  * x86/kvm: Introduce kvm_(un)map_gfn()
      include/linux/kvm_host.h
    KVM: Properly check if "page" is valid in kvm_vcpu_unmap
    kvm: fix compile on s390 part 2
    kvm: fix compilation on s390
    kvm: fix compilation on aarch64
  * KVM: Introduce a new guest mapping API
      include/linux/kvm_host.h
    KVM: nVMX: Always sync GUEST_BNDCFGS when it comes from vmcs01
    KVM: VMX: Zero out *all* general purpose registers after VM-Exit
  * f2fs: fix to avoid memory leakage in f2fs_listxattr
      fs/f2fs/xattr.c
  * blktrace: fix dereference after null check
      kernel/trace/blktrace.c
  * blktrace: Protect q->blk_trace with RCU
      include/linux/blkdev.h
      include/linux/blktrace_api.h
      kernel/trace/blktrace.c
  * net: ipv6_stub: use ip6_dst_lookup_flow instead of ip6_dst_lookup
      include/net/addrconf.h
      net/ipv6/addrconf_core.c
      net/ipv6/af_inet6.c
      net/tipc/udp_media.c
  * net: ipv6: add net argument to ip6_dst_lookup_flow
      include/net/ipv6.h
      net/ipv6/af_inet6.c
      net/ipv6/datagram.c
      net/ipv6/inet6_connection_sock.c
      net/ipv6/ip6_output.c
      net/ipv6/raw.c
      net/ipv6/syncookies.c
      net/ipv6/tcp_ipv6.c
      net/l2tp/l2tp_ip6.c
      net/sctp/ipv6.c
    PCI/ASPM: Allow re-enabling Clock PM
    scsi: smartpqi: fix call trace in device discovery
    virtio-blk: improve virtqueue error to BLK_STS
    tracing/selftests: Turn off timeout setting
    drm/amd/display: Not doing optimize bandwidth if flip pending.
  * xhci: Ensure link state is U3 after setting USB_SS_PORT_LS_U3
      drivers/usb/host/xhci-hub.c
    ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN MPWIN895CL tablet
  * perf/core: Disable page faults when getting phys address
      kernel/events/core.c
    pwm: bcm2835: Dynamically allocate base
    pwm: renesas-tpu: Fix late Runtime PM enablement
    Revert "powerpc/64: irq_work avoid interrupt when called with hardware irqs enabled"
  * loop: Better discard support for block devices
      drivers/block/loop.c
    s390/cio: avoid duplicated 'ADD' uevents
    kconfig: qconf: Fix a few alignment issues
    ipc/util.c: sysvipc_find_ipc() should increase position index
    selftests: kmod: fix handling test numbers above 9
    kernel/gcov/fs.c: gcov_seq_next() should increase position index
    nvme: fix deadlock caused by ANA update wrong locking
    ASoC: Intel: atom: Take the drv->lock mutex before calling sst_send_slot_map()
    scsi: iscsi: Report unbind session event when the target has been removed
    pwm: rcar: Fix late Runtime PM enablement
    ceph: don't skip updating wanted caps when cap is stale
    ceph: return ceph_mdsc_do_request() errors from __get_parent()
    scsi: lpfc: Fix crash in target side cable pulls hitting WAIT_FOR_UNREG
    scsi: lpfc: Fix kasan slab-out-of-bounds error in lpfc_unreg_login
  * watchdog: reset last_hw_keepalive time at start
      drivers/watchdog/watchdog_dev.c
  * arm64: Silence clang warning on mismatched value/register sizes
      arch/arm64/kernel/sys_compat.c
  * arm64: compat: Workaround Neoverse-N1 #1542419 for compat user-space
      arch/arm64/kernel/sys_compat.c
  * arm64: Fake the IminLine size on systems affected by Neoverse-N1 #1542419
      arch/arm64/include/asm/cache.h
      arch/arm64/kernel/traps.c
  * arm64: errata: Hide CTR_EL0.DIC on systems affected by Neoverse-N1 #1542419
      arch/arm64/Kconfig
      arch/arm64/include/asm/cpucaps.h
      arch/arm64/kernel/cpu_errata.c
      arch/arm64/kernel/traps.c
  * arm64: Add part number for Neoverse N1
      arch/arm64/include/asm/cputype.h
  * vti4: removed duplicate log message.
      net/ipv4/ip_vti.c
    crypto: mxs-dcp - make symbols 'sha1_null_hash' and 'sha256_null_hash' static
    bpftool: Fix printing incorrect pointer in btf_dump_ptr
    drm/msm: Use the correct dma_sync calls harder
  * ext4: fix extent_status fragmentation for plain files
      fs/ext4/extents.c
    ANDROID: abi_gki_aarch64_cuttlefish_whitelist: remove stale symbols
  * ANDROID: GKI: ipv4: increase __IPV4_DEVCONF_MAX to 64
      include/uapi/linux/ip.h
  * ANDROID: GKI: power: add missing export for POWER_RESET_QCOM=m
      arch/arm64/kernel/process.c
      arch/arm64/mm/init.c
  * BACKPORT: cfg80211: Support key configuration for Beacon protection (BIGTK)
      include/net/cfg80211.h
      include/uapi/linux/nl80211.h
      net/wireless/nl80211.c
      net/wireless/rdev-ops.h
      net/wireless/sme.c
      net/wireless/trace.h
      net/wireless/util.c
  * BACKPORT: cfg80211: Enhance the AKM advertizement to support per interface.
      include/net/cfg80211.h
      include/uapi/linux/nl80211.h
      net/wireless/nl80211.c
  * UPSTREAM: sysrq: Use panic() to force a crash
      drivers/tty/sysrq.c
  * ANDROID: GKI: kernel: sound: update codec options with block size
      include/uapi/sound/compress_params.h
    ANDROID: add compat cross compiler
    ANDROID: x86/vdso: disable LTO only for VDSO
  * BACKPORT: arm64: vdso32: Enable Clang Compilation
      arch/arm64/kernel/vdso32/Makefile
  * UPSTREAM: arm64: compat: vdso: Expose BUILD_VDSO32
      arch/arm64/include/asm/vdso/compat_gettimeofday.h
  * BACKPORT: lib/vdso: Enable common headers
      include/vdso/datapage.h
      lib/vdso/gettimeofday.c
    BACKPORT: arm: vdso: Enable arm to use common headers
    BACKPORT: x86/vdso: Enable x86 to use common headers
    BACKPORT: mips: vdso: Enable mips to use common headers
  * UPSTREAM: arm64: vdso32: Include common headers in the vdso library
      arch/arm64/include/asm/vdso/compat_gettimeofday.h
      arch/arm64/kernel/vdso32/vgettimeofday.c
  * UPSTREAM: arm64: vdso: Include common headers in the vdso library
      arch/arm64/include/asm/vdso/gettimeofday.h
      arch/arm64/kernel/vdso/vgettimeofday.c
  * UPSTREAM: arm64: Introduce asm/vdso/processor.h
      arch/arm64/include/asm/processor.h
      arch/arm64/include/asm/vdso/processor.h
  * BACKPORT: arm64: vdso32: Code clean up
      arch/arm64/include/asm/vdso/compat_gettimeofday.h
      arch/arm64/kernel/vdso32/vgettimeofday.c
  * UPSTREAM: linux/elfnote.h: Replace elf.h with UAPI equivalent
      include/linux/elfnote.h
  * UPSTREAM: scripts: Fix the inclusion order in modpost
      scripts/mod/modpost.c
  * UPSTREAM: common: Introduce processor.h
      include/vdso/processor.h
  * UPSTREAM: linux/ktime.h: Extract common header for vDSO
      include/linux/ktime.h
      include/vdso/ktime.h
  * UPSTREAM: linux/jiffies.h: Extract common header for vDSO
      include/linux/jiffies.h
      include/vdso/jiffies.h
  * UPSTREAM: linux/time64.h: Extract common header for vDSO
      include/linux/time64.h
      include/vdso/time64.h
  * BACKPORT: linux/time32.h: Extract common header for vDSO
      include/linux/time32.h
      include/vdso/time32.h
  * BACKPORT: linux/time.h: Extract common header for vDSO
      include/linux/time.h
      include/vdso/time.h
  * UPSTREAM: linux/math64.h: Extract common header for vDSO
      include/linux/math64.h
      include/vdso/math64.h
  * BACKPORT: linux/clocksource.h: Extract common header for vDSO
      include/linux/clocksource.h
      include/vdso/clocksource.h
    BACKPORT: mips: Introduce asm/vdso/clocksource.h
  * BACKPORT: arm64: Introduce asm/vdso/clocksource.h
      arch/arm64/include/asm/clocksource.h
      arch/arm64/include/asm/vdso/clocksource.h
    BACKPORT: arm: Introduce asm/vdso/clocksource.h
    BACKPORT: x86: Introduce asm/vdso/clocksource.h
  * UPSTREAM: linux/limits.h: Extract common header for vDSO
      include/linux/limits.h
      include/vdso/limits.h
  * BACKPORT: linux/kernel.h: split *_MAX and *_MIN macros into <linux/limits.h>
      include/linux/kernel.h
      include/linux/limits.h
      include/uapi/linux/limits.h
  * BACKPORT: linux/bits.h: Extract common header for vDSO
      include/linux/bits.h
      include/vdso/bits.h
  * UPSTREAM: linux/const.h: Extract common header for vDSO
      include/linux/const.h
      include/vdso/const.h
  * BACKPORT: arm64: vdso: fix flip/flop vdso build bug
      arch/arm64/kernel/vdso/Makefile
      arch/arm64/kernel/vdso32/Makefile
  * UPSTREAM: lib/vdso: Allow the high resolution parts to be compiled out
      lib/vdso/gettimeofday.c
  * UPSTREAM: lib/vdso: Only read hrtimer_res when needed in __cvdso_clock_getres()
      lib/vdso/gettimeofday.c
  * UPSTREAM: lib/vdso: Mark do_hres() and do_coarse() as __always_inline
      lib/vdso/gettimeofday.c
  * UPSTREAM: lib/vdso: Avoid duplication in __cvdso_clock_getres()
      lib/vdso/gettimeofday.c
  * UPSTREAM: lib/vdso: Let do_coarse() return 0 to simplify the callsite
      lib/vdso/gettimeofday.c
  * UPSTREAM: lib/vdso: Remove checks on return value for 32 bit vDSO
      lib/vdso/gettimeofday.c
  * UPSTREAM: lib/vdso: Build 32 bit specific functions in the right context
      lib/vdso/gettimeofday.c
  * UPSTREAM: lib/vdso: Make __cvdso_clock_getres() static
      lib/vdso/gettimeofday.c
  * UPSTREAM: lib/vdso: Make clock_getres() POSIX compliant again
      lib/vdso/gettimeofday.c
  * UPSTREAM: lib/vdso/32: Provide legacy syscall fallbacks
      lib/vdso/gettimeofday.c
  * UPSTREAM: lib/vdso: Move fallback invocation to the callers
      lib/vdso/gettimeofday.c
  * UPSTREAM: lib/vdso/32: Remove inconsistent NULL pointer checks
      lib/vdso/gettimeofday.c
  * UPSTREAM: lib/vdso: Make delta calculation work correctly
      lib/vdso/gettimeofday.c
  * UPSTREAM: arm64: compat: Fix syscall number of compat_clock_getres
      arch/arm64/include/asm/unistd.h
  * BACKPORT: arm64: lse: Fix LSE atomics with LLVM
      arch/arm64/include/asm/lse.h
    UPSTREAM: mips: Fix gettimeofday() in the vdso library
    UPSTREAM: mips: vdso: Fix __arch_get_hw_counter()
  * BACKPORT: arm64: Kconfig: Make CONFIG_COMPAT_VDSO a proper Kconfig option
      arch/arm64/Kconfig
      arch/arm64/Makefile
  * UPSTREAM: arm64: vdso32: Rename COMPATCC to CC_COMPAT
      arch/arm64/kernel/vdso32/Makefile
  * UPSTREAM: arm64: vdso32: Pass '--target' option to clang via VDSO_CAFLAGS
      arch/arm64/kernel/vdso32/Makefile
  * UPSTREAM: arm64: vdso32: Don't use KBUILD_CPPFLAGS unconditionally
      arch/arm64/kernel/vdso32/Makefile
  * UPSTREAM: arm64: vdso32: Move definition of COMPATCC into vdso32/Makefile
      arch/arm64/Makefile
      arch/arm64/kernel/vdso32/Makefile
  * UPSTREAM: arm64: Default to building compat vDSO with clang when CONFIG_CC_IS_CLANG
      arch/arm64/Makefile
  * UPSTREAM: lib: vdso: Remove CROSS_COMPILE_COMPAT_VDSO
      lib/vdso/Kconfig
  * UPSTREAM: arm64: vdso32: Remove jump label config option in Makefile
      arch/arm64/kernel/vdso32/Makefile
  * UPSTREAM: arm64: vdso32: Detect binutils support for dmb ishld
      arch/arm64/include/asm/vdso/compat_barrier.h
      arch/arm64/kernel/vdso32/Makefile
    BACKPORT: arm64: vdso: Remove stale files from old assembly implementation
  * UPSTREAM: arm64: vdso32: Fix broken compat vDSO build warnings
      arch/arm64/Kconfig
      arch/arm64/Makefile
      arch/arm64/kernel/vdso32/Makefile
    UPSTREAM: mips: compat: vdso: Use legacy syscalls as fallback
    BACKPORT: arm64: Relax Documentation/arm64/tagged-pointers.rst
    BACKPORT: arm64: Add tagged-address-abi.rst to index.rst
  * UPSTREAM: arm64: vdso: Fix Makefile regression
      arch/arm64/Makefile
    UPSTREAM: mips: vdso: Fix flip/flop vdso building bug
    UPSTREAM: mips: vdso: Fix source path
    UPSTREAM: mips: Add clock_gettime64 entry point
    UPSTREAM: mips: Add clock_getres entry point
    BACKPORT: mips: Add support for generic vDSO
  * BACKPORT: arm64: vdso: Explicitly add build-id option
      arch/arm64/kernel/vdso/Makefile
  * BACKPORT: arm64: vdso: use $(LD) instead of $(CC) to link VDSO
      arch/arm64/kernel/vdso/Makefile
  * BACKPORT: arm64: vdso: Cleanup Makefiles
      arch/arm64/kernel/vdso/Makefile
      arch/arm64/kernel/vdso32/Makefile
  * UPSTREAM: arm64: vdso: Fix population of AT_SYSINFO_EHDR for compat vdso
      arch/arm64/include/asm/elf.h
  * UPSTREAM: arm64: vdso: Fix compilation with clang older than 8
      arch/arm64/kernel/vdso/Makefile
  * UPSTREAM: arm64: compat: Fix __arch_get_hw_counter() implementation
      arch/arm64/include/asm/vdso/compat_gettimeofday.h
  * UPSTREAM: arm64: Fix __arch_get_hw_counter() implementation
      arch/arm64/include/asm/vdso/gettimeofday.h
    UPSTREAM: x86/vdso/32: Use 32bit syscall fallback
    UPSTREAM: x86/vdso: Fix flip/flop vdso build bug
    UPSTREAM: x86/vdso: Give the [ph]vclock_page declarations real types
    UPSTREAM: x86/vdso: Add clock_gettime64() entry point
    BACKPORT: x86/vdso: Add clock_getres() entry point
    BACKPORT: x86/vdso: Switch to generic vDSO implementation
    UPSTREAM: x86/segments: Introduce the 'CPUNODE' naming to better document the segment limit CPU/node NR trick
    UPSTREAM: x86/vdso: Initialize the CPU/node NR segment descriptor earlier
    UPSTREAM: x86/vdso: Introduce helper functions for CPU and node number
    UPSTREAM: x86/segments/64: Rename the GDT PER_CPU entry to CPU_NUMBER
  * BACKPORT: arm64: vdso: Enable vDSO compat support
      arch/arm64/Kconfig
      arch/arm64/Makefile
      arch/arm64/kernel/Makefile
  * UPSTREAM: arm64: compat: Get sigreturn trampolines from vDSO
      arch/arm64/include/asm/vdso.h
      arch/arm64/kernel/signal32.c
  * UPSTREAM: arm64: elf: VDSO code page discovery
      arch/arm64/include/asm/elf.h
  * UPSTREAM: arm64: compat: VDSO setup for compat layer
      arch/arm64/kernel/vdso.c
  * UPSTREAM: arm64: vdso: Refactor vDSO code
      arch/arm64/kernel/vdso.c
  * BACKPORT: arm64: compat: Add vDSO
      arch/arm64/include/asm/vdso/compat_barrier.h
      arch/arm64/include/asm/vdso/compat_gettimeofday.h
      arch/arm64/kernel/vdso32/Makefile
      arch/arm64/kernel/vdso32/note.c
      arch/arm64/kernel/vdso32/sigreturn.S
      arch/arm64/kernel/vdso32/vdso.S
      arch/arm64/kernel/vdso32/vdso.lds.S
      arch/arm64/kernel/vdso32/vgettimeofday.c
  * UPSTREAM: arm64: compat: Generate asm offsets for signals
      arch/arm64/kernel/asm-offsets.c
  * UPSTREAM: arm64: compat: Expose signal related structures
      arch/arm64/include/asm/signal32.h
      arch/arm64/kernel/signal32.c
  * UPSTREAM: arm64: compat: Add missing syscall numbers
      arch/arm64/include/asm/unistd.h
  * BACKPORT: arm64: vdso: Substitute gettimeofday() with C implementation
      arch/arm64/Kconfig
      arch/arm64/include/asm/vdso/gettimeofday.h
      arch/arm64/include/asm/vdso/vsyscall.h
      arch/arm64/kernel/asm-offsets.c
      arch/arm64/kernel/vdso.c
      arch/arm64/kernel/vdso/Makefile
      arch/arm64/kernel/vdso/vgettimeofday.c
  * UPSTREAM: timekeeping: Provide a generic update_vsyscall() implementation
      include/asm-generic/vdso/vsyscall.h
      include/vdso/vsyscall.h
      kernel/time/Makefile
      kernel/time/vsyscall.c
  * UPSTREAM: lib/vdso: Add compat support
      lib/vdso/gettimeofday.c
  * UPSTREAM: lib/vdso: Provide generic VDSO implementation
      include/vdso/helpers.h
      lib/Kconfig
      lib/vdso/Kconfig
      lib/vdso/Makefile
      lib/vdso/gettimeofday.c
  * UPSTREAM: vdso: Define standardized vdso_datapage
      include/vdso/datapage.h
  * UPSTREAM: hrtimer: Split out hrtimer defines into separate header
      include/linux/hrtimer.h
      include/linux/hrtimer_defs.h
    UPSTREAM: nds32: Fix vDSO clock_getres()
  * UPSTREAM: arm64: compat: Reduce address limit for 64K pages
      arch/arm64/include/asm/processor.h
  * BACKPORT: arm64: compat: Add KUSER_HELPERS config option
      arch/arm64/Kconfig
      arch/arm64/kernel/Makefile
      arch/arm64/kernel/kuser32.S
      arch/arm64/kernel/vdso.c
  * UPSTREAM: arm64: compat: Refactor aarch32_alloc_vdso_pages()
      arch/arm64/kernel/vdso.c
  * BACKPORT: arm64: compat: Split kuser32
      arch/arm64/kernel/Makefile
      arch/arm64/kernel/kuser32.S
  * UPSTREAM: arm64: compat: Alloc separate pages for vectors and sigpage
      arch/arm64/include/asm/elf.h
      arch/arm64/include/asm/signal32.h
      arch/arm64/kernel/signal32.c
      arch/arm64/kernel/vdso.c
    ANDROID: GKI: Update ABI XML representation
  * ANDROID: GKI: Enable GENERIC_IRQ_CHIP
      init/Kconfig.gki
  * ANDROID: GKI: power_supply: Add FG_TYPE power-supply property
      drivers/power/supply/power_supply_sysfs.c
      include/linux/power_supply.h
  * ANDROID: GKI: mm: export mm_trace_rss_stat for modules to report RSS changes
      mm/memory.c
    ANDROID: GKI: gki_defconfig: Enable CONFIG_LEDS_TRIGGER_TRANSIENT
    ANDROID: GKI: gki_defconfig: Enable CONFIG_CPU_FREQ_STAT
    ANDROID: GKI: arm64: gki_defconfig: Disable HW tracing features
    ANDROID: GKI: gki_defconfig: Enable CONFIG_I2C_CHARDEV
  * ANDROID: Incremental fs: Use simple compression in log buffer
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/vfs.c
  * ANDROID: GKI: usb: core: Add support to parse config summary capability descriptors
      drivers/usb/core/config.c
      drivers/usb/core/generic.c
      include/linux/usb.h
      include/uapi/linux/usb/ch9.h
    ANDROID: GKI: Update ABI XML representation
    ANDROID: dm-bow: Fix not to skip trim at framented range
  * ANDROID: Remove VLA from uid_sys_stats.c
      drivers/misc/uid_sys_stats.c
    f2fs: fix missing check for f2fs_unlock_op
  * ANDROID: fix wakeup reason findings
      kernel/power/wakeup_reason.c
  * UPSTREAM: cfg80211: fix and clean up cfg80211_gen_new_bssid()
      include/net/cfg80211.h
  * UPSTREAM: cfg80211: save multi-bssid properties
      include/net/cfg80211.h
      net/wireless/scan.c
  * UPSTREAM: cfg80211: make BSSID generation function inline
      include/net/cfg80211.h
      net/wireless/scan.c
  * UPSTREAM: cfg80211: parse multi-bssid only if HW supports it
      include/net/cfg80211.h
      net/wireless/scan.c
  * UPSTREAM: cfg80211: Move Multiple BSS info to struct cfg80211_bss to be visible
      include/net/cfg80211.h
      net/wireless/core.h
      net/wireless/scan.c
  * UPSTREAM: cfg80211: Properly track transmitting and non-transmitting BSS
      net/wireless/core.h
      net/wireless/scan.c
  * UPSTREAM: cfg80211: use for_each_element() for multi-bssid parsing
      net/wireless/scan.c
  * UPSTREAM: cfg80211: Parsing of Multiple BSSID information in scanning
      net/wireless/core.h
      net/wireless/scan.c
  * UPSTREAM: cfg80211/nl80211: Offload OWE processing to user space in AP mode
      include/net/cfg80211.h
      include/uapi/linux/nl80211.h
      net/wireless/nl80211.c
      net/wireless/rdev-ops.h
      net/wireless/trace.h
  * ANDROID: GKI: cfg80211: Sync nl80211 commands/feature with upstream
      include/uapi/linux/nl80211.h
    ANDROID: GKI: gki_defconfig: Enable FW_LOADER_USER_HELPER*
    ANDROID: GKI: arm64: gki_defconfig: Disable CONFIG_ARM64_TAGGED_ADDR_ABI
    ANDROID: GKI: gki_defconfig: CONFIG_CHR_DEV_SG=y
    ANDROID: GKI: gki_defconfig: CONFIG_DM_DEFAULT_KEY=m
    ANDROID: update the ABI xml representation
  * ANDROID: init: GKI: enable hidden configs for GPU
      init/Kconfig.gki
    Merge 4.19.118 into android-4.19
Linux 4.19.118
  * bpf: fix buggy r0 retval refinement for tracing helpers
      kernel/bpf/verifier.c
  * KEYS: Don't write out to userspace while holding key semaphore
      include/keys/big_key-type.h
      include/keys/user-type.h
      include/linux/key-type.h
      net/dns_resolver/dns_key.c
      security/keys/keyctl.c
      security/keys/keyring.c
      security/keys/request_key_auth.c
      security/keys/user_defined.c
    mtd: phram: fix a double free issue in error path
    mtd: lpddr: Fix a double free in probe()
    mtd: spinand: Explicitly use MTD_OPS_RAW to write the bad block marker to OOB
    locktorture: Print ratio of acquisitions, not failures
    tty: evh_bytechan: Fix out of bounds accesses
    iio: si1133: read 24-bit signed integer for measurement
    fbdev: potential information leak in do_fb_ioctl()
    net: dsa: bcm_sf2: Fix overflow checks
  * f2fs: fix to wait all node page writeback
      fs/f2fs/node.c
    iommu/amd: Fix the configuration of GCR3 table root pointer
    libnvdimm: Out of bounds read in __nd_ioctl()
    power: supply: axp288_fuel_gauge: Broaden vendor check for Intel Compute Sticks.
    ext2: fix debug reference to ext2_xattr_cache
    ext2: fix empty body warnings when -Wextra is used
    iommu/vt-d: Fix mm reference leak
    drm/vc4: Fix HDMI mode validation
  * f2fs: fix NULL pointer dereference in f2fs_write_begin()
      fs/f2fs/super.c
    NFS: Fix memory leaks in nfs_pageio_stop_mirroring()
    drm/amdkfd: kfree the wrong pointer
  * x86: ACPI: fix CPU hotplug deadlock
      include/acpi/processor.h
    KVM: s390: vsie: Fix possible race when shadowing region 3 tables
  * compiler.h: fix error in BUILD_BUG_ON() reporting
      include/linux/compiler.h
  * percpu_counter: fix a data race at vm_committed_as
      include/linux/percpu_counter.h
  * include/linux/swapops.h: correct guards for non_swap_entry()
      include/linux/swapops.h
    cifs: Allocate encryption header through kmalloc
    um: ubd: Prevent buffer overrun on command completion
  * ext4: do not commit super on read-only bdev
      fs/ext4/super.c
    s390/cpum_sf: Fix wrong page count in error message
    powerpc/maple: Fix declaration made after definition
    s390/cpuinfo: fix wrong output when CPU0 is offline
    NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails
    NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid()
    rtc: 88pm860x: fix possible race condition
    soc: imx: gpc: fix power up sequencing
    clk: tegra: Fix Tegra PMC clock out parents
    power: supply: bq27xxx_battery: Silence deferred-probe error
    clk: at91: usb: continue if clk_hw_round_rate() return zero
    x86/Hyper-V: Report crash data in die() when panic_on_oops is set
    x86/Hyper-V: Report crash register data when sysctl_record_panic_msg is not set
    x86/Hyper-V: Trigger crash enlightenment only once during system crash.
    x86/Hyper-V: Free hv_panic_page when fail to register kmsg dump
    x86/Hyper-V: Unload vmbus channel in hv panic callback
    xsk: Add missing check on user supplied headroom size
    rbd: call rbd_dev_unprobe() after unwatching and flushing notifies
    rbd: avoid a deadlock on header_rwsem when flushing notifies
    video: fbdev: sis: Remove unnecessary parentheses and commented code
    lib/raid6: use vdupq_n_u8 to avoid endianness warnings
    x86/Hyper-V: Report crash register data or kmsg before running crash kernel
    of: overlay: kmemleak in dup_and_fixup_symbol_prop()
    of: unittest: kmemleak in of_unittest_overlay_high_level()
    of: unittest: kmemleak in of_unittest_platform_populate()
    of: unittest: kmemleak on changeset destroy
    ALSA: hda: Don't release card at firmware loading error
    irqchip/mbigen: Free msi_desc on device teardown
    netfilter: nf_tables: report EOPNOTSUPP on unsupported flags/object type
    ARM: dts: imx6: Use gpc for FEC interrupt controller to fix wake on LAN.
    arm, bpf: Fix bugs with ALU64 {RSH, ARSH} BPF_K shift by 0
    watchdog: sp805: fix restart handler
  * ext4: use non-movable memory for superblock readahead
      fs/buffer.c
      fs/ext4/inode.c
      fs/ext4/super.c
      include/linux/buffer_head.h
  * scsi: sg: add sg_remove_request in sg_common_write
      drivers/scsi/sg.c
    objtool: Fix switch table detection in .text.unlikely
    arm, bpf: Fix offset overflow for BPF_MEM BPF_DW
    ANDROID: GKI: Bulk update ABI report.
  * ANDROID: GKI: qos: Register irq notify after adding the qos request
      kernel/power/qos.c
  * ANDROID: GKI: Add dual role mode to usb_dr_modes array
      drivers/usb/common/common.c
  * UPSTREAM: virtio-gpu api: comment feature flags
      include/uapi/linux/virtio_gpu.h
  * ANDROID: arch:arm64: Increase kernel command line size
      arch/arm64/include/uapi/asm/setup.h
  * ANDROID: GKI: Add special linux_banner_ptr for modules
      include/linux/printk.h
      init/version.c
  * Revert "ANDROID: GKI: Make linux_banner a C pointer"
      include/linux/printk.h
      init/version.c
  * ANDROID: GKI: PM / devfreq: Add new flag to do simple clock scaling
      drivers/devfreq/governor_simpleondemand.c
      include/linux/devfreq.h
  * ANDROID: GKI: Resolve ABI diff for struct snd_usb_audio
      sound/usb/card.c
      sound/usb/stream.c
      sound/usb/usbaudio.h
    ANDROID: GKI: Bulk update ABI
    ANDROID: GKI: Update the whitelist for qcom SoCs
    ANDROID: GKI: arm64: gki_defconfig: Set CONFIG_SCSI_UFSHCD=m
  * ANDROID: GKI: scsi: add option to override the command timeout
      drivers/scsi/scsi_lib.c
      drivers/scsi/sd.c
      drivers/scsi/sg.c
      include/scsi/scsi_device.h
  * ANDROID: GKI: scsi: Adjust DBD setting in mode sense for caching mode page per LLD
      drivers/scsi/sd.c
      include/scsi/scsi_host.h
  * ANDROID: add ion_stat tracepoint to common kernel
      drivers/staging/android/ion/Makefile
      drivers/staging/android/ion/ion.c
      lib/vsprintf.c
  * UPSTREAM: gpu/trace: add a gpu total memory usage tracepoint
      drivers/Kconfig
      drivers/gpu/Makefile
      drivers/gpu/trace/Kconfig
      drivers/gpu/trace/Makefile
      drivers/gpu/trace/trace_gpu_mem.c
      include/trace/events/gpu_mem.h
    Merge 4.19.117 into android-4.19
Linux 4.19.117
  * mm/vmalloc.c: move 'area->pages' after if statement
      mm/vmalloc.c
    wil6210: remove reset file from debugfs
    wil6210: make sure Rx ring sizes are correlated
    wil6210: add general initialization/size checks
    wil6210: ignore HALP ICR if already handled
    wil6210: check rx_buff_mgmt before accessing it
    x86/resctrl: Fix invalid attempt at removing the default resource group
    x86/resctrl: Preserve CDP enable over CPU hotplug
    x86/microcode/AMD: Increase microcode PATCH_MAX_SIZE
  * scsi: target: fix hang when multiple threads try to destroy the same iscsi session
      include/target/iscsi/iscsi_target_core.h
    scsi: target: remove boilerplate code
    kvm: x86: Host feature SSBD doesn't imply guest feature SPEC_CTRL_SSBD
  * ext4: do not zeroout extents beyond i_disksize
      fs/ext4/extents.c
    drm/amd/powerplay: force the trim of the mclk dpm_levels if OD is enabled
  * usb: dwc3: gadget: Don't clear flags before transfer ended
      drivers/usb/dwc3/gadget.c
  * usb: dwc3: gadget: don't enable interrupt when disabling endpoint
      drivers/usb/dwc3/gadget.c
    mac80211_hwsim: Use kstrndup() in place of kasprintf()
    btrfs: check commit root generation in should_ignore_root
  * tracing: Fix the race between registering 'snapshot' event trigger and triggering 'snapshot' operation
      kernel/trace/trace_events_trigger.c
  * keys: Fix proc_keys_next to increase position index
      security/keys/proc.c
  * ALSA: usb-audio: Check mapping at creating connector controls, too
      sound/usb/mixer.c
      sound/usb/mixer_maps.c
  * ALSA: usb-audio: Don't create jack controls for PCM terminals
      sound/usb/mixer.c
  * ALSA: usb-audio: Don't override ignore_ctl_error value from the map
      sound/usb/mixer.c
  * ALSA: usb-audio: Filter error from connector kctl ops, too
      sound/usb/mixer.c
    ASoC: Intel: mrfld: return error codes when an error occurs
    ASoC: Intel: mrfld: fix incorrect check on p->sink
  * ext4: fix incorrect inodes per group in error message
      fs/ext4/super.c
  * ext4: fix incorrect group count in ext4_fill_super error message
      fs/ext4/super.c
    pwm: pca9685: Fix PWM/GPIO inter-operation
  * jbd2: improve comments about freeing data buffers whose page mapping is NULL
      fs/jbd2/commit.c
  * scsi: ufs: Fix ufshcd_hold() caused scheduling while atomic
      drivers/scsi/ufs/ufshcd.c
  * ovl: fix value of i_ino for lower hardlink corner case
      fs/overlayfs/inode.c
    net: dsa: mt7530: fix tagged frames pass-through in VLAN-unaware mode
    net: stmmac: dwmac-sunxi: Provide TX and RX fifo sizes
  * net: revert default NAPI poll timeout to 2 jiffies
      net/core/dev.c
  * net: qrtr: send msgs from local of same id as broadcast
      net/qrtr/qrtr.c
  * net: ipv6: do not consider routes via gateways for anycast address check
      include/net/ip6_route.h
  * net: ipv4: devinet: Fix crash when add/del multicast IP with autojoin
      net/ipv4/devinet.c
    hsr: check protocol version in hsr_newlink()
    amd-xgbe: Use __napi_schedule() in BH context
  * ANDROID: GKI: drivers: of-thermal: Relate thermal zones using same sensor
      drivers/thermal/of-thermal.c
    ANDROID: GKI: Bulk ABI update
  * ANDROID: GKI: dma: Add set_dma_mask hook to struct dma_map_ops
      include/linux/dma-mapping.h
    Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-4.19.y' into android-4.19
    ANDROID: GKI: ABI update due to recent patches
    Merge 4.19.116 into android-4.19
  * FROMLIST: drm/prime: add support for virtio exported objects
      drivers/gpu/drm/drm_prime.c
      include/drm/drm_drv.h
  * FROMLIST: dma-buf: add support for virtio exported objects
      drivers/dma-buf/dma-buf.c
      include/linux/dma-buf.h
    UPSTREAM: drm/virtio: module_param_named() requires linux/moduleparam.h
    UPSTREAM: drm/virtio: fix resource id creation race
    UPSTREAM: drm/virtio: make resource id workaround runtime switchable.
    BACKPORT: drm/virtio: Drop deprecated load/unload initialization
  * ANDROID: GKI: Add DRM_TTM config to GKI
      init/Kconfig.gki
    ANDROID: Bulk update the ABI xml representation
  * ANDROID: GKI: spmi: pmic-arb: don't enable SPMI_MSM_PMIC_ARB by default
      drivers/spmi/Kconfig
  * ANDROID: GKI: attribute page lock and waitqueue functions as sched
      include/linux/pagemap.h
      include/linux/wait.h
      kernel/sched/wait.c
      mm/filemap.c
  * ANDROID: GKI: extcon: Fix Add usage of blocking notifier chain
      drivers/extcon/extcon.c
      include/linux/extcon.h
  * ANDROID: GKI: USB: pd: Extcon fix for C current
      include/linux/extcon.h
  * ANDROID: drm/dsi: Fix byte order of DCS set/get brightness
      drivers/gpu/drm/drm_mipi_dsi.c
      include/drm/drm_mipi_dsi.h
  * ANDROID: GKI: mm: Export symbols to modularize CONFIG_MSM_DRM
      mm/vmalloc.c
  * ANDROID: GKI: ALSA: compress: Add support to send codec specific data
      include/sound/compress_driver.h
      include/uapi/sound/compress_offload.h
      sound/core/compress_offload.c
      sound/soc/soc-compress.c
  * ANDROID: GKI: ALSA: Compress - dont use lock for all ioctls
      sound/core/compress_offload.c
  * ANDROID: GKI: ASoC: msm: qdsp6v2: add support for AMR_WB_PLUS offload
      include/uapi/sound/compress_params.h
  * ANDROID: GKI: msm: dolby: MAT and THD audiocodec name modification
      include/uapi/sound/compress_params.h
  * ANDROID: GKI: asoc: msm: Add support for compressed perf mode
      include/uapi/sound/compress_params.h
  * ANDROID: GKI: msm: audio: support for gapless_pcm
      include/uapi/sound/compress_params.h
  * ANDROID: GKI: uapi: msm: dolby: Support for TrueHD and MAT decoders
      include/uapi/sound/compress_params.h
  * ANDROID: GKI: ASoC: msm: qdsp6v2: Add TrueHD HDMI compress pass-though
      include/uapi/sound/compress_params.h
  * ANDROID: GKI: ALSA: compress: Add APTX format support in ALSA
      include/uapi/sound/compress_params.h
  * ANDROID: GKI: msm: qdsp6v2: Add timestamp support for compress capture
      include/uapi/sound/compress_params.h
  * ANDROID: GKI: SoC: msm: Add support for meta data in compressed TX
      include/uapi/sound/compress_params.h
  * ANDROID: GKI: ALSA: compress: Add DSD format support for ALSA
      include/uapi/sound/compress_params.h
  * ANDROID: GKI: ASoC: msm: qdsp6v2: add support for ALAC and APE offload
      include/uapi/sound/compress_params.h
  * ANDROID: GKI: SoC: msm: Add compressed TX and passthrough support
      include/uapi/sound/compress_offload.h
      include/uapi/sound/compress_params.h
  * ANDROID: GKI: ASoC: msm: qdsp6v2: Add FLAC in compress offload path
      include/uapi/sound/compress_params.h
  * ANDROID: GKI: ASoC: msm: add support for different compressed formats
      include/uapi/sound/compress_params.h
  * ANDROID: GKI: ASoC: msm: Update the encode option and sample rate
      include/uapi/sound/compress_params.h
    ANDROID: GKI: Enable CONFIG_SND_VERBOSE_PROCFS in gki_defconfig
  * ANDROID: GKI: Add hidden CONFIG_SND_SOC_COMPRESS to gki_defconfig
      init/Kconfig.gki
  * ANDROID: GKI: ALSA: pcm: add locks for accessing runtime resource
      include/sound/pcm.h
    ANDROID: GKI: Update ABI for DRM changes
  * ANDROID: GKI: Add drm_dp_send_dpcd_{read,write} accessor functions
      drivers/gpu/drm/drm_dp_mst_topology.c
      include/drm/drm_dp_mst_helper.h
  * ANDROID: GKI: drm: Add drm_dp_mst_get_max_sdp_streams_supported accessor function
      drivers/gpu/drm/drm_dp_mst_topology.c
      include/drm/drm_dp_mst_helper.h
  * ANDROID: GKI: drm: Add drm_dp_mst_has_fec accessor function
      drivers/gpu/drm/drm_dp_mst_topology.c
      include/drm/drm_dp_mst_helper.h
  * ANDROID: GKI: Add 'dsc_info' to struct drm_dp_mst_port
      drivers/gpu/drm/drm_dp_mst_topology.c
      include/drm/drm_dp_mst_helper.h
  * ANDROID: GKI: usb: Add support to handle USB SMMU S1 address
      drivers/usb/core/hcd.c
      drivers/usb/core/usb.c
      drivers/usb/host/xhci.c
      include/linux/usb.h
      include/linux/usb/hcd.h
  * ANDROID: GKI: usb: Add helper APIs to return xhci phys addresses
      drivers/usb/core/hcd.c
      drivers/usb/core/usb.c
      drivers/usb/host/xhci.c
      include/linux/usb.h
      include/linux/usb/hcd.h
  * ANDROID: Add C protos for dma_buf/drm_prime get_uuid
      include/drm/drm_prime.h
      include/linux/dma-buf.h
  * ANDROID: GKI: Make linux_banner a C pointer
      include/linux/printk.h
      init/version.c
  * ANDROID: GKI: Add 'refresh_rate', 'id' to struct drm_panel_notifier
      include/drm/drm_panel.h
  * ANDROID: GKI: Add 'i2c_mutex' to struct drm_dp_aux
      include/drm/drm_dp_helper.h
  * ANDROID: GKI: Add 'checksum' to struct drm_connector
      include/drm/drm_connector.h
  * Revert "BACKPORT: drm: Add HDR source metadata property"
      drivers/gpu/drm/drm_atomic.c
      drivers/gpu/drm/drm_connector.c
      include/drm/drm_connector.h
      include/drm/drm_mode_config.h
      include/linux/hdmi.h
      include/uapi/drm/drm_mode.h
  * Revert "BACKPORT: drm: Parse HDR metadata info from EDID"
      drivers/gpu/drm/drm_edid.c
  * ANDROID: drm: Add DP colorspace property
      drivers/gpu/drm/drm_connector.c
      include/drm/drm_connector.h
  * ANDROID: GKI: drm: Initialize display->hdmi when parsing vsdb
      drivers/gpu/drm/drm_edid.c
  * ANDROID: drivers: gpu: drm: add support to batch commands
      drivers/gpu/drm/drm_mipi_dsi.c
      include/drm/drm_mipi_dsi.h
    ANDROID: ABI: update the qcom whitelist
  * ANDROID: GKI: ARM64: smp: add vendor field pending_ipi
      arch/arm64/kernel/smp.c
    ANDROID: gki_defconfig: enable msm serial early console
  * ANDROID: serial: msm_geni_serial_console : Add Earlycon support
      drivers/tty/serial/Kconfig
      drivers/tty/serial/Makefile
      drivers/tty/serial/msm_geni_serial_console.c
  * ANDROID: GKI: serial: core: export uart_console_device
      drivers/tty/serial/serial_core.c
  * f2fs: fix quota_sync failure due to f2fs_lock_op
      fs/f2fs/data.c
  * f2fs: support read iostat
      fs/f2fs/checkpoint.c
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/node.c
      fs/f2fs/sysfs.c
      include/trace/events/f2fs.h
  * f2fs: Fix the accounting of dcc->undiscard_blks
      fs/f2fs/segment.c
  * f2fs: fix to handle error path of f2fs_ra_meta_pages()
      fs/f2fs/checkpoint.c
  * f2fs: report the discard cmd errors properly
      fs/f2fs/segment.c
  * f2fs: fix long latency due to discard during umount
      fs/f2fs/segment.c
  * f2fs: add tracepoint for f2fs iostat
      fs/f2fs/f2fs.h
      fs/f2fs/super.c
      fs/f2fs/sysfs.c
      include/trace/events/f2fs.h
  * f2fs: introduce sysfs/data_io_flag to attach REQ_META/FUA
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/sysfs.c
    ANDROID: GKI: update abi definition due to previous changes in the tree
Linux 4.19.116
    efi/x86: Fix the deletion of variables in mixed mode
    mfd: dln2: Fix sanity checking for endpoints
    etnaviv: perfmon: fix total and idle HI cyleces readout
    misc: echo: Remove unnecessary parentheses and simplify check for zero
    powerpc/fsl_booke: Avoid creating duplicate tlb1 entry
    ftrace/kprobe: Show the maxactive number on kprobe_events
  * drm: Remove PageReserved manipulation from drm_pci_alloc
      drivers/gpu/drm/drm_pci.c
  * drm/dp_mst: Fix clearing payload state on topology disable
      drivers/gpu/drm/drm_dp_mst_topology.c
  * Revert "drm/dp_mst: Remove VCPI while disabling topology mgr"
      drivers/gpu/drm/drm_dp_mst_topology.c
    crypto: ccree - only try to map auth tag if needed
    crypto: ccree - dec auth tag size from cryptlen map
    crypto: ccree - don't mangle the request assoclen
    crypto: ccree - zero out internal struct before use
    crypto: ccree - improve error handling
    crypto: caam - update xts sector size for large input length
    dm zoned: remove duplicate nr_rnd_zones increase in dmz_init_zone()
    btrfs: use nofs allocations for running delayed items
    powerpc: Make setjmp/longjmp signature standard
    powerpc: Add attributes for setjmp/longjmp
    scsi: mpt3sas: Fix kernel panic observed on soft HBA unplug
    powerpc/kprobes: Ignore traps that happened in real mode
    powerpc/xive: Use XIVE_BAD_IRQ instead of zero to catch non configured IPIs
    powerpc/hash64/devmap: Use H_PAGE_THP_HUGE when setting up huge devmap PTE entries
    powerpc/64/tm: Don't let userspace set regs->trap via sigreturn
    powerpc/powernv/idle: Restore AMR/UAMOR/AMOR after idle
    xen/blkfront: fix memory allocation flags in blkfront_setup_indirect()
    ipmi: fix hung processes in __get_guid()
    libata: Return correct status in sata_pmp_eh_recover_pm() when ATA_DFLAG_DETACH is set
    hfsplus: fix crash and filesystem corruption when deleting files
    cpufreq: powernv: Fix use-after-free
  * kmod: make request_module() return an error when autoloading is disabled
      kernel/kmod.c
    clk: ingenic/jz4770: Exit with error if CGU init failed
    Input: i8042 - add Acer Aspire 5738z to nomux list
    s390/diag: fix display of diagnose call statistics
    perf tools: Support Python 3.8+ in Makefile
    ocfs2: no need try to truncate file beyond i_size
  * fs/filesystems.c: downgrade user-reachable WARN_ONCE() to pr_warn_once()
      fs/filesystems.c
  * ext4: fix a data race at inode->i_blocks
      fs/ext4/inode.c
    NFS: Fix a page leak in nfs_destroy_unlinked_subrequests()
    powerpc/pseries: Avoid NULL pointer dereference when drmem is unavailable
    drm/etnaviv: rework perfmon query infrastructure
    rtc: omap: Use define directive for PIN_CONFIG_ACTIVE_HIGH
    selftests: vm: drop dependencies on page flags from mlock2 tests
  * arm64: armv8_deprecated: Fix undef_hook mask for thumb setend
      arch/arm64/kernel/armv8_deprecated.c
    scsi: zfcp: fix missing erp_lock in port recovery trigger for point-to-point
  * dm verity fec: fix memory leak in verity_fec_dtr
      drivers/md/dm-verity-fec.c
    dm writecache: add cond_resched to avoid CPU hangs
    arm64: dts: allwinner: h6: Fix PMU compatible
  * net: qualcomm: rmnet: Allow configuration updates to existing devices
      drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
  * mm: Use fixed constant in page_frag_alloc instead of size + 1
      mm/page_alloc.c
    tools: gpio: Fix out-of-tree build regression
  * x86/speculation: Remove redundant arch_smt_update() invocation
      kernel/cpu.c
    powerpc/pseries: Drop pointless static qualifier in vpa_debugfs_init()
    erofs: correct the remaining shrink objects
    crypto: mxs-dcp - fix scatterlist linearization for hash
    btrfs: fix missing semaphore unlock in btrfs_sync_file
    btrfs: fix missing file extent item for hole after ranged fsync
    btrfs: drop block from cache on error in relocation
    btrfs: set update the uuid generation as soon as possible
    Btrfs: fix crash during unmount due to race with delayed inode workers
    mtd: spinand: Do not erase the block before writing a bad block marker
    mtd: spinand: Stop using spinand->oobbuf for buffering bad block markers
    CIFS: Fix bug which the return value by asynchronous read is error
    KVM: VMX: fix crash cleanup when KVM wasn't used
    KVM: x86: Gracefully handle __vmalloc() failure during VM allocation
    KVM: VMX: Always VMCLEAR in-use VMCSes during crash with kexec support
    KVM: x86: Allocate new rmap and large page tracking when moving memslot
    KVM: s390: vsie: Fix delivery of addressing exceptions
    KVM: s390: vsie: Fix region 1 ASCE sanity shadow address checks
    KVM: nVMX: Properly handle userspace interrupt window request
    x86/entry/32: Add missing ASM_CLAC to general_protection entry
  * signal: Extend exec_id to 64bits
      fs/exec.c
      include/linux/sched.h
      kernel/signal.c
    ath9k: Handle txpower changes even when TPC is disabled
    MIPS: OCTEON: irq: Fix potential NULL pointer dereference
    MIPS/tlbex: Fix LDDIR usage in setup_pw() for Loongson-3
  * pstore: pstore_ftrace_seq_next should increase position index
      fs/pstore/inode.c
    irqchip/versatile-fpga: Apply clear-mask earlier
  * KEYS: reaching the keys quotas correctly
      security/keys/key.c
      security/keys/keyctl.c
    tpm: tpm2_bios_measurements_next should increase position index
    tpm: tpm1_bios_measurements_next should increase position index
    tpm: Don't make log failures fatal
  * PCI: endpoint: Fix for concurrent memory allocation in OB address region
      include/linux/pci-epc.h
  * PCI: Add boot interrupt quirk mechanism for Xeon chipsets
      drivers/pci/quirks.c
    PCI/ASPM: Clear the correct bits when enabling L1 substates
    PCI: pciehp: Fix indefinite wait on sysfs requests
    nvme: Treat discovery subsystems as unique subsystems
  * nvme-fc: Revert "add module to ops template to allow module references"
      include/linux/nvme-fc-driver.h
  * thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n
      include/linux/devfreq_cooling.h
    acpi/x86: ignore unspecified bit positions in the ACPI global lock field
    media: ti-vpe: cal: fix disable_irqs to only the intended target
    ALSA: hda/realtek - Add quirk for MSI GL63
    ALSA: hda/realtek - Remove now-unnecessary XPS 13 headphone noise fixups
    ALSA: hda/realtek - Set principled PC Beep configuration for ALC256
    ALSA: doc: Document PC Beep Hidden Register on Realtek ALC256
    ALSA: pcm: oss: Fix regression by buffer overflow fix
    ALSA: ice1724: Fix invalid access for enumerated ctl items
    ALSA: hda: Fix potential access overflow in beep helper
    ALSA: hda: Add driver blacklist
  * ALSA: usb-audio: Add mixer workaround for TRX40 and co
      sound/usb/mixer_maps.c
  * usb: gadget: composite: Inform controller driver of self-powered
      drivers/usb/gadget/composite.c
  * usb: gadget: f_fs: Fix use after free issue as part of queue failure
      drivers/usb/gadget/function/f_fs.c
    ASoC: topology: use name_prefix for new kcontrol
  * ASoC: dpcm: allow start or stop during pause for backend
      sound/soc/soc-pcm.c
  * ASoC: dapm: connect virtual mux with default value
      sound/soc/soc-dapm.c
  * ASoC: fix regwmask
      sound/soc/soc-ops.c
  * slub: improve bit diffusion for freelist ptr obfuscation
      mm/slub.c
  * uapi: rename ext2_swab() to swab() and share globally in swab.h
      include/linux/swab.h
      include/uapi/linux/swab.h
      lib/find_bit.c
  * IB/mlx5: Replace tunnel mpls capability bits for tunnel_offloads
      include/linux/mlx5/mlx5_ifc.h
    btrfs: track reloc roots based on their commit root bytenr
    btrfs: remove a BUG_ON() from merge_reloc_roots()
    btrfs: qgroup: ensure qgroup_rescan_running is only set when the worker is at least queued
    block, bfq: fix use-after-free in bfq_idle_slice_timer_body
    locking/lockdep: Avoid recursion in lockdep_count_{for,back}ward_deps()
  * firmware: fix a double abort case with fw_load_sysfs_fallback
      drivers/base/firmware_loader/fallback.c
    md: check arrays is suspended in mddev_detach before call quiesce operations
  * irqchip/gic-v4: Provide irq_retrigger to avoid circular locking dependency
      drivers/irqchip/irq-gic-v3-its.c
  * usb: dwc3: core: add support for disabling SS instances in park mode
      drivers/usb/dwc3/core.c
      drivers/usb/dwc3/core.h
    media: i2c: ov5695: Fix power on and off sequences
  * block: Fix use-after-free issue accessing struct io_cq
      block/blk-ioc.c
      include/linux/iocontext.h
  * genirq/irqdomain: Check pointer in irq_domain_alloc_irqs_hierarchy()
      kernel/irq/irqdomain.c
    efi/x86: Ignore the memory attributes table on i386
    x86/boot: Use unsigned comparison for addresses
    gfs2: Don't demote a glock until its revokes are written
  * pstore/platform: fix potential mem leak if pstore_init_fs failed
      fs/pstore/platform.c
    libata: Remove extra scsi_host_put() in ata_scsi_add_hosts()
    media: i2c: video-i2c: fix build errors due to 'imply hwmon'
    PCI/switchtec: Fix init_completion race condition with poll_wait()
    selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault
  * sched: Avoid scale real weight down to zero
      kernel/sched/sched.h
    irqchip/versatile-fpga: Handle chained IRQs properly
  * block: keep bdi->io_pages in sync with max_sectors_kb for stacked devices
      block/blk-settings.c
    x86: Don't let pgprot_modify() change the page encryption bit
  * xhci: bail out early if driver can't accress host in resume
      drivers/usb/host/xhci.c
    null_blk: fix spurious IO errors after failed past-wp access
    null_blk: Handle null_add_dev() failures properly
    null_blk: Fix the null_add_dev() error path
    firmware: arm_sdei: fix double-lock on hibernate with shared events
    media: venus: hfi_parser: Ignore HEVC encoding for V1
    cpufreq: imx6q: Fixes unwanted cpu overclocking on i.MX6ULL
    i2c: st: fix missing struct parameter description
    qlcnic: Fix bad kzalloc null test
    cxgb4/ptp: pass the sign of offset delta in FW CMD
    hinic: fix wrong para of wait_for_completion_timeout
    hinic: fix a bug of waitting for IO stopped
    net: vxge: fix wrong __VA_ARGS__ usage
    bus: sunxi-rsb: Return correct data when mixing 16-bit and 8-bit reads
    ARM: dts: sun8i-a83t-tbs-a711: HM5065 doesn't like such a high voltage
    ANDROID: build.config.allmodconfig: Re-enable XFS_FS
  * FROMGIT: of: property: Add device link support for extcon
      drivers/of/property.c
    ANDROID: GKI: arm64: gki_defconfig: enable CONFIG_MM_EVENT_STAT
  * ANDROID: GKI: add fields from per-process mm event tracking feature
      include/linux/mm_event.h
      include/linux/sched.h
      mm/Kconfig
      mm/Makefile
      mm/mm_event.c
  * ANDROID: GKI: fix ABI diffs caused by ION heap and pool vmstat additions
      include/linux/mmzone.h
      mm/vmstat.c
  * UPSTREAM: GKI: panic/reboot: allow specifying reboot_mode for panic only
      include/linux/reboot.h
      kernel/panic.c
      kernel/reboot.c
  * ANDROID: GKI: of: property: Add device link support for phys property
      drivers/of/property.c
  * ANDROID: GKI: usb: phy: Fix ABI diff for usb_otg_state
      include/linux/usb/phy.h
  * ANDROID: GKI: usb: phy: Fix ABI diff due to usb_phy.drive_dp_pulse
      include/linux/usb/phy.h
  * ANDROID: GKI: usb: phy: Fix ABI diff for usb_phy_type and usb_phy.reset
      include/linux/usb/phy.h
    ANDROID: gki_defconfig: enable CONFIG_GPIO_SYSFS
  * ANDROID: GKI: qcom: Fix compile issue when setting msm_lmh_dcvs as a module
      kernel/trace/power-traces.c
  * ANDROID: GKI: drivers: cpu_cooling: allow platform freq mitigation
      drivers/thermal/cpu_cooling.c
      include/linux/cpu_cooling.h
  * ANDROID: GKI: ASoC: Add locking in DAPM widget power update
      include/sound/soc.h
      sound/soc/soc-core.c
      sound/soc/soc-dapm.c
  * ANDROID: GKI: ASoC: jack: Fix buttons enum value
      include/sound/jack.h
  * ANDROID: GKI: ALSA: jack: Add support to report second microphone
      include/sound/jack.h
      include/uapi/linux/input-event-codes.h
      sound/core/jack.c
  * ANDROID: GKI: ALSA: jack: Update supported jack switch types
      include/linux/mod_devicetable.h
      include/sound/jack.h
      include/uapi/linux/input-event-codes.h
      sound/core/jack.c
  * ANDROID: GKI: ALSA: jack: update jack types
      include/sound/jack.h
  * ANDROID: GKI: Export symbols arm_cpuidle_suspend, cpuidle_dev and cpuidle_register_governor
      arch/arm64/kernel/cpuidle.c
      drivers/cpuidle/cpuidle.c
  * ANDROID: GKI: usb: hcd: Add USB atomic notifier callback for HC died error
      drivers/usb/core/hcd.c
      drivers/usb/core/notify.c
      drivers/usb/core/usb.h
      include/linux/usb.h
  * ANDROID: media: increase video max frame number
      include/media/videobuf2-core.h
      include/uapi/linux/videodev2.h
  * BACKPORT: nvmem: core: add NVMEM_SYSFS Kconfig
      drivers/nvmem/Kconfig
      drivers/nvmem/Makefile
      drivers/nvmem/core.c
      drivers/nvmem/nvmem-sysfs.c
      drivers/nvmem/nvmem.h
  * UPSTREAM: nvmem: add support for cell info
      drivers/nvmem/core.c
      include/linux/nvmem-provider.h
  * UPSTREAM: nvmem: remove the global cell list
      drivers/nvmem/core.c
  * UPSTREAM: nvmem: use kref
      drivers/nvmem/core.c
  * UPSTREAM: nvmem: use list_for_each_entry_safe in nvmem_device_remove_all_cells()
      drivers/nvmem/core.c
  * UPSTREAM: nvmem: provide nvmem_dev_name()
      drivers/nvmem/core.c
      include/linux/nvmem-consumer.h
    ANDROID: GKI: Bulk ABI update
  * ANDROID: GKI: cpuhotplug: adding hotplug enums for vendor code
      include/linux/cpuhotplug.h
  * ANDROID: Incremental fs: Fix create_file performance
      fs/incfs/format.c
    ANDROID: build.config.common: Add BUILDTOOLS_PREBUILT_BIN
  * UPSTREAM: kheaders: include only headers into kheaders_data.tar.xz
      kernel/gen_kheaders.sh
  * UPSTREAM: kheaders: remove meaningless -R option of 'ls'
      kernel/gen_kheaders.sh
  * ANDROID: GKI: of: platform: initialize of_reserved_mem
      drivers/of/platform.c
  * ANDROID: driver: gpu: drm: add notifier for panel related events
      drivers/gpu/drm/drm_panel.c
      include/drm/drm_connector.h
      include/drm/drm_panel.h
  * ANDROID: include: drm: support unicasting mipi cmds to dsi ctrls
      include/drm/drm_mipi_dsi.h
  * ANDROID: include: drm: increase DRM max property count to 64
      include/drm/drm_mode_object.h
  * BACKPORT: drm: Add HDMI colorspace property
      drivers/gpu/drm/drm_atomic.c
      drivers/gpu/drm/drm_connector.c
      include/drm/drm_connector.h
  * ANDROID: drm: edid: add support for additional CEA extension blocks
      drivers/gpu/drm/drm_edid.c
      include/drm/drm_connector.h
      include/drm/drm_edid.h
  * BACKPORT: drm: Parse HDR metadata info from EDID
      drivers/gpu/drm/drm_edid.c
  * BACKPORT: drm: Add HDR source metadata property
      drivers/gpu/drm/drm_atomic.c
      drivers/gpu/drm/drm_connector.c
      include/drm/drm_connector.h
      include/drm/drm_mode_config.h
      include/linux/hdmi.h
      include/uapi/drm/drm_mode.h
  * BACKPORT: drm/dp_mst: Parse FEC capability on MST ports
      drivers/gpu/drm/drm_dp_mst_topology.c
      include/drm/drm_dp_mst_helper.h
    ANDROID: GKI: ABI update for DRM changes
    ANDROID: ABI: add missing elf variables to representation
  * ANDROID: GKI: power_supply: Add PROP_MOISTURE_DETECTION_ENABLED
      drivers/power/supply/power_supply_sysfs.c
      include/linux/power_supply.h
  * ANDROID: include: drm: add the definitions for DP Link Compliance tests
      include/drm/drm_dp_helper.h
  * ANDROID: drivers: gpu: drm: fix bugs encountered while fuzzing
      drivers/gpu/drm/drm_file.c
      drivers/gpu/drm/drm_property.c
  * FROMLIST: power_supply: Add additional health properties to the header
      drivers/power/supply/power_supply_sysfs.c
      include/linux/power_supply.h
    UPSTREAM: power: supply: core: Update sysfs-class-power ABI document
  * UPSTREAM: Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-4.19.y' into android-4.19 (v5.7-rc1)
      fs/f2fs/Kconfig
      fs/f2fs/checkpoint.c
      fs/f2fs/data.c
      fs/f2fs/debug.c
      fs/f2fs/dir.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/inode.c
      fs/f2fs/namei.c
      fs/f2fs/node.c
      fs/f2fs/recovery.c
      fs/f2fs/segment.c
      fs/f2fs/segment.h
      fs/f2fs/shrinker.c
      fs/f2fs/super.c
      fs/f2fs/sysfs.c
      fs/f2fs/xattr.c
      fs/f2fs/xattr.h
      include/linux/f2fs_fs.h
      include/trace/events/f2fs.h
      mm/swapfile.c
  * ANDROID: drivers: gpu: drm: add support for secure framebuffer
      drivers/gpu/drm/drm_framebuffer.c
      include/uapi/drm/drm_mode.h
  * ANDROID: include: uapi: drm: add additional QCOM modifiers
      include/uapi/drm/drm_fourcc.h
  * ANDROID: drm: dsi: add two DSI mode flags for BLLP
      include/drm/drm_mipi_dsi.h
  * ANDROID: include: uapi: drm: add additional drm mode flags
      include/uapi/drm/drm_mode.h
  * UPSTREAM: drm: plug memory leak on drm_setup() failure
      drivers/gpu/drm/drm_file.c
  * UPSTREAM: drm: factor out drm_close_helper() function
      drivers/gpu/drm/drm_file.c
    ANDROID: GKI: Bulk ABI update
  * BACKPORT: nl80211: Add per peer statistics to compute FCS error rate
      include/net/cfg80211.h
      include/uapi/linux/nl80211.h
      net/wireless/nl80211.c
  * ANDROID: GKI: sound: usb: Add snd_usb_enable_audio_stream/find_snd_usb_substream
      sound/usb/card.c
      sound/usb/card.h
      sound/usb/pcm.c
      sound/usb/pcm.h
      sound/usb/usbaudio.h
  * ANDROID: GKI: add dma-buf includes
      drivers/dma-buf/dma-buf.c
  * ANDROID: GKI: sched: struct fields for Per-Sched-domain over utilization
      include/linux/sched/topology.h
  * ANDROID: GKI: Add vendor fields to root_domain
      kernel/sched/sched.h
    ANDROID: gki_defconfig: Enable CONFIG_IRQ_TIME_ACCOUNTING
    ANDROID: fix allmodconfig build to use the right toolchain
    ANDROID: fix allmodconfig build to use the right toolchain
    ANDROID: GKI: Update ABI
  * Revert "UPSTREAM: mm, page_alloc: spread allocations across zones before introducing fragmentation"
      mm/internal.h
      mm/page_alloc.c
  * Revert "UPSTREAM: mm: use alloc_flags to record if kswapd can wake"
      mm/internal.h
      mm/page_alloc.c
  * Revert "BACKPORT: mm: move zone watermark accesses behind an accessor"
      include/linux/mmzone.h
      mm/compaction.c
      mm/page_alloc.c
  * Revert "BACKPORT: mm: reclaim small amounts of memory when an external fragmentation event occurs"
      include/linux/mm.h
      include/linux/mmzone.h
      kernel/sysctl.c
      mm/page_alloc.c
      mm/vmscan.c
  * Revert "BACKPORT: mm, compaction: be selective about what pageblocks to clear skip hints"
      include/linux/mmzone.h
      mm/compaction.c
  * ANDROID: GKI: panic: add vendor callback function in panic()
      include/linux/kernel.h
      kernel/panic.c
  * UPSTREAM: GKI: thermal: make device_register's type argument const
      drivers/thermal/thermal_core.c
      include/linux/thermal.h
  * ANDROID: GKI: add base.h include to match MODULE_VERSIONS
      drivers/thermal/thermal_core.c
    ANDROID: update the ABI based on the new whitelist
  * ANDROID: GKI: fdt: export symbols required by modules
      drivers/of/fdt.c
  * ANDROID: GKI: drivers: of: Add APIs to find DDR device rank, HBB
      drivers/of/fdt.c
      include/linux/of_fdt.h
  * ANDROID: GKI: security: Add mmap export symbols for modules
      security/min_addr.c
  * ANDROID: GKI: arch: add stub symbols for boot_reason and cold_boot
      arch/arm64/kernel/setup.c
  * ANDROID: GKI: USB: Fix ABI diff for struct usb_bus
      drivers/usb/core/driver.c
      include/linux/usb.h
  * ANDROID: GKI: USB: Resolve ABI diff for usb_gadget and usb_gadget_ops
      drivers/usb/gadget/udc/core.c
      include/linux/usb/gadget.h
  * ANDROID: GKI: add hidden V4L2_MEM2MEM_DEV
      init/Kconfig.gki
    ANDROID: GKI: enable VIDEO_V4L2_SUBDEV_API
  * ANDROID: GKI: export symbols from abi_gki_aarch64_qcom_whitelist
      arch/arm64/mm/mmu.c
      drivers/base/core.c
      drivers/clocksource/arm_arch_timer.c
      drivers/cpuidle/governor.c
      drivers/gpu/drm/drm_atomic_helper.c
      drivers/gpu/drm/drm_modes.c
      fs/kernfs/symlink.c
      kernel/params.c
      kernel/power/main.c
      kernel/power/qos.c
      kernel/power/suspend.c
      kernel/printk/printk.c
      kernel/time/tick-sched.c
      lib/ioremap.c
      lib/plist.c
      mm/memblock.c
      mm/mmap.c
      security/security.c
      sound/usb/helper.c
    ANDROID: Update the whitelist for qcom SoCs
  * ANDROID: Incremental fs: Fix compound page usercopy crash
      fs/incfs/data_mgmt.c
      fs/incfs/vfs.c
    ANDROID: Incremental fs: Clean up incfs_test build process
  * ANDROID: Incremental fs: make remount log buffer change atomic
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/vfs.c
  * ANDROID: Incremental fs: Optimize get_filled_block
      fs/incfs/data_mgmt.c
      fs/incfs/format.c
  * ANDROID: Incremental fs: Fix mislabeled __user ptrs
      fs/incfs/data_mgmt.c
      fs/incfs/integrity.c
      fs/incfs/vfs.c
  * ANDROID: Incremental fs: Use 64-bit int for file_size when writing hash blocks
      fs/incfs/format.c
      fs/incfs/format.h
    Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-4.19.y' into android-4.19 (v5.7-rc1)
    Merge remote-tracking branch 'aosp/android-4.19' into android-4.19-stable
    ubifs: wire up FS_IOC_GET_ENCRYPTION_NONCE
  * f2fs: wire up FS_IOC_GET_ENCRYPTION_NONCE
      fs/f2fs/file.c
  * ext4: wire up FS_IOC_GET_ENCRYPTION_NONCE
      fs/ext4/ioctl.c
  * fscrypt: add FS_IOC_GET_ENCRYPTION_NONCE ioctl
      fs/crypto/fscrypt_private.h
      fs/crypto/keysetup.c
      fs/crypto/policy.c
      include/linux/fscrypt.h
      include/uapi/linux/fscrypt.h
  * f2fs: keep inline_data when compression conversion
      fs/f2fs/file.c
  * f2fs: fix to disable compression on directory
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
  * f2fs: add missing CONFIG_F2FS_FS_COMPRESSION
      fs/f2fs/sysfs.c
  * f2fs: switch discard_policy.timeout to bool type
      fs/f2fs/f2fs.h
      fs/f2fs/segment.c
    f2fs: fix to verify tpage before releasing in f2fs_free_dic()
  * f2fs: show compression in statx
      fs/f2fs/file.c
    f2fs: clean up dic->tpages assignment
  * f2fs: compress: support zstd compress algorithm
      fs/f2fs/Kconfig
      fs/f2fs/f2fs.h
      fs/f2fs/super.c
      include/trace/events/f2fs.h
    f2fs: compress: add .{init,destroy}_decompress_ctx callback
    f2fs: compress: fix to call missing destroy_compress_ctx()
  * f2fs: change default compression algorithm
      fs/f2fs/super.c
    f2fs: clean up {cic,dic}.ref handling
  * f2fs: fix to use f2fs_readpage_limit() in f2fs_read_multi_pages()
      fs/f2fs/data.c
  * f2fs: xattr.h: Make stub helpers inline
      fs/f2fs/xattr.h
  * f2fs: fix to avoid double unlock
      fs/f2fs/data.c
  * f2fs: fix potential .flags overflow on 32bit architecture
      fs/f2fs/f2fs.h
      fs/f2fs/inode.c
  * f2fs: fix NULL pointer dereference in f2fs_verity_work()
      fs/f2fs/data.c
    f2fs: fix to clear PG_error if fsverity failed
  * f2fs: don't call fscrypt_get_encryption_info() explicitly in f2fs_tmpfile()
      fs/f2fs/namei.c
  * f2fs: don't trigger data flush in foreground operation
      fs/f2fs/f2fs.h
      fs/f2fs/gc.c
      fs/f2fs/node.c
      fs/f2fs/segment.c
  * f2fs: fix NULL pointer dereference in f2fs_write_begin()
      fs/f2fs/super.c
  * f2fs: clean up f2fs_may_encrypt()
      fs/f2fs/dir.c
      fs/f2fs/f2fs.h
      fs/f2fs/namei.c
  * f2fs: fix to avoid potential deadlock
      fs/f2fs/data.c
  * f2fs: don't change inode status under page lock
      fs/f2fs/dir.c
    f2fs: fix potential deadlock on compressed quota file
  * f2fs: delete DIO read lock
      fs/f2fs/data.c
  * f2fs: don't mark compressed inode dirty during f2fs_iget()
      fs/f2fs/f2fs.h
    f2fs: fix to account compressed blocks in f2fs_compressed_blocks()
  * f2fs: xattr.h: Replace zero-length array with flexible-array member
      fs/f2fs/xattr.h
  * f2fs: fix to update f2fs_super_block fields under sb_lock
      fs/f2fs/gc.c
  * f2fs: Add a new CP flag to help fsck fix resize SPO issues
      fs/f2fs/checkpoint.c
      include/linux/f2fs_fs.h
  * f2fs: Fix mount failure due to SPO after a successful online resize FS
      fs/f2fs/gc.c
  * f2fs: use kmem_cache pool during inline xattr lookups
      fs/f2fs/f2fs.h
      fs/f2fs/super.c
      fs/f2fs/xattr.c
      fs/f2fs/xattr.h
  * f2fs: skip migration only when BG_GC is called
      fs/f2fs/gc.c
  * f2fs: fix to show tracepoint correctly
      fs/f2fs/file.c
  * f2fs: avoid __GFP_NOFAIL in f2fs_bio_alloc
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
  * f2fs: introduce F2FS_IOC_GET_COMPRESS_BLOCKS
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
  * f2fs: fix to avoid triggering IO in write path
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
  * f2fs: add prefix for f2fs slab cache name
      fs/f2fs/data.c
      fs/f2fs/node.c
      fs/f2fs/segment.c
  * f2fs: introduce DEFAULT_IO_TIMEOUT
      fs/f2fs/checkpoint.c
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/gc.c
      fs/f2fs/inode.c
      fs/f2fs/node.c
      fs/f2fs/recovery.c
      fs/f2fs/segment.c
      fs/f2fs/super.c
  * f2fs: skip GC when section is full
      fs/f2fs/gc.c
  * f2fs: add migration count iff migration happens
      fs/f2fs/gc.c
  * f2fs: clean up bggc mount option
      fs/f2fs/f2fs.h
      fs/f2fs/gc.c
      fs/f2fs/super.c
  * f2fs: clean up lfs/adaptive mount option
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/segment.c
      fs/f2fs/super.c
  * f2fs: fix to show norecovery mount option
      fs/f2fs/f2fs.h
      fs/f2fs/super.c
  * f2fs: clean up parameter of macro XATTR_SIZE()
      fs/f2fs/xattr.c
      fs/f2fs/xattr.h
  * f2fs: clean up codes with {f2fs_,}data_blkaddr()
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/node.c
      fs/f2fs/recovery.c
  * f2fs: show mounted time
      fs/f2fs/debug.c
      fs/f2fs/segment.c
      fs/f2fs/segment.h
      fs/f2fs/sysfs.c
  * f2fs: Use scnprintf() for avoiding potential buffer overflow
      fs/f2fs/sysfs.c
  * f2fs: allow to clear F2FS_COMPR_FL flag
      fs/f2fs/file.c
  * f2fs: fix to check dirty pages during compressed inode conversion
      fs/f2fs/f2fs.h
  * f2fs: fix to account compressed inode correctly
      fs/f2fs/f2fs.h
  * f2fs: fix wrong check on F2FS_IOC_FSSETXATTR
      fs/f2fs/file.c
    f2fs: fix to avoid use-after-free in f2fs_write_multi_pages()
  * f2fs: fix to avoid using uninitialized variable
      fs/f2fs/file.c
  * f2fs: fix inconsistent comments
      fs/f2fs/checkpoint.c
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/inode.c
      fs/f2fs/namei.c
      fs/f2fs/node.c
      fs/f2fs/shrinker.c
      fs/f2fs/super.c
  * f2fs: remove i_sem lock coverage in f2fs_setxattr()
      fs/f2fs/xattr.c
  * f2fs: cover last_disk_size update with spinlock
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/super.c
  * f2fs: fix to check i_compr_blocks correctly
      fs/f2fs/inode.c
    Merge android-4.19 into android-4.19-stable
    ANDROID: GKI: Removed cuttlefish configs
    f2fs: fix to avoid potential deadlock
  * f2fs: add missing function name in kernel message
      fs/f2fs/f2fs.h
      fs/f2fs/node.c
  * f2fs: recycle unused compress_data.chksum feild
      fs/f2fs/f2fs.h
    f2fs: fix to avoid NULL pointer dereference
    f2fs: fix leaking uninitialized memory in compressed clusters
  * f2fs: fix the panic in do_checkpoint()
      fs/f2fs/checkpoint.c
      fs/f2fs/f2fs.h
      fs/f2fs/super.c
  * f2fs: fix to wait all node page writeback
      fs/f2fs/node.c
  * mm/swapfile.c: move inode_lock out of claim_swapfile
      mm/swapfile.c
  * fscrypt: don't evict dirty inodes after removing key
      fs/crypto/keysetup.c

Change-Id: I9ca86223eb4183aa40011ade86b74cc3beaabd4a
Signed-off-by: lucaswei <lucaswei@google.com>
2020-09-16 21:37:23 +08:00
Greg Kroah-Hartman
91d4544b24 Merge 4.19.124 into android-4.19-stable
Changes in 4.19.124
	net: dsa: Do not make user port errors fatal
	shmem: fix possible deadlocks on shmlock_user_lock
	net/sonic: Fix a resource leak in an error handling path in 'jazz_sonic_probe()'
	net: moxa: Fix a potential double 'free_irq()'
	drop_monitor: work around gcc-10 stringop-overflow warning
	virtio-blk: handle block_device_operations callbacks after hot unplug
	scsi: sg: add sg_remove_request in sg_write
	mmc: sdhci-acpi: Add SDHCI_QUIRK2_BROKEN_64_BIT_DMA for AMDI0040
	net: fix a potential recursive NETDEV_FEAT_CHANGE
	netlabel: cope with NULL catmap
	net: phy: fix aneg restart in phy_ethtool_set_eee
	pppoe: only process PADT targeted at local interfaces
	Revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu"
	tcp: fix error recovery in tcp_zerocopy_receive()
	virtio_net: fix lockdep warning on 32 bit
	hinic: fix a bug of ndo_stop
	net: dsa: loop: Add module soft dependency
	net: ipv4: really enforce backoff for redirects
	netprio_cgroup: Fix unlimited memory leak of v2 cgroups
	net: tcp: fix rx timestamp behavior for tcp_recvmsg
	tcp: fix SO_RCVLOWAT hangs with fat skbs
	riscv: fix vdso build with lld
	dmaengine: pch_dma.c: Avoid data race between probe and irq handler
	dmaengine: mmp_tdma: Reset channel error on release
	cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once
	ALSA: hda/hdmi: fix race in monitor detection during probe
	drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper()
	ipc/util.c: sysvipc_find_ipc() incorrectly updates position index
	ALSA: hda/realtek - Fix S3 pop noise on Dell Wyse
	gfs2: Another gfs2_walk_metadata fix
	pinctrl: baytrail: Enable pin configuration setting for GPIO chip
	pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler
	i40iw: Fix error handling in i40iw_manage_arp_cache()
	mmc: core: Check request type before completing the request
	mmc: block: Fix request completion in the CQE timeout path
	NFS: Fix fscache super_cookie index_key from changing after umount
	nfs: fscache: use timespec64 in inode auxdata
	NFSv4: Fix fscache cookie aux_data to ensure change_attr is included
	netfilter: conntrack: avoid gcc-10 zero-length-bounds warning
	arm64: fix the flush_icache_range arguments in machine_kexec
	netfilter: nft_set_rbtree: Introduce and use nft_rbtree_interval_start()
	IB/mlx4: Test return value of calls to ib_get_cached_pkey
	hwmon: (da9052) Synchronize access with mfd
	pnp: Use list_for_each_entry() instead of open coding
	gcc-10 warnings: fix low-hanging fruit
	kbuild: compute false-positive -Wmaybe-uninitialized cases in Kconfig
	Stop the ad-hoc games with -Wno-maybe-initialized
	gcc-10: disable 'zero-length-bounds' warning for now
	gcc-10: disable 'array-bounds' warning for now
	gcc-10: disable 'stringop-overflow' warning for now
	gcc-10: disable 'restrict' warning for now
	gcc-10: avoid shadowing standard library 'free()' in crypto
	ALSA: hda/realtek - Limit int mic boost for Thinkpad T530
	ALSA: rawmidi: Fix racy buffer resize under concurrent accesses
	ALSA: usb-audio: Add control message quirk delay for Kingston HyperX headset
	usb: core: hub: limit HUB_QUIRK_DISABLE_AUTOSUSPEND to USB5534B
	usb: host: xhci-plat: keep runtime active when removing host
	USB: gadget: fix illegal array access in binding with UDC
	usb: xhci: Fix NULL pointer dereference when enqueuing trbs from urb sg list
	ARM: dts: dra7: Fix bus_dma_limit for PCIe
	ARM: dts: imx27-phytec-phycard-s-rdk: Fix the I2C1 pinctrl entries
	cifs: fix leaked reference on requeued write
	x86: Fix early boot crash on gcc-10, third try
	x86/unwind/orc: Fix error handling in __unwind_start()
	exec: Move would_dump into flush_old_exec
	clk: rockchip: fix incorrect configuration of rk3228 aclk_gpu* clocks
	dwc3: Remove check for HWO flag in dwc3_gadget_ep_reclaim_trb_sg()
	usb: gadget: net2272: Fix a memory leak in an error handling path in 'net2272_plat_probe()'
	usb: gadget: audio: Fix a missing error return value in audio_bind()
	usb: gadget: legacy: fix error return code in gncm_bind()
	usb: gadget: legacy: fix error return code in cdc_bind()
	Revert "ALSA: hda/realtek: Fix pop noise on ALC225"
	clk: Unlink clock if failed to prepare or enable
	arm64: dts: rockchip: Replace RK805 PMIC node name with "pmic" on rk3328 boards
	arm64: dts: rockchip: Rename dwc3 device nodes on rk3399 to make dtc happy
	ARM: dts: r8a73a4: Add missing CMT1 interrupts
	arm64: dts: renesas: r8a77980: Fix IPMMU VIP[01] nodes
	ARM: dts: r8a7740: Add missing extal2 to CPG node
	KVM: x86: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce
	Makefile: disallow data races on gcc-10 as well
	Linux 4.19.124

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I3d253f677cc08337e64d316005a0ec0c33717940
2020-05-20 11:37:46 +02:00
Borislav Petkov
15b4f26b75 x86: Fix early boot crash on gcc-10, third try
commit a9a3ed1eff3601b63aea4fb462d8b3b92c7c1e7e upstream.

... or the odyssey of trying to disable the stack protector for the
function which generates the stack canary value.

The whole story started with Sergei reporting a boot crash with a kernel
built with gcc-10:

  Kernel panic — not syncing: stack-protector: Kernel stack is corrupted in: start_secondary
  CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.6.0-rc5—00235—gfffb08b37df9 #139
  Hardware name: Gigabyte Technology Co., Ltd. To be filled by O.E.M./H77M—D3H, BIOS F12 11/14/2013
  Call Trace:
    dump_stack
    panic
    ? start_secondary
    __stack_chk_fail
    start_secondary
    secondary_startup_64
  -—-[ end Kernel panic — not syncing: stack—protector: Kernel stack is corrupted in: start_secondary

This happens because gcc-10 tail-call optimizes the last function call
in start_secondary() - cpu_startup_entry() - and thus emits a stack
canary check which fails because the canary value changes after the
boot_init_stack_canary() call.

To fix that, the initial attempt was to mark the one function which
generates the stack canary with:

  __attribute__((optimize("-fno-stack-protector"))) ... start_secondary(void *unused)

however, using the optimize attribute doesn't work cumulatively
as the attribute does not add to but rather replaces previously
supplied optimization options - roughly all -fxxx options.

The key one among them being -fno-omit-frame-pointer and thus leading to
not present frame pointer - frame pointer which the kernel needs.

The next attempt to prevent compilers from tail-call optimizing
the last function call cpu_startup_entry(), shy of carving out
start_secondary() into a separate compilation unit and building it with
-fno-stack-protector, was to add an empty asm("").

This current solution was short and sweet, and reportedly, is supported
by both compilers but we didn't get very far this time: future (LTO?)
optimization passes could potentially eliminate this, which leads us
to the third attempt: having an actual memory barrier there which the
compiler cannot ignore or move around etc.

That should hold for a long time, but hey we said that about the other
two solutions too so...

Reported-by: Sergei Trofimovich <slyfox@gentoo.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Tested-by: Kalle Valo <kvalo@codeaurora.org>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20200314164451.346497-1-slyfox@gentoo.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-05-20 08:18:49 +02:00
Greg Kroah-Hartman
a13256124f Merge 4.19.118 into android-4.19
Changes in 4.19.118
	arm, bpf: Fix offset overflow for BPF_MEM BPF_DW
	objtool: Fix switch table detection in .text.unlikely
	scsi: sg: add sg_remove_request in sg_common_write
	ext4: use non-movable memory for superblock readahead
	watchdog: sp805: fix restart handler
	arm, bpf: Fix bugs with ALU64 {RSH, ARSH} BPF_K shift by 0
	ARM: dts: imx6: Use gpc for FEC interrupt controller to fix wake on LAN.
	netfilter: nf_tables: report EOPNOTSUPP on unsupported flags/object type
	irqchip/mbigen: Free msi_desc on device teardown
	ALSA: hda: Don't release card at firmware loading error
	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()
	x86/Hyper-V: Report crash register data or kmsg before running crash kernel
	lib/raid6: use vdupq_n_u8 to avoid endianness warnings
	video: fbdev: sis: Remove unnecessary parentheses and commented code
	rbd: avoid a deadlock on header_rwsem when flushing notifies
	rbd: call rbd_dev_unprobe() after unwatching and flushing notifies
	xsk: Add missing check on user supplied headroom size
	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
	clk: at91: usb: continue if clk_hw_round_rate() return zero
	power: supply: bq27xxx_battery: Silence deferred-probe error
	clk: tegra: Fix Tegra PMC clock out parents
	soc: imx: gpc: fix power up sequencing
	rtc: 88pm860x: fix possible race condition
	NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid()
	NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails
	s390/cpuinfo: fix wrong output when CPU0 is offline
	powerpc/maple: Fix declaration made after definition
	s390/cpum_sf: Fix wrong page count in error message
	ext4: do not commit super on read-only bdev
	um: ubd: Prevent buffer overrun on command completion
	cifs: Allocate encryption header through kmalloc
	include/linux/swapops.h: correct guards for non_swap_entry()
	percpu_counter: fix a data race at vm_committed_as
	compiler.h: fix error in BUILD_BUG_ON() reporting
	KVM: s390: vsie: Fix possible race when shadowing region 3 tables
	x86: ACPI: fix CPU hotplug deadlock
	drm/amdkfd: kfree the wrong pointer
	NFS: Fix memory leaks in nfs_pageio_stop_mirroring()
	f2fs: fix NULL pointer dereference in f2fs_write_begin()
	drm/vc4: Fix HDMI mode validation
	iommu/vt-d: Fix mm reference leak
	ext2: fix empty body warnings when -Wextra is used
	ext2: fix debug reference to ext2_xattr_cache
	power: supply: axp288_fuel_gauge: Broaden vendor check for Intel Compute Sticks.
	libnvdimm: Out of bounds read in __nd_ioctl()
	iommu/amd: Fix the configuration of GCR3 table root pointer
	f2fs: fix to wait all node page writeback
	net: dsa: bcm_sf2: Fix overflow checks
	fbdev: potential information leak in do_fb_ioctl()
	iio: si1133: read 24-bit signed integer for measurement
	tty: evh_bytechan: Fix out of bounds accesses
	locktorture: Print ratio of acquisitions, not failures
	mtd: spinand: Explicitly use MTD_OPS_RAW to write the bad block marker to OOB
	mtd: lpddr: Fix a double free in probe()
	mtd: phram: fix a double free issue in error path
	KEYS: Don't write out to userspace while holding key semaphore
	bpf: fix buggy r0 retval refinement for tracing helpers
	Linux 4.19.118

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ife34f739f719c332c7b1d22b1832179be6a16800
2020-04-23 11:07:54 +02:00
Vegard Nossum
9af5777e75 compiler.h: fix error in BUILD_BUG_ON() reporting
[ Upstream commit af9c5d2e3b355854ff0e4acfbfbfadcd5198a349 ]

compiletime_assert() uses __LINE__ to create a unique function name.  This
means that if you have more than one BUILD_BUG_ON() in the same source
line (which can happen if they appear e.g.  in a macro), then the error
message from the compiler might output the wrong condition.

For this source file:

	#include <linux/build_bug.h>

	#define macro() \
		BUILD_BUG_ON(1); \
		BUILD_BUG_ON(0);

	void foo()
	{
		macro();
	}

gcc would output:

./include/linux/compiler.h:350:38: error: call to `__compiletime_assert_9' declared with attribute error: BUILD_BUG_ON failed: 0
  _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)

However, it was not the BUILD_BUG_ON(0) that failed, so it should say 1
instead of 0. With this patch, we use __COUNTER__ instead of __LINE__, so
each BUILD_BUG_ON() gets a different function name and the correct
condition is printed:

./include/linux/compiler.h:350:38: error: call to `__compiletime_assert_0' declared with attribute error: BUILD_BUG_ON failed: 1
  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)

Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Daniel Santos <daniel.santos@pobox.com>
Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Joe Perches <joe@perches.com>
Link: http://lkml.kernel.org/r/20200331112637.25047-1-vegard.nossum@oracle.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-04-23 10:30:20 +02:00
Ivaylo Georgiev
a025b6c910 Merge android-4.19.78 (75337a6) into msm-4.19
* refs/heads/tmp-75337a6:
  ANDROID: usb: gadget: Fix dependency for f_accessory
  ANDROID: properly export new symbols with _GPL tag
  UPSTREAM: mm/kasan: fix false positive invalid-free reports with CONFIG_KASAN_SW_TAGS=y
  UPSTREAM: kasan: initialize tag to 0xff in __kasan_kmalloc
  UPSTREAM: x86/boot: Provide KASAN compatible aliases for string routines
  UPSTREAM: x86/uaccess, kasan: Fix KASAN vs SMAP
  BACKPORT: x86/uaccess: Introduce user_access_{save,restore}()
  UPSTREAM: kasan: fix variable 'tag' set but not used warning
  UPSTREAM: Revert "x86_64: Increase stack size for KASAN_EXTRA"
  UPSTREAM: kasan: fix coccinelle warnings in kasan_p*_table
  UPSTREAM: kasan: fix kasan_check_read/write definitions
  BACKPORT: kasan: remove use after scope bugs detection.
  BACKPORT: kasan: turn off asan-stack for clang-8 and earlier
  UPSTREAM: slub: fix a crash with SLUB_DEBUG + KASAN_SW_TAGS
  UPSTREAM: kasan, slab: remove redundant kasan_slab_alloc hooks
  UPSTREAM: kasan, slab: make freelist stored without tags
  UPSTREAM: kasan, slab: fix conflicts with CONFIG_HARDENED_USERCOPY
  UPSTREAM: kasan: prevent tracing of tags.c
  UPSTREAM: kasan: fix random seed generation for tag-based mode
  UPSTREAM: slub: fix SLAB_CONSISTENCY_CHECKS + KASAN_SW_TAGS
  UPSTREAM: kasan, slub: fix more conflicts with CONFIG_SLAB_FREELIST_HARDENED
  UPSTREAM: kasan, slub: fix conflicts with CONFIG_SLAB_FREELIST_HARDENED
  UPSTREAM: kasan, slub: move kasan_poison_slab hook before page_address
  UPSTREAM: kasan, kmemleak: pass tagged pointers to kmemleak
  UPSTREAM: kasan: fix assigning tags twice
  UPSTREAM: kasan: mark file common so ftrace doesn't trace it
  UPSTREAM: kasan, arm64: remove redundant ARCH_SLAB_MINALIGN define
  UPSTREAM: kasan: fix krealloc handling for tag-based mode
  UPSTREAM: kasan: make tag based mode work with CONFIG_HARDENED_USERCOPY
  UPSTREAM: kasan, arm64: use ARCH_SLAB_MINALIGN instead of manual aligning
  BACKPORT: mm/memblock.c: skip kmemleak for kasan_init()
  UPSTREAM: kasan: add SPDX-License-Identifier mark to source files
  UPSTREAM: kasan: update documentation
  UPSTREAM: kasan, arm64: select HAVE_ARCH_KASAN_SW_TAGS
  UPSTREAM: kasan: add __must_check annotations to kasan hooks
  UPSTREAM: kasan, mm, arm64: tag non slab memory allocated via pagealloc
  UPSTREAM: kasan, arm64: add brk handler for inline instrumentation
  UPSTREAM: kasan: add hooks implementation for tag-based mode
  UPSTREAM: mm: move obj_to_index to include/linux/slab_def.h
  UPSTREAM: kasan: add bug reporting routines for tag-based mode
  UPSTREAM: kasan: split out generic_report.c from report.c
  UPSTREAM: kasan, mm: perform untagged pointers comparison in krealloc
  BACKPORT: kasan, arm64: enable top byte ignore for the kernel
  BACKPORT: kasan, arm64: fix up fault handling logic
  UPSTREAM: kasan: preassign tags to objects with ctors or SLAB_TYPESAFE_BY_RCU
  UPSTREAM: kasan, arm64: untag address in _virt_addr_is_linear
  UPSTREAM: kasan: add tag related helper functions
  UPSTREAM: arm64: move untagged_addr macro from uaccess.h to memory.h
  BACKPORT: kasan: initialize shadow to 0xff for tag-based mode
  BACKPORT: kasan: rename kasan_zero_page to kasan_early_shadow_page
  UPSTREAM: kasan, arm64: adjust shadow size for tag-based mode
  BACKPORT: kasan: add CONFIG_KASAN_GENERIC and CONFIG_KASAN_SW_TAGS
  UPSTREAM: kasan: rename source files to reflect the new naming scheme
  UPSTREAM: kasan: move common generic and tag-based code to common.c
  UPSTREAM: kasan, slub: handle pointer tags in early_kmem_cache_node_alloc
  UPSTREAM: kasan, mm: change hooks signatures
  UPSTREAM: arm64: add EXPORT_SYMBOL_NOKASAN()
  BACKPORT: compiler: remove __no_sanitize_address_or_inline again
  UPSTREAM: mm/kasan/quarantine.c: make quarantine_lock a raw_spinlock_t
  UPSTREAM: lib/test_kasan.c: add tests for several string/memory API functions
  UPSTREAM: arm64: lib: use C string functions with KASAN enabled
  UPSTREAM: compiler: introduce __no_sanitize_address_or_inline
  UPSTREAM: arm64: Fix typo in a comment in arch/arm64/mm/kasan_init.c
  ANDROID: enable CONFIG_ION_SYSTEM_HEAP for GKI
  Update ABI definition after libabigail upgrade
  ANDROID: update abi due to 4.19.75 changes
  ANDROID: Remove CONFIG_USELIB from x86 gki config
  ANDROID: net: enable wireless core features with GKI_LEGACY_WEXT_ALLCONFIG
  ANDROID: arm64: bpf: implement arch_bpf_jit_check_func
  ANDROID: bpf: validate bpf_func when BPF_JIT is enabled with CFI
  UPSTREAM: kcm: use BPF_PROG_RUN
  ANDROID: gki_defconfig: CONFIG_MMC_BLOCK=m
  UPSTREAM: psi: get poll_work to run when calling poll syscall next time
  UPSTREAM: sched/psi: Do not require setsched permission from the trigger creator
  UPSTREAM: sched/psi: Reduce psimon FIFO priority
  ANDROID: gki_defconfig: Enable HiSilicon SoCs
  UPSTREAM: PCI: kirin: Fix section mismatch warning
  ANDROID: gki_defconfig: Enable SERIAL_DEV_BUS
  ANDROID: gki_defconfig: Add GKI_HACKS_to_FIX config
  ANDROID: init: GKI: enable hidden configs for GPIO
  ANDROID: init: GKI: enable hidden configs for SND_SOC
  ANDROID: init: GKI: enable hidden configs for regmap
  ANDROID: init: GKI: enable hidden configs for DRM
  ANDROID: init: GKI: add GKI_HACKS_TO_FIX
  ABI: Update ABI after fscrypto merge
  ANDROID: gki_defconfig: enable CONFIG_UIO
  UPSTREAM: ALSA: pcm: add support for 352.8KHz and 384KHz sample rate
  ANDROID: Log which device failed to suspend in dpm_suspend_start()
  UPSTREAM: arm64: Add support for relocating the kernel with RELR relocations
  ANDROID: update ABI after CONFIG_MMC=m
  CONFIG_MMC=m
  ABI: Update ABI for LTS, 8250 changes
  ANDROID: Removed extraneous serial 8250 configs
  Adding SERIAL_OF_PLATFORM module to gki
  fscrypt: document testing with xfstests
  fscrypt: remove selection of CONFIG_CRYPTO_SHA256
  fscrypt: remove unnecessary includes of ratelimit.h
  fscrypt: don't set policy for a dead directory
  fscrypt: decrypt only the needed blocks in __fscrypt_decrypt_bio()
  fscrypt: support decrypting multiple filesystem blocks per page
  fscrypt: introduce fscrypt_decrypt_block_inplace()
  fscrypt: handle blocksize < PAGE_SIZE in fscrypt_zeroout_range()
  fscrypt: support encrypting multiple filesystem blocks per page
  fscrypt: introduce fscrypt_encrypt_block_inplace()
  fscrypt: clean up some BUG_ON()s in block encryption/decryption
  fscrypt: rename fscrypt_do_page_crypto() to fscrypt_crypt_block()
  fscrypt: remove the "write" part of struct fscrypt_ctx
  fscrypt: simplify bounce page handling

Conflicts:
	arch/Kconfig
	fs/crypto/bio.c
	fs/ext4/page-io.c
	fs/f2fs/data.c
	fs/f2fs/f2fs.h
	fs/f2fs/super.c
	include/linux/fscrypt.h
	sound/core/pcm_native.c

Change-Id: Ia94ba2ae85e04be9f69115e2da2d69d0dc76545f
Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2020-03-16 23:09:43 -07:00
Martin Schwidefsky
0ab02b6a3a BACKPORT: compiler: remove __no_sanitize_address_or_inline again
(Upstream commit 163c8d54a997153ee1a1e07fcac087492ad85b37).

The __no_sanitize_address_or_inline and __no_kasan_or_inline defines
are almost identical. The only difference is that __no_kasan_or_inline
does not have the 'notrace' attribute.

To be able to replace __no_sanitize_address_or_inline with the older
definition, add 'notrace' to __no_kasan_or_inline and change to two
users of __no_sanitize_address_or_inline in the s390 code.

The 'notrace' option is necessary for e.g. the __load_psw_mask function
in arch/s390/include/asm/processor.h. Without the option it is possible
to trace __load_psw_mask which leads to kernel stack overflow.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Pointed-out-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Change-Id: I27af631729f8ea52e55f31c02f584c01a0918073
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Bug: 128674696
2019-09-24 17:44:11 -07:00
Masahiro Yamada
753328727c compiler.h: give up __compiletime_assert_fallback()
commit 81b45683487a51b0f4d3b29d37f20d6d078544e4 upstream.

__compiletime_assert_fallback() is supposed to stop building earlier
by using the negative-array-size method in case the compiler does not
support "error" attribute, but has never worked like that.

You can simply try:

    BUILD_BUG_ON(1);

GCC immediately terminates the build, but Clang does not report
anything because Clang does not support the "error" attribute now.
It will later fail at link time, but __compiletime_assert_fallback()
is not working at least.

The root cause is commit 1d6a0d19c8 ("bug.h: prevent double evaluation
of `condition' in BUILD_BUG_ON").  Prior to that commit, BUILD_BUG_ON()
was checked by the negative-array-size method *and* the link-time trick.
Since that commit, the negative-array-size is not effective because
'__cond' is no longer constant.  As the comment in <linux/build_bug.h>
says, GCC (and Clang as well) only emits the error for obvious cases.

When '__cond' is a variable,

    ((void)sizeof(char[1 - 2 * __cond]))

... is not obvious for the compiler to know the array size is negative.

Reverting that commit would break BUILD_BUG() because negative-size-array
is evaluated before the code is optimized out.

Let's give up __compiletime_assert_fallback().  This commit does not
change the current behavior since it just rips off the useless code.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-04 08:02:34 +02:00
Ivaylo Georgiev
1b74ac0833 Merge android-4.19.36 (10f41ccfc) into msm-4.19
* refs/heads/tmp-10f41ccfc:
  Linux 4.19.36
  appletalk: Fix compile regression
  mm: hide incomplete nr_indirectly_reclaimable in sysfs
  mm: hide incomplete nr_indirectly_reclaimable in /proc/zoneinfo
  IB/hfi1: Failed to drain send queue when QP is put into error state
  bpf: fix use after free in bpf_evict_inode
  include/linux/swap.h: use offsetof() instead of custom __swapoffset macro
  f2fs: fix to dirty inode for i_mode recovery
  rxrpc: Fix client call connect/disconnect race
  lib/div64.c: off by one in shift
  appletalk: Fix use-after-free in atalk_proc_exit
  drm/amdkfd: use init_mqd function to allocate object for hid_mqd (CI)
  ARM: 8839/1: kprobe: make patch_lock a raw_spinlock_t
  drm/nouveau/volt/gf117: fix speedo readout register
  PCI: Blacklist power management of Gigabyte X299 DESIGNARE EX PCIe ports
  coresight: cpu-debug: Support for CA73 CPUs
  Revert "ACPI / EC: Remove old CLEAR_ON_RESUME quirk"
  crypto: axis - fix for recursive locking from bottom half
  drm/panel: panel-innolux: set display off in innolux_panel_unprepare
  lkdtm: Add tests for NULL pointer dereference
  lkdtm: Print real addresses
  soc/tegra: pmc: Drop locking from tegra_powergate_is_powered()
  scsi: core: Avoid that system resume triggers a kernel warning
  iommu/dmar: Fix buffer overflow during PCI bus notification
  net: ip6_gre: fix possible NULL pointer dereference in ip6erspan_set_version
  crypto: sha512/arm - fix crash bug in Thumb2 build
  crypto: sha256/arm - fix crash bug in Thumb2 build
  xfrm: destroy xfrm_state synchronously on net exit path
  net/rds: fix warn in rds_message_alloc_sgs
  ACPI: EC / PM: Disable non-wakeup GPEs for suspend-to-idle
  ALSA: hda: fix front speakers on Huawei MBXP
  drm/ttm: Fix bo_global and mem_global kfree error
  platform/x86: Add Intel AtomISP2 dummy / power-management driver
  kernel: hung_task.c: disable on suspend
  cifs: fallback to older infolevels on findfirst queryinfo retry
  net: stmmac: Set OWN bit for jumbo frames
  f2fs: cleanup dirty pages if recover failed
  netfilter: nf_flow_table: remove flowtable hook flush routine in netns exit routine
  compiler.h: update definition of unreachable()
  KVM: nVMX: restore host state in nested_vmx_vmexit for VMFail
  HID: usbhid: Add quirk for Redragon/Dragonrise Seymur 2
  ACPI / SBS: Fix GPE storm on recent MacBookPro's
  usbip: fix vhci_hcd controller counting
  ARM: samsung: Limit SAMSUNG_PM_CHECK config option to non-Exynos platforms
  pinctrl: core: make sure strcmp() doesn't get a null parameter
  HID: i2c-hid: override HID descriptors for certain devices
  Bluetooth: Fix debugfs NULL pointer dereference
  media: au0828: cannot kfree dev before usb disconnect
  powerpc/pseries: Remove prrn_work workqueue
  serial: uartps: console_setup() can't be placed to init section
  netfilter: xt_cgroup: shrink size of v2 path
  f2fs: fix to do sanity check with current segment number
  ASoC: Fix UBSAN warning at snd_soc_get/put_volsw_sx()
  9p locks: add mount option for lock retry interval
  9p: do not trust pdu content for stat item size
  f2fs: fix to avoid NULL pointer dereference on se->discard_map
  rsi: improve kernel thread handling to fix kernel panic
  gpio: pxa: handle corner case of unprobed device
  drm/cirrus: Use drm_framebuffer_put to avoid kernel oops in clean-up
  ext4: prohibit fstrim in norecovery mode
  x86/gart: Exclude GART aperture from kcore
  fix incorrect error code mapping for OBJECTID_NOT_FOUND
  x86/hw_breakpoints: Make default case in hw_breakpoint_arch_parse() return an error
  iommu/vt-d: Check capability before disabling protected memory
  drm/nouveau/debugfs: Fix check of pm_runtime_get_sync failure
  x86/cpu/cyrix: Use correct macros for Cyrix calls on Geode processors
  x86/hyperv: Prevent potential NULL pointer dereference
  x86/hpet: Prevent potential NULL pointer dereference
  irqchip/mbigen: Don't clear eventid when freeing an MSI
  irqchip/stm32: Don't clear rising/falling config registers at init
  drm/exynos/mixer: fix MIXER shadow registry synchronisation code
  blk-iolatency: #include "blk.h"
  PM / Domains: Avoid a potential deadlock
  ACPI / utils: Drop reference in test for device presence
  perf tests: Fix a memory leak in test__perf_evsel__tp_sched_test()
  perf tests: Fix memory leak by expr__find_other() in test__expr()
  perf tests: Fix a memory leak of cpu_map object in the openat_syscall_event_on_all_cpus test
  perf evsel: Free evsel->counts in perf_evsel__exit()
  perf hist: Add missing map__put() in error case
  perf top: Fix error handling in cmd_top()
  perf build-id: Fix memory leak in print_sdt_events()
  perf config: Fix a memory leak in collect_config()
  perf config: Fix an error in the config template documentation
  perf list: Don't forget to drop the reference to the allocated thread_map
  tools/power turbostat: return the exit status of a command
  x86/mm: Don't leak kernel addresses
  sched/core: Fix buffer overflow in cgroup2 property cpu.max
  sched/cpufreq: Fix 32-bit math overflow
  scsi: iscsi: flush running unbind operations when removing a session
  thermal/intel_powerclamp: fix truncated kthread name
  thermal/int340x_thermal: fix mode setting
  thermal/int340x_thermal: Add additional UUIDs
  thermal: bcm2835: Fix crash in bcm2835_thermal_debugfs
  thermal: samsung: Fix incorrect check after code merge
  thermal/intel_powerclamp: fix __percpu declaration of worker_data
  ALSA: opl3: fix mismatch between snd_opl3_drum_switch definition and declaration
  mmc: davinci: remove extraneous __init annotation
  i40iw: Avoid panic when handling the inetdev event
  IB/mlx4: Fix race condition between catas error reset and aliasguid flows
  drm/udl: use drm_gem_object_put_unlocked.
  auxdisplay: hd44780: Fix memory leak on ->remove()
  ALSA: sb8: add a check for request_region
  ALSA: echoaudio: add a check for ioremap_nocache
  ext4: report real fs size after failed resize
  ext4: add missing brelse() in add_new_gdb_meta_bg()
  ext4: avoid panic during forced reboot
  perf/core: Restore mmap record type correctly
  inotify: Fix fsnotify_mark refcount leak in inotify_update_existing_watch()
  arc: hsdk_defconfig: Enable CONFIG_BLK_DEV_RAM
  ARC: u-boot args: check that magic number is correct
  ANDROID: cuttlefish_defconfig: Enable L2TP/PPTP
  ANDROID: Makefile: Properly resolve 4.19.35 merge
  Make arm64 serial port config compatible with crosvm

Conflicts:
	kernel/sched/cpufreq_schedutil.c

Change-Id: I8f049eb34344f72bf2d202c5e360f448771c78f4
Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2019-05-16 05:06:14 -07:00
ndesaulniers@google.com
19e6ff0146 compiler.h: update definition of unreachable()
[ Upstream commit fe0640eb30b7da261ae84d252ed9ed3c7e68dfd8 ]

Fixes the objtool warning seen with Clang:
arch/x86/mm/fault.o: warning: objtool: no_context()+0x220: unreachable
instruction

Fixes commit 815f0ddb34 ("include/linux/compiler*.h: make compiler-*.h
mutually exclusive")

Josh noted that the fallback definition was meant to work around a
pre-gcc-4.6 bug. GCC still needs to work around
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82365, so compiler-gcc.h
defines its own version of unreachable().  Clang and ICC can use this
shared definition.

Link: https://github.com/ClangBuiltLinux/linux/issues/204
Suggested-by: Andy Lutomirski <luto@amacapital.net>
Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-04-20 09:16:02 +02:00
Ivaylo Georgiev
bb8fbbfe0f Merge android-4.19.26 (c97d2b5) into msm-4.19
* refs/heads/tmp-c97d2b5:
  Linux 4.19.26
  net: phylink: avoid resolving link state too early
  pinctrl: max77620: Use define directive for max77620_pinconf_param values
  udlfb: handle unplug properly
  netfilter: ipt_CLUSTERIP: fix sleep-in-atomic bug in clusterip_config_entry_put()
  netfilter: nfnetlink_osf: add missing fmatch check
  netfilter: ipv6: Don't preserve original oif for loopback address
  netfilter: nft_compat: use-after-free when deleting targets
  netfilter: nf_tables: fix flush after rule deletion in the same batch
  Revert "bridge: do not add port to router list when receives query with source 0.0.0.0"
  staging: erofs: unzip_vle_lz4.c,utils.c: rectify BUG_ONs
  staging: erofs: unzip_{pagevec.h,vle.c}: rectify BUG_ONs
  staging: erofs: {dir,inode,super}.c: rectify BUG_ONs
  staging: erofs: add a full barrier in erofs_workgroup_unfreeze
  staging: erofs: fix `erofs_workgroup_{try_to_freeze, unfreeze}'
  staging: erofs: atomic_cond_read_relaxed on ref-locked workgroup
  staging: erofs: remove the redundant d_rehash() for the root dentry
  staging: erofs: drop multiref support temporarily
  staging: erofs: replace BUG_ON with DBG_BUGON in data.c
  staging: erofs: complete error handing of z_erofs_do_read_page
  staging: erofs: fix a bug when appling cache strategy
  net: avoid false positives in untrusted gso validation
  net: validate untrusted gso packets without csum offload
  kvm: x86: Return LA57 feature based on hardware capability
  mac80211: allocate tailroom for forwarded mesh packets
  drm/amd/display: Fix MST reboot/poweroff sequence
  drm/i915/fbdev: Actually configure untiled displays
  gpu: drm: radeon: Set DPM_FLAG_NEVER_SKIP when enabling PM-runtime
  drm/amdgpu: Set DPM_FLAG_NEVER_SKIP when enabling PM-runtime
  ARC: define ARCH_SLAB_MINALIGN = 8
  ARC: U-boot: check arguments paranoidly
  ARCv2: Enable unaligned access in early ASM code
  parisc: Fix ptrace syscall number modification
  KEYS: always initialize keyring_index_key::desc_len
  KEYS: user: Align the payload buffer
  RDMA/srp: Rework SCSI device reset handling
  net/mlx5e: XDP, fix redirect resources availability check
  net_sched: fix two more memory leaks in cls_tcindex
  net_sched: fix a memory leak in cls_tcindex
  net_sched: fix a race condition in tcindex_destroy()
  sit: check if IPv6 enabled before calling ip6_err_gen_icmpv6_unreach()
  geneve: should not call rt6_lookup() when ipv6 was disabled
  net: socket: make bond ioctls go through compat_ifreq_ioctl()
  net: socket: fix SIOCGIFNAME in compat
  Revert "kill dev_ifsioc()"
  Revert "socket: fix struct ifreq size in compat ioctl"
  team: avoid complex list operations in team_nl_cmd_options_set()
  sctp: set stream ext to NULL after freeing it in sctp_stream_outq_migrate
  sctp: call gso_reset_checksum when computing checksum in sctp_gso_segment
  net: sfp: do not probe SFP module before we're attached
  net/packet: fix 4gb buffer limit due to overflow check
  net/mlx5e: Don't overwrite pedit action when multiple pedit used
  net/mlx4_en: Force CHECKSUM_NONE for short ethernet frames
  net: ena: fix race between link up and device initalization
  ipv6: propagate genlmsg_reply return code
  inet_diag: fix reporting cgroup classid and fallback to priority
  batman-adv: fix uninit-value in batadv_interface_tx()
  isdn: avm: Fix string plus integer warning from Clang
  net/mlx5e: Fix wrong (zero) TX drop counter indication for representor
  selftests: forwarding: Add a test case for externally learned FDB entries
  mlxsw: spectrum_switchdev: Do not treat static FDB entries as sticky
  net: bridge: Mark FDB entries that were added by user as such
  mlxsw: pci: Return error on PCI reset timeout
  dpaa_eth: NETIF_F_LLTX requires to do our own update of trans_start
  bpf: bpf_setsockopt: reset sock dst on SO_MARK changes
  leds: lp5523: fix a missing check of return value of lp55xx_read
  hwmon: (tmp421) Correct the misspelling of the tmp442 compatible attribute in OF device ID table
  atm: he: fix sign-extension overflow on large shift
  selftests/bpf: retry tests that expect build-id
  bpf: zero out build_id for BPF_STACK_BUILD_ID_IP
  bpf: don't assume build-id length is always 20 bytes
  afs: Fix key refcounting in file locking code
  afs: Don't set vnode->cb_s_break in afs_validate()
  selftests: tc-testing: fix parsing of ife type
  selftests: tc-testing: fix tunnel_key failure if dst_port is unspecified
  selftests: tc-testing: drop test on missing tunnel key id
  pvcalls-front: fix potential null dereference
  drm/sun4i: backend: add missing of_node_puts
  vhost: return EINVAL if iovecs size does not match the message size
  drm/amd/display: fix PME notification not working in RV desktop
  drm/amdkfd: Don't assign dGPUs to APU topology devices
  drm/meson: add missing of_node_put
  always clear the X2APIC_ENABLE bit for PV guest
  netfilter: nft_flow_offload: fix checking method of conntrack helper
  scsi: cxgb4i: add wait_for_completion()
  scsi: ufs: Fix geometry descriptor size
  scsi: qedi: Add ep_state for login completion on un-reachable targets
  scsi: ufs: Fix system suspend status
  scsi: tcmu: avoid cmd/qfull timers updated whenever a new cmd comes
  isdn: i4l: isdn_tty: Fix some concurrency double-free bugs
  net: stmmac: Prevent RX starvation in stmmac_napi_poll()
  net: stmmac: Fix the logic of checking if RX Watchdog must be enabled
  net: stmmac: Check if CBS is supported before configuring
  net: stmmac: dwxgmac2: Only clear interrupts that are active
  net: stmmac: Fix PCI module removal leak
  acpi/nfit: Fix race accessing memdev in nfit_get_smbios_id()
  powerpc/8xx: fix setting of pagetable for Abatron BDI debug tool.
  RDMA/mthca: Clear QP objects during their allocation
  netfilter: nft_flow_offload: fix interaction with vrf slave device
  bpf: fix panic in stack_map_get_build_id() on i386 and arm32
  pvcalls-front: Avoid get_free_pages(GFP_KERNEL) under spinlock
  bpf: correctly set initial window on active Fast Open sender
  netfilter: nft_flow_offload: Fix reverse route lookup
  MIPS: jazz: fix 64bit build
  include/linux/compiler*.h: fix OPTIMIZER_HIDE_VAR
  scsi: isci: initialize shost fully before calling scsi_add_host()
  scsi: qla4xxx: check return code of qla4xxx_copy_from_fwddb_param
  netfilter: nf_tables: fix leaking object reference count
  selftests: forwarding: Add a test for VLAN deletion
  mlxsw: spectrum_acl: Add cleanup after C-TCAM update error condition
  xprtrdma: Double free in rpcrdma_sendctxs_create()
  MIPS: ath79: Enable OF serial ports in the default config
  net/mlx4: Get rid of page operation after dma_alloc_coherent
  watchdog: mt7621_wdt/rt2880_wdt: Fix compilation problem
  selftests/bpf: Test [::] -> [::1] rewrite in sys_sendmsg in test_sock_addr
  bpf: Fix [::] -> [::1] rewrite in sys_sendmsg
  net: hns: Fix use after free identified by SLUB debug
  qed: Fix qed_ll2_post_rx_buffer_notify_fw() by adding a write memory barrier
  qed: Fix qed_chain_set_prod() for PBL chains with non power of 2 page count
  xen/pvcalls: remove set but not used variable 'intf'
  mfd: mc13xxx: Fix a missing check of a register-read failure
  mfd: tps65218: Use devm_regmap_add_irq_chip and clean up error path in probe()
  mfd: cros_ec_dev: Add missing mfd_remove_devices() call in remove
  mfd: axp20x: Add supported cells for AXP803
  mfd: axp20x: Re-align MFD cell entries
  mfd: axp20x: Add AC power supply cell for AXP813
  mfd: wm5110: Add missing ASRC rate register
  mfd: qcom_rpm: write fw_version to CTRL_REG
  mfd: bd9571mwv: Add volatile register to make DVFS work
  mfd: ab8500-core: Return zero in get_register_interruptible()
  mfd: mt6397: Do not call irq_domain_remove if PMIC unsupported
  mfd: db8500-prcmu: Fix some section annotations
  mfd: twl-core: Fix section annotations on {,un}protect_pm_master
  pvcalls-back: set -ENOTCONN in pvcalls_conn_back_read
  pvcalls-front: properly allocate sk
  pvcalls-front: don't try to free unallocated rings
  pvcalls-front: read all data before closing the connection
  mfd: ti_am335x_tscadc: Use PLATFORM_DEVID_AUTO while registering mfd cells
  backlight: pwm_bl: Fix devicetree parsing with auto-generated brightness tables
  KEYS: allow reaching the keys quotas exactly
  ALSA: hda/realtek: Disable PC beep in passthrough on alc285
  ALSA: hda/realtek - Headset microphone and internal speaker support for System76 oryp5
  proc, oom: do not report alien mms when setting oom_score_adj
  numa: change get_mempolicy() to use nr_node_ids instead of MAX_NUMNODES
  ceph: avoid repeatedly adding inode to mdsc->snap_flush_list
  libceph: handle an empty authorize reply
  mac80211: Free mpath object when rhashtable insertion fails
  mac80211: Use linked list instead of rhashtable walk for mesh tables
  mac80211: Restore vif beacon interval if start ap fails
  gpio: pxa: avoid attempting to set pin direction via pinctrl on MMP2
  gpio: MT7621: use a per instance irq_chip structure
  MIPS: eBPF: Always return sign extended 32b values
  tracing: Fix number of entries in trace header
  ARM: 8834/1: Fix: kprobes: optimized kprobes illegal instruction

Change-Id: Ie585d8274f881ac87155e9deda341c43cd8923b4
Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2019-03-13 10:41:20 -07:00
Michael S. Tsirkin
4047a7ad3b include/linux/compiler*.h: fix OPTIMIZER_HIDE_VAR
[ Upstream commit 3e2ffd655cc6a694608d997738989ff5572a8266 ]

Since commit 815f0ddb34 ("include/linux/compiler*.h: make compiler-*.h
mutually exclusive") clang no longer reuses the OPTIMIZER_HIDE_VAR macro
from compiler-gcc - instead it gets the version in
include/linux/compiler.h.  Unfortunately that version doesn't actually
prevent compiler from optimizing out the variable.

Fix up by moving the macro out from compiler-gcc.h to compiler.h.
Compilers without incline asm support will keep working
since it's protected by an ifdef.

Also fix up comments to match reality since we are no longer overriding
any macros.

Build-tested with gcc and clang.

Fixes: 815f0ddb34 ("include/linux/compiler*.h: make compiler-*.h mutually exclusive")
Cc: Eli Friedman <efriedma@codeaurora.org>
Cc: Joe Perches <joe@perches.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-02-27 10:08:53 +01:00
Masahiro Yamada
1859acb7d3 compiler.h: give up __compiletime_assert_fallback()
__compiletime_assert_fallback() is supposed to stop building earlier
by using the negative-array-size method in case the compiler does not
support "error" attribute, but has never worked like that.

You can simply try:

    BUILD_BUG_ON(1);

GCC immediately terminates the build, but Clang does not report
anything because Clang does not support the "error" attribute now.
It will later fail at link time, but __compiletime_assert_fallback()
is not working at least.

The root cause is commit 1d6a0d19c8 ("bug.h: prevent double evaluation
of `condition' in BUILD_BUG_ON").  Prior to that commit, BUILD_BUG_ON()
was checked by the negative-array-size method *and* the link-time trick.
Since that commit, the negative-array-size is not effective because
'__cond' is no longer constant.  As the comment in <linux/build_bug.h>
says, GCC (and Clang as well) only emits the error for obvious cases.

When '__cond' is a variable,

    ((void)sizeof(char[1 - 2 * __cond]))

... is not obvious for the compiler to know the array size is negative.

Reverting that commit would break BUILD_BUG() because negative-size-array
is evaluated before the code is optimized out.

Let's give up __compiletime_assert_fallback().  This commit does not
change the current behavior since it just rips off the useless code.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
[ckadabi@codeaurora.org: Resolved minor conflicts]
Patch-mainline: lkml @ 08/25/18, 11:16
Signed-off-by: Channagoud Kadabi <ckadabi@codeaurora.org>
Change-Id: I0823e48c8d4abcbdd6e5448cd5dab1ac30111a1a
2018-09-21 10:07:11 -07:00
Ard Biesheuvel
7290d58095 module: use relative references for __ksymtab entries
An ordinary arm64 defconfig build has ~64 KB worth of __ksymtab entries,
each consisting of two 64-bit fields containing absolute references, to
the symbol itself and to a char array containing its name, respectively.

When we build the same configuration with KASLR enabled, we end up with an
additional ~192 KB of relocations in the .init section, i.e., one 24 byte
entry for each absolute reference, which all need to be processed at boot
time.

Given how the struct kernel_symbol that describes each entry is completely
local to module.c (except for the references emitted by EXPORT_SYMBOL()
itself), we can easily modify it to contain two 32-bit relative references
instead.  This reduces the size of the __ksymtab section by 50% for all
64-bit architectures, and gets rid of the runtime relocations entirely for
architectures implementing KASLR, either via standard PIE linking (arm64)
or using custom host tools (x86).

Note that the binary search involving __ksymtab contents relies on each
section being sorted by symbol name.  This is implemented based on the
input section names, not the names in the ksymtab entries, so this patch
does not interfere with that.

Given that the use of place-relative relocations requires support both in
the toolchain and in the module loader, we cannot enable this feature for
all architectures.  So make it dependent on whether
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS is defined.

Link: http://lkml.kernel.org/r/20180704083651.24360-4-ard.biesheuvel@linaro.org
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Jessica Yu <jeyu@kernel.org>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: James Morris <james.morris@microsoft.com>
Cc: James Morris <jmorris@namei.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Nicolas Pitre <nico@linaro.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: "Serge E. Hallyn" <serge@hallyn.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Garnier <thgarnie@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-08-22 10:52:47 -07:00
Rasmus Villemoes
203583990c linux/compiler.h: don't use bool
Appararently, it's possible to have a non-trivial TU include a few
headers, including linux/build_bug.h, without ending up with
linux/types.h.  So the 0day bot sent me

config: um-x86_64_defconfig (attached as .config)

>> include/linux/compiler.h:316:3: error: unknown type name 'bool'; did you mean '_Bool'?
      bool __cond = !(condition);    \

for something I'm working on.

Rather than contributing to the #include madness and including
linux/types.h from compiler.h, just use int.

Link: http://lkml.kernel.org/r/20180817101036.20969-1-linux@rasmusvillemoes.dk
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Christopher Li <sparse@chrisli.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-08-22 10:52:47 -07:00
Mikulas Patocka
2026d35741 branch-check: fix long->int truncation when profiling branches
The function __builtin_expect returns long type (see the gcc
documentation), and so do macros likely and unlikely. Unfortunatelly, when
CONFIG_PROFILE_ANNOTATED_BRANCHES is selected, the macros likely and
unlikely expand to __branch_check__ and __branch_check__ truncates the
long type to int. This unintended truncation may cause bugs in various
kernel code (we found a bug in dm-writecache because of it), so it's
better to fix __branch_check__ to return long.

Link: http://lkml.kernel.org/r/alpine.LRH.2.02.1805300818140.24812@file01.intranet.prod.int.rdu2.redhat.com

Cc: Ingo Molnar <mingo@redhat.com>
Cc: stable@vger.kernel.org
Fixes: 1f0d69a9fc ("tracing: profile likely and unlikely annotations")
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
2018-06-04 17:28:20 -04:00
Arnd Bergmann
173a3efd3e bug.h: work around GCC PR82365 in BUG()
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>
2018-02-21 15:35:43 -08:00
Linus Torvalds
178e834c47 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fixes from Herbert Xu:
 "This fixes the following issues:

   - oversize stack frames on mn10300 in sha3-generic

   - warning on old compilers in sha3-generic

   - API error in sun4i_ss_prng

   - potential dead-lock in sun4i_ss_prng

   - null-pointer dereference in sha512-mb

   - endless loop when DECO acquire fails in caam

   - kernel oops when hashing empty message in talitos"

* 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  crypto: sun4i_ss_prng - convert lock to _bh in sun4i_ss_prng_generate
  crypto: sun4i_ss_prng - fix return value of sun4i_ss_prng_generate
  crypto: caam - fix endless loop when DECO acquire fails
  crypto: sha3-generic - Use __optimize to support old compilers
  compiler-gcc.h: __nostackprotector needs gcc-4.4 and up
  compiler-gcc.h: Introduce __optimize function attribute
  crypto: sha3-generic - deal with oversize stack frames
  crypto: talitos - fix Kernel Oops on hashing an empty file
  crypto: sha512-mb - initialize pending lengths correctly
2018-02-12 08:57:21 -08:00
Geert Uytterhoeven
df5d45aa08 compiler-gcc.h: Introduce __optimize function attribute
Create a new function attribute __optimize, which allows to specify an
optimization level on a per-function basis.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2018-02-08 22:37:10 +11:00
Andrey Ryabinin
7f1e541fc8 compiler.h: Add read_word_at_a_time() function.
Sometimes we know that it's safe to do potentially out-of-bounds access
because we know it won't cross a page boundary.  Still, KASAN will
report this as a bug.

Add read_word_at_a_time() function which is supposed to be used in such
cases.  In read_word_at_a_time() KASAN performs relaxed check - only the
first byte of access is validated.

Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-02-01 12:20:21 -08:00
Andrey Ryabinin
bdb5ac801a compiler.h, kasan: Avoid duplicating __read_once_size_nocheck()
Instead of having two identical __read_once_size_nocheck() functions
with different attributes, consolidate all the difference in new macro
__no_kasan_or_inline and use it. No functional changes.

Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-02-01 12:20:21 -08:00
Mark Rutland
b899a85043 compiler.h: Remove ACCESS_ONCE()
There are no longer any kernelspace uses of ACCESS_ONCE(), so we can
remove the definition from <linux/compiler.h>.

This patch removes the ACCESS_ONCE() definition, and updates comments
which referred to it. At the same time, some inconsistent and redundant
whitespace is removed from comments.

Tested-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Joe Perches <joe@perches.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: apw@canonical.com
Link: http://lkml.kernel.org/r/20171127103824.36526-4-mark.rutland@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-12-12 13:22:10 +01:00
Ingo Molnar
050ab10a64 Merge branch 'linus' into core/objtool, to pick up dependent commits
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-11-14 07:21:44 +01:00
Josh Poimboeuf
10259821ac objtool: Make unreachable annotation inline asms explicitly volatile
Add 'volatile' to the unreachable annotation macro inline asm
statements.  They're already implicitly volatile because they don't have
output constraints, but it's clearer and more robust to make them
explicitly volatile.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/28659257b7a6adf4a7f65920dad70b2b0226e996.1509974104.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-11-07 10:48:22 +01:00
Josh Poimboeuf
d0c2e691d1 objtool: Add a comment for the unreachable annotation macros
Add a comment for the unreachable annotation macros to explain their
purpose and the '__COUNTER__' label hack.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1570e48d9f87e0fc6f0126c32e7e1de6e109cb67.1509974104.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-11-07 10:48:22 +01:00
Ingo Molnar
8c5db92a70 Merge branch 'linus' into locking/core, to resolve conflicts
Conflicts:
	include/linux/compiler-clang.h
	include/linux/compiler-gcc.h
	include/linux/compiler-intel.h
	include/uapi/linux/stddef.h

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-11-07 10:32:44 +01:00
Josh Poimboeuf
ec1e1b6109 objtool: Prevent GCC from merging annotate_unreachable(), take 2
This fixes the following warning with GCC 4.6:

  mm/migrate.o: warning: objtool: migrate_misplaced_transhuge_page()+0x71: unreachable instruction

The problem is that the compiler merged identical annotate_unreachable()
inline asm blocks, resulting in a missing 'unreachable' annotation.

This problem happened before, and was partially fixed with:

  3d1e236022 ("objtool: Prevent GCC from merging annotate_unreachable()")

That commit tried to ensure that each instance of the
annotate_unreachable() inline asm statement has a unique label.  It used
the __LINE__ macro to generate the label number.  However, even the line
number isn't necessarily unique when used in an inline function with
multiple callers (in this case, __alloc_pages_node()'s use of
VM_BUG_ON).

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@suse.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: kbuild-all@01.org
Cc: tipbuild@zytor.com
Fixes: 3d1e236022 ("objtool: Prevent GCC from merging annotate_unreachable()")
Link: http://lkml.kernel.org/r/20171103221941.cajpwszir7ujxyc4@treble
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-11-04 15:03:39 +01:00
Greg Kroah-Hartman
b24413180f License cleanup: add SPDX GPL-2.0 license identifier to files with no license
Many source files in the tree are missing licensing information, which
makes it harder for compliance tools to determine the correct license.

By default all files without license information are under the default
license of the kernel, which is GPL version 2.

Update the files which contain no license information with the 'GPL-2.0'
SPDX license identifier.  The SPDX identifier is a legally binding
shorthand, which can be used instead of the full boiler plate text.

This patch is based on work done by Thomas Gleixner and Kate Stewart and
Philippe Ombredanne.

How this work was done:

Patches were generated and checked against linux-4.14-rc6 for a subset of
the use cases:
 - file had no licensing information it it.
 - file was a */uapi/* one with no licensing information in it,
 - file was a */uapi/* one with existing licensing information,

Further patches will be generated in subsequent months to fix up cases
where non-standard license headers were used, and references to license
had to be inferred by heuristics based on keywords.

The analysis to determine which SPDX License Identifier to be applied to
a file was done in a spreadsheet of side by side results from of the
output of two independent scanners (ScanCode & Windriver) producing SPDX
tag:value files created by Philippe Ombredanne.  Philippe prepared the
base worksheet, and did an initial spot review of a few 1000 files.

The 4.13 kernel was the starting point of the analysis with 60,537 files
assessed.  Kate Stewart did a file by file comparison of the scanner
results in the spreadsheet to determine which SPDX license identifier(s)
to be applied to the file. She confirmed any determination that was not
immediately clear with lawyers working with the Linux Foundation.

Criteria used to select files for SPDX license identifier tagging was:
 - Files considered eligible had to be source code files.
 - Make and config files were included as candidates if they contained >5
   lines of source
 - File already had some variant of a license header in it (even if <5
   lines).

All documentation files were explicitly excluded.

The following heuristics were used to determine which SPDX license
identifiers to apply.

 - when both scanners couldn't find any license traces, file was
   considered to have no license information in it, and the top level
   COPYING file license applied.

   For non */uapi/* files that summary was:

   SPDX license identifier                            # files
   ---------------------------------------------------|-------
   GPL-2.0                                              11139

   and resulted in the first patch in this series.

   If that file was a */uapi/* path one, it was "GPL-2.0 WITH
   Linux-syscall-note" otherwise it was "GPL-2.0".  Results of that was:

   SPDX license identifier                            # files
   ---------------------------------------------------|-------
   GPL-2.0 WITH Linux-syscall-note                        930

   and resulted in the second patch in this series.

 - if a file had some form of licensing information in it, and was one
   of the */uapi/* ones, it was denoted with the Linux-syscall-note if
   any GPL family license was found in the file or had no licensing in
   it (per prior point).  Results summary:

   SPDX license identifier                            # files
   ---------------------------------------------------|------
   GPL-2.0 WITH Linux-syscall-note                       270
   GPL-2.0+ WITH Linux-syscall-note                      169
   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause)    21
   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)    17
   LGPL-2.1+ WITH Linux-syscall-note                      15
   GPL-1.0+ WITH Linux-syscall-note                       14
   ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause)    5
   LGPL-2.0+ WITH Linux-syscall-note                       4
   LGPL-2.1 WITH Linux-syscall-note                        3
   ((GPL-2.0 WITH Linux-syscall-note) OR MIT)              3
   ((GPL-2.0 WITH Linux-syscall-note) AND MIT)             1

   and that resulted in the third patch in this series.

 - when the two scanners agreed on the detected license(s), that became
   the concluded license(s).

 - when there was disagreement between the two scanners (one detected a
   license but the other didn't, or they both detected different
   licenses) a manual inspection of the file occurred.

 - In most cases a manual inspection of the information in the file
   resulted in a clear resolution of the license that should apply (and
   which scanner probably needed to revisit its heuristics).

 - When it was not immediately clear, the license identifier was
   confirmed with lawyers working with the Linux Foundation.

 - If there was any question as to the appropriate license identifier,
   the file was flagged for further research and to be revisited later
   in time.

In total, over 70 hours of logged manual review was done on the
spreadsheet to determine the SPDX license identifiers to apply to the
source files by Kate, Philippe, Thomas and, in some cases, confirmation
by lawyers working with the Linux Foundation.

Kate also obtained a third independent scan of the 4.13 code base from
FOSSology, and compared selected files where the other two scanners
disagreed against that SPDX file, to see if there was new insights.  The
Windriver scanner is based on an older version of FOSSology in part, so
they are related.

Thomas did random spot checks in about 500 files from the spreadsheets
for the uapi headers and agreed with SPDX license identifier in the
files he inspected. For the non-uapi files Thomas did random spot checks
in about 15000 files.

In initial set of patches against 4.14-rc6, 3 files were found to have
copy/paste license identifier errors, and have been fixed to reflect the
correct identifier.

Additionally Philippe spent 10 hours this week doing a detailed manual
inspection and review of the 12,461 patched files from the initial patch
version early this week with:
 - a full scancode scan run, collecting the matched texts, detected
   license ids and scores
 - reviewing anything where there was a license detected (about 500+
   files) to ensure that the applied SPDX license was correct
 - reviewing anything where there was no detection but the patch license
   was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied
   SPDX license was correct

This produced a worksheet with 20 files needing minor correction.  This
worksheet was then exported into 3 different .csv files for the
different types of files to be modified.

These .csv files were then reviewed by Greg.  Thomas wrote a script to
parse the csv files and add the proper SPDX tag to the file, in the
format that the file expected.  This script was further refined by Greg
based on the output to detect more types of files automatically and to
distinguish between header and source .c files (which need different
comment types.)  Finally Greg ran the script using the .csv files to
generate the patches.

Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-02 11:10:55 +01:00
Will Deacon
59ecbbe7b3 locking/barriers: Kill lockless_dereference()
lockless_dereference() is a nice idea, but it gained little traction in
kernel code since its introduction three years ago. This is partly
because it's a pain to type, but also because using READ_ONCE() instead
has worked correctly on all architectures apart from Alpha, which is a
fully supported but somewhat niche architecture these days.

Now that READ_ONCE() has been upgraded to contain an implicit
smp_read_barrier_depends() and the few callers of lockless_dereference()
have been converted, we can remove lockless_dereference() altogether.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1508840570-22169-5-git-send-email-will.deacon@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-10-24 13:17:33 +02:00
Will Deacon
76ebbe78f7 locking/barriers: Add implicit smp_read_barrier_depends() to READ_ONCE()
In preparation for the removal of lockless_dereference(), which is the
same as READ_ONCE() on all architectures other than Alpha, add an
implicit smp_read_barrier_depends() to READ_ONCE() so that it can be
used to head dependency chains on all architectures.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1508840570-22169-3-git-send-email-will.deacon@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-10-24 13:17:32 +02:00
Will Deacon
d15155824c linux/compiler.h: Split into compiler.h and compiler_types.h
linux/compiler.h is included indirectly by linux/types.h via
uapi/linux/types.h -> uapi/linux/posix_types.h -> linux/stddef.h
-> uapi/linux/stddef.h and is needed to provide a proper definition of
offsetof.

Unfortunately, compiler.h requires a definition of
smp_read_barrier_depends() for defining lockless_dereference() and soon
for defining READ_ONCE(), which means that all
users of READ_ONCE() will need to include asm/barrier.h to avoid splats
such as:

   In file included from include/uapi/linux/stddef.h:1:0,
                    from include/linux/stddef.h:4,
                    from arch/h8300/kernel/asm-offsets.c:11:
   include/linux/list.h: In function 'list_empty':
>> include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends' [-Werror=implicit-function-declaration]
     smp_read_barrier_depends(); /* Enforce dependency ordering from x */ \
     ^

A better alternative is to include asm/barrier.h in linux/compiler.h,
but this requires a type definition for "bool" on some architectures
(e.g. x86), which is defined later by linux/types.h. Type "bool" is also
used directly in linux/compiler.h, so the whole thing is pretty fragile.

This patch splits compiler.h in two: compiler_types.h contains type
annotations, definitions and the compiler-specific parts, whereas
compiler.h #includes compiler-types.h and additionally defines macros
such as {READ,WRITE.ACCESS}_ONCE().

uapi/linux/stddef.h and linux/linkage.h are then moved over to include
linux/compiler_types.h, which fixes the build for h8 and blackfin.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1508840570-22169-2-git-send-email-will.deacon@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-10-24 13:17:32 +02:00
Linus Torvalds
b1b6f83ac9 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 mm changes from Ingo Molnar:
 "PCID support, 5-level paging support, Secure Memory Encryption support

  The main changes in this cycle are support for three new, complex
  hardware features of x86 CPUs:

   - Add 5-level paging support, which is a new hardware feature on
     upcoming Intel CPUs allowing up to 128 PB of virtual address space
     and 4 PB of physical RAM space - a 512-fold increase over the old
     limits. (Supercomputers of the future forecasting hurricanes on an
     ever warming planet can certainly make good use of more RAM.)

     Many of the necessary changes went upstream in previous cycles,
     v4.14 is the first kernel that can enable 5-level paging.

     This feature is activated via CONFIG_X86_5LEVEL=y - disabled by
     default.

     (By Kirill A. Shutemov)

   - Add 'encrypted memory' support, which is a new hardware feature on
     upcoming AMD CPUs ('Secure Memory Encryption', SME) allowing system
     RAM to be encrypted and decrypted (mostly) transparently by the
     CPU, with a little help from the kernel to transition to/from
     encrypted RAM. Such RAM should be more secure against various
     attacks like RAM access via the memory bus and should make the
     radio signature of memory bus traffic harder to intercept (and
     decrypt) as well.

     This feature is activated via CONFIG_AMD_MEM_ENCRYPT=y - disabled
     by default.

     (By Tom Lendacky)

   - Enable PCID optimized TLB flushing on newer Intel CPUs: PCID is a
     hardware feature that attaches an address space tag to TLB entries
     and thus allows to skip TLB flushing in many cases, even if we
     switch mm's.

     (By Andy Lutomirski)

  All three of these features were in the works for a long time, and
  it's coincidence of the three independent development paths that they
  are all enabled in v4.14 at once"

* 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (65 commits)
  x86/mm: Enable RCU based page table freeing (CONFIG_HAVE_RCU_TABLE_FREE=y)
  x86/mm: Use pr_cont() in dump_pagetable()
  x86/mm: Fix SME encryption stack ptr handling
  kvm/x86: Avoid clearing the C-bit in rsvd_bits()
  x86/CPU: Align CR3 defines
  x86/mm, mm/hwpoison: Clear PRESENT bit for kernel 1:1 mappings of poison pages
  acpi, x86/mm: Remove encryption mask from ACPI page protection type
  x86/mm, kexec: Fix memory corruption with SME on successive kexecs
  x86/mm/pkeys: Fix typo in Documentation/x86/protection-keys.txt
  x86/mm/dump_pagetables: Speed up page tables dump for CONFIG_KASAN=y
  x86/mm: Implement PCID based optimization: try to preserve old TLB entries using PCID
  x86: Enable 5-level paging support via CONFIG_X86_5LEVEL=y
  x86/mm: Allow userspace have mappings above 47-bit
  x86/mm: Prepare to expose larger address space to userspace
  x86/mpx: Do not allow MPX if we have mappings above 47-bit
  x86/mm: Rename tasksize_32bit/64bit to task_size_32bit/64bit()
  x86/xen: Redefine XEN_ELFNOTE_INIT_P2M using PUD_SIZE * PTRS_PER_PUD
  x86/mm/dump_pagetables: Fix printout of p4d level
  x86/mm/dump_pagetables: Generalize address normalization
  x86/boot: Fix memremap() related build failure
  ...
2017-09-04 12:21:28 -07:00
Linus Torvalds
b0c79f49c3 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 asm updates from Ingo Molnar:

 - Introduce the ORC unwinder, which can be enabled via
   CONFIG_ORC_UNWINDER=y.

   The ORC unwinder is a lightweight, Linux kernel specific debuginfo
   implementation, which aims to be DWARF done right for unwinding.
   Objtool is used to generate the ORC unwinder tables during build, so
   the data format is flexible and kernel internal: there's no
   dependency on debuginfo created by an external toolchain.

   The ORC unwinder is almost two orders of magnitude faster than the
   (out of tree) DWARF unwinder - which is important for perf call graph
   profiling. It is also significantly simpler and is coded defensively:
   there has not been a single ORC related kernel crash so far, even
   with early versions. (knock on wood!)

   But the main advantage is that enabling the ORC unwinder allows
   CONFIG_FRAME_POINTERS to be turned off - which speeds up the kernel
   measurably:

   With frame pointers disabled, GCC does not have to add frame pointer
   instrumentation code to every function in the kernel. The kernel's
   .text size decreases by about 3.2%, resulting in better cache
   utilization and fewer instructions executed, resulting in a broad
   kernel-wide speedup. Average speedup of system calls should be
   roughly in the 1-3% range - measurements by Mel Gorman [1] have shown
   a speedup of 5-10% for some function execution intense workloads.

   The main cost of the unwinder is that the unwinder data has to be
   stored in RAM: the memory cost is 2-4MB of RAM, depending on kernel
   config - which is a modest cost on modern x86 systems.

   Given how young the ORC unwinder code is it's not enabled by default
   - but given the performance advantages the plan is to eventually make
   it the default unwinder on x86.

   See Documentation/x86/orc-unwinder.txt for more details.

 - Remove lguest support: its intended role was that of a temporary
   proof of concept for virtualization, plus its removal will enable the
   reduction (removal) of the paravirt API as well, so Rusty agreed to
   its removal. (Juergen Gross)

 - Clean up and fix FSGS related functionality (Andy Lutomirski)

 - Clean up IO access APIs (Andy Shevchenko)

 - Enhance the symbol namespace (Jiri Slaby)

* 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (47 commits)
  objtool: Handle GCC stack pointer adjustment bug
  x86/entry/64: Use ENTRY() instead of ALIGN+GLOBAL for stub32_clone()
  x86/fpu/math-emu: Add ENDPROC to functions
  x86/boot/64: Extract efi_pe_entry() from startup_64()
  x86/boot/32: Extract efi_pe_entry() from startup_32()
  x86/lguest: Remove lguest support
  x86/paravirt/xen: Remove xen_patch()
  objtool: Fix objtool fallthrough detection with function padding
  x86/xen/64: Fix the reported SS and CS in SYSCALL
  objtool: Track DRAP separately from callee-saved registers
  objtool: Fix validate_branch() return codes
  x86: Clarify/fix no-op barriers for text_poke_bp()
  x86/switch_to/64: Rewrite FS/GS switching yet again to fix AMD CPUs
  selftests/x86/fsgsbase: Test selectors 1, 2, and 3
  x86/fsgsbase/64: Report FSBASE and GSBASE correctly in core dumps
  x86/fsgsbase/64: Fully initialize FS and GS state in start_thread_common
  x86/asm: Fix UNWIND_HINT_REGS macro for older binutils
  x86/asm/32: Fix regs_get_register() on segment registers
  x86/xen/64: Rearrange the SYSCALL entries
  x86/asm/32: Remove a bunch of '& 0xffff' from pt_regs segment reads
  ...
2017-09-04 09:52:57 -07:00
Joe Stringer
c03567a8e8 include/linux/compiler.h: don't perform compiletime_assert with -O0
Commit c7acec713d ("kernel.h: handle pointers to arrays better in
container_of()") made use of __compiletime_assert() from container_of()
thus increasing the usage of this macro, allowing developers to notice
type conflicts in usage of container_of() at compile time.

However, the implementation of __compiletime_assert relies on compiler
optimizations to report an error.  This means that if a developer uses
"-O0" with any code that performs container_of(), the compiler will always
report an error regardless of whether there is an actual problem in the
code.

This patch disables compile_time_assert when optimizations are disabled to
allow such code to compile with CFLAGS="-O0".

Example compilation failure:

./include/linux/compiler.h:547:38: error: call to `__compiletime_assert_94' declared with attribute error: pointer type mismatch in container_of()
  _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                      ^
./include/linux/compiler.h:530:4: note: in definition of macro `__compiletime_assert'
    prefix ## suffix();    \
    ^~~~~~
./include/linux/compiler.h:547:2: note: in expansion of macro `_compiletime_assert'
  _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
  ^~~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:46:37: note: in expansion of macro `compiletime_assert'
 #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                     ^~~~~~~~~~~~~~~~~~
./include/linux/kernel.h:860:2: note: in expansion of macro `BUILD_BUG_ON_MSG'
  BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
  ^~~~~~~~~~~~~~~~

[akpm@linux-foundation.org: use do{}while(0), per Michal]
Link: http://lkml.kernel.org/r/20170829230114.11662-1-joe@ovn.org
Fixes: c7acec713d ("kernel.h: handle pointers to arrays better in container_of()")
Signed-off-by: Joe Stringer <joe@ovn.org>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Michal Nazarewicz <mina86@mina86.com>
Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-08-31 16:33:15 -07:00
Ingo Molnar
413d63d71b Merge branch 'linus' into x86/mm to pick up fixes and to fix conflicts
Conflicts:
	arch/x86/kernel/head64.c
	arch/x86/mm/mmap.c

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-08-26 09:19:13 +02:00
Ingo Molnar
1d0f49e140 Merge branch 'x86/urgent' into x86/asm, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-08-10 13:14:15 +02:00
Josh Poimboeuf
649ea4d5a6 objtool: Assume unannotated UD2 instructions are dead ends
Arnd reported some false positive warnings with GCC 7:

  drivers/hid/wacom_wac.o: warning: objtool: wacom_bpt3_touch()+0x2a5: stack state mismatch: cfa1=7+8 cfa2=6+16
  drivers/iio/adc/vf610_adc.o: warning: objtool: vf610_adc_calculate_rates() falls through to next function vf610_adc_sample_set()
  drivers/pwm/pwm-hibvt.o: warning: objtool: hibvt_pwm_get_state() falls through to next function hibvt_pwm_remove()
  drivers/pwm/pwm-mediatek.o: warning: objtool: mtk_pwm_config() falls through to next function mtk_pwm_enable()
  drivers/spi/spi-bcm2835.o: warning: objtool: .text: unexpected end of section
  drivers/spi/spi-bcm2835aux.o: warning: objtool: .text: unexpected end of section
  drivers/watchdog/digicolor_wdt.o: warning: objtool: dc_wdt_get_timeleft() falls through to next function dc_wdt_restart()

When GCC 7 detects a potential divide-by-zero condition, it sometimes
inserts a UD2 instruction for the case where the divisor is zero,
instead of letting the hardware trap on the divide instruction.

Objtool doesn't consider UD2 to be fatal unless it's annotated with
unreachable().  So it considers the GCC-generated UD2 to be non-fatal,
and it tries to follow the control flow past the UD2 and gets
confused.

Previously, objtool *did* assume UD2 was always a dead end.  That
changed with the following commit:

  d1091c7fa3 ("objtool: Improve detection of BUG() and other dead ends")

The motivation behind that change was that Peter was planning on using
UD2 for __WARN(), which is *not* a dead end.  However, it turns out
that some emulators rely on UD2 being fatal, so he ended up using
'ud0' instead:

  9a93848fe7 ("x86/debug: Implement __WARN() using UD0")

For GCC 4.5+, it should be safe to go back to the previous assumption
that UD2 is fatal, even when it's not annotated with unreachable().

But for pre-4.5 versions of GCC, the unreachable() macro isn't
supported, so such cases of UD2 need to be explicitly annotated as
reachable.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: d1091c7fa3 ("objtool: Improve detection of BUG() and other dead ends")
Link: http://lkml.kernel.org/r/e57fa9dfede25f79487da8126ee9cdf7b856db65.1501188854.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-07-28 08:33:32 +02:00
Kees Cook
aa5d1b8150 x86/asm: Add ASM_UNREACHABLE
This creates an unreachable annotation in asm for CONFIG_STACK_VALIDATION=y.
While here, adjust earlier uses of \t\n into \n\t.

Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: David S. Miller <davem@davemloft.net>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Elena Reshetova <elena.reshetova@intel.com>
Cc: Eric Biggers <ebiggers3@gmail.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: Hans Liljestrand <ishkamiel@gmail.com>
Cc: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: Jann Horn <jannh@google.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Manfred Spraul <manfred@colorfullife.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rik van Riel <riel@redhat.com>
Cc: Serge E. Hallyn <serge@hallyn.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: arozansk@redhat.com
Cc: axboe@kernel.dk
Cc: kernel-hardening@lists.openwall.com
Cc: linux-arch <linux-arch@vger.kernel.org>
Link: http://lkml.kernel.org/r/1500921349-10803-3-git-send-email-keescook@chromium.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-07-25 11:18:09 +02:00
Linus Torvalds
e06fdaf40a Merge tag 'gcc-plugins-v4.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
Pull structure randomization updates from Kees Cook:
 "Now that IPC and other changes have landed, enable manual markings for
  randstruct plugin, including the task_struct.

  This is the rest of what was staged in -next for the gcc-plugins, and
  comes in three patches, largest first:

   - mark "easy" structs with __randomize_layout

   - mark task_struct with an optional anonymous struct to isolate the
     __randomize_layout section

   - mark structs to opt _out_ of automated marking (which will come
     later)

  And, FWIW, this continues to pass allmodconfig (normal and patched to
  enable gcc-plugins) builds of x86_64, i386, arm64, arm, powerpc, and
  s390 for me"

* tag 'gcc-plugins-v4.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
  randstruct: opt-out externally exposed function pointer structs
  task_struct: Allow randomized layout
  randstruct: Mark various structs for randomization
2017-07-19 08:55:18 -07:00
Tom Lendacky
7375ae3a0b compiler-gcc.h: Introduce __nostackprotector function attribute
Create a new function attribute, __nostackprotector, that can used to turn off
stack protection on a per function basis.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Alexander Potapenko <glider@google.com>
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brijesh Singh <brijesh.singh@amd.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Larry Woodman <lwoodman@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Matt Fleming <matt@codeblueprint.co.uk>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Toshimitsu Kani <toshi.kani@hpe.com>
Cc: kasan-dev@googlegroups.com
Cc: kvm@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: linux-doc@vger.kernel.org
Cc: linux-efi@vger.kernel.org
Cc: linux-mm@kvack.org
Link: http://lkml.kernel.org/r/0576fd5c74440ad0250f16ac6609ecf587812456.1500319216.git.thomas.lendacky@amd.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-07-18 20:23:20 +02:00