Commit Graph

75 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
Satya Tangirala
eb54e73236 ANDROID: mmc: MMC crypto API
Make mmc core able to use the blk-crypto framework for inline
encryption. This patch introduces a pointer to struct keyslot_manager
to struct mmc_host, and handles setting up the request_queue for
devices using that keyslot_manager appropriately. It also inits struct
mmc_request's inline encryption fields before it's passed to
mmc_host::ops->request.

Users of the core code in host/ (e.g. cqhci.c) should initialize the
keyslot_manager in struct mmc_host appropriately, if they want to
support inline encryption. They should also handle any inline
encryption related work necessary when mmc_host::ops->request is
called.

This patch is only compile tested, as I don't have a device to
actually test these patches. Enable CONFIG_MMC_CRYPTO to test

Bug: 153512828
Bug: 144046242
Change-Id: I6f98ffadfa6e39d7fdc3752b069210ad97babd8b
Co-developed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Satya Tangirala <satyat@google.com>
2020-05-11 15:04:14 -07:00
Gaurav Kashyap
2ceec83a4f Revert existing FBE changes for ICE FBE
Revert existing FBE kernel changes for ICE upstream.
Revert UFS qcom specific ice changes.
Revert all sdhci related ICE changes formatted.
defconfig: Remove old FBE/ICE defconfigs.

Change-Id: I4d77927b6373b3bb3edfe3b060d1de272a54a426
Signed-off-by: Gaurav Kashyap <gaurkash@codeaurora.org>
Signed-off-by: Neeraj Soni <neersoni@codeaurora.org>
2020-04-24 15:19:09 -07:00
Sahitya Tummala
1a6164c473 mmc: sdhci-msm-ice: Add Inline Crypto Engine (ICE) support
eMMC controller may have an Inline Crypto Engine (ICE) attached,
which can be used to encrypt/decrypt data going to/from eMMC.
This patch adds a new client driver sdhci-msm-ice.c which interacts
with ICE driver present in (drivers/crypto/msm/) and thus provides
an interface to the low-level SDHCI driver to do the data
encryption/decryption.

mmc: sdhci-msm: Add Inline Crypto Engine (ICE) support

Add ICE support to low-level driver sdhci-msm.c. This code is
primarily responsible for enabling ICE (if present),
managing ICE clocks, managing ICE suspend/resume and also provides
a few host->ops for sdhci driver to use ICE functionality.

mmc: sdhci: Add Inline Crypto Engine (ICE) support

This patch adds ICE support to sdhci driver. It uses the
new ICE host->ops like config/reset to configure/reset the
ICE HW as appropriate.

mmc: cqhci: Add Inline Crypto Engine (ICE) support

Add changes to configure ICE for data encryption/decryption
using CQE.

mmc: cqe: add new crypto_cfg_reset host operation

When encryption/decryption is enabled in CQ mode, the
legacy commands that are sent in HALT state will use
different slot other than slot 0 for crypto configuration
information. The slot that is selected depends on the last
slot that was used when it is in CQ mode.  This is causing
the data of legacy commands to be encrypted/decrypted based
on the wrong slot usage for crypto config details. Hence,
clear the crypto configuration of the slot used in CQ mode
whenever it gets completed.

mmc: sdhci-msm-ice: Add crypto register dump for debug upon error

Dump crypto related register information upon error for
debugging purpose.

crypto: ice: Make ICE init & reset API synchronous

ICE init & reset can be synchronous now because ICE does not need
to go to secure side for any ICE configuration. This would simplify
interface and make call more efficient.

crypto: ice: general driver clean-up

* Removed spinlock as it was not locking against anything
* Removed conversion of interrupt status to error number
  as it is not used by API client, and in case several bits are
  set only 1 error is ever handled and the rest get lost.
  Instead pass to the client the complete status.
* Removed redundant includes, variables
* vops structure is returned after performing a lookup in the DTS.
  There's no need for that as we already know the structure
  to return.
* Other minor corrections

mmc: sdhci-msm-ice: Update ice config vop to config_start

