160 Commits

Author SHA1 Message Date
Wilson Sung
63376759a1 Merge android-4.19-stable (4.19.272) into android-msm-pixel-4.19-lts
Merge 4.19.272 into android-4.19-stable
Linux 4.19.272
  * usb: host: xhci-plat: add wakeup entry at sysfs
      drivers/usb/host/xhci-plat.c
  * ipv6: ensure sane device mtu in tunnels
      net/ipv6/ip6_tunnel.c
      net/ipv6/sit.c
  * exit: Use READ_ONCE() for all oops/warn limit reads
      kernel/exit.c
      kernel/panic.c
    docs: Fix path paste-o for /sys/kernel/warn_count
  * panic: Expose "warn_count" to sysfs
      kernel/panic.c
  * panic: Introduce warn_limit
      kernel/panic.c
  * panic: Consolidate open-coded panic_on_warn checks
      include/linux/kernel.h
      kernel/panic.c
      kernel/sched/core.c
  * exit: Allow oops_limit to be disabled
      kernel/exit.c
  * exit: Expose "oops_count" to sysfs
      kernel/exit.c
  * exit: Put an upper limit on how often we can oops
      kernel/exit.c
    ia64: make IA64_MCA_RECOVERY bool instead of tristate
    h8300: Fix build errors from do_exit() to make_task_dead() transition
    hexagon: Fix function name in die()
    objtool: Add a missing comma to avoid string concatenation
  * exit: Add and use make_task_dead.
      arch/arm64/kernel/traps.c
      arch/arm64/mm/fault.c
      include/linux/sched/task.h
      kernel/exit.c
  * panic: unset panic_on_warn inside panic()
      kernel/panic.c
  * sysctl: add a new register_sysctl_init() interface
      fs/proc/proc_sysctl.c
      include/linux/sysctl.h
    dmaengine: imx-sdma: Fix a possible memory leak in sdma_transfer_init
    ARM: dts: imx: Fix pca9547 i2c-mux node name
    x86/entry/64: Add instruction suffix to SYSRET
    x86/asm: Fix an assembler warning with current binutils
    drm/i915/display: fix compiler warning about array overrun
    x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL
    Revert "Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI mode"
    net/tg3: resolve deadlock in tg3_reset_task() during EEH
    net: ravb: Fix possible hang if RIS2_QFF1 happen
  * sctp: fail if no bound addresses can be used for a given scope
      net/sctp/bind_addr.c
    netrom: Fix use-after-free of a listening socket.
  * netfilter: conntrack: fix vtag checks for ABORT/SHUTDOWN_COMPLETE
      net/netfilter/nf_conntrack_proto_sctp.c
  * ipv4: prevent potential spectre v1 gadget in ip_metrics_convert()
      net/ipv4/metrics.c
  * netlink: annotate data races around sk_state
      net/netlink/af_netlink.c
  * netlink: annotate data races around dst_portid and dst_group
      net/netlink/af_netlink.c
  * netlink: annotate data races around nlk->portid
      net/netlink/af_netlink.c
  * netlink: remove hash::nelems check in netlink_insert
      net/netlink/af_netlink.c
    netfilter: nft_set_rbtree: skip elements in transaction from garbage collection
  * net: fix UaF in netns ops registration error path
      net/core/net_namespace.c
  * EDAC/device: Respect any driver-supplied workqueue polling value
      drivers/edac/edac_device.c
    ARM: 9280/1: mm: fix warning on phys_addr_t to void pointer assignment
    cifs: Fix oops due to uncleared server->smbd_conn in reconnect
    smbd: Make upper layer decide when to destroy the transport
    trace_events_hist: add check for return value of 'create_hist_field'
  * tracing: Make sure trace_printk() can output as soon as it can be used
      kernel/trace/trace.c
      kernel/trace/trace.h
      kernel/trace/trace_output.c
  * module: Don't wait for GOING modules
      kernel/module.c
    scsi: hpsa: Fix allocation size for scsi_host_alloc()
  * Bluetooth: hci_sync: cancel cmd_timer if hci_open failed
      net/bluetooth/hci_core.c
    fs: reiserfs: remove useless new_opts in reiserfs_remount
    perf env: Do not return pointers to local variables
  * block: fix and cleanup bio_check_ro
      block/blk-core.c
  * netfilter: conntrack: do not renew entry stuck in tcp SYN_SENT state
      net/netfilter/nf_conntrack_proto_tcp.c
    w1: fix WARNING after calling w1_process()
    w1: fix deadloop in __w1_remove_master_device()
  * tcp: avoid the lookup process failing to get sk in ehash table
      net/ipv4/inet_hashtables.c
      net/ipv4/inet_timewait_sock.c
    dmaengine: xilinx_dma: call of_node_put() when breaking out of for_each_child_of_node()
    dmaengine: xilinx_dma: Fix devm_platform_ioremap_resource error handling
    dmaengine: xilinx_dma: program hardware supported buffer length
    dmaengine: xilinx_dma: commonize DMA copy size calculation
    HID: betop: check shape of output reports
    net: macb: fix PTP TX timestamp failure due to packet padding
  * dmaengine: Fix double increment of client_count in dma_chan_get()
      drivers/dma/dmaengine.c
    net: mlx5: eliminate anonymous module_init & module_exit
  * usb: gadget: f_fs: Ensure ep0req is dequeued before free_request
      drivers/usb/gadget/function/f_fs.c
  * usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait
      drivers/usb/gadget/function/f_fs.c
  * HID: check empty report_list in hid_validate_values()
      drivers/hid/hid-core.c
  * net: mdio: validate parameter addr in mdiobus_get_phy()
      drivers/net/phy/mdio_bus.c
    net: usb: sr9700: Handle negative len
    wifi: rndis_wlan: Prevent buffer overflow in rndis_query_oid
    net: nfc: Fix use-after-free in local_cleanup()
    phy: rockchip-inno-usb2: Fix missing clk_disable_unprepare() in rockchip_usb2phy_power_on()
  * bpf: Fix pointer-leak due to insufficient speculative store bypass mitigation
      kernel/bpf/verifier.c
    amd-xgbe: Delay AN timeout during KR training
    amd-xgbe: TX Flow Ctrl Registers are h/w ver dependent
    affs: initialize fsdata in affs_truncate()
    IB/hfi1: Fix expected receive setup error exit issues
    IB/hfi1: Reserve user expected TIDs
    IB/hfi1: Reject a zero-length user expected buffer
    tomoyo: fix broken dependency on *.conf.default
    EDAC/highbank: Fix memory leak in highbank_mc_probe()
    HID: intel_ish-hid: Add check for ishtp_dma_tx_map
    ARM: dts: imx6qdl-gw560x: Remove incorrect 'uart-has-rtscts'
    UPSTREAM: tcp: fix tcp_rmem documentation
  * UPSTREAM: nvmem: core: skip child nodes not matching binding
      drivers/nvmem/core.c
  * BACKPORT: nvmem: core: Fix a resource leak on error in nvmem_add_cells_from_of()
      drivers/nvmem/core.c
  * UPSTREAM: sched/eas: Don't update misfit status if the task is pinned
      kernel/sched/fair.c
  * BACKPORT: arm64: link with -z norelro for LLD or aarch64-elf
      arch/arm64/Makefile
  * UPSTREAM: driver: core: Fix list corruption after device_del()
      drivers/base/core.c
  * UPSTREAM: coresight: tmc-etr: Fix barrier packet insertion for perf buffer
      drivers/hwtracing/coresight/coresight-tmc-etr.c
  * UPSTREAM: f2fs: fix double free of unicode map
      fs/f2fs/super.c
  * BACKPORT: net: xfrm: fix memory leak in xfrm_user_policy()
      net/xfrm/xfrm_state.c
    UPSTREAM: xfrm/compat: Don't allocate memory with __GFP_ZERO
    UPSTREAM: xfrm/compat: memset(0) 64-bit padding at right place
    UPSTREAM: xfrm/compat: Translate by copying XFRMA_UNSPEC attribute
  * UPSTREAM: scsi: ufs: Fix missing brace warning for old compilers
      drivers/scsi/ufs/ufshcd-crypto.c
  * UPSTREAM: arm64: vdso32: make vdso32 install conditional
      arch/arm64/Makefile
  * UPSTREAM: loop: unset GENHD_FL_NO_PART_SCAN on LOOP_CONFIGURE
      drivers/block/loop.c
    BACKPORT: drm/virtio: fix missing dma_fence_put() in virtio_gpu_execbuffer_ioctl()
  * BACKPORT: sched/uclamp: Protect uclamp fast path code with static key
      kernel/sched/core.c
      kernel/sched/cpufreq_schedutil.c
      kernel/sched/sched.h
  * BACKPORT: sched/uclamp: Fix initialization of struct uclamp_rq
      kernel/sched/core.c
  * UPSTREAM: coresight: etmv4: Fix CPU power management setup in probe() function
      drivers/hwtracing/coresight/coresight-etm4x.c
  * UPSTREAM: arm64: vdso: Add --eh-frame-hdr to ldflags
      arch/arm64/kernel/vdso/Makefile
  * BACKPORT: arm64: vdso: Add '-Bsymbolic' to ldflags
      arch/arm64/kernel/vdso/Makefile
    UPSTREAM: drm/virtio: fix a wait_event condition
  * BACKPORT: sched/topology: Don't try to build empty sched domains
      kernel/cgroup/cpuset.c
      kernel/sched/topology.c
  * BACKPORT: binder: prevent UAF read in print_binder_transaction_log_entry()
      drivers/android/binder.c
      drivers/android/binder_internal.h
  * BACKPORT: copy_process(): don't use ksys_close() on cleanups
      kernel/fork.c
  * BACKPORT: arm64: vdso: Remove unnecessary asm-offsets.c definitions
      arch/arm64/kernel/asm-offsets.c
  * UPSTREAM: locking/lockdep, cpu/hotplug: Annotate AP thread
      kernel/cpu.c
  * Revert "xhci: Add a flag to disable USB3 lpm on a xhci root port level."
      drivers/usb/host/xhci.c
      drivers/usb/host/xhci.h
    Merge 4.19.271 into android-4.19-stable
    BACKPORT: mac80211_hwsim: add concurrent channels scanning support over virtio
  * BACKPORT: mac80211_hwsim: add frame transmission support over virtio This allows communication with external entities.
      include/uapi/linux/virtio_ids.h
  * BACKPORT: driver core: Skip unnecessary work when device doesn't have sync_state()
      drivers/base/core.c
Linux 4.19.271
    x86/fpu: Use _Alignof to avoid undefined behavior in TYPE_ALIGN
  * Revert "ext4: generalize extents status tree search functions"
      fs/ext4/ext4.h
      fs/ext4/extents.c
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/inode.c
      include/trace/events/ext4.h
  * Revert "ext4: add new pending reservation mechanism"
      fs/ext4/ext4.h
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/super.c
  * Revert "ext4: fix reserved cluster accounting at delayed write time"
      fs/ext4/ext4.h
      fs/ext4/extents.c
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/inode.c
      include/trace/events/ext4.h
  * Revert "ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline"
      fs/ext4/extents.c
    gsmi: fix null-deref in gsmi_get_variable
    serial: atmel: fix incorrect baudrate setup
    serial: pch_uart: Pass correct sg to dma_unmap_sg()
    usb-storage: apply IGNORE_UAS only for HIKSEMI MD202 on RTL9210
  * usb: gadget: f_ncm: fix potential NULL ptr deref in ncm_bitrate()
      drivers/usb/gadget/function/f_ncm.c
    usb: gadget: g_webcam: Send color matching descriptor per frame
    usb: typec: altmodes/displayport: Fix pin assignment calculation
    usb: typec: altmodes/displayport: Add pin assignment helper
    usb: host: ehci-fsl: Fix module alias
    USB: serial: cp210x: add SCALANCE LPE-9000 device id
    cifs: do not include page data when checking signature
    mmc: sunxi-mmc: Fix clock refcount imbalance during unbind
    comedi: adv_pci1760: Fix PWM instruction handling
  * usb: core: hub: disable autosuspend for TI TUSB8041
      drivers/usb/core/hub.c
    USB: misc: iowarrior: fix up header size for USB_DEVICE_ID_CODEMERCS_IOW100
    USB: serial: option: add Quectel EM05CN modem
    USB: serial: option: add Quectel EM05CN (SG) modem
    USB: serial: option: add Quectel EC200U modem
    USB: serial: option: add Quectel EM05-G (RS) modem
    USB: serial: option: add Quectel EM05-G (CS) modem
    USB: serial: option: add Quectel EM05-G (GR) modem
  * prlimit: do_prlimit needs to have a speculation check
      kernel/sys.c
  * xhci: Add a flag to disable USB3 lpm on a xhci root port level.
      drivers/usb/host/xhci.c
      drivers/usb/host/xhci.h
  * xhci: Fix null pointer dereference when host dies
      drivers/usb/host/xhci.c
  * usb: xhci: Check endpoint is valid before dereferencing it
      drivers/usb/host/xhci-ring.c
  * xhci-pci: set the dma max_seg_size
      drivers/usb/host/xhci-pci.c
    nilfs2: fix general protection fault in nilfs_btree_insert()
    Add exception protection processing for vd in axi_chan_handle_err function
  * f2fs: let's avoid panic if extent_tree is not created
      fs/f2fs/extent_cache.c
    RDMA/srp: Move large values to a new enum for gcc13
  * net/ethtool/ioctl: return -EOPNOTSUPP if we have no phy stats
      net/core/ethtool.c
    pNFS/filelayout: Fix coalescing test for single DS
  * ANDROID: usb: f_accessory: Check buffer size when initialised via composite
      drivers/usb/gadget/configfs.c
      drivers/usb/gadget/function/f_accessory.c
    Merge 4.19.270 into android-4.19-stable
