Commit Graph

127 Commits

Author SHA1 Message Date
Lucas Wei
eae5a83bf8 Merge android-4.19-stable (4.19.252) into android-msm-pixel-4.19-lts
Merge 4.19.252 into android-4.19-stable
Linux 4.19.252
    dmaengine: ti: Add missing put_device in ti_dra7_xbar_route_allocate
    dmaengine: ti: Fix refcount leak in ti_dra7_xbar_route_allocate
    dmaengine: at_xdma: handle errors of at_xdmac_alloc_desc() correctly
    dmaengine: pl330: Fix lockdep warning about non-static key
  * ida: don't use BUG_ON() for debugging
      lib/idr.c
    misc: rtsx_usb: set return value in rsp_buf alloc err path
  * misc: rtsx_usb: use separate command and response buffers
      include/linux/rtsx_usb.h
  * misc: rtsx_usb: fix use of dma mapped buffer for usb bulk transfer
      include/linux/rtsx_usb.h
    i2c: cadence: Unregister the clk notifier in error path
    selftests: forwarding: fix error message in learning_test
    selftests: forwarding: fix learning_test when h1 supports IFF_UNICAST_FLT
    selftests: forwarding: fix flood_unicast_test when h2 supports IFF_UNICAST_FLT
    ibmvnic: Properly dispose of all skbs during a failover.
    ARM: at91: pm: use proper compatible for sama5d2's rtc
    pinctrl: sunxi: a83t: Fix NAND function name for some pins
    ARM: meson: Fix refcount leak in meson_smp_prepare_cpus
    xfs: remove incorrect ASSERT in xfs_rename
    can: kvaser_usb: kvaser_usb_leaf: fix bittiming limits
    can: kvaser_usb: kvaser_usb_leaf: fix CAN clock frequency regression
    can: kvaser_usb: replace run-time checks with struct kvaser_usb_driver_info
    powerpc/powernv: delay rng platform device creation until later in boot
  * video: of_display_timing.h: include errno.h
      include/video/of_display_timing.h
    fbcon: Disallow setting font bigger than screen size
    iommu/vt-d: Fix PCI bus rescan device hot add
    net: rose: fix UAF bug caused by rose_t0timer_expiry
  * usbnet: fix memory leak in error case
      drivers/net/usb/usbnet.c
    can: gs_usb: gs_usb_open/close(): fix memory leak
    can: grcan: grcan_probe(): remove extra of_node_get()
    can: bcm: use call_rcu() instead of costly synchronize_rcu()
  * mm/slub: add missing TID updates on slab deactivation
      mm/slub.c
  * esp: limit skb_page_frag_refill use to a single page
      include/net/esp.h
      net/ipv4/esp4.c
      net/ipv6/esp6.c
    Merge 4.19.251 into android-4.19-stable
    Merge 4.19.250 into android-4.19-stable
  * ANDROID: revert some RNG function signature changes
      drivers/char/random.c
      include/linux/random.h
  * ANDROID: cpu/hotplug: avoid breaking Android ABI by fusing cpuhp steps
      include/linux/cpuhotplug.h
      kernel/cpu.c
    Merge 4.19.249 into android-4.19-stable
  * UPSTREAM: lib/crypto: blake2s: avoid indirect calls to compression function for Clang CFI
      include/crypto/internal/blake2s.h
      lib/crypto/blake2s.c
  * BACKPORT: lib/crypto: add prompts back to crypto libraries
      crypto/Kconfig
      lib/Kconfig
      lib/crypto/Kconfig
  * BACKPORT: lib/crypto: blake2s: include as built-in
      crypto/Kconfig
      drivers/net/Kconfig
      include/crypto/internal/blake2s.h
      lib/crypto/Kconfig
      lib/crypto/Makefile
      lib/crypto/blake2s-generic.c
      lib/crypto/blake2s.c
Linux 4.19.251
    net: usb: qmi_wwan: add Telit 0x1070 composition
    net: usb: qmi_wwan: add Telit 0x1060 composition
    xen/arm: Fix race in RB-tree based P2M accounting
    xen/blkfront: force data bouncing when backend is untrusted
    xen/netfront: force data bouncing when backend is untrusted
    xen/netfront: fix leaking data in shared pages
    xen/blkfront: fix leaking data in shared pages
  * ipv6/sit: fix ipip6_tunnel_get_prl return value
      net/ipv6/sit.c
  * sit: use min
      net/ipv6/sit.c
    net: dsa: bcm_sf2: force pause link settings
    hwmon: (ibmaem) don't call platform_device_del() if platform_device_add() fails
    xen/gntdev: Avoid blocking in unmap_grant_pages()
  * net: tun: avoid disabling NAPI twice
      drivers/net/tun.c
    NFC: nxp-nci: Don't issue a zero length i2c_master_read()
    nfc: nfcmrvl: Fix irq_of_parse_and_map() return value
  * net: bonding: fix use-after-free after 802.3ad slave unbind
      drivers/net/bonding/bond_3ad.c
  * net: bonding: fix possible NULL deref in rlb code
      drivers/net/bonding/bond_alb.c
    netfilter: nft_dynset: restore set element counter when failing to update
    caif_virtio: fix race between virtio_device_ready() and ndo_open()
    net: ipv6: unexport __init-annotated seg6_hmac_net_init()
  * usbnet: fix memory allocation in helpers
      drivers/net/usb/usbnet.c
    RDMA/qedr: Fix reporting QP timeout attribute
  * net: tun: stop NAPI when detaching queues
      drivers/net/tun.c
  * net: tun: unlink NAPI from device on destruction
      drivers/net/tun.c
    selftests/net: pass ipv6_args to udpgso_bench's IPv6 TCP test
    virtio-net: fix race between ndo_open() and virtio_device_ready()
  * net: usb: ax88179_178a: Fix packet receiving
      drivers/net/usb/ax88179_178a.c
    net: rose: fix UAF bugs caused by timer handler
    SUNRPC: Fix READ_PLUS crasher
    s390/archrandom: simplify back to earlier design and initialize earlier
    dm raid: fix KASAN warning in raid5_add_disks
    dm raid: fix accesses beyond end of raid member array
    nvdimm: Fix badblocks clear off-by-one error
  * UPSTREAM: crypto: poly1305 - fix poly1305_core_setkey() declaration
      include/crypto/internal/poly1305.h
      include/crypto/poly1305.h
      lib/crypto/poly1305-donna64.c
      lib/crypto/poly1305.c
  * UPSTREAM: mm: fix misplaced unlock_page in do_wp_page()
      mm/memory.c
  * BACKPORT: mm: do_wp_page() simplification
      mm/memory.c
  * UPSTREAM: mm/ksm: Remove reuse_ksm_page()
      include/linux/ksm.h
  * UPSTREAM: mm: reuse only-pte-mapped KSM page in do_wp_page()
      include/linux/ksm.h
      mm/memory.c
Linux 4.19.250
  * swiotlb: skip swiotlb_bounce when orig_addr is zero
      kernel/dma/swiotlb.c
  * net/sched: move NULL ptr check to qdisc_put() too
      net/sched/sch_generic.c
    net: mscc: ocelot: allow unregistered IP multicast flooding
  * kexec_file: drop weak attribute from arch_kexec_apply_relocations[_add]
      include/linux/kexec.h
  * fdt: Update CRC check for rng-seed
      drivers/of/fdt.c
    xen: unexport __init-annotated xen_xlate_map_ballooned_pages()
  * drm: remove drm_fb_helper_modinit
      drivers/gpu/drm/drm_crtc_helper_internal.h
      drivers/gpu/drm/drm_kms_helper_common.c
    powerpc/pseries: wire up rng during setup_arch()
  * kbuild: link vmlinux only once for CONFIG_TRIM_UNUSED_KSYMS (2nd attempt)
      Makefile
  * modpost: fix section mismatch check for exported init/exit sections
      scripts/mod/modpost.c
    ARM: cns3xxx: Fix refcount leak in cns3xxx_init
    ARM: Fix refcount leak in axxia_boot_secondary
    soc: bcm: brcmstb: pm: pm-arm: Fix refcount leak in brcmstb_pm_probe
    ARM: exynos: Fix refcount leak in exynos_map_pmu
    ARM: dts: imx6qdl: correct PU regulator ramp delay
    powerpc/powernv: wire up rng during setup_arch
    powerpc/rtas: Allow ibm,platform-dump RTAS call with null buffer address
    powerpc: Enable execve syscall exit tracepoint
    xtensa: Fix refcount leak bug in time.c
    xtensa: xtfpga: Fix refcount leak bug in setup
    iio: adc: axp288: Override TS pin bias current for some models
    iio: trigger: sysfs: fix use-after-free on remove
    iio: gyro: mpu3050: Fix the error handling in mpu3050_power_up()
    iio: accel: mma8452: ignore the return value of reset operation
    iio:accel:bma180: rearrange iio trigger get and register
    iio:chemical:ccs811: rearrange iio trigger get and register
    usb: chipidea: udc: check request status before setting device address
  * xhci: turn off port power in shutdown
      drivers/usb/host/xhci-hub.c
      drivers/usb/host/xhci.c
      drivers/usb/host/xhci.h
    iio: adc: vf610: fix conversion mode sysfs node name
    gpio: winbond: Fix error code in winbond_gpio_get()
    virtio_net: fix xdp_rxq_info bug after suspend/resume
    igb: Make DMA faster when CPU is active on the PCIe link
    afs: Fix dynamic root getattr
    MIPS: Remove repetitive increase irq_err_count
    x86/xen: Remove undefined behavior in setup_features()
    erspan: do not assume transport header is always set
  * net/sched: sch_netem: Fix arithmetic in netem_dump() for 32-bit platforms
      net/sched/sch_netem.c
  * bonding: ARP monitor spams NETDEV_NOTIFY_PEERS notifiers
      drivers/net/bonding/bond_main.c
    USB: serial: option: add Quectel RM500K module support
    USB: serial: option: add Quectel EM05-G modem
    USB: serial: option: add Telit LE910Cx 0x1250 composition
  * random: quiet urandom warning ratelimit suppression message
      drivers/char/random.c
      include/linux/ratelimit.h
    dm era: commit metadata in postsuspend after worker stops
  * ata: libata: add qc->flags in ata_qc_complete_template tracepoint
      include/trace/events/libata.h
    ALSA: hda/realtek: Add quirk for Clevo PD70PNT
    ALSA: hda/conexant: Fix missing beep setup
    ALSA: hda/via: Fix missing beep setup
  * random: schedule mix_interrupt_randomness() less often
      drivers/char/random.c
    vt: drop old FONT ioctls
Linux 4.19.249
  * Revert "hwmon: Make chip parameter for with_info API mandatory"
      drivers/hwmon/hwmon.c
  * tcp: drop the hash_32() part from the index calculation
      net/ipv4/inet_hashtables.c
  * tcp: increase source port perturb table to 2^16
      net/ipv4/inet_hashtables.c
  * tcp: dynamically allocate the perturb table used by source ports
      net/ipv4/inet_hashtables.c
  * tcp: add small random increments to the source port
      net/ipv4/inet_hashtables.c
  * tcp: use different parts of the port_offset for index and offset
      net/ipv4/inet_hashtables.c
  * tcp: add some entropy in __inet_hash_connect()
      net/ipv4/inet_hashtables.c
    xprtrdma: fix incorrect header size calculations
  * usb: gadget: u_ether: fix regression in setting fixed MAC address
      drivers/usb/gadget/function/u_ether.c
    s390/mm: use non-quiescing sske for KVM switch to keyed guest
    powerpc/mm: Switch obsolete dssall to .long
    RISC-V: fix barrier() use in <vdso/processor.h>
    net: openvswitch: fix leak of nested actions
    net: openvswitch: fix misuse of the cached connection on tuple changes
    virtio-pci: Remove wrong address verification in vp_del_vqs()
  * ext4: add reserved GDT blocks check
      fs/ext4/resize.c
  * ext4: make variable "count" signed
      fs/ext4/namei.c
  * ext4: fix bug_on ext4_mb_use_inode_pa
      fs/ext4/mballoc.c
    serial: 8250: Store to lsr_save_flags after lsr read
    usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe
    usb: dwc2: Fix memory leak in dwc2_hcd_init
    USB: serial: io_ti: add Agilent E5805A support
    USB: serial: option: add support for Cinterion MV31 with new baseline
    comedi: vmk80xx: fix expression for tx buffer size
  * irqchip/gic-v3: Fix refcount leak in gic_populate_ppi_partitions
      drivers/irqchip/irq-gic-v3.c
    irqchip/gic/realview: Fix refcount leak in realview_gic_of_init
    faddr2line: Fix overlapping text section failures, the sequel
    certs/blacklist_hashes.c: fix const confusion in certs blacklist
    arm64: ftrace: fix branch range checks
    net: bgmac: Fix an erroneous kfree() in bgmac_remove()
    mlxsw: spectrum_cnt: Reorder counter pools
    misc: atmel-ssc: Fix IRQ check in ssc_probe
    tty: goldfish: Fix free_irq() on remove
    i40e: Fix call trace in setup_tx_descriptors
    i40e: Fix adding ADQ filter to TC0
    pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAILABLE
  * random: credit cpu and bootloader seeds by default
      drivers/char/Kconfig
    net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag
  * ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg
      net/l2tp/l2tp_ip6.c
    nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred
    virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed
    scsi: pmcraid: Fix missing resource cleanup in error case
    scsi: ipr: Fix missing/incorrect resource cleanup in error case
    scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology
    scsi: vmw_pvscsi: Expand vcpuHint to 16 bits
  * ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put()
      sound/soc/codecs/wm_adsp.c
    ASoC: es8328: Fix event generation for deemphasis control
    ASoC: wm8962: Fix suspend while playing music
    ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo()
    ASoC: cs42l56: Correct typo in minimum level for SX volume controls
    ASoC: cs42l52: Correct TLV for Bypass Volume
    ASoC: cs53l30: Correct number of volume levels on SX controls
    ASoC: cs42l52: Fix TLV scales for mixer controls
    powerpc/kasan: Silence KASAN warnings in __get_wchan()
  * random: account for arch randomness in bits
      drivers/char/random.c
  * random: mark bootloader randomness code as __init
      drivers/char/random.c
      include/linux/random.h
  * random: avoid checking crng_ready() twice in random_init()
      drivers/char/random.c
  * crypto: drbg - make reseeding from get_random_bytes() synchronous
      crypto/drbg.c
      drivers/char/random.c
      include/crypto/drbg.h
  * crypto: drbg - always try to free Jitter RNG instance
      crypto/drbg.c
  * crypto: drbg - move dynamic ->reseed_threshold adjustments to __drbg_seed()
      crypto/drbg.c
  * crypto: drbg - track whether DRBG was seeded with !rng_is_initialized()
      crypto/drbg.c
      include/crypto/drbg.h
  * crypto: drbg - prepare for more fine-grained tracking of seeding state
      crypto/drbg.c
      include/crypto/drbg.h
  * crypto: drbg - always seeded with SP800-90B compliant noise source
      crypto/drbg.c
      include/crypto/drbg.h
  * crypto: drbg - add FIPS 140-2 CTRNG for noise source
      crypto/drbg.c
      include/crypto/drbg.h
  * Revert "random: use static branch for crng_ready()"
      drivers/char/random.c
  * random: check for signals after page of pool writes
      drivers/char/random.c
  * random: wire up fops->splice_{read,write}_iter()
      drivers/char/random.c
  * random: convert to using fops->write_iter()
      drivers/char/random.c
  * random: move randomize_page() into mm where it belongs
      drivers/char/random.c
      include/linux/mm.h
      include/linux/random.h
      mm/util.c
  * random: move initialization functions out of hot pages
      drivers/char/random.c
  * random: use proper return types on get_random_{int,long}_wait()
      drivers/char/random.c
      include/linux/random.h
  * random: remove extern from functions in header
      include/linux/random.h
  * random: use static branch for crng_ready()
      drivers/char/random.c
  * random: credit architectural init the exact amount
      drivers/char/random.c
  * random: handle latent entropy and command line from random_init()
      drivers/char/random.c
      include/linux/random.h
      init/main.c
  * random: use proper jiffies comparison macro
      drivers/char/random.c
  * random: remove ratelimiting for in-kernel unseeded randomness
      drivers/char/random.c
      lib/Kconfig.debug
  * random: avoid initializing twice in credit race
      drivers/char/random.c
  * random: use symbolic constants for crng_init states
      drivers/char/random.c
  * siphash: use one source of truth for siphash permutations
      drivers/char/random.c
      include/linux/prandom.h
      include/linux/siphash.h
      lib/siphash.c
  * random: help compiler out with fast_mix() by using simpler arguments
      drivers/char/random.c
  * random: do not use input pool from hard IRQs
      drivers/char/random.c
  * random: order timer entropy functions below interrupt functions
      drivers/char/random.c
  * random: do not pretend to handle premature next security model
      drivers/char/random.c
  * random: do not use batches when !crng_ready()
      drivers/char/random.c
  * random: insist on random_get_entropy() existing in order to simplify
      drivers/char/random.c
    xtensa: use fallback for random_get_entropy() instead of zero
    sparc: use fallback for random_get_entropy() instead of zero
    um: use fallback for random_get_entropy() instead of zero
    x86/tsc: Use fallback for random_get_entropy() instead of zero
    nios2: use fallback for random_get_entropy() instead of zero
    arm: use fallback for random_get_entropy() instead of zero
    mips: use fallback for random_get_entropy() instead of just c0 random
    m68k: use fallback for random_get_entropy() instead of zero
  * timekeeping: Add raw clock fallback for random_get_entropy()
      include/linux/timex.h
      kernel/time/timekeeping.c
    powerpc: define get_cycles macro for arch-override
    alpha: define get_cycles macro for arch-override
    parisc: define get_cycles macro for arch-override
    s390: define get_cycles macro for arch-override
    ia64: define get_cycles macro for arch-override
  * init: call time_init() before rand_initialize()
      init/main.c
    random: fix sysctl documentation nits
  * random: document crng_fast_key_erasure() destination possibility
      drivers/char/random.c
  * random: make random_get_entropy() return an unsigned long
      drivers/char/random.c
      include/linux/timex.h
  * random: check for signals every PAGE_SIZE chunk of /dev/[u]random
      drivers/char/random.c
  * random: check for signal_pending() outside of need_resched() check
      drivers/char/random.c
  * random: do not allow user to keep crng key around on stack
      drivers/char/random.c
  * random: do not split fast init input in add_hwgenerator_randomness()
      drivers/char/random.c
  * random: mix build-time latent entropy into pool at init
      drivers/char/random.c
  * random: re-add removed comment about get_random_{u32,u64} reseeding
      drivers/char/random.c
  * random: treat bootloader trust toggle the same way as cpu trust toggle
      drivers/char/Kconfig
      drivers/char/random.c
  * random: skip fast_init if hwrng provides large chunk of entropy
      drivers/char/random.c
  * random: check for signal and try earlier when generating entropy
      drivers/char/random.c
  * random: reseed more often immediately after booting
      drivers/char/random.c
  * random: make consistent usage of crng_ready()
      drivers/char/random.c
  * random: use SipHash as interrupt entropy accumulator
      drivers/char/random.c
  * random: replace custom notifier chain with standard one
      crypto/drbg.c
      drivers/char/random.c
      include/crypto/drbg.h
      include/linux/random.h
      lib/random32.c
      lib/vsprintf.c
  * random: don't let 644 read-only sysctls be written to
      drivers/char/random.c
  * random: give sysctl_random_min_urandom_seed a more sensible value
      drivers/char/random.c
  * random: do crng pre-init loading in worker rather than irq
      drivers/char/random.c
  * random: unify cycles_t and jiffies usage and types
      drivers/char/random.c
  * random: cleanup UUID handling
      drivers/char/random.c
  * random: only wake up writers after zap if threshold was passed
      drivers/char/random.c
  * random: round-robin registers as ulong, not u32
      drivers/char/random.c
  * random: clear fast pool, crng, and batches in cpuhp bring up
      drivers/char/random.c
      include/linux/cpuhotplug.h
      include/linux/random.h
      kernel/cpu.c
  * random: pull add_hwgenerator_randomness() declaration into random.h
      drivers/char/hw_random/core.c
      include/linux/hw_random.h
      include/linux/random.h
  * random: check for crng_init == 0 in add_device_randomness()
      drivers/char/random.c
  * random: unify early init crng load accounting
      drivers/char/random.c
  * random: do not take pool spinlock at boot
      drivers/char/random.c
  * random: defer fast pool mixing to worker
      drivers/char/random.c
  * random: rewrite header introductory comment
      drivers/char/random.c
  * random: group sysctl functions
      drivers/char/random.c
  * random: group userspace read/write functions
      drivers/char/random.c
  * random: group entropy collection functions
      drivers/char/random.c
  * random: group entropy extraction functions
      drivers/char/random.c
  * random: group initialization wait functions
      drivers/char/random.c
  * random: remove whitespace and reorder includes
      drivers/char/random.c
  * random: remove useless header comment
      include/linux/random.h
  * random: introduce drain_entropy() helper to declutter crng_reseed()
      drivers/char/random.c
  * random: deobfuscate irq u32/u64 contributions
      drivers/char/random.c
  * random: add proper SPDX header
      drivers/char/random.c
  * random: remove unused tracepoints
      drivers/char/random.c
      lib/random32.c
  * random: remove ifdef'd out interrupt bench
      drivers/char/random.c
  * random: tie batched entropy generation to base_crng generation
      drivers/char/random.c
  * random: zero buffer after reading entropy from userspace
      drivers/char/random.c
  * random: remove outdated INT_MAX >> 6 check in urandom_read()
      drivers/char/random.c
  * random: use hash function for crng_slow_load()
      drivers/char/random.c
      include/linux/hw_random.h
      include/linux/random.h
  * random: absorb fast pool into input pool after fast load
      drivers/char/random.c
  * random: do not xor RDRAND when writing into /dev/random
      drivers/char/random.c
  * random: ensure early RDSEED goes through mixer on init
      drivers/char/random.c
  * random: inline leaves of rand_initialize()
      drivers/char/random.c
  * random: use RDSEED instead of RDRAND in entropy extraction
      drivers/char/random.c
  * random: fix locking in crng_fast_load()
      drivers/char/random.c
  * random: remove batched entropy locking
      drivers/char/random.c
  * random: remove use_input_pool parameter from crng_reseed()
      drivers/char/random.c
  * random: make credit_entropy_bits() always safe
      drivers/char/random.c
  * random: always wake up entropy writers after extraction
      drivers/char/random.c
  * random: use linear min-entropy accumulation crediting
      drivers/char/random.c
  * random: simplify entropy debiting
      drivers/char/random.c
  * random: use computational hash for entropy extraction
      drivers/char/random.c
  * random: only call crng_finalize_init() for primary_crng
      drivers/char/random.c
  * random: access primary_pool directly rather than through pointer
      drivers/char/random.c
  * random: continually use hwgenerator randomness
      drivers/char/random.c
  * random: simplify arithmetic function flow in account()
      drivers/char/random.c
  * random: access input_pool_data directly rather than through pointer
      drivers/char/random.c
  * random: cleanup fractional entropy shift constants
      drivers/char/random.c
  * random: prepend remaining pool constants with POOL_
      drivers/char/random.c
  * random: de-duplicate INPUT_POOL constants
      drivers/char/random.c
  * random: remove unused OUTPUT_POOL constants
      drivers/char/random.c
  * random: rather than entropy_store abstraction, use global
      drivers/char/random.c
  * random: remove unused extract_entropy() reserved argument
      drivers/char/random.c
  * random: remove incomplete last_data logic
      drivers/char/random.c
  * random: cleanup integer types
      drivers/char/random.c
  * random: cleanup poolinfo abstraction
      drivers/char/random.c
  * random: fix typo in comments
      drivers/char/random.c
  * random: don't reset crng_init_cnt on urandom_read()
      drivers/char/random.c
  * random: avoid superfluous call to RDRAND in CRNG extraction
      drivers/char/random.c
  * random: early initialization of ChaCha constants
      drivers/char/random.c
  * random: initialize ChaCha20 constants with correct endianness
      drivers/char/random.c
  * random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs
      drivers/char/random.c
  * random: harmonize "crng init done" messages
      drivers/char/random.c
  * random: mix bootloader randomness into pool
      drivers/char/random.c
  * random: do not re-init if crng_reseed completes before primary init
      drivers/char/random.c
  * random: do not sign extend bytes for rotation when mixing
      drivers/char/random.c
  * random: use BLAKE2s instead of SHA1 in extraction
      drivers/char/random.c
  * random: remove unused irq_flags argument from add_interrupt_randomness()
      drivers/char/random.c
      include/linux/random.h
      kernel/irq/handle.c
  * random: document add_hwgenerator_randomness() with other input functions
      drivers/char/random.c
  * crypto: blake2s - adjust include guard naming
      include/crypto/blake2s.h
      include/crypto/internal/blake2s.h
  * crypto: blake2s - include <linux/bug.h> instead of <asm/bug.h>
      include/crypto/blake2s.h
    MAINTAINERS: co-maintain random.c
  * random: remove dead code left over from blocking pool
      drivers/char/random.c
  * random: avoid arch_get_random_seed_long() when collecting IRQ randomness
      drivers/char/random.c
  * random: add arch_get_random_*long_early()
      drivers/char/random.c
      include/linux/random.h
    powerpc: Use bool in archrandom.h
  * linux/random.h: Mark CONFIG_ARCH_RANDOM functions __must_check
      include/linux/random.h
  * linux/random.h: Use false with bool
      include/linux/random.h
  * linux/random.h: Remove arch_has_random, arch_has_random_seed
      include/linux/random.h
    s390: Remove arch_has_random, arch_has_random_seed
    powerpc: Remove arch_has_random, arch_has_random_seed
    x86: Remove arch_has_random, arch_has_random_seed
  * random: avoid warnings for !CONFIG_NUMA builds
      drivers/char/random.c
  * random: split primary/secondary crng init paths
      drivers/char/random.c
  * random: remove some dead code of poolinfo
      drivers/char/random.c
  * random: fix typo in add_timer_randomness()
      drivers/char/random.c
  * random: Add and use pr_fmt()
      drivers/char/random.c
  * random: convert to ENTROPY_BITS for better code readability
      drivers/char/random.c
  * random: remove unnecessary unlikely()
      drivers/char/random.c
  * random: remove kernel.random.read_wakeup_threshold
      drivers/char/random.c
  * random: delete code to pull data into pools
      drivers/char/random.c
  * random: remove the blocking pool
      drivers/char/random.c
  * random: fix crash on multiple early calls to add_bootloader_randomness()
      drivers/char/random.c
  * char/random: silence a lockdep splat with printk()
      drivers/char/random.c
  * random: make /dev/random be almost like /dev/urandom
      drivers/char/random.c
  * random: ignore GRND_RANDOM in getentropy(2)
      drivers/char/random.c
      include/uapi/linux/random.h
  * random: add GRND_INSECURE to return best-effort non-cryptographic bytes
      drivers/char/random.c
      include/uapi/linux/random.h
  * random: Add a urandom_read_nowait() for random APIs that don't warn
      drivers/char/random.c
  * random: Don't wake crng_init_wait when crng_init == 1
      drivers/char/random.c
  * lib/crypto: sha1: re-roll loops to reduce code size
      lib/sha1.c
  * lib/crypto: blake2s: move hmac construction into wireguard
      include/crypto/blake2s.h
      lib/crypto/blake2s.c
  * crypto: blake2s - generic C library implementation and selftest
      include/crypto/blake2s.h
      include/crypto/internal/blake2s.h
      lib/Makefile
      lib/crypto/Makefile
      lib/crypto/blake2s-generic.c
      lib/crypto/blake2s.c
  * Revert "hwrng: core - Freeze khwrng thread during suspend"
      drivers/char/random.c
  * char/random: Add a newline at the end of the file
      drivers/char/random.c
  * random: Use wait_event_freezable() in add_hwgenerator_randomness()
      drivers/char/random.c
  * fdt: add support for rng-seed
      drivers/char/Kconfig
      drivers/char/random.c
      drivers/of/fdt.c
      include/linux/random.h
  * random: Support freezable kthreads in add_hwgenerator_randomness()
      drivers/char/random.c
  * random: fix soft lockup when trying to read from an uninitialized blocking pool
      drivers/char/random.c
  * latent_entropy: avoid build error when plugin cflags are not set
      include/linux/random.h
  * random: document get_random_int() family
      drivers/char/random.c
  * random: move rand_initialize() earlier
      drivers/char/random.c
      include/linux/random.h
      init/main.c
  * random: only read from /dev/random after its pool has received 128 bits
      drivers/char/random.c
  * drivers/char/random.c: make primary_crng static
      drivers/char/random.c
  * drivers/char/random.c: remove unused stuct poolinfo::poolbits
      drivers/char/random.c
  * drivers/char/random.c: constify poolinfo_table
      drivers/char/random.c
    9p: missing chunk of "fs/9p: Don't update file type when updating file attributes"

Bug: 240880948
Change-Id: I46de87f5e1ff2146dbc394d88275d609ee871bc1
Signed-off-by: Lucas Wei <lucaswei@google.com>
2022-08-09 10:46:08 +08:00
Jason A. Donenfeld
107101e75a UPSTREAM: lib/crypto: blake2s: avoid indirect calls to compression function for Clang CFI
blake2s_compress_generic is weakly aliased by blake2s_compress. The
current harness for function selection uses a function pointer, which is
ordinarily inlined and resolved at compile time. But when Clang's CFI is
enabled, CFI still triggers when making an indirect call via a weak
symbol. This seems like a bug in Clang's CFI, as though it's bucketing
weak symbols and strong symbols differently. It also only seems to
trigger when "full LTO" mode is used, rather than "thin LTO".

[    0.000000][    T0] Kernel panic - not syncing: CFI failure (target: blake2s_compress_generic+0x0/0x1444)
[    0.000000][    T0] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.16.0-mainline-06981-g076c855b846e #1
[    0.000000][    T0] Hardware name: MT6873 (DT)
[    0.000000][    T0] Call trace:
[    0.000000][    T0]  dump_backtrace+0xfc/0x1dc
[    0.000000][    T0]  dump_stack_lvl+0xa8/0x11c
[    0.000000][    T0]  panic+0x194/0x464
[    0.000000][    T0]  __cfi_check_fail+0x54/0x58
[    0.000000][    T0]  __cfi_slowpath_diag+0x354/0x4b0
[    0.000000][    T0]  blake2s_update+0x14c/0x178
[    0.000000][    T0]  _extract_entropy+0xf4/0x29c
[    0.000000][    T0]  crng_initialize_primary+0x24/0x94
[    0.000000][    T0]  rand_initialize+0x2c/0x6c
[    0.000000][    T0]  start_kernel+0x2f8/0x65c
[    0.000000][    T0]  __primary_switched+0xc4/0x7be4
[    0.000000][    T0] Rebooting in 5 seconds..

Nonetheless, the function pointer method isn't so terrific anyway, so
this patch replaces it with a simple boolean, which also gets inlined
away. This successfully works around the Clang bug.

In general, I'm not too keen on all of the indirection involved here; it
clearly does more harm than good. Hopefully the whole thing can get
cleaned up down the road when lib/crypto is overhauled more
comprehensively. But for now, we go with a simple bandaid.

Fixes: 6048fdcc5f26 ("lib/crypto: blake2s: include as built-in")
Link: https://github.com/ClangBuiltLinux/linux/issues/1567
Reported-by: Miles Chen <miles.chen@mediatek.com>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Tested-by: John Stultz <john.stultz@linaro.org>
Acked-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>

(cherry picked from commit d2a02e3c8bb6b347818518edff5a4b40ff52d6d8)
Change-Id: I3a6461e3f05f57cd898f8a4f46e73fb0214037ef
Signed-off-by: Eric Biggers <ebiggers@google.com>
2022-07-07 17:14:19 +00:00
Jason A. Donenfeld
c9ff7eb7e9 BACKPORT: lib/crypto: blake2s: include as built-in
In preparation for using blake2s in the RNG, we change the way that it
is wired-in to the build system. Instead of using ifdefs to select the
right symbol, we use weak symbols. And because ARM doesn't need the
generic implementation, we make the generic one default only if an arch
library doesn't need it already, and then have arch libraries that do
need it opt-in. So that the arch libraries can remain tristate rather
than bool, we then split the shash part from the glue code.

Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: linux-kbuild@vger.kernel.org
Cc: linux-crypto@vger.kernel.org
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>