The config vop of the ice driver has been updated to config_start.
Updated the sdhci-ice driver to reflect this change.

mmc: sdhci-msm-ice: Enable ICE HCI if supported

Check if the SDHC has ICE HCI support. If support is present,
enable the cryptoghrapic support inside SDHC.

Also ensure that it is re-enabled after SDHC is reset.
By default ICE HCI is disabled.

mmc: sdhci-msm: Update ICE reset register offset for ICE HCI

SDHC v5.0 onwards the ICE reset register offset got updated.
Update the register offset based on the SDHC version.

mmc: sdhci-msm-ice: Factor out update config from sdhci_msm_ice_cfg

Factor out the logic of updating the SDHC ICE config registers
from sdhci_msm_ice_cfg().

For ICE3.0, different set of SDHC ICE registers are need to be updated.
So having this logic in separate functions, we can have logical
separation for ICE2.0 and ICE3.0.

mmc: sdhci-mmc-ice: Factor out ice_cfg_start from sdhci_msm_ice_cfg

Factor out the logic of getting ice config parameters from
sdhci_msm_ice_cfg().

With ICE2.0, same sdhci_msm_ice_cfg function is being called from cmdq
and noncq. But with ICE3.0 support, cmdq needs a separate host op.
Since this logic of getting ice config is common for noncq and cmdq,
by having it in separate function, same can be reused
in cmdq host op as-well.

mmc: sdhci-msm-ice: Add new sdhci host_op for updating ice config

Add new sdhci host_op for updating ice configuration while sending
request through cmdq. Adding provision for supporting the ice
context configuration for ICE HCI.

mmc: cmdq_hci: ice: Changes for supporting ICE HCI in CMDQ mode

On SDHC v5.0 onwards, SDHC includes the inline interface
for cryptographic operations which is ICE HCI.
This patch includes the driver changes for supporting crypto
operations with ICE HCI in cmdq mode.

Adding support for clearing ice configuration.
Once mmc request processing is completed, mmc driver has to
call config_end to ensure key information is cleared by ICE
driver. This call is optional for FDE but required for FBE.

mmc: sdhci-msm-ice: Changes for supporting ICE HCI in non CMDQ mode

SDHC v5.0 onwards, SDHC includes the inline interface for
cryptographic operations which is ICE HCI.

This patch includes the driver changes for supporting crypto
operations with ICE HCI in noncq mode.

mmc: host: sdhci: Add new host_op for clearing ice configuration

Add new host op for clearing ice configuration.
This config_end host op need to invoked for clearing ice configuration,
once mmc request processing is completed.

mmc: sdhci-msm-ice: add support for FBE over F2FS

Add support for FBE to work with F2FS filesystem on eMMC
based devices. For F2FS+FBE on eMMC, the cryto data unit
size (CDU size) should be 4KB as F2FS encrypts/decrypts
the data at min. 4KB blocks with (inode|pgidx) as it's
corresponding data unit number (DUN).

mmc: card: Set INLINECRYPT queue flag based on host capability

Set INLINECRYPT queue flag if the host can support h/w based inline
encryption.
This is needed to let the filesystem know that underlying storage
device can support inline encryption so that data encryption/
decryption would be handled at h/w level, not at filesystem.

Set inline-crypto support host flag if sdhc controller is capable
do performing inline encryption/decryption.

mmc: sdhci-msm: get the load notification from clock scaling

This is needed to scale up/down the ICE clock during runtime
as per the load on eMMC.

mmc: block: add req pointer to mmc request

This is needed by ICE (Inline Crypto Engine) driver to get
the ICE configuration data from the request.

Change-Id: Ie69c64f4dc0c31290dec50d905e8b3d436c86d62
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
Signed-off-by: Ram Prakash Gupta <rampraka@codeaurora.org>
2019-05-13 13:12:24 +05:30
Ram Prakash Gupta
1b30d1daa8 mmc: core: Core support for hs400 enhanced strobe
Add core support for hs400 enhanced strobe and flush
detect work as part of the mmc driver porting.