Linux 4.19.270
    serial: tegra: Change lower tolerance baud rate limit for tegra20 and tegra30
    serial: tegra: Only print FIFO error message when an error occurs
    tty: serial: tegra: Handle RX transfer in PIO mode if DMA wasn't started
    Revert "usb: ulpi: defer ulpi_register on ulpi_read_id timeout"
    efi: fix NULL-deref in init error path
  * arm64: cmpxchg_double*: hazard against entire exchange variable
      arch/arm64/include/asm/atomic_ll_sc.h
      arch/arm64/include/asm/atomic_lse.h
    drm/virtio: Fix GEM handle creation UAF
    x86/resctrl: Fix task CLOSID/RMID update race
    x86/resctrl: Use task_curr() instead of task_struct->on_cpu to prevent unnecessary IPI
    iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe()
    iommu/mediatek-v1: Add error handle for mtk_iommu_probe
    net/mlx5: Fix ptp max frequency adjustment range
    net/mlx5: Rename ptp clock info
    nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame()
    hvc/xen: lock console list traversal
    regulator: da9211: Use irq handler when ready
  * EDAC/device: Fix period calculation in edac_device_reset_delay_period()
      drivers/edac/edac_device.c
      drivers/edac/edac_module.h
    x86/boot: Avoid using Intel mnemonics in AT&T syntax asm
    netfilter: ipset: Fix overflow before widen in the bitmap_ip_create() function.
  * ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline
      fs/ext4/exten Conflicts:
	drivers/edac/edac_device.c
	drivers/hwtracing/coresight/coresight-etm4x.c
	drivers/usb/core/hub.c
	drivers/usb/gadget/function/f_fs.c
	drivers/usb/gadget/function/f_hid.c
	kernel/panic.c
	mm/kasan/report.cts.c
  * ext4: fix reserved cluster accounting at delayed write time
      fs/ext4/ext4.h
      fs/ext4/extents.c
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/inode.c
      include/trace/events/ext4.h
  * ext4: add new pending reservation mechanism
      fs/ext4/ext4.h
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/super.c
  * ext4: generalize extents status tree search functions
      fs/ext4/ext4.h
      fs/ext4/extents.c
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/inode.c
      include/trace/events/ext4.h
  * ext4: fix uninititialized value in 'ext4_evict_inode'
      fs/ext4/super.c
  * ext4: fix use-after-free in ext4_orphan_cleanup
      fs/ext4/inode.c
  * ext4: lost matching-pair of trace in ext4_truncate
      fs/ext4/inode.c
  * ext4: fix bug_on in __es_tree_search caused by bad quota inode
      fs/quota/dquot.c
  * quota: Factor out setup of quota inode
      fs/quota/dquot.c
      include/linux/quotaops.h
    usb: ulpi: defer ulpi_register on ulpi_read_id timeout
    kest.pl: Fix grub2 menu handling for rebooting
    ktest.pl: Fix incorrect reboot for grub2bls
    ktest: introduce grub2bls REBOOT_TYPE option
    ktest: cleanup get_grub_index
    ktest: introduce _get_grub_index
    ktest: Add support for meta characters in GRUB_MENU
    ALSA: hda/hdmi: fix failures at PCM open on Intel ICL and later
    wifi: wilc1000: sdio: fix module autoloading
  * ipv6: raw: Deduct extension header length in rawv6_push_pending_frames
      net/ipv6/raw.c
    platform/x86: sony-laptop: Don't turn off 0x153 keyboard backlight during probe
    cifs: Fix uninitialized memory read for smb311 posix symlink create
  * ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF
      sound/core/control_compat.c
  * net/ulp: prevent ULP without clone op from entering the LISTEN status
      net/ipv4/inet_connection_sock.c
    s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple()
    perf auxtrace: Fix address filter duplicate symbol selection
    docs: Fix the docs build with Sphinx 6.0
  * net: sched: disallow noqueue for qdisc classes
      net/sched/sch_api.c
  * driver core: Fix bus_type.match() error handling in __driver_attach()
      drivers/base/dd.c
    parisc: Align parisc MADV_XXX constants with all other architectures
  * mbcache: Avoid nesting of cache->c_list_lock under bit locks
      fs/mbcache.c
    hfs/hfsplus: avoid WARN_ON() for sanity check, use proper error handling
    hfs/hfsplus: use WARN_ON for sanity check
  * ext4: don't allow journal inode to have encrypt flag
      fs/ext4/super.c
    riscv: uaccess: fix type of 0 variable on error in get_user()
    nfsd: fix handling of readdir in v4root vs. mount upcall timeout
    x86/bugs: Flush IBP in ib_prctl_set()
    ASoC: Intel: bytcr_rt5640: Add quirk for the Advantech MICA-071 tablet
    udf: Fix extension of the last extent in the file
    caif: fix memory leak in cfctrl_linkup_request()
    usb: rndis_host: Secure rndis_query check against int overflow
    net: sched: atm: dont intepret cls results when asked to drop
    RDMA/mlx5: Fix validation of max_rd_atomic caps for DC
    net: phy: xgmiitorgmii: Fix refcount leak in xgmiitorgmii_probe
    net: amd-xgbe: add missed tasklet_kill
    nfc: Fix potential resource leaks
    qlcnic: prevent ->dcb use-after-free on qlcnic_dcb_enable() failure
  * bpf: pull before calling skb_postpull_rcsum()
      net/core/filter.c
  * SUNRPC: ensure the matching upcall is in-flight upon downcall
      include/linux/sunrpc/rpc_pipe_fs.h
  * ext4: fix deadlock due to mbcache entry corruption
      fs/ext4/xattr.c
      fs/mbcache.c
      include/linux/mbcache.h
  * mbcache: automatically delete entries from cache on freeing
      fs/mbcache.c
      include/linux/mbcache.h
  * ext4: fix race when reusing xattr blocks
      fs/ext4/xattr.c
  * ext4: unindent codeblock in ext4_xattr_block_set()
      fs/ext4/xattr.c
  * ext4: remove EA inode entry from mbcache on inode eviction
      fs/ext4/inode.c
      fs/ext4/xattr.c
      fs/ext4/xattr.h
  * mbcache: add functions to delete entry if unused
      fs/mbcache.c
      include/linux/mbcache.h
  * mbcache: don't reclaim used entries
      fs/mbcache.c
  * ext4: use kmemdup() to replace kmalloc + memcpy
      fs/ext4/xattr.c
  * ext4: correct inconsistent error msg in nojournal mode
      fs/ext4/super.c
  * ext4: goto right label 'failed_mount3a'
      fs/ext4/super.c
  * driver core: Set deferred_probe_timeout to a longer default if CONFIG_MODULES is set
      drivers/base/dd.c
    ravb: Fix "failed to switch device to config mode" message during unbind
    perf probe: Fix to get the DW_AT_decl_file and DW_AT_call_file as unsinged data
    perf probe: Use dwarf_attr_integrate as generic DWARF attr accessor
    dm thin: resume even if in FAIL mode
    media: s5p-mfc: Fix in register read and write for H264
    media: s5p-mfc: Clear workbit to handle error condition
    media: s5p-mfc: Fix to handle reference queue during finishing
    btrfs: replace strncpy() with strscpy()
    btrfs: send: avoid unnecessary backref lookups when finding clone source
  * ext4: allocate extended attribute value in vmalloc area
      fs/ext4/xattr.c
  * ext4: avoid unaccounted block allocation when expanding inode
      fs/ext4/inode.c
  * ext4: initialize quota before expanding inode in setproject ioctl
      fs/ext4/ioctl.c
  * ext4: fix inode leak in ext4_xattr_inode_create() on an error path
      fs/ext4/xattr.c
  * ext4: avoid BUG_ON when creating xattrs
      fs/ext4/xattr.c
  * ext4: fix error code return to user-space in ext4_get_branch()
      fs/ext4/indirect.c
  * ext4: fix corruption when online resizing a 1K bigalloc fs
      fs/ext4/resize.c
  * ext4: init quota for 'old.inode' in 'ext4_rename'
      fs/ext4/namei.c
  * ext4: fix bug_on in __es_tree_search caused by bad boot loader inode
      fs/ext4/ioctl.c
  * ext4: add helper to check quota inums
      fs/ext4/super.c
  * ext4: fix undefined behavior in bit shift for ext4_check_flag_values
      fs/ext4/ext4.h
  * ext4: add inode table check in __ext4_get_inode_loc to aovid possible infinite loop
      fs/ext4/inode.c
    drm/vmwgfx: Validate the box size for the snooped cursor
  * drm/connector: send hotplug uevent on connector cleanup
      drivers/gpu/drm/drm_connector.c
    device_cgroup: Roll back to original exceptions after copy failure
    parisc: led: Fix potential null-ptr-deref in start_task()
    iommu/amd: Fix ivrs_acpihid cmdline parsing code
    crypto: n2 - add missing hash statesize
  * PCI/sysfs: Fix double free in error path
      drivers/pci/pci-sysfs.c
  * PCI: Fix pci_device_is_present() for VFs by checking PF
      drivers/pci/pci.c
    ipmi: fix use after free in _ipmi_destroy_user()
    ima: Fix a potential NULL pointer access in ima_restore_measurement_list
    ipmi: fix long wait in unload when IPMI disconnect
    md/bitmap: Fix bitmap chunk size overflow issues
    cifs: fix confusing debug message
    media: dvb-core: Fix UAF due to refcount races at releasing
    media: dvb-core: Fix double free in dvb_register_device()
    ARM: 9256/1: NWFPE: avoid compiler-generated __aeabi_uldivmod
  * tracing: Fix infinite loop in tracing_read_pipe on overflowed print_trace_line
      kernel/trace/trace.c
    x86/microcode/intel: Do not retry microcode reloading on the APs
    dm cache: set needs_check flag after aborting metadata
    dm cache: Fix UAF in destroy()
    dm thin: Fix UAF in run_timer_softirq()
    dm thin: Use last transaction's pmd->root when commit failed
    dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort
    binfmt: Fix error return code in load_elf_fdpic_binary()
    binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf
    selftests: Use optional USERCFLAGS and USERLDFLAGS
    ARM: ux500: do not directly dereference __iomem
    ktest.pl minconfig: Unset configs instead of just removing them
  * soc: qcom: Select REMAP_MMIO for LLCC driver
      drivers/soc/qcom/Kconfig
    media: stv0288: use explicitly signed char
    SUNRPC: Don't leak netobj memory when gss_read_proxy_verf() fails
    tpm: tpm_tis: Add the missed acpi_put_table() to fix memory leak
    tpm: tpm_crb: Add the missed acpi_put_table() to fix memory leak
    mmc: vub300: fix warning - do not call blocking ops when !TASK_RUNNING
    md: fix a crash in mempool_free
  * pnode: terminate at peers of source
      fs/pnode.c
    ALSA: line6: fix stack overflow in line6_midi_transmit
    ALSA: line6: correct midi status byte when receiving data from podxt
  * ovl: Use ovl mounter's fsuid and fsgid in ovl_link()
      fs/overlayfs/dir.c
    hfsplus: fix bug causing custom uid and gid being unable to be assigned with mount
  * HID: plantronics: Additional PIDs for double volume key presses quirk
      drivers/hid/hid-ids.h
      drivers/hid/hid-plantronics.c
    powerpc/rtas: avoid scheduling in rtas_os_term()
    powerpc/rtas: avoid device tree lookups in rtas_os_term()
    ata: ahci: Fix PCS quirk application for suspend
    media: dvbdev: fix refcnt bug
  * media: dvbdev: fix build warning due to comments
      include/media/dvbdev.h
    gcov: add support for checksum field
    iio: adc: ad_sigma_delta: do not use internal iio_dev lock
    reiserfs: Add missing calls to reiserfs_security_free()
  * HID: wacom: Ensure bootloader PID is usable in hidraw mode
      drivers/hid/wacom_sys.c
      drivers/hid/wacom_wac.c
      drivers/hid/wacom_wac.h
  * usb: dwc3: core: defer probe on ulpi_read_id timeout
      drivers/usb/dwc3/core.c
  * pstore: Make sure CONFIG_PSTORE_PMSG selects CONFIG_RT_MUTEXES
      fs/pstore/Kconfig
  * pstore: Switch pmsg_lock to an rt_mutex to avoid priority inversion
      fs/pstore/pmsg.c
    ASoC: rt5670: Remove unbalanced pm_runtime_put()
    ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in rk_spdif_runtime_resume()
    ASoC: wm8994: Fix potential deadlock
    ASoC: rockchip: pdm: Add missing clk_disable_unprepare() in rockchip_pdm_runtime_resume()
    ASoC: mediatek: mt8173-rt5650-rt5514: fix refcount leak in mt8173_rt5650_rt5514_dev_probe()
    orangefs: Fix kmemleak in orangefs_prepare_debugfs_help_string()
    drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()
    drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid()
    clk: st: Fix memory leak in st_of_quadfs_setup()
    media: si470x: Fix use-after-free in si470x_int_in_callback()
    mmc: f-sdh30: Add quirks for broken timeout clock capability
  * regulator: core: fix use_count leakage when handling boot-on
      drivers/regulator/core.c
  * blk-mq: fix possible memleak when register 'hctx' failed
      block/blk-mq-sysfs.c
    media: dvb-usb: fix memory leak in dvb_usb_adapter_init()
  * media: dvbdev: adopts refcnt to avoid UAF
      include/media/dvbdev.h
    media: dvb-frontends: fix leak of memory fw
  * ppp: associate skb with a device at tx
      drivers/net/ppp/ppp_generic.c
  * mrp: introduce active flags to prevent UAF when applicant uninit
      include/net/mrp.h
    md/raid1: stop mdx_raid1 thread when raid1 array run failed
    drivers/md/md-bitmap: check the return value of md_bitmap_get_counter()
    drm/sti: Use drm_mode_copy()
    s390/lcs: Fix return type of lcs_start_xmit()
    s390/netiucv: Fix return type of netiucv_tx()
    s390/ctcm: Fix return type of ctc{mp,}m_tx()
    drm/amdgpu: Fix type of second parameter in trans_msg() callback
    igb: Do not free q_vector unless new one was allocated
    wifi: brcmfmac: Fix potential shift-out-of-bounds in brcmf_fw_alloc_request()
    hamradio: baycom_epp: Fix return type of baycom_send_packet()
    net: ethernet: ti: Fix return type of netcp_ndo_start_xmit()
  * bpf: make sure skb->len != 0 when redirecting to a tunneling device
      net/core/filter.c
    ipmi: fix memleak when unload ipmi driver
    ASoC: codecs: rt298: Add quirk for KBL-R RVP platform
    wifi: ar5523: Fix use-after-free on ar5523_cmd() timed out
    wifi: ath9k: verify the expected usb_endpoints are present
    hfs: fix OOB Read in __hfs_brec_find
    acct: fix potential integer overflow in encode_comp_t()
    nilfs2: fix shift-out-of-bounds/overflow in nilfs_sb2_bad_offset()
    ACPICA: Fix error code path in acpi_ds_call_control_method()
    fs: jfs: fix shift-out-of-bounds in dbDiscardAG
    udf: Avoid double brelse() in udf_rename()
    fs: jfs: fix shift-out-of-bounds in dbAllocAG
    binfmt_misc: fix shift-out-of-bounds in check_special_flags
  * net: stream: purge sk_error_queue in sk_stream_kill_queues()
      net/core/stream.c
    myri10ge: Fix an error handling path in myri10ge_probe()
    rxrpc: Fix missing unlock in rxrpc_do_sendmsg()
  * net_sched: reject TCF_EM_SIMPLE case for complex ematch module
      net/sched/ematch.c
  * skbuff: Account for tail adjustment during pull operations
      net/core/skbuff.c
    openvswitch: Fix flow lookup to use unmasked key
    rtc: mxc_v2: Add missing clk_disable_unprepare()
    r6040: Fix kmemleak in probe and remove
    nfc: pn533: Clear nfc_target before being used
    mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
    mISDN: hfcpci: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
    mISDN: hfcsusb: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
    nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure
    rtc: st-lpc: Add missing clk_disable_unprepare in st_rtc_probe()
    selftests/powerpc: Fix resource leaks
    powerpc/hv-gpci: Fix hv_gpci event list
    powerpc/83xx/mpc832x_rdb: call platform_device_put() in error case in of_fsl_spi_probe()
    powerpc/perf: callchain validate kernel stack pointer bounds
    powerpc/xive: add missing iounmap() in error path in xive_spapr_populate_irq_data()
    cxl: Fix refcount leak in cxl_calc_capp_routing
    powerpc/52xx: Fix a resource leak in an error handling path
    macintosh/macio-adb: check the return value of ioremap()
    macintosh: fix possible memory leak in macio_add_one_device()
    iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe()
    iommu/amd: Fix pci device refcount leak in ppr_notifier()
    rtc: snvs: Allow a time difference on clock register read
  * include/uapi/linux/swab: Fix potentially missing __always_inline
      include/uapi/linux/swab.h
    HSI: omap_ssi_core: Fix error handling in ssi_init()
    perf symbol: correction while adjusting symbol
  * power: supply: fix residue sysfs file in error handle route of __power_supply_register()
      drivers/power/supply/power_supply_core.c
    HSI: omap_ssi_core: fix possible memory leak in ssi_probe()
    HSI: omap_ssi_core: fix unbalanced pm_runtime_disable()
    fbdev: uvesafb: Fixes an error handling path in uvesafb_probe()
    fbdev: vermilion: decrease reference count in error path
    fbdev: via: Fix error in via_core_init()
    fbdev: pm2fb: fix missing pci_disable_device()
  * fbdev: ssd1307fb: Drop optional dependency
      drivers/video/fbdev/Kconfig
    samples: vfio-mdev: Fix missing pci_disable_device() in mdpy_fb_probe()
    tracing/hist: Fix issue of losting command info in error_log
    usb: storage: Add check for kcalloc
    i2c: ismt: Fix an out-of-bounds bug in ismt_access()
    vme: Fix error not catched in fake_init()
    staging: rtl8192e: Fix potential use-after-free in rtllib_rx_Monitor()
    staging: rtl8192u: Fix use after free in ieee80211_rx()
    i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe
  * chardev: fix error handling in cdev_device_add()
      fs/char_dev.c
    mcb: mcb-parse: fix error handing in chameleon_parse_gdd()
    drivers: mcb: fix resource leak in mcb_probe()
  * usb: gadget: f_hid: fix refcount leak on error path
      drivers/usb/gadget/function/f_hid.c
  * usb: gadget: f_hid: fix f_hidg lifetime vs cdev
      drivers/usb/gadget/function/f_hid.c
  * usb: gadget: f_hid: optional SETUP/SET_REPORT mode
      drivers/usb/gadget/function/f_hid.c
      drivers/usb/gadget/function/u_hid.h
    cxl: fix possible null-ptr-deref in cxl_pci_init_afu|adapter()
    cxl: fix possible null-ptr-deref in cxl_guest_init_afu|adapter()
    misc: sgi-gru: fix use-after-free error in gru_set_context_option, gru_fault and gru_handle_user_call_os
    misc: tifm: fix possible memory leak in tifm_7xx1_switch_media()
    test_firmware: fix memory leak in test_firmware_init()
    serial: sunsab: Fix error handling in sunsab_init()
    serial: altera_uart: fix locking in polling mode
    tty: serial: altera_uart_{r,t}x_chars() need only uart_port
    tty: serial: clean up stop-tx part in altera_uart_tx_chars()
    serial: pch: Fix PCI device refcount leak in pch_request_dma()
    serial: pl011: Do not clear RX FIFO & RX interrupt in unthrottle.
    serial: amba-pl011: avoid SBSA UART accessing DMACR register
  * usb: typec: Check for ops->exit instead of ops->enter in altmode_exit
      drivers/usb/typec/bus.c
    staging: vme_user: Fix possible UAF in tsi148_dma_list_add
    usb: fotg210-udc: Fix ages old endianness issues
    uio: uio_dmem_genirq: Fix deadlock between irq config and handling
    uio: uio_dmem_genirq: Fix missing unlock in irq configuration
    vfio: platform: Do not pass return buffer to ACPI _RST method
  * class: fix possible memory leak in __class_register()
      drivers/base/class.c
    serial: tegra: Read DMA status before terminating
    tty: serial: tegra: Activate RX DMA transfer by request
    serial: tegra: Add PIO mode support
    serial: tegra: report clk rate errors
    serial: tegra: add support to adjust baud rate
    serial: tegra: add support to use 8 bytes trigger
    serial: tegra: set maximum num of uart ports to 8
    serial: tegra: check for FIFO mode enabled status
    serial: tegra: avoid reg access when clk disabled
    drivers: dio: fix possible memory leak in dio_init()
    IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces
    hwrng: geode - Fix PCI device refcount leak
    hwrng: amd - Fix PCI device refcount leak
    crypto: img-hash - Fix variable dereferenced before check 'hdev->req'
    orangefs: Fix sysfs not cleanup when dev init failed
    RDMA/hfi1: Fix error return code in parse_platform_config()
    scsi: snic: Fix possible UAF in snic_tgt_create()
    scsi: fcoe: Fix transport not deattached when fcoe_if_init() fails
    scsi: ipr: Fix WARNING in ipr_init()
    scsi: fcoe: Fix possible name leak when device_register() fails
    scsi: hpsa: Fix possible memory leak in hpsa_add_sas_device()
    scsi: hpsa: Fix error handling in hpsa_add_sas_host()
    crypto: tcrypt - Fix multibuffer skcipher speed test mem leak
    scsi: hpsa: Fix possible memory leak in hpsa_init_one()
    scsi: hpsa: use local workqueues instead of system workqueues
    RDMA/rxe: Fix NULL-ptr-deref in rxe_qp_do_cleanup() when socket create failed
    crypto: ccree - Make cc_debugfs_global_fini() available for module init function
    RDMA/hfi: Decrease PCI device reference count in error path
  * PCI: Check for alloc failure in pci_request_irq()
      drivers/pci/irq.c
    scsi: scsi_debug: Fix a warning in resp_write_scat()
    RDMA/nldev: Return "-EAGAIN" if the cm_id isn't from expected port
  * f2fs: fix normal discard process
      fs/f2fs/segment.c
    apparmor: Fix abi check to include v8 abi
    apparmor: fix lockdep warning when removing a namespace
    apparmor: fix a memleak in multi_transaction_new()
    stmmac: fix potential division by 0
    Bluetooth: RFCOMM: don't call kfree_skb() under spin_lock_irqsave()
  * Bluetooth: hci_core: don't call kfree_skb() under spin_lock_irqsave()
      net/bluetooth/hci_core.c
    Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave()
    Bluetooth: hci_h5: don't call kfree_skb() under spin_lock_irqsave()
    Bluetooth: hci_qca: don't call kfree_skb() under spin_lock_irqsave()
    Bluetooth: btusb: don't call kfree_skb() under spin_lock_irqsave()
    ntb_netdev: Use dev_kfree_skb_any() in interrupt context
    net: lan9303: Fix read error execution path
    net: amd-xgbe: Check only the minimum speed for active/passive cables
    net: amd-xgbe: Fix logic around active and passive cables
    net: amd: lance: don't call dev_kfree_skb() under spin_lock_irqsave()
    hamradio: don't call dev_kfree_skb() under spin_lock_irqsave()
    net: ethernet: dnet: don't call dev_kfree_skb() under spin_lock_irqsave()
    net: emaclite: don't call dev_kfree_skb() under spin_lock_irqsave()
    net: apple: bmac: don't call dev_kfree_skb() under spin_lock_irqsave()
    net: apple: mace: don't call dev_kfree_skb() under spin_lock_irqsave()
  * net/tunnel: wait until all sk_user_data reader finish before releasing the sock
      net/ipv4/udp_tunnel.c
    net: farsync: Fix kmemleak when rmmods farsync
    ethernet: s2io: don't call dev_kfree_skb() under spin_lock_irqsave()
    drivers: net: qlcnic: Fix potential memory leak in qlcnic_sriov_init()
    net: defxx: Fix missing err handling in dfx_init()
    net: vmw_vsock: vmci: Check memcpy_from_msg()
    clk: socfpga: use clk_hw_register for a5/c5
    clk: socfpga: clk-pll: Remove unused variable 'rc'
  * blktrace: Fix output non-blktrace event when blk_classic option enabled
      kernel/trace/blktrace.c
    wifi: brcmfmac: Fix error return code in brcmf_sdio_download_firmware()
    rtl8xxxu: add enumeration for channel bandwidth
    wifi: rtl8xxxu: Add __packed to struct rtl8723bu_c2h
    clk: samsung: Fix memory leak in _samsung_clk_register_pll()
    media: coda: Add check for kmalloc
    media: coda: Add check for dcoda_iram_alloc
    media: c8sectpfe: Add of_node_put() when breaking out of loop
    mmc: mmci: fix return value check of mmc_add_host()
    mmc: wbsd: fix return value check of mmc_add_host()
    mmc: via-sdmmc: fix return value check of mmc_add_host()
    mmc: meson-gx: fix return value check of mmc_add_host()
    mmc: atmel-mci: fix return value check of mmc_add_host()
    mmc: wmt-sdmmc: fix return value check of mmc_add_host()
    mmc: vub300: fix return value check of mmc_add_host()
    mmc: toshsd: fix return value check of mmc_add_host()
    mmc: rtsx_usb_sdmmc: fix return value check of mmc_add_host()
    mmc: mxcmmc: fix return value check of mmc_add_host()
    mmc: moxart: fix return value check of mmc_add_host()
    NFSv4.x: Fail client initialisation if state manager thread can't run
    SUNRPC: Fix missing release socket in rpc_sockname()
    ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt
    media: saa7164: fix missing pci_disable_device()
  * regulator: core: fix module refcount leak in set_supply()
      drivers/regulator/core.c
  * wifi: cfg80211: Fix not unregister reg_pdev when load_builtin_regdb_keys() fails
      net/wireless/reg.c
  * bonding: uninitialized variable in bond_miimon_inspect()
      drivers/net/bonding/bond_main.c
    ASoC: pcm512x: Fix PM disable depth imbalance in pcm512x_probe
    drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios()
    drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios()
    ALSA: asihpi: fix missing pci_disable_device()
    NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn
    NFSv4.2: Fix a memory stomp in decode_attr_security_label
    drm/tegra: Add missing clk_disable_unprepare() in tegra_dc_probe()
    media: s5p-mfc: Add variant data for MFC v7 hardware for Exynos 3250 SoC
    media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()
    media: dvb-core: Fix ignored return value in dvb_register_frontend()
  * pinctrl: pinconf-generic: add missing of_node_put()
      drivers/pinctrl/pinconf-generic.c
    media: imon: fix a race condition in send_packet()
    drbd: remove call to memset before free device/resource/connection
    mtd: maps: pxa2xx-flash: fix memory leak in probe
  * bonding: Export skip slave logic to function
      drivers/net/bonding/bond_main.c
    clk: rockchip: Fix memory leak in rockchip_clk_register_pll()
  * ALSA: seq: fix undefined behavior in bit shift for SNDRV_SEQ_FILTER_USE_EVENT
      include/uapi/sound/asequencer.h
    HID: hid-sensor-custom: set fixed size for custom attributes
    media: platform: exynos4-is: Fix error handling in fimc_md_init()
    media: solo6x10: fix possible memory leak in solo_sysfs_init()
    Input: elants_i2c - properly handle the reset GPIO when power is off
    mtd: lpddr2_nvm: Fix possible null-ptr-deref
    wifi: ath10k: Fix return value in ath10k_pci_init()
    ima: Fix misuse of dereference of pointer in template_desc_init_fields()
  * regulator: core: fix unbalanced of node refcount in regulator_dev_lookup()
      drivers/regulator/core.c
    ASoC: pxa: fix null-pointer dereference in filter()
    drm/radeon: Add the missed acpi_put_table() to fix memory leak
  * net, proc: Provide PROC_FS=n fallback for proc_create_net_single_write()
      include/linux/proc_fs.h
    media: camss: Clean up received buffers on failed start of streaming
    wifi: rsi: Fix handling of 802.3 EAPOL frames sent via control port
    mtd: Fix device name leak when register device failed in add_mtd_device()
    media: vivid: fix compose size exceed boundary
    spi: Update reference to struct spi_controller
    can: kvaser_usb: Compare requested bittiming parameters with actual parameters in do_set_{,data}_bittiming
    can: kvaser_usb: Add struct kvaser_usb_busparams
    can: kvaser_usb_leaf: Fix bogus restart events
    can: kvaser_usb_leaf: Fix wrong CAN state after stopping
    can: kvaser_usb_leaf: Fix improved state not being reported
    can: kvaser_usb_leaf: Set Warning state even without bus errors
    can: kvaser_usb: kvaser_usb_leaf: Handle CMD_ERROR_EVENT
    can: kvaser_usb: kvaser_usb_leaf: Rename {leaf,usbcan}_cmd_error_event to {leaf,usbcan}_cmd_can_error_event
    can: kvaser_usb: kvaser_usb_leaf: Get capabilities from device
    can: kvaser_usb: do not increase tx statistics when sending error message frames
    media: i2c: ad5820: Fix error path
    pata_ipx4xx_cf: Fix unsigned comparison with less than zero
    wifi: rtl8xxxu: Fix reading the vendor of combo chips
    wifi: ath9k: hif_usb: Fix use-after-free in ath9k_hif_usb_reg_in_cb()
    wifi: ath9k: hif_usb: fix memory leak of urbs in ath9k_hif_usb_dealloc_tx_urbs()
    rapidio: devices: fix missing put_device in mport_cdev_open
    hfs: Fix OOB Write in hfs_asc2mac
    relay: fix type mismatch when allocating memory in relay_create_buf()
  * eventfd: change int to __u64 in eventfd_signal() ifndef CONFIG_EVENTFD
      include/linux/eventfd.h
    rapidio: fix possible UAF when kfifo_alloc() fails
    fs: sysv: Fix sysv_nblocks() returns wrong value
    MIPS: BCM63xx: Add check for NULL for clk in clk_enable
    platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]()
  * PM: runtime: Do not call __rpm_callback() from rpm_idle()
      drivers/base/power/runtime.c
  * PM: runtime: Improve path in rpm_idle() when no callback
      drivers/base/power/runtime.c
    xen/privcmd: Fix a possible warning in privcmd_ioctl_mmap_resource()
    x86/xen: Fix memory leak in xen_init_lock_cpu()
    x86/xen: Fix memory leak in xen_smp_intr_init{_pv}()
    xen/events: only register debug interrupt for 2-level events
    uprobes/x86: Allow to probe a NOP instruction with 0x66 prefix
    ACPICA: Fix use-after-free in acpi_ut_copy_ipackage_to_ipackage()
    clocksource/drivers/sh_cmt: Make sure channel clock supply is enabled
    rapidio: rio: fix possible name leak in rio_register_mport()
    rapidio: fix possible name leaks when rio_add_device() fails
  * debugfs: fix error when writing negative value to atomic_t debugfs file
      fs/debugfs/file.c
      include/linux/debugfs.h
    lib/notifier-error-inject: fix error when writing -errno to debugfs file
  * libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value
      fs/libfs.c
      include/linux/fs.h
    cpufreq: amd_freq_sensitivity: Add missing pci_dev_put()
    irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe()
    perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox()
    PNP: fix name memory leak in pnp_alloc_dev()
    MIPS: vpe-cmp: fix possible memory leak while module exiting
    MIPS: vpe-mt: fix possible memory leak while module exiting
    ocfs2: fix memory leak in ocfs2_stack_glue_init()
    proc: fixup uptime selftest
  * timerqueue: Use rb_entry_safe() in timerqueue_getnext()
      include/linux/timerqueue.h
  * perf: Fix possible memleak in pmu_dev_alloc()
      kernel/events/core.c
    selftests/ftrace: event_triggers: wait longer for test_event_enable
  * fs: don't audit the capability check in simple_xattr_list()
      fs/xattr.c
    alpha: fix syscall entry in !AUDUT_SYSCALL case
  * cpuidle: dt: Return the correct numbers of parsed idle states
      drivers/cpuidle/dt_idle_states.c
    tpm/tpm_crb: Fix error message in __crb_relinquish_locality()
  * pstore: Avoid kcore oops by vmap()ing with VM_IOREMAP
      fs/pstore/ram_core.c
    ARM: mmp: fix timer_read delay
  * pstore/ram: Fix error return code in ramoops_probe()
      fs/pstore/ram.c
    ARM: dts: turris-omnia: Add switch port 6 node
    ARM: dts: turris-omnia: Add ethernet aliases
    ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port
    ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port
    ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port
    ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port
    ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port
    ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port
    arm64: dts: mediatek: mt6797: Fix 26M oscillator unit name
    arm64: dts: mt2712-evb: Fix vproc fixed regulators unit names
    arm64: dts: mt2712e: Fix unit address for pinctrl node
    arm64: dts: mt2712e: Fix unit_address_vs_reg warning for oscillators
    perf: arm_dsu: Fix hotplug callback leak in dsu_pmu_init()
    soc: ti: smartreflex: Fix PM disable depth imbalance in omap_sr_probe
    arm: dts: spear600: Fix clcd interrupt
    drivers: soc: ti: knav_qmss_queue: Mark knav_acc_firmwares as static
    ARM: dts: qcom: apq8064: fix coresight compatible
    usb: musb: remove extra check in musb_gadget_vbus_draw
  * net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
      drivers/net/loopback.c
  * Bluetooth: L2CAP: Fix u8 overflow
      net/bluetooth/l2cap_core.c
    igb: Initialize mailbox message for VF reset
    USB: serial: f81534: fix division by zero on line-speed change
    USB: serial: cp210x: add Kamstrup RF sniffer PIDs
    USB: serial: option: add Quectel EM05-G modem
    usb: gadget: uvc: Prevent buffer overflow in setup handler
    udf: Fix extending file within last block
    udf: Do not bother looking for prealloc extents if i_lenExtents matches i_size
    udf: Fix preallocation discarding at indirect extent boundary
    udf: Discard preallocation before extending file with a hole
    perf script python: Remove explicit shebang from tests/attr.c
  * ASoC: ops: Correct bounds check for second channel on SX controls
      sound/soc/soc-ops.c
    can: mcba_usb: Fix termination command argument
  * can: sja1000: fix size of OCR_MODE_MASK define
      include/linux/can/platform/sja1000.h
    pinctrl: meditatek: Startup with the IRQs disabled
  * ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx()
      sound/soc/soc-ops.c
    nfp: fix use-after-free in area_cache_get()
  * block: unhash blkdev part inode when the part is deleted
      block/partition-generic.c
    mm/khugepaged: invoke MMU notifiers in shmem/file collapse paths
  * mm/khugepaged: fix GUP-fast interaction by sending IPI
      include/asm-generic/tlb.h
      mm/memory.c
    ANDROID: Add more hvc devices for virtio-console.
    ANDROID: Add allowed symbols required from Qualcomm drivers
  * BACKPORT: lib: introduce copy_struct_from_user() helper
      include/linux/bitops.h
      include/linux/uaccess.h
      lib/strnlen_user.c
      lib/usercopy.c
  * ANDROID: fix BIT() redefinition
      include/linux/bits.h
      include/vdso/bits.h

