Commit Graph

185 Commits

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

Change-Id: I9ca86223eb4183aa40011ade86b74cc3beaabd4a
Signed-off-by: lucaswei <lucaswei@google.com>
2020-09-16 21:37:23 +08:00
Greg Kroah-Hartman
ab1a0db7d9 Revert "ANDROID: vfs: Add permission2 for filesystems with per mount permissions"
This reverts commit e81cea2a6f as it is
longer needed because sdcardfs is gone.

Bug: 157700134
Cc: Daniel Rosenberg <drosen@google.com>
Cc: Amit Pundir <amit.pundir@linaro.org>
Cc: Alistair Strachan <astrachan@google.com>
Cc: Yongqin Liu <yongqin.liu@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ic7f303d4353c9f03e8e7a5aad07d0a5aa5289412
(cherry picked from commit 633920f372)
Signed-off-by: Will McVicker <willmcvicker@google.com>
2020-06-28 22:12:14 -07:00
Greg Kroah-Hartman
bedd88210d Merge 4.19.123 into android-4.19
Changes in 4.19.123
	USB: serial: qcserial: Add DW5816e support
	tracing/kprobes: Fix a double initialization typo
	vt: fix unicode console freeing with a common interface
	dp83640: reverse arguments to list_add_tail
	fq_codel: fix TCA_FQ_CODEL_DROP_BATCH_SIZE sanity checks
	net: macsec: preserve ingress frame ordering
	net/mlx4_core: Fix use of ENOSPC around mlx4_counter_alloc()
	net_sched: sch_skbprio: add message validation to skbprio_change()
	net: usb: qmi_wwan: add support for DW5816e
	sch_choke: avoid potential panic in choke_reset()
	sch_sfq: validate silly quantum values
	tipc: fix partial topology connection closure
	bnxt_en: Fix VLAN acceleration handling in bnxt_fix_features().
	net/mlx5: Fix forced completion access non initialized command entry
	net/mlx5: Fix command entry leak in Internal Error State
	bnxt_en: Improve AER slot reset.
	bnxt_en: Fix VF anti-spoof filter setup.
	net: stricter validation of untrusted gso packets
	HID: wacom: Read HID_DG_CONTACTMAX directly for non-generic devices
	sctp: Fix bundling of SHUTDOWN with COOKIE-ACK
	HID: usbhid: Fix race between usbhid_close() and usbhid_stop()
	USB: uas: add quirk for LaCie 2Big Quadra
	USB: serial: garmin_gps: add sanity checking for data length
	tracing: Add a vmalloc_sync_mappings() for safe measure
	KVM: arm: vgic: Fix limit condition when writing to GICD_I[CS]ACTIVER
	KVM: arm64: Fix 32bit PC wrap-around
	arm64: hugetlb: avoid potential NULL dereference
	mm/page_alloc: fix watchdog soft lockups during set_zone_contiguous()
	staging: gasket: Check the return value of gasket_get_bar_index()
	coredump: fix crash when umh is disabled
	KVM: VMX: Explicitly reference RCX as the vmx_vcpu pointer in asm blobs
	KVM: VMX: Mark RCX, RDX and RSI as clobbered in vmx_vcpu_run()'s asm blob
	batman-adv: fix batadv_nc_random_weight_tq
	batman-adv: Fix refcnt leak in batadv_show_throughput_override
	batman-adv: Fix refcnt leak in batadv_store_throughput_override
	batman-adv: Fix refcnt leak in batadv_v_ogm_process
	x86/entry/64: Fix unwind hints in register clearing code
	x86/entry/64: Fix unwind hints in kernel exit path
	x86/entry/64: Fix unwind hints in rewind_stack_do_exit()
	x86/unwind/orc: Don't skip the first frame for inactive tasks
	x86/unwind/orc: Prevent unwinding before ORC initialization
	x86/unwind/orc: Fix error path for bad ORC entry type
	x86/unwind/orc: Fix premature unwind stoppage due to IRET frames
	netfilter: nat: never update the UDP checksum when it's 0
	netfilter: nf_osf: avoid passing pointer to local var
	objtool: Fix stack offset tracking for indirect CFAs
	scripts/decodecode: fix trapping instruction formatting
	ipc/mqueue.c: change __do_notify() to bypass check_kill_permission()
	Linux 4.19.123

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ib87d493c94816aa0a0754530669a8bd688964987
2020-05-14 08:54:02 +02:00
Oleg Nesterov
c7eb87c8ba ipc/mqueue.c: change __do_notify() to bypass check_kill_permission()
[ Upstream commit b5f2006144c6ae941726037120fa1001ddede784 ]

Commit cc731525f2 ("signal: Remove kernel interal si_code magic")
changed the value of SI_FROMUSER(SI_MESGQ), this means that mq_notify() no
longer works if the sender doesn't have rights to send a signal.

Change __do_notify() to use do_send_sig_info() instead of kill_pid_info()
to avoid check_kill_permission().

This needs the additional notify.sigev_signo != 0 check, shouldn't we
change do_mq_notify() to deny sigev_signo == 0 ?

Test-case:

	#include <signal.h>
	#include <mqueue.h>
	#include <unistd.h>
	#include <sys/wait.h>
	#include <assert.h>

	static int notified;

	static void sigh(int sig)
	{
		notified = 1;
	}

	int main(void)
	{
		signal(SIGIO, sigh);

		int fd = mq_open("/mq", O_RDWR|O_CREAT, 0666, NULL);
		assert(fd >= 0);

		struct sigevent se = {
			.sigev_notify	= SIGEV_SIGNAL,
			.sigev_signo	= SIGIO,
		};
		assert(mq_notify(fd, &se) == 0);

		if (!fork()) {
			assert(setuid(1) == 0);
			mq_send(fd, "",1,0);
			return 0;
		}

		wait(NULL);
		mq_unlink("/mq");
		assert(notified);
		return 0;
	}