mmc: core: Fix voltage switching for ultra high speed card
Fix voltage switching for ultra high speed card.

Change-Id: Ie9e72c10b4beb06c59f0356c5258b8cfcb98d5b0
Signed-off-by: Ram Prakash Gupta <rampraka@codeaurora.org>
2019-05-13 13:12:23 +05:30
Ram Prakash Gupta
7747af635a Revert "mmc: driver's changes from kernel msm-4.14 to msm-4.19"
This reverts commit 4f50c26c01.

This change is reverting as this commit have only SDCard changes,
and to add eMMC change, SDCard and eMMC should come together.
So reverting this change to add both eMMC and SDCard porting changes
in subsequent dependent change.

Change-Id: I450c8585b0c8e8af087475880a12425e5de4d1a0
Signed-off-by: Ram Prakash Gupta <rampraka@codeaurora.org>
2019-05-13 13:12:22 +05:30
Bao D. Nguyen
4f50c26c01 mmc: Merge MMC driver's changes from kernel msm-4.14 to msm-4.19
This is a snapshot of the mmc module taken as of msm-4.14
commit <9fa809c70c96>. This change contains the MMC driver's
changes for merging from kernel version msm-4.14 to msm-4.19.

Change-Id: I89fa8d5681d18290bbaf8b500f2e7f4a8aebbd89
Signed-off-by: Bao D. Nguyen <nguyenb@codeaurora.org>
2019-01-25 17:25:39 -08:00
Ulf Hansson
1433269c4d mmc: core: Export a function mmc_sw_reset() to allow soft reset of cards
It's rather common that a firmware is loaded into an SDIO func device
memory, by the corresponding SDIO func driver during ->probe() time.

However, to actually start running the new firmware, sometimes a soft reset
(no power cycle) and a re-initialization of the card is needed. This is for
example the case with the Espressif ESP8089 WiFi chips, when connected to
an SDIO interface.

To cope with this scenario, let's add a new exported function,
mmc_sw_reset(), which may be called when a soft reset and re-initialization
of the card are needed.

The mmc_sw_reset() is implemented on top of a new bus ops callback, similar
to how the mmc_hw_reset() has been implemented.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Tested-by: Quentin Schulz <quentin.schulz@bootlin.com>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
2018-05-08 09:33:42 +02:00
Adrian Hunter
906d5ff618 mmc: core: Move mmc_start_areq() declaration
mmc_start_areq() is an internal mmc core API. Move the declaration
accordingly.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2017-08-30 15:03:53 +02:00
Adrian Hunter
d3bf68ae04 mmc: host: Add CQE interface
Add CQE host operations, capabilities, and host members.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2017-08-30 15:03:33 +02:00
Adrian Hunter
d2f82254e4 mmc: core: Add members to mmc_request and mmc_data for CQE's
Most of the information needed to issue requests to a CQE is already in
struct mmc_request and struct mmc_data. Add data block address, some flags,
and the task id (tag), and allow for cmd being NULL which it is for CQE
tasks.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2017-08-30 14:02:01 +02:00
Linus Walleij
c3399ef55d mmc: core: rename mmc_start_req() to *areq()
With the coexisting __mmc_start_request(), mmc_start_request()
and __mmc_start_req() it is a bit confusing that mmc_start_req()
actually does not start a normal request, but an asynchronous
request.