Bug: 268137599
Change-Id: I1ae5c7cfdd0387ced375d87341327c27bd3ae454
Signed-off-by: JohnnLee <johnnlee@google.com>
2023-02-20 03:23:16 +00:00
Greg Kroah-Hartman
c97f22d970 Merge 4.19.272 into android-4.19-stable
Changes in 4.19.272
	ARM: dts: imx6qdl-gw560x: Remove incorrect 'uart-has-rtscts'
	HID: intel_ish-hid: Add check for ishtp_dma_tx_map
	EDAC/highbank: Fix memory leak in highbank_mc_probe()
	tomoyo: fix broken dependency on *.conf.default
	IB/hfi1: Reject a zero-length user expected buffer
	IB/hfi1: Reserve user expected TIDs
	IB/hfi1: Fix expected receive setup error exit issues
	affs: initialize fsdata in affs_truncate()
	amd-xgbe: TX Flow Ctrl Registers are h/w ver dependent
	amd-xgbe: Delay AN timeout during KR training
	bpf: Fix pointer-leak due to insufficient speculative store bypass mitigation
	phy: rockchip-inno-usb2: Fix missing clk_disable_unprepare() in rockchip_usb2phy_power_on()
	net: nfc: Fix use-after-free in local_cleanup()
	wifi: rndis_wlan: Prevent buffer overflow in rndis_query_oid
	net: usb: sr9700: Handle negative len
	net: mdio: validate parameter addr in mdiobus_get_phy()
	HID: check empty report_list in hid_validate_values()
	usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait
	usb: gadget: f_fs: Ensure ep0req is dequeued before free_request
	net: mlx5: eliminate anonymous module_init & module_exit
	dmaengine: Fix double increment of client_count in dma_chan_get()
	net: macb: fix PTP TX timestamp failure due to packet padding
	HID: betop: check shape of output reports
	dmaengine: xilinx_dma: commonize DMA copy size calculation
	dmaengine: xilinx_dma: program hardware supported buffer length
	dmaengine: xilinx_dma: Fix devm_platform_ioremap_resource error handling
	dmaengine: xilinx_dma: call of_node_put() when breaking out of for_each_child_of_node()
	tcp: avoid the lookup process failing to get sk in ehash table
	w1: fix deadloop in __w1_remove_master_device()
	w1: fix WARNING after calling w1_process()
	netfilter: conntrack: do not renew entry stuck in tcp SYN_SENT state
	block: fix and cleanup bio_check_ro
	perf env: Do not return pointers to local variables
	fs: reiserfs: remove useless new_opts in reiserfs_remount
	Bluetooth: hci_sync: cancel cmd_timer if hci_open failed
	scsi: hpsa: Fix allocation size for scsi_host_alloc()
	module: Don't wait for GOING modules
	tracing: Make sure trace_printk() can output as soon as it can be used
	trace_events_hist: add check for return value of 'create_hist_field'
	smbd: Make upper layer decide when to destroy the transport
	cifs: Fix oops due to uncleared server->smbd_conn in reconnect
	ARM: 9280/1: mm: fix warning on phys_addr_t to void pointer assignment
	EDAC/device: Respect any driver-supplied workqueue polling value
	net: fix UaF in netns ops registration error path
	netfilter: nft_set_rbtree: skip elements in transaction from garbage collection
	netlink: remove hash::nelems check in netlink_insert
	netlink: annotate data races around nlk->portid
	netlink: annotate data races around dst_portid and dst_group
	netlink: annotate data races around sk_state
	ipv4: prevent potential spectre v1 gadget in ip_metrics_convert()
	netfilter: conntrack: fix vtag checks for ABORT/SHUTDOWN_COMPLETE
	netrom: Fix use-after-free of a listening socket.
	sctp: fail if no bound addresses can be used for a given scope
	net: ravb: Fix possible hang if RIS2_QFF1 happen
	net/tg3: resolve deadlock in tg3_reset_task() during EEH
	Revert "Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI mode"
	x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL
	drm/i915/display: fix compiler warning about array overrun
	x86/asm: Fix an assembler warning with current binutils
	x86/entry/64: Add instruction suffix to SYSRET
	ARM: dts: imx: Fix pca9547 i2c-mux node name
	dmaengine: imx-sdma: Fix a possible memory leak in sdma_transfer_init
	sysctl: add a new register_sysctl_init() interface
	panic: unset panic_on_warn inside panic()
	exit: Add and use make_task_dead.
	objtool: Add a missing comma to avoid string concatenation
	hexagon: Fix function name in die()
	h8300: Fix build errors from do_exit() to make_task_dead() transition
	ia64: make IA64_MCA_RECOVERY bool instead of tristate
	exit: Put an upper limit on how often we can oops
	exit: Expose "oops_count" to sysfs
	exit: Allow oops_limit to be disabled
	panic: Consolidate open-coded panic_on_warn checks
	panic: Introduce warn_limit
	panic: Expose "warn_count" to sysfs
	docs: Fix path paste-o for /sys/kernel/warn_count
	exit: Use READ_ONCE() for all oops/warn limit reads
	ipv6: ensure sane device mtu in tunnels
	usb: host: xhci-plat: add wakeup entry at sysfs
	Linux 4.19.272

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4f9ddce1e108e81409d47e00fdeef2bc0d34f793
2023-02-06 08:16:47 +01:00
Kees Cook
a25982f544 exit: Use READ_ONCE() for all oops/warn limit reads
commit 7535b832c6399b5ebfc5b53af5c51dd915ee2538 upstream.