(cherry picked from commit 6048fdcc5f269c7f31d774c295ce59081b36e6f9)

Conflicts:
	arch/x86/crypto/Makefile
	arch/x86/crypto/blake2s-glue.c
	lib/crypto/Kconfig

Change-Id: I6861048dfd30aba6fbab8c5543e852e4edca300e
Signed-off-by: Eric Biggers <ebiggers@google.com>
2022-07-07 17:14:19 +00:00
Arnd Bergmann
0112cefd73 UPSTREAM: crypto: poly1305 - fix poly1305_core_setkey() declaration
gcc-11 points out a mismatch between the declaration and the definition
of poly1305_core_setkey():

lib/crypto/poly1305-donna32.c:13:67: error: argument 2 of type ‘const u8[16]’ {aka ‘const unsigned char[16]’} with mismatched bound [-Werror=array-parameter=]
   13 | void poly1305_core_setkey(struct poly1305_core_key *key, const u8 raw_key[16])
      |                                                          ~~~~~~~~~^~~~~~~~~~~
In file included from lib/crypto/poly1305-donna32.c:11:
include/crypto/internal/poly1305.h:21:68: note: previously declared as ‘const u8 *’ {aka ‘const unsigned char *’}
   21 | void poly1305_core_setkey(struct poly1305_core_key *key, const u8 *raw_key);

This is harmless in principle, as the calling conventions are the same,
but the more specific prototype allows better type checking in the
caller.

Change the declaration to match the actual function definition.
The poly1305_simd_init() is a bit suspicious here, as it previously
had a 32-byte argument type, but looks like it needs to take the
16-byte POLY1305_BLOCK_SIZE array instead.

Fixes: 1c08a104360f ("crypto: poly1305 - add new 32 and 64-bit generic versions")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

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

Bug: 205088357
Change-Id: Ib9d80af897f5c3076e6793dc3db117d198e499c2
Signed-off-by: JohnnLee <johnnlee@google.com>
2021-11-24 03:28:15 +00:00
Eric Biggers
e9f2289a4b BACKPORT: crypto: blake2b - sync with blake2s implementation
Sync the BLAKE2b code with the BLAKE2s code as much as possible:

- Move a lot of code into new headers <crypto/blake2b.h> and
  <crypto/internal/blake2b.h>, and adjust it to be like the
  corresponding BLAKE2s code, i.e. like <crypto/blake2s.h> and
  <crypto/internal/blake2s.h>.

- Rename constants, e.g. BLAKE2B_*_DIGEST_SIZE => BLAKE2B_*_HASH_SIZE.

- Use a macro BLAKE2B_ALG() to define the shash_alg structs.

- Export blake2b_compress_generic() for use as a fallback.

This makes it much easier to add optimized implementations of BLAKE2b,
as optimized implementations can use the helper functions
crypto_blake2b_{setkey,init,update,final}() and
blake2b_compress_generic().  The ARM implementation will use these.

But this change is also helpful because it eliminates unnecessary
differences between the BLAKE2b and BLAKE2s code, so that the same
improvements can easily be made to both.  (The two algorithms are
basically identical, except for the word size and constants.)  It also
makes it straightforward to add a library API for BLAKE2b in the future
if/when it's needed.

This change does make the BLAKE2b code slightly more complicated than it
needs to be, as it doesn't actually provide a library API yet.  For
example, __blake2b_update() doesn't really need to exist yet; it could
just be inlined into crypto_blake2b_update().  But I believe this is
outweighed by the benefits of keeping the code in sync.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

(cherry picked from commit 28dcca4cc0c01e2467549a36b1b0eacfdb01236c)

Conflicts:
	crypto/blake2b_generic.c

(conflict due to this branch not having commit 674f368a952c,
"crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN")

Bug: 178411248
Change-Id: I755c64fefe1209b54d1417d91e8a4c207382a620
Signed-off-by: Eric Biggers <ebiggers@google.com>
2021-10-20 10:11:13 -07:00
Eric Biggers
b6ae0150cc UPSTREAM: crypto: blake2s - adjust include guard naming
Use the full path in the include guards for the BLAKE2s headers to avoid
ambiguity and to match the convention for most files in include/crypto/.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

(cherry picked from commit 8786841bc2020f7f2513a6c74e64912f07b9c0dc)
Bug: 152722841
Bug: 178411248
Change-Id: Iea57edbe14c9083ce3d7a77b2c3bd63cd6650e56
Signed-off-by: Eric Biggers <ebiggers@google.com>
2021-10-20 10:11:00 -07:00
Eric Biggers
e13d2476a6 UPSTREAM: crypto: blake2s - optimize blake2s initialization
If no key was provided, then don't waste time initializing the block
buffer, as its initial contents won't be used.

Also, make crypto_blake2s_init() and blake2s() call a single internal
function __blake2s_init() which treats the key as optional, rather than
conditionally calling blake2s_init() or blake2s_init_key().  This
reduces the compiled code size, as previously both blake2s_init() and
blake2s_init_key() were being inlined into these two callers, except
when the key size passed to blake2s() was a compile-time constant.

These optimizations aren't that significant for BLAKE2s.  However, the
equivalent optimizations will be more significant for BLAKE2b, as
everything is twice as big in BLAKE2b.  And it's good to keep things
consistent rather than making optimizations for BLAKE2b but not BLAKE2s.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

(cherry picked from commit 42ad8cf821f0d8564c393e9ad7d00a1a271d18ae)
Bug: 152722841
Bug: 178411248
Change-Id: Id057e0c8a5f0e432f227dc3deaa8997a7cbc0577
Signed-off-by: Eric Biggers <ebiggers@google.com>
2021-10-20 10:10:57 -07:00
Eric Biggers
4af17e1312 BACKPORT: crypto: blake2s - share the "shash" API boilerplate code
Add helper functions for shash implementations of BLAKE2s to
include/crypto/internal/blake2s.h, taking advantage of
__blake2s_update() and __blake2s_final() that were added by the previous
patch to share more code between the library and shash implementations.

crypto_blake2s_setkey() and crypto_blake2s_init() are usable as
shash_alg::setkey and shash_alg::init directly, while
crypto_blake2s_update() and crypto_blake2s_final() take an extra
'blake2s_compress_t' function pointer parameter.  This allows the
implementation of the compression function to be overridden, which is
the only part that optimized implementations really care about.

The new functions are inline functions (similar to those in sha1_base.h,
sha256_base.h, and sm3_base.h) because this avoids needing to add a new
module blake2s_helpers.ko, they aren't *too* long, and this avoids
indirect calls which are expensive these days.  Note that they can't go
in blake2s_generic.ko, as that would require selecting CRYPTO_BLAKE2S
from CRYPTO_BLAKE2S_X86, which would cause a recursive dependency.

Finally, use these new helper functions in the x86 implementation of
BLAKE2s.  (This part should be a separate patch, but unfortunately the
x86 implementation used the exact same function names like
"crypto_blake2s_update()", so it had to be updated at the same time.)

Signed-off-by: Eric Biggers <ebiggers@google.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

(cherry picked from commit 8c4a93a1270ddffc7660ae43fa8030ecfe9c06d9)

Conflicts:
	arch/x86/crypto/blake2s-glue.c
	crypto/blake2s_generic.c

(conflict due to this branch not having commit 674f368a952c,
"crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN")

Bug: 152722841
Bug: 178411248
Change-Id: I9d23b1897cee81fb1704b6eea14d3dc9b1c80fe0
Signed-off-by: Eric Biggers <ebiggers@google.com>
2021-10-20 10:10:54 -07:00
Eric Biggers
f7f9188aac UPSTREAM: crypto: blake2s - move update and final logic to internal/blake2s.h
Move most of blake2s_update() and blake2s_final() into new inline
functions __blake2s_update() and __blake2s_final() in
include/crypto/internal/blake2s.h so that this logic can be shared by
the shash helper functions.  This will avoid duplicating this logic
between the library and shash implementations.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

(cherry picked from commit 057edc9c8bb2d5ff5b058b521792c392428a0714)
Bug: 152722841
Bug: 178411248
Change-Id: Idedf8147914839d5280e5d8eec9013264fbb45f9
Signed-off-by: Eric Biggers <ebiggers@google.com>
2021-10-20 10:10:52 -07:00
Herbert Xu
7bec5e693a UPSTREAM: crypto: lib/blake2s - Move selftest prototype into header file
This patch fixes a missing prototype warning on blake2s_selftest.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

(cherry picked from commit ce0d5d63e897cc7c3a8fd043c7942fc6a78ec6f4)
Bug: 152722841
Change-Id: Ieb19048d60f6c9dc36cefda8b09b3d5c95e9118e
Signed-off-by: Eric Biggers <ebiggers@google.com>
2021-10-20 10:10:36 -07:00
Lucas Wei
b2bed6615a Merge android-4.19-stable (4.19.202) into android-msm-pixel-4.19-lts
Merge 4.19.202 into android-4.19-stable
Linux 4.19.202
    spi: mediatek: Fix fifo transfer
  * padata: add separate cpuhp node for CPUHP_PADATA_DEAD
      include/linux/padata.h
  * padata: validate cpumask without removed CPU during offline
      include/linux/cpuhotplug.h
    Revert "watchdog: iTCO_wdt: Account for rebooting on second timeout"
    firmware: arm_scmi: Ensure drivers provide a probe function
    drm/i915: Ensure intel_engine_init_execlist() builds with Clang
  * Revert "Bluetooth: Shutdown controller after workqueues are flushed or cancelled"
      net/bluetooth/hci_core.c
  * bdi: add a ->dev_name field to struct backing_dev_info
      include/linux/backing-dev-defs.h
      mm/backing-dev.c
  * bdi: use bdi_dev_name() to get device name
      block/blk-cgroup.c
      include/trace/events/wbt.h
  * bdi: move bdi_dev_name out of line
      include/linux/backing-dev.h
      mm/backing-dev.c
  * net: Fix zero-copy head len calculation.
      net/core/skbuff.c
    qed: fix possible unpaired spin_{un}lock_bh in _qed_mcp_cmd_and_union()
  * r8152: Fix potential PM refcount imbalance
      drivers/net/usb/r8152.c
    ASoC: tlv320aic31xx: fix reversed bclk/wclk master bits
  * regulator: rt5033: Fix n_voltages settings for BUCK and LDO
      include/linux/mfd/rt5033-private.h
    btrfs: mark compressed range uptodate only if all bio succeed
    Merge 4.19.201 into android-4.19-stable
Linux 4.19.201
    i40e: Add additional info to PHY type error
    Revert "perf map: Fix dso->nsinfo refcounting"
    powerpc/pseries: Fix regression while building external modules
    can: hi311x: fix a signedness bug in hi3110_cmd()
    sis900: Fix missing pci_disable_device() in probe and remove
    tulip: windbond-840: Fix missing pci_disable_device() in probe and remove
  * sctp: fix return value check in __sctp_rcv_asconf_lookup
      net/sctp/input.c
    net/mlx5: Fix flow table chaining
  * net: llc: fix skb_over_panic
      include/net/llc_pdu.h
    mlx4: Fix missing error code in mlx4_load_one()
  * tipc: fix sleeping in tipc accept routine
      net/tipc/socket.c
    i40e: Fix log TC creation failure when max num of queues is exceeded
    i40e: Fix logic of disabling queues
    netfilter: nft_nat: allow to specify layer 4 protocol NAT only
  * netfilter: conntrack: adjust stop timestamp to real expiry value
      net/netfilter/nf_conntrack_core.c
  * cfg80211: Fix possible memory leak in function cfg80211_bss_update
      net/wireless/scan.c
    nfc: nfcsim: fix use after free during module unload
    NIU: fix incorrect error return, missed in previous revert
    can: esd_usb2: fix memory leak
    can: ems_usb: fix memory leak
    can: usb_8dev: fix memory leak
    can: mcba_usb_start(): add missing urb->transfer_dma initialization
    can: raw: raw_setsockopt(): fix raw_rcv panic for sock UAF
    ocfs2: issue zeroout to EOF blocks
    ocfs2: fix zero out valid data
    x86/kvm: fix vcpu-id indexed array sizes
    btrfs: fix rw device counting in __btrfs_free_extra_devids
    x86/asm: Ensure asm/proto.h can be included stand-alone
  * gro: ensure frag0 meets IP header alignment
      include/linux/skbuff.h
      net/core/dev.c
  * virtio_net: Do not pull payload in skb->head
      include/linux/virtio_net.h
    Merge 4.19.200 into android-4.19-stable
Linux 4.19.200
    ARM: dts: versatile: Fix up interrupt controller node names
    cifs: fix the out of range assignment to bit fields in parse_server_interfaces
    firmware: arm_scmi: Fix range check for the maximum number of pending messages
    firmware: arm_scmi: Fix possible scmi_linux_errmap buffer overflow
    hfs: add lock nesting notation to hfs_find_init
    hfs: fix high memory mapping in hfs_bnode_read
    hfs: add missing clean-up in hfs_fill_super
  * sctp: move 198 addresses from unusable to private scope
      include/net/sctp/constants.h
      net/sctp/protocol.c
  * net: annotate data race around sk_ll_usec
      include/net/busy_poll.h
      net/core/sock.c
    net/802/garp: fix memleak in garp_request_join()
    net/802/mrp: fix memleak in mrp_request_join()
  * workqueue: fix UAF in pwq_unbound_release_workfn()
      kernel/workqueue.c
  * af_unix: fix garbage collect vs MSG_PEEK
      net/unix/af_unix.c
  * net: split out functions related to registering inflight socket files
      include/net/af_unix.h
      net/Makefile
      net/unix/Kconfig
      net/unix/Makefile
      net/unix/af_unix.c
      net/unix/garbage.c
      net/unix/scm.c
      net/unix/scm.h
    KVM: x86: determine if an exception has an error code only when injecting it.
    iio: dac: ds4422/ds4424 drop of_node check
    selftest: fix build error in tools/testing/selftests/vm/userfaultfd.c
  * ANDROID: staging: ion: move buffer kmap from begin/end_cpu_access()
      drivers/staging/android/ion/ion.c
    Merge 4.19.199 into android-4.19-stable
Linux 4.19.199
  * xhci: add xhci_get_virt_ep() helper
      drivers/usb/host/xhci-ring.c
      drivers/usb/host/xhci.h
    spi: spi-fsl-dspi: Fix a resource leak in an error handling path
  * PCI: Mark AMD Navi14 GPU ATS as broken
      drivers/pci/quirks.c
    btrfs: compression: don't try to compress if we don't have enough pages
    iio: accel: bma180: Fix BMA25x bandwidth register values
    iio: accel: bma180: Use explicit member assignment
    net: bcmgenet: ensure EXT_ENERGY_DET_MASK is clear
    net: dsa: mv88e6xxx: use correct .stats_set_histogram() on Topaz
    KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped()
    KVM: do not allow mapping valid but non-reference-counted pages
    KVM: do not assume PTE is writable after follow_pfn
  * drm: Return -ENOTTY for non-drm ioctls
      drivers/gpu/drm/drm_ioctl.c
      include/drm/drm_ioctl.h
    nds32: fix up stack guard gap
    selftest: use mmap instead of posix_memalign to allocate memory
    ixgbe: Fix packet corruption due to missing DMA sync
    media: ngene: Fix out-of-bounds bug in ngene_command_config_free_buf()
  * tracing: Fix bug in rb_per_cpu_empty() that might cause deadloop.
      kernel/trace/ring_buffer.c
    usb: dwc2: gadget: Fix sending zero length packet in DDMA mode.
    USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick
    USB: serial: cp210x: fix comments for GE CS1000
    USB: serial: option: add support for u-blox LARA-R6 family
    usb: renesas_usbhs: Fix superfluous irqs happen after usb_pkt_pop()
    usb: max-3421: Prevent corruption of freed memory
    USB: usb-storage: Add LaCie Rugged USB3-FW to IGNORE_UAS
  * usb: hub: Fix link power management max exit latency (MEL) calculations
      drivers/usb/core/hub.c
  * usb: hub: Disable USB 3 device initiated lpm if exit latency is too high
      drivers/usb/core/hub.c
    KVM: PPC: Book3S: Fix H_RTAS rets buffer overflow
  * xhci: Fix lost USB 2 remote wake
      drivers/usb/host/xhci-hub.c
    ALSA: sb: Fix potential ABBA deadlock in CSP driver
  * ALSA: usb-audio: Add registration quirk for JBL Quantum headsets
      sound/usb/quirks.c
    s390/ftrace: fix ftrace_update_ftrace_func implementation
    Revert "MIPS: add PMD table accounting into MIPS'pmd_alloc_one"
  * proc: Avoid mixing integer types in mem_rw()
      fs/proc/base.c
    drm/panel: raspberrypi-touchscreen: Prevent double-free
  * net: sched: cls_api: Fix the the wrong parameter
      net/sched/cls_api.c
  * sctp: update active_key for asoc when old key is being replaced
      net/sctp/auth.c
  * Revert "USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem"
      drivers/usb/core/quirks.c
    nvme-pci: don't WARN_ON in nvme_reset_work if ctrl.state is not RESETTING
    net/sched: act_skbmod: Skip non-Ethernet packets
  * net/tcp_fastopen: fix data races around tfo_active_disable_stamp
      net/ipv4/tcp_fastopen.c
    spi: cadence: Correct initialisation of runtime PM again
    scsi: target: Fix protect handling in WRITE SAME(32)
    scsi: iscsi: Fix iface sysfs attr detection
    netrom: Decrease sock refcount when sock timers expire
    KVM: PPC: Fix kvm_arch_vcpu_ioctl vcpu_load leak
    net: decnet: Fix sleeping inside in af_decnet
    net: fix uninit-value in caif_seqpkt_sendmsg
    bpftool: Check malloc return value in mount_bpffs_for_pin
    s390/bpf: Perform r1 range checking before accessing jit->seen_reg[r1]
    liquidio: Fix unintentional sign extension issue on left shift of u16
    spi: mediatek: fix fifo rx mode
    perf probe-file: Delete namelist in del_events() on the error path
    perf test bpf: Free obj_buf
    perf lzma: Close lzma stream on exit
    perf dso: Fix memory leak in dso__new_map()
    perf probe: Fix dso->nsinfo refcounting
    perf map: Fix dso->nsinfo refcounting
    nvme-pci: do not call nvme_dev_remove_admin from nvme_remove
  * ipv6: fix 'disable_policy' for fwd packets
      net/ipv6/ip6_output.c
    igb: Fix position of assignment to *ring
    igb: Check if num of q_vectors is smaller than max before array access
    iavf: Fix an error handling path in 'iavf_probe()'
    e1000e: Fix an error handling path in 'e1000_probe()'
    fm10k: Fix an error handling path in 'fm10k_probe()'
    igb: Fix an error handling path in 'igb_probe()'
    ixgbe: Fix an error handling path in 'ixgbe_probe()'
    igb: Fix use-after-free error during reset
  * net: ip_tunnel: fix mtu calculation for ETHER tunnel devices
      net/ipv4/ip_tunnel.c
  * udp: annotate data races around unix_sk(sk)->gso_size
      net/ipv4/udp.c
      net/ipv6/udp.c
    bpftool: Properly close va_list 'ap' by va_end() on error
  * ipv6: tcp: drop silly ICMPv6 packet too big messages
      net/ipv4/tcp_output.c
      net/ipv6/tcp_ipv6.c
  * tcp: annotate data races around tp->mtu_info
      net/ipv4/tcp_ipv4.c
      net/ipv6/tcp_ipv6.c
  * dma-buf/sync_file: Don't leak fences on merge failure
      drivers/dma-buf/sync_file.c
  * net: validate lwtstate->data before returning from skb_tunnel_info()
      include/net/dst_metadata.h
  * net: send SYNACK packet with accepted fwmark
      net/ipv6/tcp_ipv6.c
    net: ti: fix UAF in tlan_remove_one
    net: qcom/emac: fix UAF in emac_remove
    net: moxa: fix UAF in moxart_mac_probe
    net: bcmgenet: Ensure all TX/RX queues DMAs are disabled
  * net: bridge: sync fdb to new unicast-filtering ports
      net/bridge/br_if.c
  * netfilter: ctnetlink: suspicious RCU usage in ctnetlink_dump_helpinfo
      net/netfilter/nf_conntrack_netlink.c
  * net: ipv6: fix return value of ip6_skb_dst_mtu
      include/net/ip6_route.h
      net/ipv6/xfrm6_output.c
    net: dsa: mv88e6xxx: enable .rmu_disable() on Topaz
    dm writecache: fix writing beyond end of underlying device when shrinking
    dm writecache: return the exact table values that were set
  * mm: slab: fix kmem_cache_create failed when sysfs node not destroyed
      mm/slab_common.c
  * sched/fair: Fix CFS bandwidth hrtimer expiry type
      kernel/sched/fair.c
    scsi: libfc: Fix array index out of bound exception
    scsi: libsas: Add LUN number check in .slave_alloc callback
    scsi: aic7xxx: Fix unintentional sign extension issue on left shift of u8
    rtc: max77686: Do not enforce (incorrect) interrupt trigger type
  * kbuild: mkcompile_h: consider timestamp if KBUILD_BUILD_TIMESTAMP is set
      scripts/mkcompile_h
  * thermal/core: Correct function name thermal_zone_device_unregister()
      drivers/thermal/thermal_core.c
    arm64: dts: ls208xa: remove bus-num from dspi node
    soc/tegra: fuse: Fix Tegra234-only builds
    ARM: dts: stm32: move stmmac axi config in ethernet node on stm32mp15
    ARM: dts: stm32: fix i2c node name on stm32f746 to prevent warnings
    ARM: dts: rockchip: fix supply properties in io-domains nodes
    arm64: dts: juno: Update SCPI nodes as per the YAML schema
    ARM: dts: stm32: fix timer nodes on STM32 MCU to prevent warnings
    ARM: dts: stm32: fix RCC node name on stm32f429 MCU
    ARM: dts: stm32: fix gpio-keys node on STM32 MCU boards
    rtc: mxc_v2: add missing MODULE_DEVICE_TABLE
    ARM: imx: pm-imx5: Fix references to imx5_cpu_suspend_info
    ARM: dts: imx6: phyFLEX: Fix UART hardware flow control
    ARM: dts: Hurricane 2: Fix NAND nodes names
    ARM: dts: BCM63xx: Fix NAND nodes names
    ARM: NSP: dts: fix NAND nodes names
    ARM: Cygnus: dts: fix NAND nodes names
    ARM: brcmstb: dts: fix NAND nodes names
    reset: ti-syscon: fix to_ti_syscon_reset_data macro
    arm64: dts: rockchip: Fix power-controller node names for rk3328
    ARM: dts: rockchip: Fix power-controller node names for rk3288
    ARM: dts: rockchip: Fix IOMMU nodes properties on rk322x
    ARM: dts: rockchip: Fix the timer clocks order
    arm64: dts: rockchip: fix pinctrl sleep nodename for rk3399.dtsi
    ARM: dts: rockchip: fix pinctrl sleep nodename for rk3036-kylin and rk3288
    ARM: dts: gemini: add device_type on pci
    ARM: dts: gemini: rename mdio to the right name
  * ANDROID: generate_initcall_order.pl: Use two dash long options for llvm-nm
      scripts/generate_initcall_order.pl
  * Revert "media: subdev: disallow ioctl for saa6588/davinci"
      include/media/v4l2-subdev.h
  * ANDROID: GKI: fix up crc change in ip.h
      include/net/ip.h
    Merge 4.19.198 into android-4.19-stable