Rename it to mmc_start_areq() to make it explicit what the
function is doing, also fix the kerneldoc for this function
while we're at it.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2017-02-13 13:20:58 +01:00
Ulf Hansson
23888bfe9b mmc: core: Don't use extern declarations of public mmc functions
Using extern when declaring functions in the public header, core.h, is
redundant. Let's just remove the use of it.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
2017-02-13 13:20:25 +01:00
Ulf Hansson
c0a3e080f9 mmc: core: Move erase/trim/discard defines from public core.h to mmc.h
As the public mmc.h header already contains similar defines for other mmc
commands and arguments, let's move those for erase/trim/discard into here
as well.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
2017-02-13 13:20:22 +01:00
Ulf Hansson
9e1bbc7272 mmc: core: Move some host specific public functions to host.h
Ideally the public mmc header file, core.h, shouldn't contain interfaces
particularly intended to be used by host drivers. Instead those should
remain in the host.h header file. Therefore, let's move a couple functions
from core.h to host.h.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
2017-02-13 13:20:21 +01:00
Ulf Hansson
55244c5659 mmc: core: Move public functions from core.h to private headers
A significant amount of functions are available through the public mmc
core.h header file. Let's slim down this public mmc interface, as to
prevent users from abusing it, by moving some of the functions to private
mmc header files.

This change concentrates on moving the functions into private mmc headers,
following changes may continue with additional clean-ups, as an example
some functions can be turned into static.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
2017-02-13 13:20:21 +01:00
Ulf Hansson
8da007348b mmc: core: First step in cleaning up public mmc header files
This is the first step in cleaning up the public mmc header files. In this
change we makes sure each header file builds standalone, as that helps to
resolve dependencies.

While changing this, it also seems reasonable to stop including other
headers from inside a header itself which it don't depend upon.
Additionally, in some cases such dependencies are better resolved by
forward declaring the needed struct.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
2017-02-13 13:20:19 +01:00
Adrian Hunter
e711f03091 mmc: mmc: Introduce mmc_abort_tuning()
If a tuning command times out, the card could still be processing it, which
will cause problems for recovery. The eMMC specification says that CMD12
can be used to stop CMD21, so add a function that does that.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2016-12-05 14:16:22 +01:00
Linus Walleij
8e8b3f514c mmc: core: use enum mmc_blk_status properly
There were several instances of code using the
enum mmc_blk_status by arbitrarily converting it to an int and
throwing it around to different functions. This makes the code
hard to understand to may give rise to strange errors.

Especially the function prototype mmc_start_req() had to be
modified to take a pointer to an enum mmc_blk_status and the
function pointer .err_check() inside struct mmc_async_req
needed to return an enum mmc_blk_status.

In every case: instead of assigning the block layer error code
to an int, use the enum, also change the signature of all
functions actually passing this enum to use the enum.

To make it possible to use the enum everywhere applicable, move
it to <linux/mmc/core.h> so that all code actually using it can
also see it.

An interesting case was encountered in the MMC test code which
did not return a enum mmc_blk_status at all in the .err_check
function supposed to check whether asynchronous requests worked
or not: instead it returned a normal -ERROR or even the test
frameworks internal error codes.

The test code would also pass on enum mmc_blk_status codes as
error codes inside the test code instead of converting them
to the local RESULT_* codes.

I have tried to fix all instances properly and run some tests
on the result.

Cc: Chunyan Zhang <zhang.chunyan@linaro.org>
Cc: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2016-11-29 09:00:51 +01:00
Wolfram Sang
51b50c9616 mmc: add define for R1 response without CRC
The core uses it for polling. Give drivers a proper define handle this
case like for other response types.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2016-09-26 21:31:31 +02:00
Adrian Hunter
5163af5a5e mmc: core: Add support for sending commands during data transfer
A host controller driver exposes its capability using caps flag
MMC_CAP_CMD_DURING_TFR. A driver with that capability can accept requests
that are marked mrq->cap_cmd_during_tfr = true. Then the driver informs the
upper layers when the command line is available for further commands by
calling mmc_command_done(). Because of that, the driver will not then
automatically send STOP commands, and it is the responsibility of the upper
layer to send a STOP command if it is required.

For requests submitted through the mmc_wait_for_req() interface, the caller
sets mrq->cap_cmd_during_tfr = true which causes mmc_wait_for_req() in fact
not to wait. The caller can then send commands that do not use the data
lines. Finally the caller can wait for the transfer to complete by calling
mmc_wait_for_req_done() which is now exported.