Use a temporary variable to take full advantage of READ_ONCE() behavior.
Without this, the report (and even the test) might be out of sync with
the initial test.

Reported-by: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/lkml/Y5x7GXeluFmZ8E0E@hirez.programming.kicks-ass.net
Fixes: 9fc9e278a5c0 ("panic: Introduce warn_limit")
Fixes: d4ccd54d28d3 ("exit: Put an upper limit on how often we can oops")
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Jann Horn <jannh@google.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: Marco Elver <elver@google.com>
Cc: tangmeng <tangmeng@uniontech.com>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-02-06 07:49:46 +01:00
Kees Cook
4d00e68cfc panic: Expose "warn_count" to sysfs
commit 8b05aa26336113c4cea25f1c333ee8cd4fc212a6 upstream.

Since Warn count is now tracked and is a fairly interesting signal, add
the entry /sys/kernel/warn_count to expose it to userspace.

Cc: Petr Mladek <pmladek@suse.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: tangmeng <tangmeng@uniontech.com>
Cc: "Guilherme G. Piccoli" <gpiccoli@igalia.com>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20221117234328.594699-6-keescook@chromium.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-02-06 07:49:46 +01:00
Kees Cook
a40af7cd60 panic: Introduce warn_limit
commit 9fc9e278a5c0b708eeffaf47d6eb0c82aa74ed78 upstream.

Like oops_limit, add warn_limit for limiting the number of warnings when
panic_on_warn is not set.

Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: "Jason A. Donenfeld" <Jason@zx2c4.com>
Cc: Eric Biggers <ebiggers@google.com>
Cc: Huang Ying <ying.huang@intel.com>
Cc: Petr Mladek <pmladek@suse.com>
Cc: tangmeng <tangmeng@uniontech.com>
Cc: "Guilherme G. Piccoli" <gpiccoli@igalia.com>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: linux-doc@vger.kernel.org
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20221117234328.594699-5-keescook@chromium.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-02-06 07:49:46 +01:00
Kees Cook
dcdce95219 panic: Consolidate open-coded panic_on_warn checks
commit 79cc1ba7badf9e7a12af99695a557e9ce27ee967 upstream.

Several run-time checkers (KASAN, UBSAN, KFENCE, KCSAN, sched) roll
their own warnings, and each check "panic_on_warn". Consolidate this
into a single function so that future instrumentation can be added in
a single location.

Cc: Marco Elver <elver@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>
Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Ben Segall <bsegall@google.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Daniel Bristot de Oliveira <bristot@redhat.com>
Cc: Valentin Schneider <vschneid@redhat.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: David Gow <davidgow@google.com>
Cc: tangmeng <tangmeng@uniontech.com>
Cc: Jann Horn <jannh@google.com>
Cc: Shuah Khan <skhan@linuxfoundation.org>
Cc: Petr Mladek <pmladek@suse.com>
Cc: "Paul E. McKenney" <paulmck@kernel.org>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: "Guilherme G. Piccoli" <gpiccoli@igalia.com>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: kasan-dev@googlegroups.com
Cc: linux-mm@kvack.org
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Marco Elver <elver@google.com>
Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com>
Link: https://lore.kernel.org/r/20221117234328.594699-4-keescook@chromium.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-02-06 07:49:46 +01:00
Tiezhu Yang
dd8cccab31 panic: unset panic_on_warn inside panic()
commit 1a2383e8b84c0451fd9b1eec3b9aab16f30b597c upstream.

In the current code, the following three places need to unset
panic_on_warn before calling panic() to avoid recursive panics:

kernel/kcsan/report.c: print_report()
kernel/sched/core.c: __schedule_bug()
mm/kfence/report.c: kfence_report_error()

In order to avoid copy-pasting "panic_on_warn = 0" all over the places,
it is better to move it inside panic() and then remove it from the other
places.

Link: https://lkml.kernel.org/r/1644324666-15947-4-git-send-email-yangtiezhu@loongson.cn
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Reviewed-by: Marco Elver <elver@google.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Baoquan He <bhe@redhat.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Xuefeng Li <lixuefeng@loongson.cn>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-02-06 07:49:44 +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
Robin Peng
252284b7f7 Merge LA.UM.9.12.R1.10.00.00.597.022 via branch 'qcom-msm-4.19-7250' into android-msm-pixel-4.19
Conflicts:
	arch/arm64/configs/vendor/lito_defconfig
	block/blk-merge.c
	drivers/acpi/scan.c
	drivers/soc/qcom/minidump_log.c
	drivers/mmc/core/queue.c
	drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c
	drivers/power/supply/power_supply_sysfs.c
	drivers/power/supply/qcom/qpnp-smb5.c
	drivers/power/supply/qcom/smb5-lib.c
	drivers/power/supply/qcom/smb5-lib.h
	drivers/scsi/ufs/ufs.h
	drivers/scsi/ufs/ufshcd.c
	drivers/staging/android/ion/ion_secure_util.c
	drivers/thermal/qcom/Makefile
	drivers/thermal/qcom/adc-tm5.c
	fs/f2fs/data.c
	fs/f2fs/super.c
	include/linux/power_supply.h
	include/linux/qcom-geni-se.h

Bug: 150587879
Bug: 150587495
Bug: 149799837
Bug: 150109764
Change-Id: Ib20ed28d481cee37153148328427e40c32252a5b
Signed-off-by: Robin Peng <robinpeng@google.com>
2020-05-30 02:15:03 +08:00
Eva Huang
c8667700c8 arm64/config: redbull: support panic on warn by config
Add config:
  CONFIG_PANIC_ON_WARN_DEFAULT_ENABLE

This patchset adds CONFIG_PANIC_ON_DEFAULT_ENABLE to determine
the behavior at build time. Even though we could do same thing
by kernel parameter, it's not handy for vendor kernel because
they usually store kernel cmd parameter into different partition
with kernel so that it needs platform image rebuild to change
kernel cmd line as well as kernel image.

To remove such dependency to save much time, this patch adds
default enable by Kconfig at build time.

Bug: 141912144
Change-Id: Ib73e6e2c8d2c2e87ad96cd4c59feeb1c8102d041
Signed-off-by: Eva Huang <evahuang@google.com>
Signed-off-by: Jason Chiu <jasoncschiu@google.com>
2020-05-30 02:07:56 +08:00
Saravana Kannan
b1f59f747d GKI: panic: Remove compile time dependency on dump_stack_minidump()
Each vendor might want to implement some debug code when the kernel
panics. So, add a vendor_panic_cb callback for vendors to implement.

Have minidump_log register dump_stack_minidump() as the
vendor_panic_cb() so that the kernel doesn't have a dependency on
dump_stack_minidump().

Bug: 149258398
Tested: Booted and made sure same devices probe
Tested: Unlock the phone and play with home screen
Change-Id: I7a374b0089f72c2511db6fe3b8cdd18f41a1eb6c
Signed-off-by: Saravana Kannan <saravanak@google.com>
2020-05-30 02:05:18 +08:00
Aaro Koskinen
4a853c72f4 UPSTREAM: GKI: panic/reboot: allow specifying reboot_mode for panic only
Allow specifying reboot_mode for panic only.  This is needed on systems
where ramoops is used to store panic logs, and user wants to use warm
reset to preserve those, while still having cold reset on normal
reboots.

Link: http://lkml.kernel.org/r/20190322004735.27702-1-aaro.koskinen@iki.fi
Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit b287a25a7148a89d977c819c1f7d6584f875b682)
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 154175554
Change-Id: Id1075f4d97eddb818aa495903a7643958e6c73d6
2020-04-17 05:00:40 +00:00
Will McVicker
56ebfff5eb ANDROID: GKI: panic: add vendor callback function in panic()
Each vendor might want to implement some debug code when the kernel
panics. So, add a vendor_panic_cb callback for vendors to implement.