Linux 4.19.198
  * seq_file: disallow extremely large seq buffer allocations
      fs/seq_file.c
    scsi: scsi_dh_alua: Fix signedness bug in alua_rtpg()
  * net: bridge: multicast: fix PIM hello router port marking race
      net/bridge/br_multicast.c
    MIPS: vdso: Invalid GIC access through VDSO
    mips: disable branch profiling in boot/decompress.o
    mips: always link byteswap helpers into decompressor
    scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe()
    ARM: dts: imx6q-dhcom: Add gpios pinctrl for i2c bus recovery
    ARM: dts: imx6q-dhcom: Fix ethernet plugin detection problems
    ARM: dts: imx6q-dhcom: Fix ethernet reset time properties
    ARM: dts: am437x: align ti,pindir-d0-out-d1-in property with dt-shema
    ARM: dts: am335x: align ti,pindir-d0-out-d1-in property with dt-shema
    memory: fsl_ifc: fix leak of private memory on probe failure
    memory: fsl_ifc: fix leak of IO mapping on probe failure
  * reset: bail if try_module_get() fails
      drivers/reset/core.c
    ARM: dts: BCM5301X: Fixup SPI binding
    ARM: dts: r8a7779, marzen: Fix DU clock names
    arm64: dts: renesas: v3msk: Fix memory size
  * rtc: fix snprintf() checking in is_rtc_hctosys()
      drivers/rtc/rtc-proc.c
    memory: atmel-ebi: add missing of_node_put for loop iteration
    ARM: dts: exynos: fix PWM LED max brightness on Odroid XU4
    ARM: dts: exynos: fix PWM LED max brightness on Odroid HC1
    ARM: dts: exynos: fix PWM LED max brightness on Odroid XU/XU3
    reset: a10sr: add missing of_match_table reference
    hexagon: use common DISCARDS macro
    NFSv4/pNFS: Don't call _nfs4_pnfs_v3_ds_connect multiple times
    ALSA: isa: Fix error return code in snd_cmi8330_probe()
    virtio_net: move tx vq operation under tx queue lock
    x86/fpu: Limit xstate copy size in xstateregs_set()
    PCI: iproc: Support multi-MSI only on uniprocessor kernel
    PCI: iproc: Fix multi-MSI base vector number allocation
    ubifs: Set/Clear I_LINKABLE under i_lock for whiteout inode
    nfs: fix acl memory leak of posix_acl_create()
    watchdog: aspeed: fix hardware timeout calculation
    um: fix error return code in winch_tramp()
    um: fix error return code in slip_open()
    NFSv4: Initialise connection to the server in nfs4_alloc_client()
  * power: supply: rt5033_battery: Fix device tree enumeration
      drivers/power/supply/Kconfig
    PCI/sysfs: Fix dsm_label_utf16s_to_utf8s() buffer overrun
  * f2fs: add MODULE_SOFTDEP to ensure crc32 is included in the initramfs
      fs/f2fs/super.c
    virtio_console: Assure used length from device is limited
    virtio_net: Fix error handling in virtnet_restore()
    virtio-blk: Fix memory leak among suspend/resume procedure
    ACPI: video: Add quirk for the Dell Vostro 3350
    ACPI: AMBA: Fix resource name in /proc/iomem
    pwm: tegra: Don't modify HW state in .remove callback
    power: supply: ab8500: add missing MODULE_DEVICE_TABLE
    power: supply: charger-manager: add missing MODULE_DEVICE_TABLE
  * NFS: nfs_find_open_context() may only select open files
      include/linux/nfs_fs.h
    ceph: remove bogus checks and WARN_ONs from ceph_set_page_dirty
    orangefs: fix orangefs df output.
    PCI: tegra: Add missing MODULE_DEVICE_TABLE
    x86/fpu: Return proper error codes from user access functions
    watchdog: iTCO_wdt: Account for rebooting on second timeout
    watchdog: Fix possible use-after-free by calling del_timer_sync()
    watchdog: sc520_wdt: Fix possible use-after-free in wdt_turnoff()
    watchdog: Fix possible use-after-free in wdt_startup()
    ARM: 9087/1: kprobes: test-thumb: fix for LLVM_IAS=1
    power: reset: gpio-poweroff: add missing MODULE_DEVICE_TABLE
    power: supply: max17042: Do not enforce (incorrect) interrupt trigger type
    power: supply: ab8500: Avoid NULL pointers
    pwm: spear: Don't modify HW state in .remove callback
  * lib/decompress_unlz4.c: correctly handle zero-padding around initrds.
      lib/decompress_unlz4.c
  * i2c: core: Disable client irq on reboot/shutdown
      drivers/i2c/i2c-core-base.c
    intel_th: Wait until port is in reset before programming it
    staging: rtl8723bs: fix macro value for 2.4Ghz only device
    ALSA: hda: Add IRQ check for platform_get_irq()
    backlight: lm3630a: Fix return code of .update_status() callback
    powerpc/boot: Fixup device-tree on little endian
    usb: gadget: hid: fix error return code in hid_bind()
  * usb: gadget: f_hid: fix endianness issue with descriptors
      drivers/usb/gadget/function/f_hid.c
  * ALSA: bebob: add support for ToneWeal FW66
      sound/firewire/Kconfig
    Input: hideep - fix the uninitialized use in hideep_nvm_unlock()
  * ASoC: soc-core: Fix the error return code in snd_soc_of_parse_audio_routing()
      sound/soc/soc-core.c
    gpio: pca953x: Add support for the On Semi pca9655
    selftests/powerpc: Fix "no_handler" EBB selftest
    ALSA: ppc: fix error return code in snd_pmac_probe()
    gpio: zynq: Check return value of pm_runtime_get_sync
    powerpc/ps3: Add dma_mask to ps3_dma_region
    ALSA: sb: Fix potential double-free of CSP mixer elements
    selftests: timers: rtcpie: skip test if default RTC device does not exist
    s390/sclp_vt220: fix console name to match device
    mfd: da9052/stmpe: Add and modify MODULE_DEVICE_TABLE
    scsi: qedi: Fix null ref during abort handling
    scsi: iscsi: Fix shost->max_id use
  * scsi: iscsi: Fix conn use after free during resets
      include/scsi/libiscsi.h
  * scsi: iscsi: Add iscsi_cls_conn refcount helpers
      include/scsi/scsi_transport_iscsi.h
    fs/jfs: Fix missing error code in lmLogInit()
    scsi: scsi_dh_alua: Check for negative result value
    tty: serial: 8250: serial_cs: Fix a memory leak in error handling path
    ALSA: ac97: fix PM reference leak in ac97_bus_remove()
  * scsi: core: Cap scsi_host cmd_per_lun at can_queue
      drivers/scsi/hosts.c
    scsi: lpfc: Fix crash when lpfc_sli4_hba_setup() fails to initialize the SGLs
    scsi: lpfc: Fix "Unexpected timeout" error in direct attach topology
    w1: ds2438: fixing bug that would always get page0
  * Revert "ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro"
      sound/firewire/Kconfig
    misc/libmasm/module: Fix two use after free in ibmasm_init_one
    tty: serial: fsl_lpuart: fix the potential risk of division or modulo by zero
    PCI: aardvark: Fix kernel panic during PIO transfer
    PCI: aardvark: Don't rely on jiffies while holding spinlock
    tracing: Do not reference char * as a string in histograms
  * scsi: core: Fix bad pointer dereference when ehandler kthread is invalid
      drivers/scsi/hosts.c
    KVM: X86: Disable hardware breakpoints unconditionally before kvm_x86->run()
    KVM: x86: Use guest MAXPHYADDR from CPUID.0x8000_0008 iff TDP is enabled
  * smackfs: restrict bytes count in smk_set_cipso()
      security/smack/smackfs.c
    jfs: fix GPF in diFree
    pinctrl: mcp23s08: Fix missing unlock on error in mcp23s08_irq()
    media: uvcvideo: Fix pixel format change for Elgato Cam Link 4K
    media: gspca/sunplus: fix zero-length control requests
    media: gspca/sq905: fix control-request direction
    media: zr364xx: fix memory leak in zr364xx_start_readpipe
    media: dtv5100: fix control-request directions
  * media: subdev: disallow ioctl for saa6588/davinci
      include/media/v4l2-subdev.h
    PCI: aardvark: Fix checking for PIO Non-posted Request
  * PCI: Leave Apple Thunderbolt controllers on for s2idle or standby
      drivers/pci/quirks.c
    dm btree remove: assign new_root only when removal succeeds
  * coresight: tmc-etf: Fix global-out-of-bounds in tmc_update_etf_buffer()
      drivers/hwtracing/coresight/coresight-tmc-etf.c
    ipack/carriers/tpci200: Fix a double free in tpci200_pci_probe
  * tracing: Resize tgid_map to pid_max, not PID_MAX_DEFAULT
      kernel/trace/trace.c
  * tracing: Simplify & fix saved_tgids logic
      kernel/trace/trace.c
  * seq_buf: Fix overflow in seq_buf_putmem_hex()
      lib/seq_buf.c
  * power: supply: ab8500: Fix an old bug
      include/linux/mfd/abx500/ux500_chargalg.h
    ipmi/watchdog: Stop watchdog timer when the current action is 'none'
    qemu_fw_cfg: Make fw_cfg_rev_attr a proper kobj_attribute
    ASoC: tegra: Set driver_name=tegra for all machine drivers
  * clocksource/arm_arch_timer: Improve Allwinner A64 timer workaround
      drivers/clocksource/arm_arch_timer.c
  * cpu/hotplug: Cure the cpusets trainwreck
      kernel/cpu.c
    ata: ahci_sunxi: Disable DIPM
    mmc: core: Allow UHS-I voltage switch for SDSC cards if supported
    mmc: core: clear flags before allowing to retune
    mmc: sdhci: Fix warning message when accessing RPMB in HS400 mode
    drm/msm/mdp4: Fix modifier support enabling
    pinctrl/amd: Add device HID for new AMD GPIO controller
    drm/amd/display: fix incorrrect valid irq check
    drm/radeon: Add the missed drm_gem_object_put() in radeon_user_framebuffer_create()
  * usb: gadget: f_fs: Fix setting of device and driver data cross-references
      drivers/usb/gadget/function/f_fs.c
    powerpc/barrier: Avoid collision with clang's __lwsync macro
  * fuse: reject internal errno
      fs/fuse/dev.c
    serial: mvebu-uart: fix calculation of clock divisor
    serial: mvebu-uart: clarify the baud rate derivation
  * bdi: Do not use freezable workqueue
      mm/backing-dev.c
  * fscrypt: don't ignore minor_hash when hash is 0
      fs/crypto/fname.c
    MIPS: set mips32r5 for virt extensions
  * sctp: add size validation when walking chunks
      net/sctp/input.c
  * sctp: validate from_addr_param return
      include/net/sctp/structs.h
      net/sctp/bind_addr.c
      net/sctp/input.c
      net/sctp/ipv6.c
      net/sctp/protocol.c
      net/sctp/sm_make_chunk.c
    Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc.
  * Bluetooth: Shutdown controller after workqueues are flushed or cancelled
      net/bluetooth/hci_core.c
  * Bluetooth: Fix the HCI to MGMT status conversion table
      net/bluetooth/mgmt.c
    RDMA/cma: Fix rdma_resolve_route() memory leak
  * net: ip: avoid OOM kills with large UDP sends over loopback
      net/ipv4/ip_output.c
      net/ipv6/ip6_output.c
    media, bpf: Do not copy more entries than user space requested
  * wireless: wext-spy: Fix out-of-bounds warning
      net/wireless/wext-spy.c
    sfc: error code if SRIOV cannot be disabled
    sfc: avoid double pci_remove of VFs
    iwlwifi: pcie: free IML DMA memory allocation
    iwlwifi: mvm: don't change band on bound PHY contexts
    RDMA/rxe: Don't overwrite errno from ib_umem_get()
    vsock: notify server to shutdown when client has pending signal
    atm: nicstar: register the interrupt handler in the right place
    atm: nicstar: use 'dma_free_coherent' instead of 'kfree'
    MIPS: add PMD table accounting into MIPS'pmd_alloc_one
    rtl8xxxu: Fix device info for RTL8192EU devices
  * net: fix mistake path for netdev_features_strings
      include/linux/netdev_features.h
      include/uapi/linux/ethtool.h
    cw1200: add missing MODULE_DEVICE_TABLE
    wl1251: Fix possible buffer overflow in wl1251_cmd_scan
    wlcore/wl12xx: Fix wl12xx get_mac error if device is in ELP
  * xfrm: Fix error reporting in xfrm_state_construct.
      net/xfrm/xfrm_user.c
  * selinux: use __GFP_NOWARN with GFP_NOWAIT in the AVC
      security/selinux/avc.c
    fjes: check return value after calling platform_get_resource()
    net: micrel: check return value after calling platform_get_resource()
    net: mvpp2: check return value after calling platform_get_resource()
    net: bcmgenet: check return value after calling platform_get_resource()
    virtio_net: Remove BUG() to avoid machine dead
    ice: set the value of global config lock timeout longer
    pinctrl: mcp23s08: fix race condition in irq handler
    dm space maps: don't reset space map allocation cursor when committing
    RDMA/cxgb4: Fix missing error code in create_qp()
  * ipv6: use prandom_u32() for ID generation
      net/ipv6/output_core.c
    clk: tegra: Ensure that PLLU configuration is applied properly
    clk: renesas: r8a77995: Add ZA2 clock
    e100: handle eeprom as little endian
    udf: Fix NULL pointer dereference in udf_symlink function
    drm/virtio: Fix double free on probe failure
    reiserfs: add check for invalid 1st journal block
  * net: Treat __napi_schedule_irqoff() as __napi_schedule() on PREEMPT_RT
      net/core/dev.c
    atm: nicstar: Fix possible use-after-free in nicstar_cleanup()
    mISDN: fix possible use-after-free in HFC_cleanup()
    atm: iphase: fix possible use-after-free in ia_module_exit()
    hugetlb: clear huge pte during flush function on mips platform
    drm/amd/display: fix use_max_lb flag for 420 pixel formats
    net: pch_gbe: Use proper accessors to BE data in pch_ptp_match()
    drm/amd/amdgpu/sriov disable all ip hw status by default
  * drm/zte: Don't select DRM_KMS_FB_HELPER
      drivers/gpu/drm/zte/Kconfig
  * drm/mxsfb: Don't select DRM_KMS_FB_HELPER
      drivers/gpu/drm/mxsfb/Kconfig
    mmc: vub3000: fix control-request direction
    mmc: block: Disable CMDQ on the ioctl path
    perf llvm: Return -ENOMEM when asprintf() fails
    selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random
    mm/huge_memory.c: don't discard hugepage if other processes are mapping it
    vfio/pci: Handle concurrent vma faults
    arm64: dts: marvell: armada-37xx: Fix reg for standard variant of UART
    serial: mvebu-uart: correctly calculate minimal possible baudrate
    powerpc: Offline CPU in stop_this_cpu()
    leds: ktd2692: Fix an error handling path
    leds: as3645a: Fix error return code in as3645a_parse_node()
  * configfs: fix memleak in configfs_release_bin_file
      fs/configfs/file.c
    ASoC: atmel-i2s: Fix usage of capture and playback at the same time
    extcon: max8997: Add missing modalias string
    extcon: sm5502: Drop invalid register write in sm5502_reg_data
    phy: ti: dm816x: Fix the error handling path in 'dm816x_usb_phy_probe()
    scsi: mpt3sas: Fix error return value in _scsih_expander_add()
    mtd: rawnand: marvell: add missing clk_disable_unprepare() on error in marvell_nfc_resume()
  * of: Fix truncation of memory sizes on 32-bit platforms
      drivers/of/fdt.c
      drivers/of/of_reserved_mem.c
    ASoC: cs42l42: Correct definition of CS42L42_ADC_PDN_MASK
    iio: prox: isl29501: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    serial: 8250: Actually allow UPF_MAGIC_MULTIPLIER baud rates
    staging: mt7621-dts: fix pci address for PCI memory range
    staging: gdm724x: check for overflow in gdm_lte_netif_rx()
    staging: gdm724x: check for buffer overflow in gdm_lte_multi_sdu_pkt()
    iio: adc: ti-ads8688: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
    iio: adc: mxs-lradc: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: adc: hx711: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    eeprom: idt_89hpesx: Restore printing the unsupported fwnode name
    eeprom: idt_89hpesx: Put fwnode in matching case during ->probe()
    s390: appldata depends on PROC_SYSCTL
    visorbus: fix error return code in visorchipset_init()
    fsi/sbefifo: Fix reset timeout
    fsi/sbefifo: Clean up correct FIFO when receiving reset request from SBE
    fsi: scom: Reset the FSI2PIB engine for any error
    fsi: core: Fix return of error values on failures
    scsi: FlashPoint: Rename si_flags field
    tty: nozomi: Fix the error handling path of 'nozomi_card_init()'
    char: pcmcia: error out if 'num_bytes_read' is greater than 4 in set_protocol()
    Input: hil_kbd - fix error return code in hil_dev_connect()
    ASoC: rsnd: tidyup loop on rsnd_adg_clk_query()
    ASoC: hisilicon: fix missing clk_disable_unprepare() on error in hi6210_i2s_startup()
    iio: potentiostat: lmp91000: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
    iio: light: tcs3472: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: light: tcs3414: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: light: isl29125: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: prox: as3935: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: prox: pulsed-light: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: prox: srf08: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: humidity: am2315: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: gyro: bmg160: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: adc: vf610: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: adc: ti-ads1015: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: accel: stk8ba50: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: accel: stk8312: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: accel: kxcjk-1013: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: accel: hid: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: accel: bma220: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: accel: bma180: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
    iio: adis_buffer: do not return ints in irq handlers
    mwifiex: re-fix for unaligned accesses
    tty: nozomi: Fix a resource leak in an error handling function
    RDMA/mlx5: Don't access NULL-cleared mpi pointer
    net: sched: fix warning in tcindex_alloc_perfect_hash
  * net: lwtunnel: handle MTU calculation in forwading
      include/net/ip.h
      include/net/ip6_route.h
      net/ipv4/route.c
  * writeback: fix obtain a reference to a freeing memcg css
      fs/fs-writeback.c
  * Bluetooth: Fix handling of HCI_LE_Advertising_Set_Terminated event
      net/bluetooth/hci_event.c
  * Bluetooth: mgmt: Fix slab-out-of-bounds in tlv_data_is_valid
      net/bluetooth/mgmt.c
  * ipv6: fix out-of-bound access in ip6_parse_tlv()
      net/ipv6/exthdrs.c
    ibmvnic: free tx_pool if tso_pool alloc fails
    Revert "ibmvnic: remove duplicate napi_schedule call in open function"
    i40e: Fix autoneg disabling for non-10GBaseT links
    i40e: Fix error handling in i40e_vsi_open
  * bpf: Do not change gso_size during bpf_skb_change_proto()
      net/core/filter.c
  * ipv6: exthdrs: do not blindly use init_net
      net/ipv6/exthdrs.c
    net: bcmgenet: Fix attaching to PYH failed on RPi 4B
    mac80211: remove iwlwifi specific workaround NDPs of null_response
    ieee802154: hwsim: avoid possible crash in hwsim_del_edge_nl()
    ieee802154: hwsim: Fix memory leak in hwsim_add_one
  * net/ipv4: swap flow ports when validating source
      net/ipv4/fib_frontend.c
    vxlan: add missing rcu_read_lock() in neigh_reduce()
    pkt_sched: sch_qfq: fix qfq_change_class() error path
    net: ethernet: ezchip: fix error handling
    net: ethernet: ezchip: fix UAF in nps_enet_remove
    net: ethernet: aeroflex: fix UAF in greth_of_remove
    samples/bpf: Fix the error return code of xdp_redirect's main()
    RDMA/rxe: Fix qp reference counting for atomic ops
    netfilter: nft_tproxy: restrict support to TCP and UDP transport protocols
    netfilter: nft_osf: check for TCP packet before further processing
    netfilter: nft_exthdr: check for IPv6 packet before further processing
    RDMA/mlx5: Don't add slave port to unaffiliated list
  * netlabel: Fix memory leak in netlbl_mgmt_add_common
      net/netlabel/netlabel_mgmt.c
    ath10k: Fix an error code in ath10k_add_interface()
    brcmsmac: mac80211_if: Fix a resource leak in an error handling path
    brcmfmac: correctly report average RSSI in station info
    brcmfmac: fix setting of station info chains bitmask
    ssb: Fix error return code in ssb_bus_scan()
    wcn36xx: Move hal_buf allocation to devm_kmalloc in probe
    ieee802154: hwsim: Fix possible memory leak in hwsim_subscribe_all_others
  * wireless: carl9170: fix LEDS build errors & warnings
      drivers/net/wireless/ath/carl9170/Kconfig
    tools/bpftool: Fix error return code in do_batch()
    drm: qxl: ensure surf.data is ininitialized
    RDMA/rxe: Fix failure during driver load
    ehea: fix error return code in ehea_restart_qps()
    drm/rockchip: cdn-dp-core: add missing clk_disable_unprepare() on error in cdn_dp_grf_write()
    net: pch_gbe: Propagate error from devm_gpio_request_one()
    net: mvpp2: Put fwnode in error case during ->probe()
    ocfs2: fix snprintf() checking
    blk-wbt: make sure throttle is enabled properly
  * blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled()
      block/blk-wbt.h
    ACPI: sysfs: Fix a buffer overrun problem with description_show()
    crypto: nx - Fix RCU warning in nx842_OF_upd_status
    spi: spi-sun6i: Fix chipselect/clock bug
    btrfs: clear log tree recovering status if starting transaction fails
    hwmon: (max31790) Fix fan speed reporting for fan7..12
    hwmon: (max31722) Remove non-standard ACPI device IDs
    media: s5p-g2d: Fix a memory leak on ctx->fh.m2m_ctx
    mmc: usdhi6rol0: fix error return code in usdhi6_probe()
    media: siano: Fix out-of-bounds warnings in smscore_load_firmware_family2()
    media: gspca/gl860: fix zero-length control requests
    media: tc358743: Fix error return code in tc358743_probe_of()
    media: exynos4-is: Fix a use after free in isp_video_release
    pata_ep93xx: fix deferred probing
    media: rc: i2c: Fix an error message
    crypto: ccp - Fix a resource leak in an error handling path
    evm: fix writing <securityfs>/evm overflow
    pata_octeon_cf: avoid WARN_ON() in ata_host_activate()
    media: I2C: change 'RST' to "RSET" to fix multiple build errors
    pata_rb532_cf: fix deferred probing
    sata_highbank: fix deferred probing
    crypto: ux500 - Fix error return code in hash_hw_final()
    crypto: ixp4xx - dma_unmap the correct address
    media: s5p_cec: decrement usage count if disabled
    ia64: mca_drv: fix incorrect array size calculation
    HID: wacom: Correct base usage for capacitive ExpressKey status bits
    ACPI: tables: Add custom DSDT file as makefile prerequisite
  * clocksource: Retry clock read if long delays detected
      kernel/time/clocksource.c
    platform/x86: toshiba_acpi: Fix missing error code in toshiba_acpi_setup_keyboard()
    ACPI: bus: Call kobject_put() in acpi_init() error path
    ACPICA: Fix memory leak caused by _CID repair function
    fs: dlm: fix memory leak when fenced
  * random32: Fix implicit truncation warning in prandom_seed_state()
      include/linux/prandom.h
    fs: dlm: cancel work sync othercon
  * block_dump: remove block_dump feature in mark_inode_dirty()
      fs/fs-writeback.c
    ACPI: EC: Make more Asus laptops use ECDT _GPE
  * lib: vsprintf: Fix handling of number field widths in vsscanf
      lib/kstrtox.c
      lib/kstrtox.h
      lib/vsprintf.c
    hv_utils: Fix passing zero to 'PTR_ERR' warning
    ACPI: processor idle: Fix up C-state latency if not ordered
    EDAC/ti: Add missing MODULE_DEVICE_TABLE
  * HID: do not use down_interruptible() when unbinding devices
      drivers/hid/hid-core.c
    regulator: da9052: Ensure enough delay time for .set_voltage_time_sel
  * btrfs: disable build on platforms having page size 256K
      fs/btrfs/Kconfig
    btrfs: abort transaction if we fail to update the delayed inode
    btrfs: fix error handling in __btrfs_update_delayed_inode
    media: imx-csi: Skip first few frames from a BT.656 source
    media: siano: fix device register error path
    media: dvb_net: avoid speculation from net slot
  * crypto: shash - avoid comparing pointers to exported functions under CFI
      crypto/shash.c
      include/crypto/internal/hash.h
    mmc: via-sdmmc: add a check against NULL pointer dereference
    media: dvd_usb: memory leak in cinergyt2_fe_attach
    media: st-hva: Fix potential NULL pointer dereferences
    media: bt8xx: Fix a missing check bug in bt878_probe
  * media: v4l2-core: Avoid the dangling pointer in v4l2_fh_release
      drivers/media/v4l2-core/v4l2-fh.c
    media: em28xx: Fix possible memory leak of em28xx struct
  * sched/fair: Fix ascii art by relpacing tabs
      kernel/sched/fair.c
    crypto: qat - remove unused macro in FW loader
    crypto: qat - check return code of qat_hal_rd_rel_reg()
    media: pvrusb2: fix warning in pvr2_i2c_core_done
    media: cobalt: fix race condition in setting HPD
    media: cpia2: fix memory leak in cpia2_usb_probe
    crypto: nx - add missing MODULE_DEVICE_TABLE
    regulator: uniphier: Add missing MODULE_DEVICE_TABLE
    spi: omap-100k: Fix the length judgment problem
    spi: spi-topcliff-pch: Fix potential double free in pch_spi_process_messages()
    spi: spi-loopback-test: Fix 'tx_buf' might be 'rx_buf'
  * spi: Make of_register_spi_device also set the fwnode
      drivers/spi/spi.c
  * fuse: check connected before queueing on fpq->io
      fs/fuse/dev.c
    evm: Refuse EVM_ALLOW_METADATA_WRITES only if an HMAC key is loaded
    evm: Execute evm_inode_init_security() only when an HMAC key is loaded
    powerpc/stacktrace: Fix spurious "stale" traces in raise_backtrace_ipi()
  * seq_buf: Make trace_seq_putmem_hex() support data longer than 8
      lib/seq_buf.c
  * tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing
      include/linux/tracepoint.h
      kernel/trace/bpf_trace.c
      kernel/tracepoint.c
    tracing/histograms: Fix parsing of "sym-offset" modifier
    rsi: fix AP mode with WPA failure due to encrypted EAPOL
    rsi: Assign beacon rate settings to the correct rate_info descriptor field
    ssb: sdio: Don't overwrite const buffer if block_write fails
    ath9k: Fix kernel NULL pointer dereference during ath_reset_internal()
    serial_cs: remove wrong GLOBETROTTER.cis entry
    serial_cs: Add Option International GSM-Ready 56K/ISDN modem
    serial: sh-sci: Stop dmaengine transfer in sci_stop_tx()
    iio: ltr501: ltr501_read_ps(): add missing endianness conversion
    iio: ltr501: ltr559: fix initialization of LTR501_ALS_CONTR
    iio: ltr501: mark register holding upper 8 bits of ALS_DATA{0,1} and PS_DATA as volatile, too
    iio: light: tcs3472: do not free unallocated IRQ
    rtc: stm32: Fix unbalanced clk_disable_unprepare() on probe error path
    s390/cio: dont call css_wait_for_slow_path() inside a lock
    SUNRPC: Should wake up the privileged task firstly.
    SUNRPC: Fix the batch tasks count wraparound.
    can: peak_pciefd: pucan_handle_status(): fix a potential starvation issue in TX path
    can: gw: synchronize rcu operations before removing gw job entry
    can: bcm: delay release of struct bcm_op after synchronize_rcu()
  * ext4: use ext4_grp_locked_error in mb_find_extent
      fs/ext4/mballoc.c
  * ext4: fix avefreec in find_group_orlov
      fs/ext4/ialloc.c
  * ext4: remove check for zero nr_to_scan in ext4_es_scan()
      fs/ext4/extents_status.c
  * ext4: correct the cache_nr in tracepoint ext4_es_shrink_exit
      fs/ext4/extents_status.c
  * ext4: return error code when ext4_fill_flex_info() fails
      fs/ext4/super.c
  * ext4: fix kernel infoleak via ext4_extent_header
      fs/ext4/extents.c
  * ext4: cleanup in-core orphan list if ext4_truncate() failed to get a transaction handle
      fs/ext4/super.c
    btrfs: clear defrag status of a root if starting transaction fails
    btrfs: send: fix invalid path for unlink operations after parent orphanization
    ARM: dts: at91: sama5d4: fix pinctrl muxing
    arm_pmu: Fix write counter incorrect in ARMv7 big-endian mode
    Input: joydev - prevent use of not validated data in JSIOCSBTNMAP ioctl
  * iov_iter_fault_in_readable() should do nothing in xarray case
      lib/iov_iter.c
    ntfs: fix validity check for file name attribute
  * xhci: solve a double free problem while doing s4
      drivers/usb/host/xhci-mem.c
  * usb: typec: Add the missed altmode_id_remove() in typec_register_altmode()
      drivers/usb/typec/class.c
  * usb: dwc3: Fix debugfs creation flow
      drivers/usb/dwc3/core.c
    USB: cdc-acm: blacklist Heimann USB Appset device
    usb: gadget: eem: fix echo command packet response issue
    net: can: ems_usb: fix use-after-free in ems_usb_disconnect()
    Input: usbtouchscreen - fix control-request directions
    media: dvb-usb: fix wrong definition
  * ALSA: usb-audio: Fix OOB access at proc output
      sound/usb/mixer.c
  * ALSA: usb-audio: fix rate on Ozone Z90 USB headset
      sound/usb/format.c
  * scsi: core: Retry I/O for Notify (Enable Spinup) Required error
      drivers/scsi/scsi_lib.c
  * Revert "clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940"
      include/linux/cpuhotplug.h
    Merge 4.19.197 into android-4.19-stable
Linux 4.19.197
  * clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940
      include/linux/cpuhotplug.h
    clocksource/drivers/timer-ti-dm: Prepare to handle dra7 timer wrap issue
    clocksource/drivers/timer-ti-dm: Add clockevent and clocksource support
    ARM: OMAP: replace setup_irq() by request_irq()
    KVM: SVM: Call SEV Guest Decommission if ASID binding fails
    xen/events: reset active flag for lateeoi events later
  * kthread: prevent deadlock when kthread_mod_delayed_work() races with kthread_cancel_delayed_work_sync()
      kernel/kthread.c
  * kthread_worker: split code for canceling the delayed work timer
      kernel/kthread.c
    ARM: dts: imx6qdl-sabresd: Remove incorrect power supply assignment
    KVM: SVM: Periodically schedule when unregistering regions on destroy
  * ext4: eliminate bogus error in ext4_data_block_valid_rcu()
      fs/ext4/block_validity.c
    drm/nouveau: fix dma_address check for CPU/GPU sync
    scsi: sr: Return appropriate error code when disk is ejected
  * mm, futex: fix shared futex pgoff on shmem huge page
      include/linux/hugetlb.h
      include/linux/pagemap.h
      kernel/futex.c
  * mm/thp: another PVMW_SYNC fix in page_vma_mapped_walk()
      mm/page_vma_mapped.c
  * mm/thp: fix page_vma_mapped_walk() if THP mapped by ptes
      mm/page_vma_mapped.c
  * mm: page_vma_mapped_walk(): get vma_address_end() earlier
      mm/page_vma_mapped.c
  * mm: page_vma_mapped_walk(): use goto instead of while (1)
      mm/page_vma_mapped.c
  * mm: page_vma_mapped_walk(): add a level of indentation
      mm/page_vma_mapped.c
  * mm: page_vma_mapped_walk(): crossing page table boundary
      mm/page_vma_mapped.c
  * mm: page_vma_mapped_walk(): prettify PVMW_MIGRATION block
      mm/page_vma_mapped.c
  * mm: page_vma_mapped_walk(): use pmde for *pvmw->pmd
      mm/page_vma_mapped.c
  * mm: page_vma_mapped_walk(): settle PageHuge on entry
      mm/page_vma_mapped.c
  * mm: page_vma_mapped_walk(): use page for pvmw->page
      mm/page_vma_mapped.c
    mm: thp: replace DEBUG_VM BUG with VM_WARN when unmap fails for split
  * mm/thp: unmap_mapping_page() to fix THP truncate_cleanup_page()
      include/linux/mm.h
      mm/memory.c
      mm/truncate.c
  * mm/thp: fix page_address_in_vma() on file THP tails
      mm/rmap.c
  * mm/thp: fix vma_address() if virtual address below file offset
      mm/internal.h
      mm/page_vma_mapped.c
      mm/rmap.c
  * mm/thp: try_to_unmap() use TTU_SYNC for safe splitting
      include/linux/rmap.h
      mm/page_vma_mapped.c
      mm/rmap.c
  * mm/thp: make is_huge_zero_pmd() safe and quicker
      include/linux/huge_mm.h
  * mm/thp: fix __split_huge_pmd_locked() on shmem migration entry
      mm/pgtable-generic.c
  * mm/rmap: use page_not_mapped in try_to_unmap()
      mm/rmap.c
  * mm/rmap: remove unneeded semicolon in page_not_mapped()
      mm/rmap.c
  * mm: add VM_WARN_ON_ONCE_PAGE() macro
      include/linux/mmdebug.h