For requests submitted through the mmc_start_req() interface, the caller
again sets mrq->cap_cmd_during_tfr = true, but mmc_start_req() anyway does
not wait. The caller can then send commands that do not use the data
lines. Finally the caller can wait for the transfer to complete in the
normal way i.e. calling mmc_start_req() again.

Irrespective of how a cap_cmd_during_tfr request is started,
mmc_is_req_done() can be called if the upper layer needs to determine if
the request is done. However the appropriate waiting function (either
mmc_wait_for_req_done() or mmc_start_req()) must still be called.

The implementation consists primarily of a new completion
mrq->cmd_completion which notifies when the command line is available for
further commands. That completion is completed by mmc_command_done().
When there is an ongoing data transfer, calls to mmc_wait_for_req() will
automatically wait on that completion, so the caller does not have to do
anything special.

Note, in the case of errors, the driver may call mmc_request_done() without
calling mmc_command_done() because mmc_request_done() always calls
mmc_command_done().

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2016-09-26 21:31:28 +02:00
Jaehoon Chung
d3204ab995 mmc: core: remove the MMC_DATA_STREAM flag
It's not set to MMC_DATA_STREAM anywhere.
It seems that it had been used with CMD11/CMD20.
But according to Spec, CMD11/CMD20 are obsolete command.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2016-02-29 11:03:02 +01:00
Chaotian Jing
9979dbe515 mmc: mmc: extend the mmc_send_tuning()
The mmc_execute_tuning() has already prepared the opcode,
there is no need to prepare it again at mmc_send_tuning(),
and, there is a BUG of mmc_send_tuning() to determine the opcode
by bus width, assume eMMC was running at HS200, 4bit mode,
then the mmc_send_tuning() will overwrite the opcode from CMD21
to CMD19, then got error.

in addition, extend an argument of "cmd_error" to allow getting
if there was cmd error when tune response.

Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com>
[Ulf: Rebased patch]
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2015-10-27 10:38:41 +01:00
Ulf Hansson
f90d2e4035 mmc: core: Convert __mmc_switch() into an internal core function
As there are no users of the __mmc_switch() API, except for the mmc core
itself, let's convert it from an exported function into an internal.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2015-10-26 15:59:54 +01:00
Chaotian Jing
208489032b mmc: mediatek: Add Mediatek MMC driver
Add Mediatek MMC driver code
Support eMMC/SD/SDIO

Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2015-06-18 09:20:48 +02:00
Ulf Hansson
f5c5179b9a mmc: core: Convert the error field in struct mmc_command|data into an int
Everybody expects the error field in the struct mmc_command|data to be
and int but it's actually an unsigned int. Let's convert it into an int
to meet the expectations.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2015-04-08 12:10:20 +02:00
Johan Rudholm
83533ab283 mmc: core: always check status after reset
Always check if the card is alive after a successful reset. This allows
us to remove mmc_hw_reset_check(), leaving mmc_hw_reset() as the only
card reset interface.

Signed-off-by: Johan Rudholm <johanru@axis.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2015-01-19 09:56:27 +01:00
Ulf Hansson
fe5afb13d4 mmc: core: Let mmc_send_tuning() to take struct mmc_host* as parameter
To be able to use mmc_send_tuning() prior the struct mmc_card has been
allocated, let's convert it to take the struct mmc_host* as parameter
instead.

Suggested-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Dong Aisheng <b29396@freescale.com>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
2014-12-08 09:11:04 +01:00
Minda Chen
996903de92 mmc: core: add core-level function for sending tuning commands
According to the SD card spec, Add a manual tuning command function
for SDR104/HS200.
Sending command 19 or command 21 to read data and compare with the
tunning block pattern.

This patch will help to decrease some platform private codes in SDHCI
platform_execute_tuning() callbacks.