Bug: 149258398
Test: compile
Change-Id: I7a374b0089f72c2511db6fe3b8cdd18f41a1eb6c
Signed-off-by: Saravana Kannan <saravanak@google.com>
(cherry picked from commit 911d9c70c2c50b0383ed0b652bb84ca8832e4a2b)
Signed-off-by: Will McVicker <willmcvicker@google.com>
[willmcvicker: only pulled in the ABI diffs]
2020-04-14 05:24:52 +00:00
Ivaylo Georgiev
5fd5fbe20d Merge android-4.19-q.87 (ead6fb7) into msm-4.19
* refs/heads/tmp-ead6fb7:
  Revert "spi: uniphier: fix incorrect property items"
  Linux 4.19.87
  PM / devfreq: Fix kernel oops on governor module load
  KVM: PPC: Book3S HV: Flush link stack on guest exit to host kernel
  powerpc/book3s64: Fix link stack flush on context switch
  powerpc/64s: support nospectre_v2 cmdline option
  staging: comedi: usbduxfast: usbduxfast_ai_cmdtest rounding error
  USB: serial: option: add support for Foxconn T77W968 LTE modules
  USB: serial: option: add support for DW5821e with eSIM support
  USB: serial: mos7840: fix remote wakeup
  USB: serial: mos7720: fix remote wakeup
  USB: serial: mos7840: add USB ID to support Moxa UPort 2210
  appledisplay: fix error handling in the scheduled work
  USB: chaoskey: fix error case of a timeout
  usb-serial: cp201x: support Mark-10 digital force gauge
  usbip: Fix uninitialized symbol 'nents' in stub_recv_cmd_submit()
  usbip: tools: fix fd leakage in the function of read_attr_usbip_status
  USBIP: add config dependency for SGL_ALLOC
  virtio_ring: fix return code on DMA mapping fails
  media: imon: invalid dereference in imon_touch_event
  media: cxusb: detect cxusb_ctrl_msg error in query
  media: b2c2-flexcop-usb: add sanity checking
  media: uvcvideo: Fix error path in control parsing failure
  cpufreq: Add NULL checks to show() and store() methods of cpufreq
  media: usbvision: Fix races among open, close, and disconnect
  media: vivid: Fix wrong locking that causes race conditions on streaming stop
  media: vivid: Set vid_cap_streaming and vid_out_streaming to true
  nfc: port100: handle command failure cleanly
  ALSA: usb-audio: Fix NULL dereference at parsing BADD
  futex: Prevent robust futex exit race
  y2038: futex: Move compat implementation into futex.c
  nbd: prevent memory leak
  x86/speculation: Fix redundant MDS mitigation message
  x86/speculation: Fix incorrect MDS/TAA mitigation status
  x86/insn: Fix awk regexp warnings
  ARC: perf: Accommodate big-endian CPU
  ARM: 8904/1: skip nomap memblocks while finding the lowmem/highmem boundary
  ocfs2: remove ocfs2_is_o2cb_active()
  net: phy: dp83867: increase SGMII autoneg timer duration
  net: phy: dp83867: fix speed 10 in sgmii mode
  mm/memory_hotplug: don't access uninitialized memmaps in shrink_zone_span()
  md/raid10: prevent access of uninitialized resync_pages offset
  ath9k_hw: fix uninitialized variable data
  ath10k: Fix a NULL-ptr-deref bug in ath10k_usb_alloc_urb_from_pipe
  KVM: MMU: Do not treat ZONE_DEVICE pages as being reserved
  Bluetooth: Fix invalid-free in bcsp_close()
  mm/page_io.c: do not free shared swap slots
  cfg80211: call disconnect_wk when AP stops
  ipv6: Fix handling of LLA with VRF and sockets bound to VRF
  mm/memory_hotplug: Do not unlock when fails to take the device_hotplug_lock
  i2c: uniphier-f: fix timeout error after reading 8 bytes
  spi: omap2-mcspi: Fix DMA and FIFO event trigger size mismatch
  nvme-pci: fix surprise removal
  PCI: keystone: Use quirk to limit MRRS for K2G
  pinctrl: zynq: Use define directive for PIN_CONFIG_IO_STANDARD
  pinctrl: lpc18xx: Use define directive for PIN_CONFIG_GPIO_PIN_INT
  pinctrl: bcm2835: Use define directive for BCM2835_PINCONF_PARAM_PULL
  pinctrl: qcom: spmi-gpio: fix gpio-hog related boot issues
  cfg80211: Prevent regulatory restore during STA disconnect in concurrent interfaces
  tools: bpftool: pass an argument to silence open_obj_pinned()
  of: unittest: initialize args before calling of_*parse_*()
  of: unittest: allow base devicetree to have symbol metadata
  net: bcmgenet: return correct value 'ret' from bcmgenet_power_down
  ACPICA: Use %d for signed int print formatting instead of %u
  clk: tegra20: Turn EMC clock gate into divider
  vrf: mark skb for multicast or link-local as enslaved to VRF
  dlm: don't leak kernel pointer to userspace
  dlm: fix invalid free
  usb: typec: tcpm: charge current handling for sink during hard reset
  scsi: lpfc: Correct loss of fc4 type on remote port address change
  scsi: lpfc: Fix odd recovery in duplicate FLOGIs in point-to-point
  scsi: lpfc: fcoe: Fix link down issue after 1000+ link bounces
  scsi: megaraid_sas: Fix goto labels in error handling
  scsi: megaraid_sas: Fix msleep granularity
  scsi: mpt3sas: Fix driver modifying persistent data in Manufacturing page11
  scsi: mpt3sas: Don't modify EEDPTagMode field setting on SAS3.5 HBA devices
  scsi: mpt3sas: Fix Sync cache command failure during driver unload
  net: dsa: bcm_sf2: Turn on PHY to allow successful registration
  rtlwifi: rtl8192de: Fix misleading REG_MCUFWDL information
  wireless: airo: potential buffer overflow in sprintf()
  brcmsmac: never log "tid x is not agg'able" by default
  rtl8xxxu: Fix missing break in switch
  wlcore: Fix the return value in case of error in 'wlcore_vendor_cmd_smart_config_start()'
  ath10k: snoc: fix unbalanced clock error handling
  wil6210: fix locking in wmi_call
  wil6210: fix RGF_CAF_ICR address for Talyn-MB
  wil6210: fix L2 RX status handling
  wil6210: fix debugfs memory access alignment
  btrfs: avoid link error with CONFIG_NO_AUTO_INLINE
  media: ov13858: Check for possible null pointer
  nds32: Fix bug in bitfield.h
  net: bpfilter: fix iptables failure if bpfilter_umh is disabled
  sock_diag: fix autoloading of the raw_diag module
  audit: print empty EXECVE args
  soc: bcm: brcmstb: Fix re-entry point with a THUMB2_KERNEL
  clk: sunxi-ng: enable so-said LDOs for A64 SoC's pll-mipi clock
  ARM: dts: imx6sx-sdb: Fix enet phy regulator
  openvswitch: fix linking without CONFIG_NF_CONNTRACK_LABELS
  sched/fair: Don't increase sd->balance_interval on newidle balance
  sched/topology: Fix off by one bug
  net: do not abort bulk send on BQL status
  ocfs2: fix clusters leak in ocfs2_defrag_extent()
  ocfs2: don't put and assigning null to bh allocated outside
  ocfs2: don't use iocb when EIOCBQUEUED returns
  ocfs2: without quota support, avoid calling quota recovery
  mm: handle no memcg case in memcg_kmem_charge() properly
  tools/power turbosat: fix AMD APIC-id output
  arm64: makefile fix build of .i file in external module case
  nvme-pci: fix conflicting p2p resource adds
  irq/matrix: Fix memory overallocation
  ntb: intel: fix return value for ndev_vec_mask()
  ntb_netdev: fix sleep time mismatch
  net: hns3: bugfix for hclge_mdio_write and hclge_mdio_read
  net: hns3: bugfix for is_valid_csq_clean_head()
  net: hns3: bugfix for reporting unknown vector0 interrupt repeatly problem
  net: hns3: bugfix for buffer not free problem during resetting
  fm10k: ensure completer aborts are marked as non-fatal after a resume
  igb: shorten maximum PHC timecounter update interval
  powerpc/powernv: hold device_hotplug_lock when calling device_online()
  mm/memory_hotplug: fix online/offline_pages called w.o. mem_hotplug_lock
  mm/memory_hotplug: make add_memory() take the device_hotplug_lock
  kernel/panic.c: do not append newline to the stack protector panic string
  fs/hfs/extent.c: fix array out of bounds read of array extent
  hfs: update timestamp on truncate()
  hfsplus: update timestamps on truncate()
  hfs: fix return value of hfs_get_block()
  hfsplus: fix return value of hfsplus_get_block()
  hfs: prevent btree data loss on ENOSPC
  hfsplus: prevent btree data loss on ENOSPC
  hfs: fix BUG on bnode parent update
  hfsplus: fix BUG on bnode parent update
  lib/bitmap.c: fix remaining space computation in bitmap_print_to_pagebuf
  linux/bitmap.h: fix type of nbits in bitmap_shift_right()
  linux/bitmap.h: handle constant zero-size bitmaps correctly
  mm/gup_benchmark.c: prevent integer overflow in ioctl
  block: call rq_qos_exit() after queue is frozen
  selftests/powerpc/cache_shape: Fix out-of-tree build
  selftests/powerpc/switch_endian: Fix out-of-tree build
  selftests/powerpc/signal: Fix out-of-tree build
  selftests/powerpc/ptrace: Fix out-of-tree build
  powerpc/xmon: Relax frame size for clang
  ipv4/igmp: fix v1/v2 switchback timeout based on rfc3376, 8.12
  vfs: avoid problematic remapping requests into partial EOF block
  um: Make line/tty semantics use true write IRQ
  i2c: uniphier-f: fix race condition when IRQ is cleared
  i2c: uniphier-f: fix occasional timeout error
  i2c: uniphier-f: make driver robust against concurrency
  block: fix the DISCARD request merge
  macsec: let the administrator set UP state even if lowerdev is down
  macsec: update operstate when lower device changes
  mm: thp: fix MADV_DONTNEED vs migrate_misplaced_transhuge_page race condition
  tools/testing/selftests/vm/gup_benchmark.c: fix 'write' flag usage
  mm/page-writeback.c: fix range_cyclic writeback vs writepages deadlock
  fs/ocfs2/dlm/dlmdebug.c: fix a sleep-in-atomic-context bug in dlm_print_one_mle()
  arm64: lib: use C string functions with KASAN enabled
  sparc64: Rework xchg() definition to avoid warnings.
  powerpc/process: Fix flush_all_to_thread for SPE
  bpf, btf: fix a missing check bug in btf_parse
  bpf: devmap: fix wrong interface selection in notifier_call
  net: ethernet: cadence: fix socket buffer corruption problem
  thermal: rcar_thermal: Prevent hardware access during system suspend
  thermal: rcar_thermal: fix duplicate IRQ request
  selftests: fix warning: "_GNU_SOURCE" redefined
  selftests: kvm: Fix -Wformat warnings
  selftests: watchdog: Fix error message.
  selftests: watchdog: fix message when /dev/watchdog open fails
  selftests/ftrace: Fix to test kprobe $comm arg only if available
  spi: uniphier: fix incorrect property items
  fs/cifs: fix uninitialised variable warnings
  net: socionext: Stop PHY before resetting netsec
  mfd: max8997: Enale irq-wakeup unconditionally
  mfd: intel_soc_pmic_bxtwc: Chain power button IRQs as well
  mfd: mc13xxx-core: Fix PMIC shutdown when reading ADC values
  mfd: arizona: Correct calling of runtime_put_sync
  net: ethernet: ti: cpsw: unsync mcast entries while switch promisc mode
  qlcnic: fix a return in qlcnic_dcb_get_capability()
  mISDN: Fix type of switch control variable in ctrl_teimanager
  f2fs: spread f2fs_set_inode_flags()
  f2fs: fix to spread clear_cold_data()
  thermal: armada: fix a test in probe()
  RISC-V: Avoid corrupting the upper 32-bit of phys_addr_t in ioremap
  rtc: s35390a: Change buf's type to u8 in s35390a_init
  ceph: only allow punch hole mode in fallocate
  ceph: fix dentry leak in ceph_readdir_prepopulate
  tools: bpftool: fix completion for "bpftool map update"
  selftests/bpf: fix return value comparison for tests in test_libbpf.sh
  powerpc/64s/radix: Fix radix__flush_tlb_collapsed_pmd double flushing pmd
  powerpc/mm/radix: Fix small page at boundary when splitting
  powerpc/mm/radix: Fix overuse of small pages in splitting logic
  powerpc/mm/radix: Fix off-by-one in split mapping logic
  powerpc/pseries: Export raw per-CPU VPA data via debugfs
  scsi: hisi_sas: Fix NULL pointer dereference
  sparc: Fix parport build warnings.
  x86/intel_rdt: Prevent pseudo-locking from using stale pointers
  spi: omap2-mcspi: Set FIFO DMA trigger level to word length
  swiotlb: do not panic on mapping failures
  s390/perf: Return error when debug_register fails
  atm: zatm: Fix empty body Clang warnings
  sunrpc: safely reallow resvport min/max inversion
  SUNRPC: Fix a compile warning for cmpxchg64()
  selftests/bpf: fix file resource leak in load_kallsyms
  dm raid: avoid bitmap with raid4/5/6 journal device
  sctp: use sk_wmem_queued to check for writable space
  usbip: tools: fix atoi() on non-null terminated string
  USB: misc: appledisplay: fix backlight update_status return code
  PCI: vmd: Detach resources after stopping root bus
  macintosh/windfarm_smu_sat: Fix debug output
  ALSA: i2c/cs8427: Fix int to char conversion
  PM / Domains: Deal with multiple states but no governor in genpd
  ACPI / scan: Create platform device for INT33FE ACPI nodes
  kprobes, x86/ptrace.h: Make regs_get_kernel_stack_nth() not fault on bad stack
  xfs: clear ail delwri queued bufs on unmount of shutdown fs
  xfs: fix use-after-free race in xfs_buf_rele
  net: ena: Fix Kconfig dependency on X86
  net: fix warning in af_unix
  net: dsa: mv88e6xxx: Fix 88E6141/6341 2500mbps SERDES speed
  scsi: zorro_esp: Limit DMA transfers to 65535 bytes
  scsi: dc395x: fix DMA API usage in sg_update_list
  scsi: dc395x: fix dma API usage in srb_done
  ASoC: tegra_sgtl5000: fix device_node refcounting
  clk: at91: audio-pll: fix audio pmc type
  clk: mmp2: fix the clock id for sdh2_clk and sdh3_clk
  PCI: mediatek: Fixup MSI enablement logic by enabling MSI before clocks
  nvme-pci: fix hot removal during error handling
  nvmet-fcloop: suppress a compiler warning
  nvmet: avoid integer overflow in the discard code
  crypto: ccree - avoid implicit enum conversion
  scsi: iscsi_tcp: Explicitly cast param in iscsi_sw_tcp_host_get_param
  scsi: bfa: Avoid implicit enum conversion in bfad_im_post_vendor_event
  scsi: isci: Change sci_controller_start_task's return type to sci_status
  scsi: isci: Use proper enumerated type in atapi_d2h_reg_frame_handler
  clk: tegra: Fixes for MBIST work around
  KVM/x86: Fix invvpid and invept register operand size in 64-bit mode
  KVM: nVMX: move check_vmentry_postreqs() call to nested_vmx_enter_non_root_mode()
  KVM: nVMX: reset cache/shadows when switching loaded VMCS
  nfp: bpf: protect against mis-initializing atomic counters
  scsi: ips: fix missing break in switch
  qed: Align local and global PTT to propagate through the APIs.
  amiflop: clean up on errors during setup
  pwm: lpss: Only set update bit if we are actually changing the settings
  pinctrl: sunxi: Fix a memory leak in 'sunxi_pinctrl_build_state()'
  RDMA/bnxt_re: Avoid resource leak in case the NQ registration fails
  RDMA/bnxt_re: Fix qp async event reporting
  RDMA/bnxt_re: Avoid NULL check after accessing the pointer
  scsi: hisi_sas: Free slot later in slot_complete_vx_hw()
  scsi: hisi_sas: Fix the race between IO completion and timeout for SMP/internal IO
  scsi: hisi_sas: Feed back linkrate(max/min) when re-attached
  m68k: fix command-line parsing when passed from u-boot
  w1: IAD Register is yet readable trough iad sys file. Fix snprintf (%u for unsigned, count for max size).
  misc: mic: fix a DMA pool free failure
  gsmi: Fix bug in append_to_eventlog sysfs handler
  btrfs: handle error of get_old_root
  btrfs: defrag: use btrfs_mod_outstanding_extents in cluster_pages_for_defrag
  PCI: mediatek: Fix class type for MT7622 to PCI_CLASS_BRIDGE_PCI
  mmc: mediatek: fix cannot receive new request when msdc_cmd_is_ready fail
  mmc: mediatek: fill the actual clock for mmc debugfs
  spi: sh-msiof: fix deferred probing
  cdrom: don't attempt to fiddle with cdo->capability
  skd: fixup usage of legacy IO API
  ath10k: allocate small size dma memory in ath10k_pci_diag_write_mem
  ath10k: set probe request oui during driver start
  brcmsmac: AP mode: update beacon when TIM changes
  mt76x0: phy: fix restore phase in mt76x0_phy_recalibrate_after_assoc
  mt76: do not store aggregation sequence number for null-data frames
  EDAC, thunderx: Fix memory leak in thunderx_l2c_threaded_isr()
  powerpc/eeh: Fix use of EEH_PE_KEEP on wrong field
  powerpc/eeh: Fix null deref for devices removed during EEH
  powerpc/boot: Disable vector instructions
  powerpc/boot: Fix opal console in boot wrapper
  powerpc: Fix signedness bug in update_flash_db()
  synclink_gt(): fix compat_ioctl()
  pty: fix compat ioctls
  gfs2: Fix marking bitmaps non-full
  PCI: cadence: Write MSI data with 32bits
  pinctrl: madera: Fix uninitialized variable bug in madera_mux_set_mux
  printk: fix integer overflow in setup_log_buf()
  printk: lock/unlock console only for new logbuf entries
  crypto: testmgr - fix sizeof() on COMP_BUF_SIZE
  ALSA: isight: fix leak of reference to firewire unit in error path of .probe callback
  mwifiex: Fix NL80211_TX_POWER_LIMITED
  drm/i915/userptr: Try to acquire the page lock around set_page_dirty()
  drm/i915/pmu: "Frequency" is reported as accumulated cycles
  drm/amd/powerplay: issue no PPSMC_MSG_GetCurrPkgPwr on unsupported ASICs
  mm/ksm.c: don't WARN if page is still mapped in remove_stable_node()
  Revert "fs: ocfs2: fix possible null-pointer dereferences in ocfs2_xa_prepare_entry()"
  virtio_console: allocate inbufs in add_port() only if it is needed
  nbd:fix memory leak in nbd_get_socket()
  tools: gpio: Correctly add make dependencies for gpio_utils
  gpio: max77620: Fixup debounce delays
  vhost/vsock: split packets to send using multiple buffers
  net/mlx5: Fix auto group size calculation
  net/mlxfw: Verify FSM error code translation doesn't exceed array size
  net/mlx5e: Fix set vf link state error flow
  sfc: Only cancel the PPS workqueue if it exists
  net: sched: ensure opts_len <= IP_TUNNEL_OPTS_MAX in act_tunnel_key
  net/sched: act_pedit: fix WARN() in the traffic path
  net: rtnetlink: prevent underflows in do_setvfinfo()
  net/mlx4_en: Fix wrong limitation for number of TX rings
  net/mlx4_en: fix mlx4 ethtool -N insertion
  mlxsw: spectrum_router: Fix determining underlay for a GRE tunnel