Bug: 196282886
Change-Id: I0af3abfa9aaa6da3e884f1a692da381e8e140bee
Signed-off-by: Lucas Wei <lucaswei@google.com>
2021-08-18 20:48:52 +08:00
Greg Kroah-Hartman
97fd50773c Merge 4.19.198 into android-4.19-stable
Changes in 4.19.198
	scsi: core: Retry I/O for Notify (Enable Spinup) Required error
	ALSA: usb-audio: fix rate on Ozone Z90 USB headset
	ALSA: usb-audio: Fix OOB access at proc output
	media: dvb-usb: fix wrong definition
	Input: usbtouchscreen - fix control-request directions
	net: can: ems_usb: fix use-after-free in ems_usb_disconnect()
	usb: gadget: eem: fix echo command packet response issue
	USB: cdc-acm: blacklist Heimann USB Appset device
	usb: dwc3: Fix debugfs creation flow
	usb: typec: Add the missed altmode_id_remove() in typec_register_altmode()
	xhci: solve a double free problem while doing s4
	ntfs: fix validity check for file name attribute
	iov_iter_fault_in_readable() should do nothing in xarray case
	Input: joydev - prevent use of not validated data in JSIOCSBTNMAP ioctl
	arm_pmu: Fix write counter incorrect in ARMv7 big-endian mode
	ARM: dts: at91: sama5d4: fix pinctrl muxing
	btrfs: send: fix invalid path for unlink operations after parent orphanization
	btrfs: clear defrag status of a root if starting transaction fails
	ext4: cleanup in-core orphan list if ext4_truncate() failed to get a transaction handle
	ext4: fix kernel infoleak via ext4_extent_header
	ext4: return error code when ext4_fill_flex_info() fails
	ext4: correct the cache_nr in tracepoint ext4_es_shrink_exit
	ext4: remove check for zero nr_to_scan in ext4_es_scan()
	ext4: fix avefreec in find_group_orlov
	ext4: use ext4_grp_locked_error in mb_find_extent
	can: bcm: delay release of struct bcm_op after synchronize_rcu()
	can: gw: synchronize rcu operations before removing gw job entry
	can: peak_pciefd: pucan_handle_status(): fix a potential starvation issue in TX path
	SUNRPC: Fix the batch tasks count wraparound.
	SUNRPC: Should wake up the privileged task firstly.
	s390/cio: dont call css_wait_for_slow_path() inside a lock
	rtc: stm32: Fix unbalanced clk_disable_unprepare() on probe error path
	iio: light: tcs3472: do not free unallocated IRQ
	iio: ltr501: mark register holding upper 8 bits of ALS_DATA{0,1} and PS_DATA as volatile, too
	iio: ltr501: ltr559: fix initialization of LTR501_ALS_CONTR
	iio: ltr501: ltr501_read_ps(): add missing endianness conversion
	serial: sh-sci: Stop dmaengine transfer in sci_stop_tx()
	serial_cs: Add Option International GSM-Ready 56K/ISDN modem
	serial_cs: remove wrong GLOBETROTTER.cis entry
	ath9k: Fix kernel NULL pointer dereference during ath_reset_internal()
	ssb: sdio: Don't overwrite const buffer if block_write fails
	rsi: Assign beacon rate settings to the correct rate_info descriptor field
	rsi: fix AP mode with WPA failure due to encrypted EAPOL
	tracing/histograms: Fix parsing of "sym-offset" modifier
	tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing
	seq_buf: Make trace_seq_putmem_hex() support data longer than 8
	powerpc/stacktrace: Fix spurious "stale" traces in raise_backtrace_ipi()
	evm: Execute evm_inode_init_security() only when an HMAC key is loaded
	evm: Refuse EVM_ALLOW_METADATA_WRITES only if an HMAC key is loaded
	fuse: check connected before queueing on fpq->io
	spi: Make of_register_spi_device also set the fwnode
	spi: spi-loopback-test: Fix 'tx_buf' might be 'rx_buf'
	spi: spi-topcliff-pch: Fix potential double free in pch_spi_process_messages()
	spi: omap-100k: Fix the length judgment problem
	regulator: uniphier: Add missing MODULE_DEVICE_TABLE
	crypto: nx - add missing MODULE_DEVICE_TABLE
	media: cpia2: fix memory leak in cpia2_usb_probe
	media: cobalt: fix race condition in setting HPD
	media: pvrusb2: fix warning in pvr2_i2c_core_done
	crypto: qat - check return code of qat_hal_rd_rel_reg()
	crypto: qat - remove unused macro in FW loader
	sched/fair: Fix ascii art by relpacing tabs
	media: em28xx: Fix possible memory leak of em28xx struct
	media: v4l2-core: Avoid the dangling pointer in v4l2_fh_release
	media: bt8xx: Fix a missing check bug in bt878_probe
	media: st-hva: Fix potential NULL pointer dereferences
	media: dvd_usb: memory leak in cinergyt2_fe_attach
	mmc: via-sdmmc: add a check against NULL pointer dereference
	crypto: shash - avoid comparing pointers to exported functions under CFI
	media: dvb_net: avoid speculation from net slot
	media: siano: fix device register error path
	media: imx-csi: Skip first few frames from a BT.656 source
	btrfs: fix error handling in __btrfs_update_delayed_inode
	btrfs: abort transaction if we fail to update the delayed inode
	btrfs: disable build on platforms having page size 256K
	regulator: da9052: Ensure enough delay time for .set_voltage_time_sel
	HID: do not use down_interruptible() when unbinding devices
	EDAC/ti: Add missing MODULE_DEVICE_TABLE
	ACPI: processor idle: Fix up C-state latency if not ordered
	hv_utils: Fix passing zero to 'PTR_ERR' warning
	lib: vsprintf: Fix handling of number field widths in vsscanf
	ACPI: EC: Make more Asus laptops use ECDT _GPE
	block_dump: remove block_dump feature in mark_inode_dirty()
	fs: dlm: cancel work sync othercon
	random32: Fix implicit truncation warning in prandom_seed_state()
	fs: dlm: fix memory leak when fenced
	ACPICA: Fix memory leak caused by _CID repair function
	ACPI: bus: Call kobject_put() in acpi_init() error path
	platform/x86: toshiba_acpi: Fix missing error code in toshiba_acpi_setup_keyboard()
	clocksource: Retry clock read if long delays detected
	ACPI: tables: Add custom DSDT file as makefile prerequisite
	HID: wacom: Correct base usage for capacitive ExpressKey status bits
	ia64: mca_drv: fix incorrect array size calculation
	media: s5p_cec: decrement usage count if disabled
	crypto: ixp4xx - dma_unmap the correct address
	crypto: ux500 - Fix error return code in hash_hw_final()
	sata_highbank: fix deferred probing
	pata_rb532_cf: fix deferred probing
	media: I2C: change 'RST' to "RSET" to fix multiple build errors
	pata_octeon_cf: avoid WARN_ON() in ata_host_activate()
	evm: fix writing <securityfs>/evm overflow
	crypto: ccp - Fix a resource leak in an error handling path
	media: rc: i2c: Fix an error message
	pata_ep93xx: fix deferred probing
	media: exynos4-is: Fix a use after free in isp_video_release
	media: tc358743: Fix error return code in tc358743_probe_of()
	media: gspca/gl860: fix zero-length control requests
	media: siano: Fix out-of-bounds warnings in smscore_load_firmware_family2()
	mmc: usdhi6rol0: fix error return code in usdhi6_probe()
	media: s5p-g2d: Fix a memory leak on ctx->fh.m2m_ctx
	hwmon: (max31722) Remove non-standard ACPI device IDs
	hwmon: (max31790) Fix fan speed reporting for fan7..12
	btrfs: clear log tree recovering status if starting transaction fails
	spi: spi-sun6i: Fix chipselect/clock bug
	crypto: nx - Fix RCU warning in nx842_OF_upd_status
	ACPI: sysfs: Fix a buffer overrun problem with description_show()
	blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled()
	blk-wbt: make sure throttle is enabled properly
	ocfs2: fix snprintf() checking
	net: mvpp2: Put fwnode in error case during ->probe()
	net: pch_gbe: Propagate error from devm_gpio_request_one()
	drm/rockchip: cdn-dp-core: add missing clk_disable_unprepare() on error in cdn_dp_grf_write()
	ehea: fix error return code in ehea_restart_qps()
	RDMA/rxe: Fix failure during driver load
	drm: qxl: ensure surf.data is ininitialized
	tools/bpftool: Fix error return code in do_batch()
	wireless: carl9170: fix LEDS build errors & warnings
	ieee802154: hwsim: Fix possible memory leak in hwsim_subscribe_all_others
	wcn36xx: Move hal_buf allocation to devm_kmalloc in probe
	ssb: Fix error return code in ssb_bus_scan()
	brcmfmac: fix setting of station info chains bitmask
	brcmfmac: correctly report average RSSI in station info
	brcmsmac: mac80211_if: Fix a resource leak in an error handling path
	ath10k: Fix an error code in ath10k_add_interface()
	netlabel: Fix memory leak in netlbl_mgmt_add_common
	RDMA/mlx5: Don't add slave port to unaffiliated list
	netfilter: nft_exthdr: check for IPv6 packet before further processing
	netfilter: nft_osf: check for TCP packet before further processing
	netfilter: nft_tproxy: restrict support to TCP and UDP transport protocols
	RDMA/rxe: Fix qp reference counting for atomic ops
	samples/bpf: Fix the error return code of xdp_redirect's main()
	net: ethernet: aeroflex: fix UAF in greth_of_remove
	net: ethernet: ezchip: fix UAF in nps_enet_remove
	net: ethernet: ezchip: fix error handling
	pkt_sched: sch_qfq: fix qfq_change_class() error path
	vxlan: add missing rcu_read_lock() in neigh_reduce()
	net/ipv4: swap flow ports when validating source
	ieee802154: hwsim: Fix memory leak in hwsim_add_one
	ieee802154: hwsim: avoid possible crash in hwsim_del_edge_nl()
	mac80211: remove iwlwifi specific workaround NDPs of null_response
	net: bcmgenet: Fix attaching to PYH failed on RPi 4B
	ipv6: exthdrs: do not blindly use init_net
	bpf: Do not change gso_size during bpf_skb_change_proto()
	i40e: Fix error handling in i40e_vsi_open
	i40e: Fix autoneg disabling for non-10GBaseT links
	Revert "ibmvnic: remove duplicate napi_schedule call in open function"
	ibmvnic: free tx_pool if tso_pool alloc fails
	ipv6: fix out-of-bound access in ip6_parse_tlv()
	Bluetooth: mgmt: Fix slab-out-of-bounds in tlv_data_is_valid
	Bluetooth: Fix handling of HCI_LE_Advertising_Set_Terminated event
	writeback: fix obtain a reference to a freeing memcg css
	net: lwtunnel: handle MTU calculation in forwading
	net: sched: fix warning in tcindex_alloc_perfect_hash
	RDMA/mlx5: Don't access NULL-cleared mpi pointer
	tty: nozomi: Fix a resource leak in an error handling function
	mwifiex: re-fix for unaligned accesses
	iio: adis_buffer: do not return ints in irq handlers
	iio: accel: bma180: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: accel: bma220: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: accel: hid: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: accel: kxcjk-1013: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: accel: stk8312: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: accel: stk8ba50: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: adc: ti-ads1015: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: adc: vf610: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: gyro: bmg160: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: humidity: am2315: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: prox: srf08: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: prox: pulsed-light: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: prox: as3935: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: light: isl29125: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: light: tcs3414: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: light: tcs3472: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: potentiostat: lmp91000: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
	ASoC: hisilicon: fix missing clk_disable_unprepare() on error in hi6210_i2s_startup()
	ASoC: rsnd: tidyup loop on rsnd_adg_clk_query()
	Input: hil_kbd - fix error return code in hil_dev_connect()
	char: pcmcia: error out if 'num_bytes_read' is greater than 4 in set_protocol()
	tty: nozomi: Fix the error handling path of 'nozomi_card_init()'
	scsi: FlashPoint: Rename si_flags field
	fsi: core: Fix return of error values on failures
	fsi: scom: Reset the FSI2PIB engine for any error
	fsi/sbefifo: Clean up correct FIFO when receiving reset request from SBE
	fsi/sbefifo: Fix reset timeout
	visorbus: fix error return code in visorchipset_init()
	s390: appldata depends on PROC_SYSCTL
	eeprom: idt_89hpesx: Put fwnode in matching case during ->probe()
	eeprom: idt_89hpesx: Restore printing the unsupported fwnode name
	iio: adc: hx711: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: adc: mxs-lradc: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	iio: adc: ti-ads8688: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
	staging: gdm724x: check for buffer overflow in gdm_lte_multi_sdu_pkt()
	staging: gdm724x: check for overflow in gdm_lte_netif_rx()
	staging: mt7621-dts: fix pci address for PCI memory range
	serial: 8250: Actually allow UPF_MAGIC_MULTIPLIER baud rates
	iio: prox: isl29501: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
	ASoC: cs42l42: Correct definition of CS42L42_ADC_PDN_MASK
	of: Fix truncation of memory sizes on 32-bit platforms
	mtd: rawnand: marvell: add missing clk_disable_unprepare() on error in marvell_nfc_resume()
	scsi: mpt3sas: Fix error return value in _scsih_expander_add()
	phy: ti: dm816x: Fix the error handling path in 'dm816x_usb_phy_probe()
	extcon: sm5502: Drop invalid register write in sm5502_reg_data
	extcon: max8997: Add missing modalias string
	ASoC: atmel-i2s: Fix usage of capture and playback at the same time
	configfs: fix memleak in configfs_release_bin_file
	leds: as3645a: Fix error return code in as3645a_parse_node()
	leds: ktd2692: Fix an error handling path
	powerpc: Offline CPU in stop_this_cpu()
	serial: mvebu-uart: correctly calculate minimal possible baudrate
	arm64: dts: marvell: armada-37xx: Fix reg for standard variant of UART
	vfio/pci: Handle concurrent vma faults
	mm/huge_memory.c: don't discard hugepage if other processes are mapping it
	selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random
	perf llvm: Return -ENOMEM when asprintf() fails
	mmc: block: Disable CMDQ on the ioctl path
	mmc: vub3000: fix control-request direction
	drm/mxsfb: Don't select DRM_KMS_FB_HELPER
	drm/zte: Don't select DRM_KMS_FB_HELPER
	drm/amd/amdgpu/sriov disable all ip hw status by default
	net: pch_gbe: Use proper accessors to BE data in pch_ptp_match()
	drm/amd/display: fix use_max_lb flag for 420 pixel formats
	hugetlb: clear huge pte during flush function on mips platform
	atm: iphase: fix possible use-after-free in ia_module_exit()
	mISDN: fix possible use-after-free in HFC_cleanup()
	atm: nicstar: Fix possible use-after-free in nicstar_cleanup()
	net: Treat __napi_schedule_irqoff() as __napi_schedule() on PREEMPT_RT
	reiserfs: add check for invalid 1st journal block
	drm/virtio: Fix double free on probe failure
	udf: Fix NULL pointer dereference in udf_symlink function
	e100: handle eeprom as little endian
	clk: renesas: r8a77995: Add ZA2 clock
	clk: tegra: Ensure that PLLU configuration is applied properly
	ipv6: use prandom_u32() for ID generation
	RDMA/cxgb4: Fix missing error code in create_qp()
	dm space maps: don't reset space map allocation cursor when committing
	pinctrl: mcp23s08: fix race condition in irq handler
	ice: set the value of global config lock timeout longer
	virtio_net: Remove BUG() to avoid machine dead
	net: bcmgenet: check return value after calling platform_get_resource()
	net: mvpp2: check return value after calling platform_get_resource()
	net: micrel: check return value after calling platform_get_resource()
	fjes: check return value after calling platform_get_resource()
	selinux: use __GFP_NOWARN with GFP_NOWAIT in the AVC
	xfrm: Fix error reporting in xfrm_state_construct.
	wlcore/wl12xx: Fix wl12xx get_mac error if device is in ELP
	wl1251: Fix possible buffer overflow in wl1251_cmd_scan
	cw1200: add missing MODULE_DEVICE_TABLE
	net: fix mistake path for netdev_features_strings
	rtl8xxxu: Fix device info for RTL8192EU devices
	MIPS: add PMD table accounting into MIPS'pmd_alloc_one
	atm: nicstar: use 'dma_free_coherent' instead of 'kfree'
	atm: nicstar: register the interrupt handler in the right place
	vsock: notify server to shutdown when client has pending signal
	RDMA/rxe: Don't overwrite errno from ib_umem_get()
	iwlwifi: mvm: don't change band on bound PHY contexts
	iwlwifi: pcie: free IML DMA memory allocation
	sfc: avoid double pci_remove of VFs
	sfc: error code if SRIOV cannot be disabled
	wireless: wext-spy: Fix out-of-bounds warning
	media, bpf: Do not copy more entries than user space requested
	net: ip: avoid OOM kills with large UDP sends over loopback
	RDMA/cma: Fix rdma_resolve_route() memory leak
	Bluetooth: Fix the HCI to MGMT status conversion table
	Bluetooth: Shutdown controller after workqueues are flushed or cancelled
	Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc.
	sctp: validate from_addr_param return
	sctp: add size validation when walking chunks
	MIPS: set mips32r5 for virt extensions
	fscrypt: don't ignore minor_hash when hash is 0
	bdi: Do not use freezable workqueue
	serial: mvebu-uart: clarify the baud rate derivation
	serial: mvebu-uart: fix calculation of clock divisor
	fuse: reject internal errno
	powerpc/barrier: Avoid collision with clang's __lwsync macro
	usb: gadget: f_fs: Fix setting of device and driver data cross-references
	drm/radeon: Add the missed drm_gem_object_put() in radeon_user_framebuffer_create()
	drm/amd/display: fix incorrrect valid irq check
	pinctrl/amd: Add device HID for new AMD GPIO controller
	drm/msm/mdp4: Fix modifier support enabling
	mmc: sdhci: Fix warning message when accessing RPMB in HS400 mode
	mmc: core: clear flags before allowing to retune
	mmc: core: Allow UHS-I voltage switch for SDSC cards if supported
	ata: ahci_sunxi: Disable DIPM
	cpu/hotplug: Cure the cpusets trainwreck
	clocksource/arm_arch_timer: Improve Allwinner A64 timer workaround
	ASoC: tegra: Set driver_name=tegra for all machine drivers
	qemu_fw_cfg: Make fw_cfg_rev_attr a proper kobj_attribute
	ipmi/watchdog: Stop watchdog timer when the current action is 'none'
	power: supply: ab8500: Fix an old bug
	seq_buf: Fix overflow in seq_buf_putmem_hex()
	tracing: Simplify & fix saved_tgids logic
	tracing: Resize tgid_map to pid_max, not PID_MAX_DEFAULT
	ipack/carriers/tpci200: Fix a double free in tpci200_pci_probe
	coresight: tmc-etf: Fix global-out-of-bounds in tmc_update_etf_buffer()
	dm btree remove: assign new_root only when removal succeeds
	PCI: Leave Apple Thunderbolt controllers on for s2idle or standby
	PCI: aardvark: Fix checking for PIO Non-posted Request
	media: subdev: disallow ioctl for saa6588/davinci
	media: dtv5100: fix control-request directions
	media: zr364xx: fix memory leak in zr364xx_start_readpipe
	media: gspca/sq905: fix control-request direction
	media: gspca/sunplus: fix zero-length control requests
	media: uvcvideo: Fix pixel format change for Elgato Cam Link 4K
	pinctrl: mcp23s08: Fix missing unlock on error in mcp23s08_irq()
	jfs: fix GPF in diFree
	smackfs: restrict bytes count in smk_set_cipso()
	KVM: x86: Use guest MAXPHYADDR from CPUID.0x8000_0008 iff TDP is enabled
	KVM: X86: Disable hardware breakpoints unconditionally before kvm_x86->run()
	scsi: core: Fix bad pointer dereference when ehandler kthread is invalid
	tracing: Do not reference char * as a string in histograms
	PCI: aardvark: Don't rely on jiffies while holding spinlock
	PCI: aardvark: Fix kernel panic during PIO transfer
	tty: serial: fsl_lpuart: fix the potential risk of division or modulo by zero
	misc/libmasm/module: Fix two use after free in ibmasm_init_one
	Revert "ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro"
	w1: ds2438: fixing bug that would always get page0
	scsi: lpfc: Fix "Unexpected timeout" error in direct attach topology
	scsi: lpfc: Fix crash when lpfc_sli4_hba_setup() fails to initialize the SGLs
	scsi: core: Cap scsi_host cmd_per_lun at can_queue
	ALSA: ac97: fix PM reference leak in ac97_bus_remove()
	tty: serial: 8250: serial_cs: Fix a memory leak in error handling path
	scsi: scsi_dh_alua: Check for negative result value
	fs/jfs: Fix missing error code in lmLogInit()
	scsi: iscsi: Add iscsi_cls_conn refcount helpers
	scsi: iscsi: Fix conn use after free during resets
	scsi: iscsi: Fix shost->max_id use
	scsi: qedi: Fix null ref during abort handling
	mfd: da9052/stmpe: Add and modify MODULE_DEVICE_TABLE
	s390/sclp_vt220: fix console name to match device
	selftests: timers: rtcpie: skip test if default RTC device does not exist
	ALSA: sb: Fix potential double-free of CSP mixer elements
	powerpc/ps3: Add dma_mask to ps3_dma_region
	gpio: zynq: Check return value of pm_runtime_get_sync
	ALSA: ppc: fix error return code in snd_pmac_probe()
	selftests/powerpc: Fix "no_handler" EBB selftest
	gpio: pca953x: Add support for the On Semi pca9655
	ASoC: soc-core: Fix the error return code in snd_soc_of_parse_audio_routing()
	Input: hideep - fix the uninitialized use in hideep_nvm_unlock()
	ALSA: bebob: add support for ToneWeal FW66
	usb: gadget: f_hid: fix endianness issue with descriptors
	usb: gadget: hid: fix error return code in hid_bind()
	powerpc/boot: Fixup device-tree on little endian
	backlight: lm3630a: Fix return code of .update_status() callback
	ALSA: hda: Add IRQ check for platform_get_irq()
	staging: rtl8723bs: fix macro value for 2.4Ghz only device
	intel_th: Wait until port is in reset before programming it
	i2c: core: Disable client irq on reboot/shutdown
	lib/decompress_unlz4.c: correctly handle zero-padding around initrds.
	pwm: spear: Don't modify HW state in .remove callback
	power: supply: ab8500: Avoid NULL pointers
	power: supply: max17042: Do not enforce (incorrect) interrupt trigger type
	power: reset: gpio-poweroff: add missing MODULE_DEVICE_TABLE
	ARM: 9087/1: kprobes: test-thumb: fix for LLVM_IAS=1
	watchdog: Fix possible use-after-free in wdt_startup()
	watchdog: sc520_wdt: Fix possible use-after-free in wdt_turnoff()
	watchdog: Fix possible use-after-free by calling del_timer_sync()
	watchdog: iTCO_wdt: Account for rebooting on second timeout
	x86/fpu: Return proper error codes from user access functions
	PCI: tegra: Add missing MODULE_DEVICE_TABLE
	orangefs: fix orangefs df output.
	ceph: remove bogus checks and WARN_ONs from ceph_set_page_dirty
	NFS: nfs_find_open_context() may only select open files
	power: supply: charger-manager: add missing MODULE_DEVICE_TABLE
	power: supply: ab8500: add missing MODULE_DEVICE_TABLE
	pwm: tegra: Don't modify HW state in .remove callback
	ACPI: AMBA: Fix resource name in /proc/iomem
	ACPI: video: Add quirk for the Dell Vostro 3350
	virtio-blk: Fix memory leak among suspend/resume procedure
	virtio_net: Fix error handling in virtnet_restore()
	virtio_console: Assure used length from device is limited
	f2fs: add MODULE_SOFTDEP to ensure crc32 is included in the initramfs
	PCI/sysfs: Fix dsm_label_utf16s_to_utf8s() buffer overrun
	power: supply: rt5033_battery: Fix device tree enumeration
	NFSv4: Initialise connection to the server in nfs4_alloc_client()
	um: fix error return code in slip_open()
	um: fix error return code in winch_tramp()
	watchdog: aspeed: fix hardware timeout calculation
	nfs: fix acl memory leak of posix_acl_create()
	ubifs: Set/Clear I_LINKABLE under i_lock for whiteout inode
	PCI: iproc: Fix multi-MSI base vector number allocation
	PCI: iproc: Support multi-MSI only on uniprocessor kernel
	x86/fpu: Limit xstate copy size in xstateregs_set()
	virtio_net: move tx vq operation under tx queue lock
	ALSA: isa: Fix error return code in snd_cmi8330_probe()
	NFSv4/pNFS: Don't call _nfs4_pnfs_v3_ds_connect multiple times
	hexagon: use common DISCARDS macro
	reset: a10sr: add missing of_match_table reference
	ARM: dts: exynos: fix PWM LED max brightness on Odroid XU/XU3
	ARM: dts: exynos: fix PWM LED max brightness on Odroid HC1
	ARM: dts: exynos: fix PWM LED max brightness on Odroid XU4
	memory: atmel-ebi: add missing of_node_put for loop iteration
	rtc: fix snprintf() checking in is_rtc_hctosys()
	arm64: dts: renesas: v3msk: Fix memory size
	ARM: dts: r8a7779, marzen: Fix DU clock names
	ARM: dts: BCM5301X: Fixup SPI binding
	reset: bail if try_module_get() fails
	memory: fsl_ifc: fix leak of IO mapping on probe failure
	memory: fsl_ifc: fix leak of private memory on probe failure
	ARM: dts: am335x: align ti,pindir-d0-out-d1-in property with dt-shema
	ARM: dts: am437x: align ti,pindir-d0-out-d1-in property with dt-shema
	ARM: dts: imx6q-dhcom: Fix ethernet reset time properties
	ARM: dts: imx6q-dhcom: Fix ethernet plugin detection problems
	ARM: dts: imx6q-dhcom: Add gpios pinctrl for i2c bus recovery
	scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe()
	mips: always link byteswap helpers into decompressor
	mips: disable branch profiling in boot/decompress.o
	MIPS: vdso: Invalid GIC access through VDSO
	net: bridge: multicast: fix PIM hello router port marking race
	scsi: scsi_dh_alua: Fix signedness bug in alua_rtpg()
	seq_file: disallow extremely large seq buffer allocations
	Linux 4.19.198

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Iaa8a95c4d30ca85021bae6c60b4818038797e04e
2021-07-20 16:38:59 +02:00
Ard Biesheuvel
0c4c098c04 crypto: shash - avoid comparing pointers to exported functions under CFI
[ Upstream commit 22ca9f4aaf431a9413dcc115dd590123307f274f ]

crypto_shash_alg_has_setkey() is implemented by testing whether the
.setkey() member of a struct shash_alg points to the default version,
called shash_no_setkey(). As crypto_shash_alg_has_setkey() is a static
inline, this requires shash_no_setkey() to be exported to modules.

Unfortunately, when building with CFI, function pointers are routed
via CFI stubs which are private to each module (or to the kernel proper)
and so this function pointer comparison may fail spuriously.

Let's fix this by turning crypto_shash_alg_has_setkey() into an out of
line function.

Cc: Sami Tolvanen <samitolvanen@google.com>
Cc: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Sami Tolvanen <samitolvanen@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-07-20 16:15:44 +02:00
lucaswei
3ff70092e4 Merge android-4.19-stable (4.19.160) into android-msm-pixel-4.19-lts
Merge 4.19.160 into android-4.19-stable
Linux 4.19.160
    mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault()
    x86/microcode/intel: Check patch signature before saving microcode for early loading
  * seccomp: Set PF_SUPERPRIV when checking capability
      kernel/seccomp.c
  * ptrace: Set PF_SUPERPRIV when checking capability
      kernel/ptrace.c
    s390/dasd: fix null pointer dereference for ERP requests
    s390/cpum_sf.c: fix file permission for cpum_sfb_size
    mac80211: free sta in sta_info_insert_finish() on errors
    mac80211: minstrel: fix tx status processing corner case
    mac80211: minstrel: remove deferred sampling code
    xtensa: disable preemption around cache alias management calls
  * regulator: workaround self-referent regulators
      drivers/regulator/core.c
  * regulator: avoid resolve_supply() infinite recursion
      drivers/regulator/core.c
  * regulator: fix memory leak with repeated set_machine_constraints()
      drivers/regulator/core.c
    regulator: pfuze100: limit pfuze-support-disable-sw to pfuze{100,200}
    iio: accel: kxcjk1013: Add support for KIOX010A ACPI DSM for setting tablet-mode
    iio: accel: kxcjk1013: Replace is_smo8500_device with an acpi_type enum
  * ext4: fix bogus warning in ext4_update_dx_flag()
      fs/ext4/ext4.h
    staging: rtl8723bs: Add 024c:0627 to the list of SDIO device-ids
    efivarfs: fix memory leak in efivarfs_create()
    tty: serial: imx: keep console clocks always on
    ALSA: hda/realtek: Add some Clove SSID in the ALC293(ALC1220)
    ALSA: mixart: Fix mutex deadlock
  * ALSA: ctl: fix error path at adding user-defined element set
      sound/core/control.c
  * ALSA: usb-audio: Add delay quirk for all Logitech USB devices
      sound/usb/quirks.c
    ALSA: firewire: Clean up a locking issue in copy_resp_to_buf()
    speakup: Do not let the line discipline be used several times
  * libfs: fix error cast of negative value in simple_attr_write()
      fs/libfs.c
    efi/x86: Free efi_pgd with free_pages()
    xfs: revert "xfs: fix rmap key and record comparison functions"
    fail_function: Remove a redundant mutex unlock
    regulator: ti-abb: Fix array out of bound read access on the first transition
    xfs: strengthen rmap record flags checking
    xfs: fix the minrecs logic when dealing with inode root child blocks
    can: kvaser_usb: kvaser_usb_hydra: Fix KCAN bittiming limits
    drm/sun4i: dw-hdmi: fix error return code in sun8i_dw_hdmi_bind()
    MIPS: Alchemy: Fix memleak in alchemy_clk_setup_cpu
    ASoC: qcom: lpass-platform: Fix memory leak
    can: m_can: m_can_handle_state_change(): fix state change
    can: peak_usb: fix potential integer overflow on shift of a int
    can: mcba_usb: mcba_usb_start_xmit(): first fill skb, then pass to can_put_echo_skb()
    can: ti_hecc: Fix memleak in ti_hecc_probe
    can: dev: can_restart(): post buffer from the right context
    can: af_can: prevent potential access of uninitialized member in canfd_rcv()
    can: af_can: prevent potential access of uninitialized member in can_rcv()
  * ip_tunnels: Set tunnel option flag when tunnel metadata is present
      include/net/ip_tunnels.h
    perf lock: Don't free "lock_seq_stat" if read_count isn't zero
  * Input: resistive-adc-touch - fix kconfig dependency on IIO_BUFFER
      drivers/input/touchscreen/Kconfig
    ARM: dts: imx50-evk: Fix the chip select 1 IOMUX
    arm: dts: imx6qdl-udoo: fix rgmii phy-mode for ksz9031 phy
    arm64: dts: allwinner: h5: OrangePi Prime: Fix ethernet node
    MIPS: export has_transparent_hugepage() for modules
    Input: adxl34x - clean up a data type in adxl34x_probe()
    arm64: dts: allwinner: a64: bananapi-m64: Enable RGMII RX/TX delay on PHY
    ARM: dts: sun8i: a83t: Enable both RGMII RX/TX delay on Ethernet PHY
    ARM: dts: sun8i: h3: orangepi-plus2e: Enable RGMII RX/TX delay on Ethernet PHY
    Revert "arm: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active high"
    ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix ethernet node
    arm64: dts: allwinner: h5: OrangePi PC2: Fix ethernet node
    arm64: dts: allwinner: a64: Pine64 Plus: Fix ethernet node
  * vfs: remove lockdep bogosity in __sb_start_write
      fs/super.c
  * arm64: psci: Avoid printing in cpu_psci_cpu_die()
      arch/arm64/kernel/psci.c
    ACPI: button: Add DMI quirk for Medion Akoya E2228T
    selftests: kvm: Fix the segment descriptor layout to match the actual layout
  * scsi: ufs: Fix unbalanced scsi_block_reqs_cnt caused by ufshcd_hold()
      drivers/scsi/ufs/ufshcd.c
    pinctrl: rockchip: enable gpio pclk for rockchip_gpio_to_irq
    net: ftgmac100: Fix crash when removing driver
    net/ncsi: Fix netlink registration
    net: usb: qmi_wwan: Set DTR quirk for MR400
    net/mlx5: Disable QoS when min_rates on all VFs are zero
    tcp: only postpone PROBE_RTT if RTT is < current min_rtt estimate
  * sctp: change to hold/put transport for proto_unreach_timer
      net/sctp/input.c
      net/sctp/sm_sideeffect.c
      net/sctp/transport.c
    qlcnic: fix error return code in qlcnic_83xx_restart_hw()
    qed: fix error return code in qed_iwarp_ll2_start()
  * page_frag: Recover from memory pressure
      mm/page_alloc.c
    net: x25: Increase refcnt of "struct x25_neigh" in x25_rx_call_request
  * net: qualcomm: rmnet: Fix incorrect receive packet handling during cleanup
      drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c
    net/mlx4_core: Fix init_hca fields offset
  * netlabel: fix an uninitialized warning in netlbl_unlabel_staticlist()
      net/netlabel/netlabel_unlabeled.c
  * netlabel: fix our progress tracking in netlbl_unlabel_staticlist()
      net/netlabel/netlabel_unlabeled.c
    net: Have netpoll bring-up DSA management interface
    net: dsa: mv88e6xxx: Avoid VTU corruption on 6097
  * net: bridge: add missing counters to ndo_get_stats64 callback
      net/bridge/br_device.c
    net: b44: fix error return code in b44_init_one()
    mlxsw: core: Use variable timeout for EMAD retries
    lan743x: prevent entire kernel HANG on open, for some platforms
    lan743x: fix issue causing intermittent kernel log warnings
  * inet_diag: Fix error path to cancel the meseage in inet_req_diag_fill()
      net/ipv4/inet_diag.c
    devlink: Add missing genlmsg_cancel() in devlink_nl_sb_port_pool_fill()
    bnxt_en: read EEPROM A2h address using page 0
    atm: nicstar: Unmap DMA on send error
  * ah6: fix error return code in ah6_input()
      net/ipv6/ah6.c
    Merge 4.19.159 into android-4.19-stable
Linux 4.19.159
    ACPI: GED: fix -Wformat
    KVM: x86: clflushopt should be treated as a no-op by emulation
    can: proc: can_remove_proc(): silence remove_proc_entry warning
    mac80211: always wind down STA state
    Input: sunkbd - avoid use-after-free in teardown paths
    powerpc/8xx: Always fault when _PAGE_ACCESSED is not set
    Revert "perf cs-etm: Move definition of 'traceid_list' global variable from header file"
    powerpc/64s: flush L1D after user accesses
    powerpc/uaccess: Evaluate macro arguments once, before user access is allowed
    powerpc: Fix __clear_user() with KUAP enabled
    powerpc: Implement user_access_begin and friends
    powerpc: Add a framework for user access tracking
    powerpc/64s: flush L1D on kernel entry
    powerpc/64s: move some exception handlers out of line
    ANDROID: GKI: Update ABI for incfs and dm-user
    Revert "ANDROID: Add dependencies of dm-user.ko"
  * ANDROID: Incremental fs: Add zstd compression support
      fs/incfs/Kconfig
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.h
      include/uapi/linux/incrementalfs.h
  * ANDROID: Incremental fs: Small improvements
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
  * ANDROID: Incremental fs: Initialize mount options correctly
      fs/incfs/vfs.c
    ANDROID: Incremental fs: Fix read_log_test which failed sporadically
  * ANDROID: Incremental fs: Fix misuse of cpu_to_leXX and poll return
      fs/incfs/format.c
      fs/incfs/pseudo_files.c
  * ANDROID: Incremental fs: Add per UID read timeouts
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * ANDROID: Incremental fs: Add .incomplete folder
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
  * ANDROID: Incremental fs: Fix dangling else
      fs/incfs/data_mgmt.c
  * ANDROID: Incremental fs: Fix uninitialized variable
      fs/incfs/vfs.c
  * ANDROID: Incremental fs: Fix filled block count from get filled blocks
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
      fs/incfs/vfs.h
  * ANDROID: Incremental fs: Add hash block counts to IOC_IOCTL_GET_BLOCK_COUNT
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * ANDROID: Incremental fs: Add INCFS_IOC_GET_BLOCK_COUNT
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * ANDROID: Incremental fs: Make compatible with existing files
      fs/incfs/format.c
      fs/incfs/format.h
  * ANDROID: Incremental fs: Remove block HASH flag
      fs/incfs/format.c
      fs/incfs/format.h
  * ANDROID: Incremental fs: Remove back links and crcs
      fs/incfs/format.c
      fs/incfs/format.h
  * ANDROID: Incremental fs: Remove attributes from file
      fs/incfs/data_mgmt.c
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/pseudo_files.c
  * ANDROID: Incremental fs: Add .blocks_written file
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/pseudo_files.c
      fs/incfs/pseudo_files.h
      include/uapi/linux/incrementalfs.h
  * ANDROID: Incremental fs: Separate pseudo-file code
      fs/incfs/Makefile
      fs/incfs/pseudo_files.c
      fs/incfs/pseudo_files.h
      fs/incfs/vfs.c
      fs/incfs/vfs.h
  * ANDROID: Incremental fs: Add UID to pending_read
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/main.c
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * ANDROID: Incremental fs: Create mapped file
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * ANDROID: Incremental fs: Don't allow renaming .index directory.
      fs/incfs/vfs.c
  * ANDROID: Incremental fs: Fix incfs to work on virtio-9p
      fs/incfs/format.c
      fs/incfs/vfs.c
    ANDROID: Incremental fs: Allow running a single test
    ANDROID: Incremental fs: Adding perf test
    ANDROID: Incremental fs: Stress tool
  * ANDROID: Incremental fs: Use R/W locks to read/write segment blockmap.
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/vfs.c
  * ANDROID: Incremental fs: Remove unnecessary dependencies
      fs/incfs/Kconfig
  * ANDROID: Incremental fs: Remove annoying pr_debugs
      fs/incfs/data_mgmt.c
  * ANDROID: Incremental fs: dentry_revalidate should not return -EBADF.
      fs/incfs/vfs.c
  * ANDROID: Incremental fs: Fix minor bugs
      fs/incfs/data_mgmt.c
      fs/incfs/vfs.c
  * ANDROID: Incremental fs: RCU locks instead of mutex for pending_reads.
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
  * ANDROID: Incremental fs: fix up attempt to copy structures with READ/WRITE_ONCE
      fs/incfs/vfs.c
    Merge 4.19.158 into android-4.19-stable
    Revert "ANDROID: clang: update to 11.0.5"