Signed-off-by: Minda Chen <Minda.Chen@csr.com>
Signed-off-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2014-11-26 14:36:51 +01:00
Ulf Hansson
2fc91e8b0e mmc: core: Remove the redundant mmc_send_ext_csd() API
Previous patches has replaced the calls to mmc_send_ext_csd() into
mmc_get_ext_csd(), thus mmc_send_ext_csd() has become redundant. Let's
remove it.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2014-11-10 12:40:44 +01:00
Ulf Hansson
e21aa519ee mmc: core: Export mmc_get_ext_csd()
Callers of mmc_send_ext_csd() will be able to decrease code duplication
by using mmc_get_ext_csd() instead. Let's make it available.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2014-11-10 12:40:43 +01:00
Ulf Hansson
4509f84775 mmc: core: Add ignore_crc flag to __mmc_switch
Instead of handle specific adaptations, releated to certain switch
operations, inside __mmc_switch, push this to be handled by the caller
instead.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <chris@printf.net>
2014-02-23 10:40:30 -05:00
Ulf Hansson
1d4d77444b mmc: core: Rename cmd_timeout_ms to busy_timeout
To better reflect that the cmd_timeout_ms is directly related to the
busy detection timeout, let's rename it.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <chris@printf.net>
2014-02-23 10:40:26 -05:00
Ulf Hansson
878e200bbb mmc: core: Do not poll for busy with status cmd for all switch cmds
Some switch operations like poweroff notify, shall according to the
spec not be followed by any other new commands. For these cases and
when the host does'nt support MMC_CAP_WAIT_WHILE_BUSY, we must not
send status commands to poll for busy detection. Instead wait for
the stated timeout from the EXT_CSD before completing the request.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
2013-10-30 20:26:24 -04:00
Grant Grundler
b83e867026 mmc: core: remove dead function mmc_try_claim_host
cscope says there are no callers for mmc_try_claim_host in the kernel.
No reason to keep it.

Signed-off-by: Grant Grundler <grundler@chromium.org>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
2013-09-25 21:26:29 -04:00
Haijun Zhang
6e9e318b30 mmc: core: parse voltage from device-tree
Add function to support getting voltage from device-tree.
If voltage-range is specified in device-tree node, this function
will parse it and return the available voltage mask.

Signed-off-by: Haijun Zhang <haijun.zhang@freescale.com>
Acked-by: Anton Vorontsov <anton@enomsg.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
2013-08-26 11:31:40 -04:00
Ulf Hansson
e94cfef698 mmc: block: Enable runtime pm for mmc blkdevice
Once the mmc blkdevice is being probed, runtime pm will be enabled.
By using runtime autosuspend, the power save operations can be done
when request inactivity occurs for a certain time. Right now the
selected timeout value is set to 3 s. Obviously this value will likely
need to be configurable somehow since it needs to be trimmed depending
on the power save algorithm.

For SD-combo cards, we are still leaving the enablement of runtime PM
to the SDIO init sequence since it depends on the capabilities of the
SDIO func driver.

Moreover, when the blk device is being suspended, we make sure the device
will be runtime resumed. The reason for doing this is that we want the
host suspend sequence to be unaware of any runtime power save operations
done for the card in this phase. Thus it can just handle the suspend as
the card is fully powered from a runtime perspective.

Finally, this patch prepares to make it possible to move BKOPS handling
into the runtime callbacks for the mmc bus_ops. Thus IDLE BKOPS can be
accomplished.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
2013-05-26 14:23:16 -04:00
Maya Erez
775a9362b5 mmc: card: Adding support for sanitize in eMMC 4.5
The sanitize support is added as a user-app ioctl call, and
was removed from the block-device request, since its purpose is
to be invoked not via File-System but by a user.

This feature deletes the unmap memory region of the eMMC card,
by writing to a specific register in the EXT_CSD.

unmap region is the memory region that was previously deleted
(by erase, trim or discard operation).

In order to avoid timeout when sanitizing large-scale cards,
the timeout for sanitize operation is 240 seconds.

Signed-off-by: Yaniv Gardi <ygardi@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
2013-05-26 14:23:13 -04:00
Seungwon Jeon
ce39f9d17c mmc: support packed write command for eMMC4.5 devices
This patch supports packed write command of eMMC4.5 devices.  Several
writes can be grouped in packed command and all data of the individual
commands can be sent in a single transfer on the bus. Large amounts of
data in one transfer rather than several data of small size are
effective for eMMC write internally.  As a result, packed command help
write throughput be improved.  The following tables show the results
of packed write.