Conflicts:
	block/blk-merge.c
	drivers/net/wireless/ath/wil6210/main.c
	drivers/pinctrl/qcom/pinctrl-spmi-gpio.c

Change-Id: I2055f0bc1eb4ac6b7ade99e91f84bf2e4f4ea7c4
Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2020-01-28 03:13:32 -08:00
Borislav Petkov
023c071f10 kernel/panic.c: do not append newline to the stack protector panic string
[ Upstream commit 95c4fb78fb23081472465ca20d5d31c4b780ed82 ]

... because panic() itself already does this. Otherwise you have
line-broken trailer:

  [    1.836965] ---[ end Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: pgd_alloc+0x29e/0x2a0
  [    1.836965]  ]---

Link: http://lkml.kernel.org/r/20181008202901.7894-1-bp@alien8.de
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Kees Cook <keescook@chromium.org>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-01 09:17:10 +01:00
Ivaylo Georgiev
0f16018c8a Merge android-4.19-q.80 (fd673e8) into msm-4.19
* refs/heads/tmp-fd673e8:
  Linux 4.19.80
  perf/hw_breakpoint: Fix arch_hw_breakpoint use-before-initialization
  PCI: vmd: Fix config addressing when using bus offsets
  x86/asm: Fix MWAITX C-state hint value
  hwmon: Fix HWMON_P_MIN_ALARM mask
  tracing: Get trace_array reference for available_tracers files
  ftrace: Get a reference counter for the trace_array on filter files
  tracing/hwlat: Don't ignore outer-loop duration when calculating max_latency
  tracing/hwlat: Report total time spent in all NMIs during the sample
  arm64/sve: Fix wrong free for task->thread.sve_state
  media: stkwebcam: fix runtime PM after driver unbind
  Fix the locking in dcache_readdir() and friends
  arm64: topology: Use PPTT to determine if PE is a thread
  ACPI/PPTT: Add support for ACPI 6.3 thread flag
  ACPICA: ACPI 6.3: PPTT add additional fields in Processor Structure Flags
  MIPS: elf_hwcap: Export userspace ASEs
  MIPS: Disable Loongson MMI instructions for kernel build
  NFS: Fix O_DIRECT accounting of number of bytes read/written
  btrfs: fix uninitialized ret in ref-verify
  btrfs: fix incorrect updating of log root tree
  cifs: use cifsInodeInfo->open_file_lock while iterating to avoid a panic
  iio: adc: stm32-adc: fix a race when using several adcs with dma and irq
  iio: adc: stm32-adc: move registers definitions
  gpiolib: don't clear FLAG_IS_OUT when emulating open-drain/open-source
  firmware: google: increment VPD key_len properly
  mm/vmpressure.c: fix a signedness bug in vmpressure_register_event()
  kernel/sysctl.c: do not override max_threads provided by userspace
  CIFS: Force reval dentry if LOOKUP_REVAL flag is set
  CIFS: Force revalidate inode when dentry is stale
  CIFS: Gracefully handle QueryInfo errors during open
  blk-wbt: fix performance regression in wbt scale_up/scale_down
  perf inject jit: Fix JIT_CODE_MOVE filename
  perf llvm: Don't access out-of-scope array
  efivar/ssdt: Don't iterate over EFI vars if no SSDT override was specified
  iio: light: opt3001: fix mutex unlock race
  iio: adc: axp288: Override TS pin bias current for some models
  iio: adc: ad799x: fix probe error handling
  iio: adc: hx711: fix bug in sampling of data
  staging: vt6655: Fix memory leak in vt6655_probe
  Staging: fbtft: fix memory leak in fbtft_framebuffer_alloc
  gpio: eic: sprd: Fix the incorrect EIC offset when toggling
  mei: avoid FW version request on Ibex Peak and earlier
  mei: me: add comet point (lake) LP device ids
  USB: legousbtower: fix use-after-free on release
  USB: legousbtower: fix open after failed reset request
  USB: legousbtower: fix potential NULL-deref on disconnect
  USB: legousbtower: fix deadlock on disconnect
  USB: legousbtower: fix slab info leak at probe
  usb: renesas_usbhs: gadget: Fix usb_ep_set_{halt,wedge}() behavior
  usb: renesas_usbhs: gadget: Do not discard queues in usb_ep_set_{halt,wedge}()
  USB: dummy-hcd: fix power budget for SuperSpeed mode
  USB: microtek: fix info-leak at probe
  USB: usblcd: fix I/O after disconnect
  USB: serial: fix runtime PM after driver unbind
  USB: serial: option: add support for Cinterion CLS8 devices
  USB: serial: option: add Telit FN980 compositions
  USB: serial: ftdi_sio: add device IDs for Sienna and Echelon PL-20
  USB: serial: keyspan: fix NULL-derefs on open() and write()
  serial: uartlite: fix exit path null pointer
  USB: ldusb: fix NULL-derefs on driver unbind
  USB: chaoskey: fix use-after-free on release
  USB: usblp: fix runtime PM after driver unbind
  USB: iowarrior: fix use-after-free after driver unbind
  USB: iowarrior: fix use-after-free on release
  USB: iowarrior: fix use-after-free on disconnect
  USB: adutux: fix use-after-free on release
  USB: adutux: fix NULL-derefs on disconnect
  USB: adutux: fix use-after-free on disconnect
  xhci: Increase STS_SAVE timeout in xhci_suspend()
  xhci: Prevent deadlock when xhci adapter breaks during init
  usb: xhci: wait for CNR controller not ready bit in xhci resume
  xhci: Fix USB 3.1 capability detection on early xHCI 1.1 spec based hosts
  xhci: Check all endpoints for LPM timeout
  xhci: Prevent device initiated U1/U2 link pm if exit latency is too long
  xhci: Fix false warning message about wrong bounce buffer write length
  USB: usb-skeleton: fix NULL-deref on disconnect
  USB: usb-skeleton: fix runtime PM after driver unbind
  USB: yurex: fix NULL-derefs on disconnect
  USB: yurex: Don't retry on unexpected errors
  USB: rio500: Remove Rio 500 kernel driver
  f2fs: use EINVAL for superblock with invalid magic
  panic: ensure preemption is disabled during panic()

Change-Id: I002cb95429e0fe54d5a8ac0b771891be2d343014
Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2019-10-21 05:33:39 -07:00
Will Deacon
7d1688c673 panic: ensure preemption is disabled during panic()
commit 20bb759a66be52cf4a9ddd17fddaf509e11490cd upstream.

Calling 'panic()' on a kernel with CONFIG_PREEMPT=y can leave the
calling CPU in an infinite loop, but with interrupts and preemption
enabled.  From this state, userspace can continue to be scheduled,
despite the system being "dead" as far as the kernel is concerned.

This is easily reproducible on arm64 when booting with "nosmp" on the
command line; a couple of shell scripts print out a periodic "Ping"
message whilst another triggers a crash by writing to
/proc/sysrq-trigger:

  | sysrq: Trigger a crash
  | Kernel panic - not syncing: sysrq triggered crash
  | CPU: 0 PID: 1 Comm: init Not tainted 5.2.15 #1
  | Hardware name: linux,dummy-virt (DT)
  | Call trace:
  |  dump_backtrace+0x0/0x148
  |  show_stack+0x14/0x20
  |  dump_stack+0xa0/0xc4
  |  panic+0x140/0x32c
  |  sysrq_handle_reboot+0x0/0x20
  |  __handle_sysrq+0x124/0x190
  |  write_sysrq_trigger+0x64/0x88
  |  proc_reg_write+0x60/0xa8
  |  __vfs_write+0x18/0x40
  |  vfs_write+0xa4/0x1b8
  |  ksys_write+0x64/0xf0
  |  __arm64_sys_write+0x14/0x20
  |  el0_svc_common.constprop.0+0xb0/0x168
  |  el0_svc_handler+0x28/0x78
  |  el0_svc+0x8/0xc
  | Kernel Offset: disabled
  | CPU features: 0x0002,24002004
  | Memory Limit: none
  | ---[ end Kernel panic - not syncing: sysrq triggered crash ]---
  |  Ping 2!
  |  Ping 1!
  |  Ping 1!
  |  Ping 2!

The issue can also be triggered on x86 kernels if CONFIG_SMP=n,
otherwise local interrupts are disabled in 'smp_send_stop()'.

Disable preemption in 'panic()' before re-enabling interrupts.

Link: http://lkml.kernel.org/r/20191002123538.22609-1-will@kernel.org
Link: https://lore.kernel.org/r/BX1W47JXPMR8.58IYW53H6M5N@dragonstone
Signed-off-by: Will Deacon <will@kernel.org>
Reported-by: Xogium <contact@xogium.me>
Reviewed-by: Kees Cook <keescook@chromium.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Feng Tang <feng.tang@intel.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-10-17 13:44:46 -07:00
Aaro Koskinen
530d1543c9 panic/reboot: allow specifying reboot_mode for panic only
Allow specifying reboot_mode for panic only.  This is needed on systems
where ramoops is used to store panic logs, and user wants to use warm
reset to preserve those, while still having cold reset on normal
reboots.

Change-Id: Id1075f4d97eddb818aa495903a7643958e6c73d6
Link: http://lkml.kernel.org/r/20190322004735.27702-1-aaro.koskinen@iki.fi
Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: b287a25a7148a89d977c819c1f7d6584f875b682
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
2019-05-16 16:07:15 -07:00
Ivaylo Georgiev
bd0e1dd170 Merge android-4.19.13 (a872d2d) into msm-4.19
* refs/heads/tmp-a872d2d:
  Linux 4.19.13
  drm/ioctl: Fix Spectre v1 vulnerabilities
  proc/sysctl: don't return ENOMEM on lookup when a table is unregistering
  Input: elantech - disable elan-i2c for P52 and P72
  mm: don't miss the last page because of round-off error
  mm, page_alloc: fix has_unmovable_pages for HugePages
  mm: thp: fix flags for pmd migration when split
  mm, memory_hotplug: initialize struct pages for the full memory section
  media: ov5640: Fix set format regression
  iwlwifi: add new cards for 9560, 9462, 9461 and killer series
  Revert "mwifiex: restructure rx_reorder_tbl_lock usage"
  iwlwifi: mvm: don't send GEO_TX_POWER_LIMIT to old firmwares
  rtlwifi: Fix leak of skb when processing C2H_BT_INFO
  xfrm_user: fix freeing of xfrm states on acquire
  mm: introduce mm_[p4d|pud|pmd]_folded
  mm: make the __PAGETABLE_PxD_FOLDED defines non-empty
  mm: add mm_pxd_folded checks to pgtable_bytes accounting functions
  panic: avoid deadlocks in re-entrant console drivers
  x86/intel_rdt: Ensure a CPU remains online for the region's pseudo-locking sequence
  x86/vdso: Pass --eh-frame-hdr to the linker
  x86/mm: Fix decoy address handling vs 32-bit builds
  x86/mtrr: Don't copy uninitialized gentry fields back to userspace
  futex: Cure exit race
  Drivers: hv: vmbus: Return -EINVAL for the sys files for unopened channels
  KVM: Fix UAF in nested posted interrupt processing
  kvm: x86: Add AMD's EX_CFG to the list of ignored MSRs
  KVM: X86: Fix NULL deref in vcpu_scan_ioapic
  posix-timers: Fix division by zero bug
  gpiolib-acpi: Only defer request_irq for GpioInt ACPI event handlers
  gpio: max7301: fix driver for use with CONFIG_VMAP_STACK
  mmc: omap_hsmmc: fix DMA API warning
  mmc: core: Use a minimum 1600ms timeout when enabling CACHE ctrl
  mmc: core: Allow BKOPS and CACHE ctrl even if no HPI support
  mmc: core: Reset HPI enabled state during re-init and in case of errors
  scsi: sd: use mempool for discard special page
  scsi: t10-pi: Return correct ref tag when queue has no integrity profile
  ubifs: Handle re-linking of inodes correctly while recovery
  USB: serial: option: add Telit LN940 series
  USB: serial: option: add Fibocom NL668 series
  USB: serial: option: add Simcom SIM7500/SIM7600 (MBIM mode)
  USB: serial: option: add HP lt4132
  USB: serial: option: add GosunCn ZTE WeLink ME3630
  USB: xhci: fix 'broken_suspend' placement in struct xchi_hcd
  xhci: Don't prevent USB2 bus suspend in state check intended for USB3 only
  USB: hso: Fix OOB memory access in hso_probe/hso_get_config_data
  Revert "vfs: Allow userns root to call mknod on owned filesystems."
  iomap: Revert "fs/iomap.c: get/put the page in iomap_page_create/release()"

Conflicts:
	drivers/mmc/core/mmc.c

Change-Id: I92648e314b976d17abcc734c61142bcb6519518b
Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2019-02-18 03:27:10 -08:00
Sergey Senozhatsky
384221cbb9 panic: avoid deadlocks in re-entrant console drivers
commit c7c3f05e341a9a2bd1a92993d4f996cfd6e7348e upstream.

From printk()/serial console point of view panic() is special, because
it may force CPU to re-enter printk() or/and serial console driver.
Therefore, some of serial consoles drivers are re-entrant. E.g. 8250:

serial8250_console_write()
{
	if (port->sysrq)
		locked = 0;
	else if (oops_in_progress)
		locked = spin_trylock_irqsave(&port->lock, flags);
	else
		spin_lock_irqsave(&port->lock, flags);
	...
}

panic() does set oops_in_progress via bust_spinlocks(1), so in theory
we should be able to re-enter serial console driver from panic():

	CPU0
	<NMI>
	uart_console_write()
	serial8250_console_write()		// if (oops_in_progress)
						//    spin_trylock_irqsave()
	call_console_drivers()
	console_unlock()
	console_flush_on_panic()
	bust_spinlocks(1)			// oops_in_progress++
	panic()
	<NMI/>
	spin_lock_irqsave(&port->lock, flags)   // spin_lock_irqsave()
	serial8250_console_write()
	call_console_drivers()
	console_unlock()
	printk()
	...

However, this does not happen and we deadlock in serial console on
port->lock spinlock. And the problem is that console_flush_on_panic()
called after bust_spinlocks(0):

void panic(const char *fmt, ...)
{
	bust_spinlocks(1);
	...
	bust_spinlocks(0);
	console_flush_on_panic();
	...
}