[manfred@colorfullife.com: 1) Add self_exec_id evaluation so that the implementation matches do_notify_parent 2) use PIDTYPE_TGID everywhere]
Fixes: cc731525f2 ("signal: Remove kernel interal si_code magic")
Reported-by: Yoji <yoji.fujihar.min@gmail.com>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Markus Elfring <elfring@users.sourceforge.net>
Cc: <1vier1@web.de>
Cc: <stable@vger.kernel.org>
Link: http://lkml.kernel.org/r/e2a782e4-eab9-4f5c-c749-c07a8f7a4e66@colorfullife.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-05-14 07:57:23 +02:00
Greg Kroah-Hartman
03d5ba4085 Merge 4.19.65 into android-4.19-q
Changes in 4.19.65
	ARM: riscpc: fix DMA
	ARM: dts: rockchip: Make rk3288-veyron-minnie run at hs200
	ARM: dts: rockchip: Make rk3288-veyron-mickey's emmc work again
	ARM: dts: rockchip: Mark that the rk3288 timer might stop in suspend
	ftrace: Enable trampoline when rec count returns back to one
	dmaengine: tegra-apb: Error out if DMA_PREP_INTERRUPT flag is unset
	arm64: dts: rockchip: fix isp iommu clocks and power domain
	kernel/module.c: Only return -EEXIST for modules that have finished loading
	firmware/psci: psci_checker: Park kthreads before stopping them
	MIPS: lantiq: Fix bitfield masking
	dmaengine: rcar-dmac: Reject zero-length slave DMA requests
	clk: tegra210: fix PLLU and PLLU_OUT1
	fs/adfs: super: fix use-after-free bug
	clk: sprd: Add check for return value of sprd_clk_regmap_init()
	btrfs: fix minimum number of chunk errors for DUP
	btrfs: qgroup: Don't hold qgroup_ioctl_lock in btrfs_qgroup_inherit()
	cifs: Fix a race condition with cifs_echo_request
	ceph: fix improper use of smp_mb__before_atomic()
	ceph: return -ERANGE if virtual xattr value didn't fit in buffer
	ACPI: blacklist: fix clang warning for unused DMI table
	scsi: zfcp: fix GCC compiler warning emitted with -Wmaybe-uninitialized
	perf version: Fix segfault due to missing OPT_END()
	x86: kvm: avoid constant-conversion warning
	ACPI: fix false-positive -Wuninitialized warning
	be2net: Signal that the device cannot transmit during reconfiguration
	x86/apic: Silence -Wtype-limits compiler warnings
	x86: math-emu: Hide clang warnings for 16-bit overflow
	mm/cma.c: fail if fixed declaration can't be honored
	lib/test_overflow.c: avoid tainting the kernel and fix wrap size
	lib/test_string.c: avoid masking memset16/32/64 failures
	coda: add error handling for fget
	coda: fix build using bare-metal toolchain
	uapi linux/coda_psdev.h: move upc_req definition from uapi to kernel side headers
	drivers/rapidio/devices/rio_mport_cdev.c: NUL terminate some strings
	ipc/mqueue.c: only perform resource calculation if user valid
	mlxsw: spectrum_dcb: Configure DSCP map as the last rule is removed
	xen/pv: Fix a boot up hang revealed by int3 self test
	x86/kvm: Don't call kvm_spurious_fault() from .fixup
	x86/paravirt: Fix callee-saved function ELF sizes
	x86, boot: Remove multiple copy of static function sanitize_boot_params()
	drm/nouveau: fix memory leak in nouveau_conn_reset()
	kconfig: Clear "written" flag to avoid data loss
	kbuild: initialize CLANG_FLAGS correctly in the top Makefile
	Btrfs: fix incremental send failure after deduplication
	Btrfs: fix race leading to fs corruption after transaction abort
	mmc: dw_mmc: Fix occasional hang after tuning on eMMC
	mmc: meson-mx-sdio: Fix misuse of GENMASK macro
	gpiolib: fix incorrect IRQ requesting of an active-low lineevent
	IB/hfi1: Fix Spectre v1 vulnerability
	mtd: rawnand: micron: handle on-die "ECC-off" devices correctly
	selinux: fix memory leak in policydb_init()
	ALSA: hda: Fix 1-minute detection delay when i915 module is not available
	mm: vmscan: check if mem cgroup is disabled or not before calling memcg slab shrinker
	s390/dasd: fix endless loop after read unit address configuration
	cgroup: kselftest: relax fs_spec checks
	parisc: Fix build of compressed kernel even with debug enabled
	drivers/perf: arm_pmu: Fix failure path in PM notifier
	arm64: compat: Allow single-byte watchpoints on all addresses
	arm64: cpufeature: Fix feature comparison for CTR_EL0.{CWG,ERG}
	nbd: replace kill_bdev() with __invalidate_device() again
	xen/swiotlb: fix condition for calling xen_destroy_contiguous_region()
	IB/mlx5: Fix unreg_umr to ignore the mkey state
	IB/mlx5: Use direct mkey destroy command upon UMR unreg failure
	IB/mlx5: Move MRs to a kernel PD when freeing them to the MR cache
	IB/mlx5: Fix clean_mr() to work in the expected order
	IB/mlx5: Fix RSS Toeplitz setup to be aligned with the HW specification
	IB/hfi1: Check for error on call to alloc_rsm_map_table
	drm/i915/gvt: fix incorrect cache entry for guest page mapping
	eeprom: at24: make spd world-readable again
	ARC: enable uboot support unconditionally
	objtool: Support GCC 9 cold subfunction naming scheme
	gcc-9: properly declare the {pv,hv}clock_page storage
	x86/vdso: Prevent segfaults due to hoisted vclock reads
	scsi: mpt3sas: Use 63-bit DMA addressing on SAS35 HBA
	x86/cpufeatures: Carve out CQM features retrieval
	x86/cpufeatures: Combine word 11 and 12 into a new scattered features word
	x86/speculation: Prepare entry code for Spectre v1 swapgs mitigations
	x86/speculation: Enable Spectre v1 swapgs mitigations
	x86/entry/64: Use JMP instead of JMPQ
	x86/speculation/swapgs: Exclude ATOMs from speculation through SWAPGS
	Documentation: Add swapgs description to the Spectre v1 documentation
	Linux 4.19.65

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I0a9a308d7f58de904f229d059a2818fa0cb01dd3
2019-08-06 20:09:06 +02:00
Greg Kroah-Hartman
de4c70d6a9 Merge 4.19.65 into android-4.19
Changes in 4.19.65
	ARM: riscpc: fix DMA
	ARM: dts: rockchip: Make rk3288-veyron-minnie run at hs200
	ARM: dts: rockchip: Make rk3288-veyron-mickey's emmc work again
	ARM: dts: rockchip: Mark that the rk3288 timer might stop in suspend
	ftrace: Enable trampoline when rec count returns back to one
	dmaengine: tegra-apb: Error out if DMA_PREP_INTERRUPT flag is unset
	arm64: dts: rockchip: fix isp iommu clocks and power domain
	kernel/module.c: Only return -EEXIST for modules that have finished loading
	firmware/psci: psci_checker: Park kthreads before stopping them
	MIPS: lantiq: Fix bitfield masking
	dmaengine: rcar-dmac: Reject zero-length slave DMA requests
	clk: tegra210: fix PLLU and PLLU_OUT1
	fs/adfs: super: fix use-after-free bug
	clk: sprd: Add check for return value of sprd_clk_regmap_init()
	btrfs: fix minimum number of chunk errors for DUP
	btrfs: qgroup: Don't hold qgroup_ioctl_lock in btrfs_qgroup_inherit()
	cifs: Fix a race condition with cifs_echo_request
	ceph: fix improper use of smp_mb__before_atomic()
	ceph: return -ERANGE if virtual xattr value didn't fit in buffer
	ACPI: blacklist: fix clang warning for unused DMI table
	scsi: zfcp: fix GCC compiler warning emitted with -Wmaybe-uninitialized
	perf version: Fix segfault due to missing OPT_END()
	x86: kvm: avoid constant-conversion warning
	ACPI: fix false-positive -Wuninitialized warning
	be2net: Signal that the device cannot transmit during reconfiguration
	x86/apic: Silence -Wtype-limits compiler warnings
	x86: math-emu: Hide clang warnings for 16-bit overflow
	mm/cma.c: fail if fixed declaration can't be honored
	lib/test_overflow.c: avoid tainting the kernel and fix wrap size
	lib/test_string.c: avoid masking memset16/32/64 failures
	coda: add error handling for fget
	coda: fix build using bare-metal toolchain
	uapi linux/coda_psdev.h: move upc_req definition from uapi to kernel side headers
	drivers/rapidio/devices/rio_mport_cdev.c: NUL terminate some strings
	ipc/mqueue.c: only perform resource calculation if user valid
	mlxsw: spectrum_dcb: Configure DSCP map as the last rule is removed
	xen/pv: Fix a boot up hang revealed by int3 self test
	x86/kvm: Don't call kvm_spurious_fault() from .fixup
	x86/paravirt: Fix callee-saved function ELF sizes
	x86, boot: Remove multiple copy of static function sanitize_boot_params()
	drm/nouveau: fix memory leak in nouveau_conn_reset()
	kconfig: Clear "written" flag to avoid data loss
	kbuild: initialize CLANG_FLAGS correctly in the top Makefile
	Btrfs: fix incremental send failure after deduplication
	Btrfs: fix race leading to fs corruption after transaction abort
	mmc: dw_mmc: Fix occasional hang after tuning on eMMC
	mmc: meson-mx-sdio: Fix misuse of GENMASK macro
	gpiolib: fix incorrect IRQ requesting of an active-low lineevent
	IB/hfi1: Fix Spectre v1 vulnerability
	mtd: rawnand: micron: handle on-die "ECC-off" devices correctly
	selinux: fix memory leak in policydb_init()
	ALSA: hda: Fix 1-minute detection delay when i915 module is not available
	mm: vmscan: check if mem cgroup is disabled or not before calling memcg slab shrinker
	s390/dasd: fix endless loop after read unit address configuration
	cgroup: kselftest: relax fs_spec checks
	parisc: Fix build of compressed kernel even with debug enabled
	drivers/perf: arm_pmu: Fix failure path in PM notifier
	arm64: compat: Allow single-byte watchpoints on all addresses
	arm64: cpufeature: Fix feature comparison for CTR_EL0.{CWG,ERG}
	nbd: replace kill_bdev() with __invalidate_device() again
	xen/swiotlb: fix condition for calling xen_destroy_contiguous_region()
	IB/mlx5: Fix unreg_umr to ignore the mkey state
	IB/mlx5: Use direct mkey destroy command upon UMR unreg failure
	IB/mlx5: Move MRs to a kernel PD when freeing them to the MR cache
	IB/mlx5: Fix clean_mr() to work in the expected order
	IB/mlx5: Fix RSS Toeplitz setup to be aligned with the HW specification
	IB/hfi1: Check for error on call to alloc_rsm_map_table
	drm/i915/gvt: fix incorrect cache entry for guest page mapping
	eeprom: at24: make spd world-readable again
	ARC: enable uboot support unconditionally
	objtool: Support GCC 9 cold subfunction naming scheme
	gcc-9: properly declare the {pv,hv}clock_page storage
	x86/vdso: Prevent segfaults due to hoisted vclock reads
	scsi: mpt3sas: Use 63-bit DMA addressing on SAS35 HBA
	x86/cpufeatures: Carve out CQM features retrieval
	x86/cpufeatures: Combine word 11 and 12 into a new scattered features word
	x86/speculation: Prepare entry code for Spectre v1 swapgs mitigations
	x86/speculation: Enable Spectre v1 swapgs mitigations
	x86/entry/64: Use JMP instead of JMPQ
	x86/speculation/swapgs: Exclude ATOMs from speculation through SWAPGS
	Documentation: Add swapgs description to the Spectre v1 documentation
	Linux 4.19.65

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Iceeabdb164657e0a616db618e6aa8445d56b0dc1
2019-08-06 20:08:18 +02:00
Kees Cook
48c5c4f0a4 ipc/mqueue.c: only perform resource calculation if user valid
[ Upstream commit a318f12ed8843cfac53198390c74a565c632f417 ]