Type A:
test     none |  packed
iozone   25.8 |  31
tiotest  27.6 |  31.2
lmdd     31.2 |  35.4

Type B:
test     none |  packed
iozone   44.1 |  51.1
tiotest  47.9 |  52.5
lmdd     51.6 |  59.2

Type C:
test     none |  packed
iozone   19.5 |  32
tiotest  19.9 |  34.5
lmdd     22.8 |  40.7

Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com>
Reviewed-by: Maya Erez <merez@codeaurora.org>
Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
2013-02-24 14:37:16 -05:00
Konstantin Dorfman
2220eedfd7 mmc: fix async request mechanism for sequential read scenarios
When current request is running on the bus and if next request fetched
by mmcqd is NULL, mmc context (mmcqd thread) gets blocked until the
current request completes. This means that if new request comes in while
the mmcqd thread is blocked, this new request can not be prepared in
parallel to current ongoing request. This may result in delaying the new
request execution and increase it's latency.

This change allows to wake up the MMC thread on new request arrival.
Now once the MMC thread is woken up, a new request can be fetched and
prepared in parallel to the current running request which means this new
request can be started immediately after the current running request
completes.

With this change read throughput is improved by 16%.

Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org>
Reviewed-by: Seungwon Jeon <tgih.jun@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
2013-02-11 13:28:49 -05:00
Loic Pallardy
67c79db8d9 mmc: core: Add mmc_set_blockcount feature
Provide support for automatically sending Set Block Count
(CMD23) messages. Used at least for RPMB support.

Signed-off-by: Alex Macro <alex.macro@stericsson.com>
Signed-off-by: Loic Pallardy <loic.pallardy@stericsson.com>
Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Johan Rudholm <johan.rudholm@stericsson.com>
Acked-by: Krishna Konda <kkonda@codeaurora.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
2012-12-06 13:54:48 -05:00
Jaehoon Chung
950d56acce mmc: support BKOPS feature for eMMC
Enable eMMC background operations (BKOPS) feature.

If URGENT_BKOPS is set after a response, note that BKOPS are required.
Immediately run BKOPS if required.  Read/write operations should be
requested during BKOPS(LEVEL-1), then issue HPI to interrupt the
ongoing BKOPS and service the foreground operation.
(This patch only controls the LEVEL2/3.)

When repeating the writing 1GB data, at a certain time, performance is
decreased.  At that time, card triggers the Level-3 or Level-2.  After
running bkops, performance is recovered.

Future considerations:
 * Check BKOPS_LEVEL=1 and start BKOPS in a preventive manner.
 * Interrupt ongoing BKOPS before powering off the card.
 * How do we get BKOPS_STATUS value (periodically send ext_csd command)?
 * If using periodic bkops, also consider runtime_pm control.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org>
Reviewed-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
2012-10-03 10:05:12 -04:00
Linus Torvalds
b5174fa3a7 Merge tag 'mmc-merge-for-3.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc
Pull MMC updates from Chris Ball:

Core:
 * Support for MMC 4.5 Data Tag feature -- we tag REQ_META, so devices
   that support Data Tag will provide increased throughput for metadata.
 * Faster detection of card removal on I/O errors.

Drivers:
 * dw_mmc now supports eMMC Power Off Notify, has PCI support, and
   implements pre_req and post_req for asynchronous requests.
 * omap_hsmmc now supports device tree.
 * esdhc now has power management support.
 * sdhci-tegra now supports Tegra30 devices.
 * sdhci-spear now supports hibernation.
 * tmio_mmc now supports using a GPIO for card detection.
 * Intel PCH now supports 8-bit bus transfers.