bust_spinlocks(0) decrements oops_in_progress, so oops_in_progress
can go back to zero. Thus even re-entrant console drivers will simply
spin on port->lock spinlock. Given that port->lock may already be
locked either by a stopped CPU, or by the very same CPU we execute
panic() on (for instance, NMI panic() on printing CPU) the system
deadlocks and does not reboot.

Fix this by removing bust_spinlocks(0), so oops_in_progress is always
set in panic() now and, thus, re-entrant console drivers will trylock
the port->lock instead of spinning on it forever, when we call them
from console_flush_on_panic().

Link: http://lkml.kernel.org/r/20181025101036.6823-1-sergey.senozhatsky@gmail.com
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Daniel Wang <wonderfly@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Alan Cox <gnomes@lxorguk.ukuu.org.uk>
Cc: Jiri Slaby <jslaby@suse.com>
Cc: Peter Feiner <pfeiner@google.com>
Cc: linux-serial@vger.kernel.org
Cc: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-12-29 13:37:57 +01:00
Lingutla Chandrasekhar
77f7f8c31e soc: qcom: Register default dump entries to minidump table
Add below common dump entries to minidump table:
All memory dump table entries, kernel data/bss sections,
percpu static sections, rtb, logbuf, wdogdata, lpm_debug,
stackpointer, and current task struct.
Also add name for memory dump table entries to accommodate
Minidump support.

Change-Id: I45d121bc36b40332cfd0a0f5142572c6ce8f8a26
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
Signed-off-by: Rishabh Bhatnagar <rishabhb@codeaurora.org>
2018-09-07 15:26:54 -07:00
Linus Torvalds
050e9baa9d Kbuild: rename CC_STACKPROTECTOR[_STRONG] config variables
The changes to automatically test for working stack protector compiler
support in the Kconfig files removed the special STACKPROTECTOR_AUTO
option that picked the strongest stack protector that the compiler
supported.

That was all a nice cleanup - it makes no sense to have the AUTO case
now that the Kconfig phase can just determine the compiler support
directly.

HOWEVER.

It also meant that doing "make oldconfig" would now _disable_ the strong
stackprotector if you had AUTO enabled, because in a legacy config file,
the sane stack protector configuration would look like

  CONFIG_HAVE_CC_STACKPROTECTOR=y
  # CONFIG_CC_STACKPROTECTOR_NONE is not set
  # CONFIG_CC_STACKPROTECTOR_REGULAR is not set
  # CONFIG_CC_STACKPROTECTOR_STRONG is not set
  CONFIG_CC_STACKPROTECTOR_AUTO=y

and when you ran this through "make oldconfig" with the Kbuild changes,
it would ask you about the regular CONFIG_CC_STACKPROTECTOR (that had
been renamed from CONFIG_CC_STACKPROTECTOR_REGULAR to just
CONFIG_CC_STACKPROTECTOR), but it would think that the STRONG version
used to be disabled (because it was really enabled by AUTO), and would
disable it in the new config, resulting in:

  CONFIG_HAVE_CC_STACKPROTECTOR=y
  CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
  CONFIG_CC_STACKPROTECTOR=y
  # CONFIG_CC_STACKPROTECTOR_STRONG is not set
  CONFIG_CC_HAS_SANE_STACKPROTECTOR=y

That's dangerously subtle - people could suddenly find themselves with
the weaker stack protector setup without even realizing.

The solution here is to just rename not just the old RECULAR stack
protector option, but also the strong one.  This does that by just
removing the CC_ prefix entirely for the user choices, because it really
is not about the compiler support (the compiler support now instead
automatially impacts _visibility_ of the options to users).

This results in "make oldconfig" actually asking the user for their
choice, so that we don't have any silent subtle security model changes.
The end result would generally look like this:

  CONFIG_HAVE_CC_STACKPROTECTOR=y
  CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
  CONFIG_STACKPROTECTOR=y
  CONFIG_STACKPROTECTOR_STRONG=y
  CONFIG_CC_HAS_SANE_STACKPROTECTOR=y

where the "CC_" versions really are about internal compiler
infrastructure, not the user selections.

Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-06-14 12:21:18 +09:00
Kees Cook
bc4f2f5469 taint: add taint for randstruct
Since the randstruct plugin can intentionally produce extremely unusual
kernel structure layouts (even performance pathological ones), some
maintainers want to be able to trivially determine if an Oops is coming
from a randstruct-built kernel, so as to keep their sanity when
debugging.  This adds the new flag and initializes taint_mask
immediately when built with randstruct.

Link: http://lkml.kernel.org/r/1519084390-43867-4-git-send-email-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-04-11 10:28:35 -07:00
Kees Cook
9c4560e5bb taint: consolidate documentation
This consolidates the taint bit documentation into a single place with
both numeric and letter values.  Additionally adds the missing TAINT_AUX
documentation.

Link: http://lkml.kernel.org/r/1519084390-43867-3-git-send-email-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-04-11 10:28:34 -07:00
Kees Cook
47d4b263a2 taint: convert to indexed initialization
This converts to using indexed initializers instead of comments, adds a
comment on why the taint flags can't be an enum, and make sure that no
one forgets to update the taint_flags when adding new bits.

Link: http://lkml.kernel.org/r/1519084390-43867-2-git-send-email-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-04-11 10:28:34 -07:00
Linus Torvalds
2a56bb596b Merge tag 'trace-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull tracing updates from Steven Rostedt:
 "New features:

   - Tom Zanussi's extended histogram work.

     This adds the synthetic events to have histograms from multiple
     event data Adds triggers "onmatch" and "onmax" to call the
     synthetic events Several updates to the histogram code from this

   - Allow way to nest ring buffer calls in the same context

   - Allow absolute time stamps in ring buffer

   - Rewrite of filter code parsing based on Al Viro's suggestions

   - Setting of trace_clock to global if TSC is unstable (on boot)

   - Better OOM handling when allocating large ring buffers

   - Added initcall tracepoints (consolidated initcall_debug code with
     them)

  And other various fixes and clean ups"

* tag 'trace-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (68 commits)
  init: Have initcall_debug still work without CONFIG_TRACEPOINTS
  init, tracing: Have printk come through the trace events for initcall_debug
  init, tracing: instrument security and console initcall trace events
  init, tracing: Add initcall trace events
  tracing: Add rcu dereference annotation for test func that touches filter->prog
  tracing: Add rcu dereference annotation for filter->prog
  tracing: Fixup logic inversion on setting trace_global_clock defaults
  tracing: Hide global trace clock from lockdep
  ring-buffer: Add set/clear_current_oom_origin() during allocations
  ring-buffer: Check if memory is available before allocation
  lockdep: Add print_irqtrace_events() to __warn
  vsprintf: Do not preprocess non-dereferenced pointers for bprintf (%px and %pK)
  tracing: Uninitialized variable in create_tracing_map_fields()
  tracing: Make sure variable string fields are NULL-terminated
  tracing: Add action comparisons when testing matching hist triggers
  tracing: Don't add flag strings when displaying variable references
  tracing: Fix display of hist trigger expressions containing timestamps
  ftrace: Drop a VLA in module_exists()
  tracing: Mention trace_clock=global when warning about unstable clocks
  tracing: Default to using trace_global_clock if sched_clock is unstable
  ...
2018-04-10 11:27:30 -07:00
Steven Rostedt (VMware)
4c281074d2 lockdep: Add print_irqtrace_events() to __warn
Running a test on a x86_32 kernel I triggered a bug that an interrupt
disable/enable isn't being catched by lockdep. At least knowing where the
last one was found would be helpful, but the warnings that are produced do
not show this information. Even without debugging lockdep, having the WARN()
display the last place hard and soft irqs were enabled or disabled is
valuable.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
2018-04-06 08:56:51 -04:00
Linus Torvalds
54dce3c35b Merge branch 'core-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull misc core updates from Ingo Molnar:
 "Two changes:

  - add membarriers to Documentation/features/

  - fix a minor nit in panic printk formatting"

* 'core-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  panic: Add closing panic marker parenthesis
  Documentation/features, membarriers: Document membarrier-sync-core architecture support
  Documentation/features: Allow comments in arch features files
2018-04-02 09:08:26 -07:00
Kees Cook
0862ca422b bug: use %pB in BUG and stack protector failure
The BUG and stack protector reports were still using a raw %p.  This
changes it to %pB for more meaningful output.

Link: http://lkml.kernel.org/r/20180301225704.GA34198@beast
Fixes: ad67b74d24 ("printk: hash addresses printed with %p")
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Richard Weinberger <richard.weinberger@gmail.com>,
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-03-09 16:40:01 -08:00
Borislav Petkov
5ad7510537 panic: Add closing panic marker parenthesis
Otherwise it looks unbalanced.

Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Link: https://lkml.kernel.org/r/20180306094920.16917-2-bp@alien8.de
2018-03-08 12:01:10 +01:00
Borislav Petkov
4efb442cc1 kernel/panic.c: add TAINT_AUX
This is the gist of a patch which we've been forward-porting in our
kernels for a long time now and it probably would make a good sense to
have such TAINT_AUX flag upstream which can be used by each distro etc,
how they see fit.  This way, we won't need to forward-port a distro-only
version indefinitely.

Add an auxiliary taint flag to be used by distros and others.  This
obviates the need to forward-port whatever internal solutions people
have in favor of a single flag which they can map arbitrarily to a
definition of their pleasing.

The "X" mnemonic could also mean eXternal, which would be taint from a
distro or something else but not the upstream kernel.  We will use it to
mark modules for which we don't provide support.  I.e., a really
eXternal module.

Link: http://lkml.kernel.org/r/20170911134533.dp5mtyku5bongx4c@pd.tnic
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Kees Cook <keescook@chromium.org>
Cc: Jessica Yu <jeyu@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-11-17 16:10:04 -08:00
Kees Cook
a7bed27af1 bug: fix "cut here" location for __WARN_TAINT architectures
Prior to v4.11, x86 used warn_slowpath_fmt() for handling WARN()s.
After WARN() was moved to using UD0 on x86, the warning text started
appearing _before_ the "cut here" line.  This appears to have been a
long-standing bug on architectures that used __WARN_TAINT, but it didn't
get fixed.

v4.11 and earlier on x86:

  ------------[ cut here ]------------
  WARNING: CPU: 0 PID: 2956 at drivers/misc/lkdtm_bugs.c:65 lkdtm_WARNING+0x21/0x30
  This is a warning message
  Modules linked in:

v4.12 and later on x86:

  This is a warning message
  ------------[ cut here ]------------
  WARNING: CPU: 1 PID: 2982 at drivers/misc/lkdtm_bugs.c:68 lkdtm_WARNING+0x15/0x20
  Modules linked in:

With this fix:

  ------------[ cut here ]------------
  This is a warning message
  WARNING: CPU: 3 PID: 3009 at drivers/misc/lkdtm_bugs.c:67 lkdtm_WARNING+0x15/0x20

Since the __FILE__ reporting happens as part of the UD0 handler, it
isn't trivial to move the message to after the WARNING line, but at
least we can fix the position of the "cut here" line so all the various
logging tools will start including the actual runtime warning message
again, when they follow the instruction and "cut here".

Link: http://lkml.kernel.org/r/1510100869-73751-4-git-send-email-keescook@chromium.org
Fixes: 9a93848fe7 ("x86/debug: Implement __WARN() using UD0")
Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Fengguang Wu <fengguang.wu@intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-11-17 16:10:01 -08:00
Kees Cook
2a8358d8a3 bug: define the "cut here" string in a single place
The "cut here" string is used in a few paths.  Define it in a single
place.

Link: http://lkml.kernel.org/r/1510100869-73751-3-git-send-email-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Fengguang Wu <fengguang.wu@intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-11-17 16:10:01 -08:00
Andi Kleen
aaf5dcfb22 kernel debug: support resetting WARN_ONCE for all architectures
Some architectures store the WARN_ONCE state in the flags field of the
bug_entry.  Clear that one too when resetting once state through
/sys/kernel/debug/clear_warn_once

Pointed out by Michael Ellerman

Improves the earlier patch that add clear_warn_once.

[ak@linux.intel.com: add a missing ifdef CONFIG_MODULES]
  Link: http://lkml.kernel.org/r/20171020170633.9593-1-andi@firstfloor.org
[akpm@linux-foundation.org: fix unused var warning]
[akpm@linux-foundation.org: Use 0200 for clear_warn_once file, per mpe]
[akpm@linux-foundation.org: clear BUGFLAG_DONE in clear_once_table(), per mpe]
Link: http://lkml.kernel.org/r/20171019204642.7404-1-andi@firstfloor.org
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Tested-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-11-17 16:10:01 -08:00
Andi Kleen
b1fca27d38 kernel debug: support resetting WARN*_ONCE
I like _ONCE warnings because it's guaranteed that they don't flood the
log.

During testing I find it useful to reset the state of the once warnings,
so that I can rerun tests and see if they trigger again, or can
guarantee that a test run always hits the same warnings.

This patch adds a debugfs interface to reset all the _ONCE warnings so
that they appear again:

  echo 1 > /sys/kernel/debug/clear_warn_once

This is implemented by putting all the warning booleans into a special
section, and clearing it.

[akpm@linux-foundation.org: coding-style fixes]
Link: http://lkml.kernel.org/r/20171017221455.6740-1-andi@firstfloor.org
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Tested-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-11-17 16:10:00 -08:00
Kees Cook
7a46ec0e2f locking/refcounts, x86/asm: Implement fast refcount overflow protection
This implements refcount_t overflow protection on x86 without a noticeable
performance impact, though without the fuller checking of REFCOUNT_FULL.

This is done by duplicating the existing atomic_t refcount implementation
but with normally a single instruction added to detect if the refcount
has gone negative (e.g. wrapped past INT_MAX or below zero). When detected,
the handler saturates the refcount_t to INT_MIN / 2. With this overflow
protection, the erroneous reference release that would follow a wrap back
to zero is blocked from happening, avoiding the class of refcount-overflow
use-after-free vulnerabilities entirely.

Only the overflow case of refcounting can be perfectly protected, since
it can be detected and stopped before the reference is freed and left to
be abused by an attacker. There isn't a way to block early decrements,
and while REFCOUNT_FULL stops increment-from-zero cases (which would
be the state _after_ an early decrement and stops potential double-free
conditions), this fast implementation does not, since it would require
the more expensive cmpxchg loops. Since the overflow case is much more
common (e.g. missing a "put" during an error path), this protection
provides real-world protection. For example, the two public refcount
overflow use-after-free exploits published in 2016 would have been
rendered unexploitable:

  http://perception-point.io/2016/01/14/analysis-and-exploitation-of-a-linux-kernel-vulnerability-cve-2016-0728/

  http://cyseclabs.com/page?n=02012016

This implementation does, however, notice an unchecked decrement to zero
(i.e. caller used refcount_dec() instead of refcount_dec_and_test() and it
resulted in a zero). Decrements under zero are noticed (since they will
have resulted in a negative value), though this only indicates that a
use-after-free may have already happened. Such notifications are likely
avoidable by an attacker that has already exploited a use-after-free
vulnerability, but it's better to have them reported than allow such
conditions to remain universally silent.

On first overflow detection, the refcount value is reset to INT_MIN / 2
(which serves as a saturation value) and a report and stack trace are
produced. When operations detect only negative value results (such as
changing an already saturated value), saturation still happens but no
notification is performed (since the value was already saturated).

On the matter of races, since the entire range beyond INT_MAX but before
0 is negative, every operation at INT_MIN / 2 will trap, leaving no
overflow-only race condition.

As for performance, this implementation adds a single "js" instruction
to the regular execution flow of a copy of the standard atomic_t refcount
operations. (The non-"and_test" refcount_dec() function, which is uncommon
in regular refcount design patterns, has an additional "jz" instruction
to detect reaching exactly zero.) Since this is a forward jump, it is by
default the non-predicted path, which will be reinforced by dynamic branch
prediction. The result is this protection having virtually no measurable
change in performance over standard atomic_t operations. The error path,
located in .text.unlikely, saves the refcount location and then uses UD0
to fire a refcount exception handler, which resets the refcount, handles
reporting, and returns to regular execution. This keeps the changes to
.text size minimal, avoiding return jumps and open-coded calls to the
error reporting routine.