Andreas Christoforou reported:

  UBSAN: Undefined behaviour in ipc/mqueue.c:414:49 signed integer overflow:
  9 * 2305843009213693951 cannot be represented in type 'long int'
  ...
  Call Trace:
    mqueue_evict_inode+0x8e7/0xa10 ipc/mqueue.c:414
    evict+0x472/0x8c0 fs/inode.c:558
    iput_final fs/inode.c:1547 [inline]
    iput+0x51d/0x8c0 fs/inode.c:1573
    mqueue_get_inode+0x8eb/0x1070 ipc/mqueue.c:320
    mqueue_create_attr+0x198/0x440 ipc/mqueue.c:459
    vfs_mkobj+0x39e/0x580 fs/namei.c:2892
    prepare_open ipc/mqueue.c:731 [inline]
    do_mq_open+0x6da/0x8e0 ipc/mqueue.c:771

Which could be triggered by:

        struct mq_attr attr = {
                .mq_flags = 0,
                .mq_maxmsg = 9,
                .mq_msgsize = 0x1fffffffffffffff,
                .mq_curmsgs = 0,
        };

        if (mq_open("/testing", 0x40, 3, &attr) == (mqd_t) -1)
                perror("mq_open");

mqueue_get_inode() was correctly rejecting the giant mq_msgsize, and
preparing to return -EINVAL.  During the cleanup, it calls
mqueue_evict_inode() which performed resource usage tracking math for
updating "user", before checking if there was a valid "user" at all
(which would indicate that the calculations would be sane).  Instead,
delay this check to after seeing a valid "user".

The overflow was real, but the results went unused, so while the flaw is
harmless, it's noisy for kernel fuzzers, so just fix it by moving the
calculation under the non-NULL "user" where it actually gets used.