Linux 4.19.158
    Convert trailing spaces and periods in path components
  * net: sch_generic: fix the missing new qdisc assignment bug
      net/sched/sch_generic.c
  * reboot: fix overflow parsing reboot cpu number
      kernel/reboot.c
  * Revert "kernel/reboot.c: convert simple_strtoul to kstrtoint"
      kernel/reboot.c
  * perf/core: Fix race in the perf_mmap_close() function
      kernel/events/core.c
    perf scripting python: Avoid declaring function pointers with a visibility attribute
    x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always-on STIBP
  * random32: make prandom_u32() output unpredictable
      drivers/char/random.c
      include/linux/prandom.h
      kernel/time/timer.c
      lib/random32.c
    r8169: fix potential skb double free in an error path
    vrf: Fix fast path output packet handling with async Netfilter rules
  * tipc: fix memory leak in tipc_topsrv_start()
      net/tipc/topsrv.c
    net/x25: Fix null-ptr-deref in x25_connect
  * net: Update window_clamp if SOCK_RCVBUF is set
      net/ipv4/syncookies.c
      net/ipv6/syncookies.c
    net/af_iucv: fix null pointer dereference on shutdown
  * IPv6: Set SIT tunnel hard_header_len to zero
      net/ipv6/sit.c
  * swiotlb: fix "x86: Don't panic if can not alloc buffer for swiotlb"
      kernel/dma/swiotlb.c
    erofs: derive atime instead of leaving it empty
    pinctrl: amd: fix incorrect way to disable debounce filter
    pinctrl: amd: use higher precision for 512 RtcClk
    drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]
  * don't dump the threads that had been already exiting when zapped.
      kernel/exit.c
    mmc: renesas_sdhi_core: Add missing tmio_mmc_host_free() at remove
    gpio: pcie-idio-24: Enable PEX8311 interrupts
    gpio: pcie-idio-24: Fix IRQ Enable Register value
    gpio: pcie-idio-24: Fix irq mask when masking
    selinux: Fix error return code in sel_ib_pkey_sid_slow()
    btrfs: fix potential overflow in cluster_pages_for_defrag on 32bit arch
    ocfs2: initialize ip_next_orphan
  * futex: Don't enable IRQs unconditionally in put_pi_state()
      kernel/futex.c
    mei: protect mei_cl_mtu from null dereference
    xhci: hisilicon: fix refercence leak in xhci_histb_probe
    usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode
  * uio: Fix use-after-free in uio_unregister_device()
      drivers/uio/uio.c
    thunderbolt: Add the missed ida_simple_remove() in ring_request_msix()
    thunderbolt: Fix memory leak if ida_simple_get() fails in enumerate_services()
    btrfs: dev-replace: fail mount if we don't have replace item with target device
    btrfs: ref-verify: fix memory leak in btrfs_ref_tree_mod
  * ext4: unlock xattr_sem properly in ext4_inline_data_truncate()
      fs/ext4/inline.c
  * ext4: correctly report "not supported" for {usr,grp}jquota when !CONFIG_QUOTA
      fs/ext4/super.c
  * perf: Fix get_recursion_context()
      kernel/events/internal.h
    cosa: Add missing kfree in error path of cosa_write
  * of/address: Fix of_node memory leak in of_dma_is_coherent
      drivers/of/address.c
    xfs: fix a missing unlock on error in xfs_fs_map_blocks
    lan743x: fix "BUG: invalid wait context" when setting rx mode
    xfs: fix brainos in the refcount scrubber's rmap fragment processor
    xfs: fix rmap key and record comparison functions
    xfs: set the unwritten bit in rmap lookup flags in xchk_bmap_get_rmapextents
    xfs: fix flags argument to rmap lookup when converting shared file rmaps
    nbd: fix a block_device refcount leak in nbd_release
    pinctrl: aspeed: Fix GPI only function problem.
    ARM: 9019/1: kprobes: Avoid fortify_panic() when copying optprobe template
    pinctrl: intel: Set default bias in case no particular value given
    mfd: sprd: Add wakeup capability for PMIC IRQ
  * tick/common: Touch watchdog in tick_unfreeze() on all CPUs
      kernel/time/tick-common.c
    tpm_tis: Disable interrupts on ThinkPad T490s
    selftests: proc: fix warning: _GNU_SOURCE redefined
    vfio: platform: fix reference leak in vfio_platform_open
    s390/smp: move rcu_cpu_starting() earlier
    iommu/amd: Increase interrupt remapping table limit to 512 entries
    scsi: scsi_dh_alua: Avoid crash during alua_bus_detach()
  * cfg80211: regulatory: Fix inconsistent format argument
      net/wireless/reg.c
    mac80211: fix use of skb payload instead of header
    drm/amd/pm: do not use ixFEATURE_STATUS for checking smc running
    drm/amd/pm: perform SMC reset on suspend/hibernation
    drm/amdgpu: perform srbm soft reset always on SDMA resume
    scsi: hpsa: Fix memory leak in hpsa_init_one()
    gfs2: check for live vs. read-only file system in gfs2_fitrim
    gfs2: Add missing truncate_inode_pages_final for sd_aspace
    gfs2: Free rd_bits later in gfs2_clear_rgrpd to fix use-after-free
    usb: gadget: goku_udc: fix potential crashes in probe
  * crypto: arm64/aes-modes - get rid of literal load of addend vector
      arch/arm64/crypto/aes-modes.S
  * netfilter: use actual socket sk rather than skb sk when routing harder
      include/linux/netfilter_ipv4.h
      include/linux/netfilter_ipv6.h
      net/ipv4/netfilter.c
      net/ipv4/netfilter/iptable_mangle.c
      net/ipv4/netfilter/nf_nat_l3proto_ipv4.c
      net/ipv4/netfilter/nf_reject_ipv4.c
      net/ipv6/netfilter.c
      net/ipv6/netfilter/ip6table_mangle.c
    ath9k_htc: Use appropriate rs_datalen type
    Btrfs: fix missing error return if writeback for extent buffer never started
    tpm: efi: Don't create binary_bios_measurements file for an empty log
    xfs: fix scrub flagging rtinherit even if there is no rt device
    xfs: flush new eof page on truncate to avoid post-eof corruption
    can: flexcan: remove FLEXCAN_QUIRK_DISABLE_MECR quirk for LS1021A
    can: peak_canfd: pucan_handle_can_rx(): fix echo management when loopback is on
    can: peak_usb: peak_usb_get_ts_time(): fix timestamp wrapping
    can: peak_usb: add range checking in decode operations
  * can: can_create_echo_skb(): fix echo skb generation: always use skb_clone()
      include/linux/can/skb.h
    can: dev: __can_get_echo_skb(): fix real payload length return value for RTR frames
    can: dev: can_get_echo_skb(): prevent call to kfree_skb() in hard IRQ context
    can: rx-offload: don't call kfree_skb() from IRQ context
    ALSA: hda: prevent undefined shift in snd_hdac_ext_bus_get_link()
    perf tools: Add missing swap for ino_generation
    netfilter: ipset: Update byte and packet counters regardless of whether they match
    xfs: set xefi_discard when creating a deferred agfl free log intent item
  * net: xfrm: fix a race condition during allocing spi
      net/xfrm/xfrm_state.c
    hv_balloon: disable warning when floor reached
  * genirq: Let GENERIC_IRQ_IPI select IRQ_DOMAIN_HIERARCHY
      kernel/irq/Kconfig
    btrfs: reschedule when cloning lots of extents
    btrfs: sysfs: init devices outside of the chunk_mutex
  * usb: dwc3: gadget: Reclaim extra TRBs after request completion
      drivers/usb/dwc3/gadget.c
  * usb: dwc3: gadget: Continue to process pending requests
      drivers/usb/dwc3/gadget.c
    nbd: don't update block size after device is started
  * time: Prevent undefined behaviour in timespec64_to_ns()
      include/linux/time64.h
      kernel/time/itimer.c
  * regulator: defer probe when trying to get voltage from unresolved supply
      drivers/regulator/core.c
  * FROMGIT: Input: Add devices for HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE
      drivers/hid/hid-ids.h
      drivers/hid/hid-quirks.c
  * ANDROID: arm64: Fix off-by-one vdso trampoline return value
      arch/arm64/include/asm/vdso.h
    ANDROID: Add dependencies of dm-user.ko
  * UPSTREAM: arm64: vdso: Add -fasynchronous-unwind-tables to cflags
      arch/arm64/kernel/vdso/Makefile
  * UPSTREAM: of: property: Fix create device links for all child-supplier dependencies
      drivers/of/property.c
  * UPSTREAM: of: property: Do not link to disabled devices
      drivers/of/property.c
  * UPSTREAM: drm: Fix doc warning in drm_connector_attach_edid_property()
      drivers/gpu/drm/drm_connector.c
  * UPSTREAM: selinux: fix non-MLS handling in mls_context_to_sid()
      security/selinux/ss/mls.c
  * UPSTREAM: drm/prime: Fix drm_gem_prime_mmap() stack use
      drivers/gpu/drm/drm_prime.c
  * UPSTREAM: crypto: chacha-generic - fix use as arm64 no-NEON fallback
      crypto/chacha_generic.c
    UPSTREAM: slab: store tagged freelist for off-slab slabmgmt
    UPSTREAM: parisc: Switch from DISCONTIGMEM to SPARSEMEM
  * UPSTREAM: cgroup: Move cgroup_parse_float() implementation out of CONFIG_SYSFS
      kernel/cgroup/cgroup.c
  * UPSTREAM: fork: don't check parent_tidptr with CLONE_PIDFD
      kernel/fork.c
  * UPSTREAM: vdso: Remove superfluous #ifdef __KERNEL__ in vdso/datapage.h
      include/vdso/datapage.h
  * UPSTREAM: arm64: compat: No need for pre-ARMv7 barriers on an ARMv8 system
      arch/arm64/include/asm/vdso/compat_barrier.h
  * UPSTREAM: timekeeping/vsyscall: Use __iter_div_u64_rem()
      kernel/time/vsyscall.c
  * UPSTREAM: kasan: remove clang version check for KASAN_STACK
      lib/Kconfig.kasan
  * UPSTREAM: page flags: prioritize kasan bits over last-cpuid
      include/linux/page-flags-layout.h
  * UPSTREAM: timekeeping/vsyscall: Prevent math overflow in BOOTTIME update
      include/linux/timekeeper_internal.h
      kernel/time/timekeeping.c
      kernel/time/vsyscall.c
    UPSTREAM: kcm: disable preemption in kcm_parse_func_strparser()
  * UPSTREAM: cfg80211: validate SSID/MBSSID element ordering assumption
      net/wireless/scan.c
    UPSTREAM: MIPS: VDSO: Fix build for binutils < 2.25
    UPSTREAM: virt_wifi: fix refcnt leak in module exit routine
  * UPSTREAM: sched/topology: Allow sched_asym_cpucapacity to be disabled
      kernel/sched/topology.c
  * UPSTREAM: scripts/tools-support-relr.sh: un-quote variables
      scripts/tools-support-relr.sh
  * UPSTREAM: fork: fix pidfd_poll()'s return type
      kernel/fork.c
    UPSTREAM: virt_wifi: fix use-after-free in virt_wifi_newlink()
  * UPSTREAM: of/platform: Unconditionally pause/resume sync state during kernel init
      drivers/of/platform.c
  * UPSTREAM: selinux: ensure the policy has been loaded before reading the sidtab stats
      security/selinux/ss/services.c
  * UPSTREAM: raid6/test: fix a compilation error
      include/linux/raid/pq.h
    UPSTREAM: PM: hibernate: fix crashes with init_on_free=1
    UPSTREAM: ARM: bcm2835_defconfig: Explicitly restore CONFIG_DEBUG_FS
    UPSTREAM: ARM: socfpga_defconfig: Add back DEBUG_FS
  * UPSTREAM: binderfs: use refcount for binder control devices too
      drivers/android/binderfs.c
    UPSTREAM: um: Fix header inclusion
  * UPSTREAM: PM: sleep: wakeup: Skip wakeup_source_sysfs_remove() if device is not there
      drivers/base/power/wakeup.c
  * UPSTREAM: Input: fix stale timestamp on key autorepeat events
      drivers/input/input.c
  * UPSTREAM: mm/filemap.c: don't bother dropping mmap_sem for zero size readahead
      mm/filemap.c
  * UPSTREAM: arm64: vdso: don't free unallocated pages
      arch/arm64/kernel/vdso.c
  * UPSTREAM: usb: typec: altmode: Fix typec_altmode_get_partner sometimes returning an invalid pointer
      drivers/usb/typec/bus.c
  * UPSTREAM: ipv6: ndisc: RFC-ietf-6man-ra-pref64-09 is now published as RFC8781
      include/net/ndisc.h
    UPSTREAM: s390/setup: init jump labels before command line parsing
  * UPSTREAM: dma-buf: free dmabuf->name in dma_buf_release()
      drivers/dma-buf/dma-buf.c
  * UPSTREAM: driver core: Don't do deferred probe in parallel with kernel_init thread
      drivers/base/base.h
      drivers/base/core.c
      drivers/base/dd.c
  * UPSTREAM: fscrypt: restrict IV_INO_LBLK_* to AES-256-XTS
      fs/crypto/policy.c
  * UPSTREAM: fscrypt: use smp_load_acquire() for fscrypt_prepared_key
      fs/crypto/fscrypt_private.h
      fs/crypto/inline_crypt.c
      fs/crypto/keysetup.c
  * UPSTREAM: mm/page_alloc: silence a KASAN false positive
      mm/page_alloc.c
  * UPSTREAM: ARM64: vdso32: Install vdso32 from vdso_install
      arch/arm64/Makefile
      arch/arm64/kernel/vdso32/Makefile
  * UPSTREAM: fscrypt: restrict IV_INO_LBLK_32 to ino_bits <= 32
      fs/crypto/policy.c
  * UPSTREAM: coresight: tmc: Fix bad register address for CLAIM
      drivers/hwtracing/coresight/coresight-tmc-etf.c
  * UPSTREAM: coresight: etm4x: Fix unused function warning
      drivers/hwtracing/coresight/coresight-etm4x.c
  * UPSTREAM: coresight: etm4x: Fix use-after-free of per-cpu etm drvdata
      drivers/hwtracing/coresight/coresight-etm4x.c
  * UPSTREAM: coresight: etm4x: Fix save/restore during cpu idle
      drivers/hwtracing/coresight/coresight-etm4x.c
      drivers/hwtracing/coresight/coresight-etm4x.h
  * UPSTREAM: coresight: etm4x: Handle unreachable sink in perf mode
      drivers/hwtracing/coresight/coresight-etm-perf.c
  * UPSTREAM: coresight: etm4x: Fix issues on trcseqevr access
      drivers/hwtracing/coresight/coresight-etm4x.c
  * UPSTREAM: coresight: etm: perf: Fix warning caused by etm_setup_aux failure
      drivers/hwtracing/coresight/coresight-etm-perf.c
  * UPSTREAM: coresight: etm4x: Fix save and restore of TRCVMIDCCTLR1 register
      drivers/hwtracing/coresight/coresight-etm4x.c
    Merge 4.19.157 into android-4.19-stable
Linux 4.19.157
    powercap: restrict energy meter to root access
  * Revert "ANDROID: Kbuild, LLVMLinux: allow overriding clang target triple"
      Makefile
      build.config.aarch64
      build.config.allmodconfig
      build.config.arm
      build.config.x86_64
    Merge 4.19.156 into android-4.19-stable
Linux 4.19.156
    arm64: dts: marvell: espressobin: Add ethernet switch aliases
  * net: dsa: read mac address from DT for slave device
      include/net/dsa.h
    tools: perf: Fix build error in v4.19.y
  * perf/core: Fix a memory leak in perf_event_parse_addr_filter()
      kernel/events/core.c
  * PM: runtime: Resume the device earlier in __device_release_driver()
      drivers/base/dd.c
    Revert "ARC: entry: fix potential EFA clobber when TIF_SYSCALL_TRACE"
    ARC: stack unwinding: avoid indefinite looping
    usb: mtu3: fix panic in mtu3_gadget_stop()
  * USB: Add NO_LPM quirk for Kingston flash drive
      drivers/usb/core/quirks.c
    USB: serial: option: add Telit FN980 composition 0x1055
    USB: serial: option: add LE910Cx compositions 0x1203, 0x1230, 0x1231
    USB: serial: option: add Quectel EC200T module support
    USB: serial: cyberjack: fix write-URB completion race
    serial: txx9: add missing platform_driver_unregister() on error in serial_txx9_init
    serial: 8250_mtk: Fix uart_get_baud_rate warning
  * fork: fix copy_process(CLONE_PARENT) race with the exiting ->real_parent
      kernel/fork.c
    vt: Disable KD_FONT_OP_COPY
    ACPI: NFIT: Fix comparison to '-ENXIO'
    drm/vc4: drv: Add error handding for bind
    vsock: use ns_capable_noaudit() on socket create
  * scsi: core: Don't start concurrent async scan on same host
      drivers/scsi/scsi_scan.c
  * blk-cgroup: Pre-allocate tree node on blkg_conf_prep
      block/blk-cgroup.c
  * blk-cgroup: Fix memleak on error path
      block/blk-cgroup.c
  * of: Fix reserved-memory overlap detection
      drivers/of/of_reserved_mem.c
    x86/kexec: Use up-to-dated screen_info copy to fill boot params
    ARM: dts: sun4i-a10: fix cpu_alert temperature
  * futex: Handle transient "ownerless" rtmutex state correctly
      kernel/futex.c
  * tracing: Fix out of bounds write in get_trace_buf
      kernel/trace/trace.c
  * ftrace: Handle tracing when switching between context
      kernel/trace/trace.h
  * ftrace: Fix recursion check for NMI test
      kernel/trace/trace.h
  * ring-buffer: Fix recursion protection transitions between interrupt context
      kernel/trace/ring_buffer.c
    gfs2: Wake up when sd_glock_disposal becomes zero
  * mm: always have io_remap_pfn_range() set pgprot_decrypted()
      include/asm-generic/pgtable.h
      include/linux/mm.h
  * kthread_worker: prevent queuing delayed work from timer_fn when it is being canceled
      kernel/kthread.c
    lib/crc32test: remove extra local_irq_disable/enable
    mm: mempolicy: fix potential pte_unmap_unlock pte error
  * ALSA: usb-audio: Add implicit feedback quirk for MODX
      sound/usb/pcm.c
  * ALSA: usb-audio: Add implicit feedback quirk for Qu-16
      sound/usb/pcm.c
  * ALSA: usb-audio: add usb vendor id as DSD-capable for Khadas devices
      sound/usb/quirks.c
  * ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2
      sound/usb/pcm.c
    Fonts: Replace discarded const qualifier
    btrfs: tree-checker: fix the error message for transid error
    btrfs: tree-checker: Verify inode item
    btrfs: tree-checker: Enhance chunk checker to validate chunk profile
    btrfs: tree-checker: Fix wrong check on max devid
    btrfs: tree-checker: Verify dev item
    btrfs: tree-checker: Check chunk item at tree block read time
    btrfs: tree-checker: Make btrfs_check_chunk_valid() return EUCLEAN instead of EIO
    btrfs: tree-checker: Make chunk item checker messages more readable
    btrfs: Move btrfs_check_chunk_valid() to tree-check.[ch] and export it
    btrfs: Don't submit any btree write bio if the fs has errors
    Btrfs: fix unwritten extent buffers and hangs on future writeback attempts
    btrfs: extent_io: add proper error handling to lock_extent_buffer_for_io()
    btrfs: extent_io: Handle errors better in btree_write_cache_pages()
    btrfs: extent_io: Handle errors better in extent_write_full_page()
    btrfs: flush write bio if we loop in extent_write_cache_pages
    Revert "btrfs: flush write bio if we loop in extent_write_cache_pages"
    btrfs: extent_io: Move the BUG_ON() in flush_write_bio() one level up
    btrfs: extent_io: Kill the forward declaration of flush_write_bio
  * blktrace: fix debugfs use after free
      kernel/trace/blktrace.c
    sfp: Fix error handing in sfp_probe()
  * sctp: Fix COMM_LOST/CANT_STR_ASSOC err reporting on big-endian platforms
      net/sctp/sm_sideeffect.c
    net: usb: qmi_wwan: add Telit LE910Cx 0x1230 composition
    gianfar: Account for Tx PTP timestamp in the skb headroom
    gianfar: Replace skb_realloc_headroom with skb_cow_head for PTP
    chelsio/chtls: fix always leaking ctrl_skb
    chelsio/chtls: fix memory leaks caused by a race
    cadence: force nonlinear buffers to be cloned
  * ptrace: fix task_join_group_stop() for the case when current is traced
      kernel/signal.c
  * tipc: fix use-after-free in tipc_bcast_get_mode
      net/tipc/core.c
    drm/i915: Break up error capture compression loops with cond_resched()
  * ANDROID: fuse: Add support for d_canonical_path
      fs/fuse/dev.c
      fs/fuse/dir.c
      fs/fuse/fuse_i.h
      include/uapi/linux/fuse.h
  * ANDROID: vfs: add d_canonical_path for stacked filesystem support
      fs/notify/inotify/inotify_user.c
      include/linux/dcache.h
      include/linux/fsnotify.h
  * ANDROID: Temporarily disable XFRM_USER_COMPAT filtering
      net/xfrm/xfrm_state.c
      net/xfrm/xfrm_user.c
    Merge 4.19.155 into android-4.19-stable
Linux 4.19.155
    staging: octeon: Drop on uncorrectable alignment or FCS error
    staging: octeon: repair "fixed-link" support
    staging: comedi: cb_pcidas: Allow 2-channel commands for AO subdevice
  * KVM: arm64: Fix AArch32 handling of DBGD{CCINT,SCRext} and DBGVCR
      arch/arm64/include/asm/kvm_host.h
  * device property: Don't clear secondary pointer for shared primary firmware node
      drivers/base/core.c
  * device property: Keep secondary firmware node secondary by type
      drivers/base/core.c
    ARM: s3c24xx: fix missing system reset
    ARM: samsung: fix PM debug build with DEBUG_LL but !MMU
    arm: dts: mt7623: add missing pause for switchport
  * hil/parisc: Disable HIL driver when it gets stuck
      include/linux/hil_mlc.h
    cachefiles: Handle readpage error correctly
  * arm64: berlin: Select DW_APB_TIMER_OF
      arch/arm64/Kconfig.platforms
    tty: make FONTX ioctl use the tty pointer they were actually passed
    rtc: rx8010: don't modify the global rtc ops
    drm/ttm: fix eviction valuable range check.
  * ext4: fix invalid inode checksum
      fs/ext4/inode.c
  * ext4: fix error handling code in add_new_gdb
      fs/ext4/resize.c
  * ext4: fix leaking sysfs kobject after failed mount
      fs/ext4/super.c
    vringh: fix __vringh_iov() when riov and wiov are different
  * ring-buffer: Return 0 on success from ring_buffer_resize()
      kernel/trace/ring_buffer.c
    9P: Cast to loff_t before multiplying
    libceph: clear con->out_msg on Policy::stateful_server faults
    ceph: promote to unsigned long long before shifting
    drm/amd/display: Don't invoke kgdb_breakpoint() unconditionally
    drm/amdgpu: don't map BO in reserved region
    i2c: imx: Fix external abort on interrupt in exit paths
    ia64: fix build error with !COREDUMP
    ubi: check kthread_should_stop() after the setting of task state
    perf python scripting: Fix printable strings in python3 scripts
    ubifs: dent: Fix some potential memory leaks while iterating entries
    NFSD: Add missing NFSv2 .pc_func methods
  * NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag
      include/uapi/linux/nfs4.h
    powerpc: Fix undetected data corruption with P9N DD2.1 VSX CI load emulation
    powerpc/powernv/elog: Fix race while processing OPAL error log event.
    powerpc: Warn about use of smt_snooze_delay
    powerpc/rtas: Restrict RTAS requests from userspace
    s390/stp: add locking to sysfs functions
    powerpc/drmem: Make lmb_size 64 bit
    iio:gyro:itg3200: Fix timestamp alignment and prevent data leak.
    iio:adc:ti-adc12138 Fix alignment issue with timestamp
    iio:adc:ti-adc0832 Fix alignment issue with timestamp
    iio:light:si1145: Fix timestamp alignment and prevent data leak.
    dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status
    udf: Fix memory leak when mounting
    HID: wacom: Avoid entering wacom_wac_pen_report for pad / battery
    vt: keyboard, extend func_buf_lock to readers
    vt: keyboard, simplify vt_kdgkbsent
    drm/i915: Force VT'd workarounds when running as a guest OS
    usb: host: fsl-mph-dr-of: check return of dma_set_mask()
    usb: typec: tcpm: reset hard_reset_count for any disconnect
    usb: cdc-acm: fix cooldown mechanism
  * usb: dwc3: core: don't trigger runtime pm when remove driver
      drivers/usb/dwc3/core.c
  * usb: dwc3: core: add phy cleanup for probe error handling
      drivers/usb/dwc3/core.c
  * usb: dwc3: gadget: Check MPS of the request length
      drivers/usb/dwc3/gadget.c
  * usb: dwc3: ep0: Fix ZLP for OUT ep0 requests
      drivers/usb/dwc3/ep0.c
  * usb: xhci: Workaround for S3 issue on AMD SNPS 3.0 xHC
      drivers/usb/host/xhci-pci.c
      drivers/usb/host/xhci.h
    btrfs: fix use-after-free on readahead extent after failure to create it
    btrfs: cleanup cow block on error
    btrfs: use kvzalloc() to allocate clone_roots in btrfs_ioctl_send()
    btrfs: send, recompute reference path after orphanization of a directory
    btrfs: reschedule if necessary when logging directory items
    btrfs: improve device scanning messages
    btrfs: qgroup: fix wrong qgroup metadata reserve for delayed inode
    scsi: qla2xxx: Fix crash on session cleanup with unload
    scsi: mptfusion: Fix null pointer dereferences in mptscsih_remove()
    w1: mxc_w1: Fix timeout resolution problem leading to bus error
    acpi-cpufreq: Honor _PSD table setting on new AMD CPUs
    ACPI: debug: don't allow debugging when ACPI is disabled
    ACPI: video: use ACPI backlight for HP 635 Notebook
    ACPI / extlog: Check for RDMSR failure
    ACPI: button: fix handling lid state changes when input device closed
    NFS: fix nfs_path in case of a rename retry
  * fs: Don't invalidate page buffers in block_write_full_page()
      fs/buffer.c
    media: uvcvideo: Fix uvc_ctrl_fixup_xu_info() not having any effect
    leds: bcm6328, bcm6358: use devres LED registering function
    perf/x86/amd/ibs: Fix raw sample data accumulation
    perf/x86/amd/ibs: Don't include randomized bits in get_ibs_op_count()
    mmc: sdhci-acpi: AMDI0040: Set SDHCI_QUIRK2_PRESET_VALUE_BROKEN
    md/raid5: fix oops during stripe resizing
    nvme-rdma: fix crash when connect rejected
  * sgl_alloc_order: fix memory leak
      lib/scatterlist.c
    nbd: make the config put is called before the notifying the waiter
    ARM: dts: s5pv210: remove dedicated 'audio-subsystem' node
    ARM: dts: s5pv210: move PMU node out of clock controller
    ARM: dts: s5pv210: remove DMA controller bus node name to fix dtschema warnings
    memory: emif: Remove bogus debugfs error handling
    ARM: dts: omap4: Fix sgx clock rate for 4430
    arm64: dts: renesas: ulcb: add full-pwr-cycle-in-suspend into eMMC nodes
    cifs: handle -EINTR in cifs_setattr
    gfs2: add validation checks for size of superblock
  * ext4: Detect already used quota file early
      fs/ext4/super.c
    drivers: watchdog: rdc321x_wdt: Fix race condition bugs
    net: 9p: initialize sun_server.sun_path to have addr's value only when addr is valid
    clk: ti: clockdomain: fix static checker warning
  * rpmsg: glink: Use complete_all for open states
      drivers/rpmsg/qcom_glink_native.c
    bnxt_en: Log unknown link speed appropriately.
    md/bitmap: md_bitmap_get_counter returns wrong blocks
    btrfs: fix replace of seed device
    drm/amd/display: HDMI remote sink need mode validation for Linux
    power: supply: test_power: add missing newlines when printing parameters by sysfs
    bus/fsl_mc: Do not rely on caller to provide non NULL mc_io
    drivers/net/wan/hdlc_fr: Correctly handle special skb->protocol values
    ACPI: Add out of bounds and numa_off protections to pxm_to_node()
    xfs: don't free rt blocks when we're doing a REMAP bunmapi call
  * arm64/mm: return cpu_all_mask when node is NUMA_NO_NODE
      arch/arm64/include/asm/numa.h
  * usb: xhci: omit duplicate actions when suspending a runtime suspended host.
      drivers/usb/host/xhci.c
  * uio: free uio id after uio file node is freed
      drivers/uio/uio.c
    USB: adutux: fix debugging
    cpufreq: sti-cpufreq: add stih418 support
    riscv: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO
    media: uvcvideo: Fix dereference of out-of-bound list iterator
    kgdb: Make "kgdbcon" work properly with "kgdb_earlycon"
    ia64: kprobes: Use generic kretprobe trampoline handler
  * printk: reduce LOG_BUF_SHIFT range for H8300
      init/Kconfig
  * arm64: topology: Stop using MPIDR for topology information
      arch/arm64/kernel/topology.c
    drm/bridge/synopsys: dsi: add support for non-continuous HS clock
    mmc: via-sdmmc: Fix data race bug
    media: imx274: fix frame interval handling
    media: tw5864: check status of tw5864_frameinterval_get
  * usb: typec: tcpm: During PR_SWAP, source caps should be sent only after tSwapSourceStart
      include/linux/usb/pd.h
    media: platform: Improve queue set up flow for bug fixing
  * media: videodev2.h: RGB BT2020 and HSV are always full range
      include/uapi/linux/videodev2.h
    drm/brige/megachips: Add checking if ge_b850v3_lvds_init() is working correctly
    ath10k: fix VHT NSS calculation when STBC is enabled
    ath10k: start recovery process when payload length exceeds max htc length for sdio
    video: fbdev: pvr2fb: initialize variables
    xfs: fix realtime bitmap/summary file truncation when growing rt volume
    power: supply: bq27xxx: report "not charging" on all types
    ARM: 8997/2: hw_breakpoint: Handle inexact watchpoint addresses
    um: change sigio_spinlock to a mutex
  * f2fs: fix to check segment boundary during SIT page readahead
      fs/f2fs/checkpoint.c
  * f2fs: fix uninit-value in f2fs_lookup
      fs/f2fs/dir.c
  * f2fs: add trace exit in exception path
      fs/f2fs/checkpoint.c
    sparc64: remove mm_cpumask clearing to fix kthread_use_mm race
    powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM
  * mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race
      arch/Kconfig
      fs/exec.c
    powerpc/powernv/smp: Fix spurious DBG() warning
  * futex: Fix incorrect should_fail_futex() handling
      kernel/futex.c
    ata: sata_nv: Fix retrieving of active qcs
    RDMA/qedr: Fix memory leak in iWARP CM
    mlxsw: core: Fix use-after-free in mlxsw_emad_trans_finish()
    x86/unwind/orc: Fix inactive tasks with stack pointer in %sp on GCC 10 compiled kernels
    xen/events: block rogue events for some time
    xen/events: defer eoi in case of excessive number of events
    xen/events: use a common cpu hotplug hook for event channels
    xen/events: switch user event channels to lateeoi model
    xen/pciback: use lateeoi irq binding
    xen/pvcallsback: use lateeoi irq binding
    xen/scsiback: use lateeoi irq binding
    xen/netback: use lateeoi irq binding
    xen/blkback: use lateeoi irq binding
  * xen/events: add a new "late EOI" evtchn framework
      include/xen/events.h
    xen/events: fix race in evtchn_fifo_unmask()
    xen/events: add a proper barrier to 2-level uevent unmasking
    xen/events: avoid removing an event channel while handling it
    xen/events: don't use chip_data for legacy IRQs
  * Revert "block: ratelimit handle_bad_sector() message"
      block/blk-core.c
  * fscrypt: fix race where ->lookup() marks plaintext dentry as ciphertext
      fs/crypto/fname.c
      fs/crypto/hooks.c
      fs/ext4/ext4.h
      fs/ext4/namei.c
      fs/f2fs/namei.c
      include/linux/fscrypt.h
  * fscrypt: only set dentry_operations on ciphertext dentries
      fs/crypto/hooks.c
  * fs, fscrypt: clear DCACHE_ENCRYPTED_NAME when unaliasing directory
      fs/dcache.c
  * fscrypt: fix race allowing rename() and link() of ciphertext dentries
      fs/crypto/hooks.c
      include/linux/fscrypt.h
  * fscrypt: clean up and improve dentry revalidation
      fs/crypto/crypto.c
      fs/crypto/hooks.c
      include/linux/dcache.h
      include/linux/fscrypt.h
  * fscrypt: return -EXDEV for incompatible rename or link into encrypted dir
      fs/crypto/hooks.c
      fs/crypto/policy.c
      include/linux/fscrypt.h
    ata: sata_rcar: Fix DMA boundary mask
    serial: pl011: Fix lockdep splat when handling magic-sysrq interrupt
  * mtd: lpddr: Fix bad logic in print_drs_error
      include/linux/mtd/pfow.h
    RDMA/addr: Fix race with netevent_callback()/rdma_addr_cancel()
    cxl: Rework error message for incompatible slots
    p54: avoid accessing the data mapped to streaming DMA
    evm: Check size of security.evm before using it
  * bpf: Fix comment for helper bpf_current_task_under_cgroup()
      include/uapi/linux/bpf.h
  * fuse: fix page dereference after free
      fs/fuse/dev.c
    x86/xen: disable Firmware First mode for correctable memory errors
    arch/x86/amd/ibs: Fix re-arming IBS Fetch
    cxgb4: set up filter action after rewrites
    r8169: fix issue with forced threading in combination with shared interrupts
  * tipc: fix memory leak caused by tipc_buf_append()
      net/tipc/msg.c
  * tcp: Prevent low rmem stalls with SO_RCVLOWAT.
      net/ipv4/tcp.c
      net/ipv4/tcp_input.c
    ravb: Fix bit fields checking in ravb_hwtstamp_get()
  * netem: fix zero division in tabledist
      net/sched/sch_netem.c
    mlxsw: core: Fix memory leak on module removal
    gtp: fix an use-before-init in gtp_newlink()
    chelsio/chtls: fix tls record info to user
    chelsio/chtls: fix memory leaks in CPL handlers
    chelsio/chtls: fix deadlock issue
    efivarfs: Replace invalid slashes with exclamation marks in dentries.
    x86/PCI: Fix intel_mid_pci.c build error when ACPI is not enabled
  * arm64: link with -z norelro regardless of CONFIG_RELOCATABLE
      arch/arm64/Makefile
  * arm64: Run ARCH_WORKAROUND_1 enabling code on all CPUs
      arch/arm64/kernel/cpu_errata.c
  * scripts/setlocalversion: make git describe output more reliable
      scripts/setlocalversion
    objtool: Support Clang non-section symbols in ORC generation
    ANDROID: GKI: Enable DEBUG_INFO_DWARF4
  * UPSTREAM: mm/sl[uo]b: export __kmalloc_track(_node)_caller
      mm/slub.c
  * BACKPORT: xfrm/compat: Translate 32-bit user_policy from sockptr
      include/net/xfrm.h
      net/xfrm/xfrm_state.c
  * BACKPORT: xfrm/compat: Add 32=>64-bit messages translator
      include/net/xfrm.h
      net/xfrm/Kconfig
      net/xfrm/xfrm_user.c
  * UPSTREAM: xfrm/compat: Attach xfrm dumps to 64=>32 bit translator
      net/xfrm/xfrm_user.c
  * UPSTREAM: xfrm/compat: Add 64=>32-bit messages translator
      include/net/xfrm.h
      net/xfrm/xfrm_user.c
  * BACKPORT: xfrm: Provide API to register translator module
      include/net/xfrm.h
      net/xfrm/Kconfig
      net/xfrm/Makefile
      net/xfrm/xfrm_state.c
  * ANDROID: Publish uncompressed Image on aarch64
      build.config.aarch64
    FROMLIST: crypto: arm64/poly1305-neon - reorder PAC authentication with SP update
    UPSTREAM: crypto: arm64/chacha - fix chacha_4block_xor_neon() for big endian
    UPSTREAM: crypto: arm64/chacha - fix hchacha_block_neon() for big endian
    Merge 4.19.154 into android-4.19-stable