Example assembly comparison:

refcount_inc() before:

  .text:
  ffffffff81546149:       f0 ff 45 f4             lock incl -0xc(%rbp)

refcount_inc() after:

  .text:
  ffffffff81546149:       f0 ff 45 f4             lock incl -0xc(%rbp)
  ffffffff8154614d:       0f 88 80 d5 17 00       js     ffffffff816c36d3
  ...
  .text.unlikely:
  ffffffff816c36d3:       48 8d 4d f4             lea    -0xc(%rbp),%rcx
  ffffffff816c36d7:       0f ff                   (bad)

These are the cycle counts comparing a loop of refcount_inc() from 1
to INT_MAX and back down to 0 (via refcount_dec_and_test()), between
unprotected refcount_t (atomic_t), fully protected REFCOUNT_FULL
(refcount_t-full), and this overflow-protected refcount (refcount_t-fast):

  2147483646 refcount_inc()s and 2147483647 refcount_dec_and_test()s:
		    cycles		protections
  atomic_t           82249267387	none
  refcount_t-fast    82211446892	overflow, untested dec-to-zero
  refcount_t-full   144814735193	overflow, untested dec-to-zero, inc-from-zero

This code is a modified version of the x86 PAX_REFCOUNT atomic_t
overflow defense from the last public patch of PaX/grsecurity, based
on my understanding of the code. Changes or omissions from the original
code are mine and don't reflect the original grsecurity/PaX code. Thanks
to PaX Team for various suggestions for improvement for repurposing this
code to be a refcount-only protection.

Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
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/20170815161924.GA133115@beast
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-08-17 10:40:26 +02:00
Ingo Molnar
b17b01533b sched/headers: Prepare for new header dependencies before moving code to <linux/sched/debug.h>
We are going to split <linux/sched/debug.h> out of <linux/sched.h>, which
will have to be picked up from other headers and a couple of .c files.

Create a trivial placeholder <linux/sched/debug.h> file that just
maps to <linux/sched.h> to make this patch obviously correct and
bisectable.

Include the new header in the files that are going to need it.

Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-03-02 08:42:34 +01:00
Vijay Kumar
7db60d05e5 sparc64: Send break twice from console to return to boot prom
Now we can also jump to boot prom from sunhv console by sending
break twice on console for both running and panicked kernel
cases.

Signed-off-by: Vijay Kumar <vijay.ac.kumar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-02-23 08:27:24 -08:00
Linus Torvalds
7d91de7443 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk
Pull printk updates from Petr Mladek:

 - Add Petr Mladek, Sergey Senozhatsky as printk maintainers, and Steven
   Rostedt as the printk reviewer. This idea came up after the
   discussion about printk issues at Kernel Summit. It was formulated
   and discussed at lkml[1].

 - Extend a lock-less NMI per-cpu buffers idea to handle recursive
   printk() calls by Sergey Senozhatsky[2]. It is the first step in
   sanitizing printk as discussed at Kernel Summit.

   The change allows to see messages that would normally get ignored or
   would cause a deadlock.

   Also it allows to enable lockdep in printk(). This already paid off.
   The testing in linux-next helped to discover two old problems that
   were hidden before[3][4].

 - Remove unused parameter by Sergey Senozhatsky. Clean up after a past
   change.

[1] http://lkml.kernel.org/r/1481798878-31898-1-git-send-email-pmladek@suse.com
[2] http://lkml.kernel.org/r/20161227141611.940-1-sergey.senozhatsky@gmail.com
[3] http://lkml.kernel.org/r/20170215044332.30449-1-sergey.senozhatsky@gmail.com
[4] http://lkml.kernel.org/r/20170217015932.11898-1-sergey.senozhatsky@gmail.com

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
  printk: drop call_console_drivers() unused param
  printk: convert the rest to printk-safe
  printk: remove zap_locks() function
  printk: use printk_safe buffers in printk
  printk: report lost messages in printk safe/nmi contexts
  printk: always use deferred printk when flush printk_safe lines
  printk: introduce per-cpu safe_print seq buffer
  printk: rename nmi.c and exported api
  printk: use vprintk_func in vprintk()
  MAINTAINERS: Add printk maintainers
2017-02-22 17:33:34 -08:00
Sergey Senozhatsky
f92bac3b14 printk: rename nmi.c and exported api
A preparation patch for printk_safe work. No functional change.
- rename nmi.c to print_safe.c
- add `printk_safe' prefix to some (which used both by printk-safe
  and printk-nmi) of the exported functions.

Link: http://lkml.kernel.org/r/20161227141611.940-3-sergey.senozhatsky@gmail.com
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jan Kara <jack@suse.cz>
Cc: Tejun Heo <tj@kernel.org>
Cc: Calvin Owens <calvinowens@fb.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Peter Hurley <peter@hurleysoftware.com>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
2017-02-08 11:02:33 +01:00
Jiri Slaby
ff7a28a074 kernel/panic.c: add missing \n
When a system panics, the "Rebooting in X seconds.." message is never
printed because it lacks a new line.  Fix it.

Link: http://lkml.kernel.org/r/20170119114751.2724-1-jslaby@suse.cz
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-01-24 16:26:14 -08:00
Larry Finger
5eb7c0d04f taint/module: Fix problems when out-of-kernel driver defines true or false
Commit 7fd8329ba5 ("taint/module: Clean up global and module taint
flags handling") used the key words true and false as character members
of a new struct. These names cause problems when out-of-kernel modules
such as VirtualBox include their own definitions of true and false.

Fixes: 7fd8329ba5 ("taint/module: Clean up global and module taint flags handling")
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Jessica Yu <jeyu@redhat.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Acked-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Jessica Yu <jeyu@redhat.com>
2017-01-17 10:56:45 -08:00
Petr Mladek
7fd8329ba5 taint/module: Clean up global and module taint flags handling
The commit 66cc69e34e ("Fix: module signature vs tracepoints:
add new TAINT_UNSIGNED_MODULE") updated module_taint_flags() to
potentially print one more character. But it did not increase the
size of the corresponding buffers in m_show() and print_modules().

We have recently done the same mistake when adding a taint flag
for livepatching, see
https://lkml.kernel.org/r/cfba2c823bb984690b73572aaae1db596b54a082.1472137475.git.jpoimboe@redhat.com

Also struct module uses an incompatible type for mod-taints flags.
It survived from the commit 2bc2d61a96 ("[PATCH] list module
taint flags in Oops/panic"). There was used "int" for the global taint
flags at these times. But only the global tain flags was later changed
to "unsigned long" by the commit 25ddbb18aa ("Make the taint
flags reliable").

This patch defines TAINT_FLAGS_COUNT that can be used to create
arrays and buffers of the right size. Note that we could not use
enum because the taint flag indexes are used also in assembly code.

Then it reworks the table that describes the taint flags. The TAINT_*
numbers can be used as the index. Instead, we add information
if the taint flag is also shown per-module.

Finally, it uses "unsigned long", bit operations, and the updated
taint_flags table also for mod->taints.

It is not optimal because only few taint flags can be printed by
module_taint_flags(). But better be on the safe side. IMHO, it is
not worth the optimization and this is a good compromise.

Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: http://lkml.kernel.org/r/1474458442-21581-1-git-send-email-pmladek@suse.com
[jeyu@redhat.com: fix broken lkml link in changelog]
Signed-off-by: Jessica Yu <jeyu@redhat.com>
2016-11-26 11:18:01 -08:00
Hidehiro Kawai
0ee59413c9 x86/panic: replace smp_send_stop() with kdump friendly version in panic path
Daniel Walker reported problems which happens when
crash_kexec_post_notifiers kernel option is enabled
(https://lkml.org/lkml/2015/6/24/44).

In that case, smp_send_stop() is called before entering kdump routines
which assume other CPUs are still online.  As the result, for x86, kdump
routines fail to save other CPUs' registers and disable virtualization
extensions.

To fix this problem, call a new kdump friendly function,
crash_smp_send_stop(), instead of the smp_send_stop() when
crash_kexec_post_notifiers is enabled.  crash_smp_send_stop() is a weak
function, and it just call smp_send_stop().  Architecture codes should
override it so that kdump can work appropriately.  This patch only
provides x86-specific version.

For Xen's PV kernel, just keep the current behavior.

NOTES:

- Right solution would be to place crash_smp_send_stop() before
  __crash_kexec() invocation in all cases and remove smp_send_stop(), but
  we can't do that until all architectures implement own
  crash_smp_send_stop()

- crash_smp_send_stop()-like work is still needed by
  machine_crash_shutdown() because crash_kexec() can be called without
  entering panic()

Fixes: f06e5153f4 (kernel/panic.c: add "crash_kexec_post_notifiers" option)
Link: http://lkml.kernel.org/r/20160810080948.11028.15344.stgit@sysi4-13.yrl.intra.hitachi.co.jp
Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
Reported-by: Daniel Walker <dwalker@fifo99.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Baoquan He <bhe@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: Eric Biederman <ebiederm@xmission.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Daniel Walker <dwalker@fifo99.com>
Cc: Xunlei Pang <xpang@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Vrabel <david.vrabel@citrix.com>
Cc: Toshi Kani <toshi.kani@hpe.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: David Daney <david.daney@cavium.com>
Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: "Steven J. Hill" <steven.hill@cavium.com>
Cc: Corey Minyard <cminyard@mvista.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-10-11 15:06:32 -07:00
Hidehiro Kawai
b26e27ddfd kexec: use core_param for crash_kexec_post_notifiers boot option
crash_kexec_post_notifiers ia a boot option which controls whether the
1st kernel calls panic notifiers or not before booting the 2nd kernel.
However, there is no need to limit it to being modifiable only at boot
time.  So, use core_param instead of early_param.

Link: http://lkml.kernel.org/r/20160705113327.5864.43139.stgit@softrs
Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Baoquan He <bhe@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: Eric Biederman <ebiederm@xmission.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Borislav Petkov <bp@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-08-02 19:35:29 -04:00
Petr Mladek
cf9b1106c8 printk/nmi: flush NMI messages on the system panic
In NMI context, printk() messages are stored into per-CPU buffers to
avoid a possible deadlock.  They are normally flushed to the main ring
buffer via an IRQ work.  But the work is never called when the system
calls panic() in the very same NMI handler.

This patch tries to flush NMI buffers before the crash dump is
generated.  In this case it does not risk a double release and bails out
when the logbuf_lock is already taken.  The aim is to get the messages
into the main ring buffer when possible.  It makes them better
accessible in the vmcore.

Then the patch tries to flush the buffers second time when other CPUs
are down.  It might be more aggressive and reset logbuf_lock.  The aim
is to get the messages available for the consequent kmsg_dump() and
console_flush_on_panic() calls.

The patch causes vprintk_emit() to be called even in NMI context again.
But it is done via printk_deferred() so that the console handling is
skipped.  Consoles use internal locks and we could not prevent a
deadlock easily.  They are explicitly called later when the crash dump
is not generated, see console_flush_on_panic().

Signed-off-by: Petr Mladek <pmladek@suse.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Daniel Thompson <daniel.thompson@linaro.org>
Cc: David Miller <davem@davemloft.net>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Jiri Kosina <jkosina@suse.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-05-20 17:58:30 -07:00
Hidehiro Kawai
ebc41f20d7 panic: change nmi_panic from macro to function
Commit 1717f2096b ("panic, x86: Fix re-entrance problem due to panic
on NMI") and commit 58c5661f21 ("panic, x86: Allow CPUs to save
registers even if looping in NMI context") introduced nmi_panic() which
prevents concurrent/recursive execution of panic().  It also saves
registers for the crash dump on x86.

However, there are some cases where NMI handlers still use panic().
This patch set partially replaces them with nmi_panic() in those cases.

Even this patchset is applied, some NMI or similar handlers (e.g.  MCE
handler) continue to use panic().  This is because I can't test them
well and actual problems won't happen.  For example, the possibility
that normal panic and panic on MCE happen simultaneously is very low.

This patch (of 3):

Convert nmi_panic() to a proper function and export it instead of
exporting internal implementation details to modules, for obvious
reasons.

Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
Acked-by: Borislav Petkov <bp@suse.de>
Acked-by: Michal Nazarewicz <mina86@mina86.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Cc: Javi Merino <javi.merino@arm.com>
Cc: Gobinda Charan Maji <gobinda.cemk07@gmail.com>
Cc: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-03-22 15:36:02 -07:00
Josh Poimboeuf
2553b67a1f lib/bug.c: use common WARN helper
The traceoff_on_warning option doesn't have any effect on s390, powerpc,
arm64, parisc, and sh because there are two different types of WARN
implementations:

1) The above mentioned architectures treat WARN() as a special case of a
   BUG() exception.  They handle warnings in report_bug() in lib/bug.c.

2) All other architectures just call warn_slowpath_*() directly.  Their
   warnings are handled in warn_slowpath_common() in kernel/panic.c.

Support traceoff_on_warning on all architectures and prevent any future
divergence by using a single common function to emit the warning.

Also remove the '()' from '%pS()', because the parentheses look funky:

  [   45.607629] WARNING: at /root/warn_mod/warn_mod.c:17 .init_dummy+0x20/0x40 [warn_mod]()

Reported-by: Chunyu Hu <chuhu@redhat.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Tested-by: Prarit Bhargava <prarit@redhat.com>
Acked-by: Prarit Bhargava <prarit@redhat.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-03-17 15:09:34 -07:00
Tejun Heo
8d91f8b153 printk: do cond_resched() between lines while outputting to consoles
@console_may_schedule tracks whether console_sem was acquired through
lock or trylock.  If the former, we're inside a sleepable context and
console_conditional_schedule() performs cond_resched().  This allows
console drivers which use console_lock for synchronization to yield
while performing time-consuming operations such as scrolling.

However, the actual console outputting is performed while holding
irq-safe logbuf_lock, so console_unlock() clears @console_may_schedule
before starting outputting lines.  Also, only a few drivers call
console_conditional_schedule() to begin with.  This means that when a
lot of lines need to be output by console_unlock(), for example on a
console registration, the task doing console_unlock() may not yield for
a long time on a non-preemptible kernel.

If this happens with a slow console devices, for example a serial
console, the outputting task may occupy the cpu for a very long time.
Long enough to trigger softlockup and/or RCU stall warnings, which in
turn pile more messages, sometimes enough to trigger the next cycle of
warnings incapacitating the system.

Fix it by making console_unlock() insert cond_resched() between lines if
@console_may_schedule.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Calvin Owens <calvinowens@fb.com>
Acked-by: Jan Kara <jack@suse.com>
Cc: Dave Jones <davej@codemonkey.org.uk>
Cc: Kyle McMartin <kyle@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-01-16 11:17:25 -08:00
Hidehiro Kawai
7bbee5ca38 kexec: Fix race between panic() and crash_kexec()
Currently, panic() and crash_kexec() can be called at the same time.
For example (x86 case):

CPU 0:
  oops_end()
    crash_kexec()
      mutex_trylock() // acquired
        nmi_shootdown_cpus() // stop other CPUs

CPU 1:
  panic()
    crash_kexec()
      mutex_trylock() // failed to acquire
    smp_send_stop() // stop other CPUs
    infinite loop

If CPU 1 calls smp_send_stop() before nmi_shootdown_cpus(), kdump
fails.

In another case:

CPU 0:
  oops_end()
    crash_kexec()
      mutex_trylock() // acquired
        <NMI>
        io_check_error()
          panic()
            crash_kexec()
              mutex_trylock() // failed to acquire
            infinite loop

Clearly, this is an undesirable result.

To fix this problem, this patch changes crash_kexec() to exclude others
by using the panic_cpu atomic.

Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Baoquan He <bhe@redhat.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: kexec@lists.infradead.org
Cc: linux-doc@vger.kernel.org
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Minfei Huang <mnfhuang@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Seth Jennings <sjenning@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: x86-ml <x86@kernel.org>
Link: http://lkml.kernel.org/r/20151210014630.25437.94161.stgit@softrs
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2015-12-19 11:07:01 +01:00