Link: http://lkml.kernel.org/r/201906072207.ECB65450@keescook
Signed-off-by: Kees Cook <keescook@chromium.org>
Reported-by: Andreas Christoforou <andreaschristofo@gmail.com>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-08-06 19:06:52 +02:00
Greg Kroah-Hartman
d39bf4bb91 Merge 4.19.51 into android-4.19-q
Changes in 4.19.51
	rapidio: fix a NULL pointer dereference when create_workqueue() fails
	fs/fat/file.c: issue flush after the writeback of FAT
	sysctl: return -EINVAL if val violates minmax
	ipc: prevent lockup on alloc_msg and free_msg
	drm/pl111: Initialize clock spinlock early
	ARM: prevent tracing IPI_CPU_BACKTRACE
	mm/hmm: select mmu notifier when selecting HMM
	hugetlbfs: on restore reserve error path retain subpool reservation
	mem-hotplug: fix node spanned pages when we have a node with only ZONE_MOVABLE
	mm/cma.c: fix crash on CMA allocation if bitmap allocation fails
	initramfs: free initrd memory if opening /initrd.image fails
	mm/cma.c: fix the bitmap status to show failed allocation reason
	mm: page_mkclean vs MADV_DONTNEED race
	mm/cma_debug.c: fix the break condition in cma_maxchunk_get()
	mm/slab.c: fix an infinite loop in leaks_show()
	kernel/sys.c: prctl: fix false positive in validate_prctl_map()
	thermal: rcar_gen3_thermal: disable interrupt in .remove
	drivers: thermal: tsens: Don't print error message on -EPROBE_DEFER
	mfd: tps65912-spi: Add missing of table registration
	mfd: intel-lpss: Set the device in reset state when init
	drm/nouveau/disp/dp: respect sink limits when selecting failsafe link configuration
	mfd: twl6040: Fix device init errors for ACCCTL register
	perf/x86/intel: Allow PEBS multi-entry in watermark mode
	drm/nouveau/kms/gf119-gp10x: push HeadSetControlOutputResource() mthd when encoders change
	drm/bridge: adv7511: Fix low refresh rate selection
	objtool: Don't use ignore flag for fake jumps
	drm/nouveau/kms/gv100-: fix spurious window immediate interlocks
	bpf: fix undefined behavior in narrow load handling
	EDAC/mpc85xx: Prevent building as a module
	pwm: meson: Use the spin-lock only to protect register modifications
	mailbox: stm32-ipcc: check invalid irq
	ntp: Allow TAI-UTC offset to be set to zero
	f2fs: fix to avoid panic in do_recover_data()
	f2fs: fix to avoid panic in f2fs_inplace_write_data()
	f2fs: fix to avoid panic in f2fs_remove_inode_page()
	f2fs: fix to do sanity check on free nid
	f2fs: fix to clear dirty inode in error path of f2fs_iget()
	f2fs: fix to avoid panic in dec_valid_block_count()
	f2fs: fix to use inline space only if inline_xattr is enable
	f2fs: fix to do sanity check on valid block count of segment
	f2fs: fix to do checksum even if inode page is uptodate
	percpu: remove spurious lock dependency between percpu and sched
	configfs: fix possible use-after-free in configfs_register_group
	uml: fix a boot splat wrt use of cpu_all_mask
	PCI: dwc: Free MSI in dw_pcie_host_init() error path
	PCI: dwc: Free MSI IRQ page in dw_pcie_free_msi()
	ovl: do not generate duplicate fsnotify events for "fake" path
	mmc: mmci: Prevent polling for busy detection in IRQ context
	netfilter: nf_flow_table: fix missing error check for rhashtable_insert_fast
	netfilter: nf_conntrack_h323: restore boundary check correctness
	mips: Make sure dt memory regions are valid
	netfilter: nf_tables: fix base chain stat rcu_dereference usage
	watchdog: imx2_wdt: Fix set_timeout for big timeout values
	watchdog: fix compile time error of pretimeout governors
	blk-mq: move cancel of requeue_work into blk_mq_release
	iommu/vt-d: Set intel_iommu_gfx_mapped correctly
	misc: pci_endpoint_test: Fix test_reg_bar to be updated in pci_endpoint_test
	PCI: designware-ep: Use aligned ATU window for raising MSI interrupts
	nvme-pci: unquiesce admin queue on shutdown
	nvme-pci: shutdown on timeout during deletion
	netfilter: nf_flow_table: check ttl value in flow offload data path
	netfilter: nf_flow_table: fix netdev refcnt leak
	ALSA: hda - Register irq handler after the chip initialization
	nvmem: core: fix read buffer in place
	nvmem: sunxi_sid: Support SID on A83T and H5
	fuse: retrieve: cap requested size to negotiated max_write
	nfsd: allow fh_want_write to be called twice
	nfsd: avoid uninitialized variable warning
	vfio: Fix WARNING "do not call blocking ops when !TASK_RUNNING"
	iommu/arm-smmu-v3: Don't disable SMMU in kdump kernel
	switchtec: Fix unintended mask of MRPC event
	net: thunderbolt: Unregister ThunderboltIP protocol handler when suspending
	x86/PCI: Fix PCI IRQ routing table memory leak
	i40e: Queues are reserved despite "Invalid argument" error
	platform/chrome: cros_ec_proto: check for NULL transfer function
	PCI: keystone: Prevent ARM32 specific code to be compiled for ARM64
	soc: mediatek: pwrap: Zero initialize rdata in pwrap_init_cipher
	clk: rockchip: Turn on "aclk_dmac1" for suspend on rk3288
	soc: rockchip: Set the proper PWM for rk3288
	ARM: dts: imx51: Specify IMX5_CLK_IPG as "ahb" clock to SDMA
	ARM: dts: imx50: Specify IMX5_CLK_IPG as "ahb" clock to SDMA
	ARM: dts: imx53: Specify IMX5_CLK_IPG as "ahb" clock to SDMA
	ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ahb" clock to SDMA
	ARM: dts: imx6sll: Specify IMX6SLL_CLK_IPG as "ipg" clock to SDMA
	ARM: dts: imx7d: Specify IMX7D_CLK_IPG as "ipg" clock to SDMA
	ARM: dts: imx6ul: Specify IMX6UL_CLK_IPG as "ipg" clock to SDMA
	ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ipg" clock to SDMA
	ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA
	PCI: rpadlpar: Fix leaked device_node references in add/remove paths
	drm/amd/display: Use plane->color_space for dpp if specified
	ARM: OMAP2+: pm33xx-core: Do not Turn OFF CEFUSE as PPA may be using it
	platform/x86: intel_pmc_ipc: adding error handling
	power: supply: max14656: fix potential use-before-alloc
	net: hns3: return 0 and print warning when hit duplicate MAC
	PCI: rcar: Fix a potential NULL pointer dereference
	PCI: rcar: Fix 64bit MSI message address handling
	scsi: qla2xxx: Reset the FCF_ASYNC_{SENT|ACTIVE} flags
	video: hgafb: fix potential NULL pointer dereference
	video: imsttfb: fix potential NULL pointer dereferences
	block, bfq: increase idling for weight-raised queues
	PCI: xilinx: Check for __get_free_pages() failure
	gpio: gpio-omap: add check for off wake capable gpios
	ice: Add missing case in print_link_msg for printing flow control
	dmaengine: idma64: Use actual device for DMA transfers
	pwm: tiehrpwm: Update shadow register for disabling PWMs
	ARM: dts: exynos: Always enable necessary APIO_1V8 and ABB_1V8 regulators on Arndale Octa
	pwm: Fix deadlock warning when removing PWM device
	ARM: exynos: Fix undefined instruction during Exynos5422 resume
	usb: typec: fusb302: Check vconn is off when we start toggling
	soc: renesas: Identify R-Car M3-W ES1.3
	gpio: vf610: Do not share irq_chip
	percpu: do not search past bitmap when allocating an area
	Revert "Bluetooth: Align minimum encryption key size for LE and BR/EDR connections"
	Revert "drm/nouveau: add kconfig option to turn off nouveau legacy contexts. (v3)"
	ovl: check the capability before cred overridden
	ovl: support stacked SEEK_HOLE/SEEK_DATA
	drm/vc4: fix fb references in async update
	ALSA: seq: Cover unsubscribe_port() in list_mutex
	Linux 4.19.51

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-06-15 17:41:59 +02:00
Greg Kroah-Hartman
d1f7f3be99 Merge 4.19.51 into android-4.19
Changes in 4.19.51
	rapidio: fix a NULL pointer dereference when create_workqueue() fails
	fs/fat/file.c: issue flush after the writeback of FAT
	sysctl: return -EINVAL if val violates minmax
	ipc: prevent lockup on alloc_msg and free_msg
	drm/pl111: Initialize clock spinlock early
	ARM: prevent tracing IPI_CPU_BACKTRACE
	mm/hmm: select mmu notifier when selecting HMM
	hugetlbfs: on restore reserve error path retain subpool reservation
	mem-hotplug: fix node spanned pages when we have a node with only ZONE_MOVABLE
	mm/cma.c: fix crash on CMA allocation if bitmap allocation fails
	initramfs: free initrd memory if opening /initrd.image fails
	mm/cma.c: fix the bitmap status to show failed allocation reason
	mm: page_mkclean vs MADV_DONTNEED race
	mm/cma_debug.c: fix the break condition in cma_maxchunk_get()
	mm/slab.c: fix an infinite loop in leaks_show()
	kernel/sys.c: prctl: fix false positive in validate_prctl_map()
	thermal: rcar_gen3_thermal: disable interrupt in .remove
	drivers: thermal: tsens: Don't print error message on -EPROBE_DEFER
	mfd: tps65912-spi: Add missing of table registration
	mfd: intel-lpss: Set the device in reset state when init
	drm/nouveau/disp/dp: respect sink limits when selecting failsafe link configuration
	mfd: twl6040: Fix device init errors for ACCCTL register
	perf/x86/intel: Allow PEBS multi-entry in watermark mode
	drm/nouveau/kms/gf119-gp10x: push HeadSetControlOutputResource() mthd when encoders change
	drm/bridge: adv7511: Fix low refresh rate selection
	objtool: Don't use ignore flag for fake jumps
	drm/nouveau/kms/gv100-: fix spurious window immediate interlocks
	bpf: fix undefined behavior in narrow load handling
	EDAC/mpc85xx: Prevent building as a module
	pwm: meson: Use the spin-lock only to protect register modifications
	mailbox: stm32-ipcc: check invalid irq
	ntp: Allow TAI-UTC offset to be set to zero
	f2fs: fix to avoid panic in do_recover_data()
	f2fs: fix to avoid panic in f2fs_inplace_write_data()
	f2fs: fix to avoid panic in f2fs_remove_inode_page()
	f2fs: fix to do sanity check on free nid
	f2fs: fix to clear dirty inode in error path of f2fs_iget()
	f2fs: fix to avoid panic in dec_valid_block_count()
	f2fs: fix to use inline space only if inline_xattr is enable
	f2fs: fix to do sanity check on valid block count of segment
	f2fs: fix to do checksum even if inode page is uptodate
	percpu: remove spurious lock dependency between percpu and sched
	configfs: fix possible use-after-free in configfs_register_group
	uml: fix a boot splat wrt use of cpu_all_mask
	PCI: dwc: Free MSI in dw_pcie_host_init() error path
	PCI: dwc: Free MSI IRQ page in dw_pcie_free_msi()
	ovl: do not generate duplicate fsnotify events for "fake" path
	mmc: mmci: Prevent polling for busy detection in IRQ context
	netfilter: nf_flow_table: fix missing error check for rhashtable_insert_fast
	netfilter: nf_conntrack_h323: restore boundary check correctness
	mips: Make sure dt memory regions are valid
	netfilter: nf_tables: fix base chain stat rcu_dereference usage
	watchdog: imx2_wdt: Fix set_timeout for big timeout values
	watchdog: fix compile time error of pretimeout governors
	blk-mq: move cancel of requeue_work into blk_mq_release
	iommu/vt-d: Set intel_iommu_gfx_mapped correctly
	misc: pci_endpoint_test: Fix test_reg_bar to be updated in pci_endpoint_test
	PCI: designware-ep: Use aligned ATU window for raising MSI interrupts
	nvme-pci: unquiesce admin queue on shutdown
	nvme-pci: shutdown on timeout during deletion
	netfilter: nf_flow_table: check ttl value in flow offload data path
	netfilter: nf_flow_table: fix netdev refcnt leak
	ALSA: hda - Register irq handler after the chip initialization
	nvmem: core: fix read buffer in place
	nvmem: sunxi_sid: Support SID on A83T and H5
	fuse: retrieve: cap requested size to negotiated max_write
	nfsd: allow fh_want_write to be called twice
	nfsd: avoid uninitialized variable warning
	vfio: Fix WARNING "do not call blocking ops when !TASK_RUNNING"
	iommu/arm-smmu-v3: Don't disable SMMU in kdump kernel
	switchtec: Fix unintended mask of MRPC event
	net: thunderbolt: Unregister ThunderboltIP protocol handler when suspending
	x86/PCI: Fix PCI IRQ routing table memory leak
	i40e: Queues are reserved despite "Invalid argument" error
	platform/chrome: cros_ec_proto: check for NULL transfer function
	PCI: keystone: Prevent ARM32 specific code to be compiled for ARM64
	soc: mediatek: pwrap: Zero initialize rdata in pwrap_init_cipher
	clk: rockchip: Turn on "aclk_dmac1" for suspend on rk3288
	soc: rockchip: Set the proper PWM for rk3288
	ARM: dts: imx51: Specify IMX5_CLK_IPG as "ahb" clock to SDMA
	ARM: dts: imx50: Specify IMX5_CLK_IPG as "ahb" clock to SDMA
	ARM: dts: imx53: Specify IMX5_CLK_IPG as "ahb" clock to SDMA
	ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ahb" clock to SDMA
	ARM: dts: imx6sll: Specify IMX6SLL_CLK_IPG as "ipg" clock to SDMA
	ARM: dts: imx7d: Specify IMX7D_CLK_IPG as "ipg" clock to SDMA
	ARM: dts: imx6ul: Specify IMX6UL_CLK_IPG as "ipg" clock to SDMA
	ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ipg" clock to SDMA
	ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA
	PCI: rpadlpar: Fix leaked device_node references in add/remove paths
	drm/amd/display: Use plane->color_space for dpp if specified
	ARM: OMAP2+: pm33xx-core: Do not Turn OFF CEFUSE as PPA may be using it
	platform/x86: intel_pmc_ipc: adding error handling
	power: supply: max14656: fix potential use-before-alloc
	net: hns3: return 0 and print warning when hit duplicate MAC
	PCI: rcar: Fix a potential NULL pointer dereference
	PCI: rcar: Fix 64bit MSI message address handling
	scsi: qla2xxx: Reset the FCF_ASYNC_{SENT|ACTIVE} flags
	video: hgafb: fix potential NULL pointer dereference
	video: imsttfb: fix potential NULL pointer dereferences
	block, bfq: increase idling for weight-raised queues
	PCI: xilinx: Check for __get_free_pages() failure
	gpio: gpio-omap: add check for off wake capable gpios
	ice: Add missing case in print_link_msg for printing flow control
	dmaengine: idma64: Use actual device for DMA transfers
	pwm: tiehrpwm: Update shadow register for disabling PWMs
	ARM: dts: exynos: Always enable necessary APIO_1V8 and ABB_1V8 regulators on Arndale Octa
	pwm: Fix deadlock warning when removing PWM device
	ARM: exynos: Fix undefined instruction during Exynos5422 resume
	usb: typec: fusb302: Check vconn is off when we start toggling
	soc: renesas: Identify R-Car M3-W ES1.3
	gpio: vf610: Do not share irq_chip
	percpu: do not search past bitmap when allocating an area
	Revert "Bluetooth: Align minimum encryption key size for LE and BR/EDR connections"
	Revert "drm/nouveau: add kconfig option to turn off nouveau legacy contexts. (v3)"
	ovl: check the capability before cred overridden
	ovl: support stacked SEEK_HOLE/SEEK_DATA
	drm/vc4: fix fb references in async update
	ALSA: seq: Cover unsubscribe_port() in list_mutex
	Linux 4.19.51

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-06-15 16:12:59 +02:00
Li Rongqing
20de754a7d ipc: prevent lockup on alloc_msg and free_msg
[ Upstream commit d6a2946a88f524a47cc9b79279667137899db807 ]