Linux 4.19.154
  * usb: gadget: f_ncm: allow using NCM in SuperSpeed Plus gadgets.
      drivers/usb/gadget/function/f_ncm.c
    eeprom: at25: set minimum read/write access stride to 1
    USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync().
    usb: cdc-acm: add quirk to blacklist ETAS ES58X devices
    tty: serial: fsl_lpuart: fix lpuart32_poll_get_char
    net: korina: cast KSEG0 address to pointer in kfree
    ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n()
  * scsi: ufs: ufs-qcom: Fix race conditions caused by ufs_qcom_testbus_config()
      drivers/scsi/ufs/ufs-qcom.c
  * usb: core: Solve race condition in anchor cleanup functions
      drivers/usb/core/urb.c
    brcm80211: fix possible memleak in brcmf_proto_msgbuf_attach
    mwifiex: don't call del_timer_sync() on uninitialized timer
    reiserfs: Fix memory leak in reiserfs_parse_options()
    ipvs: Fix uninit-value in do_ip_vs_set_ctl()
    tty: ipwireless: fix error handling
    scsi: qedi: Fix list_del corruption while removing active I/O
    scsi: qedi: Protect active command list to avoid list corruption
    Fix use after free in get_capset_info callback.
    rtl8xxxu: prevent potential memory leak
    brcmsmac: fix memory leak in wlc_phy_attach_lcnphy
    scsi: ibmvfc: Fix error return in ibmvfc_probe()
  * Bluetooth: Only mark socket zapped after unlocking
      net/bluetooth/l2cap_sock.c
  * usb: ohci: Default to per-port over-current protection
      drivers/usb/host/ohci-hcd.c
    xfs: make sure the rt allocator doesn't run off the end
    reiserfs: only call unlock_new_inode() if I_NEW
    misc: rtsx: Fix memory leak in rtsx_pci_probe
    ath9k: hif_usb: fix race condition between usb_get_urb() and usb_kill_anchored_urbs()
    can: flexcan: flexcan_chip_stop(): add error handling and propagate error value
  * usb: dwc3: simple: add support for Hikey 970
      drivers/usb/dwc3/dwc3-of-simple.c
    USB: cdc-acm: handle broken union descriptors
    udf: Avoid accessing uninitialized data on failed inode read
    udf: Limit sparing table size
    usb: gadget: function: printer: fix use-after-free in __lock_acquire
    misc: vop: add round_up(x,4) for vring_size to avoid kernel panic
    mic: vop: copy data to kernel space then write to io memory
  * scsi: target: core: Add CONTROL field for trace events
      include/scsi/scsi_common.h
      include/trace/events/target.h
    scsi: mvumi: Fix error return in mvumi_io_attach()
    PM: hibernate: remove the bogus call to get_gendisk() in software_resume()
    mac80211: handle lack of sband->bitrates in rates
    ip_gre: set dev->hard_header_len and dev->needed_headroom properly
    ntfs: add check for mft record size in superblock
    media: venus: core: Fix runtime PM imbalance in venus_probe
    fs: dlm: fix configfs memory leak
    media: saa7134: avoid a shift overflow
    mmc: sdio: Check for CISTPL_VERS_1 buffer size
    media: uvcvideo: Ensure all probed info is returned to v4l2
    media: media/pci: prevent memory leak in bttv_probe
    media: bdisp: Fix runtime PM imbalance on error
    media: platform: sti: hva: Fix runtime PM imbalance on error
    media: platform: s3c-camif: Fix runtime PM imbalance on error
    media: vsp1: Fix runtime PM imbalance on error
    media: exynos4-is: Fix a reference count leak
    media: exynos4-is: Fix a reference count leak due to pm_runtime_get_sync
    media: exynos4-is: Fix several reference count leaks due to pm_runtime_get_sync
    media: sti: Fix reference count leaks
    media: st-delta: Fix reference count leak in delta_run_work
    media: ati_remote: sanity check for both endpoints
    media: firewire: fix memory leak
    crypto: ccp - fix error handling
  * block: ratelimit handle_bad_sector() message
      block/blk-core.c
    i2c: core: Restore acpi_walk_dep_device_list() getting called after registering the ACPI i2c devs
  * perf: correct SNOOPX field offset
      include/uapi/linux/perf_event.h
  * sched/features: Fix !CONFIG_JUMP_LABEL case
      kernel/sched/core.c
      kernel/sched/sched.h
    NTB: hw: amd: fix an issue about leak system resources
    nvmet: fix uninitialized work for zero kato
    powerpc/powernv/dump: Fix race while processing OPAL dump
    arm64: dts: zynqmp: Remove additional compatible string for i2c IPs
    ARM: dts: owl-s500: Fix incorrect PPI interrupt specifiers
    arm64: dts: qcom: msm8916: Fix MDP/DSI interrupts
    arm64: dts: qcom: pm8916: Remove invalid reg size from wcd_codec
    memory: fsl-corenet-cf: Fix handling of platform_get_irq() error
    memory: omap-gpmc: Fix build error without CONFIG_OF
    memory: omap-gpmc: Fix a couple off by ones
    ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix dcdc1 regulator
    ARM: dts: imx6sl: fix rng node
    netfilter: nf_fwd_netdev: clear timestamp in forwarding path
  * netfilter: conntrack: connection timeout after re-register
      net/netfilter/nf_conntrack_proto_tcp.c
    KVM: x86: emulating RDPID failure shall return #UD rather than #GP
    Input: sun4i-ps2 - fix handling of platform_get_irq() error
    Input: twl4030_keypad - fix handling of platform_get_irq() error
    Input: omap4-keypad - fix handling of platform_get_irq() error
    Input: ep93xx_keypad - fix handling of platform_get_irq() error
    Input: stmfts - fix a & vs && typo
    Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume()
    SUNRPC: fix copying of multiple pages in gss_read_proxy_verf()
    vfio iommu type1: Fix memory leak in vfio_iommu_type1_pin_pages
    vfio/pci: Clear token on bypass registration failure
  * ext4: limit entries returned when counting fsmap records
      fs/ext4/fsmap.c
    svcrdma: fix bounce buffers for unaligned offsets and multiple pages
    watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3
  * watchdog: Use put_device on error
      drivers/watchdog/watchdog_dev.c
  * watchdog: Fix memleak in watchdog_cdev_register
      drivers/watchdog/watchdog_dev.c
    clk: bcm2835: add missing release if devm_clk_hw_register fails
    clk: at91: clk-main: update key before writing AT91_CKGR_MOR
    clk: rockchip: Initialize hw to error to avoid undefined behavior
    pwm: img: Fix null pointer access in probe
    rpmsg: smd: Fix a kobj leak in in qcom_smd_parse_edge()
    PCI: iproc: Set affinity mask on MSI interrupts
  * i2c: rcar: Auto select RESET_CONTROLLER
      drivers/i2c/busses/Kconfig
  * mailbox: avoid timer start from callback
      drivers/mailbox/mailbox.c
    rapidio: fix the missed put_device() for rio_mport_add_riodev
    rapidio: fix error handling path
    ramfs: fix nommu mmap with gaps in the page cache
  * lib/crc32.c: fix trivial typo in preprocessor condition
      lib/crc32.c
  * f2fs: wait for sysfs kobject removal before freeing f2fs_sb_info
      fs/f2fs/sysfs.c
    IB/rdmavt: Fix sizeof mismatch
    cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_reboot_notifier
    powerpc/perf/hv-gpci: Fix starting index value
    powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints
  * overflow: Include header file with SIZE_MAX declaration
      include/linux/overflow.h
    kdb: Fix pager search for multi-line strings
    RDMA/hns: Fix missing sq_sig_type when querying QP
    RDMA/hns: Set the unsupported wr opcode
    perf intel-pt: Fix "context_switch event has no tid" error
    RDMA/cma: Consolidate the destruction of a cma_multicast in one place
    RDMA/cma: Remove dead code for kernel rdmacm multicast
    powerpc/64s/radix: Fix mm_cpumask trimming race vs kthread_use_mm
    powerpc/tau: Disable TAU between measurements
    powerpc/tau: Check processor type before enabling TAU interrupt
    ANDROID: GKI: update the ABI xml
    Merge 4.19.153 into android-4.19-stable
Linux 4.19.153
    powerpc/tau: Remove duplicated set_thresholds() call
    powerpc/tau: Convert from timer to workqueue
    powerpc/tau: Use appropriate temperature sample interval
    RDMA/qedr: Fix inline size returned for iWARP
    RDMA/qedr: Fix use of uninitialized field
    xfs: fix high key handling in the rt allocator's query_range function
    xfs: limit entries returned when counting fsmap records
    arc: plat-hsdk: fix kconfig dependency warning when !RESET_CONTROLLER
    ARM: 9007/1: l2c: fix prefetch bits init in L2X0_AUX_CTRL using DT values
    mtd: mtdoops: Don't write panic data twice
    powerpc/pseries: explicitly reschedule during drmem_lmb list traversal
    mtd: lpddr: fix excessive stack usage with clang
    RDMA/ucma: Add missing locking around rdma_leave_multicast()
    RDMA/ucma: Fix locking for ctx->events_reported
    powerpc/icp-hv: Fix missing of_node_put() in success path
    powerpc/pseries: Fix missing of_node_put() in rng_init()
    IB/mlx4: Adjust delayed work when a dup is observed
    IB/mlx4: Fix starvation in paravirt mux/demux
  * mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary
      fs/proc/base.c
      include/linux/oom.h
      include/linux/sched/coredump.h
      kernel/fork.c
      mm/oom_kill.c
  * mm/memcg: fix device private memcg accounting
      mm/memcontrol.c
  * netfilter: nf_log: missing vlan offload tag and proto
      include/net/netfilter/nf_log.h
      net/ipv4/netfilter/nf_log_ipv4.c
      net/ipv6/netfilter/nf_log_ipv6.c
      net/netfilter/nf_log_common.c
    net: korina: fix kfree of rx/tx descriptor array
    ipvs: clear skb->tstamp in forwarding path
    mwifiex: fix double free
    platform/x86: mlx-platform: Remove PSU EEPROM configuration
    scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs()
    scsi: target: tcmu: Fix warning: 'page' may be used uninitialized
    usb: dwc2: Fix INTR OUT transfers in DDMA mode.
  * nl80211: fix non-split wiphy information
      net/wireless/nl80211.c
  * usb: gadget: u_ether: enable qmult on SuperSpeed Plus as well
      drivers/usb/gadget/function/u_ether.c
  * usb: gadget: f_ncm: fix ncm_bitrate for SuperSpeed and above.
      drivers/usb/gadget/function/f_ncm.c
    iwlwifi: mvm: split a print to avoid a WARNING in ROC
    mfd: sm501: Fix leaks in probe()
    net: enic: Cure the enic api locking trainwreck
    qtnfmac: fix resource leaks on unsupported iftype error return path
  * HID: hid-input: fix stylus battery reporting
      drivers/hid/hid-input.c
    slimbus: qcom-ngd-ctrl: disable ngd in qmi server down callback
    slimbus: core: do not enter to clock pause mode in core
    slimbus: core: check get_addr before removing laddr ida
  * quota: clear padding in v2r1_mem2diskdqb()
      fs/quota/quota_v2.c
    usb: dwc2: Fix parameter type in function pointer prototype
    ALSA: seq: oss: Avoid mutex lock for a long-time ioctl
    misc: mic: scif: Fix error handling path
    ath6kl: wmi: prevent a shift wrapping bug in ath6kl_wmi_delete_pstream_cmd()
    net: dsa: rtl8366rb: Support all 4096 VLANs
    net: dsa: rtl8366: Skip PVID setting if not requested
    net: dsa: rtl8366: Refactor VLAN/PVID init
    net: dsa: rtl8366: Check validity of passed VLANs
    cpufreq: armada-37xx: Add missing MODULE_DEVICE_TABLE
    net: stmmac: use netif_tx_start|stop_all_queues() function
    net/mlx5: Don't call timecounter cyc2time directly from 1PPS flow
    pinctrl: mcp23s08: Fix mcp23x17 precious range
    pinctrl: mcp23s08: Fix mcp23x17_regmap initialiser
    HID: roccat: add bounds checking in kone_sysfs_write_settings()
    video: fbdev: radeon: Fix memleak in radeonfb_pci_register
    video: fbdev: sis: fix null ptr dereference
    video: fbdev: vga16fb: fix setting of pixclock because a pass-by-value error
    drivers/virt/fsl_hypervisor: Fix error handling path
    pwm: lpss: Add range limit check for the base_unit register value
    pwm: lpss: Fix off by one error in base_unit math in pwm_lpss_prepare()
  * pty: do tty_flip_buffer_push without port->lock in pty_write
      drivers/tty/pty.c
    tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup()
  * tty: serial: earlycon dependency
      drivers/tty/serial/Kconfig
    VMCI: check return value of get_user_pages_fast() for errors
    backlight: sky81452-backlight: Fix refcount imbalance on error
    scsi: csiostor: Fix wrong return value in csio_hw_prep_fw()
    scsi: qla2xxx: Fix wrong return value in qla_nvme_register_hba()
    scsi: qla4xxx: Fix an error handling path in 'qla4xxx_get_host_stats()'
    drm/gma500: fix error check
    staging: rtl8192u: Do not use GFP_KERNEL in atomic context
    mwifiex: Do not use GFP_KERNEL in atomic context
    brcmfmac: check ndev pointer
    ASoC: qcom: lpass-cpu: fix concurrency issue
    ASoC: qcom: lpass-platform: fix memory leak
    wcn36xx: Fix reported 802.11n rx_highest rate wcn3660/wcn3680
    ath10k: Fix the size used in a 'dma_free_coherent()' call in an error handling path
    ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb()
    ath6kl: prevent potential array overflow in ath6kl_add_new_sta()
    Bluetooth: hci_uart: Cancel init work before unregistering
    ath10k: provide survey info as accumulated data
    spi: spi-s3c64xx: Check return values
    spi: spi-s3c64xx: swap s3c64xx_spi_set_cs() and s3c64xx_enable_datapath()
  * pinctrl: bcm: fix kconfig dependency warning when !GPIOLIB
      drivers/pinctrl/bcm/Kconfig
  * regulator: resolve supply after creating regulator
      drivers/regulator/core.c
    media: ti-vpe: Fix a missing check and reference count leak
    media: stm32-dcmi: Fix a reference count leak
    media: s5p-mfc: Fix a reference count leak
    media: camss: Fix a reference count leak.
    media: platform: fcp: Fix a reference count leak.
    media: rockchip/rga: Fix a reference count leak.
    media: rcar-vin: Fix a reference count leak.
    media: tc358743: cleanup tc358743_cec_isr
    media: tc358743: initialize variable
    media: mx2_emmaprp: Fix memleak in emmaprp_probe
    cypto: mediatek - fix leaks in mtk_desc_ring_alloc
    hwmon: (pmbus/max34440) Fix status register reads for MAX344{51,60,61}
    crypto: omap-sham - fix digcnt register handling with export/import
    media: omap3isp: Fix memleak in isp_probe
    media: uvcvideo: Silence shift-out-of-bounds warning
    media: uvcvideo: Set media controller entity functions
    media: m5mols: Check function pointer in m5mols_sensor_power
    media: Revert "media: exynos4-is: Add missed check for pinctrl_lookup_state()"
    media: tuner-simple: fix regression in simple_set_radio_freq
    crypto: picoxcell - Fix potential race condition bug
    crypto: ixp4xx - Fix the size used in a 'dma_free_coherent()' call
    crypto: mediatek - Fix wrong return value in mtk_desc_ring_alloc()
    crypto: algif_skcipher - EBUSY on aio should be an error
    x86/events/amd/iommu: Fix sizeof mismatch
    x86/nmi: Fix nmi_handle() duration miscalculation
    drivers/perf: xgene_pmu: Fix uninitialized resource struct
    x86/fpu: Allow multiple bits in clearcpuid= parameter
    EDAC/ti: Fix handling of platform_get_irq() error
    EDAC/i5100: Fix error handling order in i5100_init_one()
    crypto: algif_aead - Do not set MAY_BACKLOG on the async path
    ima: Don't ignore errors from crypto_shash_update()
    KVM: SVM: Initialize prev_ga_tag before use
    KVM: x86/mmu: Commit zap of remaining invalid pages when recovering lpages
    cifs: Return the error from crypt_message when enc/dec key not found.
    cifs: remove bogus debug code
    ALSA: hda/realtek: Enable audio jacks of ASUS D700SA with ALC887
  * icmp: randomize the global rate limiter
      net/ipv4/icmp.c
    r8169: fix operation under forced interrupt threading
  * tcp: fix to update snd_wl1 in bulk receiver fast path
      net/ipv4/tcp_input.c
    nfc: Ensure presence of NFC_ATTR_FIRMWARE_NAME attribute in nfc_genl_fw_download()
    net/sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN tunnels
    net: hdlc_raw_eth: Clear the IFF_TX_SKB_SHARING flag after calling ether_setup
    net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device
    chelsio/chtls: correct function return and return type
    chelsio/chtls: correct netdevice for vlan interface
    chelsio/chtls: fix socket lock
    ALSA: bebob: potential info leak in hwdep_read()
  * binder: fix UAF when releasing todo list
      drivers/android/binder.c
    net/tls: sendfile fails with ktls offload
    r8169: fix data corruption issue on RTL8402
  * net/ipv4: always honour route mtu during forwarding
      include/net/ip.h
  * tipc: fix the skb_unshare() in tipc_buf_append()
      net/tipc/msg.c
    net: usb: qmi_wwan: add Cellient MPL200 card
    net/smc: fix valid DMBE buffer sizes
  * net: fix pos incrementment in ipv6_route_seq_next
      net/ipv6/ip6_fib.c
    net: fec: Fix PHY init after phy_reset_after_clk_enable()
    net: fec: Fix phy_device lookup for phy_reset_after_clk_enable()
    mlx4: handle non-napi callers to napi_poll
  * ipv4: Restore flowi4_oif update before call to xfrm_lookup_route
      net/ipv4/route.c
    ibmveth: Identify ingress large send packets.
    ibmveth: Switch order of ibmveth_helper calls.
    ANDROID: clang: update to 11.0.5
  * FROMLIST: arm64: link with -z norelro regardless of CONFIG_RELOCATABLE
      arch/arm64/Makefile
    ANDROID: GKI: enable CONFIG_WIREGUARD
    UPSTREAM: wireguard: peerlookup: take lock before checking hash in replace operation
    UPSTREAM: wireguard: noise: take lock when removing handshake entry from table
    UPSTREAM: wireguard: queueing: make use of ip_tunnel_parse_protocol
  * UPSTREAM: net: ip_tunnel: add header_ops for layer 3 devices
      include/net/ip_tunnels.h
      net/ipv4/ip_tunnel_core.c
    UPSTREAM: wireguard: receive: account for napi_gro_receive never returning GRO_DROP
    UPSTREAM: wireguard: device: avoid circular netns references
    UPSTREAM: wireguard: noise: do not assign initiation time in if condition
    UPSTREAM: wireguard: noise: separate receive counter from send counter
    UPSTREAM: wireguard: queueing: preserve flow hash across packet scrubbing
    UPSTREAM: wireguard: noise: read preshared key while taking lock
    UPSTREAM: wireguard: selftests: use newer iproute2 for gcc-10
    UPSTREAM: wireguard: send/receive: use explicit unlikely branch instead of implicit coalescing
    UPSTREAM: wireguard: selftests: initalize ipv6 members to NULL to squelch clang warning
    UPSTREAM: wireguard: send/receive: cond_resched() when processing worker ringbuffers
    UPSTREAM: wireguard: socket: remove errant restriction on looping to self
    UPSTREAM: wireguard: selftests: use normal kernel stack size on ppc64
    UPSTREAM: wireguard: receive: use tunnel helpers for decapsulating ECN markings
    UPSTREAM: wireguard: queueing: cleanup ptr_ring in error path of packet_queue_init
    UPSTREAM: wireguard: send: remove errant newline from packet_encrypt_worker
    UPSTREAM: wireguard: noise: error out precomputed DH during handshake rather than config
    UPSTREAM: wireguard: receive: remove dead code from default packet type case
    UPSTREAM: wireguard: queueing: account for skb->protocol==0
    UPSTREAM: wireguard: selftests: remove duplicated include <sys/types.h>
    UPSTREAM: wireguard: socket: remove extra call to synchronize_net
    UPSTREAM: wireguard: send: account for mtu=0 devices
    UPSTREAM: wireguard: receive: reset last_under_load to zero
    UPSTREAM: wireguard: selftests: reduce complexity and fix make races
    UPSTREAM: wireguard: device: use icmp_ndo_send helper
    UPSTREAM: wireguard: selftests: tie socket waiting to target pid
    UPSTREAM: wireguard: selftests: ensure non-addition of peers with failed precomputation
    UPSTREAM: wireguard: noise: reject peers with low order public keys
    UPSTREAM: wireguard: allowedips: fix use-after-free in root_remove_peer_lists
  * UPSTREAM: net: skbuff: disambiguate argument and member for skb_list_walk_safe helper
      include/linux/skbuff.h
  * UPSTREAM: net: introduce skb_list_walk_safe for skb segment walking
      include/linux/skbuff.h
    UPSTREAM: wireguard: socket: mark skbs as not on list when receiving via gro
    UPSTREAM: wireguard: queueing: do not account for pfmemalloc when clearing skb header
    UPSTREAM: wireguard: selftests: remove ancient kernel compatibility code
    UPSTREAM: wireguard: allowedips: use kfree_rcu() instead of call_rcu()
    UPSTREAM: wireguard: main: remove unused include <linux/version.h>
  * UPSTREAM: wireguard: global: fix spelling mistakes in comments
      include/uapi/linux/wireguard.h
  * UPSTREAM: wireguard: Kconfig: select parent dependency for crypto
      drivers/net/Kconfig
    UPSTREAM: wireguard: selftests: import harness makefile for test suite
  * UPSTREAM: net: WireGuard secure network tunnel
      drivers/net/Kconfig
      drivers/net/Makefile
      include/uapi/linux/wireguard.h
  * UPSTREAM: timekeeping: Boot should be boottime for coarse ns accessor
      include/linux/timekeeping.h
  * UPSTREAM: timekeeping: Add missing _ns functions for coarse accessors
      include/linux/timekeeping.h
  * UPSTREAM: icmp: introduce helper for nat'd source address in network device context
      include/linux/icmpv6.h
      include/net/icmp.h
      net/ipv4/icmp.c
      net/ipv6/ip6_icmp.c
    UPSTREAM: crypto: poly1305-x86_64 - Use XORL r32,32
    UPSTREAM: crypto: curve25519-x86_64 - Use XORL r32,32
    UPSTREAM: crypto: arm/poly1305 - Add prototype for poly1305_blocks_neon
    UPSTREAM: crypto: arm/curve25519 - include <linux/scatterlist.h>
    UPSTREAM: crypto: x86/curve25519 - Remove unused carry variables
  * UPSTREAM: crypto: x86/chacha-sse3 - use unaligned loads for state array
      include/crypto/chacha.h
  * UPSTREAM: crypto: lib/chacha20poly1305 - Add missing function declaration
      include/crypto/chacha20poly1305.h
    UPSTREAM: crypto: arch/lib - limit simd usage to 4k chunks
    UPSTREAM: crypto: arm[64]/poly1305 - add artifact to .gitignore files
    UPSTREAM: crypto: x86/curve25519 - leave r12 as spare register
    UPSTREAM: crypto: x86/curve25519 - replace with formally verified implementation
    UPSTREAM: crypto: arm64/chacha - correctly walk through blocks
  * UPSTREAM: crypto: x86/curve25519 - support assemblers with no adx support
      include/crypto/curve25519.h
    UPSTREAM: crypto: chacha20poly1305 - prevent integer overflow on large input
  * UPSTREAM: crypto: Kconfig - allow tests to be disabled when manager is disabled
      crypto/Kconfig
    UPSTREAM: crypto: arm/chacha - fix build failured when kernel mode NEON is disabled
    UPSTREAM: crypto: x86/poly1305 - emit does base conversion itself
    UPSTREAM: crypto: chacha20poly1305 - add back missing test vectors and test chunking
    UPSTREAM: crypto: x86/poly1305 - fix .gitignore typo
  * UPSTREAM: crypto: curve25519 - Fix selftest build error
      lib/crypto/Makefile
    UPSTREAM: crypto: {arm,arm64,mips}/poly1305 - remove redundant non-reduction from emit
  * UPSTREAM: crypto: x86/poly1305 - wire up faster implementations for kernel
      lib/crypto/Kconfig
    UPSTREAM: crypto: x86/poly1305 - import unmodified cryptogams implementation
  * UPSTREAM: crypto: poly1305 - add new 32 and 64-bit generic versions
      crypto/poly1305_generic.c
      include/crypto/internal/poly1305.h
      include/crypto/nhpoly1305.h
      include/crypto/poly1305.h
      lib/crypto/Makefile
      lib/crypto/poly1305-donna64.c
      lib/crypto/poly1305.c
  * UPSTREAM: crypto: lib/curve25519 - re-add selftests
      lib/crypto/Makefile
    UPSTREAM: crypto: arm/curve25519 - add arch-specific key generation function
  * UPSTREAM: crypto: chacha - fix warning message in header file
      include/crypto/internal/chacha.h
    UPSTREAM: crypto: arch - conditionalize crypto api in arch glue for lib code
    UPSTREAM: crypto: lib/chacha20poly1305 - use chacha20_crypt()
    UPSTREAM: crypto: x86/chacha - only unregister algorithms if registered
  * UPSTREAM: crypto: chacha_generic - remove unnecessary setkey() functions
      crypto/chacha_generic.c
  * UPSTREAM: crypto: lib/chacha20poly1305 - reimplement crypt_from_sg() routine
      include/crypto/chacha20poly1305.h
  * UPSTREAM: crypto: chacha20poly1305 - import construction and selftest from Zinc
      include/crypto/chacha20poly1305.h
      lib/crypto/Kconfig
      lib/crypto/Makefile
    UPSTREAM: crypto: arm/curve25519 - wire up NEON implementation
    UPSTREAM: crypto: arm/curve25519 - import Bernstein and Schwabe's Curve25519 ARM implementation
  * UPSTREAM: crypto: curve25519 - x86_64 library and KPP implementations
      crypto/Kconfig
    UPSTREAM: crypto: lib/curve25519 - work around Clang stack spilling issue
  * UPSTREAM: crypto: curve25519 - implement generic KPP driver
      crypto/Kconfig
      crypto/Makefile
  * UPSTREAM: crypto: curve25519 - add kpp selftest
      crypto/testmgr.c
  * UPSTREAM: crypto: curve25519 - generic C library implementations
      include/crypto/curve25519.h
      lib/crypto/Kconfig
      lib/crypto/Makefile
  * UPSTREAM: crypto: blake2s - x86_64 SIMD implementation
      crypto/Kconfig
  * UPSTREAM: crypto: blake2s - implement generic shash driver
      crypto/Kconfig
      crypto/Makefile
      include/crypto/internal/blake2s.h
  * UPSTREAM: crypto: testmgr - add test cases for Blake2s
      crypto/testmgr.c
  * UPSTREAM: crypto: blake2s - generic C library implementation and selftest
      include/crypto/blake2s.h
      include/crypto/internal/blake2s.h
      lib/crypto/Kconfig
      lib/crypto/Makefile
  * UPSTREAM: crypto: mips/poly1305 - incorporate OpenSSL/CRYPTOGAMS optimized implementation
      crypto/Kconfig
      lib/crypto/Kconfig
  * UPSTREAM: crypto: arm/poly1305 - incorporate OpenSSL/CRYPTOGAMS NEON implementation
      lib/crypto/Kconfig
  * UPSTREAM: crypto: arm64/poly1305 - incorporate OpenSSL/CRYPTOGAMS NEON implementation
      arch/arm64/crypto/Kconfig
      arch/arm64/crypto/Makefile
      lib/crypto/Kconfig
  * UPSTREAM: crypto: x86/poly1305 - expose existing driver as poly1305 library
      crypto/Kconfig
      lib/crypto/Kconfig
  * UPSTREAM: crypto: x86/poly1305 - depend on generic library not generic shash
      crypto/Kconfig
      crypto/poly1305_generic.c
      include/crypto/internal/poly1305.h
  * UPSTREAM: crypto: poly1305 - expose init/update/final library interface
      crypto/poly1305_generic.c
      include/crypto/poly1305.h
      lib/crypto/Kconfig
      lib/crypto/poly1305.c
  * UPSTREAM: crypto: x86/poly1305 - unify Poly1305 state struct with generic code
      crypto/poly1305_generic.c
      include/crypto/internal/poly1305.h
      include/crypto/poly1305.h
  * UPSTREAM: crypto: poly1305 - move core routines into a separate library
      crypto/Kconfig
      crypto/poly1305_generic.c
      include/crypto/internal/poly1305.h
      include/crypto/poly1305.h
      lib/crypto/Kconfig
      lib/crypto/Makefile
      lib/crypto/poly1305.c
  * UPSTREAM: crypto: chacha - unexport chacha_generic routines
      crypto/chacha_generic.c
      include/crypto/internal/chacha.h
  * UPSTREAM: crypto: mips/chacha - wire up accelerated 32r2 code from Zinc
      crypto/Kconfig
    UPSTREAM: crypto: mips/chacha - import 32r2 ChaCha code from Zinc
    UPSTREAM: crypto: arm/chacha - expose ARM ChaCha routine as library function
    UPSTREAM: crypto: arm/chacha - remove dependency on generic ChaCha driver
    UPSTREAM: crypto: arm/chacha - import Eric Biggers's scalar accelerated ChaCha code
  * UPSTREAM: crypto: arm64/chacha - expose arm64 ChaCha routine as library function
      arch/arm64/crypto/Kconfig
  * UPSTREAM: crypto: arm64/chacha - depend on generic chacha library instead of crypto driver
      arch/arm64/crypto/Kconfig
    UPSTREAM: crypto: arm64/chacha - use combined SIMD/ALU routine for more speed
    UPSTREAM: crypto: arm64/chacha - optimize for arbitrary length inputs
  * UPSTREAM: crypto: x86/chacha - expose SIMD ChaCha routine as library function
      crypto/Kconfig
      include/crypto/chacha.h
  * UPSTREAM: crypto: x86/chacha - depend on generic chacha library instead of crypto driver
      crypto/Kconfig
  * UPSTREAM: crypto: chacha - move existing library code into lib/crypto
      crypto/Kconfig
      crypto/chacha_generic.c
      include/crypto/chacha.h
      include/crypto/internal/chacha.h
      lib/Makefile
      lib/crypto/Kconfig
      lib/crypto/Makefile
      lib/crypto/libchacha.c
  * UPSTREAM: crypto: lib - tidy up lib/crypto Kconfig and Makefile
      crypto/Kconfig
      lib/Makefile
      lib/crypto/Kconfig
      lib/crypto/Makefile
  * UPSTREAM: crypto: chacha - constify ctx and iv arguments
      crypto/chacha_generic.c
      include/crypto/chacha.h
    UPSTREAM: crypto: x86/poly1305 - Clear key material from stack in SSE2 variant
    UPSTREAM: crypto: xchacha20 - fix comments for test vectors
    UPSTREAM: crypto: xchacha - add test vector from XChaCha20 draft RFC
  * UPSTREAM: crypto: arm64/chacha - add XChaCha12 support
      arch/arm64/crypto/Kconfig
  * UPSTREAM: crypto: arm64/chacha20 - refactor to allow varying number of rounds
      arch/arm64/crypto/Makefile
  * UPSTREAM: crypto: arm64/chacha20 - add XChaCha20 support
      arch/arm64/crypto/Kconfig
    UPSTREAM: crypto: x86/chacha - avoid sleeping under kernel_fpu_begin()
    UPSTREAM: crypto: x86/chacha - yield the FPU occasionally
  * UPSTREAM: crypto: x86/chacha - add XChaCha12 support
      crypto/Kconfig
    UPSTREAM: crypto: x86/chacha20 - refactor to allow varying number of rounds
  * UPSTREAM: crypto: x86/chacha20 - add XChaCha20 support
      crypto/Kconfig
    UPSTREAM: crypto: x86/chacha20 - Add a 4-block AVX-512VL variant
    UPSTREAM: crypto: x86/chacha20 - Add a 2-block AVX-512VL variant
    UPSTREAM: crypto: x86/chacha20 - Add a 8-block AVX-512VL variant
    UPSTREAM: crypto: x86/chacha20 - Add a 4-block AVX2 variant
    UPSTREAM: crypto: x86/chacha20 - Add a 2-block AVX2 variant
    UPSTREAM: crypto: x86/chacha20 - Use larger block functions more aggressively
    UPSTREAM: crypto: x86/chacha20 - Support partial lengths in 8-block AVX2 variant
    UPSTREAM: crypto: x86/chacha20 - Support partial lengths in 4-block SSSE3 variant
    UPSTREAM: crypto: x86/chacha20 - Support partial lengths in 1-block SSSE3 variant
    ANDROID: GKI: Enable CONFIG_USB_ANNOUNCE_NEW_DEVICES
    ANDROID: GKI: Enable CONFIG_X86_X2APIC
  * ANDROID: move builds to use gas prebuilts
      build.config.aarch64
      build.config.arm
      build.config.x86_64
  * UPSTREAM: binder: fix UAF when releasing todo list
      drivers/android/binder.c
    Merge 4.19.152 into android-4.19-stable
