Merge android-5.4.30 (5cfdde5) into msm-5.4

* refs/heads/tmp-5cfdde5:
  Revert "ANDROID: gki_defconfig: enabled UAPI header compile testing"
  Linux 5.4.30
  arm64: dts: ls1046ardb: set RGMII interfaces to RGMII_ID mode
  arm64: dts: ls1043a-rdb: correct RGMII delay mode to rgmii-id
  ARM: dts: sun8i: r40: Move AHCI device node based on address order
  ARM: dts: N900: fix onenand timings
  ARM: dts: imx6: phycore-som: fix arm and soc minimum voltage
  ARM: bcm2835-rpi-zero-w: Add missing pinctrl name
  ARM: dts: oxnas: Fix clear-mask property
  perf map: Fix off by one in strncpy() size argument
  arm64: alternative: fix build with clang integrated assembler
  libceph: fix alloc_msg_with_page_vector() memory leaks
  clk: ti: am43xx: Fix clock parent for RTC clock
  clk: imx: Align imx sc clock parent msg structs to 4
  clk: imx: Align imx sc clock msg structs to 4
  net: ks8851-ml: Fix IO operations, again
  gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 CHT + AXP288 model
  bpf: Explicitly memset some bpf info structures declared on the stack
  bpf: Explicitly memset the bpf_attr structure
  platform/x86: pmc_atom: Add Lex 2I385SW to critclk_systems DMI table
  vt: vt_ioctl: fix use-after-free in vt_in_use()
  vt: vt_ioctl: fix VT_DISALLOCATE freeing in-use virtual console
  vt: vt_ioctl: remove unnecessary console allocation checks
  vt: switch vt_dont_switch to bool
  vt: ioctl, switch VT_IS_IN_USE and VT_BUSY to inlines
  vt: selection, introduce vc_is_sel
  serial: sprd: Fix a dereference warning
  mac80211: fix authentication with iwlwifi/mvm
  mac80211: Check port authorization in the ieee80211_tx_dequeue() case
  ANDROID: 5.4.29 ABI update
  ANDROID: GKI: remove kernel_read/write from whitelists
  ANDROID: GKI: Fix ABI for scsi/ufs patches
  FROMGIT: scsi: ufs-qcom: Override devfreq parameters
  BACKPORT: FROMGIT: scsi: ufshcd: Let vendor override devfreq parameters
  FROMGIT: scsi: ufshcd: Update the set frequency to devfreq
  FROMLIST: scsi: ufs: full reinit upon resume if link was off
  FROMGIT: scsi: ufs: set device as active power mode after resetting device
  FROMGIT: scsi: ufs: Enable block layer runtime PM for well-known logical units
  UPSTREAM: scsi: ufs: Fix possible unclocked access to auto hibern8 timer register
  ANDROID: db845c build: Use merge_configs
  ANDROID: ABI/Whitelist: update whitelist of unisoc
  Linux 5.4.29
  net: Fix CONFIG_NET_CLS_ACT=n and CONFIG_NFT_FWD_NETDEV={y, m} build
  media: v4l2-core: fix a use-after-free bug of sd->devnode
  media: xirlink_cit: add missing descriptor sanity checks
  media: stv06xx: add missing descriptor sanity checks
  media: dib0700: fix rc endpoint lookup
  media: ov519: add missing endpoint sanity checks
  libfs: fix infoleak in simple_attr_read()
  ahci: Add Intel Comet Lake H RAID PCI ID
  staging: wlan-ng: fix use-after-free Read in hfa384x_usbin_callback
  staging: wlan-ng: fix ODEBUG bug in prism2sta_disconnect_usb
  staging: rtl8188eu: Add ASUS USB-N10 Nano B1 to device table
  staging: kpc2000: prevent underflow in cpld_reconfigure()
  media: usbtv: fix control-message timeouts
  media: flexcop-usb: fix endpoint sanity check
  usb: musb: fix crash with highmen PIO and usbmon
  USB: serial: io_edgeport: fix slab-out-of-bounds read in edge_interrupt_callback
  USB: cdc-acm: restore capability check order
  USB: serial: option: add Wistron Neweb D19Q1
  USB: serial: option: add BroadMobi BM806U
  USB: serial: option: add support for ASKEY WWHC050
  bpf: Undo incorrect __reg_bound_offset32 handling
  clocksource/drivers/hyper-v: Untangle stimers and timesync from clocksources
  r8169: fix PHY driver check on platforms w/o module softdeps
  vti6: Fix memory leak of skb if input policy check fails
  ARM: dts: sun8i-a83t-tbs-a711: Fix USB OTG mode detection
  bpf, sockmap: Remove bucket->lock from sock_{hash|map}_free
  bpf/btf: Fix BTF verification of enum members in struct/union
  bpf: Initialize storage pointers to NULL to prevent freeing garbage pointer
  bpf, x32: Fix bug with JMP32 JSET BPF_X checking upper bits
  i2c: nvidia-gpu: Handle timeout correctly in gpu_i2c_check_status()
  netfilter: nft_fwd_netdev: allow to redirect to ifb via ingress
  netfilter: nft_fwd_netdev: validate family and chain type
  netfilter: flowtable: reload ip{v6}h in nf_flow_tuple_ip{v6}
  mac80211: set IEEE80211_TX_CTRL_PORT_CTRL_PROTO for nl80211 TX
  ieee80211: fix HE SPR size calculation
  afs: Fix unpinned address list during probing
  afs: Fix some tracing details
  afs: Fix client call Rx-phase signal handling
  xfrm: policy: Fix doulbe free in xfrm_policy_timer
  xfrm: add the missing verify_sec_ctx_len check in xfrm_add_acquire
  xfrm: fix uctx len check in verify_sec_ctx_len
  RDMA/mlx5: Block delay drop to unprivileged users
  RDMA/mlx5: Fix access to wrong pointer while performing flush due to error
  RDMA/mlx5: Fix the number of hwcounters of a dynamic counter
  vti[6]: fix packet tx through bpf_redirect() in XinY cases
  xfrm: handle NETDEV_UNREGISTER for xfrm device
  genirq: Fix reference leaks on irq affinity notifiers
  afs: Fix handling of an abort from a service handler
  RDMA/core: Ensure security pkey modify is not lost
  bpf: Fix cgroup ref leak in cgroup_bpf_inherit on out-of-memory
  gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 BYT + AXP288 model
  gpiolib: acpi: Rework honor_wakeup option into an ignore_wake option
  gpiolib: acpi: Correct comment for HP x2 10 honor_wakeup quirk
  mm: fork: fix kernel_stack memcg stats for various stack implementations
  mm/sparse: fix kernel crash with pfn_section_valid check
  drivers/base/memory.c: indicate all memory blocks as removable
  mm/swapfile.c: move inode_lock out of claim_swapfile
  mac80211: mark station unauthorized before key removal
  mac80211: drop data frames without key on encrypted links
  nl80211: fix NL80211_ATTR_CHANNEL_WIDTH attribute type
  scsi: sd: Fix optimal I/O size for devices that change reported values
  scripts/dtc: Remove redundant YYLOC global declaration
  tools: Let O= makes handle a relative path with -C option
  rtlwifi: rtl8188ee: Fix regression due to commit d1d1a96bdb
  perf probe: Do not depend on dwfl_module_addrsym()
  perf probe: Fix to delete multiple probe event
  x86/ioremap: Fix CONFIG_EFI=n build
  ARM: dts: omap5: Add bus_dma_limit for L3 bus
  ARM: dts: dra7: Add bus_dma_limit for L3 bus
  ceph: fix memory leak in ceph_cleanup_snapid_map()
  ceph: check POOL_FLAG_FULL/NEARFULL in addition to OSDMAP_FULL/NEARFULL
  RDMA/mad: Do not crash if the rdma device does not have a umad interface
  RDMA/nl: Do not permit empty devices names during RDMA_NLDEV_CMD_NEWLINK/SET
  gpiolib: Fix irq_disable() semantics
  RDMA/core: Fix missing error check on dev_set_name()
  IB/rdmavt: Free kernel completion queue when done
  Input: avoid BIT() macro usage in the serio.h UAPI header
  Input: synaptics - enable RMI on HP Envy 13-ad105ng
  Input: fix stale timestamp on key autorepeat events
  Input: raydium_i2c_ts - fix error codes in raydium_i2c_boot_trigger()
  i2c: hix5hd2: add missed clk_disable_unprepare in remove
  iwlwifi: mvm: fix non-ACPI function
  iommu/vt-d: Populate debugfs if IOMMUs are detected
  iommu/vt-d: Fix debugfs register reads
  net: hns3: fix "tc qdisc del" failed issue
  sxgbe: Fix off by one in samsung driver strncpy size arg
  dpaa_eth: Remove unnecessary boolean expression in dpaa_get_headroom
  mac80211: Do not send mesh HWMP PREQ if HWMP is disabled
  scsi: ipr: Fix softlockup when rescanning devices in petitboot
  s390/qeth: handle error when backing RX buffer
  s390/qeth: don't reset default_out_queue
  iommu/vt-d: Silence RCU-list debugging warnings
  drm/exynos: Fix cleanup of IOMMU related objects
  drm/amdgpu: correct ROM_INDEX/DATA offset for VEGA20
  drm/amd/display: update soc bb for nv14
  fsl/fman: detect FMan erratum A050385
  arm64: dts: ls1043a: FMan erratum A050385
  dt-bindings: net: FMan erratum A050385
  cgroup1: don't call release_agent when it is ""
  drivers/of/of_mdio.c:fix of_mdiobus_register()
  cpupower: avoid multiple definition with gcc -fno-common
  nfs: add minor version to nfs_server_key for fscache
  cgroup-v1: cgroup_pidlist_next should update position index
  net/mlx5e: Do not recover from a non-fatal syndrome
  net/mlx5e: Fix ICOSQ recovery flow with Striding RQ
  net/mlx5e: Fix missing reset of SW metadata in Striding RQ reset
  net/mlx5e: Enhance ICOSQ WQE info fields
  net/mlx5: DR, Fix postsend actions write length
  hsr: set .netnsok flag
  hsr: add restart routine into hsr_get_node_list()
  hsr: use rcu_read_lock() in hsr_get_node_{list/status}()
  net: ip_gre: Accept IFLA_INFO_DATA-less configuration
  net: ip_gre: Separate ERSPAN newlink / changelink callbacks
  bnxt_en: Reset rings if ring reservation fails during open()
  bnxt_en: Free context memory after disabling PCI in probe error path.
  bnxt_en: Return error if bnxt_alloc_ctx_mem() fails.
  bnxt_en: fix memory leaks in bnxt_dcbnl_ieee_getets()
  bnxt_en: Fix Priority Bytes and Packets counters in ethtool -S.
  vxlan: check return value of gro_cells_init()
  tcp: repair: fix TCP_QUEUE_SEQ implementation
  tcp: ensure skb->dev is NULL before leaving TCP stack
  tcp: also NULL skb->dev when copy was needed
  slcan: not call free_netdev before rtnl_unlock in slcan_open
  r8169: re-enable MSI on RTL8168c
  NFC: fdp: Fix a signedness bug in fdp_nci_send_patch()
  net: stmmac: dwmac-rk: fix error path in rk_gmac_probe
  net_sched: keep alloc_hash updated after hash allocation
  net_sched: hold rtnl lock in tcindex_partial_destroy_work()
  net_sched: cls_route: remove the right filter from hashtable
  net/sched: act_ct: Fix leak of ct zone template on replace
  net: qmi_wwan: add support for ASKEY WWHC050
  net: phy: mdio-mux-bcm-iproc: check clk_prepare_enable() return value
  net: phy: mdio-bcm-unimac: Fix clock handling
  net: phy: dp83867: w/a for fld detect threshold bootstrapping issue
  net/packet: tpacket_rcv: avoid a producer race condition
  net: mvneta: Fix the case where the last poll did not process all rx
  net: ena: Add PCI shutdown handler to allow safe kexec
  net: dsa: tag_8021q: replace dsa_8021q_remove_header with __skb_vlan_pop
  net: dsa: mt7530: Change the LINK bit to reflect the link status
  net: dsa: Fix duplicate frames flooded by learning
  net: cbs: Fix software cbs to consider packet sending time
  net/bpfilter: fix dprintf usage for /dev/kmsg
  mlxsw: spectrum_mr: Fix list iteration in error path
  mlxsw: pci: Only issue reset when system is ready
  macsec: restrict to ethernet devices
  ipv4: fix a RCU-list lock in inet_dump_fib()
  hsr: fix general protection fault in hsr_addr_is_self()
  geneve: move debug check after netdev unregister
  cxgb4: fix Txq restart check during backpressure
  cxgb4: fix throughput drop during Tx backpressure
  ACPI: PM: s2idle: Rework ACPI events synchronization
  mmc: sdhci-tegra: Fix busy detection by enabling MMC_CAP_NEED_RSP_BUSY
  mmc: sdhci-omap: Fix busy detection by enabling MMC_CAP_NEED_RSP_BUSY
  mmc: core: Respect MMC_CAP_NEED_RSP_BUSY for eMMC sleep command
  mmc: core: Respect MMC_CAP_NEED_RSP_BUSY for erase/trim/discard
  mmc: core: Allow host controllers to require R1B for CMD6
  ANDROID: GKI: defconfig: enable CONFIG_THERMAL_GOV_POWER_ALLOCATOR
  UPSTREAM: usb: raw_gadget: fix compilation warnings in uapi headers
  BACKPORT: usb: gadget: add raw-gadget interface
  UPSTREAM: usb: gadget: move choice ... endchoice to legacy/Kconfig
  ANDROID: GKI: Added goldfish whitelist to aarch64 abi
  ANDROID: GKI: update cf whitelist + gki whitelist
  UPSTREAM: ipv6: ndisc: add support for 'PREF64' dns64 prefix identifier
  ANDROID: ABI: Add initial ABI whitelist for QCOM
  ANDROID: GKI: Removed cuttlefish configs
  ANDROID: ABI/Whitelist: update for db845c
  ANDROID: clang: update to 10.0.5
  FROMLIST: arm64: define __alloc_zeroed_user_highpage
  BACKPORT: extcon: Mark extcon_get_edev_name() function as exported symbol
  ANDROID: Incremental fs: Fix two typos
  ANDROID: gki_defconfig: Enable CONFIG_REMOTEPROC
  ANDROID: GKI: Add CONFIG_RPMSG to gki_defconfig
  Revert "sched/core: Prevent race condition between cpuset and __sched_setscheduler()"
  Revert "ANDROID: binder: fix sleeping from invalid function caused by RT inheritance"
  ANDROID: Incremental fs: Add INCFS_IOC_GET_FILLED_BLOCKS
  ANDROID: GKI: defconfig: Enable CONFIG_SHUFFLE_PAGE_ALLOCATOR
  ANDROID: gki_defconfig: disable CONFIG_HARDENED_USERCOPY_FALLBACK
  ANDROID: gki_defconfig: enable CONFIG_DEBUG_LIST
  ANDROID: Follow aosp/1233812 to update ABI whitelists post-TPM addition.
  ANDROID: dm-bow: Fix free_show value is incorrect
  ANDROID: GKI: workqueue.h: add Android ABI padding to some structures
  ANDROID: gki_defconfig: enabled UAPI header compile testing
  ANDROID: GKI: fs.h: add Android ABI padding to some structures
  FROMLIST: media: v4l2-fh: define v4l2_fh struct regardless of condition
  ANDROID: update ABI for 5.4.28
  ANDROID: kbuild: do not merge .section..* into .section in modules
  Linux 5.4.28
  staging: greybus: loopback_test: fix potential path truncations
  staging: greybus: loopback_test: fix potential path truncation
  drm/bridge: dw-hdmi: fix AVI frame colorimetry
  nvmet-tcp: set MSG_MORE only if we actually have more to send
  arm64: smp: fix crash_smp_send_stop() behaviour
  arm64: smp: fix smp_send_stop() behaviour
  ALSA: hda/realtek: Fix pop noise on ALC225
  futex: Unbreak futex hashing
  futex: Fix inode life-time issue
  x86/mm: split vmalloc_sync_all()
  page-flags: fix a crash at SetPageError(THP_SWAP)
  mm, slub: prevent kmalloc_node crashes and memory leaks
  mm: slub: be more careful about the double cmpxchg of freelist
  epoll: fix possible lost wakeup on epoll_ctl() path
  mm: do not allow MADV_PAGEOUT for CoW pages
  mm/hotplug: fix hot remove failure in SPARSEMEM|!VMEMMAP case
  mm, memcg: throttle allocators based on ancestral memory.high
  mm, memcg: fix corruption on 64-bit divisor in memory.high throttling
  memcg: fix NULL pointer dereference in __mem_cgroup_usage_unregister_event
  stm class: sys-t: Fix the use of time_after()
  drm/lease: fix WARNING in idr_destroy
  drm/amd/amdgpu: Fix GPR read from debugfs (v2)
  btrfs: fix log context list corruption after rename whiteout error
  xhci: Do not open code __print_symbolic() in xhci trace events
  arm64: compat: Fix syscall number of compat_clock_getres
  rtc: max8907: add missing select REGMAP_IRQ
  modpost: move the namespace field in Module.symvers last
  intel_th: pci: Add Elkhart Lake CPU support
  intel_th: Fix user-visible error codes
  intel_th: msu: Fix the unexpected state warning
  staging/speakup: fix get_word non-space look-ahead
  staging: greybus: loopback_test: fix poll-mask build breakage
  staging: rtl8188eu: Add device id for MERCUSYS MW150US v2
  kbuild: Disable -Wpointer-to-enum-cast
  CIFS: fiemap: do not return EINVAL if get nothing
  mmc: sdhci-cadence: set SDHCI_QUIRK2_PRESET_VALUE_BROKEN for UniPhier
  mmc: sdhci-of-at91: fix cd-gpios for SAMA5D2
  mmc: rtsx_pci: Fix support for speed-modes that relies on tuning
  iio: light: vcnl4000: update sampling periods for vcnl4040
  iio: light: vcnl4000: update sampling periods for vcnl4200
  iio: adc: at91-sama5d2_adc: fix differential channels in triggered mode
  iio: adc: stm32-dfsdm: fix sleep in atomic context
  iio: magnetometer: ak8974: Fix negative raw values in sysfs
  iio: accel: adxl372: Set iio_chan BE
  iio: trigger: stm32-timer: disable master mode when stopping
  iio: st_sensors: remap SMO8840 to LIS2DH12
  iio: chemical: sps30: fix missing triggered buffer dependency
  tty: fix compat TIOCGSERIAL checking wrong function ptr
  tty: fix compat TIOCGSERIAL leaking uninitialized memory
  ALSA: pcm: oss: Remove WARNING from snd_pcm_plug_alloc() checks
  ALSA: pcm: oss: Avoid plugin buffer overflow
  ALSA: seq: oss: Fix running status after receiving sysex
  ALSA: seq: virmidi: Fix running status after receiving sysex
  ALSA: hda/realtek - Enable the headset of Acer N50-600 with ALC662
  ALSA: hda/realtek - Enable headset mic of Acer X2660G with ALC662
  ALSA: line6: Fix endless MIDI read loop
  USB: cdc-acm: fix rounding error in TIOCSSERIAL
  USB: cdc-acm: fix close_delay and closing_wait units in TIOCSSERIAL
  usb: typec: ucsi: displayport: Fix a potential race during registration
  usb: typec: ucsi: displayport: Fix NULL pointer dereference
  usb: xhci: apply XHCI_SUSPEND_DELAY to AMD XHCI controller 1022:145c
  USB: serial: pl2303: add device-id for HP LD381
  usb: host: xhci-plat: add a shutdown
  USB: serial: option: add ME910G1 ECM composition 0x110b
  usb: quirks: add NO_LPM quirk for RTL8153 based ethernet adapters
  USB: Disable LPM on WD19's Realtek Hub
  Revert "drm/fbdev: Fallback to non tiled mode if all tiles not present"
  binderfs: use refcount for binder control devices too
  parse-maintainers: Mark as executable
  block, bfq: fix overwrite of bfq_group pointer in bfq_find_set_group()
  xenbus: req->err should be updated before req->state
  xenbus: req->body should be updated before req->state
  drm/amd/display: fix dcc swath size calculations on dcn1
  drm/amd/display: Clear link settings on MST disable connector
  drm/amdgpu: clean wptr on wb when gpu recovery
  riscv: Fix range looking for kernel image memblock
  riscv: Force flat memory model with no-mmu
  spi: spi_register_controller(): free bus id on error paths
  ASoC: stm32: sai: manage rebind issue
  riscv: avoid the PIC offset of static percpu data in module beyond 2G limits
  dm integrity: use dm_bio_record and dm_bio_restore
  dm bio record: save/restore bi_end_io and bi_integrity
  altera-stapl: altera_get_note: prevent write beyond end of 'key'
  drivers/perf: arm_pmu_acpi: Fix incorrect checking of gicc pointer
  drivers/perf: fsl_imx8_ddr: Correct the CLEAR bit definition
  drm/exynos: hdmi: don't leak enable HDMI_EN regulator if probe fails
  drm/exynos: dsi: fix workaround for the legacy clock name
  drm/exynos: dsi: propagate error value and silence meaningless warning
  spi/zynqmp: remove entry that causes a cs glitch
  spi: pxa2xx: Add CS control clock quirk
  ARM: dts: dra7: Add "dma-ranges" property to PCIe RC DT nodes
  cifs: add missing mount option to /proc/mounts
  cifs: fix potential mismatch of UNC paths
  powerpc: Include .BTF section
  spi: qup: call spi_qup_pm_resume_runtime before suspending
  ARM: dts: dra7-l4: mark timer13-16 as pwm capable
  phy: ti: gmii-sel: do not fail in case of gmii
  phy: ti: gmii-sel: fix set of copy-paste errors
  drm/mediatek: Find the cursor plane instead of hard coding it
  spi: spi-omap2-mcspi: Support probe deferral for DMA channels
  locks: reinstate locks_delete_block optimization
  locks: fix a potential use-after-free problem when wakeup a waiter
  ANDROID: ABI/Whitelist: update whitelist of unisoc
  ANDROID: staging: ion: Allow for attach and detach ops to be overridden
  ANDROID: scsi: ufs: add ->map_sg_crypto() variant op
  ANDROID: ABI/Whitelist: update for db845c
  ANDROID: GKI: Add CONFIG_SOC_BUS to gki_defconfig
  ANDROID: ABI/Whitelist: update for hikey960
  ANDROID: hikey960: Add external mali driver support to build.config.hikey960
  ANDROID: hikey960: Add build.config.hikey960
  ANDROID: config: Add hikey960_gki fragment
  ANDROID: misc: hisi_hikey_usb: Driver to support usb functionality of Hikey960
  ANDROID: dt-bindings: misc: Add bindings for HiSilicon usb hub and data role switch functionality on HiKey960
  FROMGIT: usb: dwc3: Rework resets initialization to be more flexible
  FROMGIT: usb: dwc3: Rework clock initialization to be more flexible
  FROMGIT: dt-bindings: usb: dwc3: Allow clock list & resets to be more flexible
  FROMGIT: usb: dwc3: Add support for role-switch-default-mode binding
  FROMGIT: dt-bindings: usb: generic: Add role-switch-default-mode binding
  FROMGIT: usb: dwc3: Registering a role switch in the DRD code.
  UPSTREAM: bpf: Explicitly memset some bpf info structures declared on the stack
  UPSTREAM: bpf: Explicitly memset the bpf_attr structure
  FROMGIT: BACKPORT: driver core: Add device links from fwnode only for the primary device
  Linux 5.4.27
  ipv4: ensure rcu_read_lock() in cipso_v4_error()
  ARM: 8961/2: Fix Kbuild issue caused by per-task stack protector GCC plugin
  HID: add ALWAYS_POLL quirk to lenovo pixart mouse
  HID: google: add moonball USB id
  mm: slub: add missing TID bump in kmem_cache_alloc_bulk()
  ARM: 8958/1: rename missed uaccess .fixup section
  ARM: 8957/1: VDSO: Match ARMv8 timer in cntvct_functional()
  net: qrtr: fix len of skb_put_padto in qrtr_node_enqueue
  blk-mq: insert flush request to the front of dispatch queue
  jbd2: fix data races at struct journal_head
  sfc: fix timestamp reconstruction at 16-bit rollover points
  net: rmnet: fix packet forwarding in rmnet bridge mode
  net: rmnet: fix bridge mode bugs
  net: rmnet: use upper/lower device infrastructure
  net: rmnet: do not allow to change mux id if mux id is duplicated
  net: rmnet: remove rcu_read_lock in rmnet_force_unassociate_device()
  net: rmnet: fix suspicious RCU usage
  net: rmnet: fix NULL pointer dereference in rmnet_changelink()
  net: rmnet: fix NULL pointer dereference in rmnet_newlink()
  hinic: fix a bug of rss configuration
  hinic: fix a bug of setting hw_ioctxt
  hinic: fix a irq affinity bug
  net: phy: mscc: fix firmware paths
  slip: not call free_netdev before rtnl_unlock in slip_open
  signal: avoid double atomic counter increments for user accounting
  kbuild: add dt_binding_check to PHONY in a correct place
  kbuild: add dtbs_check to PHONY
  drm/amdgpu: fix memory leak during TDR test(v2)
  blk-mq: insert passthrough request into hctx->dispatch directly
  net: ll_temac: Handle DMA halt condition caused by buffer underrun
  net: ll_temac: Fix RX buffer descriptor handling on GFP_ATOMIC pressure
  net: ll_temac: Add more error handling of dma_map_single() calls
  net: ll_temac: Fix race condition causing TX hang
  mac80211: rx: avoid RCU list traversal under mutex
  net: ks8851-ml: Fix IRQ handling and locking
  net: usb: qmi_wwan: restore mtu min/max values after raw_ip switch
  scsi: libfc: free response frame from GPN_ID
  cfg80211: check reg_rule for NULL in handle_channel_custom()
  tracing: Fix number printing bug in print_synth_event()
  selftests/rseq: Fix out-of-tree compilation
  HID: hid-bigbenff: fix race condition for scheduled work during removal
  HID: hid-bigbenff: call hid_hw_stop() in case of error
  HID: hid-bigbenff: fix general protection fault caused by double kfree
  HID: i2c-hid: add Trekstor Surfbook E11B to descriptor override
  ACPI: watchdog: Set default timeout in probe
  HID: apple: Add support for recent firmware on Magic Keyboards
  ACPI: watchdog: Allow disabling WDAT at boot
  drm/amdgpu: Fix TLB invalidation request when using semaphore
  netfilter: xt_hashlimit: unregister proc file before releasing mutex
  netfilter: hashlimit: do not use indirect calls during gc
  ANDROID: staging: ion: Export query function to be used in modules
  UPSTREAM: Bluetooth: hci_qca: Add support for Qualcomm Bluetooth SoC WCN3991
  UPSTREAM: Bluetooth: btqca: Rename ROME specific variables to generic variables
  ANDROID: ABI: Update abi after enabling CONFIG_USB_PHY
  ANDROID: GKI: Enable CONFIG_USB_PHY for usb drivers like dwc3
  ANDROID: Update abi_gki_aarch64_unisoc_whitelist
  ANDROID: GKI: USB: add Android ABI padding to some structures
  FROMLIST: ubifs: wire up FS_IOC_GET_ENCRYPTION_NONCE
  FROMLIST: f2fs: wire up FS_IOC_GET_ENCRYPTION_NONCE
  FROMLIST: ext4: wire up FS_IOC_GET_ENCRYPTION_NONCE
  FROMLIST: fscrypt: add FS_IOC_GET_ENCRYPTION_NONCE ioctl
  ANDROID: GKI: mm: add Android ABI padding to some structures
  ANDROID: GKI: mount.h: add Android ABI padding to some structures
  ANDROID: GKI: sched.h: add Android ABI padding to some structures
  ANDROID: GKI: sock.h: add Android ABI padding to some structures
  ANDROID: GKI: module.h: add Android ABI padding to some structures
  UPSTREAM: driver core: Skip unnecessary work when device doesn't have sync_state()
  ANDROID: Incremental fs: Add INCFS_IOC_PERMIT_FILL
  ANDROID: Incremental fs: Remove signature checks from kernel
  ANDROID: Incremental fs: Pad hash blocks
  ANDROID: Incremental fs: Make fill block an ioctl
  ANDROID: Incremental fs: Remove all access_ok checks
  ANDROID: GKI: device.h: add Android ABI padding to some structures
  ANDROID: GKI: phy: add Android ABI padding to some structures
  ANDROID: ABI update for 5.4.26