msgctl10 of ltp triggers the following lockup When CONFIG_KASAN is
enabled on large memory SMP systems, the pages initialization can take a
long time, if msgctl10 requests a huge block memory, and it will block
rcu scheduler, so release cpu actively.

After adding schedule() in free_msg, free_msg can not be called when
holding spinlock, so adding msg to a tmp list, and free it out of
spinlock

  rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
  rcu:     Tasks blocked on level-1 rcu_node (CPUs 16-31): P32505
  rcu:     Tasks blocked on level-1 rcu_node (CPUs 48-63): P34978
  rcu:     (detected by 11, t=35024 jiffies, g=44237529, q=16542267)
  msgctl10        R  running task    21608 32505   2794 0x00000082
  Call Trace:
   preempt_schedule_irq+0x4c/0xb0
   retint_kernel+0x1b/0x2d
  RIP: 0010:__is_insn_slot_addr+0xfb/0x250
  Code: 82 1d 00 48 8b 9b 90 00 00 00 4c 89 f7 49 c1 ee 03 e8 59 83 1d 00 48 b8 00 00 00 00 00 fc ff df 4c 39 eb 48 89 9d 58 ff ff ff <41> c6 04 06 f8 74 66 4c 8d 75 98 4c 89 f1 48 c1 e9 03 48 01 c8 48
  RSP: 0018:ffff88bce041f758 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13
  RAX: dffffc0000000000 RBX: ffffffff8471bc50 RCX: ffffffff828a2a57
  RDX: dffffc0000000000 RSI: dffffc0000000000 RDI: ffff88bce041f780
  RBP: ffff88bce041f828 R08: ffffed15f3f4c5b3 R09: ffffed15f3f4c5b3
  R10: 0000000000000001 R11: ffffed15f3f4c5b2 R12: 000000318aee9b73
  R13: ffffffff8471bc50 R14: 1ffff1179c083ef0 R15: 1ffff1179c083eec
   kernel_text_address+0xc1/0x100
   __kernel_text_address+0xe/0x30
   unwind_get_return_address+0x2f/0x50
   __save_stack_trace+0x92/0x100
   create_object+0x380/0x650
   __kmalloc+0x14c/0x2b0
   load_msg+0x38/0x1a0
   do_msgsnd+0x19e/0xcf0
   do_syscall_64+0x117/0x400
   entry_SYSCALL_64_after_hwframe+0x49/0xbe

  rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
  rcu:     Tasks blocked on level-1 rcu_node (CPUs 0-15): P32170
  rcu:     (detected by 14, t=35016 jiffies, g=44237525, q=12423063)
  msgctl10        R  running task    21608 32170  32155 0x00000082
  Call Trace:
   preempt_schedule_irq+0x4c/0xb0
   retint_kernel+0x1b/0x2d
  RIP: 0010:lock_acquire+0x4d/0x340
  Code: 48 81 ec c0 00 00 00 45 89 c6 4d 89 cf 48 8d 6c 24 20 48 89 3c 24 48 8d bb e4 0c 00 00 89 74 24 0c 48 c7 44 24 20 b3 8a b5 41 <48> c1 ed 03 48 c7 44 24 28 b4 25 18 84 48 c7 44 24 30 d0 54 7a 82
  RSP: 0018:ffff88af83417738 EFLAGS: 00000282 ORIG_RAX: ffffffffffffff13
  RAX: dffffc0000000000 RBX: ffff88bd335f3080 RCX: 0000000000000002
  RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88bd335f3d64
  RBP: ffff88af83417758 R08: 0000000000000000 R09: 0000000000000000
  R10: 0000000000000001 R11: ffffed13f3f745b2 R12: 0000000000000000
  R13: 0000000000000002 R14: 0000000000000000 R15: 0000000000000000
   is_bpf_text_address+0x32/0xe0
   kernel_text_address+0xec/0x100
   __kernel_text_address+0xe/0x30
   unwind_get_return_address+0x2f/0x50
   __save_stack_trace+0x92/0x100
   save_stack+0x32/0xb0
   __kasan_slab_free+0x130/0x180
   kfree+0xfa/0x2d0
   free_msg+0x24/0x50
   do_msgrcv+0x508/0xe60
   do_syscall_64+0x117/0x400
   entry_SYSCALL_64_after_hwframe+0x49/0xbe

Davidlohr said:
 "So after releasing the lock, the msg rbtree/list is empty and new
  calls will not see those in the newly populated tmp_msg list, and
  therefore they cannot access the delayed msg freeing pointers, which
  is good. Also the fact that the node_cache is now freed before the
  actual messages seems to be harmless as this is wanted for
  msg_insert() avoiding GFP_ATOMIC allocations, and after releasing the
  info->lock the thing is freed anyway so it should not change things"

Link: http://lkml.kernel.org/r/1552029161-4957-1-git-send-email-lirongqing@baidu.com
Signed-off-by: Li RongQing <lirongqing@baidu.com>
Signed-off-by: Zhang Yu <zhangyu31@baidu.com>
Reviewed-by: Davidlohr Bueso <dbueso@suse.de>
Cc: Manfred Spraul <manfred@colorfullife.com>
Cc: Arnd Bergmann <arnd@arndb.de>
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-06-15 11:54:00 +02:00
Daniel Rosenberg
e81cea2a6f ANDROID: vfs: Add permission2 for filesystems with per mount permissions
This allows filesystems to use their mount private data to
influence the permssions they return in permission2. It has
been separated into a new call to avoid disrupting current
permission users.

Bug: 35848445
Bug: 120446149
Change-Id: I9d416e3b8b6eca84ef3e336bd2af89ddd51df6ca
Signed-off-by: Daniel Rosenberg <drosen@google.com>
[AmitP: Minor refactoring of original patch to align with
        changes from the following upstream commit
        4bfd054ae1 ("fs: fold __inode_permission() into inode_permission()").
        Also introduce vfs_mkobj2(), because do_create()
        moved from using vfs_create() to vfs_mkobj()
        eecec19d9e ("mqueue: switch to vfs_mkobj(), quit abusing ->d_fsdata")
        do_create() is dropped/cleaned-up upstream so a
        minor refactoring there as well.
        066cc813e9 ("do_mq_open(): move all work prior to dentry_open() into a helper")]
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
[astrachan: Folded the following changes into this patch:
            f46c9d62dd81 ("ANDROID: fs: Export vfs_rmdir2")
            9992eb8b9a1e ("ANDROID: xattr: Pass EOPNOTSUPP to permission2")]
Signed-off-by: Alistair Strachan <astrachan@google.com>
2018-12-05 09:48:14 -08:00
Arnd Bergmann
b0d175781a y2038: ipc: Enable COMPAT_32BIT_TIME
Three ipc syscalls (mq_timedsend, mq_timedreceive and and semtimedop)
take a timespec argument. After we move 32-bit architectures over to
useing 64-bit time_t based syscalls, we need seperate entry points for
the old 32-bit based interfaces.

This changes the #ifdef guards for the existing 32-bit compat syscalls
to check for CONFIG_COMPAT_32BIT_TIME instead, which will then be
enabled on all existing 32-bit architectures.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-04-20 16:20:27 +02:00
Arnd Bergmann
21fc538d81 y2038: ipc: Use __kernel_timespec
This is a preparatation for changing over __kernel_timespec to 64-bit
times, which involves assigning new system call numbers for mq_timedsend(),
mq_timedreceive() and semtimedop() for compatibility with future y2038
proof user space.

The existing ABIs will remain available through compat code.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-04-20 16:20:24 +02:00
Eric W. Biederman
cfb2f6f6e0 Revert "mqueue: switch to on-demand creation of internal mount"
This reverts commit 36735a6a2b.