Linux 4.19.152
    crypto: qat - check cipher length for aead AES-CBC-HMAC-SHA
    crypto: bcm - Verify GCM/CCM key length in setkey
    drivers/net/ethernet/marvell/mvmdio.c: Fix non OF case
    reiserfs: Fix oops during mount
    reiserfs: Initialize inode keys properly
    USB: serial: ftdi_sio: add support for FreeCalypso JTAG+UART adapters
    USB: serial: pl2303: add device-id for HP GC device
    staging: comedi: check validity of wMaxPacketSize of usb endpoints found
    USB: serial: option: Add Telit FT980-KS composition
    USB: serial: option: add Cellient MPL200 card
    media: usbtv: Fix refcounting mixup
  * Bluetooth: Disconnect if E0 is used for Level 4
      include/net/bluetooth/hci_core.h
      net/bluetooth/hci_conn.c
      net/bluetooth/hci_event.c
  * Bluetooth: Fix update of connection state in `hci_encrypt_cfm`
      include/net/bluetooth/hci_core.h
  * Bluetooth: Consolidate encryption handling in hci_encrypt_cfm
      include/net/bluetooth/hci_core.h
      net/bluetooth/hci_event.c
  * Bluetooth: MGMT: Fix not checking if BT_HS is enabled
      net/bluetooth/mgmt.c
  * Bluetooth: L2CAP: Fix calling sk_filter on non-socket based channel
      include/net/bluetooth/l2cap.h
      net/bluetooth/l2cap_core.c
      net/bluetooth/l2cap_sock.c
  * Bluetooth: A2MP: Fix not initializing all members
      net/bluetooth/a2mp.c
    ARM: 8867/1: vdso: pass --be8 to linker if necessary
    ARM: 8939/1: kbuild: use correct nm executable
    ARM: 8858/1: vdso: use $(LD) instead of $(CC) to link VDSO
    perf cs-etm: Move definition of 'traceid_list' global variable from header file
  * FROMLIST: arm64: vdso32: Allow ld.lld to properly link the VDSO
      arch/arm64/kernel/vdso32/Makefile
    Merge 4.19.151 into android-4.19-stable
Linux 4.19.151
  * net: usb: rtl8150: set random MAC address when set_ethernet_addr() fails
      drivers/net/usb/rtl8150.c
  * mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected by khugepaged
      include/linux/khugepaged.h
      mm/page_alloc.c
    mmc: core: don't set limits.discard_granularity as 0
  * perf: Fix task_function_call() error handling
      kernel/events/core.c
    rxrpc: Fix server keyring leak
    rxrpc: Fix some missing _bh annotations on locking conn->state_lock
    rxrpc: Downgrade the BUG() for unsupported token type in rxrpc_read()
    rxrpc: Fix rxkad token xdr encoding
    net/mlx5e: Fix VLAN create flow
    net/mlx5e: Fix VLAN cleanup flow
  * net: usb: ax88179_178a: fix missing stop entry in driver_info
      drivers/net/usb/ax88179_178a.c
  * mdio: fix mdio-thunder.c dependency & build error
      drivers/net/phy/Kconfig
  * bonding: set dev->needed_headroom in bond_setup_by_slave()
      drivers/net/bonding/bond_main.c
  * xfrm: Use correct address family in xfrm_state_find
      net/xfrm/xfrm_state.c
  * platform/x86: fix kconfig dependency warning for FUJITSU_LAPTOP
      drivers/platform/x86/Kconfig
    net: stmmac: removed enabling eee in EEE set callback
  * xfrm: clone whole liftime_cur structure in xfrm_do_migrate
      net/xfrm/xfrm_state.c
  * xfrm: clone XFRMA_SEC_CTX in xfrm_do_migrate
      net/xfrm/xfrm_state.c
  * xfrm: clone XFRMA_REPLAY_ESN_VAL in xfrm_do_migrate
      include/net/xfrm.h
  * xfrm: clone XFRMA_SET_MARK in xfrm_do_migrate
      net/xfrm/xfrm_state.c
    drm/amdgpu: prevent double kfree ttm->sg
    openvswitch: handle DNAT tuple collision
    net: team: fix memory leak in __team_options_register
    team: set dev->needed_headroom in team_setup_by_port()
  * sctp: fix sctp_auth_init_hmacs() error path
      net/sctp/auth.c
    i2c: owl: Clear NACK and BUS error bits
    i2c: meson: fixup rate calculation with filter delay
    i2c: meson: fix clock setting overwrite
    cifs: Fix incomplete memory allocation on setxattr path
  * xfrmi: drop ignore_df check before updating pmtu
      net/xfrm/xfrm_interface.c
    mm/khugepaged: fix filemap page_to_pgoff(page) != offset
    macsec: avoid use-after-free in macsec_handle_frame()
    nvme-core: put ctrl ref when module ref get fail
    arm64: dts: stratix10: add status to qspi dts node
    mtd: rawnand: sunxi: Fix the probe error path
    i2c: i801: Exclude device from suspend direct complete optimization
    perf top: Fix stdio interface input handling with glibc 2.28+
  * driver core: Fix probe_count imbalance in really_probe()
      drivers/base/dd.c
    platform/x86: thinkpad_acpi: re-initialize ACPI buffer size when reuse
    platform/x86: intel-vbtn: Switch to an allow-list for SW_TABLET_MODE reporting
    platform/x86: thinkpad_acpi: initialize tp_nvram_state variable
    platform/x86: intel-vbtn: Fix SW_TABLET_MODE always reporting 1 on the HP Pavilion 11 x360
  * usermodehelper: reset umask to default before executing user process
      kernel/umh.c
    drm/nouveau/mem: guard against NULL pointer access in mem_del
  * net: wireless: nl80211: fix out-of-bounds access in nl80211_del_key()
      net/wireless/nl80211.c
    Revert "ravb: Fixed to be able to unload modules"
    fbcon: Fix global-out-of-bounds read in fbcon_get_font()
  * Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts
      include/linux/font.h
  * fbdev, newport_con: Move FONT_EXTRA_WORDS macros into linux/font.h
      include/linux/font.h
    Merge 4.19.150 into android-4.19-stable
Linux 4.19.150
  * netfilter: ctnetlink: add a range check for l3/l4 protonum
      net/netfilter/nf_conntrack_netlink.c
  * ep_create_wakeup_source(): dentry name can change under you...
      fs/eventpoll.c
  * epoll: EPOLL_CTL_ADD: close the race in decision to take fast path
      fs/eventpoll.c
  * epoll: replace ->visited/visited_list with generation count
      fs/eventpoll.c
  * epoll: do not insert into poll queues until all sanity checks are done
      fs/eventpoll.c
  * net/packet: fix overflow in tpacket_rcv
      net/packet/af_packet.c
  * mm: don't rely on system state to detect hot-plug operations
      include/linux/node.h
  * mm: replace memmap_context by meminit_context
      include/linux/mm.h
      include/linux/mmzone.h
      mm/page_alloc.c
  * random32: Restore __latent_entropy attribute on net_rand_state
      lib/random32.c
    Input: trackpoint - enable Synaptics trackpoints
    i2c: cpm: Fix i2c_ram structure
    iommu/exynos: add missing put_device() call in exynos_iommu_of_xlate()
    clk: samsung: exynos4: mark 'chipid' clock as CLK_IGNORE_UNUSED
    nfs: Fix security label length not being reset
    pinctrl: mvebu: Fix i2c sda definition for 98DX3236
    gpio: sprd: Clear interrupt when setting the type as edge
    nvme-fc: fail new connections to a deleted host or remote port
    spi: fsl-espi: Only process interrupts for expected events
    mac80211: do not allow bigger VHT MPDUs than the hardware supports
    drivers/net/wan/hdlc: Set skb->protocol before transmitting
    drivers/net/wan/lapbether: Make skb->protocol consistent with the header
    nvme-core: get/put ctrl and transport module in nvme_dev_open/release()
    rndis_host: increase sleep time in the query-response loop
    net: dec: de2104x: Increase receive ring size for Tulip
    drm/sun4i: mixer: Extend regmap max_register
    drivers/net/wan/hdlc_fr: Add needed_headroom for PVC devices
    drm/amdgpu: restore proper ref count in amdgpu_display_crtc_set_config
    ftrace: Move RCU is watching check after recursion check
    Input: i8042 - add nopnp quirk for Acer Aspire 5 A515
    net: virtio_vsock: Enhance connection semantics
  * vsock/virtio: add transport parameter to the virtio_transport_reset_no_sock()
      include/linux/virtio_vsock.h
    vsock/virtio: stop workers during the .remove()
    vsock/virtio: use RCU to avoid use-after-free on the_virtio_vsock
    clk: socfpga: stratix10: fix the divider for the emac_ptp_free_clk
    gpio: tc35894: fix up tc35894 interrupt configuration
    gpio: mockup: fix resource leak in error path
  * USB: gadget: f_ncm: Fix NDP16 datagram validation
      drivers/usb/gadget/function/f_ncm.c
    mmc: sdhci: Workaround broken command queuing on Intel GLK based IRBIS models
  * ANDROID: use arm-linux-androidkernel- for CROSS_COMPILE_COMPAT
      build.config.aarch64
    ANDROID: build.config.common: enable LLVM=1
    Merge 4.19.149 into android-4.19-stable
Linux 4.19.149
  * KVM: arm64: Assume write fault on S1PTW permission fault on instruction fetch
      arch/arm64/include/asm/kvm_emulate.h
    ata: sata_mv, avoid trigerrable BUG_ON
  * ata: make qc_prep return ata_completion_errors
      include/linux/libata.h
  * ata: define AC_ERR_OK
      include/linux/libata.h
    kprobes: Fix compiler warning for !CONFIG_KPROBES_ON_FTRACE
    s390/zcrypt: Fix ZCRYPT_PERDEV_REQCNT ioctl
  * mm, THP, swap: fix allocating cluster for swapfile by mistake
      mm/swapfile.c
    kprobes: Fix to check probe enabled before disarm_kprobe_ftrace()
    s390/dasd: Fix zero write for FBA devices
    tracing: fix double free
    KVM: SVM: Add a dedicated INVD intercept routine
    KVM: x86: Reset MMU context if guest toggles CR4.SMAP or CR4.PKE
    MIPS: Add the missing 'CPU_1074K' into __get_cpu_type()
  * regmap: fix page selection for noinc reads
      drivers/base/regmap/regmap.c
    ALSA: asihpi: fix iounmap in error handler
  * bpf: Fix a rcu warning for bpffs map pretty-print
      kernel/bpf/inode.c
    batman-adv: mcast: fix duplicate mcast packets from BLA backbone to mesh
    batman-adv: mcast: fix duplicate mcast packets in BLA backbone from mesh
    batman-adv: Add missing include for in_interrupt()
    drm/sun4i: sun8i-csc: Secondary CSC register correction
    net: qed: RDMA personality shouldn't fail VF load
    drm/vc4/vc4_hdmi: fill ASoC card owner
  * bpf: Fix clobbering of r2 in bpf_gen_ld_abs
      net/core/filter.c
    mac802154: tx: fix use-after-free
    batman-adv: mcast/TT: fix wrongly dropped or rerouted packets
    atm: eni: fix the missed pci_disable_device() for eni_init_one()
    batman-adv: bla: fix type misuse for backbone_gw hash indexing
    mwifiex: Increase AES key storage size to 256 bits
    clocksource/drivers/h8300_timer8: Fix wrong return value in h8300_8timer_init()
    ieee802154/adf7242: check status of adf7242_read_reg
    ieee802154: fix one possible memleak in ca8210_dev_com_init
    objtool: Fix noreturn detection for ignored functions
  * i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()
      drivers/i2c/i2c-core-base.c
    drm/amdkfd: fix a memory leak issue
    lockdep: fix order in trace_hardirqs_off_caller()
    s390/init: add missing __init annotations
    RISC-V: Take text_mutex in ftrace_init_nop()
    ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN Converter9 2-in-1
    ASoC: wm8994: Ensure the device is resumed in wm89xx_mic_detect functions
    ASoC: wm8994: Skip setting of the WM8994_MICBIAS register for WM1811
    nvme: explicitly update mpath disk capacity on revalidation
    net: openvswitch: use div_u64() for 64-by-32 divisions
    perf parse-events: Use strcmp() to compare the PMU name
    ubi: fastmap: Free unused fastmap anchor peb during detach
    btrfs: qgroup: fix data leak caused by race between writeback and truncate
    vfio/pci: fix racy on error and request eventfd ctx
    selftests/x86/syscall_nt: Clear weird flags after each test
    scsi: libfc: Skip additional kref updating work event
    scsi: libfc: Handling of extra kref
    nvme: fix possible deadlock when I/O is blocked
    cifs: Fix double add page to memcg when cifs_readpages
    vfio/pci: Clear error and request eventfd ctx after releasing
    x86/speculation/mds: Mark mds_user_clear_cpu_buffers() __always_inline
    mtd: parser: cmdline: Support MTD names containing one or more colons
    rapidio: avoid data race between file operation callbacks and mport_cdev_add().
  * mm/swap_state: fix a data race in swapin_nr_pages
      mm/swap_state.c
    ceph: fix potential race in ceph_check_caps
    PCI: tegra: Fix runtime PM imbalance on error
    mtd: rawnand: omap_elm: Fix runtime PM imbalance on error
    wlcore: fix runtime pm imbalance in wlcore_regdomain_config
    wlcore: fix runtime pm imbalance in wl1271_tx_work
    ASoC: img-i2s-out: Fix runtime PM imbalance on error
    perf kcore_copy: Fix module map when there are no modules loaded
    perf metricgroup: Free metric_events on error
    perf util: Fix memory leak of prefix_if_not_in
    perf stat: Fix duration_time value for higher intervals
    perf trace: Fix the selection for architectures to generate the errno name tables
    perf evsel: Fix 2 memory leaks
    vfio/pci: fix memory leaks of eventfd ctx
    btrfs: don't force read-only after error in drop snapshot
  * usb: dwc3: Increase timeout for CmdAct cleared by device controller
      drivers/usb/dwc3/gadget.c
  * printk: handle blank console arguments passed in.
      kernel/printk/printk.c
    drm/nouveau/dispnv50: fix runtime pm imbalance on error
    drm/nouveau: fix runtime pm imbalance on error
    drm/nouveau/debugfs: fix runtime pm imbalance on error
    e1000: Do not perform reset in reset_task if we are already down
  * arm64/cpufeature: Drop TraceFilt feature exposure from ID_DFR0 register
      arch/arm64/kernel/cpufeature.c
    scsi: cxlflash: Fix error return code in cxlflash_probe()
    USB: EHCI: ehci-mv: fix less than zero comparison of an unsigned int
  * fuse: don't check refcount after stealing page
      fs/fuse/dev.c
    powerpc/traps: Make unrecoverable NMIs die instead of panic
    ALSA: hda: Fix potential race in unsol event handler
    tty: serial: samsung: Correct clock selection logic
  * tipc: fix memory leak in service subscripting
      net/tipc/topsrv.c
    USB: EHCI: ehci-mv: fix error handling in mv_ehci_probe()
  * Bluetooth: Handle Inquiry Cancel error after Inquiry Complete
      net/bluetooth/hci_event.c
    phy: samsung: s5pv210-usb2: Add delay after reset
    power: supply: max17040: Correct voltage reading
    perf mem2node: Avoid double free related to realloc
    atm: fix a memory leak of vcc->user_back
    dt-bindings: sound: wm8994: Correct required supplies based on actual implementaion
  * arm64: cpufeature: Relax checks for AArch32 support at EL[0-2]
      arch/arm64/kernel/cpufeature.c
    sparc64: vcc: Fix error return code in vcc_probe()
    staging:r8188eu: avoid skb_clone for amsdu to msdu conversion
    scsi: aacraid: Fix error handling paths in aac_probe_one()
    net: openvswitch: use u64 for meter bucket
    KVM: arm64: vgic-its: Fix memory leak on the error path of vgic_add_lpi()
    drivers: char: tlclk.c: Avoid data race between init and interrupt handler
  * bdev: Reduce time holding bd_mutex in sync in blkdev_close()
      fs/block_dev.c
    KVM: Remove CREATE_IRQCHIP/SET_PIT2 race
    serial: uartps: Wait for tx_empty in console setup
    scsi: qedi: Fix termination timeouts in session logout
  * mm/mmap.c: initialize align_offset explicitly for vm_unmapped_area
      mm/mmap.c
    nvmet-rdma: fix double free of rdma queue
  * mm/vmscan.c: fix data races using kswapd_classzone_idx
      mm/vmscan.c
  * mm/filemap.c: clear page error before actual read
      mm/filemap.c
    mm/kmemleak.c: use address-of operator on section symbols
  * NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests()
      include/linux/nfs_page.h
    PCI: pciehp: Fix MSI interrupt race
  * ALSA: usb-audio: Fix case when USB MIDI interface has more than one extra endpoint descriptor
      sound/usb/midi.c
    ubifs: Fix out-of-bounds memory access caused by abnormal value of node_len
  * PCI: Use ioremap(), not phys_to_virt() for platform ROM
      drivers/pci/rom.c
      include/linux/pci.h
    svcrdma: Fix leak of transport addresses
    SUNRPC: Fix a potential buffer overflow in 'svc_print_xprts()'
    scsi: hpsa: correct race condition in offload enabled
    RDMA/rxe: Set sys_image_guid to be aligned with HW IB devices
    nvme: Fix controller creation races with teardown flow
    nvme-multipath: do not reset on unknown status
    tools: gpio-hammer: Avoid potential overflow in main
    cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_work_fn
    perf cpumap: Fix snprintf overflow check
    serial: 8250: 8250_omap: Terminate DMA before pushing data on RX timeout
    serial: 8250_omap: Fix sleeping function called from invalid context during probe
    serial: 8250_port: Don't service RX FIFO if throttled
    perf parse-events: Fix 3 use after frees found with clang ASAN
    thermal: rcar_thermal: Handle probe error gracefully
  * tracing: Use address-of operator on section symbols
      kernel/trace/trace.c
    drm/msm/a5xx: Always set an OPP supported hardware value
    drm/msm: fix leaks if initialization fails
    KVM: PPC: Book3S HV: Treat TM-related invalid form instructions on P9 like the valid ones
    RDMA/cm: Remove a race freeing timewait_info
    nfsd: Don't add locks to closed or closing open stateids
    rtc: ds1374: fix possible race condition
    rtc: sa1100: fix possible race condition
    tpm: ibmvtpm: Wait for buffer to be set before proceeding
  * ext4: mark block bitmap corrupted when found instead of BUGON
      fs/ext4/mballoc.c
    xfs: mark dir corrupt when lookup-by-hash fails
    xfs: don't ever return a stale pointer from __xfs_dir3_free_read
    media: tda10071: fix unsigned sign extension overflow
  * Bluetooth: L2CAP: handle l2cap config request during open state
      net/bluetooth/l2cap_core.c
    scsi: aacraid: Disabling TM path and only processing IOP reset
    ath10k: use kzalloc to read for ath10k_sdio_hif_diag_read
    drm/amd/display: Stop if retimer is not available
    drm/amdgpu: increase atombios cmd timeout
  * mm: avoid data corruption on CoW fault into PFN-mapped VMA
      mm/memory.c
    perf jevents: Fix leak of mapfile memory
  * ext4: fix a data race at inode->i_disksize
      fs/ext4/inode.c
  * timekeeping: Prevent 32bit truncation in scale64_check_overflow()
      kernel/time/timekeeping.c
  * Bluetooth: guard against controllers sending zero'd events
      net/bluetooth/hci_event.c
    media: go7007: Fix URB type for interrupt handling
    bus: hisi_lpc: Fixup IO ports addresses to avoid use-after-free in host removal
  * random: fix data races at timer_rand_state
      drivers/char/random.c
    firmware: arm_sdei: Use cpus_read_lock() to avoid races with cpuhp
    drm/amd/display: dal_ddc_i2c_payloads_create can fail causing panic
    dmaengine: tegra-apb: Prevent race conditions on channel's freeing
    dmaengine: stm32-dma: use vchan_terminate_vdesc() in .terminate_all
  * bpf: Remove recursion prevention from rcu free callback
      kernel/bpf/hashtab.c
    x86/pkeys: Add check for pkey "overflow"
    media: staging/imx: Missing assignment in imx_media_capture_device_register()
    dmaengine: stm32-mdma: use vchan_terminate_vdesc() in .terminate_all
    KVM: x86: fix incorrect comparison in trace event
    RDMA/rxe: Fix configuration of atomic queue pair attributes
    perf test: Fix test trace+probe_vfs_getname.sh on s390
  * ALSA: usb-audio: Don't create a mixer element with bogus volume range
      sound/usb/mixer.c
    mt76: clear skb pointers from rx aggregation reorder buffer during cleanup
    crypto: chelsio - This fixes the kernel panic which occurs during a libkcapi test
    clk: stratix10: use do_div() for 64-bit calculation
    drm/omap: fix possible object reference leak
    scsi: lpfc: Fix coverity errors in fmdi attribute handling
    scsi: lpfc: Fix RQ buffer leakage when no IOCBs available
  * selinux: sel_avc_get_stat_idx should increase position index
      security/selinux/selinuxfs.c
  * audit: CONFIG_CHANGE don't log internal bookkeeping as an event
      kernel/audit_watch.c
  * skbuff: fix a data race in skb_queue_len()
      include/linux/skbuff.h
      net/unix/af_unix.c
    ALSA: hda: Clear RIRB status before reading WP
    KVM: fix overflow of zero page refcount with ksm running
  * Bluetooth: prefetch channel before killing sock
      net/bluetooth/l2cap_sock.c
  * mm: pagewalk: fix termination condition in walk_pte_range()
      mm/pagewalk.c
  * mm/swapfile.c: swap_next should increase position index
      mm/swapfile.c
  * Bluetooth: Fix refcount use-after-free issue
      net/bluetooth/l2cap_core.c
      net/bluetooth/l2cap_sock.c
    tools/power/x86/intel_pstate_tracer: changes for python 3 compatibility
    selftests/ftrace: fix glob selftest
    ceph: ensure we have a new cap before continuing in fill_inode
    ar5523: Add USB ID of SMCWUSBT-G2 wireless adapter
    ARM: 8948/1: Prevent OOB access in stacktrace
  * tracing: Set kernel_stack's caller size properly
      kernel/trace/trace_entries.h
    Bluetooth: btrtl: Use kvmalloc for FW allocations
    powerpc/eeh: Only dump stack once if an MMIO loop is detected
    s390/cpum_sf: Use kzalloc and minor changes
    dmaengine: zynqmp_dma: fix burst length configuration
  * scsi: ufs: Fix a race condition in the tracing code
      drivers/scsi/ufs/ufshcd.c
  * scsi: ufs: Make ufshcd_add_command_trace() easier to read
      drivers/scsi/ufs/ufshcd.c
    ACPI: EC: Reference count query handlers under lock
  * sctp: move trace_sctp_probe_path into sctp_outq_sack
      include/trace/events/sctp.h
      net/sctp/outqueue.c
    media: ti-vpe: cal: Restrict DMA to avoid memory corruption
  * seqlock: Require WRITE_ONCE surrounding raw_seqcount_barrier
      include/linux/seqlock.h
  * ipv6_route_seq_next should increase position index
      net/ipv6/ip6_fib.c
  * rt_cpu_seq_next should increase position index
      net/ipv4/route.c
  * neigh_stat_seq_next() should increase position index
      net/core/neighbour.c
    xfs: fix log reservation overflows when allocating large rt extents
    KVM: arm/arm64: vgic: Fix potential double free dist->spis in __kvm_vgic_destroy()
  * kernel/sys.c: avoid copying possible padding bytes in copy_to_user
      kernel/sys.c
    ASoC: max98090: remove msleep in PLL unlocked workaround
    CIFS: Properly process SMB3 lease breaks
  * debugfs: Fix !DEBUG_FS debugfs_create_automount
      include/linux/debugfs.h
    scsi: pm80xx: Cleanup command when a reset times out
    gfs2: clean up iopen glock mess in gfs2_create_inode
  * mmc: core: Fix size overflow for mmc partitions
      include/linux/mmc/card.h
    ubi: Fix producing anchor PEBs
    RDMA/iw_cgxb4: Fix an error handling path in 'c4iw_connect()'
    xfs: fix attr leaf header freemap.size underflow
  * fix dget_parent() fastpath race
      fs/dcache.c
    RDMA/i40iw: Fix potential use after free
    RDMA/qedr: Fix potential use after free
    dmaengine: mediatek: hsdma_probe: fixed a memory leak when devm_request_irq fails
    bcache: fix a lost wake-up problem caused by mca_cannibalize_lock
  * tracing: Adding NULL checks for trace_array descriptor pointer
      kernel/trace/trace.c
      kernel/trace/trace_events.c
    tpm_crb: fix fTPM on AMD Zen+ CPUs
    drm/amdgpu/powerplay/smu7: fix AVFS handling with custom powerplay table
  * mfd: mfd-core: Protect against NULL call-back function pointer
      drivers/mfd/mfd-core.c
    mtd: cfi_cmdset_0002: don't free cfi->cfiq in error path of cfi_amdstd_setup()
    drm/amdgpu/powerplay: fix AVFS handling with custom powerplay table
    clk/ti/adpll: allocate room for terminating null
  * net: silence data-races on sk_backlog.tail
      include/net/sock.h
      net/ipv4/tcp.c
    scsi: lpfc: Fix kernel crash at lpfc_nvme_info_show during remote port bounce
    scsi: fnic: fix use after free
    PM / devfreq: tegra30: Fix integer overflow on CPU's freq max out
    leds: mlxreg: Fix possible buffer overflow
  * lib/string.c: implement stpcpy
      lib/string.c
    ALSA: hda/realtek: Enable front panel headset LED on Lenovo ThinkStation P520
    ALSA: hda/realtek - Couldn't detect Mic if booting with headset plugged
  * ALSA: usb-audio: Add delay quirk for H570e USB headsets
      sound/usb/quirks.c
    x86/ioapic: Unbreak check_timer()
    arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback
    media: smiapp: Fix error handling at NVM reading
    ASoC: kirkwood: fix IRQ error handling
    gma/gma500: fix a memory disclosure bug due to uninitialized bytes
    m68k: q40: Fix info-leak in rtc_ioctl
    scsi: aacraid: fix illegal IO beyond last LBA
  * mm: fix double page fault on arm64 if PTE_AF is cleared
      mm/memory.c
    ath10k: fix memory leak for tpc_stats_final
    ath10k: fix array out-of-bounds access
  * dma-fence: Serialise signal enabling (dma_fence_enable_sw_signaling)
      drivers/dma-buf/dma-fence.c
  * media: mc-device.c: fix memleak in media_device_register_entity
      drivers/media/media-device.c
  * selinux: allow labeling before policy is loaded
      security/selinux/hooks.c
    ANDROID: GKI: prevent removal of monitored symbols
    ANDROID: Refresh ABI.xmls with libabigail 1.8.0-98bbf30d
    Merge 4.19.148 into android-4.19-stable
Linux 4.19.148
    serial: 8250: Avoid error message on reprobe
  * tcp_bbr: adapt cwnd based on ack aggregation estimation
      include/net/inet_connection_sock.h
    tcp_bbr: refactor bbr_target_cwnd() for general inflight provisioning
  * mm: memcg: fix memcg reclaim soft lockup
      mm/vmscan.c
  * kbuild: support LLVM=1 to switch the default tools to Clang/LLVM
      Makefile
  * kbuild: replace AS=clang with LLVM_IAS=1
      Makefile
  * kbuild: remove AS variable
      Makefile
  * x86/boot: kbuild: allow readelf executable to be specified
      Makefile
    net: wan: wanxl: use $(M68KCC) instead of $(M68KAS) for rebuilding firmware
  * net: wan: wanxl: use allow to pass CROSS_COMPILE_M68k for rebuilding firmware
      drivers/net/wan/Kconfig
    Documentation/llvm: fix the name of llvm-size
    Documentation/llvm: add documentation on building w/ Clang/LLVM
  * kbuild: add OBJSIZE variable for the size tool
      Makefile
    MAINTAINERS: add CLANG/LLVM BUILD SUPPORT info
  * ipv4: Update exception handling for multipath routes via same device
      net/ipv4/route.c
  * net: add __must_check to skb_put_padto()
      include/linux/skbuff.h
  * net: qrtr: check skb_put_padto() return value
      net/qrtr/qrtr.c
  * net: phy: Avoid NPD upon phy_detach() when driver is unbound
      drivers/net/phy/phy_device.c
    bnxt_en: Protect bnxt_set_eee() and bnxt_set_pauseparam() with mutex.
    bnxt_en: return proper error codes in bnxt_show_temp
  * tipc: use skb_unshare() instead in tipc_buf_append()
      net/tipc/msg.c
  * tipc: fix shutdown() of connection oriented socket
      net/tipc/socket.c
  * tipc: Fix memory leak in tipc_group_create_member()
      net/tipc/group.c
    nfp: use correct define to return NONE fec
  * net: sch_generic: aviod concurrent reset and enqueue op for lockless qdisc
      net/sched/sch_generic.c
  * net: ipv6: fix kconfig dependency warning for IPV6_SEG6_HMAC
      net/ipv6/Kconfig
    net: dsa: rtl8366: Properly clear member config
    net: DCB: Validate DCB_ATTR_DCB_BUFFER argument
  * ipv6: avoid lockdep issue in fib6_del()
      net/ipv6/ip6_fib.c
  * ip: fix tos reflection in ack and reset packets
      net/ipv4/ip_output.c
    hdlc_ppp: add range checks in ppp_cp_parse_cr()
    geneve: add transport ports in route lookup for geneve
    cxgb4: Fix offset when clearing filter byte counters
    mm/thp: fix __split_huge_pmd_locked() for migration PMD
    kprobes: fix kill kprobe which has been marked as gone
    KVM: fix memory leak in kvm_io_bus_unregister_dev()
  * af_key: pfkey_dump needs parameter validation
      net/key/af_key.c
    ANDROID: drop KERNEL_DIR setting in build.config.common
    Merge 4.19.147 into android-4.19-stable