Conflicts:
	Documentation/devicetree/bindings
	Documentation/devicetree/bindings/net/fsl-fman.txt
	Documentation/devicetree/bindings/usb/dwc3.txt
	Documentation/devicetree/bindings/usb/generic.txt
	abi_gki_aarch64_qcom_whitelist
	drivers/misc/Kconfig
	drivers/misc/Makefile
	drivers/scsi/ufs/ufs-qcom.c
	drivers/usb/dwc3/core.c
	drivers/usb/gadget/Kconfig
	include/linux/device.h
	net/qrtr/qrtr.c

Change-Id: I43806ae33997efaf3265461e15fdbe49de74d741
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
This commit is contained in:
Blagovest Kolenichev 2020-05-19 13:01:47 -07:00
commit 8ec8dcf3dd
440 changed files with 138204 additions and 106748 deletions

View file

@ -166,6 +166,7 @@ struct fscrypt_get_key_status_arg {
#define FS_IOC_REMOVE_ENCRYPTION_KEY _IOWR('f', 24, struct fscrypt_remove_key_arg)
#define FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS _IOWR('f', 25, struct fscrypt_remove_key_arg)
#define FS_IOC_GET_ENCRYPTION_KEY_STATUS _IOWR('f', 26, struct fscrypt_get_key_status_arg)
#define FS_IOC_GET_ENCRYPTION_NONCE _IOR('f', 27, __u8[16])
/**********************************************************************/

View file

@ -35,6 +35,8 @@
#define INCFS_XATTR_METADATA_NAME (XATTR_USER_PREFIX "incfs.metadata")
#define INCFS_MAX_SIGNATURE_SIZE 8096
#define INCFS_SIGNATURE_VERSION 2
#define INCFS_SIGNATURE_SECTIONS 2
#define INCFS_IOCTL_BASE_CODE 'g'
@ -46,7 +48,49 @@
/* Read file signature */
#define INCFS_IOC_READ_FILE_SIGNATURE \
_IOWR(INCFS_IOCTL_BASE_CODE, 31, struct incfs_get_file_sig_args)
_IOR(INCFS_IOCTL_BASE_CODE, 31, struct incfs_get_file_sig_args)
/*
* Fill in one or more data block. This may only be called on a handle
* passed as a parameter to INCFS_IOC_PERMIT_FILLING
*
* Returns number of blocks filled in, or error if none were
*/
#define INCFS_IOC_FILL_BLOCKS \
_IOR(INCFS_IOCTL_BASE_CODE, 32, struct incfs_fill_blocks)
/*
* Permit INCFS_IOC_FILL_BLOCKS on the given file descriptor
* May only be called on .pending_reads file
*
* Returns 0 on success or error
*/
#define INCFS_IOC_PERMIT_FILL \
_IOW(INCFS_IOCTL_BASE_CODE, 33, struct incfs_permit_fill)
/*
* Fills buffer with ranges of populated blocks
*
* Returns 0 if all ranges written
* error otherwise
*
* Either way, range_buffer_size_out is set to the number
* of bytes written. Should be set to 0 by caller. The ranges
* filled are valid, but if an error was returned there might
* be more ranges to come.
*
* Ranges are ranges of filled blocks:
*
* 1 2 7 9
*
* means blocks 1, 2, 7, 8, 9 are filled, 0, 3, 4, 5, 6 and 10 on
* are not
*
* If hashing is enabled for the file, the hash blocks are simply
* treated as though they immediately followed the data blocks.
*/
#define INCFS_IOC_GET_FILLED_BLOCKS \
_IOR(INCFS_IOCTL_BASE_CODE, 34, struct incfs_get_filled_blocks_args)
enum incfs_compression_alg {
COMPRESSION_NONE = 0,
@ -81,10 +125,9 @@ struct incfs_pending_read_info {
};
/*
* A struct to be written into a control file to load a data or hash
* block to a data file.
* Description of a data or hash block to add to a data file.
*/
struct incfs_new_data_block {
struct incfs_fill_block {
/* Index of a data block. */
__u32 block_index;
@ -114,51 +157,35 @@ struct incfs_new_data_block {
__aligned_u64 reserved3;
};
/*
* Description of a number of blocks to add to a data file
*
* Argument for INCFS_IOC_FILL_BLOCKS
*/
struct incfs_fill_blocks {
/* Number of blocks */
__u64 count;
/* A pointer to an array of incfs_fill_block structs */
__aligned_u64 fill_blocks;
};
/*
* Permit INCFS_IOC_FILL_BLOCKS on the given file descriptor
* May only be called on .pending_reads file
*
* Argument for INCFS_IOC_PERMIT_FILL
*/
struct incfs_permit_fill {
/* File to permit fills on */
__u32 file_descriptor;
};
enum incfs_hash_tree_algorithm {
INCFS_HASH_TREE_NONE = 0,
INCFS_HASH_TREE_SHA256 = 1
};
struct incfs_file_signature_info {
/*
* A pointer to file's root hash (if determined != 0)
* Actual hash size determined by hash_tree_alg.
* Size of the buffer should be at least INCFS_MAX_HASH_SIZE
*
* Equivalent to: u8 *root_hash;
*/
__aligned_u64 root_hash;
/*
* A pointer to additional data that was attached to the root hash
* before signing.
*
* Equivalent to: u8 *additional_data;
*/
__aligned_u64 additional_data;
/* Size of additional data. */
__u32 additional_data_size;
__u32 reserved1;
/*
* A pointer to pkcs7 signature DER blob.
*
* Equivalent to: u8 *signature;
*/
__aligned_u64 signature;
/* Size of pkcs7 signature DER blob */
__u32 signature_size;
__u32 reserved2;
/* Value from incfs_hash_tree_algorithm */
__u8 hash_tree_alg;
};
/*
* Create a new file or directory.
*/
@ -212,10 +239,30 @@ struct incfs_new_file_args {
__u32 reserved4;
/* struct incfs_file_signature_info *signature_info; */
/*
* Points to an APK V4 Signature data blob
* Signature must have two sections
* Format is:
* u32 version
* u32 size_of_hash_info_section
* u8 hash_info_section[]
* u32 size_of_signing_info_section
* u8 signing_info_section[]
*
* Note that incfs does not care about what is in signing_info_section
*
* hash_info_section has following format:
* u32 hash_algorithm; // Must be SHA256 == 1
* u8 log2_blocksize; // Must be 12 for 4096 byte blocks
* u32 salt_size;
* u8 salt[];
* u32 hash_size;
* u8 root_hash[];
*/
__aligned_u64 signature_info;
__aligned_u64 reserved5;
/* Size of signature_info */
__aligned_u64 signature_size;
__aligned_u64 reserved6;
};
@ -242,4 +289,43 @@ struct incfs_get_file_sig_args {
__u32 file_signature_len_out;
};
struct incfs_filled_range {
__u32 begin;
__u32 end;
};
/*
* Request ranges of filled blocks
* Argument for INCFS_IOC_GET_FILLED_BLOCKS
*/
struct incfs_get_filled_blocks_args {
/*
* A buffer to populate with ranges of filled blocks
*
* Equivalent to struct incfs_filled_ranges *range_buffer
*/
__aligned_u64 range_buffer;
/* Size of range_buffer */
__u32 range_buffer_size;
/* Start index to read from */
__u32 start_index;
/*
* End index to read to. 0 means read to end. This is a range,
* so incfs will read from start_index to end_index - 1
*/
__u32 end_index;
/* Actual number of blocks in file */
__u32 total_blocks_out;
/* Number of bytes written to range buffer */
__u32 range_buffer_size_out;
/* Sector scanned up to, if the call was interrupted */
__u32 index_out;
};
#endif /* _UAPI_LINUX_INCREMENTALFS_H */

View file

@ -9,7 +9,7 @@
#ifndef _UAPI_SERIO_H
#define _UAPI_SERIO_H
#include <linux/const.h>
#include <linux/ioctl.h>
#define SPIOCSTYPE _IOW('q', 0x01, unsigned long)
@ -18,10 +18,10 @@
/*
* bit masks for use in "interrupt" flags (3rd argument)
*/
#define SERIO_TIMEOUT BIT(0)
#define SERIO_PARITY BIT(1)
#define SERIO_FRAME BIT(2)
#define SERIO_OOB_DATA BIT(3)
#define SERIO_TIMEOUT _BITUL(0)
#define SERIO_PARITY _BITUL(1)
#define SERIO_FRAME _BITUL(2)
#define SERIO_OOB_DATA _BITUL(3)
/*
* Serio types

View file

@ -0,0 +1,167 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
* USB Raw Gadget driver.
*
* See Documentation/usb/raw-gadget.rst for more details.
*/
#ifndef _UAPI__LINUX_USB_RAW_GADGET_H
#define _UAPI__LINUX_USB_RAW_GADGET_H
#include <asm/ioctl.h>
#include <linux/types.h>
#include <linux/usb/ch9.h>
/* Maximum length of driver_name/device_name in the usb_raw_init struct. */
#define UDC_NAME_LENGTH_MAX 128
/*
* struct usb_raw_init - argument for USB_RAW_IOCTL_INIT ioctl.
* @speed: The speed of the emulated USB device, takes the same values as
* the usb_device_speed enum: USB_SPEED_FULL, USB_SPEED_HIGH, etc.
* @driver_name: The name of the UDC driver.
* @device_name: The name of a UDC instance.
*
* The last two fields identify a UDC the gadget driver should bind to.
* For example, Dummy UDC has "dummy_udc" as its driver_name and "dummy_udc.N"
* as its device_name, where N in the index of the Dummy UDC instance.
* At the same time the dwc2 driver that is used on Raspberry Pi Zero, has
* "20980000.usb" as both driver_name and device_name.
*/
struct usb_raw_init {
__u8 driver_name[UDC_NAME_LENGTH_MAX];
__u8 device_name[UDC_NAME_LENGTH_MAX];
__u8 speed;
};
/* The type of event fetched with the USB_RAW_IOCTL_EVENT_FETCH ioctl. */
enum usb_raw_event_type {
USB_RAW_EVENT_INVALID = 0,
/* This event is queued when the driver has bound to a UDC. */
USB_RAW_EVENT_CONNECT = 1,
/* This event is queued when a new control request arrived to ep0. */
USB_RAW_EVENT_CONTROL = 2,
/* The list might grow in the future. */
};
/*
* struct usb_raw_event - argument for USB_RAW_IOCTL_EVENT_FETCH ioctl.
* @type: The type of the fetched event.
* @length: Length of the data buffer. Updated by the driver and set to the
* actual length of the fetched event data.
* @data: A buffer to store the fetched event data.
*
* Currently the fetched data buffer is empty for USB_RAW_EVENT_CONNECT,
* and contains struct usb_ctrlrequest for USB_RAW_EVENT_CONTROL.
*/
struct usb_raw_event {
__u32 type;
__u32 length;
__u8 data[0];
};
#define USB_RAW_IO_FLAGS_ZERO 0x0001
#define USB_RAW_IO_FLAGS_MASK 0x0001
static inline int usb_raw_io_flags_valid(__u16 flags)
{
return (flags & ~USB_RAW_IO_FLAGS_MASK) == 0;
}
static inline int usb_raw_io_flags_zero(__u16 flags)
{
return (flags & USB_RAW_IO_FLAGS_ZERO);
}
/*
* struct usb_raw_ep_io - argument for USB_RAW_IOCTL_EP0/EP_WRITE/READ ioctls.
* @ep: Endpoint handle as returned by USB_RAW_IOCTL_EP_ENABLE for
* USB_RAW_IOCTL_EP_WRITE/READ. Ignored for USB_RAW_IOCTL_EP0_WRITE/READ.
* @flags: When USB_RAW_IO_FLAGS_ZERO is specified, the zero flag is set on
* the submitted USB request, see include/linux/usb/gadget.h for details.
* @length: Length of data.
* @data: Data to send for USB_RAW_IOCTL_EP0/EP_WRITE. Buffer to store received
* data for USB_RAW_IOCTL_EP0/EP_READ.
*/
struct usb_raw_ep_io {
__u16 ep;
__u16 flags;
__u32 length;
__u8 data[0];
};
/*
* Initializes a Raw Gadget instance.
* Accepts a pointer to the usb_raw_init struct as an argument.
* Returns 0 on success or negative error code on failure.
*/
#define USB_RAW_IOCTL_INIT _IOW('U', 0, struct usb_raw_init)
/*
* Instructs Raw Gadget to bind to a UDC and start emulating a USB device.
* Returns 0 on success or negative error code on failure.
*/
#define USB_RAW_IOCTL_RUN _IO('U', 1)
/*
* A blocking ioctl that waits for an event and returns fetched event data to
* the user.
* Accepts a pointer to the usb_raw_event struct.
* Returns 0 on success or negative error code on failure.
*/
#define USB_RAW_IOCTL_EVENT_FETCH _IOR('U', 2, struct usb_raw_event)
/*
* Queues an IN (OUT for READ) urb as a response to the last control request
* received on endpoint 0, provided that was an IN (OUT for READ) request and
* waits until the urb is completed. Copies received data to user for READ.
* Accepts a pointer to the usb_raw_ep_io struct as an argument.
* Returns length of trasferred data on success or negative error code on
* failure.
*/
#define USB_RAW_IOCTL_EP0_WRITE _IOW('U', 3, struct usb_raw_ep_io)
#define USB_RAW_IOCTL_EP0_READ _IOWR('U', 4, struct usb_raw_ep_io)
/*
* Finds an endpoint that supports the transfer type specified in the
* descriptor and enables it.
* Accepts a pointer to the usb_endpoint_descriptor struct as an argument.
* Returns enabled endpoint handle on success or negative error code on failure.
*/
#define USB_RAW_IOCTL_EP_ENABLE _IOW('U', 5, struct usb_endpoint_descriptor)
/* Disables specified endpoint.
* Accepts endpoint handle as an argument.
* Returns 0 on success or negative error code on failure.
*/
#define USB_RAW_IOCTL_EP_DISABLE _IOW('U', 6, __u32)
/*
* Queues an IN (OUT for READ) urb as a response to the last control request
* received on endpoint usb_raw_ep_io.ep, provided that was an IN (OUT for READ)
* request and waits until the urb is completed. Copies received data to user
* for READ.
* Accepts a pointer to the usb_raw_ep_io struct as an argument.
* Returns length of trasferred data on success or negative error code on
* failure.
*/
#define USB_RAW_IOCTL_EP_WRITE _IOW('U', 7, struct usb_raw_ep_io)
#define USB_RAW_IOCTL_EP_READ _IOWR('U', 8, struct usb_raw_ep_io)
/*
* Switches the gadget into the configured state.
* Returns 0 on success or negative error code on failure.
*/
#define USB_RAW_IOCTL_CONFIGURE _IO('U', 9)
/*
* Constrains UDC VBUS power usage.
* Accepts current limit in 2 mA units as an argument.
* Returns 0 on success or negative error code on failure.
*/
#define USB_RAW_IOCTL_VBUS_DRAW _IOW('U', 10, __u32)
#endif /* _UAPI__LINUX_USB_RAW_GADGET_H */