Aleksa Sarai <asarai@suse.de> writes:
> [REGRESSION v4.16-rc6] [PATCH] mqueue: forbid unprivileged user access to internal mount
>
> Felix reported weird behaviour on 4.16.0-rc6 with regards to mqueue[1],
> which was introduced by 36735a6a2b ("mqueue: switch to on-demand
> creation of internal mount").
>
> Basically, the reproducer boils down to being able to mount mqueue if
> you create a new user namespace, even if you don't unshare the IPC
> namespace.
>
> Previously this was not possible, and you would get an -EPERM. The mount
> is the *host* mqueue mount, which is being cached and just returned from
> mqueue_mount(). To be honest, I'm not sure if this is safe or not (or if
> it was intentional -- since I'm not familiar with mqueue).
>
> To me it looks like there is a missing permission check. I've included a
> patch below that I've compile-tested, and should block the above case.
> Can someone please tell me if I'm missing something? Is this actually
> safe?
>
> [1]: https://github.com/docker/docker/issues/36674

The issue is a lot deeper than a missing permission check.  sb->s_user_ns
was is improperly set as well.  So in addition to the filesystem being
mounted when it should not be mounted, so things are not allow that should
be.

We are practically to the release of 4.16 and there is no agreement between
Al Viro and myself on what the code should looks like to fix things properly.
So revert the code to what it was before so that we can take our time
and discuss this properly.

Fixes: 36735a6a2b ("mqueue: switch to on-demand creation of internal mount")
Reported-by: Felix Abecassis <fabecassis@nvidia.com>
Reported-by: Aleksa Sarai <asarai@suse.de>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2018-03-24 19:34:23 -05:00
Linus Torvalds
a9a08845e9 vfs: do bulk POLL* -> EPOLL* replacement
This is the mindless scripted replacement of kernel use of POLL*
variables as described by Al, done by this script:

    for V in IN OUT PRI ERR RDNORM RDBAND WRNORM WRBAND HUP RDHUP NVAL MSG; do
        L=`git grep -l -w POLL$V | grep -v '^t' | grep -v /um/ | grep -v '^sa' | grep -v '/poll.h$'|grep -v '^D'`
        for f in $L; do sed -i "-es/^\([^\"]*\)\(\<POLL$V\>\)/\\1E\\2/" $f; done
    done

with de-mangling cleanups yet to come.

NOTE! On almost all architectures, the EPOLL* constants have the same
values as the POLL* constants do.  But they keyword here is "almost".
For various bad reasons they aren't the same, and epoll() doesn't
actually work quite correctly in some cases due to this on Sparc et al.

The next patch from Al will sort out the final differences, and we
should be all done.

Scripted-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-02-11 14:34:03 -08:00
Jonathan Haws
68e34f4e89 ipc/mqueue.c: have RT tasks queue in by priority in wq_add()
Previous behavior added tasks to the work queue using the static_prio
value instead of the dynamic priority value in prio.  This caused RT tasks
to be added to the work queue in a FIFO manner rather than by priority.
Normal tasks were handled by priority.

This fix utilizes the dynamic priority of the task to ensure that both RT
and normal tasks are added to the work queue in priority order.  Utilizing
the dynamic priority (prio) rather than the base priority (normal_prio)
was chosen to ensure that if a task had a boosted priority when it was
added to the work queue, it would be woken sooner to to ensure that it
releases any other locks it may be holding in a more timely manner.  It is
understood that the task could have a lower priority when it wakes than
when it was added to the queue in this (unlikely) case.

Link: http://lkml.kernel.org/r/1513006652-7014-1-git-send-email-jhaws@sdl.usu.edu
Signed-off-by: Jonathan Haws <jhaws@sdl.usu.edu>
Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Reviewed-by: Davidlohr Bueso <dbueso@suse.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Deepa Dinamani <deepa.kernel@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-02-06 18:32:46 -08:00
Linus Torvalds
8b0fdf631c Merge branch 'work.mqueue' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull mqueue/bpf vfs cleanups from Al Viro:
 "mqueue and bpf go through rather painful and similar contortions to
  create objects in their dentry trees. Provide a primitive for doing
  that without abusing ->mknod(), switch bpf and mqueue to it.

  Another mqueue-related thing that has ended up in that branch is
  on-demand creation of internal mount (based upon the work of Giuseppe
  Scrivano)"

* 'work.mqueue' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  mqueue: switch to on-demand creation of internal mount
  tidy do_mq_open() up a bit
  mqueue: clean prepare_open() up
  do_mq_open(): move all work prior to dentry_open() into a helper
  mqueue: fold mq_attr_ok() into mqueue_get_inode()
  move dentry_open() calls up into do_mq_open()
  mqueue: switch to vfs_mkobj(), quit abusing ->d_fsdata
  bpf_obj_do_pin(): switch to vfs_mkobj(), quit abusing ->mknod()
  new primitive: vfs_mkobj()
2018-01-30 18:32:21 -08:00
Linus Torvalds
168fe32a07 Merge branch 'misc.poll' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull poll annotations from Al Viro:
 "This introduces a __bitwise type for POLL### bitmap, and propagates
  the annotations through the tree. Most of that stuff is as simple as
  'make ->poll() instances return __poll_t and do the same to local
  variables used to hold the future return value'.

  Some of the obvious brainos found in process are fixed (e.g. POLLIN
  misspelled as POLL_IN). At that point the amount of sparse warnings is
  low and most of them are for genuine bugs - e.g. ->poll() instance
  deciding to return -EINVAL instead of a bitmap. I hadn't touched those
  in this series - it's large enough as it is.

  Another problem it has caught was eventpoll() ABI mess; select.c and
  eventpoll.c assumed that corresponding POLL### and EPOLL### were
  equal. That's true for some, but not all of them - EPOLL### are
  arch-independent, but POLL### are not.

  The last commit in this series separates userland POLL### values from
  the (now arch-independent) kernel-side ones, converting between them
  in the few places where they are copied to/from userland. AFAICS, this
  is the least disruptive fix preserving poll(2) ABI and making epoll()
  work on all architectures.

  As it is, it's simply broken on sparc - try to give it EPOLLWRNORM and
  it will trigger only on what would've triggered EPOLLWRBAND on other
  architectures. EPOLLWRBAND and EPOLLRDHUP, OTOH, are never triggered
  at all on sparc. With this patch they should work consistently on all
  architectures"

* 'misc.poll' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (37 commits)
  make kernel-side POLL... arch-independent
  eventpoll: no need to mask the result of epi_item_poll() again
  eventpoll: constify struct epoll_event pointers
  debugging printk in sg_poll() uses %x to print POLL... bitmap
  annotate poll(2) guts
  9p: untangle ->poll() mess
  ->si_band gets POLL... bitmap stored into a user-visible long field
  ring_buffer_poll_wait() return value used as return value of ->poll()
  the rest of drivers/*: annotate ->poll() instances
  media: annotate ->poll() instances
  fs: annotate ->poll() instances
  ipc, kernel, mm: annotate ->poll() instances
  net: annotate ->poll() instances
  apparmor: annotate ->poll() instances
  tomoyo: annotate ->poll() instances
  sound: annotate ->poll() instances
  acpi: annotate ->poll() instances
  crypto: annotate ->poll() instances
  block: annotate ->poll() instances
  x86: annotate ->poll() instances
  ...
2018-01-30 17:58:07 -08:00
Eric W. Biederman
faf1f22b61 signal: Ensure generic siginfos the kernel sends have all bits initialized
Call clear_siginfo to ensure stack allocated siginfos are fully
initialized before being passed to the signal sending functions.

This ensures that if there is the kind of confusion documented by
TRAP_FIXME, FPE_FIXME, or BUS_FIXME the kernel won't send unitialized
data to userspace when the kernel generates a signal with SI_USER but
the copy to userspace assumes it is a different kind of signal, and
different fields are initialized.

This also prepares the way for turning copy_siginfo_to_user
into a copy_to_user, by removing the need in many cases to perform
a field by field copy simply to skip the uninitialized fields.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2018-01-12 14:21:07 -06:00
Al Viro
36735a6a2b mqueue: switch to on-demand creation of internal mount
Instead of doing that upon each ipcns creation, we do that the first
time mq_open(2) or mqueue mount is done in an ipcns.  What's more,
doing that allows to get rid of mount_ns() use - we can go with
considerably cheaper mount_nodev(), avoiding the loop over all
mqueue superblock instances; ipcns->mq_mnt is used to locate preexisting
instance in O(1) time instead of O(instances) mount_ns() would've
cost us.

Based upon the version by Giuseppe Scrivano <gscrivan@redhat.com>; I've
added handling of userland mqueue mounts (original had been broken in
that area) and added a switch to mount_nodev().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2018-01-05 11:54:37 -05:00
Al Viro
a713fd7f52 tidy do_mq_open() up a bit
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2018-01-05 11:54:36 -05:00
Al Viro
9b20d7fc52 mqueue: clean prepare_open() up
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2018-01-05 11:54:36 -05:00
Al Viro
066cc813e9 do_mq_open(): move all work prior to dentry_open() into a helper
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2018-01-05 11:54:35 -05:00
Al Viro
05c1b29038 mqueue: fold mq_attr_ok() into mqueue_get_inode()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2018-01-05 11:54:35 -05:00
Al Viro
af4a5372e4 move dentry_open() calls up into do_mq_open()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2018-01-05 11:54:34 -05:00
Al Viro
eecec19d9e mqueue: switch to vfs_mkobj(), quit abusing ->d_fsdata
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2018-01-05 11:54:33 -05:00
Al Viro
9dd957485d ipc, kernel, mm: annotate ->poll() instances
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2017-11-27 16:20:05 -05:00
Linus Torvalds
1751e8a6cb Rename superblock flags (MS_xyz -> SB_xyz)
This is a pure automated search-and-replace of the internal kernel
superblock flags.

The s_flags are now called SB_*, with the names and the values for the
moment mirroring the MS_* flags that they're equivalent to.

Note how the MS_xyz flags are the ones passed to the mount system call,
while the SB_xyz flags are what we then use in sb->s_flags.

The script to do this was:

    # places to look in; re security/*: it generally should *not* be
    # touched (that stuff parses mount(2) arguments directly), but
    # there are two places where we really deal with superblock flags.
    FILES="drivers/mtd drivers/staging/lustre fs ipc mm \
            include/linux/fs.h include/uapi/linux/bfs_fs.h \
            security/apparmor/apparmorfs.c security/apparmor/include/lib.h"
    # the list of MS_... constants
    SYMS="RDONLY NOSUID NODEV NOEXEC SYNCHRONOUS REMOUNT MANDLOCK \
          DIRSYNC NOATIME NODIRATIME BIND MOVE REC VERBOSE SILENT \
          POSIXACL UNBINDABLE PRIVATE SLAVE SHARED RELATIME KERNMOUNT \
          I_VERSION STRICTATIME LAZYTIME SUBMOUNT NOREMOTELOCK NOSEC BORN \
          ACTIVE NOUSER"

    SED_PROG=
    for i in $SYMS; do SED_PROG="$SED_PROG -e s/MS_$i/SB_$i/g"; done

    # we want files that contain at least one of MS_...,
    # with fs/namespace.c and fs/pnode.c excluded.
    L=$(for i in $SYMS; do git grep -w -l MS_$i $FILES; done| sort|uniq|grep -v '^fs/namespace.c'|grep -v '^fs/pnode.c')

    for f in $L; do sed -i $f $SED_PROG; done

Requested-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-11-27 13:05:09 -08:00
Deepa Dinamani
b904772638 ipc: mqueue: Replace timespec with timespec64
struct timespec is not y2038 safe. Replace
all uses of timespec by y2038 safe struct timespec64.

Even though timespec is used here to represent timeouts,
replace these with timespec64 so that it facilitates
in verification by creating a y2038 safe kernel image
that is free of timespec.

The syscall interfaces themselves are not changed as part
of the patch. They will be part of a different series.

Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
Cc: Paul Moore <paul@paul-moore.com>
Cc: Richard Guy Briggs <rgb@redhat.com>
Reviewed-by: Richard Guy Briggs <rgb@redhat.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Paul Moore <paul@paul-moore.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2017-09-03 20:21:24 -04:00
Cong Wang
f991af3daa mqueue: fix a use-after-free in sys_mq_notify()
The retry logic for netlink_attachskb() inside sys_mq_notify()
is nasty and vulnerable:

1) The sock refcnt is already released when retry is needed
2) The fd is controllable by user-space because we already
   release the file refcnt

so we when retry but the fd has been just closed by user-space
during this small window, we end up calling netlink_detachskb()
on the error path which releases the sock again, later when
the user-space closes this socket a use-after-free could be
triggered.

Setting 'sock' to NULL here should be sufficient to fix it.

Reported-by: GeneBlue <geneblue.mail@gmail.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Manfred Spraul <manfred@colorfullife.com>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-07-09 14:37:19 -07:00
Al Viro
0d0606060b mqueue: move compat syscalls to native ones
... and stop messing with compat_alloc_user_space() and friends

[braino fix from Colin King folded in]

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2017-07-04 13:13:49 -04:00
Ingo Molnar
8703e8a465 sched/headers: Prepare for new header dependencies before moving code to <linux/sched/user.h>
We are going to split <linux/sched/user.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/user.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:29 +01:00
Ingo Molnar
3f07c01441 sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h>
We are going to split <linux/sched/signal.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/signal.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:29 +01:00
Ingo Molnar
84f001e157 sched/headers: Prepare for new header dependencies before moving code to <linux/sched/wake_q.h>
We are going to split <linux/sched/wake_q.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/wake_q.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>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-03-02 08:42:26 +01:00
Luc Van Oostenryck
eac0b1c368 ipc/mqueue: add missing sparse annotation
Link: http://lkml.kernel.org/r/20170128235704.45302-1-luc.vanoostenryck@gmail.com
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-02-27 18:43:46 -08:00
Waiman Long
194a6b5b9c sched/wake_q: Rename WAKE_Q to DEFINE_WAKE_Q
Currently the wake_q data structure is defined by the WAKE_Q() macro.
This macro, however, looks like a function doing something as "wake" is
a verb. Even checkpatch.pl was confused as it reported warnings like

  WARNING: Missing a blank line after declarations
  #548: FILE: kernel/futex.c:3665:
  +	int ret;
  +	WAKE_Q(wake_q);

This patch renames the WAKE_Q() macro to DEFINE_WAKE_Q() which clarifies
what the macro is doing and eliminates the checkpatch.pl warnings.

Signed-off-by: Waiman Long <longman@redhat.com>
Acked-by: Davidlohr Bueso <dave@stgolabs.net>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1479401198-1765-1-git-send-email-longman@redhat.com
[ Resolved conflict and added missing rename. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-11-21 10:29:01 +01:00
Deepa Dinamani
078cd8279e fs: Replace CURRENT_TIME with current_time() for inode timestamps
CURRENT_TIME macro is not appropriate for filesystems as it
doesn't use the right granularity for filesystem timestamps.
Use current_time() instead.

CURRENT_TIME is also not y2038 safe.

This is also in preparation for the patch that transitions
vfs timestamps to use 64 bit time and hence make them
y2038 safe. As part of the effort current_time() will be
extended to do range checks. Hence, it is necessary for all
file system timestamps to use current_time(). Also,
current_time() will be transitioned along with vfs to be
y2038 safe.

Note that whenever a single call to current_time() is used
to change timestamps in different inodes, it is because they
share the same time granularity.

Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Felipe Balbi <balbi@kernel.org>
Acked-by: Steven Whitehouse <swhiteho@redhat.com>
Acked-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Acked-by: David Sterba <dsterba@suse.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-27 21:06:21 -04:00
Eric W. Biederman
a2982cc922 vfs: Generalize filesystem nodev handling.
Introduce a function may_open_dev that tests MNT_NODEV and a new
superblock flab SB_I_NODEV.  Use this new function in all of the
places where MNT_NODEV was previously tested.

Add the new SB_I_NODEV s_iflag to proc, sysfs, and mqueuefs as those
filesystems should never support device nodes, and a simple superblock
flags makes that very hard to get wrong.  With SB_I_NODEV set if any
device nodes somehow manage to show up on on a filesystem those
device nodes will be unopenable.

Acked-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2016-06-23 15:41:57 -05:00
Eric W. Biederman
3ee690143c ipc/mqueue: The mqueue filesystem should never contain executables
Set SB_I_NOEXEC on mqueuefs to ensure small implementation mistakes
do not result in executable on mqueuefs by accident.

Acked-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2016-06-23 15:41:56 -05:00
Eric W. Biederman
d91ee87d8d vfs: Pass data, ns, and ns->userns to mount_ns
Today what is normally called data (the mount options) is not passed
to fill_super through mount_ns.

Pass the mount options and the namespace separately to mount_ns so
that filesystems such as proc that have mount options, can use
mount_ns.

Pass the user namespace to mount_ns so that the standard permission
check that verifies the mounter has permissions over the namespace can
be performed in mount_ns instead of in each filesystems .mount method.
Thus removing the duplication between mqueuefs and proc in terms of
permission checks.  The extra permission check does not currently
affect the rpc_pipefs filesystem and the nfsd filesystem as those
filesystems do not currently allow unprivileged mounts.  Without
unpvileged mounts it is guaranteed that the caller has already passed
capable(CAP_SYS_ADMIN) which guarantees extra permission check will
pass.

Update rpc_pipefs and the nfsd filesystem to ensure that the network
namespace reference is always taken in fill_super and always put in kill_sb
so that the logic is simpler and so that errors originating inside of
fill_super do not cause a network namespace leak.

Acked-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2016-06-23 15:41:53 -05:00
Kirill A. Shutemov
09cbfeaf1a mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
PAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} macros were introduced *long* time
ago with promise that one day it will be possible to implement page
cache with bigger chunks than PAGE_SIZE.

This promise never materialized.  And unlikely will.

We have many places where PAGE_CACHE_SIZE assumed to be equal to
PAGE_SIZE.  And it's constant source of confusion on whether
PAGE_CACHE_* or PAGE_* constant should be used in a particular case,
especially on the border between fs and mm.

Global switching to PAGE_CACHE_SIZE != PAGE_SIZE would cause to much
breakage to be doable.

Let's stop pretending that pages in page cache are special.  They are
not.

The changes are pretty straight-forward:

 - <foo> << (PAGE_CACHE_SHIFT - PAGE_SHIFT) -> <foo>;

 - <foo> >> (PAGE_CACHE_SHIFT - PAGE_SHIFT) -> <foo>;

 - PAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} -> PAGE_{SIZE,SHIFT,MASK,ALIGN};

 - page_cache_get() -> get_page();

 - page_cache_release() -> put_page();

This patch contains automated changes generated with coccinelle using
script below.  For some reason, coccinelle doesn't patch header files.
I've called spatch for them manually.

The only adjustment after coccinelle is revert of changes to
PAGE_CAHCE_ALIGN definition: we are going to drop it later.

There are few places in the code where coccinelle didn't reach.  I'll
fix them manually in a separate patch.  Comments and documentation also
will be addressed with the separate patch.

virtual patch

@@
expression E;
@@
- E << (PAGE_CACHE_SHIFT - PAGE_SHIFT)
+ E

@@
expression E;
@@
- E >> (PAGE_CACHE_SHIFT - PAGE_SHIFT)
+ E

@@
@@
- PAGE_CACHE_SHIFT
+ PAGE_SHIFT

@@
@@
- PAGE_CACHE_SIZE
+ PAGE_SIZE

@@
@@
- PAGE_CACHE_MASK
+ PAGE_MASK

@@
expression E;
@@
- PAGE_CACHE_ALIGN(E)
+ PAGE_ALIGN(E)

@@
expression E;
@@
- page_cache_get(E)
+ get_page(E)

@@
expression E;
@@
- page_cache_release(E)
+ put_page(E)

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-04-04 10:41:08 -07:00
Al Viro
5955102c99 wrappers for ->i_mutex access
parallel to mutex_{lock,unlock,trylock,is_locked,lock_nested},
inode_foo(inode) being mutex_foo(&inode->i_mutex).

Please, use those for access to ->i_mutex; over the coming cycle
->i_mutex will become rwsem, with ->lookup() done with it held
only shared.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-01-22 18:04:28 -05:00
Vladimir Davydov
5d097056c9 kmemcg: account certain kmem allocations to memcg
Mark those kmem allocations that are known to be easily triggered from
userspace as __GFP_ACCOUNT/SLAB_ACCOUNT, which makes them accounted to
memcg.  For the list, see below:

 - threadinfo
 - task_struct
 - task_delay_info
 - pid
 - cred
 - mm_struct
 - vm_area_struct and vm_region (nommu)
 - anon_vma and anon_vma_chain
 - signal_struct
 - sighand_struct
 - fs_struct
 - files_struct
 - fdtable and fdtable->full_fds_bits
 - dentry and external_name
 - inode for all filesystems. This is the most tedious part, because
   most filesystems overwrite the alloc_inode method.

The list is far from complete, so feel free to add more objects.
Nevertheless, it should be close to "account everything" approach and
keep most workloads within bounds.  Malevolent users will be able to
breach the limit, but this was possible even with the former "account
everything" approach (simply because it did not account everything in
fact).

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Vladimir Davydov <vdavydov@virtuozzo.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Greg Thelen <gthelen@google.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-01-14 16:00:49 -08:00
Marcus Gelderie
de54b9ac25 ipc: modify message queue accounting to not take kernel data structures into account
A while back, the message queue implementation in the kernel was
improved to use btrees to speed up retrieval of messages, in commit
d6629859b3 ("ipc/mqueue: improve performance of send/recv").

That patch introducing the improved kernel handling of message queues
(using btrees) has, as a by-product, changed the meaning of the QSIZE
field in the pseudo-file created for the queue.  Before, this field
reflected the size of the user-data in the queue.  Since, it also takes
kernel data structures into account.  For example, if 13 bytes of user
data are in the queue, on my machine the file reports a size of 61
bytes.

There was some discussion on this topic before (for example
https://lkml.org/lkml/2014/10/1/115).  Commenting on a th lkml, Michael
Kerrisk gave the following background
(https://lkml.org/lkml/2015/6/16/74):

    The pseudofiles in the mqueue filesystem (usually mounted at
    /dev/mqueue) expose fields with metadata describing a message
    queue. One of these fields, QSIZE, as originally implemented,
    showed the total number of bytes of user data in all messages in
    the message queue, and this feature was documented from the
    beginning in the mq_overview(7) page. In 3.5, some other (useful)
    work happened to break the user-space API in a couple of places,
    including the value exposed via QSIZE, which now includes a measure
    of kernel overhead bytes for the queue, a figure that renders QSIZE
    useless for its original purpose, since there's no way to deduce
    the number of overhead bytes consumed by the implementation.
    (The other user-space breakage was subsequently fixed.)

This patch removes the accounting of kernel data structures in the
queue.  Reporting the size of these data-structures in the QSIZE field
was a breaking change (see Michael's comment above).  Without the QSIZE
field reporting the total size of user-data in the queue, there is no
way to deduce this number.

It should be noted that the resource limit RLIMIT_MSGQUEUE is counted
against the worst-case size of the queue (in both the old and the new
implementation).  Therefore, the kernel overhead accounting in QSIZE is
not necessary to help the user understand the limitations RLIMIT imposes
on the processes.

Signed-off-by: Marcus Gelderie <redmnic@gmail.com>
Acked-by: Doug Ledford <dledford@redhat.com>
Acked-by: Michael Kerrisk <mtk.manpages@gmail.com>
Acked-by: Davidlohr Bueso <dbueso@suse.de>
Cc: David Howells <dhowells@redhat.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: John Duffy <jb_duffy@btinternet.com>
Cc: Arto Bendiken <arto@bendiken.net>
Cc: Manfred Spraul <manfred@colorfullife.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-08-07 04:39:39 +03:00
Davidlohr Bueso
fa6004ad45 ipc/mqueue: Implement lockless pipelined wakeups
This patch moves the wakeup_process() invocation so it is not done under
the info->lock by making use of a lockless wake_q. With this change, the
waiter is woken up once it is STATE_READY and it does not need to loop
on SMP if it is still in STATE_PENDING. In the timeout case we still need
to grab the info->lock to verify the state.

This change should also avoid the introduction of preempt_disable() in -rt
which avoids a busy-loop which pools for the STATE_PENDING -> STATE_READY
change if the waiter has a higher priority compared to the waker.

Additionally, this patch micro-optimizes wq_sleep by using the cheaper
cousin of set_current_state(TASK_INTERRUPTABLE) as we will block no
matter what, thus get rid of the implied barrier.

Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: George Spelvin <linux@horizon.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Chris Mason <clm@fb.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Manfred Spraul <manfred@colorfullife.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: dave@stgolabs.net
Link: http://lkml.kernel.org/r/1430748166.1940.17.camel@stgolabs.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2015-05-08 12:23:07 +02:00
David Howells
75c3cfa855 VFS: assorted weird filesystems: d_inode() annotations
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2015-04-15 15:06:58 -04:00
Al Viro
9f45f5bf30 new helper: audit_file()
... for situations when we don't have any candidate in pathnames - basically,
in descriptor-based syscalls.

[Folded the build fix for !CONFIG_AUDITSYSCALL configs from Chen Gang]

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2014-11-19 13:01:26 -05:00
Davidlohr Bueso
6d08a2567c ipc: use device_initcall
... since __initcall is now deprecated.

Signed-off-by: Davidlohr Bueso <davidlohr@hp.com>
Cc: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-04-07 16:36:11 -07:00
Davidlohr Bueso
f3713fd9cf ipc,mqueue: remove limits for the amount of system-wide queues
Commit 93e6f119c0 ("ipc/mqueue: cleanup definition names and
locations") added global hardcoded limits to the amount of message
queues that can be created.  While these limits are per-namespace,
reality is that it ends up breaking userspace applications.
Historically users have, at least in theory, been able to create up to
INT_MAX queues, and limiting it to just 1024 is way too low and dramatic
for some workloads and use cases.  For instance, Madars reports:

 "This update imposes bad limits on our multi-process application.  As
  our app uses approaches that each process opens its own set of queues
  (usually something about 3-5 queues per process).  In some scenarios
  we might run up to 3000 processes or more (which of-course for linux
  is not a problem).  Thus we might need up to 9000 queues or more.  All
  processes run under one user."

Other affected users can be found in launchpad bug #1155695:
  https://bugs.launchpad.net/ubuntu/+source/manpages/+bug/1155695

Instead of increasing this limit, revert it entirely and fallback to the
original way of dealing queue limits -- where once a user's resource
limit is reached, and all memory is used, new queues cannot be created.

Signed-off-by: Davidlohr Bueso <davidlohr@hp.com>
Reported-by: Madars Vitolins <m@silodev.com>
Acked-by: Doug Ledford <dledford@redhat.com>
Cc: Manfred Spraul <manfred@colorfullife.com>
Cc: <stable@vger.kernel.org>	[3.5+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-02-25 15:25:45 -08:00
Davidlohr Bueso
3ab08fe204 ipc: remove braces for single statements
Deal with checkpatch messages:
     WARNING: braces {} are not necessary for single statement blocks

Signed-off-by: Davidlohr Bueso <davidlohr@hp.com>
Cc: Aswin Chandramouleeswaran <aswin@hp.com>
Cc: Rik van Riel <riel@redhat.com>
Acked-by: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-01-27 21:02:39 -08:00