Linux 4.19.147
    x86/defconfig: Enable CONFIG_USB_XHCI_HCD=y
    powerpc/dma: Fix dma_map_ops::get_required_mask
  * ehci-hcd: Move include to keep CRC stable
      drivers/usb/host/ehci-hcd.c
      drivers/usb/host/ehci-hub.c
    x86/boot/compressed: Disable relocation relaxation
    serial: 8250_pci: Add Realtek 816a and 816b
    Input: i8042 - add Entroware Proteus EL07R4 to nomux and reset lists
    Input: trackpoint - add new trackpoint variant IDs
  * percpu: fix first chunk size calculation for populated bitmap
      mm/percpu.c
    Revert "ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO"
    i2c: i801: Fix resume bug
    usblp: fix race between disconnect() and read()
    USB: UAS: fix disconnect by unplugging a hub
  * USB: quirks: Add USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk for BYD zhaoxin notebook
      drivers/usb/core/quirks.c
    drm/mediatek: Add missing put_device() call in mtk_hdmi_dt_parse_pdata()
    drm/mediatek: Add exception handing in mtk_drm_probe() if component init fail
    MIPS: SNI: Fix spurious interrupts
    fbcon: Fix user font detection test at fbcon_resize().
    perf test: Free formats for perf pmu parse test
    MIPS: SNI: Fix MIPS_L1_CACHE_SHIFT
    perf test: Fix the "signal" test inline assembly
    Drivers: hv: vmbus: Add timeout to vmbus_wait_for_unload
    ASoC: qcom: Set card->owner to avoid warnings
    clk: rockchip: Fix initialization of mux_pll_src_4plls_p
    clk: davinci: Use the correct size when allocating memory
  * KVM: MIPS: Change the definition of kvm type
      include/uapi/linux/kvm.h
  * spi: Fix memory leak on splited transfers
      drivers/spi/spi.c
  * i2c: algo: pca: Reapply i2c bus settings after reset
      include/linux/i2c-algo-pca.h
  * f2fs: Return EOF on unaligned end of file DIO read
      fs/f2fs/data.c
  * f2fs: fix indefinite loop scanning for free nid
      fs/f2fs/node.c
    nvme-rdma: cancel async events before freeing event struct
    nvme-fc: cancel async events before freeing event struct
    openrisc: Fix cache API compile issue when not inlining
    rapidio: Replace 'select' DMAENGINES 'with depends on'
    SUNRPC: stop printk reading past end of string
    NFS: Zero-stateid SETATTR should first return delegation
    spi: spi-loopback-test: Fix out-of-bounds read
    regulator: pwm: Fix machine constraints application
    scsi: lpfc: Fix FLOGI/PLOGI receive race condition in pt2pt discovery
    scsi: libfc: Fix for double free()
    scsi: pm8001: Fix memleak in pm8001_exec_internal_task_abort
    NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall
    hv_netvsc: Remove "unlikely" from netvsc_select_queue
  * net: handle the return value of pskb_carve_frag_list() correctly
      net/core/skbuff.c
    RDMA/bnxt_re: Restrict the max_gids to 256
    gfs2: initialize transaction tr_ailX_lists earlier
    scsi: qla2xxx: Reduce holding sess_lock to prevent CPU lock-up
    scsi: qla2xxx: Move rport registration out of internal work_list
    scsi: qla2xxx: Update rscn_rcvd field to more meaningful scan_needed
    dsa: Allow forwarding of redirected IGMP traffic
    ANDROID: Refresh ABI.xmls with libabigail 1.8.0-1dca710a
    ANDROID: KMI symbol lists: migrate section name
    Merge 4.19.146 into android-4.19-stable
Linux 4.19.146
  * gcov: add support for GCC 10.1
      kernel/gcov/Kconfig
    usb: typec: ucsi: acpi: Check the _DEP dependencies
  * usb: Fix out of sync data toggle if a configured device is reconfigured
      drivers/usb/core/message.c
    USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules
    USB: serial: option: support dynamic Quectel USB compositions
    USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter
  * usb: core: fix slab-out-of-bounds Read in read_descriptors
      drivers/usb/core/sysfs.c
    phy: qcom-qmp: Use correct values for ipq8074 PCIe Gen2 PHY init
    staging: greybus: audio: fix uninitialized value issue
    video: fbdev: fix OOB read in vga_8planes_imageblit()
    ARM: dts: vfxxx: Add syscon compatible with OCOTP
    KVM: VMX: Don't freeze guest when event delivery causes an APIC-access exit
    fbcon: remove now unusued 'softback_lines' cursor() argument
    fbcon: remove soft scrollback code
  * vgacon: remove software scrollback support
      drivers/video/console/Kconfig
    RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars
    rbd: require global CAP_SYS_ADMIN for mapping and unmapping
    drm/msm: Disable preemption on all 5xx targets
    drm/tve200: Stabilize enable/disable
    scsi: target: iscsi: Fix hang in iscsit_access_np() when getting tpg->np_login_sem
    scsi: target: iscsi: Fix data digest calculation
  * regulator: push allocation in set_consumer_device_supply() out of lock
      drivers/regulator/core.c
    btrfs: fix wrong address when faulting in pages in the search ioctl
    btrfs: fix lockdep splat in add_missing_dev
    btrfs: require only sector size alignment for parent eb bytenr
    staging: wlan-ng: fix out of bounds read in prism2sta_probe_usb()
    iio:accel:mma8452: Fix timestamp alignment and prevent data leak.
    iio:accel:mma7455: Fix timestamp alignment and prevent data leak.
    iio: accel: kxsd9: Fix alignment of local buffer.
    iio:chemical:ccs811: Fix timestamp alignment and prevent data leak.
    iio:light:max44000 Fix timestamp alignment and prevent data leak.
    iio:magnetometer:ak8975 Fix alignment and data leak issues.
    iio:adc:ti-adc081c Fix alignment and data leak issues
    iio:adc:max1118 Fix alignment of timestamp and data leak issues
    iio:adc:ina2xx Fix timestamp alignment issue.
    iio:adc:ti-adc084s021 Fix alignment and data leak issues.
    iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak.
    iio:light:ltr501 Fix timestamp alignment issue.
    iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set
    iio: adc: mcp3422: fix locking on error path
    iio: adc: mcp3422: fix locking scope
  * gcov: Disable gcov build with GCC 10
      kernel/gcov/Kconfig
    iommu/amd: Do not use IOMMUv2 functionality when SME is active
    drm/amdgpu: Fix bug in reporting voltage for CIK
    ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled
    cpufreq: intel_pstate: Fix intel_pstate_get_hwp_max() for turbo disabled
    cpufreq: intel_pstate: Refuse to turn off with HWP enabled
    ARC: [plat-hsdk]: Switch ethernet phy-mode to rgmii-id
    HID: elan: Fix memleak in elan_input_configured
    drivers/net/wan/hdlc_cisco: Add hard_header_len
  * HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for all Saitek X52 devices
      drivers/hid/hid-ids.h
      drivers/hid/hid-quirks.c
    nvme-rdma: serialize controller teardown sequences
    nvme-fabrics: don't check state NVME_CTRL_NEW for request acceptance
  * irqchip/eznps: Fix build error for !ARC700 builds
      include/soc/nps/common.h
    xfs: initialize the shortform attr header padding entry
    drivers/net/wan/lapbether: Set network_header before transmitting
    ALSA: hda: Fix 2 channel swapping for Tegra
    firestream: Fix memleak in fs_open
    NFC: st95hf: Fix memleak in st95hf_in_send_cmd
    drivers/net/wan/lapbether: Added needed_tailroom
  * netfilter: conntrack: allow sctp hearbeat after connection re-use
      include/linux/netfilter/nf_conntrack_sctp.h
      net/netfilter/nf_conntrack_proto_sctp.c
    dmaengine: acpi: Put the CSRT table after using it
    ARC: HSDK: wireup perf irq
    arm64: dts: ns2: Fixed QSPI compatible string
    ARM: dts: BCM5301X: Fixed QSPI compatible string
    ARM: dts: NSP: Fixed QSPI compatible string
    ARM: dts: bcm: HR2: Fixed QSPI compatible string
    mmc: sdhci-msm: Add retries when all tuning phases are found valid
    RDMA/core: Fix reported speed and width
    scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA
    drm/sun4i: Fix dsi dcs long write function
    RDMA/bnxt_re: Do not report transparent vlan from QP1
    RDMA/rxe: Drop pointless checks in rxe_init_ports
    RDMA/rxe: Fix memleak in rxe_mem_init_user
    ARM: dts: ls1021a: fix QuadSPI-memory reg range
    ARM: dts: socfpga: fix register entry for timer3 on Arria10
    ARM: dts: logicpd-som-lv-baseboard: Fix broken audio
    ARM: dts: logicpd-torpedo-baseboard: Fix broken audio
    ANDROID: ABI: refresh with latest libabigail 94f5d4ae

Change-Id: Iae064df7e1dd74cd417c0f1b30a86a2f26686ac1
Signed-off-by: Lucas Wei <lucaswei@google.com>
2021-01-27 11:46:29 +08:00
Jason A. Donenfeld
1ff35ded67 UPSTREAM: crypto: poly1305 - add new 32 and 64-bit generic versions
These two C implementations from Zinc -- a 32x32 one and a 64x64 one,
depending on the platform -- come from Andrew Moon's public domain
poly1305-donna portable code, modified for usage in the kernel. The
precomputation in the 32-bit version and the use of 64x64 multiplies in
the 64-bit version make these perform better than the code it replaces.
Moon's code is also very widespread and has received many eyeballs of
scrutiny.

There's a bit of interference between the x86 implementation, which
relies on internal details of the old scalar implementation. In the next
commit, the x86 implementation will be replaced with a faster one that
doesn't rely on this, so none of this matters much. But for now, to keep
this passing the tests, we inline the bits of the old implementation
that the x86 implementation relied on. Also, since we now support a
slightly larger key space, via the union, some offsets had to be fixed
up.

Nonce calculation was folded in with the emit function, to take
advantage of 64x64 arithmetic. However, Adiantum appeared to rely on no
nonce handling in emit, so this path was conditionalized. We also
introduced a new struct, poly1305_core_key, to represent the precise
amount of space that particular implementation uses.

Testing with kbench9000, depending on the CPU, the update function for
the 32x32 version has been improved by 4%-7%, and for the 64x64 by
19%-30%. The 32x32 gains are small, but I think there's great value in
having a parallel implementation to the 64x64 one so that the two can be
compared side-by-side as nice stand-alone units.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 1c08a104360f3e18f4ee6346c21cc3923efb952e)
Bug: 152722841
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ie53f7e47335863df3d82dbc268c6d8323ae5f559
2020-10-25 11:47:54 +01:00
Valdis Klētnieks
a8bc5219c9 UPSTREAM: crypto: chacha - fix warning message in header file
Building with W=1 causes a warning:

  CC [M]  arch/x86/crypto/chacha_glue.o
In file included from arch/x86/crypto/chacha_glue.c:10:
./include/crypto/internal/chacha.h:37:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
   37 | static int inline chacha12_setkey(struct crypto_skcipher *tfm, const u8 *key,
      | ^~~~~~

Straighten out the order to match the rest of the header file.

Signed-off-by: Valdis Kletnieks <valdis.kletnieks@vt.edu>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 579d705cd64e44f3fcda1a6cfd5f37468a5ddf63)
Bug: 152722841
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Idb1c5251202344937a42bb095e67fab325e5106d
2020-10-25 11:47:51 +01:00
Ard Biesheuvel
537dbe51f3 UPSTREAM: crypto: blake2s - implement generic shash driver
Wire up our newly added Blake2s implementation via the shash API.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 7f9b0880925f1f9d7d59504ea0892d2ae9cfc233)
Bug: 152722841
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I2cc105bb4fd251cfea616323f352730832f07aaa
2020-10-24 22:42:43 +02:00
Jason A. Donenfeld
dc97e1c5ba UPSTREAM: crypto: blake2s - generic C library implementation and selftest
The C implementation was originally based on Samuel Neves' public
domain reference implementation but has since been heavily modified
for the kernel. We're able to do compile-time optimizations by moving
some scaffolding around the final function into the header file.

Information: https://blake2.net/

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
Co-developed-by: Samuel Neves <sneves@dei.uc.pt>
[ardb: - move from lib/zinc to lib/crypto
       - remove simd handling
       - rewrote selftest for better coverage
       - use fixed digest length for blake2s_hmac() and rename to
         blake2s256_hmac() ]
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 66d7fb94e4ffe5acc589e0b2b4710aecc1f07a28)
Bug: 152722841
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ia9f421fda204693adf8726c6b68f9eebdb4eb789
2020-10-24 22:42:43 +02:00
Ard Biesheuvel
48c9cbd789 UPSTREAM: crypto: x86/poly1305 - depend on generic library not generic shash
Remove the dependency on the generic Poly1305 driver. Instead, depend
on the generic library so that we only reuse code without pulling in
the generic skcipher implementation as well.

While at it, remove the logic that prefers the non-SIMD path for short
inputs - this is no longer necessary after recent FPU handling changes
on x86.

Since this removes the last remaining user of the routines exported
by the generic shash driver, unexport them and make them static.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 1b2c6a5120489d41c8ea3b8dacd0b4586289b158)
Bug: 152722841
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1003433816e6f3f458d7ccbcd0d4790666cdf8d1
2020-10-24 14:43:43 +02:00
Ard Biesheuvel
c99c627218 UPSTREAM: crypto: x86/poly1305 - unify Poly1305 state struct with generic code
In preparation of exposing a Poly1305 library interface directly from
the accelerated x86 driver, align the state descriptor of the x86 code
with the one used by the generic driver. This is needed to make the
library interface unified between all implementations.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit ad8f5b88383ea685f2b8df2a12ee3e08089a1287)
Bug: 152722841
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4425d0b514eec8e1d3e88e9972f270cc17bf8064
2020-10-24 14:43:41 +02:00
Ard Biesheuvel
4afb116cc1 UPSTREAM: crypto: poly1305 - move core routines into a separate library
Move the core Poly1305 routines shared between the generic Poly1305
shash driver and the Adiantum and NHPoly1305 drivers into a separate
library so that using just this pieces does not pull in the crypto
API pieces of the generic Poly1305 routine.

In a subsequent patch, we will augment this generic library with
init/update/final routines so that Poyl1305 algorithm can be used
directly without the need for using the crypto API's shash abstraction.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 48ea8c6ebc96bc0990e12ee1c43d0832c23576bb)
Bug: 152722841
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1d1ebae722acdb3a908822b8a5b126689e2147c3
2020-10-24 14:43:40 +02:00
Ard Biesheuvel
aff2622b02 UPSTREAM: crypto: chacha - unexport chacha_generic routines
Now that all users of generic ChaCha code have moved to the core library,
there is no longer a need for the generic ChaCha skcpiher driver to
export parts of it implementation for reuse by other drivers. So drop
the exports, and make the symbols static.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 22cf705360707ced15f9fe5423938f313c7df536)
Bug: 152722841
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ie7a711756d34f1578c32c59cd5e1e8e3ef82368f
2020-10-24 14:43:39 +02:00
Ard Biesheuvel
2aa92dfe28 UPSTREAM: crypto: chacha - move existing library code into lib/crypto
Currently, our generic ChaCha implementation consists of a permute
function in lib/chacha.c that operates on the 64-byte ChaCha state
directly [and which is always included into the core kernel since it
is used by the /dev/random driver], and the crypto API plumbing to
expose it as a skcipher.

In order to support in-kernel users that need the ChaCha streamcipher
but have no need [or tolerance] for going through the abstractions of
the crypto API, let's expose the streamcipher bits via a library API
as well, in a way that permits the implementation to be superseded by
an architecture specific one if provided.

So move the streamcipher code into a separate module in lib/crypto,
and expose the init() and crypt() routines to users of the library.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 5fb8ef25803ef33e2eb60b626435828b937bed75)
Bug: 152722841
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I7fe321d1fcbaea1dc3f9f65dec74a6f40da2d489
2020-10-24 14:43:29 +02:00
Kees Cook
064e99d396 crypto: null - Remove VLA usage of skcipher
In the quest to remove all stack VLA usage from the kernel[1], this
replaces struct crypto_skcipher and SKCIPHER_REQUEST_ON_STACK() usage
with struct crypto_sync_skcipher and SYNC_SKCIPHER_REQUEST_ON_STACK(),
which uses a fixed stack size.

[1] https://lkml.kernel.org/r/CA+55aFzCG-zNmZwX4A2FQpadafLfEzK6CC=qPXydAacU1RqZWA@mail.gmail.com

Change-Id: I9f879e0a86eb4a9ff08d65a2128d230ec06e0f4c
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Git-Repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Git-Commit: 8d605398425843c7ce3c0e9a0434d832d3bd54cc
Signed-off-by: Rishabh Bhatnagar <rishabhb@codeaurora.org>
2018-11-07 10:03:09 -08:00
Eric Biggers
d14f0a1fc4 crypto: simd - allow registering multiple algorithms at once
Add a function to crypto_simd that registers an array of skcipher
algorithms, then allocates and registers the simd wrapper algorithms for
them.  It assumes the naming scheme where the names of the underlying
algorithms are prefixed with two underscores.

Also add the corresponding 'unregister' function.

Most of the x86 crypto modules will be able to use these.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2018-03-03 00:03:17 +08:00
Eric Biggers
edbd1ecbd8 crypto: mcryptd - remove pointless wrapper functions
There is no need for ahash_mcryptd_{update,final,finup,digest}(); we
should just call crypto_ahash_*() directly.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Acked-by: Tim Chen <tim.c.chen@linux.intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2018-02-15 23:26:45 +08:00
Eric Biggers
cd6ed77ad5 crypto: hash - introduce crypto_hash_alg_has_setkey()
Templates that use an shash spawn can use crypto_shash_alg_has_setkey()
to determine whether the underlying algorithm requires a key or not.
But there was no corresponding function for ahash spawns.  Add it.

Note that the new function actually has to support both shash and ahash
algorithms, since the ahash API can be used with either.

Cc: stable@vger.kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2018-01-12 23:03:09 +11:00
Zhou Wang
14359bd7a0 crypto: scomp - delete unused comments
There are no init and exit callbacks, so delete its comments.

Signed-off-by: Zhou Wang <wangzhou1@hisilicon.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-12-28 17:56:50 +11:00
Eric Biggers
af3ff8045b crypto: hmac - require that the underlying hash algorithm is unkeyed
Because the HMAC template didn't check that its underlying hash
algorithm is unkeyed, trying to use "hmac(hmac(sha3-512-generic))"
through AF_ALG or through KEYCTL_DH_COMPUTE resulted in the inner HMAC
being used without having been keyed, resulting in sha3_update() being
called without sha3_init(), causing a stack buffer overflow.

This is a very old bug, but it seems to have only started causing real
problems when SHA-3 support was added (requires CONFIG_CRYPTO_SHA3)
because the innermost hash's state is ->import()ed from a zeroed buffer,
and it just so happens that other hash algorithms are fine with that,
but SHA-3 is not.  However, there could be arch or hardware-dependent
hash algorithms also affected; I couldn't test everything.

Fix the bug by introducing a function crypto_shash_alg_has_setkey()
which tests whether a shash algorithm is keyed.  Then update the HMAC
template to require that its underlying hash algorithm is unkeyed.

Here is a reproducer:

    #include <linux/if_alg.h>
    #include <sys/socket.h>

    int main()
    {
        int algfd;
        struct sockaddr_alg addr = {
            .salg_type = "hash",
            .salg_name = "hmac(hmac(sha3-512-generic))",
        };
        char key[4096] = { 0 };

        algfd = socket(AF_ALG, SOCK_SEQPACKET, 0);
        bind(algfd, (const struct sockaddr *)&addr, sizeof(addr));
        setsockopt(algfd, SOL_ALG, ALG_SET_KEY, key, sizeof(key));
    }

Here was the KASAN report from syzbot:

    BUG: KASAN: stack-out-of-bounds in memcpy include/linux/string.h:341  [inline]
    BUG: KASAN: stack-out-of-bounds in sha3_update+0xdf/0x2e0  crypto/sha3_generic.c:161
    Write of size 4096 at addr ffff8801cca07c40 by task syzkaller076574/3044

    CPU: 1 PID: 3044 Comm: syzkaller076574 Not tainted 4.14.0-mm1+ #25
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS  Google 01/01/2011
    Call Trace:
      __dump_stack lib/dump_stack.c:17 [inline]
      dump_stack+0x194/0x257 lib/dump_stack.c:53
      print_address_description+0x73/0x250 mm/kasan/report.c:252
      kasan_report_error mm/kasan/report.c:351 [inline]
      kasan_report+0x25b/0x340 mm/kasan/report.c:409
      check_memory_region_inline mm/kasan/kasan.c:260 [inline]
      check_memory_region+0x137/0x190 mm/kasan/kasan.c:267
      memcpy+0x37/0x50 mm/kasan/kasan.c:303
      memcpy include/linux/string.h:341 [inline]
      sha3_update+0xdf/0x2e0 crypto/sha3_generic.c:161
      crypto_shash_update+0xcb/0x220 crypto/shash.c:109
      shash_finup_unaligned+0x2a/0x60 crypto/shash.c:151
      crypto_shash_finup+0xc4/0x120 crypto/shash.c:165
      hmac_finup+0x182/0x330 crypto/hmac.c:152
      crypto_shash_finup+0xc4/0x120 crypto/shash.c:165
      shash_digest_unaligned+0x9e/0xd0 crypto/shash.c:172
      crypto_shash_digest+0xc4/0x120 crypto/shash.c:186
      hmac_setkey+0x36a/0x690 crypto/hmac.c:66
      crypto_shash_setkey+0xad/0x190 crypto/shash.c:64
      shash_async_setkey+0x47/0x60 crypto/shash.c:207
      crypto_ahash_setkey+0xaf/0x180 crypto/ahash.c:200
      hash_setkey+0x40/0x90 crypto/algif_hash.c:446
      alg_setkey crypto/af_alg.c:221 [inline]
      alg_setsockopt+0x2a1/0x350 crypto/af_alg.c:254
      SYSC_setsockopt net/socket.c:1851 [inline]
      SyS_setsockopt+0x189/0x360 net/socket.c:1830
      entry_SYSCALL_64_fastpath+0x1f/0x96

Reported-by: syzbot <syzkaller@googlegroups.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-11-29 13:39:15 +11:00
Greg Kroah-Hartman
b24413180f License cleanup: add SPDX GPL-2.0 license identifier to files with no license
Many source files in the tree are missing licensing information, which
makes it harder for compliance tools to determine the correct license.

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

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

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

How this work was done:

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

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

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

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

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

All documentation files were explicitly excluded.

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

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

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

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

   and resulted in the first patch in this series.

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

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

   and resulted in the second patch in this series.

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

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

   and that resulted in the third patch in this series.

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

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

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

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

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

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

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

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

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

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

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

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

Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-02 11:10:55 +01:00
Rabin Vincent
6f7473c524 crypto: hash - add crypto_(un)register_ahashes()
There are already helpers to (un)register multiple normal
and AEAD algos.  Add one for ahashes too.

Signed-off-by: Lars Persson <larper@axis.com>
Signed-off-by: Rabin Vincent <rabinv@axis.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-08-22 14:54:52 +08:00
Gary R Hook
333706b8ed crypto: Add akcipher_set_reqsize() function
Signed-off-by: Gary R Hook <gary.hook@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-07-28 17:58:04 +08:00
Linus Torvalds
5a0387a8a8 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto updates from Herbert Xu:
 "Here is the crypto update for 4.12:

  API:
   - Add batch registration for acomp/scomp
   - Change acomp testing to non-unique compressed result
   - Extend algorithm name limit to 128 bytes
   - Require setkey before accept(2) in algif_aead

  Algorithms:
   - Add support for deflate rfc1950 (zlib)

  Drivers:
   - Add accelerated crct10dif for powerpc
   - Add crc32 in stm32
   - Add sha384/sha512 in ccp
   - Add 3des/gcm(aes) for v5 devices in ccp
   - Add Queue Interface (QI) backend support in caam
   - Add new Exynos RNG driver
   - Add ThunderX ZIP driver
   - Add driver for hardware random generator on MT7623 SoC"

* 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (101 commits)
  crypto: stm32 - Fix OF module alias information
  crypto: algif_aead - Require setkey before accept(2)
  crypto: scomp - add support for deflate rfc1950 (zlib)
  crypto: scomp - allow registration of multiple scomps
  crypto: ccp - Change ISR handler method for a v5 CCP
  crypto: ccp - Change ISR handler method for a v3 CCP
  crypto: crypto4xx - rename ce_ring_contol to ce_ring_control
  crypto: testmgr - Allow ecb(cipher_null) in FIPS mode
  Revert "crypto: arm64/sha - Add constant operand modifier to ASM_EXPORT"
  crypto: ccp - Disable interrupts early on unload
  crypto: ccp - Use only the relevant interrupt bits
  hwrng: mtk - Add driver for hardware random generator on MT7623 SoC
  dt-bindings: hwrng: Add Mediatek hardware random generator bindings
  crypto: crct10dif-vpmsum - Fix missing preempt_disable()
  crypto: testmgr - replace compression known answer test
  crypto: acomp - allow registration of multiple acomps
  hwrng: n2 - Use devm_kcalloc() in n2rng_probe()
  crypto: chcr - Fix error handling related to 'chcr_alloc_shash'
  padata: get_next is never NULL
  crypto: exynos - Add new Exynos RNG driver
  ...
2017-05-02 15:53:46 -07:00
Giovanni Cabiddu
3de4f5e1a5 crypto: scomp - allow registration of multiple scomps
Add crypto_register_scomps and crypto_unregister_scomps to allow
the registration of multiple implementations with one call.

Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-04-24 18:11:07 +08:00
Giovanni Cabiddu
3ce5bc72eb crypto: acomp - allow registration of multiple acomps
Add crypto_register_acomps and crypto_unregister_acomps to allow
the registration of multiple implementations with one call.

Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-04-21 20:30:50 +08:00
Herbert Xu
ef0579b64e crypto: ahash - Fix EINPROGRESS notification callback
The ahash API modifies the request's callback function in order
to clean up after itself in some corner cases (unaligned final
and missing finup).

When the request is complete ahash will restore the original
callback and everything is fine.  However, when the request gets
an EBUSY on a full queue, an EINPROGRESS callback is made while
the request is still ongoing.

In this case the ahash API will incorrectly call its own callback.

This patch fixes the problem by creating a temporary request
object on the stack which is used to relay EINPROGRESS back to
the original completion function.

This patch also adds code to preserve the original flags value.

Fixes: ab6bf4e5e5 ("crypto: hash - Fix the pointer voodoo in...")
Cc: <stable@vger.kernel.org>
Reported-by: Sabrina Dubroca <sd@queasysnail.net>
Tested-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-04-10 19:09:18 +08:00
Ard Biesheuvel
c821f6ab2e crypto: skcipher - introduce walksize attribute for SIMD algos
In some cases, SIMD algorithms can only perform optimally when
allowed to operate on multiple input blocks in parallel. This is
especially true for bit slicing algorithms, which typically take
the same amount of time processing a single block or 8 blocks in
parallel. However, other SIMD algorithms may benefit as well from
bigger strides.

So add a walksize attribute to the skcipher algorithm definition, and
wire it up to the skcipher walk API. To avoid confusion between the
skcipher and AEAD attributes, rename the skcipher_walk chunksize
attribute to 'stride', and set it from the walksize (in the skcipher
case) or from the chunksize (in the AEAD case).

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-12-30 19:52:47 +08:00
Herbert Xu
34bc085c83 crypto: skcipher - Add separate walker for AEAD decryption
The AEAD decrypt interface includes the authentication tag in
req->cryptlen.  Therefore we need to exlucde that when doing
a walk over it.

This patch adds separate walker functions for AEAD encryption
and decryption.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2016-12-01 21:06:17 +08:00
Herbert Xu
266d051601 crypto: simd - Add simd skcipher helper
This patch adds the simd skcipher helper which is meant to be
a replacement for ablk helper.  It replaces the underlying blkcipher
interface with skcipher, and also presents the top-level algorithm
as an skcipher.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-11-28 21:23:18 +08:00
Herbert Xu
b286d8b1a6 crypto: skcipher - Add skcipher walk interface
This patch adds the skcipher walk interface which replaces both
blkcipher walk and ablkcipher walk.  Just like blkcipher walk it
can also be used for AEAD algorithms.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-11-28 21:23:17 +08:00
Eric Biggers
60425a8bad crypto: skcipher - Get rid of crypto_spawn_skcipher2()
Since commit 3a01d0ee2b ("crypto: skcipher - Remove top-level
givcipher interface"), crypto_spawn_skcipher2() and
crypto_spawn_skcipher() are equivalent.  So switch callers of
crypto_spawn_skcipher2() to crypto_spawn_skcipher() and remove it.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-11-01 08:37:17 +08:00
Eric Biggers
a35528eca0 crypto: skcipher - Get rid of crypto_grab_skcipher2()
Since commit 3a01d0ee2b ("crypto: skcipher - Remove top-level
givcipher interface"), crypto_grab_skcipher2() and
crypto_grab_skcipher() are equivalent.  So switch callers of
crypto_grab_skcipher2() to crypto_grab_skcipher() and remove it.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-11-01 08:37:16 +08:00
Giovanni Cabiddu
1ab53a77b7 crypto: acomp - add driver-side scomp interface
Add a synchronous back-end (scomp) to acomp. This allows to easily
expose the already present compression algorithms in LKCF via acomp.

Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-10-25 11:08:31 +08:00
Giovanni Cabiddu
2ebda74fd6 crypto: acomp - add asynchronous compression api
Add acomp, an asynchronous compression api that uses scatterlist
buffers.

Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-10-25 11:08:30 +08:00
Eric Biggers
afb5a0a947 crypto: skcipher - Remove unused crypto_lookup_skcipher() declaration
The definition of crypto_lookup_skcipher() was already removed in
commit 3a01d0ee2b ("crypto: skcipher - Remove top-level givcipher
interface").  So the declaration should be removed too.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-10-21 11:03:41 +08:00
Herbert Xu
3a01d0ee2b crypto: skcipher - Remove top-level givcipher interface
This patch removes the old crypto_grab_skcipher helper and replaces
it with crypto_grab_skcipher2.

As this is the final entry point into givcipher this patch also
removes all traces of the top-level givcipher interface, including
all implicit IV generators such as chainiv.

The bottom-level givcipher interface remains until the drivers
using it are converted.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-07-18 17:35:46 +08:00
Herbert Xu
da721302a7 crypto: aead - Remove blkcipher null for IV generators
The blkcipher null object is no longer used and can now be removed.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-07-18 17:35:43 +08:00
Herbert Xu
ca0494c093 crypto: aead - Add skcipher null for IV generators
This patch adds an skcipher null object alongside the existing
null blkcipher so that IV generators using it can switch over
to skcipher.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-07-18 17:35:42 +08:00
Herbert Xu
7a530aa9cf crypto: aead - Add chunk size
This patch adds a chunk size parameter to aead algorithms, just
like the chunk size for skcipher algorithms.

However, unlike skcipher we do not currently export this to AEAD
users.  It is only meant to be used by AEAD implementors for now.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-07-18 17:35:38 +08:00