* tag 'mmc-merge-for-3.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (53 commits)
  mmc: sh_mmcif: simplify bitmask macros
  mmc: sh_mobile_sdhi: support modular mmc-core with non-standard hotplug
  mmc: sh_mobile_sdhi: add a callback for board specific init code
  mmc: tmio: cosmetic: prettify the tmio_mmc_set_ios() function
  mmc: sh_mobile_sdhi: do not manage PM clocks manually
  mmc: tmio_mmc: remove unused sdio_irq_enabled flag
  mmc: tmio_mmc: power status flag doesn't have to be exposed in platform data
  mmc: sh_mobile_sdhi: pass card hotplug GPIO number to TMIO MMC
  mmc: tmio_mmc: support the generic MMC GPIO card hotplug helper
  mmc: tmio: calculate the native hotplug condition only once
  mmc: simplify mmc_cd_gpio_request() by removing two parameters
  mmc: sdhci-pci: allow 8-bit bus width for Intel PCH
  mmc: sdhci: check interrupt flags in ISR again
  mmc: sdhci-pci: Add MSI support
  mmc: core: warn when card doesn't support HPI
  mmc: davinci: Poll status for small size transfers
  mmc: davinci: Eliminate spurious interrupts
  mmc: omap_hsmmc: Avoid a regulator voltage change with dt
  mmc: omap_hsmmc: Convert hsmmc driver to use device tree
  mmc: sdhci-pci: add SDHCI_QUIRK2_HOST_OFF_CARD_ON for Medfield SDIO
  ...
2012-03-28 20:59:45 -07:00
Adrian Hunter
907d2e7cc7 mmc: start removing enable / disable API
Most parts of the enable / disable API are no longer used and
can be removed.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Tested-by: Venkatraman S <svenkatr@ti.com>
Tested-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
2012-03-27 12:20:03 -04:00
Paul Gortmaker
313162d0b8 device.h: audit and cleanup users in main include dir
The <linux/device.h> header includes a lot of stuff, and
it in turn gets a lot of use just for the basic "struct device"
which appears so often.

Clean up the users as follows:

1) For those headers only needing "struct device" as a pointer
in fcn args, replace the include with exactly that.

2) For headers not really using anything from device.h, simply
delete the include altogether.

3) For headers relying on getting device.h implicitly before
being included themselves, now explicitly include device.h

4) For files in which doing #1 or #2 uncovers an implicit
dependency on some other header, fix by explicitly adding
the required header(s).

Any C files that were implicitly relying on device.h to be
present have already been dealt with in advance.

Total removals from #1 and #2: 51.  Total additions coming
from #3: 9.  Total other implicit dependencies from #4: 7.

As of 3.3-rc1, there were 110, so a net removal of 42 gives
about a 38% reduction in device.h presence in include/*

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2012-03-16 10:38:24 -04:00
Adrian Hunter
d304950488 mmc: allow upper layers to know immediately if card has been removed
Add a function mmc_detect_card_removed() which upper layers can use to
determine immediately if a card has been removed. This function should
be called after an I/O request fails so that all queued I/O requests
can be errored out immediately instead of waiting for the card device
to be removed.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Acked-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
2012-01-11 23:58:43 -05:00
Jaehoon Chung
eb0d8f135b mmc: core: support HPI send command
HPI command is defined in eMMC4.41.
This feature is important for eMMC4.5 devices.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
2011-10-26 16:32:29 -04:00
Seungwon Jeon
881d1c25f7 mmc: core: Add cache control for eMMC4.5 device
This patch adds cache feature of eMMC4.5 Spec.
If device supports cache capability, host can utilize some specific
operations.

Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
2011-10-26 16:32:28 -04:00
Kyungmin Park
b3bf915308 mmc: core: new discard feature support at eMMC v4.5
MMC v4.5 supports the DISCARD feature (CMD38).  It's different from
trim and there's no check bit.  Currently it's only supported at v4.5.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
2011-10-26 16:32:27 -04:00
Kyungmin Park
d9ddd62943 mmc: core: mmc sanitize feature support for v4.5
In the v4.5, there's no secure erase & trim support.
Instead it supports the sanitize feature.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
2011-10-26 16:32:26 -04:00