Commit Graph

63 Commits

Author SHA1 Message Date
Michael Bestas
0d750eaafc Merge tag 'ASB-2024-08-05_4.19-stable' of https://android.googlesource.com/kernel/common into android-msm-pixel-4.19
https://source.android.com/docs/security/bulletin/2024-08-01
CVE-2024-36971

* tag 'ASB-2024-08-05_4.19-stable' of https://android.googlesource.com/kernel/common: (2363 commits)
  Linux 4.19.318
  i2c: rcar: bring hardware to known state when probing
  nilfs2: fix kernel bug on rename operation of broken directory
  SUNRPC: Fix RPC client cleaned up the freed pipefs dentries
  tcp: avoid too many retransmit packets
  tcp: use signed arithmetic in tcp_rtx_probe0_timed_out()
  net: tcp: fix unexcepted socket die when snd_wnd is 0
  tcp: refactor tcp_retransmit_timer()
  libceph: fix race between delayed_work() and ceph_monc_stop()
  hpet: Support 32-bit userspace
  USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor
  usb: gadget: configfs: Prevent OOB read/write in usb_string_copy()
  USB: Add USB_QUIRK_NO_SET_INTF quirk for START BP-850k
  USB: serial: option: add Rolling RW350-GL variants
  USB: serial: option: add Netprisma LCUK54 series modules
  USB: serial: option: add support for Foxconn T99W651
  USB: serial: option: add Fibocom FM350-GL
  USB: serial: option: add Telit FN912 rmnet compositions
  USB: serial: option: add Telit generic core-dump composition
  ARM: davinci: Convert comma to semicolon
  ...

 Conflicts:
	Documentation/devicetree/bindings/sound/rt5645.txt
	android/abi_gki_aarch64.xml
	drivers/clk/qcom/clk-rcg2.c
	drivers/hwtracing/coresight/coresight-etm4x.c
	drivers/leds/leds-pwm.c
	drivers/mmc/core/host.c
	drivers/mmc/core/sdio.c
	drivers/mmc/host/cqhci.c
	drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
	drivers/rpmsg/qcom_glink_native.c
	drivers/scsi/ufs/ufshcd.c
	drivers/thermal/thermal_core.c
	drivers/usb/dwc3/core.c
	drivers/usb/gadget/function/f_ncm.c
	fs/f2fs/gc.c
	fs/pstore/ram_core.c
	include/linux/fs.h
	include/linux/timer.h
	include/net/tcp.h
	init/initramfs.c
	kernel/events/core.c
	kernel/sched/idle.c
	kernel/time/timer.c
	mm/page_alloc.c
	net/wireless/scan.c
	scripts/checkpatch.pl

Change-Id: Ice08f3ba5dc64a093bc381710ef2408d963cb983
2024-09-06 02:00:44 +03:00
Greg Kroah-Hartman
bee81d3469 Merge 4.19.306 into android-4.19-stable
Changes in 4.19.306
	f2fs: explicitly null-terminate the xattr list
	ASoC: Intel: Skylake: mem leak in skl register function
	ASoC: cs43130: Fix the position of const qualifier
	ASoC: cs43130: Fix incorrect frame delay configuration
	ASoC: rt5650: add mutex to avoid the jack detection failure
	net/tg3: fix race condition in tg3_reset_task()
	ASoC: da7219: Support low DC impedance headset
	drm/exynos: fix a potential error pointer dereference
	clk: rockchip: rk3128: Fix HCLK_OTG gate register
	jbd2: correct the printing of write_flags in jbd2_write_superblock()
	drm/crtc: Fix uninit-value bug in drm_mode_setcrtc
	tracing: Have large events show up as '[LINE TOO BIG]' instead of nothing
	tracing: Add size check when printing trace_marker output
	ring-buffer: Do not record in NMI if the arch does not support cmpxchg in NMI
	reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning
	Input: atkbd - skip ATKBD_CMD_GETID in translated mode
	Input: i8042 - add nomux quirk for Acer P459-G2-M
	s390/scm: fix virtual vs physical address confusion
	ARC: fix spare error
	Input: xpad - add Razer Wolverine V2 support
	ARM: sun9i: smp: fix return code check of of_property_match_string
	drm/crtc: fix uninitialized variable use
	binder: use EPOLLERR from eventpoll.h
	binder: fix comment on binder_alloc_new_buf() return value
	uio: Fix use-after-free in uio_open
	coresight: etm4x: Fix width of CCITMIN field
	x86/lib: Fix overflow when counting digits
	EDAC/thunderx: Fix possible out-of-bounds string access
	powerpc: add crtsavres.o to always-y instead of extra-y
	powerpc: remove redundant 'default n' from Kconfig-s
	powerpc/44x: select I2C for CURRITUCK
	powerpc/pseries/memhotplug: Quieten some DLPAR operations
	powerpc/pseries/memhp: Fix access beyond end of drmem array
	selftests/powerpc: Fix error handling in FPU/VMX preemption tests
	powerpc/powernv: Add a null pointer check in opal_event_init()
	powerpc/imc-pmu: Add a null pointer check in update_events_in_group()
	mtd: rawnand: Increment IFC_TIMEOUT_MSECS for nand controller response
	ACPI: video: check for error while searching for backlight device parent
	ACPI: LPIT: Avoid u32 multiplication overflow
	net: netlabel: Fix kerneldoc warnings
	netlabel: remove unused parameter in netlbl_netlink_auditinfo()
	calipso: fix memory leak in netlbl_calipso_add_pass()
	mtd: Fix gluebi NULL pointer dereference caused by ftl notifier
	selinux: Fix error priority for bind with AF_UNSPEC on PF_INET6 socket
	crypto: virtio - Handle dataq logic with tasklet
	crypto: ccp - fix memleak in ccp_init_dm_workarea
	crypto: af_alg - Disallow multiple in-flight AIO requests
	crypto: sahara - remove FLAGS_NEW_KEY logic
	crypto: sahara - fix ahash selftest failure
	crypto: sahara - fix processing requests with cryptlen < sg->length
	crypto: sahara - fix error handling in sahara_hw_descriptor_create()
	pstore: ram_core: fix possible overflow in persistent_ram_init_ecc()
	crypto: virtio - Wait for tasklet to complete on device remove
	crypto: sahara - fix ahash reqsize
	crypto: sahara - fix wait_for_completion_timeout() error handling
	crypto: sahara - improve error handling in sahara_sha_process()
	crypto: sahara - fix processing hash requests with req->nbytes < sg->length
	crypto: sahara - do not resize req->src when doing hash operations
	crypto: scompress - return proper error code for allocation failure
	crypto: scompress - Use per-CPU struct instead multiple variables
	crypto: scomp - fix req->dst buffer overflow
	blocklayoutdriver: Fix reference leak of pnfs_device_node
	NFSv4.1/pnfs: Ensure we handle the error NFS4ERR_RETURNCONFLICT
	bpf, lpm: Fix check prefixlen before walking trie
	wifi: libertas: stop selecting wext
	ARM: dts: qcom: apq8064: correct XOADC register address
	ncsi: internal.h: Fix a spello
	net/ncsi: Fix netlink major/minor version numbers
	firmware: ti_sci: Fix an off-by-one in ti_sci_debugfs_create()
	rtlwifi: Use ffs in <foo>_phy_calculate_bit_shift
	wifi: rtlwifi: rtl8821ae: phy: fix an undefined bitwise shift behavior
	scsi: hisi_sas: Replace with standard error code return value
	dma-mapping: clear dev->dma_mem to NULL after freeing it
	wifi: rtlwifi: add calculate_bit_shift()
	wifi: rtlwifi: rtl8188ee: phy: using calculate_bit_shift()
	wifi: rtlwifi: rtl8192c: using calculate_bit_shift()
	wifi: rtlwifi: rtl8192cu: using calculate_bit_shift()
	wifi: rtlwifi: rtl8192ce: using calculate_bit_shift()
	rtlwifi: rtl8192de: make arrays static const, makes object smaller
	wifi: rtlwifi: rtl8192de: using calculate_bit_shift()
	wifi: rtlwifi: rtl8192ee: using calculate_bit_shift()
	wifi: rtlwifi: rtl8192se: using calculate_bit_shift()
	Bluetooth: Fix bogus check for re-auth no supported with non-ssp
	Bluetooth: btmtkuart: fix recv_buf() return value
	ip6_tunnel: fix NEXTHDR_FRAGMENT handling in ip6_tnl_parse_tlv_enc_lim()
	RDMA/usnic: Silence uninitialized symbol smatch warnings
	media: pvrusb2: fix use after free on context disconnection
	drm/bridge: Fix typo in post_disable() description
	f2fs: fix to avoid dirent corruption
	drm/radeon/r600_cs: Fix possible int overflows in r600_cs_check_reg()
	drm/radeon/r100: Fix integer overflow issues in r100_cs_track_check()
	drm/radeon: check return value of radeon_ring_lock()
	ASoC: cs35l33: Fix GPIO name and drop legacy include
	ASoC: cs35l34: Fix GPIO name and drop legacy include
	drm/msm/mdp4: flush vblank event on disable
	drm/drv: propagate errors from drm_modeset_register_all()
	drm/radeon: check the alloc_workqueue return value in radeon_crtc_init()
	drm/radeon/dpm: fix a memleak in sumo_parse_power_table
	drm/radeon/trinity_dpm: fix a memleak in trinity_parse_power_table
	media: cx231xx: fix a memleak in cx231xx_init_isoc
	media: dvbdev: drop refcount on error path in dvb_device_open()
	drm/amdgpu/debugfs: fix error code when smc register accessors are NULL
	drm/amd/pm: fix a double-free in si_dpm_init
	drivers/amd/pm: fix a use-after-free in kv_parse_power_table
	gpu/drm/radeon: fix two memleaks in radeon_vm_init
	watchdog: set cdev owner before adding
	watchdog/hpwdt: Only claim UNKNOWN NMI if from iLO
	watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling
	mmc: sdhci_omap: Fix TI SoC dependencies
	of: Fix double free in of_parse_phandle_with_args_map
	of: unittest: Fix of_count_phandle_with_args() expected value message
	binder: fix async space check for 0-sized buffers
	Input: atkbd - use ab83 as id when skipping the getid command
	Revert "ASoC: atmel: Remove system clock tree configuration for at91sam9g20ek"
	xen-netback: don't produce zero-size SKB frags
	binder: fix race between mmput() and do_exit()
	binder: fix unused alloc->free_async_space
	tick-sched: Fix idle and iowait sleeptime accounting vs CPU hotplug
	usb: phy: mxs: remove CONFIG_USB_OTG condition for mxs_phy_is_otg_host()
	usb: dwc: ep0: Update request status in dwc3_ep0_stall_restart
	Revert "usb: dwc3: Soft reset phy on probe for host"
	Revert "usb: dwc3: don't reset device side if dwc3 was configured as host-only"
	usb: chipidea: wait controller resume finished for wakeup irq
	Revert "usb: typec: class: fix typec_altmode_put_partner to put plugs"
	usb: typec: class: fix typec_altmode_put_partner to put plugs
	usb: mon: Fix atomicity violation in mon_bin_vma_fault
	ALSA: oxygen: Fix right channel of capture volume mixer
	fbdev: flush deferred work in fb_deferred_io_fsync()
	wifi: rtlwifi: Remove bogus and dangerous ASPM disable/enable code
	wifi: rtlwifi: Convert LNKCTL change to PCIe cap RMW accessors
	wifi: mwifiex: configure BSSID consistently when starting AP
	HID: wacom: Correct behavior when processing some confidence == false touches
	MIPS: Alchemy: Fix an out-of-bound access in db1200_dev_setup()
	MIPS: Alchemy: Fix an out-of-bound access in db1550_dev_setup()
	acpi: property: Let args be NULL in __acpi_node_get_property_reference
	perf genelf: Set ELF program header addresses properly
	apparmor: avoid crash when parsed profile name is empty
	serial: imx: Correct clock error message in function probe()
	net: qualcomm: rmnet: fix global oob in rmnet_policy
	net: ravb: Fix dma_addr_t truncation in error case
	net: dsa: vsc73xx: Add null pointer check to vsc73xx_gpio_probe
	ipvs: avoid stat macros calls from preemptible context
	kdb: Censor attempts to set PROMPT without ENABLE_MEM_READ
	kdb: Fix a potential buffer overflow in kdb_local()
	i2c: s3c24xx: fix read transfers in polling mode
	i2c: s3c24xx: fix transferring more than one message in polling mode
	Revert "NFSD: Fix possible sleep during nfsd4_release_lockowner()"
	crypto: scompress - initialize per-CPU variables on each CPU
	Linux 4.19.306

Change-Id: Ib746be8cff1e4086680c032a03b0fc0ab5968a51
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-01-26 02:28:10 +00:00
Carlos Llamas
e2425a67b5 binder: fix unused alloc->free_async_space
commit c6d05e0762ab276102246d24affd1e116a46aa0c upstream.

Each transaction is associated with a 'struct binder_buffer' that stores
the metadata about its buffer area. Since commit 74310e06be ("android:
binder: Move buffer out of area shared with user space") this struct is
no longer embedded within the buffer itself but is instead allocated on
the heap to prevent userspace access to this driver-exclusive info.

Unfortunately, the space of this struct is still being accounted for in
the total buffer size calculation, specifically for async transactions.
This results in an additional 104 bytes added to every async buffer
request, and this area is never used.

This wasted space can be substantial. If we consider the maximum mmap
buffer space of SZ_4M, the driver will reserve half of it for async
transactions, or 0x200000. This area should, in theory, accommodate up
to 262,144 buffers of the minimum 8-byte size. However, after adding
the extra 'sizeof(struct binder_buffer)', the total number of buffers
drops to only 18,724, which is a sad 7.14% of the actual capacity.

This patch fixes the buffer size calculation to enable the utilization
of the entire async buffer space. This is expected to reduce the number
of -ENOSPC errors that are seen on the field.

Fixes: 74310e06be ("android: binder: Move buffer out of area shared with user space")
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20231201172212.1813387-6-cmllamas@google.com
[cmllamas: fix trivial conflict with missing 261e7818f06e.]
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-01-25 14:33:37 -08:00
Carlos Llamas
95b1d336b0 binder: fix race between mmput() and do_exit()
commit 9a9ab0d963621d9d12199df9817e66982582d5a5 upstream.

Task A calls binder_update_page_range() to allocate and insert pages on
a remote address space from Task B. For this, Task A pins the remote mm
via mmget_not_zero() first. This can race with Task B do_exit() and the
final mmput() refcount decrement will come from Task A.

  Task A            | Task B
  ------------------+------------------
  mmget_not_zero()  |
                    |  do_exit()
                    |    exit_mm()
                    |      mmput()
  mmput()           |
    exit_mmap()     |
      remove_vma()  |
        fput()      |

In this case, the work of ____fput() from Task B is queued up in Task A
as TWA_RESUME. So in theory, Task A returns to userspace and the cleanup
work gets executed. However, Task A instead sleep, waiting for a reply
from Task B that never comes (it's dead).

This means the binder_deferred_release() is blocked until an unrelated
binder event forces Task A to go back to userspace. All the associated
death notifications will also be delayed until then.

In order to fix this use mmput_async() that will schedule the work in
the corresponding mm->async_put_work WQ instead of Task A.

Fixes: 457b9a6f09 ("Staging: android: add binder driver")
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20231201172212.1813387-4-cmllamas@google.com
[cmllamas: fix trivial conflict with missing d8ed45c5dcd4.]
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-01-25 14:33:37 -08:00
Carlos Llamas
05088b886f binder: fix async space check for 0-sized buffers
commit 3091c21d3e9322428691ce0b7a0cfa9c0b239eeb upstream.

Move the padding of 0-sized buffers to an earlier stage to account for
this round up during the alloc->free_async_space check.

Fixes: 74310e06be ("android: binder: Move buffer out of area shared with user space")
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20231201172212.1813387-5-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-01-25 14:33:36 -08:00
Carlos Llamas
10cfdc51c3 binder: fix comment on binder_alloc_new_buf() return value
commit e1090371e02b601cbfcea175c2a6cc7c955fa830 upstream.

Update the comments of binder_alloc_new_buf() to reflect that the return
value of the function is now ERR_PTR(-errno) on failure.

No functional changes in this patch.

Cc: stable@vger.kernel.org
Fixes: 57ada2fb22 ("binder: add log information for binder transaction failures")
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20231201172212.1813387-8-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-01-25 14:33:30 -08:00
Wilson Sung
e3167a4609 Merge android-4.19-stable (4.19.294) into android-msm-pixel-4.19-lts
Merge 4.19.294 into android-4.19-stable
Linux 4.19.294
    Revert "ARM: ep93xx: fix missing-prototype warnings"
    Revert "MIPS: Alchemy: fix dbdma2"
    Merge 4.19.293 into android-4.19-stable
Linux 4.19.293
    dma-buf/sw_sync: Avoid recursive lock during fence signal
  * clk: Fix undefined reference to `clk_rate_exclusive_{get,put}'
      include/linux/clk.h
  * scsi: core: raid_class: Remove raid_component_add()
      include/linux/raid_class.h
    scsi: snic: Fix double free in snic_tgt_create()
    irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable
  * rtnetlink: Reject negative ifindexes in RTM_NEWLINK
      net/core/rtnetlink.c
  * netfilter: nf_queue: fix socket leak
      net/netfilter/nf_queue.c
  * sched/rt: pick_next_rt_entity(): check list_entry
      kernel/sched/rt.c
  * mmc: block: Fix in_flight[issue_type] value error
      drivers/mmc/core/block.c
    x86/fpu: Set X86_FEATURE_OSXSAVE feature after enabling OSXSAVE in CR4
    PCI: acpiphp: Use pci_assign_unassigned_bridge_resources() only for non-root bus
    media: vcodec: Fix potential array out-of-bounds in encoder queue_setup
  * lib/clz_ctz.c: Fix __clzdi2() and __ctzdi2() for 32-bit kernels
      lib/clz_ctz.c
    batman-adv: Fix batadv_v_ogm_aggr_send memory leak
    batman-adv: Fix TT global entry leak when client roamed back
    batman-adv: Do not get eth header before batadv_check_management_packet
    batman-adv: Don't increase MTU when set by user
    batman-adv: Trigger events for auto adjusted MTU
    nfsd: Fix race to FREE_STATEID and cl_revoked
    ibmveth: Use dcbf rather than dcbfl
    ipvs: fix racy memcpy in proc_do_sync_threshold
    ipvs: Improve robustness to the ipvs sysctl
  * bonding: fix macvlan over alb bond support
      drivers/net/bonding/bond_alb.c
      include/net/bonding.h
  * net: remove bond_slave_has_mac_rcu()
      include/net/bonding.h
  * net/sched: fix a qdisc modification with ambiguous command request
      net/sched/sch_api.c
    igb: Avoid starting unnecessary workqueues
    dccp: annotate data-races in dccp_poll()
  * sock: annotate data-races around prot->memory_pressure
      include/net/sock.h
      net/sctp/socket.c
  * tracing: Fix memleak due to race between current_tracer and trace
      kernel/trace/trace.c
    drm/amd/display: check TG is non-null before checking if enabled
    drm/amd/display: do not wait for mpc idle if tg is disabled
  * regmap: Account for register length in SMBus I/O limits
      drivers/base/regmap/regmap-i2c.c
    dm integrity: reduce vmalloc space footprint on 32-bit architectures
    dm integrity: increase RECALC_SECTORS to improve recalculate speed
    powerpc: Fail build if using recordmcount with binutils v2.37
    powerpc: remove leftover code of old GCC version checks
    powerpc/32: add stack protector support
    fbdev: fix potential OOB read in fast_imageblit()
    fbdev: Fix sys_imageblit() for arbitrary image widths
    fbdev: Improve performance of sys_imageblit()
    tty: serial: fsl_lpuart: add earlycon for imx8ulp platform
    Revert "tty: serial: fsl_lpuart: drop earlycon entry for i.MX8QXP"
    MIPS: cpu-features: Use boot_cpu_type for CPU type based features
    MIPS: cpu-features: Enable octeon_cache by cpu_type
    fs: dlm: fix mismatch of plock results from userspace
    fs: dlm: use dlm_plock_info for do_unlock_close
    fs: dlm: change plock interrupted message to debug again
    fs: dlm: add pid to debug log
    dlm: replace usage of found with dedicated list iterator variable
    dlm: improve plock logging if interrupted
    PCI: acpiphp: Reassign resources on bridge if necessary
    net: phy: broadcom: stub c45 read/write for 54810
  * net: xfrm: Amend XFRMA_SEC_CTX nla_policy structure
      net/xfrm/xfrm_user.c
  * net: fix the RTO timer retransmitting skb every 1ms if linear option is enabled
      net/ipv4/tcp_timer.c
    virtio-net: set queues after driver_ok
  * af_unix: Fix null-ptr-deref in unix_stream_sendpage().
      net/unix/af_unix.c
  * netfilter: set default timeout to 3 secs for sctp shutdown send and recv state
      net/netfilter/nf_conntrack_proto_sctp.c
    test_firmware: prevent race conditions by a correct implementation of locking
    mmc: wbsd: fix double mmc_free_host() in wbsd_init()
    cifs: Release folio lock on fscache read hit.
  * ALSA: usb-audio: Add support for Mythware XA001AU capture and playback interfaces.
      sound/usb/quirks-table.h
    serial: 8250: Fix oops for port->pm on uart_change_pm()
    ASoC: meson: axg-tdm-formatter: fix channel slot allocation
    ASoC: rt5665: add missed regulator_bulk_disable
  * net: do not allow gso_size to be set to GSO_BY_FRAGS
      include/linux/virtio_net.h
  * sock: Fix misuse of sk_under_memory_pressure()
      include/net/sock.h
      net/core/sock.c
    i40e: fix misleading debug logs
    team: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves
    netfilter: nft_dynset: disallow object maps
    selftests: mirror_gre_changes: Tighten up the TTL test match
  * xfrm: add NULL check in xfrm_update_ae_params
      net/xfrm/xfrm_user.c
  * ip_vti: fix potential slab-use-after-free in decode_session6
      net/ipv4/ip_vti.c
  * ip6_vti: fix slab-use-after-free in decode_session6
      net/ipv6/ip6_vti.c
  * xfrm: fix slab-use-after-free in decode_session6
      net/xfrm/xfrm_interface_core.c
  * xfrm: interface: rename xfrm_interface.c to xfrm_interface_core.c
      net/xfrm/Makefile
  * net: af_key: fix sadb_x_filter validation
      net/key/af_key.c
  * net: xfrm: Fix xfrm_address_filter OOB read
      net/xfrm/xfrm_user.c
    btrfs: fix BUG_ON condition in btrfs_cancel_balance
    powerpc/rtas_flash: allow user copy to flash block cache objects
    fbdev: mmp: fix value check in mmphw_probe()
    virtio-mmio: don't break lifecycle of vm_dev
    virtio-mmio: Use to_virtio_mmio_device() to simply code
    virtio-mmio: convert to devm_platform_ioremap_resource
    nfsd: Remove incorrect check in nfsd4_validate_stateid
    nfsd4: kill warnings on testing stateids with mismatched clientids
    block: fix signed int overflow in Amiga partition support
    mmc: sunxi: fix deferred probing
    mmc: bcm2835: fix deferred probing
  * mmc: Remove dev_err() usage after platform_get_irq()
      drivers/mmc/host/sdhci-msm.c
    mmc: tmio: move tmio_mmc_set_clock() to platform hook
    mmc: tmio: replace tmio_mmc_clk_stop() calls with tmio_mmc_set_clock()
    mmc: meson-gx: remove redundant mmc_request_done() call from irq context
    mmc: meson-gx: remove useless lock
  * USB: dwc3: qcom: fix NULL-deref on suspend
      drivers/usb/dwc3/dwc3-qcom.c
  * usb: dwc3: qcom: Add helper functions to enable,disable wake irqs
      drivers/usb/dwc3/dwc3-qcom.c
    irqchip/mips-gic: Use raw spinlock for gic_lock
    irqchip/mips-gic: Get rid of the reliance on irq_cpu_online()
    x86/topology: Fix erroneous smp_num_siblings on Intel Hybrid platforms
    powerpc/64s/radix: Fix soft dirty tracking
    powerpc: Move page table dump files in a dedicated subdirectory
    powerpc/mm: dump block address translation on book3s/32
    powerpc/mm: dump segment registers on book3s/32
    powerpc/mm: Move pgtable_t into platform headers
    powerpc/mm: move platform specific mmu-xxx.h in platform directories
    iio: addac: stx104: Fix race condition when converting analog-to-digital
    iio: addac: stx104: Fix race condition for stx104_write_raw()
    iio: adc: stx104: Implement and utilize register structures
    iio: adc: stx104: Utilize iomap interface
  * iio: add addac subdirectory
      drivers/iio/Kconfig
      drivers/iio/Makefile
      drivers/iio/addac/Kconfig
      drivers/iio/addac/Makefile
  * IMA: allow/fix UML builds
      security/integrity/ima/Kconfig
    drm/amdgpu: Fix potential fence use-after-free v2
  * Bluetooth: L2CAP: Fix use-after-free
      net/bluetooth/l2cap_core.c
    pcmcia: rsrc_nonstatic: Fix memory leak in nonstatic_release_resource_db()
    gfs2: Fix possible data races in gfs2_show_options()
    media: platform: mediatek: vpu: fix NULL ptr dereference
  * media: v4l2-mem2mem: add lock to protect parameter num_rdy
      include/media/v4l2-mem2mem.h
    FS: JFS: Check for read-only mounted filesystem in txBegin
    FS: JFS: Fix null-ptr-deref Read in txBegin
    MIPS: dec: prom: Address -Warray-bounds warning
    fs: jfs: Fix UBSAN: array-index-out-of-bounds in dbAllocDmapLev
    udf: Fix uninitialized array access for some pathnames
  * HID: add quirk for 03f0:464a HP Elite Presenter Mouse
      drivers/hid/hid-ids.h
      drivers/hid/hid-quirks.c
  * quota: fix warning in dqgrab()
      fs/quota/dquot.c
  * quota: Properly disable quotas when add_dquot_ref() fails
      fs/quota/dquot.c
    ALSA: emu10k1: roll up loops in DSP setup code for Audigy
    drm/radeon: Fix integer overflow in radeon_cs_parser_init
    selftests: forwarding: tc_flower: Relax success criterion
  * lib/mpi: Eliminate unused umul_ppmm definitions for MIPS
      lib/mpi/longlong.h
    Merge 4.19.292 into android-4.19-stable
  * Revert "posix-timers: Ensure timer ID search-loop limit is valid"
      include/linux/sched/signal.h
      kernel/time/posix-timers.c
    Merge 4.19.291 into android-4.19-stable
    Merge 4.19.290 into android-4.19-stable
    UPSTREAM: media: usb: siano: Fix warning due to null work_func_t function pointer
  * UPSTREAM: Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb
      net/bluetooth/l2cap_sock.c
    UPSTREAM: net/sched: cls_route: No longer copy tcf_result on update to avoid use-after-free
  * UPSTREAM: net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free
      net/sched/cls_u32.c
Linux 4.19.292
  * sch_netem: fix issues in netem_change() vs get_dist_table()
      net/sched/sch_netem.c
    alpha: remove __init annotation from exported page_is_ram()
    scsi: core: Fix possible memory leak if device_add() fails
    scsi: snic: Fix possible memory leak if device_add() fails
    scsi: 53c700: Check that command slot is not NULL
    scsi: storvsc: Fix handling of virtual Fibre Channel timeouts
  * scsi: core: Fix legacy /proc parsing buffer overflow
      drivers/scsi/scsi_proc.c
  * netfilter: nf_tables: report use refcount overflow
      include/net/netfilter/nf_tables.h
  * netfilter: nf_tables: bogus EBUSY when deleting flowtable after flush
      include/net/netfilter/nf_tables.h
    btrfs: don't stop integrity writeback too early
    ibmvnic: Handle DMA unmapping of login buffs in release functions
  * wifi: cfg80211: fix sband iftype data lookup for AP_VLAN
      include/net/cfg80211.h
    IB/hfi1: Fix possible panic during hotplug remove
  * drivers: net: prevent tun_build_skb() to exceed the packet size limit
      drivers/net/tun.c
    dccp: fix data-race around dp->dccps_mss_cache
  * bonding: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves
      drivers/net/bonding/bond_main.c
  * net/packet: annotate data-races around tp->status
      net/packet/af_packet.c
    mISDN: Update parameter type of dsp_cmx_send()
    drm/nouveau/disp: Revert a NULL check inside nouveau_connector_get_modes
    x86: Move gds_ucode_mitigated() declaration to header
    x86/mm: Fix VDSO and VVAR placement on 5-level paging machines
    x86/cpu/amd: Enable Zenbleed fix for AMD Custom APU 0405
  * usb: dwc3: Properly handle processing of pending events
      drivers/usb/dwc3/gadget.c
    usb-storage: alauda: Fix uninit-value in alauda_check_media()
  * binder: fix memory leak in binder_init()
      drivers/android/binder.c
      drivers/android/binder_alloc.c
      drivers/android/binder_alloc.h
    iio: cros_ec: Fix the allocation size for cros_ec_command
    nilfs2: fix use-after-free of nilfs_root in dirtying inodes via iput
    radix tree test suite: fix incorrect allocation size for pthreads
    drm/nouveau/gr: enable memory loads on helper invocation on all channels
    dmaengine: pl330: Return DMA_PAUSED when transaction is paused
  * ipv6: adjust ndisc_is_useropt() to also return true for PIO
      net/ipv6/ndisc.c
    mmc: moxart: read scr register without changing byte order
    sparc: fix up arch_cpu_finalize_init() build breakage.
  * UPSTREAM: net/sched: cls_fw: Fix improper refcount update leads to use-after-free
      net/sched/cls_fw.c
Linux 4.19.291
  * drm/edid: fix objtool warning in drm_cvt_modes()
      drivers/gpu/drm/drm_edid.c
    arm64: dts: stratix10: fix incorrect I2C property for SCL signal
  * drivers core: Use sysfs_emit and sysfs_emit_at for show(device *...) functions
      drivers/base/arch_topology.c
      drivers/base/cacheinfo.c
      drivers/base/core.c
      drivers/base/cpu.c
      drivers/base/firmware_loader/fallback.c
      drivers/base/platform.c
      drivers/base/power/sysfs.c
      drivers/base/soc.c
    ARM: dts: nxp/imx6sll: fix wrong property name in usbphy node
    ARM: dts: imx6sll: fixup of operating points
    ARM: dts: imx: add usb alias
    ARM: dts: imx6sll: Make ssi node name same as other platforms
  * PM: sleep: wakeirq: fix wake irq arming
      drivers/base/power/power.h
      drivers/base/power/wakeirq.c
  * PM / wakeirq: support enabling wake-up irq after runtime_suspend called
      drivers/base/power/power.h
      drivers/base/power/runtime.c
      drivers/base/power/wakeirq.c
      include/linux/pm_wakeirq.h
    powerpc/mm/altmap: Fix altmap boundary check
    mtd: rawnand: omap_elm: Fix incorrect type in assignment
    test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation
    test_firmware: fix a memory leak with reqs buffer
    ext2: Drop fragment support
  * net: usbnet: Fix WARNING in usbnet_start_xmit/usb_submit_urb
      drivers/net/usb/usbnet.c
  * Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb
      net/bluetooth/l2cap_sock.c
    fs/sysv: Null check to prevent null-ptr-deref bug
  * USB: zaurus: Add ID for A-300/B-500/C-700
      drivers/net/usb/cdc_ether.c
      drivers/net/usb/zaurus.c
    libceph: fix potential hang in ceph_osdc_notify()
    scsi: zfcp: Defer fc_rport blocking until after ADISC response
  * tcp_metrics: fix data-race in tcpm_suck_dst() vs fastopen
      net/ipv4/tcp_metrics.c
  * tcp_metrics: annotate data-races around tm->tcpm_net
      net/ipv4/tcp_metrics.c
  * tcp_metrics: annotate data-races around tm->tcpm_vals[]
      net/ipv4/tcp_metrics.c
  * tcp_metrics: annotate data-races around tm->tcpm_lock
      net/ipv4/tcp_metrics.c
  * tcp_metrics: annotate data-races around tm->tcpm_stamp
      net/ipv4/tcp_metrics.c
  * tcp_metrics: fix addr_same() helper
      net/ipv4/tcp_metrics.c
    ip6mr: Fix skb_under_panic in ip6mr_cache_report()
    net/sched: cls_route: No longer copy tcf_result on update to avoid use-after-free
  * net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free
      net/sched/cls_u32.c
  * net: add missing data-race annotation for sk_ll_usec
      net/core/sock.c
  * net: add missing data-race annotations around sk->sk_peek_off
      net/core/sock.c
      net/unix/af_unix.c
  * net: sched: cls_u32: Fix match key mis-addressing
      net/sched/cls_u32.c
    perf test uprobe_from_different_cu: Skip if there is no gcc
    net/mlx5e: fix return value check in mlx5e_ipsec_remove_trailer()
    KVM: s390: fix sthyi error handling
  * word-at-a-time: use the same return type for has_zero regardless of endianness
      include/asm-generic/word-at-a-time.h
  * loop: Select I/O scheduler 'none' from inside add_disk()
      drivers/block/loop.c
  * perf: Fix function pointer case
      kernel/events/core.c
  * net/sched: cls_u32: Fix reference counter leak leading to overflow
      net/sched/cls_u32.c
    ASoC: cs42l51: fix driver to properly autoload with automatic module loading
    net/sched: sch_qfq: account for stab overhead in qfq_enqueue
  * net/sched: cls_fw: Fix improper refcount update leads to use-after-free
      net/sched/cls_fw.c
    drm/client: Fix memory leak in drm_client_target_cloned
    dm cache policy smq: ensure IO doesn't prevent cleaner policy progress
    ASoC: wm8904: Fill the cache for WM8904_ADC_TEST_0 register
    s390/dasd: fix hanging device after quiesce/resume
    virtio-net: fix race between set queues and probe
    serial: 8250_dw: Preserve original value of DLF register
  * serial: 8250_dw: split Synopsys DesignWare 8250 common functions
      drivers/tty/serial/8250/Kconfig
    irq-bcm6345-l1: Do not assume a fixed block to cpu mapping
    tpm_tis: Explicitly check for error code
    btrfs: check for commit error at btrfs_attach_transaction_barrier()
    hwmon: (nct7802) Fix for temp6 (PECI1) processed even if PECI1 disabled
    staging: ks7010: potential buffer overflow in ks_wlan_set_encode_ext()
    Documentation: security-bugs.rst: clarify CVE handling
    Documentation: security-bugs.rst: update preferences when dealing with the linux-distros group
    usb: xhci-mtk: set the dma max_seg_size
  * USB: quirks: add quirk for Focusrite Scarlett
      drivers/usb/core/quirks.c
    usb: ohci-at91: Fix the unhandle interrupt when resume
  * usb: dwc3: don't reset device side if dwc3 was configured as host-only
      drivers/usb/dwc3/core.c
    usb: dwc3: pci: skip BYT GPIO lookup table for hardwired phy
  * Revert "usb: dwc3: core: Enable AutoRetry feature in the controller"
      drivers/usb/dwc3/core.c
      drivers/usb/dwc3/core.h
    can: gs_usb: gs_can_close(): add missing set of CAN state to CAN_STATE_STOPPED
    USB: serial: simple: sort driver entries
    USB: serial: simple: add Kaufmann RKS+CAN VCP
    USB: serial: option: add Quectel EC200A module support
    USB: serial: option: support Quectel EM060K_128
  * tracing: Fix warning in trace_buffered_event_disable()
      kernel/trace/trace_events.c
  * ring-buffer: Fix wrong stat of cpu_buffer->read
      kernel/trace/ring_buffer.c
    ata: pata_ns87415: mark ns87560_tf_read static
    dm raid: fix missing reconfig_mutex unlock in raid_ctr() error paths
  * block: Fix a source code comment in include/uapi/linux/blkzoned.h
      include/uapi/linux/blkzoned.h
    ASoC: fsl_spdif: Silence output on stop
    drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb()
    RDMA/mlx4: Make check for invalid flags stricter
    benet: fix return value check in be_lancer_xmit_workarounds()
    net/sched: mqprio: Add length check for TCA_MQPRIO_{MAX/MIN}_RATE64
    net/sched: mqprio: add extack to mqprio_parse_nlattr()
    net/sched: mqprio: refactor nlattr parsing to a separate function
    platform/x86: msi-laptop: Fix rfkill out-of-sync on MSI Wind U100
    team: reset team's flags when down link is P2P device
  * bonding: reset bond's flags when down link is P2P device
      drivers/net/bonding/bond_main.c
  * tcp: Reduce chance of collisions in inet6_hashfn().
      include/net/ipv6.h
  * ipv6 addrconf: fix bug where deleting a mngtmpaddr can create a new temporary address
      net/ipv6/addrconf.c
    ethernet: atheros: fix return value check in atl1e_tso_csum()
    phy: hisilicon: Fix an out of bounds check in hisi_inno_phy_probe()
    i40e: Fix an NULL vs IS_ERR() bug for debugfs_create_dir()
  * ext4: fix to check return value of freeze_bdev() in ext4_shutdown()
      fs/ext4/ioctl.c
    scsi: qla2xxx: Array index may go out of bound
    scsi: qla2xxx: Fix inconsistent format argument type in qla_os.c
    ftrace: Fix possible warning on checking all pages used in ftrace_process_locs()
    ftrace: Store the order of pages allocated in ftrace_page
    ftrace: Check if pages were allocated before calling free_pages()
  * ftrace: Add information on number of page groups allocated
      kernel/trace/trace.c
      kernel/trace/trace.h
    fs: dlm: interrupt posix locks only when process is killed
    dlm: rearrange async condition return
    dlm: cleanup plock_op vs plock_xop
    PCI/ASPM: Avoid link retraining race
    PCI/ASPM: Factor out pcie_wait_for_retrain()
    PCI/ASPM: Return 0 or -ETIMEDOUT from pcie_retrain_link()
    PCI: Rework pcie_retrain_link() wait loop
  * ext4: Fix reusing stale buffer heads from last failed mounting
      fs/ext4/super.c
  * ext4: rename journal_dev to s_journal_dev inside ext4_sb_info
      fs/ext4/ext4.h
      fs/ext4/fsmap.c
      fs/ext4/super.c
    btrfs: fix extent buffer leak after tree mod log failure at split_node()
    bcache: Fix __bch_btree_node_alloc to make the failure behavior consistent
    bcache: remove 'int n' from parameter list of bch_bucket_alloc_set()
    bcache: use MAX_CACHES_PER_SET instead of magic number 8 in __bch_bucket_alloc_set
    gpio: tps68470: Make tps68470_gpio_output() always set the initial value
    tracing/histograms: Return an error if we fail to add histogram to hist_vars list
  * tcp: annotate data-races around fastopenq.max_qlen
      include/linux/tcp.h
      net/ipv4/tcp.c
      net/ipv4/tcp_fastopen.c
  * tcp: annotate data-races around tp->notsent_lowat
      include/net/tcp.h
      net/ipv4/tcp.c
  * tcp: annotate data-races around rskq_defer_accept
      net/ipv4/tcp.c
  * tcp: annotate data-races around tp->linger2
      net/ipv4/tcp.c
  * net: Replace the limit of TCP_LINGER2 with TCP_FIN_TIMEOUT_MAX
      include/net/tcp.h
      net/ipv4/tcp.c
    netfilter: nf_tables: can't schedule in nft_chain_validate
    netfilter: nf_tables: fix spurious set element insertion failure
  * llc: Don't drop packet from non-root netns.
      net/llc/llc_input.c
    fbdev: au1200fb: Fix missing IRQ check in au1200fb_drv_probe
  * Revert "tcp: avoid the lookup process failing to get sk in ehash table"
      net/ipv4/inet_hashtables.c
      net/ipv4/inet_timewait_sock.c
    net:ipv6: check return value of pskb_trim()
    net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field()/cpsw_ale_set_field()
    pinctrl: amd: Use amd_pinconf_set() for all config options
    fbdev: imxfb: warn about invalid left/right margin
    spi: bcm63xx: fix max prepend length
    igb: Fix igb_down hung on surprise removal
    wifi: iwlwifi: mvm: avoid baid size integer overflow
  * wifi: wext-core: Fix -Wstringop-overflow warning in ioctl_standard_iw_point()
      net/wireless/wext-core.c
  * bpf: Address KCSAN report on bpf_lru_list
      kernel/bpf/bpf_lru_list.c
      kernel/bpf/bpf_lru_list.h
  * sched/fair: Don't balance task to its current running CPU
      kernel/sched/fair.c
  * posix-timers: Ensure timer ID search-loop limit is valid
      include/linux/sched/signal.h
      kernel/time/posix-timers.c
    md/raid10: prevent soft lockup while flush writes
    md: fix data corruption for raid456 when reshape restart while grow up
    nbd: Add the maximum limit of allocated index in nbd_dev_add
    debugobjects: Recheck debug_objects_enabled before reporting
  * ext4: correct inline offset when handling xattrs in inode body
      fs/ext4/xattr.c
    can: bcm: Fix UAF in bcm_proc_show()
  * fuse: revalidate: don't invalidate if interrupted
      fs/fuse/dir.c
    perf probe: Add test for regression introduced by switch to die_get_decl_file()
    tracing/histograms: Add histograms to hist_vars if they have referenced variables
  * drm/atomic: Fix potential use-after-free in nonblocking commits
      drivers/gpu/drm/drm_atomic.c
    scsi: qla2xxx: Pointer may be dereferenced
    scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport()
    scsi: qla2xxx: Fix potential NULL pointer dereference
    scsi: qla2xxx: Wait for io return on terminate rport
    xtensa: ISS: fix call to split_if_spec
  * ring-buffer: Fix deadloop issue on reading trace_pipe
      kernel/trace/ring_buffer.c
    tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() when iterating clk
    tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in case of error
  * Revert "8250: add support for ASIX devices with a FIFO bug"
      include/linux/serial_8250.h
    meson saradc: fix clock divider mask length
    ceph: don't let check_caps skip sending responses for revoke msgs
    hwrng: imx-rngc - fix the timeout for init and self check
    serial: atmel: don't enable IRQs prematurely
    fs: dlm: return positive pid value for F_GETLK
    md/raid0: add discard support for the 'original' layout
    misc: pci_endpoint_test: Re-init completion for every test
    misc: pci_endpoint_test: Free IRQs before removing the device
    PCI: rockchip: Use u32 variable to access 32-bit registers
    PCI: rockchip: Fix legacy IRQ generation for RK3399 PCIe endpoint core
    PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked
    PCI: rockchip: Write PCI Device ID to correct register
    PCI: rockchip: Assert PCI Configuration Enable bit after probe
    PCI: qcom: Disable write access to read only registers for IP v2.3.3
  * PCI: Add function 1 DMA alias quirk for Marvell 88SE9235
      drivers/pci/quirks.c
  * PCI/PM: Avoid putting EloPOS E2/S2/H2 PCIe Ports in D3cold
      drivers/pci/pci.c
    jfs: jfs_dmap: Validate db_l2nbperpage while mounting
  * ext4: only update i_reserved_data_blocks on successful block allocation
      fs/ext4/indirect.c
      fs/ext4/inode.c
  * ext4: fix wrong unit use in ext4_mb_clear_bb
      fs/ext4/mballoc.c
    perf intel-pt: Fix CYC timestamps after standalone CBR
    SUNRPC: Fix UAF in svc_tcp_listen_data_ready()
    net: bcmgenet: Ensure MDIO unregistration has clocks enabled
    tpm: tpm_vtpm_proxy: fix a race condition in /dev/vtpmx creation
    pinctrl: amd: Only use special debounce behavior for GPIO 0
    pinctrl: amd: Detect internal GPIO0 debounce handling
    pinctrl: amd: Fix mistake in handling clearing pins at startup
  * net/sched: make psched_mtu() RTNL-less safe
      include/net/pkt_sched.h
    wifi: airo: avoid uninitialized warning in airo_get_rate()
  * ipv6/addrconf: fix a potential refcount underflow for idev
      net/ipv6/addrconf.c
    NTB: ntb_tool: Add check for devm_kcalloc
    NTB: ntb_transport: fix possible memory leak while device_register() fails
    ntb: intel: Fix error handling in intel_ntb_pci_driver_init()
    NTB: amd: Fix error handling in amd_ntb_pci_driver_init()
    ntb: idt: Fix error handling in idt_pci_driver_init()
  * udp6: fix udp6_ehashfn() typo
      net/ipv6/udp.c
  * icmp6: Fix null-ptr-deref of ip6_null_entry->rt6i_idev in icmp6_dev().
      net/ipv6/icmp.c
  * vrf: Increment Icmp6InMsgs on the original netdev
      include/net/addrconf.h
      net/ipv6/icmp.c
      net/ipv6/reassembly.c
    net: mvneta: fix txq_map in case of txq_number==1
  * workqueue: clean up WORK_* constant types, clarify masking
      include/linux/workqueue.h
      kernel/workqueue.c
    net: lan743x: Don't sleep in atomic context
    netfilter: nf_tables: prevent OOB access in nft_byteorder_eval
  * netfilter: conntrack: Avoid nf_ct_helper_hash uses after free
      net/netfilter/nf_conntrack_helper.c
    netfilter: nf_tables: fix scheduling-while-atomic splat
    netfilter: nf_tables: unbind non-anonymous set if rule construction fails
  * netfilter: nf_tables: reject unbound anonymous set before commit phase
      include/net/netfilter/nf_tables.h
  * netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain
      include/net/netfilter/nf_tables.h
    netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE
  * netfilter: nf_tables: use net_generic infra for transaction data
      include/net/netfilter/nf_tables.h
      include/net/netns/nftables.h
  * netfilter: add helper function to set up the nfnetlink header and use it
      include/linux/netfilter/nfnetlink.h
      net/netfilter/nf_conntrack_netlink.c
      net/netfilter/nfnetlink_log.c
      net/netfilter/nfnetlink_queue.c
    netfilter: nftables: add helper function to set the base sequence number
    netfilter: nf_tables: add rescheduling points during loop detection walks
    netfilter: nf_tables: fix nat hook table deletion
    spi: spi-fsl-spi: allow changing bits_per_word while CS is still active
    spi: spi-fsl-spi: relax message sanity checking a little
    spi: spi-fsl-spi: remove always-true conditional in fsl_spi_do_one_msg
    ARM: orion5x: fix d2net gpio initialization
    btrfs: fix race when deleting quota root from the dirty cow roots list
    jffs2: reduce stack usage in jffs2_build_xattr_subsystem()
  * integrity: Fix possible multiple allocation in integrity_inode_get()
      security/integrity/iint.c
    bcache: Remove unnecessary NULL point check in node allocations
    mmc: core: disable TRIM on Micron MTFC4GACAJCN-1M
    mmc: core: disable TRIM on Kingston EMMC04G-M627
    NFSD: add encoding of op_recall flag for write delegation
  * ALSA: jack: Fix mutex call in snd_jack_report()
      sound/core/jack.c
    i2c: xiic: Don't try to handle more interrupt events after error
    i2c: xiic: Defer xiic_wakeup() and __xiic_start_xfer() in xiic_process()
    sh: dma: Fix DMA channel offset calculation
    net/sched: act_pedit: Add size check for TCA_PEDIT_PARMS_EX
  * tcp: annotate data races in __tcp_oow_rate_limited()
      net/ipv4/tcp_input.c
  * net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode
      net/bridge/br_if.c
    powerpc: allow PPC_EARLY_DEBUG_CPM only when SERIAL_CPM=y
  * f2fs: fix error path handling in truncate_dnode()
      fs/f2fs/node.c
    mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0
    spi: bcm-qspi: return error if neither hif_mspi nor mspi is available
    Add MODULE_FIRMWARE() for FIRMWARE_TG357766.
  * sctp: fix potential deadlock on &net->sctp.addr_wq_lock
      net/sctp/socket.c
    rtc: st-lpc: Release some resources in st_rtc_probe() in case of error
    mfd: stmpe: Only disable the regulators if they are enabled
    mfd: intel-lpss: Add missing check for platform_get_resource
    KVM: s390: fix KVM_S390_GET_CMMA_BITS for GFNs in memslot holes
    mfd: rt5033: Drop rt5033-battery sub-device
    usb: phy: phy-tahvo: fix memory leak in tahvo_usb_probe()
  * extcon: Fix kernel doc of property capability fields to avoid warnings
      drivers/extcon/extcon.c
  * extcon: Fix kernel doc of property fields to avoid warnings
      drivers/extcon/extcon.c
    media: usb: siano: Fix warning due to null work_func_t function pointer
  * media: videodev2.h: Fix struct v4l2_input tuner index comment
      include/uapi/linux/videodev2.h
    media: usb: Check az6007_read() return value
    sh: j2: Use ioremap() to translate device tree address into kernel memory
    w1: fix loop in w1_fini()
  * block: change all __u32 annotations to __be32 in affs_hardblocks.h
      include/uapi/linux/affs_hardblocks.h
    USB: serial: option: add LARA-R6 01B PIDs
    ARC: define ASM_NL and __ALIGN(_STR) outside #ifdef __ASSEMBLY__ guard
    ARCv2: entry: rewrite to enable use of double load/stores LDD/STD
    ARCv2: entry: avoid a branch
    ARCv2: entry: push out the Z flag unclobber from common EXCEPTION_PROLOGUE
    ARCv2: entry: comments about hardware auto-save on taken interrupts
  * modpost: fix section mismatch message for R_ARM_{PC24,CALL,JUMP24}
      scripts/mod/modpost.c
  * modpost: fix section mismatch message for R_ARM_ABS32
      scripts/mod/modpost.c
    crypto: nx - fix build warnings when DEBUG_FS is not enabled
    hwrng: virtio - Fix race on data_avail and actual data
    hwrng: virtio - always add a pending request
    hwrng: virtio - don't waste entropy
    hwrng: virtio - don't wait on cleanup
    hwrng: virtio - add an internal buffer
    pinctrl: at91-pio4: check return value of devm_kasprintf()
    perf dwarf-aux: Fix off-by-one in die_get_varname()
    pinctrl: cherryview: Return correct value if pin in push-pull mode
  * PCI: Add pci_clear_master() stub for non-CONFIG_PCI
      include/linux/pci.h
    scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe()
    ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer
    drm/radeon: fix possible division-by-zero errors
    fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe()
    arm64: dts: renesas: ulcb-kf: Remove flow control for SCIF1
    IB/hfi1: Fix sdma.h tx->num_descs off-by-one errors
  * soc/fsl/qe: fix usb.c build errors
      drivers/soc/fsl/qe/Kconfig
    ASoC: es8316: Increment max value for ALC Capture Target Volume control
    ARM: ep93xx: fix missing-prototype warnings
    drm/panel: simple: fix active size for Ampire AM-480272H3TMQW-T01H
    Input: adxl34x - do not hardcode interrupt trigger type
    ARM: dts: BCM5301X: Drop "clock-names" from the SPI node
    Input: drv260x - sleep between polling GO bit
    radeon: avoid double free in ci_dpm_init()
  * netlink: Add __sock_i_ino() for __netlink_diag_dump().
      include/net/sock.h
      net/core/sock.c
    ipvlan: Fix return value of ipvlan_queue_xmit()
    netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return value.
  * lib/ts_bm: reset initial match offset for every block of text
      lib/ts_bm.c
    gtp: Fix use-after-free in __gtp_encap_destroy().
  * netlink: do not hard code device address lenth in fdb dumps
      net/core/rtnetlink.c
  * netlink: fix potential deadlock in netlink_set_err()
      net/netlink/af_netlink.c
    wifi: ath9k: convert msecs to jiffies where needed
    wifi: ath9k: Fix possible stall on ath9k_txq_list_has_key()
    memstick r592: make memstick_debug_get_tpc_name() static
    kexec: fix a memory leak in crash_shrink_memory()
    watchdog/perf: more properly prevent false positives with turbo modes
  * watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct config
      include/linux/nmi.h
    wifi: rsi: Do not set MMC_PM_KEEP_POWER in shutdown
    wifi: ath9k: don't allow to overwrite ENDPOINT0 attributes
    wifi: ray_cs: Fix an error handling path in ray_probe()
    wifi: ray_cs: Drop useless status variable in parse_addr()
    wifi: ray_cs: Utilize strnlen() in parse_addr()
    wifi: wl3501_cs: Fix an error handling path in wl3501_probe()
    wl3501_cs: use eth_hw_addr_set()
  * net: create netdev->dev_addr assignment helpers
      include/linux/etherdevice.h
      include/linux/netdevice.h
    wl3501_cs: Fix misspelling and provide missing documentation
    wl3501_cs: Remove unnecessary NULL check
    wl3501_cs: Fix a bunch of formatting issues related to function docs
    wifi: atmel: Fix an error handling path in atmel_probe()
    wifi: orinoco: Fix an error handling path in orinoco_cs_probe()
    wifi: orinoco: Fix an error handling path in spectrum_cs_probe()
    nfc: llcp: fix possible use of uninitialized variable in nfc_llcp_send_connect()
  * nfc: constify several pointers to u8, char and sk_buff
      include/net/nfc/nfc.h
    wifi: mwifiex: Fix the size of a memory allocation in mwifiex_ret_802_11_scan()
    samples/bpf: Fix buffer overflow in tcp_basertt
    wifi: ath9k: avoid referencing uninit memory in ath9k_wmi_ctrl_rx
    wifi: ath9k: fix AR9003 mac hardware hang check register offset calculation
    evm: Complete description of evm_inode_setattr()
    ARM: 9303/1: kprobes: avoid missing-declaration warnings
  * PM: domains: fix integer overflow issues in genpd_parse_state()
      drivers/base/power/domain.c
    clocksource/drivers/cadence-ttc: Fix memory leak in ttc_timer_probe
    clocksource/drivers/cadence-ttc: Use ttc driver as platform driver
  * clocksource/drivers: Unify the names to timer-* format
      drivers/clocksource/Makefile
    irqchip/jcore-aic: Fix missing allocation of IRQ descriptors
    irqchip/jcore-aic: Kill use of irq_create_strict_mappings()
    md/raid10: fix io loss while replacement replace rdev
    md/raid10: fix wrong setting of max_corr_read_errors
    md/raid10: fix overflow of md/safe_mode_delay
    md/raid10: check slab-out-of-bounds in md_bitmap_get_counter
  * treewide: Remove uninitialized_var() usage
      drivers/clk/clk-gate.c
      drivers/gpu/drm/drm_edid.c
      drivers/md/dm-io.c
      drivers/md/dm-ioctl.c
      drivers/md/dm-snap-persistent.c
      drivers/md/dm-table.c
      fs/fat/dir.c
      fs/fuse/control.c
      fs/fuse/file.c
      fs/overlayfs/copy_up.c
      kernel/async.c
      kernel/audit.c
      kernel/events/core.c
      kernel/events/uprobes.c
      kernel/exit.c
      kernel/futex.c
      kernel/trace/ring_buffer.c
      lib/radix-tree.c
      mm/memcontrol.c
      mm/percpu.c
      mm/slub.c
      mm/swap.c
      net/ipv4/netfilter/nf_socket_ipv4.c
      net/ipv6/ip6_flowlabel.c
      net/ipv6/netfilter/nf_socket_ipv6.c
      net/netfilter/nf_conntrack_ftp.c
      net/netfilter/nfnetlink_log.c
      net/netfilter/nfnetlink_queue.c
      net/sched/cls_flow.c
      sound/core/control_compat.c
      sound/usb/endpoint.c
    drm/amdgpu: Validate VM ioctl flags.
    scripts/tags.sh: Resolve gtags empty index generation
  * drm/edid: Fix uninitialized variable in drm_cvt_modes()
      drivers/gpu/drm/drm_edid.c
    fbdev: imsttfb: Fix use after free bug in imsttfb_probe
    video: imsttfb: check for ioremap() failures
    x86/smp: Use dedicated cache-line for mwait_play_dead()
    gfs2: Don't deref jdesc in evict
Linux 4.19.290
    x86: fix backwards merge of GDS/SRSO bit
    xen/netback: Fix buffer overrun triggered by unusual packet
    Documentation/x86: Fix backwards on/off logic about YMM support
    x86/xen: Fix secondary processors' FPU initialization
    KVM: Add GDS_NO support to KVM
    x86/speculation: Add Kconfig option for GDS
    x86/speculation: Add force option to GDS mitigation
  * x86/speculation: Add Gather Data Sampling mitigation
      drivers/base/cpu.c
    x86/fpu: Move FPU initialization into arch_cpu_finalize_init()
    x86/fpu: Mark init functions __init
    x86/fpu: Remove cpuinfo argument from init functions
  * init, x86: Move mem_encrypt_init() into arch_cpu_finalize_init()
      init/main.c
  * init: Invoke arch_cpu_finalize_init() earlier
      init/main.c
  * init: Remove check_bugs() leftovers
      init/main.c
    um/cpu: Switch to arch_cpu_finalize_init()
    sparc/cpu: Switch to arch_cpu_finalize_init()
    sh/cpu: Switch to arch_cpu_finalize_init()
    mips/cpu: Switch to arch_cpu_finalize_init()
    m68k/cpu: Switch to arch_cpu_finalize_init()
    ia64/cpu: Switch to arch_cpu_finalize_init()
    ARM: cpu: Switch to arch_cpu_finalize_init()
    x86/cpu: Switch to arch_cpu_finalize_init()
  * init: Provide arch_cpu_finalize_init()
      arch/Kconfig
      include/linux/cpu.h
      init/main.c
    Merge 4.19.289 into android-4.19-stable
Linux 4.19.289
    x86/cpu/amd: Add a Zenbleed fix
    x86/cpu/amd: Move the errata checking functionality up
    x86/microcode/AMD: Load late on both threads too
    Merge 4.19.288 into android-4.19-stable
Linux 4.19.288
    i2c: imx-lpi2c: fix type char overflow issue when calculating the clock cycle
    x86/apic: Fix kernel panic when booting with intremap=off and x2apic_phys
    drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl
    drm/exynos: fix race condition UAF in exynos_g2d_exec_ioctl
    drm/exynos: vidi: fix a wrong error return
    ASoC: nau8824: Add quirk to active-high jack-detect
    s390/cio: unregister device when the only path is gone
    usb: gadget: udc: fix NULL dereference in remove()
    nfcsim.c: Fix error checking for debugfs_create_dir
    media: cec: core: don't set last_initiator if tx in progress
  * arm64: Add missing Set/Way CMO encodings
      arch/arm64/include/asm/sysreg.h
  * HID: wacom: Add error check to wacom_parse_and_register()
      drivers/hid/wacom_sys.c
    scsi: target: iscsi: Prevent login threads from racing between each other
  * sch_netem: acquire qdisc lock in netem_change()
      net/sched/sch_netem.c
    netfilter: nfnetlink_osf: fix module autoload
    netfilter: nf_tables: disallow element updates of bound anonymous sets
    be2net: Extend xmit workaround to BE3 chip
    mmc: usdhi60rol0: fix deferred probing
    mmc: sdhci-acpi: fix deferred probing
    mmc: omap_hsmmc: fix deferred probing
    mmc: omap: fix deferred probing
    mmc: mvsdio: fix deferred probing
    mmc: mvsdio: convert to devm_platform_ioremap_resource
    mmc: mtk-sd: fix deferred probing
    net: qca_spi: Avoid high load if QCA7000 is not available
    xfrm: Linearize the skb after offloading if needed.
    ieee802154: hwsim: Fix possible memory leaks
  * rcu: Upgrade rcu_swap_protected() to rcu_replace_pointer()
      include/linux/rcupdate.h
    nilfs2: prevent general protection fault in nilfs_clear_dirty_page()
  * cgroup: Do not corrupt task iteration when rebinding subsystem
      kernel/cgroup/cgroup.c
    PCI: hv: Fix a race condition bug in hv_pci_query_relations()
    Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs
    nilfs2: fix buffer corruption due to concurrent device reads
    ipmi: move message error checking to avoid deadlock
  * ipmi: Make the smi watcher be disabled immediately when not needed
      include/linux/ipmi_smi.h
    x86/purgatory: remove PGO flags
    nilfs2: reject devices with insufficient block count
    serial: lantiq: add missing interrupt ack
    serial: lantiq: Do not swap register read/writes
    serial: lantiq: Use readl/writel instead of ltq_r32/ltq_w32
    serial: lantiq: Change ltq_w32_mask to asc_update_bits
    Merge 4.19.287 into android-4.19-stable
Linux 4.19.287
  * mmc: block: ensure error propagation for non-blk
      drivers/mmc/core/block.c
    powerpc: Fix defconfig choice logic when cross compiling
    drm/nouveau/kms: Fix NULL pointer dereference in nouveau_connector_detect_depth
  * neighbour: delete neigh_lookup_nodev as not used
      include/net/neighbour.h
      net/core/neighbour.c
  * net: Remove unused inline function dst_hold_and_use()
      include/net/dst.h
  * neighbour: Remove unused inline function neigh_key_eq16()
      include/net/neighbour.h
    selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET
  * net: tipc: resize nlattr array to correct size
      net/tipc/bearer.c
    net: lapbether: only support ethernet devices
    drm/nouveau: add nv_encoder pointer check for NULL
    drm/nouveau/kms: Don't change EDID when it hasn't actually changed
    drm/nouveau/dp: check for NULL nv_connector->native_mode
    igb: fix nvm.ops.read() error handling
  * sctp: fix an error code in sctp_sf_eat_auth()
      net/sctp/sm_statefuns.c
    IB/isert: Fix incorrect release of isert connection
    IB/isert: Fix possible list corruption in CMA handler
    IB/isert: Fix dead lock in ib_isert
    IB/uverbs: Fix to consider event queue closing also upon non-blocking mode
    RDMA/rxe: Fix the use-before-initialization error of resp_pkts
    RDMA/rxe: Removed unused name from rxe_task struct
    RDMA/rxe: Remove the unused variable obj
  * ping6: Fix send to link-local addresses with VRF.
      net/ipv6/ping.c
  * netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM
      net/netfilter/nfnetlink.c
  * usb: gadget: f_ncm: Fix NTP-32 support
      drivers/usb/gadget/function/f_ncm.c
  * usb: gadget: f_ncm: Add OS descriptor support
      drivers/usb/gadget/function/f_ncm.c
      drivers/usb/gadget/function/u_ncm.h
  * usb: dwc3: gadget: Reset num TRBs before giving back the request
      drivers/usb/dwc3/gadget.c
    USB: serial: option: add Quectel EM061KGL series
  * Remove DECnet support from kernel
      include/linux/netdevice.h
      include/linux/netfilter.h
      include/linux/netfilter_defs.h
      include/net/netns/netfilter.h
      include/uapi/linux/netlink.h
      net/Kconfig
      net/Makefile
      net/core/dev.c
      net/core/neighbour.c
      net/netfilter/core.c
    net: usb: qmi_wwan: add support for Compal RXM-G1
    RDMA/uverbs: Restrict usage of privileged QKEYs
    nouveau: fix client work fence deletion race
    powerpc/purgatory: remove PGO flags
    kexec: support purgatories with .text.hot sections
    nilfs2: fix possible out-of-bounds segment allocation in resize ioctl
    nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key()
    nios2: dts: Fix tse_mac "max-frame-size" property
    ocfs2: check new file size on fallocate call
    ocfs2: fix use-after-free when unmounting read-only filesystem
    xen/blkfront: Only check REQ_FUA for writes
    mips: Move initrd_start check after initrd address sanitisation.
    MIPS: Alchemy: fix dbdma2
    parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu()
  * power: supply: Fix logic checking if system is running from battery
      drivers/power/supply/power_supply_core.c
    irqchip/meson-gpio: Mark OF related data as maybe unused
  * regulator: Fix error checking for debugfs_create_dir
      drivers/regulator/core.c
  * power: supply: Ratelimit no data debug output
      drivers/power/supply/power_supply_sysfs.c
    ARM: dts: vexpress: add missing cache properties
    power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + schedule()
    power: supply: ab8500: Fix external_power_changed race
    Merge "Merge 4.19.286 into android-4.19-stable" into android-4.19-stable
  * Revert "tcp: deny tcp_disconnect() when threads are waiting"
      include/net/sock.h
      net/ipv4/af_inet.c
      net/ipv4/inet_connection_sock.c
      net/ipv4/tcp.c
    Merge "Merge 4.19.285 into android-4.19-stable" into android-4.19-stable
    Merge 4.19.286 into android-4.19-stable
  * Revert "tcp: deny tcp_disconnect() when threads are waiting"
      include/net/sock.h
      net/ipv4/af_inet.c
      net/ipv4/inet_connection_sock.c
      net/ipv4/tcp.c
  * ANDROID: GKI: update ABI xml for incrementalfs.ko
      android/abi_gki_aarch64.xml
    Merge 4.19.285 into android-4.19-stable
Linux 4.19.286
    Revert "staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE"
    btrfs: unset reloc control if transaction commit fails in prepare_to_relocate()
    btrfs: check return value of btrfs_commit_transaction in relocation
  * ext4: only check dquot_initialize_needed() when debugging
      fs/ext4/xattr.c
    i2c: sprd: Delete i2c adapter in .remove's error path
    pinctrl: meson-axg: add missing GPIOA_18 gpio group
  * Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk
      net/bluetooth/hci_core.c
    ceph: fix use-after-free bug for inodes when flushing capsnaps
    drm/amdgpu: fix xclk freq on CHIP_STONEY
    Input: psmouse - fix OOB access in Elantech protocol
  * Input: xpad - delete a Razer DeathAdder mouse VID/PID entry
      drivers/input/joystick/xpad.c
    batman-adv: Broken sync while rescheduling delayed work
  * lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release()
      lib/cpu_rmap.c
  * net: sched: fix possible refcount leak in tc_chain_tmplt_add()
      net/sched/cls_api.c
  * net: sched: move rtm_tca_policy declaration to include file
      include/net/pkt_sched.h
      net/sched/cls_api.c
  * rfs: annotate lockless accesses to RFS sock flow table
      include/linux/netdevice.h
      net/core/dev.c
  * rfs: annotate lockless accesses to sk->sk_rxhash
      include/net/sock.h
  * Bluetooth: L2CAP: Add missing checks for invalid DCID
      net/bluetooth/l2cap_core.c
  * Bluetooth: Fix l2cap_disconnect_req deadlock
      net/bluetooth/l2cap_core.c
    net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods
    spi: qup: Request DMA before enabling clocks
    i40e: fix build warnings in i40e_alloc.h
    i40iw: fix build warning in i40iw_manage_apbvt()
  * UPSTREAM: net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize
      drivers/net/usb/cdc_ncm.c
  * UPSTREAM: cdc_ncm: Fix the build warning
      drivers/net/usb/cdc_ncm.c
  * UPSTREAM: cdc_ncm: Implement the 32-bit version of NCM Transfer Block
      drivers/net/usb/cdc_ncm.c
      include/linux/usb/cdc_ncm.h
  * Revert "tcp: reduce POLLOUT events caused by TCP_NOTSENT_LOWAT"
      include/net/sock.h
      include/net/tcp.h
      net/core/stream.c
  * Revert "tcp: return EPOLLOUT from tcp_poll only when notsent_bytes is half the limit"
      net/ipv4/tcp.c
  * Revert "tcp: factor out __tcp_close() helper"
      include/net/tcp.h
      net/ipv4/tcp.c
  * Revert "tcp: add annotations around sk->sk_shutdown accesses"
      net/ipv4/af_inet.c
      net/ipv4/tcp.c
      net/ipv4/tcp_input.c
  * ANDROID: fix abi break in 4.19.284 for cpuhotplug.h
      include/linux/cpuhotplug.h
    Merge "Merge 4.19.284 into android-4.19-stable" into android-4.19-stable
    UPSTREAM: mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
    UPSTREAM: mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()
Linux 4.19.285
    wifi: rtlwifi: 8192de: correct checking of IQK reload
  * scsi: dpt_i2o: Do not process completions with invalid addresses
      drivers/scsi/Kconfig
    scsi: dpt_i2o: Remove broken pass-through ioctl (I2OUSERCMD)
  * regmap: Account for register length when chunking
      drivers/base/regmap/regmap.c
    fbcon: Fix null-ptr-deref in soft_cursor
  * ext4: add lockdep annotations for i_data_sem for ea_inode's
      fs/ext4/ext4.h
      fs/ext4/xattr.c
  * selinux: don't use make's grouped targets feature yet
      security/selinux/Makefile
    tty: serial: fsl_lpuart: use UARTCTRL_TXINV to send break instead of UARTCTRL_SBK
    mmc: vub300: fix invalid response handling
    rsi: Remove unnecessary boolean condition
    regulator: da905{2,5}: Remove unnecessary array check
    hwmon: (scmi) Remove redundant pointer check
    wifi: rtlwifi: remove always-true condition pointed out by GCC 12
    lib/dynamic_debug.c: use address-of operator on section symbols
  * kernel/extable.c: use address-of operator on section symbols
      kernel/extable.c
    eth: sun: cassini: remove dead code
  * gcc-12: disable '-Wdangling-pointer' warning for now
      Makefile
    ACPI: thermal: drop an always true check
    x86/boot: Wrap literal addresses in absolute_pointer()
    ata: libata-scsi: Use correct device no in ata_find_dev()
    scsi: stex: Fix gcc 13 warnings
  * usb: gadget: f_fs: Add unbind event before functionfs_unbind
      drivers/usb/gadget/function/f_fs.c
    net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818
  * iio: dac: build ad5758 driver when AD5758 is selected
      drivers/iio/dac/Makefile
    iio: dac: mcp4725: Fix i2c_master_send() return value handling
  * HID: wacom: avoid integer overflow in wacom_intuos_inout()
      drivers/hid/wacom_wac.c
  * HID: google: add jewel USB id
      drivers/hid/hid-ids.h
    iio: adc: mxs-lradc: fix the order of two cleanup operations
    mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
    atm: hide unused procfs functions
    ALSA: oss: avoid missing-prototype warnings
  * netfilter: conntrack: define variables exp_nat_nla_policy and any_addr with CONFIG_NF_NAT
      net/netfilter/nf_conntrack_netlink.c
    wifi: b43: fix incorrect __packed annotation
  * scsi: core: Decrease scsi_device's iorequest_cnt if dispatch failed
      drivers/scsi/scsi_lib.c
  * arm64/mm: mark private VM_FAULT_X defines as vm_fault_t
      arch/arm64/mm/fault.c
    ARM: dts: stm32: add pin map for CAN controller on stm32f7
    wifi: rtl8xxxu: fix authentication timeout due to incorrect RCR value
    media: dvb-core: Fix use-after-free due to race condition at dvb_ca_en50221
    media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*()
  * media: dvb-core: Fix use-after-free due on race condition at dvb_net
      include/media/dvb_net.h
    media: mn88443x: fix !CONFIG_OF error by drop of_match_ptr from ID table
    media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb()
    media: dvb_ca_en50221: fix a size write bug
    media: netup_unidvb: fix irq init by register it at the end of probe
    media: dvb-usb: dw2102: fix uninit-value in su3000_read_mac_address
    media: dvb-usb: digitv: fix null-ptr-deref in digitv_i2c_xfer()
    media: dvb-usb-v2: rtl28xxu: fix null-ptr-deref in rtl28xxu_i2c_xfer
    media: dvb-usb-v2: ce6230: fix null-ptr-deref in ce6230_i2c_master_xfer()
    media: dvb-usb-v2: ec168: fix null-ptr-deref in ec168_i2c_xfer()
    media: dvb-usb: az6027: fix three null-ptr-deref in az6027_i2c_xfer()
  * media: dvb_demux: fix a bug for the continuity counter
      drivers/media/dvb-core/dvb_demux.c
    ASoC: ssm2602: Add workaround for playback distortions
  * xfrm: Check if_id in inbound policy/secpath match
      net/xfrm/xfrm_policy.c
    ASoC: dwc: limit the number of overrun messages
    nbd: Fix debugfs_create_dir error checking
    fbdev: stifb: Fix info entry in sti_struct on error path
    fbdev: modedb: Add 1920x1080 at 60 Hz video mode
    media: rcar-vin: Select correct interrupt mode for V4L2_FIELD_ALTERNATE
    ARM: 9295/1: unwind:fix unwind abort for uleb128 case
    mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()
    watchdog: menz069_wdt: fix watchdog initialisation
    net: dsa: mv88e6xxx: Increase wait after reset deactivation
    net/sched: flower: fix possible OOB write in fl_set_geneve_opt()
  * udp6: Fix race condition in udp6_sendmsg & connect
      net/core/sock.c
  * net/netlink: fix NETLINK_LIST_MEMBERSHIPS length report
      net/netlink/af_netlink.c
  * ocfs2/dlm: move BITS_TO_BYTES() to bitops.h for wider use
      include/linux/bitops.h
  * net: sched: fix NULL pointer dereference in mq_attach
      net/sched/sch_api.c
  * net/sched: Prohibit regrafting ingress or clsact Qdiscs
      net/sched/sch_api.c
  * net/sched: Reserve TC_H_INGRESS (TC_H_CLSACT) for ingress (clsact) Qdiscs
      net/sched/sch_api.c
      net/sched/sch_ingress.c
  * net/sched: sch_clsact: Only create under TC_H_CLSACT
      net/sched/sch_ingress.c
  * net/sched: sch_ingress: Only create under TC_H_INGRESS
      net/sched/sch_ingress.c
  * tcp: Return user_mss for TCP_MAXSEG in CLOSE/LISTEN state if user_mss set
      net/ipv4/tcp.c
  * tcp: deny tcp_disconnect() when threads are waiting
      include/net/sock.h
      net/ipv4/af_inet.c
      net/ipv4/inet_connection_sock.c
      net/ipv4/tcp.c
  * af_packet: do not use READ_ONCE() in packet_bind()
      net/packet/af_packet.c
    amd-xgbe: fix the false linkup in xgbe_phy_status
  * af_packet: Fix data-races of pkt_sk(sk)->num.
      net/packet/af_packet.c
    netrom: fix info-leak in nr_write_internal()
    net/mlx5: fw_tracer, Fix event handling
    dmaengine: pl330: rename _start to prevent build error
  * netfilter: ctnetlink: Support offloaded conntrack entry deletion
      net/netfilter/nf_conntrack_netlink.c
  * ipv{4,6}/raw: fix output xfrm lookup wrt protocol
      include/net/ip.h
      include/uapi/linux/in.h
      net/ipv4/ip_sockglue.c
      net/ipv4/raw.c
      net/ipv6/raw.c
  * bluetooth: Add cmd validity checks at the start of hci_sock_ioctl()
      net/bluetooth/hci_sock.c
  * cdc_ncm: Fix the build warning
      drivers/net/usb/cdc_ncm.c
    power: supply: bq24190: Call power_supply_changed() after updating input current
  * power: supply: core: Refactor power_supply_set_input_current_limit_from_supplier()
      drivers/power/supply/power_supply_core.c
      include/linux/power_supply.h
    power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize
  * net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize
      drivers/net/usb/cdc_ncm.c
  * cdc_ncm: Implement the 32-bit version of NCM Transfer Block
      drivers/net/usb/cdc_ncm.c
      include/linux/usb/cdc_ncm.h
    Merge 4.19.284 into android-4.19-stable
    UPSTREAM: efi: rt-wrapper: Add missing include
  * BACKPORT: arm64: efi: Execute runtime services from a dedicated stack
      arch/arm64/include/asm/efi.h
  * Revert "uapi/linux/const.h: prefer ISO-friendly __typeof__"
      include/uapi/linux/const.h
    Merge "Merge 4.19.283 into android-4.19-stable" into android-4.19-stable
Linux 4.19.284
  * drivers: depend on HAS_IOMEM for devm_platform_ioremap_resource()
      drivers/base/platform.c
    3c589_cs: Fix an error handling path in tc589_probe()
    forcedeth: Fix an error handling path in nv_probe()
  * ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg
      include/uapi/sound/skl-tplg-interface.h
    x86/show_trace_log_lvl: Ensure stack pointer is aligned, again
    xen/pvcalls-back: fix double frees with pvcalls_new_active_socket()
  * coresight: Fix signedness bug in tmc_etr_buf_insert_barrier_packet()
      drivers/hwtracing/coresight/coresight-tmc-etr.c
    power: supply: sbs-charger: Fix INHIBITED bit for Status reg
  * power: supply: bq27xxx: Fix poll_interval handling and races on remove
      include/linux/power/bq27xxx_battery.h
    power: supply: bq27xxx: Fix I2C IRQ race on remove
    power: supply: bq27xxx: Fix bq27xxx_battery_update() race condition
  * power: supply: leds: Fix blink to LED on transition
      drivers/power/supply/power_supply_leds.c
  * ipv6: Fix out-of-bounds access in ipv6_find_tlv()
      net/ipv6/exthdrs_core.c
  * bpf: Fix mask generation for 32-bit narrow loads of 64-bit fields
      kernel/bpf/verifier.c
  * net: fix skb leak in __skb_tstamp_tx()
      net/core/skbuff.c
    media: radio-shark: Add endpoint checks
    USB: sisusbvga: Add endpoint checks
  * USB: core: Add routines for endpoint checks in old drivers
      drivers/usb/core/usb.c
      include/linux/usb.h
  * udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated().
      net/ipv4/udplite.c
      net/ipv6/udplite.c
    ALSA: hda/realtek - Fix inverted bass GPIO pin on Acer 8951G
    ALSA: hda/realtek - Fixed one of HP ALC671 platform Headset Mic supported
    parisc: Fix flush_dcache_page() for usage from irq context
    selftests/memfd: Fix unknown type name build failure
    x86/mm: Avoid incomplete Global INVLPG flushes
    btrfs: use nofs when cleaning up aborted transactions
    parisc: Allow to reboot machine after system halt
    m68k: Move signal frame following exception on 68020/030
    ALSA: hda/ca0132: add quirk for EVGA X299 DARK
    spi: fsl-cpm: Use 16 bit mode for large transfers with even size
    spi: fsl-spi: Re-organise transfer bits_per_word adaptation
    spi: spi-fsl-spi: automatically adapt bits-per-word in cpu mode
    s390/qdio: fix do_sqbs() inline assembly constraint
    s390/qdio: get rid of register asm
    vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF
    vc_screen: rewrite vcs_size to accept vc, not inode
  * usb: gadget: u_ether: Fix host MAC address case
      drivers/usb/gadget/function/u_ether.c
  * usb: gadget: u_ether: Convert prints to device prints
      drivers/usb/gadget/function/u_ether.c
  * lib/string_helpers: Introduce string_upper() and string_lower() helpers
      include/linux/string_helpers.h
    ALSA: hda/realtek: Add a quirk for HP EliteDesk 805
    ALSA: hda/realtek - ALC897 headset MIC no sound
    ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform
    ALSA: hda/realtek: Fix the mic type detection issue for ASUS G551JW
    ALSA: hda/realtek - The front Mic on a HP machine doesn't work
    ALSA: hda/realtek - Enable the headset of Acer N50-600 with ALC662
    ALSA: hda/realtek - Enable headset mic of Acer X2660G with ALC662
    ALSA: hda/realtek - Add Headset Mic supported for HP cPC
    ALSA: hda/realtek - More constifications
    Add Acer Aspire Ethos 8951G model quirk
  * HID: wacom: Force pen out of prox if no events have been received in a while
      drivers/hid/wacom.h
      drivers/hid/wacom_sys.c
      drivers/hid/wacom_wac.c
    netfilter: nf_tables: do not allow RULE_ID to refer to another chain
    netfilter: nf_tables: validate NFTA_SET_ELEM_OBJREF based on NFT_SET_OBJECT flag
    netfilter: nf_tables: stricter validation of element data
  * netfilter: nf_tables: allow up to 64 bytes in the set element data area
      include/net/netfilter/nf_tables.h
    netfilter: nf_tables: add nft_setelem_parse_key()
    netfilter: nf_tables: validate registers coming from userspace.
  * netfilter: nftables: statify nft_parse_register()
      include/net/netfilter/nf_tables.h
  * netfilter: nftables: add nft_parse_register_store() and use it
      include/net/netfilter/nf_tables.h
      include/net/netfilter/nf_tables_core.h
      include/net/netfilter/nft_fib.h
  * netfilter: nftables: add nft_parse_register_load() and use it
      include/net/netfilter/nf_tables.h
      include/net/netfilter/nf_tables_core.h
      include/net/netfilter/nft_masq.h
      include/net/netfilter/nft_redir.h
    nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode()
    tpm/tpm_tis: Disable interrupts for more Lenovo devices
    ceph: force updating the msg pointer in non-split case
    serial: Add support for Advantech PCI-1611U card
  * statfs: enforce statfs[64] structure initialization
      fs/statfs.c
    ALSA: hda: Add NVIDIA codec IDs a3 through a7 to patch table
    ALSA: hda: Fix Oops by 9.1 surround channel names
    usb: typec: altmodes/displayport: fix pin_assignment_show
  * usb-storage: fix deadlock when a scsi command timeouts more than once
      drivers/usb/storage/scsiglue.c
    vlan: fix a potential uninit-value in vlan_dev_hard_start_xmit()
    igb: fix bit_shift to be in [1..8] range
    cassini: Fix a memory leak in the error handling path of cas_init_one()
    net: bcmgenet: Restore phy_stop() depending upon suspend/close
    net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop()
    net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment()
    drm/exynos: fix g2d_open/close helper function definitions
    media: netup_unidvb: fix use-after-free at del_timer()
    erspan: get the proto with the md version for collect_md
  * ip_gre, ip6_gre: Fix race condition on o_seqno in collect_md mode
      include/net/ip6_tunnel.h
      include/net/ip_tunnels.h
    ip6_gre: Make o_seqno start from 0 in native mode
    ip6_gre: Fix skb_under_panic in __gre6_xmit()
    serial: arc_uart: fix of_iomap leak in `arc_serial_probe`
  * drivers: provide devm_platform_ioremap_resource()
      drivers/base/platform.c
      include/linux/platform_device.h
    vsock: avoid to close connected socket after the timeout
    net: fec: Better handle pm_runtime_get() failing in .remove()
  * af_key: Reject optional tunnel/BEET mode templates in outbound policies
      net/key/af_key.c
    cpupower: Make TSC read per CPU for Mperf monitor
    btrfs: fix space cache inconsistency after error loading it from disk
    btrfs: replace calls to btrfs_find_free_ino with btrfs_find_free_objectid
    mfd: dln2: Fix memory leak in dln2_probe()
    phy: st: miphy28lp: use _poll_timeout functions for waits
  * Input: xpad - add constants for GIP interface numbers
      drivers/input/joystick/xpad.c
    clk: tegra20: fix gcc-7 constant overflow warning
    recordmcount: Fix memory leaks in the uwrite function
  * sched: Fix KCSAN noinstr violation
      include/linux/sched/task_stack.h
    mcb-pci: Reallocate memory region to avoid memory overlapping
    serial: 8250: Reinit port->pm on port specific driver unbind
    usb: typec: tcpm: fix multiple times discover svids error
  * HID: wacom: generic: Set battery quirk only when we see battery data
      drivers/hid/wacom_wac.c
    spi: spi-imx: fix MX51_ECSPI_* macros when cs > 3
    HID: logitech-hidpp: Reconcile USB and Unifying serials
    HID: logitech-hidpp: Don't use the USB serial for USB devices
    staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE
  * Bluetooth: L2CAP: fix "bad unlock balance" in l2cap_disconnect_rsp
      net/bluetooth/l2cap_core.c
    wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace
  * f2fs: fix to drop all dirty pages during umount() if cp_error is set
      fs/f2fs/checkpoint.c
      fs/f2fs/data.c
  * ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa()
      fs/ext4/mballoc.c
  * ext4: set goal start correctly in ext4_mb_normalize_request
      fs/ext4/mballoc.c
    gfs2: Fix inode height consistency check
    scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition
  * lib: cpu_rmap: Avoid use after free on rmap->obj array entries
      lib/cpu_rmap.c
  * net: Catch invalid index in XPS mapping
      net/core/dev.c
    net: pasemi: Fix return type of pasemi_mac_start_tx()
    ext2: Check block size validity during mount
    wifi: brcmfmac: cfg80211: Pass the PMK in binary instead of hex
    ACPICA: ACPICA: check null return of ACPI_ALLOCATE_ZEROED in acpi_db_display_objects
    ACPICA: Avoid undefined behavior: applying zero offset to null pointer
    drm/tegra: Avoid potential 32-bit integer overflow
    ACPI: EC: Fix oops when removing custom query handlers
  * firmware: arm_sdei: Fix sleep from invalid context BUG
      include/linux/cpuhotplug.h
    memstick: r592: Fix UAF bug in r592_remove due to race condition
  * regmap: cache: Return error in cache sync operations for REGCACHE_NONE
      drivers/base/regmap/regcache.c
    drm/amd/display: Use DC_LOG_DC in the trasform pixel function
    fs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode()
  * af_unix: Fix data races around sk->sk_shutdown.
      net/unix/af_unix.c
  * af_unix: Fix a data race of sk->sk_receive_queue->qlen.
      net/unix/af_unix.c
  * net: datagram: fix data-races in datagram_poll()
      net/core/datagram.c
    ipvlan:Fix out-of-bounds caused by unclear skb->cb
  * tcp: add annotations around sk->sk_shutdown accesses
      net/ipv4/af_inet.c
      net/ipv4/tcp.c
      net/ipv4/tcp_input.c
  * tcp: factor out __tcp_close() helper
      include/net/tcp.h
      net/ipv4/tcp.c
  * tcp: return EPOLLOUT from tcp_poll only when notsent_bytes is half the limit
      net/ipv4/tcp.c
  * tcp: reduce POLLOUT events caused by TCP_NOTSENT_LOWAT
      include/net/sock.h
      include/net/tcp.h
      net/core/stream.c
  * net: annotate sk->sk_err write from do_recvmmsg()
      net/socket.c
  * netlink: annotate accesses to nlk->cb_running
      net/netlink/af_netlink.c
  * net: Fix load-tearing on sk->sk_stamp in sock_recv_cmsgs().
      include/net/sock.h
  * UPSTREAM: ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum
      fs/ext4/super.c
    Merge 4.19.283 into android-4.19-stable
  * UPSTREAM: ext4: fix invalid free tracking in ext4_xattr_move_to_block()
      fs/ext4/xattr.c
Linux 4.19.283
  * mm/page_alloc: fix potential deadlock on zonelist_update_seq seqlock
      mm/page_alloc.c
  * printk: declare printk_deferred_{enter,safe}() in include/linux/printk.h
      include/linux/printk.h
    PCI: pciehp: Fix AB-BA deadlock between reset_lock and device_lock
    PCI: pciehp: Use down_read/write_nested(reset_lock) to fix lockdep errors
    drbd: correctly submit flush bio on barrier
    serial: 8250: Fix serial8250_tx_empty() race with DMA Tx
  * tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH
      drivers/tty/tty_io.c
      drivers/tty/tty_ioctl.c
      include/linux/tty.h
  * ext4: fix invalid free tracking in ext4_xattr_move_to_block()
      fs/ext4/xattr.c
  * ext4: remove a BUG_ON in ext4_mb_release_group_pa()
      fs/ext4/mballoc.c
  * ext4: bail out of ext4_xattr_ibody_get() fails for any reason
      fs/ext4/inline.c
  * ext4: add bounds checking in get_max_inline_xattr_value_size()
      fs/ext4/inline.c
  * ext4: improve error recovery code paths in __ext4_remount()
      fs/ext4/super.c
  * ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum
      fs/ext4/super.c
  * ext4: fix WARNING in mb_find_extent
      fs/ext4/balloc.c
  * HID: wacom: Set a default resolution for older tablets
      drivers/hid/wacom_wac.c
    drm/panel: otm8009a: Set backlight parent to panel device
    ARM: dts: s5pv210: correct MIPI CSIS clock name
    ARM: dts: exynos: fix WM8960 clock name in Itop Elite
    sh: nmi_debug: fix return value of __setup handler
    sh: init: use OF_EARLY_FLATTREE for early init
    sh: math-emu: fix macro redefined warning
    platform/x86: touchscreen_dmi: Add info for the Dexp Ursus KX210i
    cifs: fix pcchunk length type in smb2_copychunk_range
    btrfs: print-tree: parent bytenr must be aligned to sector size
    btrfs: fix btrfs_prev_leaf() to not return the same key twice
    perf symbols: Fix return incorrect build_id size in elf_read_build_id()
    perf map: Delete two variable initialisations before null pointer checks in sort__sym_from_cmp()
    perf vendor events power9: Remove UTF-8 characters from JSON files
    virtio_net: suppress cpu stall when free_unused_bufs
    virtio_net: split free_unused_bufs()
    ALSA: caiaq: input: Add error handling for unsupported input methods in `snd_usb_caiaq_input_init`
    drm/amdgpu: add a missing lock for AMDGPU_SCHED
  * drm/amdgpu: Add command to override the context priority.
      include/uapi/drm/amdgpu_drm.h
    drm/amdgpu: Put enable gfx off feature to a delay thread
    drm/amdgpu: Add amdgpu_gfx_off_ctrl function
  * af_packet: Don't send zero-byte data in packet_sendmsg_spkt().
      net/packet/af_packet.c
    rxrpc: Fix hard call timeout units
  * net/sched: act_mirred: Add carrier check
      net/sched/act_mirred.c
  * writeback: fix call of incorrect macro
      fs/fs-writeback.c
    net: dsa: mv88e6xxx: add mv88e6321 rsvd2cpu
    net: dsa: mv88e6xxx: Add missing watchdog ops for 6320 family
  * sit: update dev->needed_headroom in ipip6_tunnel_bind_dev()
      net/ipv6/sit.c
    relayfs: fix out-of-bounds access in relay_file_read
    kernel/relay.c: fix read_pos error when multiple readers
  * dm verity: fix error handling for check_at_most_once on FEC
      drivers/md/dm-verity-target.c
  * dm verity: skip redundant verity_handle_err() on I/O errors
      drivers/md/dm-verity-target.c
    ipmi: fix SSIF not responding under certain cond.
    ipmi_ssif: Rename idle state and check
  * ipmi: Fix how the lower layers are told to watch for messages
      include/linux/ipmi_smi.h
    ipmi: Fix SSIF flag requests
  * tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem
      drivers/base/cpu.c
      include/linux/tick.h
      kernel/time/tick-sched.c
  * nohz: Add TICK_DEP_BIT_RCU
      include/linux/tick.h
      include/trace/events/timer.h
      kernel/time/tick-sched.c
  * netfilter: nf_tables: deactivate anonymous set from preparation phase
      include/net/netfilter/nf_tables.h
    debugobject: Ensure pool refill (again)
    perf auxtrace: Fix address filter entire kernel size
  * dm ioctl: fix nested locking in table_clear() to remove deadlock concern
      drivers/md/dm-ioctl.c
    dm flakey: fix a crash with invalid table line
    dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path
    s390/dasd: fix hanging blockdevice after request requeue
  * btrfs: scrub: reject unsupported scrub flags
      include/uapi/linux/btrfs.h
    clk: rockchip: rk3399: allow clk_cifout to force clk_cifout_src to reparent
    wifi: rtl8xxxu: RTL8192EU always needs full init
    md/raid10: fix null-ptr-deref in raid10_sync_request
    nilfs2: fix infinite loop in nilfs_mdt_get_block()
    nilfs2: do not write dirty data after degenerating to read-only
    parisc: Fix argument pointer in real64_call_asm()
    dmaengine: at_xdmac: do not enable all cyclic channels
    phy: tegra: xusb: Add missing tegra_xusb_port_unregister for usb2_port and ulpi_port
    pwm: mtk-disp: Disable shadow registers before setting backlight values
    pwm: mtk-disp: Adjust the clocks to avoid them mismatch
    pwm: mtk-disp: Don't check the return code of pwmchip_remove()
    openrisc: Properly store r31 to pt_regs on unhandled exceptions
    RDMA/mlx5: Use correct device num_ports when modify DC
  * SUNRPC: remove the maximum number of retries in call_bind_status
      include/linux/sunrpc/sched.h
    NFSv4.1: Always send a RECLAIM_COMPLETE after establishing lease
    IB/hfi1: Fix SDMA mmu_rb_node not being evicted in LRU order
  * clk: add missing of_node_put() in "assigned-clocks" property parsing
      drivers/clk/clk-conf.c
    power: supply: generic-adc-battery: fix unit scaling
    RDMA/mlx4: Prevent shift wrapping in set_user_sq_size()
    RDMA/rdmavt: Delete unnecessary NULL check
  * perf/core: Fix hardlockup failure caused by perf throttle
      kernel/events/core.c
    powerpc/rtas: use memmove for potentially overlapping buffer copy
  * macintosh: via-pmu-led: requires ATA to be set
      drivers/macintosh/Kconfig
    powerpc/sysdev/tsi108: fix resource printk format warnings
    powerpc/wii: fix resource printk format warnings
    powerpc/mpc512x: fix resource printk format warning
    macintosh/windfarm_smu_sat: Add missing of_node_put()
  * spmi: Add a check for remove callback when removing a SPMI driver
      drivers/spmi/spmi.c
    staging: rtl8192e: Fix W_DISABLE# does not work after stop/start
    serial: 8250: Add missing wakeup event reporting
    tty: serial: fsl_lpuart: adjust buffer length to the intended size
    usb: chipidea: fix missing goto in `ci_hdrc_probe`
    sh: sq: Fix incorrect element size for allocating bitmap buffer
  * uapi/linux/const.h: prefer ISO-friendly __typeof__
      include/uapi/linux/const.h
    spi: cadence-quadspi: fix suspend-resume implementations
    mtd: spi-nor: cadence-quadspi: Handle probe deferral while requesting DMA channel
    mtd: spi-nor: cadence-quadspi: Don't initialize rx_dma_complete on failure
    mtd: spi-nor: cadence-quadspi: Make driver independent of flash geometry
    ia64: salinfo: placate defined-but-not-used warning
    ia64: mm/contig: fix section mismatch warning/error
  * of: Fix modalias string generation
      drivers/of/device.c
    vmci_host: fix a race condition in vmci_host_poll() causing GPF
    spi: fsl-spi: Fix CPM/QE mode Litte Endian
    spi: qup: Don't skip cleanup in remove's error path
    spi: qup: fix PM reference leak in spi_qup_remove()
  * linux/vt_buffer.h: allow either builtin or modular for macros
      include/linux/vt_buffer.h
    usb: gadget: udc: renesas_usb3: Fix use after free bug in renesas_usb3_remove due to race condition
    fpga: bridge: fix kernel-doc parameter description
    usb: host: xhci-rcar: remove leftover quirk handling
  * pstore: Revert pmsg_lock back to a normal mutex
      fs/pstore/pmsg.c
  * tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp.
      net/core/skbuff.c
    net: amd: Fix link leak when verifying config failed
  * netlink: Use copy_to_user() for optval in netlink_getsockopt().
      net/netlink/af_netlink.c
    Revert "Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work"
  * ipv4: Fix potential uninit variable access bug in __ip_make_skb()
      net/ipv4/ip_output.c
  * netfilter: nf_tables: don't write table validation state without mutex
      include/linux/netfilter/nfnetlink.h
      net/netfilter/nfnetlink.c
    ixgbe: Enable setting RSS table to default values
    ixgbe: Allow flow hash to be set via ethtool
    wifi: iwlwifi: mvm: check firmware response size
    wifi: iwlwifi: make the loop for card preparation effective
    md/raid10: fix memleak of md thread
    md: update the optimal I/O size on reshape
    md/raid10: fix memleak for 'conf->bio_split'
    md/raid10: fix leak of 'r10bio->remaining' for recovery
  * crypto: drbg - Only fail when jent is unavailable in FIPS mode
      crypto/drbg.c
  * crypto: drbg - make drbg_prepare_hrng() handle jent instantiation errors
      crypto/drbg.c
    bpftool: Fix bug for long instructions in program CFG dumps
    wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_reg()
    wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_rfreg()
    rtlwifi: Replace RT_TRACE with rtl_dbg
    rtlwifi: Start changing RT_TRACE into rtl_dbg
    rtlwifi: rtl_pci: Fix memory leak when hardware init fails
    scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS
    scsi: target: iscsit: Fix TAS handling during conn cleanup
  * net/packet: convert po->auxdata to an atomic flag
      net/packet/af_packet.c
      net/packet/internal.h
  * net/packet: convert po->origdev to an atomic flag
      net/packet/af_packet.c
      net/packet/internal.h
    vlan: partially enable SIOCSHWTSTAMP in container
  * scm: fix MSG_CTRUNC setting condition for SO_PASSSEC
      include/net/scm.h
    tools: bpftool: Remove invalid \' json escape
    wifi: ath6kl: reduce WARN to dev_dbg() in callback
    wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list()
    wifi: ath9k: hif_usb: fix memory leak of remain_skbs
    wifi: ath6kl: minor fix for allocation size
    debugobject: Prevent init race with static objects
    debugobjects: Move printk out of db->lock critical sections
    debugobjects: Add percpu free pools
  * arm64: kgdb: Set PSTATE.SS to 1 to re-enable single-step
      arch/arm64/include/asm/debug-monitors.h
      arch/arm64/kernel/debug-monitors.c
    x86/ioapic: Don't return 0 from arch_dynirq_lower_bound()
    media: rc: gpio-ir-recv: Fix support for wake-up
    media: rcar_fdp1: Fix refcount leak in probe and remove function
    media: rcar_fdp1: Fix the correct variable assignments
    media: saa7134: fix use after free bug in saa7134_finidev due to race condition
    media: dm1105: Fix use after free bug in dm1105_remove due to race condition
    x86/apic: Fix atomic update of offset in reserve_eilvt_offset()
    drm/msm/adreno: drop bogus pm_runtime_set_active()
    drm/msm/adreno: Defer enabling runpm until hw_init()
  * firmware: qcom_scm: Clear download bit during reboot
      drivers/firmware/qcom_scm.c
    media: av7110: prevent underflow in write_ts_to_decoder()
  * media: uapi: add MEDIA_BUS_FMT_METADATA_FIXED media bus format.
      include/uapi/linux/media-bus-format.h
    media: bdisp: Add missing check for create_workqueue
    ARM: dts: qcom: ipq4019: Fix the PCI I/O port range
    EDAC/skx: Fix overflows on the DRAM row address mapping arrays
    EDAC, skx: Move debugfs node under EDAC's hierarchy
  * drm/probe-helper: Cancel previous job before starting new one
      drivers/gpu/drm/drm_probe_helper.c
    drm/vgem: add missing mutex_destroy
    drm/rockchip: Drop unbalanced obj unref
  * selinux: ensure av_permissions.h is built when needed
      security/selinux/Makefile
  * selinux: fix Makefile dependencies of flask.h
      security/selinux/Makefile
    ubifs: Free memory for tmpfile name
    ubi: Fix return value overwrite issue in try_write_vid_and_data()
    ubifs: Fix memleak when insert_old_idx() failed
    Revert "ubifs: dirty_cow_znode: Fix memleak in error handling path"
    i2c: omap: Fix standard mode false ACK readings
    KVM: nVMX: Emulate NOPs in L2, and PAUSE if it's not intercepted
    reiserfs: Add security prefix to xattr name in reiserfs_security_write()
  * ring-buffer: Sync IRQ works before buffer destruction
      kernel/trace/ring_buffer.c
    pwm: meson: Fix axg ao mux parents
    MIPS: fw: Allow firmware to pass a empty env
  * xhci: fix debugfs register accesses while suspended
      drivers/usb/host/xhci-debugfs.c
  * debugfs: regset32: Add Runtime PM support
      fs/debugfs/file.c
      include/linux/debugfs.h
    staging: iio: resolver: ads1210: fix config mode
    perf sched: Cast PTHREAD_STACK_MIN to int as it may turn into sysconf(__SC_THREAD_STACK_MIN_VALUE)
  * USB: dwc3: fix runtime pm imbalance on unbind
      drivers/usb/dwc3/core.c
    stmmac: debugfs entry name is not be changed when udev rename device name.
    ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750
    iio: adc: palmas_gpadc: fix NULL dereference on rmmod
    USB: serial: option: add UNISOC vendor and TOZED LT70C product
  * bluetooth: Perform careful capability checks in hci_sock_ioctl()
      net/bluetooth/hci_sock.c
    wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies()
  * ANDROID: incremental fs: Evict inodes before freeing mount data
      fs/incfs/main.c
      fs/incfs/vfs.c
  * Revert "Revert "mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse""
      android/abi_gki_aarch64.xml
      include/linux/rmap.h
      mm/rmap.c

Bug: 299241959
Change-Id: Ib8c4ff87b1b0b720abce0f5fcdf1a51f01a472a9
Signed-off-by: Wilson Sung <wilsonsung@google.com>
Signed-off-by: ChangYan Lee <changyan@google.com>
2023-10-17 05:00:19 +00:00
Greg Kroah-Hartman
b2cb45e59d Merge 4.19.292 into android-4.19-stable
Changes in 4.19.292
	sparc: fix up arch_cpu_finalize_init() build breakage.
	mmc: moxart: read scr register without changing byte order
	ipv6: adjust ndisc_is_useropt() to also return true for PIO
	dmaengine: pl330: Return DMA_PAUSED when transaction is paused
	drm/nouveau/gr: enable memory loads on helper invocation on all channels
	radix tree test suite: fix incorrect allocation size for pthreads
	nilfs2: fix use-after-free of nilfs_root in dirtying inodes via iput
	iio: cros_ec: Fix the allocation size for cros_ec_command
	binder: fix memory leak in binder_init()
	usb-storage: alauda: Fix uninit-value in alauda_check_media()
	usb: dwc3: Properly handle processing of pending events
	x86/cpu/amd: Enable Zenbleed fix for AMD Custom APU 0405
	x86/mm: Fix VDSO and VVAR placement on 5-level paging machines
	x86: Move gds_ucode_mitigated() declaration to header
	drm/nouveau/disp: Revert a NULL check inside nouveau_connector_get_modes
	mISDN: Update parameter type of dsp_cmx_send()
	net/packet: annotate data-races around tp->status
	bonding: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves
	dccp: fix data-race around dp->dccps_mss_cache
	drivers: net: prevent tun_build_skb() to exceed the packet size limit
	IB/hfi1: Fix possible panic during hotplug remove
	wifi: cfg80211: fix sband iftype data lookup for AP_VLAN
	ibmvnic: Handle DMA unmapping of login buffs in release functions
	btrfs: don't stop integrity writeback too early
	netfilter: nf_tables: bogus EBUSY when deleting flowtable after flush
	netfilter: nf_tables: report use refcount overflow
	scsi: core: Fix legacy /proc parsing buffer overflow
	scsi: storvsc: Fix handling of virtual Fibre Channel timeouts
	scsi: 53c700: Check that command slot is not NULL
	scsi: snic: Fix possible memory leak if device_add() fails
	scsi: core: Fix possible memory leak if device_add() fails
	alpha: remove __init annotation from exported page_is_ram()
	sch_netem: fix issues in netem_change() vs get_dist_table()
	Linux 4.19.292

Change-Id: Ie4a1393c672e280631d9a0949e081f134dff3e3b
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-08-28 15:24:42 +00:00
Qi Zheng
ceb0f8cc98 binder: fix memory leak in binder_init()
commit adb9743d6a08778b78d62d16b4230346d3508986 upstream.

In binder_init(), the destruction of binder_alloc_shrinker_init() is not
performed in the wrong path, which will cause memory leaks. So this commit
introduces binder_alloc_shrinker_exit() and calls it in the wrong path to
fix that.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Acked-by: Carlos Llamas <cmllamas@google.com>
Fixes: f2517eb76f ("android: binder: Add global lru shrinker to binder")
Cc: stable <stable@kernel.org>
Link: https://lore.kernel.org/r/20230625154937.64316-1-qi.zheng@linux.dev
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-08-16 18:13:00 +02:00
Lucas Wei
524c02c879 Merge android-4.19-stable (4.19.224) into android-msm-pixel-4.19-lts
Merge 4.19.224 into android-4.19-stable
Linux 4.19.224
  * net: fix use-after-free in tw_timer_handler
      net/ipv4/af_inet.c
    Input: spaceball - fix parsing of movement data packets
    Input: appletouch - initialize work before device registration
    scsi: vmw_pvscsi: Set residual data length conditionally
  * binder: fix async_free_space accounting for empty parcels
      drivers/android/binder_alloc.c
    usb: mtu3: set interval of FS intr and isoc endpoint
  * usb: gadget: f_fs: Clear ffs_eventfd in ffs_data_clear.
      drivers/usb/gadget/function/f_fs.c
  * xhci: Fresco FL1100 controller should not have BROKEN_MSI quirk set.
      drivers/usb/host/xhci-pci.c
  * uapi: fix linux/nfc.h userspace compilation errors
      include/uapi/linux/nfc.h
  * nfc: uapi: use kernel size_t to fix user-space builds
      include/uapi/linux/nfc.h
  * i2c: validate user data in compat ioctl
      drivers/i2c/i2c-dev.c
    fsl/fman: Fix missing put_device() call in fman_port_probe
    selftests/net: udpgso_bench_tx: fix dst ip argument
    net/mlx5e: Fix wrong features assignment in case of error
    NFC: st21nfca: Fix memory leak in device probe and remove
    net: usb: pegasus: Do not drop long Ethernet frames
  * sctp: use call_rcu to free endpoint
      include/net/sctp/sctp.h
      include/net/sctp/structs.h
      net/sctp/diag.c
      net/sctp/endpointola.c
      net/sctp/socket.c
    selftests: Calculate udpgso segment count without header adjustment
  * udp: using datalen to cap ipv6 udp max gso segments
      net/ipv6/udp.c
    scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write()
  * selinux: initialize proto variable in selinux_ip_postroute_compat()
      security/selinux/hooks.c
    recordmcount.pl: fix typo in s390 mcount regex
    platform/x86: apple-gmux: use resource_size() with res
    Input: i8042 - enable deferred probe quirk for ASUS UM325UA
    Input: i8042 - add deferred probe support
  * tee: handle lookup of shm with reference count 0
      include/linux/tee_drv.h
  * HID: asus: Add depends on USB_HID to HID_ASUS Kconfig option
      drivers/hid/Kconfig
    Merge 4.19.223 into android-4.19-stable
Linux 4.19.223
    phonet/pep: refuse to enable an unbound pipe
    hamradio: improve the incomplete fix to avoid NPD
    hamradio: defer ax25 kfree after unregister_netdev
    ax25: NPD bug when detaching AX25 device
    hwmon: (lm90) Do not report 'busy' status bit as alarm
    KVM: VMX: Fix stale docs for kvm-intel.emulate_invalid_guest_state
  * usb: gadget: u_ether: fix race in setting MAC address in setup phase
      drivers/usb/gadget/function/u_ether.c
  * f2fs: fix to do sanity check on last xattr entry in __f2fs_setxattr()
      fs/f2fs/xattr.c
    ARM: 9169/1: entry: fix Thumb2 bug in iWMMXt exception handling
    pinctrl: stm32: consider the GPIO offset to expose all the GPIO lines
    x86/pkey: Fix undefined behaviour with PKRU_WD_BIT
    parisc: Correct completer in lws start
    ipmi: fix initialization when workqueue allocation fails
    ipmi: bail out if init_srcu_struct fails
    Input: atmel_mxt_ts - fix double free in mxt_read_info_block
    ALSA: drivers: opl3: Fix incorrect use of vp->state
  * ALSA: jack: Check the return value of kstrdup()
      sound/core/jack.c
    hwmon: (lm90) Fix usage of CONFIG2 register in detect function
    sfc: falcon: Check null pointer of rx_queue->page_ring
    drivers: net: smc911x: Check for error irq
    fjes: Check for error irq
  * bonding: fix ad_actor_system option setting to default
      drivers/net/bonding/bond_options.c
    ipmi: Fix UAF when uninstall ipmi_si and ipmi_msghandler module
  * net: skip virtio_net_hdr_set_proto if protocol already set
      include/linux/virtio_net.h
  * net: accept UFOv6 packages in virtio_net_hdr_to_skb
      include/linux/virtio_net.h
    qlcnic: potential dereference null pointer of rx_queue->page_ring
  * netfilter: fix regression in looped (broad|multi)cast's MAC handling
      net/netfilter/nfnetlink_log.c
      net/netfilter/nfnetlink_queue.c
    IB/qib: Fix memory leak in qib_user_sdma_queue_pkts()
    spi: change clk_disable_unprepare to clk_unprepare
    arm64: dts: allwinner: orangepi-zero-plus: fix PHY mode
    HID: holtek: fix mouse probing
    block, bfq: fix use after free in bfq_bfqq_expire
    block, bfq: fix queue removal from weights tree
    block, bfq: fix decrement of num_active_groups
    block, bfq: fix asymmetric scenarios detection
    block, bfq: improve asymmetric scenarios detection
    net: usb: lan78xx: add Allied Telesis AT29M2-AF
  * Revert "ARM: 8800/1: use choice for kernel unwinders"
      lib/Kconfig.debug
    Merge 4.19.222 into android-4.19-stable
Linux 4.19.222
    xen/netback: don't queue unlimited number of packages
    xen/netback: fix rx queue stall detection
    xen/console: harden hvc_xen against event channel storms
    xen/netfront: harden netfront against event channel storms
    xen/blkfront: harden blkfront against event channel storms
    scsi: scsi_debug: Sanity check block descriptor length in resp_mode_select()
  * ovl: fix warning in ovl_create_real()
      fs/overlayfs/dir.c
      fs/overlayfs/overlayfs.h
      fs/overlayfs/super.c
  * fuse: annotate lock in fuse_reverse_inval_entry()
      fs/fuse/dir.c
    media: mxl111sf: change mutex_init() location
    ARM: dts: imx6ull-pinfunc: Fix CSI_DATA07__ESAI_TX0 pad name
    firmware: arm_scpi: Fix string overflow in SCPI genpd driver
  * Input: touchscreen - avoid bitwise vs logical OR warning
      drivers/input/touchscreen/of_touchscreen.c
  * ARM: 8800/1: use choice for kernel unwinders
      lib/Kconfig.debug
    mwifiex: Remove unnecessary braces from HostCmd_SET_SEQ_NO_BSS_INFO
    ARM: 8805/2: remove unneeded naked function usage
    net: lan78xx: Avoid unnecessary self assignment
    mac80211: validate extended element ID is present
    net: systemport: Add global locking for descriptor lifecycle
    drm/amdgpu: correct register access for RLC_JUMP_TABLE_RESTORE
    libata: if T_LENGTH is zero, dma direction should be DMA_NONE
  * timekeeping: Really make sure wall_to_monotonic isn't positive
      kernel/time/timekeeping.c
    USB: serial: option: add Telit FN990 compositions
    USB: serial: cp210x: fix CP2105 GPIO registration
  * PCI/MSI: Mask MSI-X vectors only on success
      drivers/pci/msi.c
  * PCI/MSI: Clear PCI_MSIX_FLAGS_MASKALL on error
      drivers/pci/msi.c
  * USB: NO_LPM quirk Lenovo USB-C to Ethernet Adapher(RTL8153-04)
      drivers/usb/core/quirks.c
  * USB: gadget: bRequestType is a bitfield, not a enum
      drivers/usb/gadget/composite.c
  * sit: do not call ipip6_dev_free() from sit_init_net()
      net/ipv6/sit.c
  * net/packet: rx_owner_map depends on pg_vec
      net/packet/af_packet.c
    netdevsim: Zero-initialize memory for new map's value in function nsim_bpf_map_alloc
    ixgbe: set X550 MDIO speed before talking to PHY
    igbvf: fix double free in `igbvf_probe`
    igb: Fix removal of unicast MAC filters of VFs
    soc/tegra: fuse: Fix bitwise vs. logical OR warning
    rds: memory leak in __rds_conn_create()
    dmaengine: st_fdma: fix MODULE_ALIAS
    sch_cake: do not call cake_destroy() from cake_init()
    ARM: socfpga: dts: fix qspi node compatible
    mac80211: track only QoS data frames for admission control
    x86/sme: Explicitly map new EFI memmap table as encrypted
  * x86: Make ARCH_USE_MEMREMAP_PROT a generic Kconfig symbol
      arch/Kconfig
    nfsd: fix use-after-free due to delegation race
  * audit: improve robustness of the audit queue handling
      kernel/audit.c
    dm btree remove: fix use after free in rebalance_children()
    recordmcount.pl: look for jgnop instruction as well as bcrl on s390
    mac80211: send ADDBA requests using the tid/queue of the aggregation session
    hwmon: (dell-smm) Fix warning on /proc/i8k creation error
    tracing: Fix a kmemleak false positive in tracing_map
  * net: netlink: af_netlink: Prevent empty skb by adding a check on len.
      net/netlink/af_netlink.c
    i2c: rk3x: Handle a spurious start completion interrupt flag
    parisc/agp: Annotate parisc agp init functions with __init
    net/mlx4_en: Update reported link modes for 1/10G
    drm/msm/dsi: set default num_data_lanes
    nfc: fix segfault in nfc_genl_dump_devices_done
  * stable: clamp SUBLEVEL in 4.19
      Makefile
  * FROMGIT: USB: gadget: bRequestType is a bitfield, not a enum
      drivers/usb/gadget/composite.c
  * ANDROID: GKI: abi workaround for 4.19.221
      include/net/sch_generic.h
    Merge 4.19.221 into android-4.19-stable
Linux 4.19.221
  * net: sched: make function qdisc_free_cb() static
      net/sched/sch_generic.c
  * net_sched: fix a crash in tc_new_tfilter()
      net/sched/cls_api.c
    irqchip: nvic: Fix offset for Interrupt Priority Offsets
  * irqchip/irq-gic-v3-its.c: Force synchronisation when issuing INVALL
      drivers/irqchip/irq-gic-v3-its.c
    irqchip/armada-370-xp: Fix support for Multi-MSI interrupts
    irqchip/armada-370-xp: Fix return value of armada_370_xp_msi_alloc()
    iio: accel: kxcjk-1013: Fix possible memory leak in probe and remove
    iio: adc: axp20x_adc: fix charging current reporting on AXP22x
    iio: at91-sama5d2: Fix incorrect sign extension
    iio: dln2: Check return value of devm_iio_trigger_register()
    iio: dln2-adc: Fix lockdep complaint
    iio: itg3200: Call iio_trigger_notify_done() on error
    iio: kxsd9: Don't return error code in trigger handler
    iio: ltr501: Don't return error code in trigger handler
    iio: mma8452: Fix trigger reference couting
    iio: stk3310: Don't return error code in interrupt handler
    iio: trigger: stm32-timer: fix MODULE_ALIAS
    iio: trigger: Fix reference counting
  * xhci: avoid race between disable slot command and host runtime suspend
      drivers/usb/host/xhci-hub.c
      drivers/usb/host/xhci-ring.c
      drivers/usb/host/xhci.c
  * usb: core: config: using bit mask instead of individual bits
      drivers/usb/core/config.c
  * xhci: Remove CONFIG_USB_DEFAULT_PERSIST to prevent xHCI from runtime suspending
      drivers/usb/host/xhci.c
  * usb: core: config: fix validation of wMaxPacketValue entries
      drivers/usb/core/config.c
  * USB: gadget: zero allocate endpoint 0 buffers
      drivers/usb/gadget/composite.c
  * USB: gadget: detect too-big endpoint 0 requests
      drivers/usb/gadget/composite.c
    net/qla3xxx: fix an error code in ql_adapter_up()
  * net, neigh: clear whole pneigh_entry at alloc time
      net/core/neighbour.c
    net: fec: only clear interrupt of handling queue in fec_enet_rx_queue()
    net: altera: set a couple error code in probe()
  * net: cdc_ncm: Allow for dwNtbOutMaxSize to be unset or zero
      drivers/net/usb/cdc_ncm.c
    tools build: Remove needless libpython-version feature check that breaks test-all fast path
    mtd: rawnand: fsmc: Take instruction delay into account
    i40e: Fix pre-set max number of queues for VF
    ASoC: qdsp6: q6routing: Fix return value from msm_routing_put_audio_mixer
    qede: validate non LSO skb length
  * block: fix ioprio_get(IOPRIO_WHO_PGRP) vs setuid(2)
      block/ioprio.c
  * tracefs: Set all files to the same group ownership as the mount option
      fs/tracefs/inode.c
  * aio: fix use-after-free due to missing POLLFREE handling
      fs/aio.c
      include/uapi/asm-generic/poll.h
  * aio: keep poll requests on waitqueue until completed
      fs/aio.c
  * signalfd: use wake_up_pollfree()
      fs/signalfd.c
  * binder: use wake_up_pollfree()
      drivers/android/binder.c
  * wait: add wake_up_pollfree()
      include/linux/wait.h
      kernel/sched/wait.c
    libata: add horkage for ASMedia 1092
    can: m_can: Disable and ignore ELO interrupt
    can: pch_can: pch_can_rx_normal: fix use after free
  * clk: qcom: regmap-mux: fix parent clock lookup
      drivers/clk/qcom/clk-regmap-mux.c
      drivers/clk/qcom/common.c
      drivers/clk/qcom/common.h
  * tracefs: Have new files inherit the ownership of their parent
      fs/tracefs/inode.c
    ALSA: pcm: oss: Handle missing errors in snd_pcm_oss_change_params*()
    ALSA: pcm: oss: Limit the period size to 16MB
    ALSA: pcm: oss: Fix negative period/buffer sizes
  * ALSA: ctl: Fix copy of updated id with element read/write
      sound/core/control_compat.c
  * mm: bdi: initialize bdi_min_ratio when bdi is unregistered
      mm/backing-dev.c
    IB/hfi1: Correct guard on eager buffer deallocation
  * udp: using datalen to cap max gso segments
      net/ipv4/udp.c
    seg6: fix the iif in the IPv6 socket control block
    nfp: Fix memory leak in nfp_cpp_area_cache_add()
  * bonding: make tx_rebalance_counter an atomic
      drivers/net/bonding/bond_alb.c
      include/net/bond_alb.h
    ice: ignore dropped packets during init
  * bpf: Fix the off-by-two error in range markings
      kernel/bpf/verifier.c
    nfc: fix potential NULL pointer deref in nfc_genl_dump_ses_done
  * net: sched: use Qdisc rcu API instead of relying on rtnl lock
      net/sched/cls_api.c
  * net: sched: add helper function to take reference to Qdisc
      include/net/sch_generic.h
  * net: sched: extend Qdisc with rcu
      include/linux/rtnetlink.h
      include/net/pkt_sched.h
      include/net/sch_generic.h
      net/sched/sch_api.c
      net/sched/sch_generic.c
  * net: sched: rename qdisc_destroy() to qdisc_put()
      include/net/sch_generic.h
      net/sched/sch_api.c
      net/sched/sch_fifo.c
      net/sched/sch_generic.c
      net/sched/sch_htb.c
      net/sched/sch_mq.c
      net/sched/sch_multiq.c
      net/sched/sch_netem.c
      net/sched/sch_prio.c
      net/sched/sch_tbf.c
  * net: core: netlink: add helper refcount dec and lock function
      include/linux/rtnetlink.h
      net/core/rtnetlink.c
    can: sja1000: fix use after free in ems_pcmcia_add_card()
    can: kvaser_usb: get CAN clock frequency from device
    HID: check for valid USB device for many HID drivers
    HID: wacom: fix problems when device is not a valid USB device
  * HID: add USB_HID dependancy on some USB HID drivers
      drivers/hid/Kconfig
  * HID: add USB_HID dependancy to hid-chicony
      drivers/hid/Kconfig
  * HID: add USB_HID dependancy to hid-prodikeys
      drivers/hid/Kconfig
  * HID: add hid_is_usb() function to make it simpler for USB detection
      include/linux/hid.h
  * HID: google: add eel USB id
      drivers/hid/hid-ids.h
  * UPSTREAM: USB: gadget: zero allocate endpoint 0 buffers
      drivers/usb/gadget/composite.c
  * UPSTREAM: USB: gadget: detect too-big endpoint 0 requests
      drivers/usb/gadget/composite.c

Bug: 213962841
Change-Id: I08d2895cf1620064924ed5be29cb38d7bf18e7b3
Signed-off-by: Lucas Wei <lucaswei@google.com>
2022-01-20 22:01:24 +08:00
Greg Kroah-Hartman
523769c68b Merge 4.19.224 into android-4.19-stable
Changes in 4.19.224
	HID: asus: Add depends on USB_HID to HID_ASUS Kconfig option
	tee: handle lookup of shm with reference count 0
	Input: i8042 - add deferred probe support
	Input: i8042 - enable deferred probe quirk for ASUS UM325UA
	platform/x86: apple-gmux: use resource_size() with res
	recordmcount.pl: fix typo in s390 mcount regex
	selinux: initialize proto variable in selinux_ip_postroute_compat()
	scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write()
	udp: using datalen to cap ipv6 udp max gso segments
	selftests: Calculate udpgso segment count without header adjustment
	sctp: use call_rcu to free endpoint
	net: usb: pegasus: Do not drop long Ethernet frames
	NFC: st21nfca: Fix memory leak in device probe and remove
	net/mlx5e: Fix wrong features assignment in case of error
	selftests/net: udpgso_bench_tx: fix dst ip argument
	fsl/fman: Fix missing put_device() call in fman_port_probe
	i2c: validate user data in compat ioctl
	nfc: uapi: use kernel size_t to fix user-space builds
	uapi: fix linux/nfc.h userspace compilation errors
	xhci: Fresco FL1100 controller should not have BROKEN_MSI quirk set.
	usb: gadget: f_fs: Clear ffs_eventfd in ffs_data_clear.
	usb: mtu3: set interval of FS intr and isoc endpoint
	binder: fix async_free_space accounting for empty parcels
	scsi: vmw_pvscsi: Set residual data length conditionally
	Input: appletouch - initialize work before device registration
	Input: spaceball - fix parsing of movement data packets
	net: fix use-after-free in tw_timer_handler
	Linux 4.19.224

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I152e5f7136d00c553192c65298371353418eed41
2022-01-05 13:21:08 +01:00
Todd Kjos
7c70644026 binder: fix async_free_space accounting for empty parcels
commit cfd0d84ba28c18b531648c9d4a35ecca89ad9901 upstream.

In 4.13, commit 74310e06be ("android: binder: Move buffer out of area shared with user space")
fixed a kernel structure visibility issue. As part of that patch,
sizeof(void *) was used as the buffer size for 0-length data payloads so
the driver could detect abusive clients sending 0-length asynchronous
transactions to a server by enforcing limits on async_free_size.

Unfortunately, on the "free" side, the accounting of async_free_space
did not add the sizeof(void *) back. The result was that up to 8-bytes of
async_free_space were leaked on every async transaction of 8-bytes or
less.  These small transactions are uncommon, so this accounting issue
has gone undetected for several years.

The fix is to use "buffer_size" (the allocated buffer size) instead of
"size" (the logical buffer size) when updating the async_free_space
during the free operation. These are the same except for this
corner case of asynchronous transactions with payloads < 8 bytes.

Fixes: 74310e06be ("android: binder: Move buffer out of area shared with user space")
Signed-off-by: Todd Kjos <tkjos@google.com>
Cc: stable@vger.kernel.org # 4.14+
Link: https://lore.kernel.org/r/20211220190150.2107077-1-tkjos@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-05 12:34:59 +01:00
Todd Kjos
ad65ce8cd1 UPSTREAM: binder: add flag to clear buffer on txn complete
Add a per-transaction flag to indicate that the buffer
must be cleared when the transaction is complete to
prevent copies of sensitive data from being preserved
in memory.

Signed-off-by: Todd Kjos <tkjos@google.com>
Link: https://lore.kernel.org/r/20201120233743.3617529-1-tkjos@google.com
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 171501513
Change-Id: Ic9338c85cbe3b11ab6f2bda55dce9964bb48447a
(cherry picked from commit 0f966cba95c78029f491b433ea95ff38f414a761)
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2021-02-20 19:21:23 +00:00
lucaswei
1c4149c525 Merge android-4.19-stable (4.19.135) into android-msm-pixel-4.19-lts
Merge 4.19.135 into android-4.19-stable
Linux 4.19.135
    ath9k: Fix regression with Atheros 9271
    ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb
  * dm integrity: fix integrity recalculation that is improperly skipped
      drivers/md/dm.c
      include/linux/device-mapper.h
  * ASoC: qcom: Drop HAS_DMA dependency to fix link failure
      sound/soc/qcom/Kconfig
  * ASoC: rt5670: Add new gpio1_is_ext_spk_en quirk and enable it on the Lenovo Miix 2 10
      include/sound/rt5670.h
  * x86, vmlinux.lds: Page-align end of ..page_aligned sections
      include/asm-generic/vmlinux.lds.h
    parisc: Add atomic64_set_release() define to avoid CPU soft lockups
    drm/amd/powerplay: fix a crash when overclocking Vega M
    drm/amdgpu: Fix NULL dereference in dpm sysfs handlers
  * io-mapping: indicate mapping failure
      include/linux/io-mapping.h
  * mm: memcg/slab: fix memory leak at non-root kmem_cache destroy
      mm/slab_common.c
  * mm: memcg/slab: synchronize access to kmem_cache dying flag using a spinlock
      mm/slab_common.c
  * mm/memcg: fix refcount error while moving and swapping
      mm/memcontrol.c
  * Makefile: Fix GCC_TOOLCHAIN_DIR prefix for Clang cross compilation
      Makefile
    vt: Reject zero-sized screen buffer size.
    fbdev: Detect integer underflow at "struct fbcon_ops"->clear_margins.
    serial: 8250_mtk: Fix high-speed baud rates clamping
    serial: 8250: fix null-ptr-deref in serial8250_start_tx()
    staging: comedi: addi_apci_1564: check INSN_CONFIG_DIGITAL_TRIG shift
    staging: comedi: addi_apci_1500: check INSN_CONFIG_DIGITAL_TRIG shift
    staging: comedi: ni_6527: fix INSN_CONFIG_DIGITAL_TRIG support
    staging: comedi: addi_apci_1032: check INSN_CONFIG_DIGITAL_TRIG shift
    staging: wlan-ng: properly check endpoint types
    Revert "cifs: Fix the target file was deleted when rename failed."
  * usb: xhci: Fix ASM2142/ASM3142 DMA addressing
      drivers/usb/host/xhci-pci.c
    usb: xhci-mtk: fix the failure of bandwidth allocation
  * binder: Don't use mmput() from shrinker function.
      drivers/android/binder_alloc.c
    RISC-V: Upgrade smp_mb__after_spinlock() to iorw,iorw
    x86: math-emu: Fix up 'cmp' insn for clang ias
  * arm64: Use test_tsk_thread_flag() for checking TIF_SINGLESTEP
      arch/arm64/kernel/debug-monitors.c
    hwmon: (scmi) Fix potential buffer overflow in scmi_hwmon_probe()
    hwmon: (adm1275) Make sure we are reading enough data for different chips
    usb: gadget: udc: gr_udc: fix memleak on error handling path in gr_ep_init()
    Input: synaptics - enable InterTouch for ThinkPad X1E 1st gen
    dmaengine: ioat setting ioat timeout as module parameter
    hwmon: (aspeed-pwm-tacho) Avoid possible buffer overflow
  * regmap: dev_get_regmap_match(): fix string comparison
      drivers/base/regmap/regmap.c
    spi: mediatek: use correct SPI_CFG2_REG MACRO
  * Input: add `SW_MACHINE_COVER`
      include/linux/mod_devicetable.h
      include/uapi/linux/input-event-codes.h
    dmaengine: tegra210-adma: Fix runtime PM imbalance on error
  * HID: apple: Disable Fn-key key-re-mapping on clone keyboards
      drivers/hid/hid-apple.c
    HID: steam: fixes race in handling device list.
    HID: alps: support devices with report id 2
    HID: i2c-hid: add Mediacom FlexBook edge13 to descriptor override
    scripts/gdb: fix lx-symbols 'gdb.error' while loading modules
    scripts/decode_stacktrace: strip basepath from all paths
    serial: exar: Fix GPIO configuration for Sealevel cards based on XR17V35X
  * bonding: check return value of register_netdevice() in bond_newlink()
      drivers/net/bonding/bond_netlink.c
    i2c: rcar: always clear ICSAR to avoid side effects
    net: ethernet: ave: Fix error returns in ave_init
    ipvs: fix the connection sync failed in some cases
    qed: suppress "don't support RoCE & iWARP" flooding on HW init
    mlxsw: destroy workqueue when trap_register in mlxsw_emad_init
  * bonding: check error value of register_netdevice() immediately
      drivers/net/bonding/bond_main.c
    net: smc91x: Fix possible memory leak in smc_drv_probe()
    drm: sun4i: hdmi: Fix inverted HPD result
    ieee802154: fix one possible memleak in adf7242_probe
    net: dp83640: fix SIOCSHWTSTAMP to update the struct with actual configuration
  * ax88172a: fix ax88172a_unbind() failures
      drivers/net/usb/ax88172a.c
    hippi: Fix a size used in a 'pci_free_consistent()' in an error handling path
    fpga: dfl: fix bug in port reset handshake
    bnxt_en: Fix race when modifying pause settings.
    btrfs: fix page leaks after failure to lock page for delalloc
    btrfs: fix mount failure caused by race with umount
    btrfs: fix double free on ulist after backref resolution failure
    ASoC: rt5670: Correct RT5670_LDO_SEL_MASK
  * ALSA: info: Drop WARN_ON() from buffer NULL sanity check
      sound/core/info.c
  * uprobes: Change handle_swbp() to send SIGTRAP with si_code=SI_KERNEL, to fix GDB regression
      kernel/events/uprobes.c
    IB/umem: fix reference count leak in ib_umem_odp_get()
  * tipc: clean up skb list lock handling on send path
      net/tipc/bcast.c
      net/tipc/group.c
      net/tipc/link.c
      net/tipc/node.c
      net/tipc/socket.c
    spi: spi-fsl-dspi: Exit the ISR with IRQ_NONE when it's not ours
    SUNRPC reverting d03727b248d0 ("NFSv4 fix CLOSE not waiting for direct IO compeletion")
    irqdomain/treewide: Keep firmware node unconditionally allocated
  * fuse: fix weird page warning
      fs/fuse/dev.c
    drivers/firmware/psci: Fix memory leakage in alloc_init_cpu_groups()
    drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout
    net: sky2: initialize return of gm_phy_read
    drivers/net/wan/lapbether: Fixed the value of hard_header_len
    xtensa: update *pos in cpuinfo_op.next
    xtensa: fix __sync_fetch_and_{and,or}_4 declarations
    scsi: scsi_transport_spi: Fix function pointer check
    mac80211: allow rx of mesh eapol frames with default rx key
    pinctrl: amd: fix npins for uart0 in kerncz_groups
    gpio: arizona: put pm_runtime in case of failure
    gpio: arizona: handle pm_runtime_get_sync failure case
  * soc: qcom: rpmh: Dirt can only make you dirtier, not cleaner
      drivers/soc/qcom/rpmh.c
    ANDROID: build: update ABI definitions
  * ANDROID: update the kernel release format for GKI
      Makefile
      scripts/setlocalversion
  * ANDROID: Incremental fs: magic number compatible 32-bit
      fs/incfs/vfs.c
  * ANDROID: kbuild: don't merge .*..compoundliteral in modules
      scripts/module-lto.lds.S
  * ANDROID: GKI: preserve ABI for struct sock_cgroup_data
      include/linux/cgroup-defs.h
  * Revert "genetlink: remove genl_bind"
      include/net/genetlink.h
      net/netlink/genetlink.c
  * Revert "arm64/alternatives: use subsections for replacement sequences"
      arch/arm64/include/asm/alternative.h
      arch/arm64/kernel/vmlinux.lds.S
    Merge 4.19.134 into android-4.19-stable
Linux 4.19.134
    spi: sprd: switch the sequence of setting WDG_LOAD_LOW and _HIGH
  * rxrpc: Fix trace string
      include/trace/events/rxrpc.h
    libceph: don't omit recovery_deletes in target_copy()
  * printk: queue wake_up_klogd irq_work only if per-CPU areas are ready
      include/linux/printk.h
      init/main.c
      kernel/printk/internal.h
      kernel/printk/printk.c
      kernel/printk/printk_safe.c
  * genirq/affinity: Handle affinity setting on inactive interrupts correctly
      kernel/irq/manage.c
  * sched/fair: handle case of task_h_load() returning 0
      kernel/sched/fair.c
  * sched: Fix unreliable rseq cpu_id for new tasks
      kernel/sched/core.c
  * arm64: compat: Ensure upper 32 bits of x0 are zero on syscall return
      arch/arm64/include/asm/syscall.h
      arch/arm64/kernel/syscall.c
  * arm64: ptrace: Consistently use pseudo-singlestep exceptions
      arch/arm64/include/asm/thread_info.h
      arch/arm64/kernel/ptrace.c
      arch/arm64/kernel/signal.c
      arch/arm64/kernel/syscall.c
  * arm64: ptrace: Override SPSR.SS when single-stepping is enabled
      arch/arm64/include/asm/debug-monitors.h
      arch/arm64/kernel/debug-monitors.c
      arch/arm64/kernel/ptrace.c
  * thermal/drivers/cpufreq_cooling: Fix wrong frequency converted from power
      drivers/thermal/cpu_cooling.c
    misc: atmel-ssc: lock with mutex instead of spinlock
    dmaengine: fsl-edma: Fix NULL pointer exception in fsl_edma_tx_handler
    intel_th: Fix a NULL dereference when hub driver is not loaded
    intel_th: pci: Add Emmitsburg PCH support
    intel_th: pci: Add Tiger Lake PCH-H support
    intel_th: pci: Add Jasper Lake CPU support
    powerpc/book3s64/pkeys: Fix pkey_access_permitted() for execute disable pkey
    hwmon: (emc2103) fix unable to change fan pwm1_enable attribute
    riscv: use 16KB kernel stack on 64-bit
    MIPS: Fix build for LTS kernel caused by backporting lpj adjustment
  * timer: Fix wheel index calculation on last level
      kernel/time/timer.c
  * timer: Prevent base->clk from moving backward
      kernel/time/timer.c
    uio_pdrv_genirq: fix use without device tree and no interrupt
    Input: i8042 - add Lenovo XiaoXin Air 12 to i8042 nomux list
    mei: bus: don't clean driver pointer
  * Revert "zram: convert remaining CLASS_ATTR() to CLASS_ATTR_RO()"
      drivers/block/zram/zram_drv.c
  * fuse: Fix parameter for FS_IOC_{GET,SET}FLAGS
      fs/fuse/file.c
  * ovl: fix unneeded call to ovl_change_flags()
      fs/overlayfs/file.c
  * ovl: relax WARN_ON() when decoding lower directory file handle
      fs/overlayfs/export.c
  * ovl: inode reference leak in ovl_is_inuse true case.
      fs/overlayfs/super.c
    serial: mxs-auart: add missed iounmap() in probe failure and remove
    virtio: virtio_console: add missing MODULE_DEVICE_TABLE() for rproc serial
    virt: vbox: Fix guest capabilities mask check
  * virt: vbox: Fix VBGL_IOCTL_VMMDEV_REQUEST_BIG and _LOG req numbers to match upstream
      include/uapi/linux/vboxguest.h
    USB: serial: option: add Quectel EG95 LTE modem
    USB: serial: option: add GosunCn GM500 series
    USB: serial: ch341: add new Product ID for CH340
    USB: serial: cypress_m8: enable Simply Automated UPB PIM
    USB: serial: iuu_phoenix: fix memory corruption
    usb: gadget: function: fix missing spinlock in f_uac1_legacy
    usb: chipidea: core: add wakeup support for extcon
    usb: dwc2: Fix shutdown callback in platform
    USB: c67x00: fix use after free in c67x00_giveback_urb
    ALSA: hda/realtek - Enable Speaker for ASUS UX533 and UX534
    ALSA: hda/realtek - change to suitable link model for ASUS platform
  * ALSA: usb-audio: Fix race against the error recovery URB submission
      sound/usb/midi.c
    ALSA: line6: Sync the pending work cancel at disconnection
    ALSA: line6: Perform sanity check for each URB creation
  * HID: quirks: Ignore Simply Automated UPB PIM
      drivers/hid/hid-ids.h
      drivers/hid/hid-quirks.c
  * HID: quirks: Always poll Obins Anne Pro 2 keyboard
      drivers/hid/hid-ids.h
      drivers/hid/hid-quirks.c
  * HID: magicmouse: do not set up autorepeat
      drivers/hid/hid-magicmouse.c
    slimbus: core: Fix mismatch in of_node_get/put
    mtd: rawnand: oxnas: Release all devices in the _remove() path
    mtd: rawnand: oxnas: Unregister all devices on error
    mtd: rawnand: oxnas: Keep track of registered devices
    mtd: rawnand: brcmnand: fix CS0 layout
    mtd: rawnand: timings: Fix default tR_max and tCCS_min timings
    mtd: rawnand: marvell: Fix probe error path
    mtd: rawnand: marvell: Use nand_cleanup() when the device is not yet registered
  * soc: qcom: rpmh-rsc: Allow using free WAKE TCS for active request
      drivers/soc/qcom/rpmh-rsc.c
  * soc: qcom: rpmh-rsc: Clear active mode configuration for wake TCS
      drivers/soc/qcom/rpmh-rsc.c
  * soc: qcom: rpmh: Invalidate SLEEP and WAKE TCSes before flushing new data
      drivers/soc/qcom/rpmh.c
  * soc: qcom: rpmh: Update dirty flag only when data changes
      drivers/soc/qcom/rpmh.c
    perf stat: Zero all the 'ena' and 'run' array slot stats for interval mode
    apparmor: ensure that dfa state tables have entries
    copy_xstate_to_kernel: Fix typo which caused GDB regression
  * regmap: debugfs: Don't sleep while atomic for fast_io regmaps
      drivers/base/regmap/regmap-debugfs.c
    ARM: dts: socfpga: Align L2 cache-controller nodename with dtschema
    Revert "thermal: mediatek: fix register index error"
    staging: comedi: verify array index is correct before using it
    usb: gadget: udc: atmel: fix uninitialized read in debug printk
    spi: spi-sun6i: sun6i_spi_transfer_one(): fix setting of clock rate
    arm64: dts: meson: add missing gxl rng clock
    phy: sun4i-usb: fix dereference of pointer phy0 before it is null checked
    iio:health:afe4404 Fix timestamp alignment and prevent data leak.
  * ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Flight S
      sound/usb/quirks.c
    ACPI: video: Use native backlight on Acer TravelMate 5735Z
    Input: mms114 - add extra compatible for mms345l
  * ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Alpha S
      sound/usb/quirks.c
    ACPI: video: Use native backlight on Acer Aspire 5783z
  * ALSA: usb-audio: Rewrite registration quirk handling
      sound/usb/card.c
      sound/usb/quirks.c
      sound/usb/quirks.h
    mmc: sdhci: do not enable card detect interrupt for gpio cd type
    doc: dt: bindings: usb: dwc3: Update entries for disabling SS instances in park mode
  * ALSA: usb-audio: Create a registration quirk for Kingston HyperX Amp (0951:16d8)
      sound/usb/card.c
      sound/usb/quirks.c
      sound/usb/quirks.h
  * scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled
      drivers/scsi/Kconfig
    ARM: at91: pm: add quirk for sam9x60's ulp1
  * HID: quirks: Remove ITE 8595 entry from hid_have_special_driver
      drivers/hid/hid-quirks.c
    net: sfp: add some quirks for GPON modules
    net: sfp: add support for module quirks
  * Revert "usb/ehci-platform: Set PM runtime as active on resume"
      drivers/usb/host/ehci-platform.c
  * Revert "usb/xhci-plat: Set PM runtime as active on resume"
      drivers/usb/host/xhci-plat.c
  * Revert "usb/ohci-platform: Fix a warning when hibernating"
      drivers/usb/host/ohci-platform.c
  * of: of_mdio: Correct loop scanning logic
      drivers/of/of_mdio.c
    net: dsa: bcm_sf2: Fix node reference count
    spi: spi-fsl-dspi: Fix lockup if device is shutdown during SPI transfer
    spi: fix initial SPI_SR value in spi-fsl-dspi
    iio:health:afe4403 Fix timestamp alignment and prevent data leak.
    iio:pressure:ms5611 Fix buffer element alignment
    iio:humidity:hts221 Fix alignment and data leak issues
    iio: pressure: zpa2326: handle pm_runtime_get_sync failure
    iio: mma8452: Add missed iio_device_unregister() call in mma8452_probe()
    iio: magnetometer: ak8974: Fix runtime PM imbalance on error
    iio:humidity:hdc100x Fix alignment and data leak issues
    iio:magnetometer:ak8974: Fix alignment and data leak issues
  * arm64/alternatives: don't patch up internal branches
      arch/arm64/kernel/alternative.c
    i2c: eg20t: Load module automatically if ID matches
    gfs2: read-only mounts should grab the sd_freeze_gl glock
    tpm_tis: extra chip->ops check on error path in tpm_tis_core_init
  * arm64/alternatives: use subsections for replacement sequences
      arch/arm64/include/asm/alternative.h
      arch/arm64/kernel/vmlinux.lds.S
    m68k: mm: fix node memblock init
    m68k: nommu: register start of the memory with memblock
    drm/exynos: fix ref count leak in mic_pre_enable
    drm/msm: fix potential memleak in error branch
  * vlan: consolidate VLAN parsing code and limit max parsing depth
      include/linux/if_vlan.h
  * sched: consistently handle layer3 header accesses in the presence of VLANs
      include/linux/if_vlan.h
      include/net/inet_ecn.h
      include/net/pkt_sched.h
      net/core/filter.c
      net/sched/act_skbedit.c
      net/sched/cls_api.c
      net/sched/cls_flow.c
      net/sched/em_meta.c
  * cgroup: Fix sock_cgroup_data on big-endian.
      include/linux/cgroup-defs.h
  * cgroup: fix cgroup_sk_alloc() for sk_clone_lock()
      include/linux/cgroup-defs.h
      include/linux/cgroup.h
      kernel/cgroup/cgroup.c
      net/core/sock.c
  * tcp: md5: allow changing MD5 keys in all socket states
      net/ipv4/tcp.c
  * tcp: md5: refine tcp_md5_do_add()/tcp_md5_hash_key() barriers
      net/ipv4/tcp.c
      net/ipv4/tcp_ipv4.c
  * tcp: md5: do not send silly options in SYNCOOKIES
      net/ipv4/tcp_output.c
  * tcp: md5: add missing memory barriers in tcp_md5_do_add()/tcp_md5_hash_key()
      net/ipv4/tcp.c
      net/ipv4/tcp_ipv4.c
  * tcp: make sure listeners don't initialize congestion-control state
      net/ipv4/tcp.c
      net/ipv4/tcp_cong.c
  * tcp: fix SO_RCVLOWAT possible hangs under high mem pressure
      net/ipv4/tcp_input.c
    net: usb: qmi_wwan: add support for Quectel EG95 LTE modem
    net_sched: fix a memory leak in atm_tc_init()
  * net: Added pointer check for dst->ops->neigh_lookup in dst_neigh_lookup_skb
      include/net/dst.h
    llc: make sure applications use ARPHRD_ETHER
  * l2tp: remove skb_dst_set() from l2tp_xmit_skb()
      net/l2tp/l2tp_core.c
  * ipv4: fill fl4_icmp_{type,code} in ping_v4_sendmsg
      net/ipv4/ping.c
  * genetlink: remove genl_bind
      include/net/genetlink.h
      net/netlink/genetlink.c
  * net: rmnet: fix lower interface leak
      drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
    perf: Make perf able to build with latest libbfd
  * UPSTREAM: media: v4l2-ctrl: Add H264 profile and levels
      drivers/media/v4l2-core/v4l2-ctrls.c
      include/uapi/linux/v4l2-controls.h
  * UPSTREAM: media: v4l2-ctrl: Add control for h.264 chroma qp offset
      drivers/media/v4l2-core/v4l2-ctrls.c
      include/uapi/linux/v4l2-controls.h
  * ANDROID: GKI: ASoC: compress: revert some code to avoid race condition
      sound/core/compress_offload.c
    ANDROID: GKI: Update the ABI xml representation.
  * ANDROID: GKI: kernel: tick-sched: Add an API for wakeup callbacks
      include/linux/tick.h
      kernel/time/tick-sched.c
  * ANDROID: ASoC: Compress: Check and set pcm_new driver op
      sound/soc/soc-compress.c
    Revert "ANDROID: GKI: arm64: gki_defconfig: Disable CONFIG_ARM64_TAGGED_ADDR_ABI"
    ANDROID: arm64: configs: enabe CONFIG_TMPFS
  * Revert "ALSA: compress: fix partial_drain completion state"
      include/sound/compress_driver.h
      sound/core/compress_offload.c
    Merge 4.19.133 into android-4.19-stable
    ANDROID: GKI: enable CONFIG_EXT4_FS_POSIX_ACL.
    ANDROID: GKI: set CONFIG_STATIC_USERMODEHELPER_PATH
Linux 4.19.133
    s390/mm: fix huge pte soft dirty copying
    ARC: elf: use right ELF_ARCH
    ARC: entry: fix potential EFA clobber when TIF_SYSCALL_TRACE
  * dm: use noio when sending kobject event
      drivers/md/dm.c
    drm/radeon: fix double free
    btrfs: fix fatal extent_buffer readahead vs releasepage race
    Revert "ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb"
  * bpf: Check correct cred for CAP_SYSLOG in bpf_dump_raw_ok()
      include/linux/filter.h
      kernel/bpf/syscall.c
      net/core/sysctl_net_core.c
    kprobes: Do not expose probe addresses to non-CAP_SYSLOG
  * module: Do not expose section addresses to non-CAP_SYSLOG
      kernel/module.c
  * module: Refactor section attr into bin attribute
      kernel/module.c
  * kernel: module: Use struct_size() helper
      kernel/module.c
  * kallsyms: Refactor kallsyms_show_value() to take cred
      include/linux/filter.h
      include/linux/kallsyms.h
      kernel/kallsyms.c
      kernel/module.c
    KVM: x86: Mark CR4.TSD as being possibly owned by the guest
    KVM: x86: Inject #GP if guest attempts to toggle CR4.LA57 in 64-bit mode
    KVM: x86: bit 8 of non-leaf PDPEs is not reserved
    KVM: arm64: Stop clobbering x0 for HVC_SOFT_RESTART
  * KVM: arm64: Fix definition of PAGE_HYP_DEVICE
      arch/arm64/include/asm/pgtable-prot.h
  * ALSA: usb-audio: add quirk for MacroSilicon MS2109
      sound/usb/quirks-table.h
    ALSA: hda - let hs_mic be picked ahead of hp_mic
    ALSA: opl3: fix infoleak in opl3
    mlxsw: spectrum_router: Remove inappropriate usage of WARN_ON()
    net: macb: mark device wake capable when "magic-packet" property present
    bnxt_en: fix NULL dereference in case SR-IOV configuration fails
    cxgb4: fix all-mask IP address comparison
    nbd: Fix memory leak in nbd_add_socket
    arm64: kgdb: Fix single-step exception handling oops
  * ALSA: compress: fix partial_drain completion state
      include/sound/compress_driver.h
      sound/core/compress_offload.c
    net: hns3: fix use-after-free when doing self test
    smsc95xx: avoid memory leak in smsc95xx_bind
    smsc95xx: check return value of smsc95xx_reset
    net: cxgb4: fix return error value in t4_prep_fw
    drm/mediatek: Check plane visibility in atomic_update
  * net: qrtr: Fix an out of bounds read qrtr_endpoint_post()
      net/qrtr/qrtr.c
    x86/entry: Increase entry_stack size to a full page
    nvme-rdma: assign completion vector correctly
    block: release bip in a right way in error path
    usb: dwc3: pci: Fix reference count leak in dwc3_pci_resume_work
    scsi: mptscsih: Fix read sense data size
    ARM: imx6: add missing put_device() call in imx6q_suspend_init()
    cifs: update ctime and mtime during truncate
    s390/kasan: fix early pgm check handler execution
  * drm: panel-orientation-quirks: Use generic orientation-data for Acer S1003
      drivers/gpu/drm/drm_panel_orientation_quirks.c
  * drm: panel-orientation-quirks: Add quirk for Asus T101HA panel
      drivers/gpu/drm/drm_panel_orientation_quirks.c
    i40e: protect ring accesses with READ- and WRITE_ONCE
    ixgbe: protect ring accesses with READ- and WRITE_ONCE
  * spi: spidev: fix a potential use-after-free in spidev_release()
      drivers/spi/spidev.c
  * spi: spidev: fix a race between spidev_release and spidev_remove
      drivers/spi/spidev.c
    gpu: host1x: Detach driver on unregister
    drm/tegra: hub: Do not enable orphaned window group
    ARM: dts: omap4-droid4: Fix spi configuration and increase rate
  * regmap: fix alignment issue
      drivers/base/regmap/regmap.c
    spi: spi-fsl-dspi: Fix external abort on interrupt in resume or exit paths
    spi: spi-fsl-dspi: use IRQF_SHARED mode to request IRQ
    spi: spi-fsl-dspi: Fix lockup if device is removed during SPI transfer
    spi: spi-fsl-dspi: Adding shutdown hook
    KVM: s390: reduce number of IO pins to 1
    ANDROID: GKI: update abi based on padding fields being added
  * ANDROID: GKI: USB: Gadget: add Android ABI padding to struct usb_gadget
      include/linux/usb/gadget.h
  * ANDROID: GKI: sound/usb/card.h: add Android ABI padding to struct snd_usb_endpoint
      sound/usb/card.h
  * ANDROID: fscrypt: fix DUN contiguity with inline encryption + IV_INO_LBLK_32 policies
      fs/crypto/bio.c
      fs/crypto/inline_crypt.c
  * ANDROID: f2fs: add back compress inode check
      fs/f2fs/f2fs.h
    Merge 4.19.132 into android-4.19-stable
Linux 4.19.132
  * efi: Make it possible to disable efivar_ssdt entirely
      drivers/firmware/efi/Kconfig
    dm zoned: assign max_io_len correctly
  * irqchip/gic: Atomically update affinity
      drivers/irqchip/irq-gic.c
    MIPS: Add missing EHB in mtc0 -> mfc0 sequence for DSPen
    cifs: Fix the target file was deleted when rename failed.
    SMB3: Honor lease disabling for multiuser mounts
    SMB3: Honor persistent/resilient handle flags for multiuser mounts
    SMB3: Honor 'seal' flag for multiuser mounts
  * Revert "ALSA: usb-audio: Improve frames size computation"
      sound/usb/card.h
      sound/usb/endpoint.c
      sound/usb/endpoint.h
      sound/usb/pcm.c
    nfsd: apply umask on fs without ACL support
    i2c: mlxcpld: check correct size of maximum RECV_LEN packet
    i2c: algo-pca: Add 0x78 as SCL stuck low status for PCA9665
    nvme: fix a crash in nvme_mpath_add_disk
    SMB3: Honor 'posix' flag for multiuser mounts
    virtio-blk: free vblk-vqs in error path of virtblk_probe()
    drm: sun4i: hdmi: Remove extra HPD polling
    hwmon: (acpi_power_meter) Fix potential memory leak in acpi_power_meter_add()
    hwmon: (max6697) Make sure the OVERT mask is set correctly
    cxgb4: fix SGE queue dump destination buffer context
    cxgb4: use correct type for all-mask IP address comparison
    cxgb4: parse TC-U32 key values and masks natively
    cxgb4: use unaligned conversion for fetching timestamp
    drm/msm/dpu: fix error return code in dpu_encoder_init
  * crypto: af_alg - fix use-after-free in af_alg_accept() due to bh_lock_sock()
      include/crypto/if_alg.h
    kgdb: Avoid suspicious RCU usage warning
    nvme-multipath: fix deadlock between ana_work and scan_work
    nvme-multipath: set bdi capabilities once
    s390/debug: avoid kernel warning on too large number of pages
    usb: usbtest: fix missing kfree(dev->buf) in usbtest_disconnect
  * mm/slub: fix stack overruns with SLUB_STATS
      mm/slub.c
  * mm/slub.c: fix corrupted freechain in deactivate_slab()
      mm/slub.c
    usbnet: smsc95xx: Fix use-after-free after removal
    EDAC/amd64: Read back the scrub rate PCI register on F15h
  * mm: fix swap cache node allocation mask
      mm/swap_state.c
    btrfs: fix a block group ref counter leak after failure to remove block group
    ANDROID: Update ABI representation for libabigail update
    ANDROID: Update the ABI representation
    ANDROID: Update the ABI xml representation
  * ANDROID: GKI: fix ABI diffs caused by GPU heap and pool vmstat additions
      include/linux/mmzone.h
      mm/vmstat.c
  * ANDROID: sched: consider stune boost margin when computing energy
      kernel/sched/cpufreq_schedutil.c
      kernel/sched/fair.c
      kernel/sched/sched.h
      kernel/sched/tune.c
      kernel/sched/tune.h
    ANDROID: GKI: move abi files to android/
    ANDROID: GKI: drop unneeded "_whitelist" off of symbol filenames
  * UPSTREAM: binder: fix null deref of proc->context
      drivers/android/binder.c
  * ANDROID: cpufreq: schedutil: maintain raw cache when next_f is not changed
      kernel/sched/cpufreq_schedutil.c
  * UPSTREAM: net: bpf: Make bpf_ktime_get_ns() available to non GPL programs
      kernel/bpf/helpers.c
    UPSTREAM: usb: musb: mediatek: add reset FADDR to zero in reset interrupt handle
  * ANDROID: GKI: scripts: Makefile: update the lz4 command (#2)
      scripts/Makefile.lib
    ANDROID: Update the ABI xml representation
  * Revert "drm/dsi: Fix byte order of DCS set/get brightness"
      drivers/gpu/drm/drm_mipi_dsi.c
      include/drm/drm_mipi_dsi.h
    Merge 4.19.131 into android-4.19-stable
Linux 4.19.131
    Revert "tty: hvc: Fix data abort due to race in hvc_open"
    xfs: add agf freeblocks verify in xfs_agf_verify
    dm writecache: add cond_resched to loop in persistent_memory_claim()
    dm writecache: correct uncommitted_block when discarding uncommitted entry
    NFSv4 fix CLOSE not waiting for direct IO compeletion
    pNFS/flexfiles: Fix list corruption if the mirror count changes
    SUNRPC: Properly set the @subbuf parameter of xdr_buf_subsegment()
    sunrpc: fixed rollback in rpc_gssd_dummy_populate()
    Staging: rtl8723bs: prevent buffer overflow in update_sta_support_rate()
    drm/radeon: fix fb_div check in ni_init_smc_spll_table()
  * drm: rcar-du: Fix build error
      drivers/gpu/drm/rcar-du/Kconfig
  * ring-buffer: Zero out time extend if it is nested and not absolute
      kernel/trace/ring_buffer.c
  * tracing: Fix event trigger to accept redundant spaces
      kernel/trace/trace_events_trigger.c
  * arm64: perf: Report the PC value in REGS_ABI_32 mode
      arch/arm64/kernel/perf_regs.c
    ocfs2: fix panic on nfs server over ocfs2
    ocfs2: fix value of OCFS2_INVALID_SLOT
    ocfs2: load global_inode_alloc
    ocfs2: avoid inode removal while nfsd is accessing it
  * mm/slab: use memzero_explicit() in kzfree()
      mm/slab_common.c
    btrfs: fix failure of RWF_NOWAIT write into prealloc extent beyond eof
    btrfs: fix data block group relocation failure due to concurrent scrub
    x86/asm/64: Align start of __clear_user() loop to 16-bytes
    KVM: nVMX: Plumb L2 GPA through to PML emulation
    KVM: X86: Fix MSR range of APIC registers in X2APIC mode
    erofs: fix partially uninitialized misuse in z_erofs_onlinepage_fixup
    ACPI: sysfs: Fix pm_profile_attr type
    ALSA: hda/realtek - Add quirk for MSI GE63 laptop
    ALSA: hda: Add NVIDIA codec IDs 9a & 9d through a0 to patch table
    RISC-V: Don't allow write+exec only page mapping request in mmap
  * blktrace: break out of blktrace setup on concurrent calls
      kernel/trace/blktrace.c
  * kbuild: improve cc-option to clean up all temporary files
      scripts/Kbuild.include
  * arm64: sve: Fix build failure when ARM64_SVE=y and SYSCTL=n
      arch/arm64/kernel/fpsimd.c
    s390/vdso: fix vDSO clock_getres()
    s390/ptrace: fix setting syscall number
    net: alx: fix race condition in alx_remove
    ibmvnic: Harden device login requests
    hwrng: ks-sa - Fix runtime PM imbalance on error
    riscv/atomic: Fix sign extension for RV64I
    drm/amd/display: Use kfree() to free rgb_user in calculate_user_regamma_ramp()
    ata/libata: Fix usage of page address by page_address in ata_scsi_mode_select_xlat function
    sata_rcar: handle pm_runtime_get_sync failure cases
  * sched/core: Fix PI boosting between RT and DEADLINE tasks
      kernel/sched/core.c
  * sched/deadline: Initialize ->dl_boosted
      kernel/sched/deadline.c
  * i2c: core: check returned size of emulated smbus block read
      drivers/i2c/i2c-core-smbus.c
    i2c: fsi: Fix the port number field in status register
    net: bcmgenet: use hardware padding of runt frames
    netfilter: ipset: fix unaligned atomic access
    usb: gadget: udc: Potential Oops in error handling code
    ARM: imx5: add missing put_device() call in imx_suspend_alloc_ocram()
    cxgb4: move handling L2T ARP failures to caller
    net: qed: fix excessive QM ILT lines consumption
    net: qed: fix NVMe login fails over VFs
  * net: qed: fix left elements count calculation
      include/linux/qed/qed_chain.h
    RDMA/mad: Fix possible memory leak in ib_mad_post_receive_mads()
    ASoC: rockchip: Fix a reference count leak.
    RDMA/cma: Protect bind_list and listen_list while finding matching cm id
    RDMA/qedr: Fix KASAN: use-after-free in ucma_event_handler+0x532
    rxrpc: Fix handling of rwind from an ACK packet
    ARM: dts: NSP: Correct FA2 mailbox node
  * regmap: Fix memory leak from regmap_register_patch
      drivers/base/regmap/regmap.c
    x86/resctrl: Fix a NULL vs IS_ERR() static checker warning in rdt_cdp_peer_get()
    ARM: dts: Fix duovero smsc interrupt for suspend
    ASoC: fsl_ssi: Fix bclk calculation for mono channel
    regualtor: pfuze100: correct sw1a/sw2 on pfuze3000
    efi/esrt: Fix reference count leak in esre_create_sysfs_entry.
    ASoC: q6asm: handle EOS correctly
  * xfrm: Fix double ESP trailer insertion in IPsec crypto offload.
      include/net/xfrm.h
      net/xfrm/xfrm_device.c
    cifs/smb3: Fix data inconsistent when zero file range
    cifs/smb3: Fix data inconsistent when punch hole
    IB/mad: Fix use after free when destroying MAD agent
  * loop: replace kill_bdev with invalidate_bdev
      drivers/block/loop.c
    cdc-acm: Add DISABLE_ECHO quirk for Microchip/SMSC chip
  * xhci: Return if xHCI doesn't support LPM
      drivers/usb/host/xhci.c
  * xhci: Fix enumeration issue when setting max packet size for FS devices.
      drivers/usb/host/xhci.c
  * xhci: Fix incorrect EP_STATE_MASK
      drivers/usb/host/xhci.h
    scsi: zfcp: Fix panic on ERP timeout for previously dismissed ERP action
  * ALSA: usb-audio: Fix OOB access of mixer element list
      sound/usb/mixer.c
      sound/usb/mixer.h
      sound/usb/mixer_quirks.c
  * ALSA: usb-audio: add quirk for Samsung USBC Headset (AKG)
      sound/usb/quirks.c
  * ALSA: usb-audio: add quirk for Denon DCD-1500RE
      sound/usb/quirks.c
    usb: typec: tcpci_rt1711h: avoid screaming irq causing boot hangs
    usb: host: ehci-exynos: Fix error check in exynos_ehci_probe()
  * xhci: Poll for U0 after disabling USB2 LPM
      drivers/usb/host/xhci.c
    usb: host: xhci-mtk: avoid runtime suspend when removing hcd
  * USB: ehci: reopen solution for Synopsys HC bug
      drivers/usb/host/ehci-pci.c
  * usb: add USB_QUIRK_DELAY_INIT for Logitech C922
      drivers/usb/core/quirks.c
    usb: dwc2: Postponed gadget registration to the udc class driver
    USB: ohci-sm501: Add missed iounmap() in remove
  * net: core: reduce recursion limit value
      include/linux/netdevice.h
  * net: Do not clear the sock TX queue in sk_set_socket()
      include/net/sock.h
      net/core/sock.c
  * net: Fix the arp error in some cases
      net/ipv4/fib_semantics.c
    sch_cake: don't call diffserv parsing code when it is not needed
  * tcp_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT
      net/ipv4/tcp_cubic.c
    sch_cake: fix a few style nits
    sch_cake: don't try to reallocate or unshare skb unconditionally
  * ip_tunnel: fix use-after-free in ip_tunnel_lookup()
      net/ipv4/ip_tunnel.c
  * net: phy: Check harder for errors in get_phy_id()
      drivers/net/phy/phy_device.c
    ip6_gre: fix use-after-free in ip6gre_tunnel_lookup()
    tg3: driver sleeps indefinitely when EEH errors exceed eeh_max_freezes
  * tcp: grow window for OOO packets only for SACK flows
      net/ipv4/tcp_input.c
  * tcp: don't ignore ECN CWR on pure ACK
      net/ipv4/tcp_input.c
  * sctp: Don't advertise IPv4 addresses if ipv6only is set on the socket
      include/net/sctp/constants.h
      net/sctp/associola.c
      net/sctp/bind_addr.c
      net/sctp/protocol.c
    rxrpc: Fix notification call on completion of discarded calls
    rocker: fix incorrect error handling in dma_rings_init
  * net: usb: ax88179_178a: fix packet alignment padding
      drivers/net/usb/ax88179_178a.c
  * net: increment xmit_recursion level in dev_direct_xmit()
      net/core/dev.c
      net/core/sock.c
  * net: use correct this_cpu primitive in dev_recursion_level
      include/linux/netdevice.h
  * net: place xmit recursion in softnet data
      include/linux/netdevice.h
      net/core/dev.c
      net/core/filter.c
  * net: fix memleak in register_netdevice()
      net/core/dev.c
  * net: bridge: enfore alignment for ethernet address
      net/bridge/br_private.h
  * mld: fix memory leak in ipv6_mc_destroy_dev()
      net/ipv6/mcast.c
    ibmveth: Fix max MTU limit
    apparmor: don't try to replace stale label in ptraceme check
    ALSA: hda/realtek - Enable micmute LED on and HP system
    ALSA: hda/realtek: Enable mute LED on an HP system
    ALSA: hda/realtek - Enable the headset of ASUS B9450FA with ALC294
    fix a braino in "sparc32: fix register window handling in genregs32_[gs]et()"
    i2c: tegra: Fix Maximum transfer size
    i2c: tegra: Add missing kerneldoc for some fields
    i2c: tegra: Cleanup kerneldoc comments
    EDAC/amd64: Add Family 17h Model 30h PCI IDs
  * net: sched: export __netdev_watchdog_up()
      net/sched/sch_generic.c
    net: bcmgenet: remove HFB_CTRL access
    mtd: rawnand: marvell: Fix the condition on a return code
    fanotify: fix ignore mask logic for events on child and on dir
    block/bio-integrity: don't free 'buf' if bio_integrity_add_page() failed
  * net: be more gentle about silly gso requests coming from user
      include/linux/virtio_net.h
  * ANDROID: lib/vdso: do not update timespec if clock_getres() fails
      lib/vdso/gettimeofday.c
  * Revert "ANDROID: fscrypt: add key removal notifier chain"
      fs/crypto/keyring.c
      include/linux/fscrypt.h
    ANDROID: update the ABI xml and qcom whitelist
  * ANDROID: fs: export vfs_{read|write}
      fs/read_write.c
    ANDROID: GKI: update abi definitions now that sdcardfs is gone
  * Revert "ANDROID: sdcardfs: Enable modular sdcardfs"
      fs/fs_struct.c
      fs/read_write.c
      security/security.c
  * Revert "ANDROID: vfs: Add setattr2 for filesystems with per mount permissions"
      fs/attr.c
      fs/coredump.c
      fs/inode.c
      fs/namei.c
      fs/open.c
      fs/utimes.c
      include/linux/fs.h
  * Revert "ANDROID: vfs: fix export symbol type"
      fs/attr.c
  * Revert "ANDROID: vfs: Add permission2 for filesystems with per mount permissions"
      fs/attr.c
      fs/exec.c
      fs/namei.c
      fs/notify/inotify/inotify_user.c
      fs/open.c
      fs/xattr.c
      include/linux/fs.h
      include/linux/namei.h
  * Revert "ANDROID: vfs: fix export symbol types"
      fs/namei.c
  * Revert "ANDROID: vfs: add d_canonical_path for stacked filesystem support"
      fs/notify/inotify/inotify_user.c
      include/linux/dcache.h
      include/linux/fsnotify.h
  * Revert "ANDROID: fs: Restore vfs_path_lookup() export"
      fs/internal.h
      include/linux/namei.h
  * ANDROID: sdcardfs: remove sdcardfs from system
      fs/Kconfig
      fs/Makefile
  * Revert "ALSA: usb-audio: Improve frames size computation"
      sound/usb/card.h
      sound/usb/endpoint.c
      sound/usb/endpoint.h
      sound/usb/pcm.c
    Merge 4.19.130 into android-4.19-stable
  * ANDROID: Makefile: append BUILD_NUMBER to version string when defined
      Makefile
    ANDROID: GKI: Update ABI for incremental fs
    ANDROID: GKI: Update cuttlefish whitelist
    ANDROID: GKI: Disable INCREMENTAL_FS on x86 too
  * ANDROID: cpufreq: schedutil: drop cache when update skipped due to rate limit
      kernel/sched/cpufreq_schedutil.c
Linux 4.19.130
    KVM: x86/mmu: Set mmio_value to '0' if reserved #PF can't be generated
    kvm: x86: Fix reserved bits related calculation errors caused by MKTME
    kvm: x86: Move kvm_set_mmio_spte_mask() from x86.c to mmu.c
  * md: add feature flag MD_FEATURE_RAID0_LAYOUT
      include/uapi/linux/raid/md_p.h
    Revert "dpaa_eth: fix usage as DSA master, try 3"
  * net: core: device_rename: Use rwsem instead of a seqcount
      net/core/dev.c
  * sched/rt, net: Use CONFIG_PREEMPTION.patch
      net/core/dev.c
  * kretprobe: Prevent triggering kretprobe from within kprobe_flush_task
      include/linux/kprobes.h
    net: octeon: mgmt: Repair filling of RX ring
    e1000e: Do not wake up the system via WOL if device wakeup is disabled
    kprobes: Fix to protect kick_kprobe_optimizer() by kprobe_mutex
  * crypto: algboss - don't wait during notifier callback
      crypto/algboss.c
    crypto: algif_skcipher - Cap recv SG list at ctx->used
    drm/i915/icl+: Fix hotplug interrupt disabling after storm detection
    drm/i915: Whitelist context-local timestamp in the gen9 cmdparser
    s390: fix syscall_get_error for compat processes
    mtd: rawnand: tmio: Fix the probe error path
    mtd: rawnand: mtk: Fix the probe error path
    mtd: rawnand: plat_nand: Fix the probe error path
    mtd: rawnand: socrates: Fix the probe error path
    mtd: rawnand: oxnas: Fix the probe error path
    mtd: rawnand: oxnas: Add of_node_put()
    mtd: rawnand: orion: Fix the probe error path
    mtd: rawnand: xway: Fix the probe error path
    mtd: rawnand: sharpsl: Fix the probe error path
    mtd: rawnand: diskonchip: Fix the probe error path
  * mtd: rawnand: Pass a nand_chip object to nand_release()
      include/linux/mtd/rawnand.h
  * mtd: rawnand: Pass a nand_chip object to nand_scan()
      include/linux/mtd/rawnand.h
  * block: nr_sects_write(): Disable preemption on seqcount write
      include/linux/genhd.h
    x86/boot/compressed: Relax sed symbol type regex for LLVM ld.lld
  * drm/dp_mst: Increase ACT retry timeout to 3s
      drivers/gpu/drm/drm_dp_mst_topology.c
  * ext4: avoid race conditions when remounting with options that change dax
      fs/ext4/super.c
  * ext4: fix partial cluster initialization when splitting extent
      fs/ext4/extents.c
  * selinux: fix double free
      security/selinux/ss/services.c
    drm/amdgpu: Replace invalid device ID with a valid device ID
    drm/qxl: Use correct notify port address when creating cursor ring
  * drm/dp_mst: Reformat drm_dp_check_act_status() a bit
      drivers/gpu/drm/drm_dp_mst_topology.c
  * drm: encoder_slave: fix refcouting error for modules
      drivers/gpu/drm/drm_encoder_slave.c
  * libata: Use per port sync for detach
      include/linux/libata.h
  * arm64: hw_breakpoint: Don't invoke overflow handler on uaccess watchpoints
      arch/arm64/kernel/hw_breakpoint.c
  * block: Fix use-after-free in blkdev_get()
      fs/block_dev.c
    afs: afs_write_end() should change i_size under the right lock
    afs: Fix non-setting of mtime when writing into mmap
    bcache: fix potential deadlock problem in btree_gc_coalesce
  * ext4: stop overwrite the errcode in ext4_setup_super
      fs/ext4/super.c
    perf report: Fix NULL pointer dereference in hists__fprintf_nr_sample_events()
  * usb/ehci-platform: Set PM runtime as active on resume
      drivers/usb/host/ehci-platform.c
  * usb: host: ehci-platform: add a quirk to avoid stuck
      drivers/usb/host/ehci-platform.c
      include/linux/usb/ehci_def.h
  * usb/xhci-plat: Set PM runtime as active on resume
      drivers/usb/host/xhci-plat.c
    xdp: Fix xsk_generic_xmit errno
  * net/filter: Permit reading NET in load_bytes_relative when MAC not set
      net/core/filter.c
    x86/idt: Keep spurious entries unset in system_vectors
    scsi: acornscsi: Fix an error handling path in acornscsi_probe()
    drm/sun4i: hdmi ddc clk: Fix size of m divider
    ASoC: rt5645: Add platform-data for Asus T101HA
    ASoC: Intel: bytcr_rt5640: Add quirk for Toshiba Encore WT10-A tablet
  * ASoC: core: only convert non DPCM link to DPCM link
      sound/soc/soc-core.c
    afs: Fix memory leak in afs_put_sysnames()
    selftests/net: in timestamping, strncpy needs to preserve null byte
    drivers/perf: hisi: Fix wrong value for all counters enable
    NTB: ntb_test: Fix bug when counting remote files
    NTB: perf: Fix race condition when run with ntb_test
    NTB: perf: Fix support for hardware that doesn't have port numbers
    NTB: perf: Don't require one more memory window than number of peers
    NTB: Revert the change to use the NTB device dev for DMA allocations
    NTB: ntb_tool: reading the link file should not end in a NULL byte
    ntb_tool: pass correct struct device to dma_alloc_coherent
    ntb_perf: pass correct struct device to dma_alloc_coherent
    gfs2: fix use-after-free on transaction ail lists
  * blktrace: fix endianness for blk_log_remap()
      kernel/trace/blktrace.c
  * blktrace: fix endianness in get_pdu_int()
      kernel/trace/blktrace.c
  * blktrace: use errno instead of bi_status
      kernel/trace/blktrace.c
    selftests/vm/pkeys: fix alloc_random_pkey() to make it really random
  * elfnote: mark all .note sections SHF_ALLOC
      include/linux/elfnote.h
  * include/linux/bitops.h: avoid clang shift-count-overflow warnings
      include/linux/bitops.h
  * lib/zlib: remove outdated and incorrect pre-increment optimization
      lib/zlib_inflate/inffast.c
    geneve: change from tx_error to tx_dropped on missing metadata
    crypto: omap-sham - add proper load balancing support for multicore
    pinctrl: freescale: imx: Fix an error handling path in 'imx_pinctrl_probe()'
    pinctrl: imxl: Fix an error handling path in 'imx1_pinctrl_core_probe()'
  * scsi: ufs: Don't update urgent bkops level when toggling auto bkops
      drivers/scsi/ufs/ufshcd.c
    scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj
    gfs2: Allow lock_nolock mount to specify jid=X
    openrisc: Fix issue with argument clobbering for clone/fork
    rxrpc: Adjust /proc/net/rxrpc/calls to display call->debug_id not user_ID
    vfio/mdev: Fix reference count leak in add_mdev_supported_type
    ASoC: fsl_asrc_dma: Fix dma_chan leak when config DMA channel failed
    extcon: adc-jack: Fix an error handling path in 'adc_jack_probe()'
    powerpc/4xx: Don't unmap NULL mbase
  * of: Fix a refcounting bug in __of_attach_node_sysfs()
      drivers/of/kobj.c
    NFSv4.1 fix rpc_call_done assignment for BIND_CONN_TO_SESSION
    net: sunrpc: Fix off-by-one issues in 'rpc_ntop6'
    clk: sprd: return correct type of value for _sprd_pll_recalc_rate
    KVM: PPC: Book3S HV: Ignore kmemleak false positives
  * scsi: ufs-qcom: Fix scheduling while atomic issue
      drivers/scsi/ufs/ufs-qcom.c
    clk: bcm2835: Fix return type of bcm2835_register_gate
    scsi: target: tcmu: Fix a use after free in tcmu_check_expired_queue_cmd()
    ASoC: fix incomplete error-handling in img_i2s_in_probe.
    x86/apic: Make TSC deadline timer detection message visible
    RDMA/iw_cxgb4: cleanup device debugfs entries on ULD remove
  * usb: gadget: Fix issue with config_ep_by_speed function
      drivers/usb/gadget/composite.c
      include/linux/usb/composite.h
    usb: gadget: fix potential double-free in m66592_probe.
    usb: gadget: lpc32xx_udc: don't dereference ep pointer before null check
    USB: gadget: udc: s3c2410_udc: Remove pointless NULL check in s3c2410_udc_nuke
    usb: dwc2: gadget: move gadget resume after the core is in L0 state
    watchdog: da9062: No need to ping manually before setting timeout
    IB/cma: Fix ports memory leak in cma_configfs
    PCI: dwc: Fix inner MSI IRQ domain registration
    PCI/PTM: Inherit Switch Downstream Port PTM settings from Upstream Port
    dm zoned: return NULL if dmz_get_zone_for_reclaim() fails to find a zone
    powerpc/64s/pgtable: fix an undefined behaviour
    arm64: tegra: Fix ethernet phy-mode for Jetson Xavier
    scsi: target: tcmu: Userspace must not complete queued commands
    clk: samsung: exynos5433: Add IGNORE_UNUSED flag to sclk_i2s1
    fpga: dfl: afu: Corrected error handling levels
    tty: n_gsm: Fix bogus i++ in gsm_data_kick
    USB: host: ehci-mxc: Add error handling in ehci_mxc_drv_probe()
    ASoC: Intel: bytcr_rt5640: Add quirk for Toshiba Encore WT8-A tablet
    drm/msm/mdp5: Fix mdp5_init error path for failed mdp5_kms allocation
  * usb/ohci-platform: Fix a warning when hibernating
      drivers/usb/host/ohci-platform.c
    vfio-pci: Mask cap zero
    powerpc/ps3: Fix kexec shutdown hang
    powerpc/pseries/ras: Fix FWNMI_VALID off by one
    ipmi: use vzalloc instead of kmalloc for user creation
  * HID: Add quirks for Trust Panora Graphic Tablet
      drivers/hid/hid-ids.h
      drivers/hid/hid-quirks.c
    tty: n_gsm: Fix waking up upper tty layer when room available
    tty: n_gsm: Fix SOF skipping
    powerpc/64: Don't initialise init_task->thread.regs
  * PCI: Fix pci_register_host_bridge() device_register() error handling
      drivers/pci/probe.c
    clk: ti: composite: fix memory leak
    dlm: remove BUG() before panic()
    pinctrl: rockchip: fix memleak in rockchip_dt_node_to_map
    scsi: mpt3sas: Fix double free warnings
    power: supply: smb347-charger: IRQSTAT_D is volatile
    power: supply: lp8788: Fix an error handling path in 'lp8788_charger_probe()'
    scsi: qla2xxx: Fix warning after FC target reset
    PCI/ASPM: Allow ASPM on links to PCIe-to-PCI/PCI-X Bridges
    PCI: rcar: Fix incorrect programming of OB windows
  * drivers: base: Fix NULL pointer exception in __platform_driver_probe() if a driver developer is foolish
      drivers/base/platform.c
    serial: amba-pl011: Make sure we initialize the port.lock spinlock
    i2c: pxa: fix i2c_pxa_scream_blue_murder() debug output
    PCI: v3-semi: Fix a memory leak in v3_pci_probe() error handling paths
    staging: sm750fb: add missing case while setting FB_VISUAL
  * usb: dwc3: gadget: Properly handle failed kick_transfer
      drivers/usb/dwc3/gadget.c
    thermal/drivers/ti-soc-thermal: Avoid dereferencing ERR_PTR
    slimbus: ngd: get drvdata from correct device
    tty: hvc: Fix data abort due to race in hvc_open
    s390/qdio: put thinint indicator after early error
  * ALSA: usb-audio: Fix racy list management in output queue
      sound/usb/endpoint.c
  * ALSA: usb-audio: Improve frames size computation
      sound/usb/card.h
      sound/usb/endpoint.c
      sound/usb/endpoint.h
      sound/usb/pcm.c
    staging: gasket: Fix mapping refcnt leak when register/store fails
    staging: gasket: Fix mapping refcnt leak when put attribute fails
  * firmware: qcom_scm: fix bogous abuse of dma-direct internals
      drivers/firmware/qcom_scm.c
    pinctrl: rza1: Fix wrong array assignment of rza1l_swio_entries
    scsi: qedf: Fix crash when MFW calls for protocol stats while function is still probing
    gpio: dwapb: Append MODULE_ALIAS for platform driver
    ARM: dts: sun8i-h2-plus-bananapi-m2-zero: Fix led polarity
    scsi: qedi: Do not flush offload work if ARP not resolved
    arm64: dts: mt8173: fix unit name warnings
    staging: greybus: fix a missing-check bug in gb_lights_light_config()
    x86/purgatory: Disable various profiling and sanitizing options
    apparmor: fix nnp subset test for unconfined
    scsi: ibmvscsi: Don't send host info in adapter info MAD after LPM
    scsi: sr: Fix sr_probe() missing deallocate of device minor
    ASoC: meson: add missing free_irq() in error path
    apparmor: check/put label on apparmor_sk_clone_security()
    apparmor: fix introspection of of task mode for unconfined tasks
  * mksysmap: Fix the mismatch of '.L' symbols in System.map
      scripts/mksysmap
    NTB: Fix the default port and peer numbers for legacy drivers
    NTB: ntb_pingpong: Choose doorbells based on port number
    yam: fix possible memory leak in yam_init_driver
    pwm: img: Call pm_runtime_put() in pm_runtime_get_sync() failed case
    powerpc/crashkernel: Take "mem=" option into account
    PCI: vmd: Filter resource type bits from shadow register
    nfsd: Fix svc_xprt refcnt leak when setup callback client failed
    powerpc/perf/hv-24x7: Fix inconsistent output values incase multiple hv-24x7 events run
    clk: clk-flexgen: fix clock-critical handling
    scsi: lpfc: Fix lpfc_nodelist leak when processing unsolicited event
    mfd: wm8994: Fix driver operation if loaded as modules
    gpio: dwapb: Call acpi_gpiochip_free_interrupts() on GPIO chip de-registration
    m68k/PCI: Fix a memory leak in an error handling path
    RDMA/mlx5: Add init2init as a modify command
    vfio/pci: fix memory leaks in alloc_perm_bits()
    ps3disk: use the default segment boundary
    PCI: aardvark: Don't blindly enable ASPM L0s and don't write to read-only register
    dm mpath: switch paths in dm_blk_ioctl() code path
    serial: 8250: Fix max baud limit in generic 8250 port
    usblp: poison URBs upon disconnect
    clk: samsung: Mark top ISP and CAM clocks on Exynos542x as critical
    i2c: pxa: clear all master action bits in i2c_pxa_stop_message()
  * f2fs: report delalloc reserve as non-free in statfs for project quota
      fs/f2fs/super.c
    iio: bmp280: fix compensation of humidity
    scsi: qla2xxx: Fix issue with adapter's stopping state
  * PCI: Allow pci_resize_resource() for devices on root bus
      drivers/pci/setup-res.c
    ALSA: isa/wavefront: prevent out of bounds write in ioctl
    ALSA: hda/realtek - Introduce polarity for micmute LED GPIO
    scsi: qedi: Check for buffer overflow in qedi_set_path()
    ARM: integrator: Add some Kconfig selections
    ASoC: davinci-mcasp: Fix dma_chan refcnt leak when getting dma type
    backlight: lp855x: Ensure regulators are disabled on probe failure
    clk: qcom: msm8916: Fix the address location of pll->config_reg
    remoteproc: Fix IDR initialisation in rproc_alloc()
    iio: pressure: bmp280: Tolerate IRQ before registering
    i2c: piix4: Detect secondary SMBus controller on AMD AM4 chipsets
    ASoC: tegra: tegra_wm8903: Support nvidia, headset property
    clk: sunxi: Fix incorrect usage of round_down()
  * power: supply: bq24257_charger: Replace depends on REGMAP_I2C with select
      drivers/power/supply/Kconfig
  * ANDROID: ext4: Optimize match for casefolded encrypted dirs
      fs/ext4/ext4.h
      fs/ext4/namei.c
  * ANDROID: ext4: Handle casefolding with encryption
      fs/ext4/dir.c
      fs/ext4/ext4.h
      fs/ext4/hash.c
      fs/ext4/ialloc.c
      fs/ext4/inline.c
      fs/ext4/namei.c
      fs/ext4/super.c
    Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-4.19.y' into android-4.19-stable
  * ANDROID: extcon: Remove redundant EXPORT_SYMBOL_GPL
      include/linux/extcon.h
    ANDROID: update the ABI xml representation
  * ANDROID: GKI: cfg80211: add ABI changes for CONFIG_NL80211_TESTMODE
      include/net/cfg80211.h
      include/net/mac80211.h
    ANDROID: gki_defconfig: x86: Enable KERNEL_LZ4
  * ANDROID: GKI: scripts: Makefile: update the lz4 command
      scripts/Makefile.lib
  * FROMLIST: f2fs: fix use-after-free when accessing bio->bi_crypt_context
      fs/f2fs/data.c
    Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-4.19.y' into android-4.19-stable
  * UPSTREAM: fdt: Update CRC check for rng-seed
      drivers/of/fdt.c
    ANDROID: GKI: Update ABI for incremental fs
    ANDROID: GKI: Update whitelist and defconfig for incfs
    ANDROID: Use depmod from the hermetic toolchain
    Merge 4.19.129 into android-4.19-stable
Linux 4.19.129
    perf symbols: Fix debuginfo search for Ubuntu
    perf probe: Check address correctness by map instead of _etext
    perf probe: Fix to check blacklist address correctly
    perf probe: Do not show the skipped events
    w1: omap-hdq: cleanup to add missing newline for some dev_dbg
    mtd: rawnand: pasemi: Fix the probe error path
    mtd: rawnand: brcmnand: fix hamming oob layout
  * sunrpc: clean up properly in gss_mech_unregister()
      include/linux/sunrpc/gss_api.h
      include/linux/sunrpc/svcauth_gss.h
    sunrpc: svcauth_gss_register_pseudoflavor must reject duplicate registrations.
  * kbuild: force to build vmlinux if CONFIG_MODVERSION=y
      Makefile
    powerpc/64s: Save FSCR to init_task.thread.fscr after feature init
    powerpc/64s: Don't let DT CPU features set FSCR_DSCR
    drivers/macintosh: Fix memleak in windfarm_pm112 driver
    ARM: dts: s5pv210: Set keep-power-in-suspend for SDHCI1 on Aries
    ARM: dts: at91: sama5d2_ptc_ek: fix vbus pin
    ARM: dts: exynos: Fix GPIO polarity for thr GalaxyS3 CM36651 sensor's bus
    ARM: tegra: Correct PL310 Auxiliary Control Register initialization
  * kernel/cpu_pm: Fix uninitted local in cpu_pm
      kernel/cpu_pm.c
    alpha: fix memory barriers so that they conform to the specification
    dm crypt: avoid truncating the logical block size
    sparc64: fix misuses of access_process_vm() in genregs32_[sg]et()
    sparc32: fix register window handling in genregs32_[gs]et()
    gnss: sirf: fix error return code in sirf_probe()
    pinctrl: samsung: Save/restore eint_mask over suspend for EINT_TYPE GPIOs
    pinctrl: samsung: Correct setting of eint wakeup mask on s5pv210
    power: vexpress: add suppress_bind_attrs to true
    igb: Report speed and duplex as unknown when device is runtime suspended
    media: ov5640: fix use of destroyed mutex
    b43_legacy: Fix connection problem with WPA3
    b43: Fix connection problem with WPA3
    b43legacy: Fix case where channel status is corrupted
    Bluetooth: hci_bcm: fix freeing not-requested IRQ
    media: go7007: fix a miss of snd_card_free
    carl9170: remove P2P_GO support
    e1000e: Relax condition to trigger reset for ME workaround
    e1000e: Disable TSO for buffer overrun workaround
  * PCI: Program MPS for RCiEP devices
      drivers/pci/probe.c
    ima: Call ima_calc_boot_aggregate() in ima_eventdigest_init()
    btrfs: fix wrong file range cleanup after an error filling dealloc range
    btrfs: fix error handling when submitting direct I/O bio
  * PCI: Generalize multi-function power dependency device links
      drivers/pci/quirks.c
  * PCI: Unify ACS quirk desired vs provided checking
      drivers/pci/quirks.c
  * PCI: Make ACS quirk implementations more uniform
      drivers/pci/quirks.c
  * serial: 8250_pci: Move Pericom IDs to pci_ids.h
      include/linux/pci_ids.h
  * PCI: Add Loongson vendor ID
      include/linux/pci_ids.h
  * x86/amd_nb: Add Family 19h PCI IDs
      include/linux/pci_ids.h
  * PCI: vmd: Add device id for VMD device 8086:9A0B
      include/linux/pci_ids.h
  * PCI: Add Amazon's Annapurna Labs vendor ID
      include/linux/pci_ids.h
  * PCI: Add Genesys Logic, Inc. Vendor ID
      include/linux/pci_ids.h
  * ALSA: lx6464es - add support for LX6464ESe pci express variant
      include/linux/pci_ids.h
  * x86/amd_nb: Add PCI device IDs for family 17h, model 70h
      include/linux/pci_ids.h
  * PCI: mediatek: Add controller support for MT7629
      include/linux/pci_ids.h
  * PCI: Enable NVIDIA HDA controllers
      drivers/pci/quirks.c
      include/linux/pci_ids.h
  * PCI: Add NVIDIA GPU multi-function power dependencies
      drivers/pci/quirks.c
  * PCI: Add Synopsys endpoint EDDA Device ID
      include/linux/pci_ids.h
    misc: pci_endpoint_test: Add support to test PCI EP in AM654x
    misc: pci_endpoint_test: Add the layerscape EP device support
  * PCI: Move Rohm Vendor ID to generic list
      include/linux/pci_ids.h
  * PCI: Move Synopsys HAPS platform device IDs
      drivers/usb/dwc3/dwc3-haps.c
      include/linux/pci_ids.h
  * PCI: add USR vendor id and use it in r8169 and w6692 driver
      include/linux/pci_ids.h
  * x86/amd_nb: Add PCI device IDs for family 17h, model 30h
      include/linux/pci_ids.h
  * hwmon/k10temp, x86/amd_nb: Consolidate shared device IDs
      include/linux/pci_ids.h
  * pci:ipmi: Move IPMI PCI class id defines to pci_ids.h
      include/linux/pci_ids.h
  * PCI: Remove unused NFP32xx IDs
      include/linux/pci_ids.h
  * PCI: Add ACS quirk for Intel Root Complex Integrated Endpoints
      drivers/pci/quirks.c
  * PCI: Add ACS quirk for iProc PAXB
      drivers/pci/quirks.c
  * PCI: Avoid FLR for AMD Starship USB 3.0
      drivers/pci/quirks.c
  * PCI: Avoid FLR for AMD Matisse HD Audio & USB 3.0
      drivers/pci/quirks.c
  * PCI: Avoid Pericom USB controller OHCI/EHCI PME# defect
      drivers/pci/quirks.c
  * ext4: fix race between ext4_sync_parent() and rename()
      fs/ext4/fsync.c
  * ext4: fix error pointer dereference
      fs/ext4/xattr.c
  * ext4: fix EXT_MAX_EXTENT/INDEX to check for zeroed eh_max
      fs/ext4/ext4_extents.h
    evm: Fix possible memory leak in evm_calc_hmac_or_hash()
    ima: Directly assign the ima_default_policy pointer to ima_rules
    ima: Fix ima digest hash table key calculation
  * mm: initialize deferred pages with interrupts enabled
      include/linux/mmzone.h
      mm/page_alloc.c
    mm: thp: make the THP mapcount atomic against __split_huge_pmd_locked()
    btrfs: send: emit file capabilities after chown
    btrfs: include non-missing as a qualifier for the latest_bdev
  * string.h: fix incompatibility between FORTIFY_SOURCE and KASAN
      include/linux/string.h
    platform/x86: intel-vbtn: Only blacklist SW_TABLET_MODE on the 9 / "Laptop" chasis-type
    platform/x86: intel-hid: Add a quirk to support HP Spectre X2 (2015)
    platform/x86: hp-wmi: Convert simple_strtoul() to kstrtou32()
  * cpuidle: Fix three reference count leaks
      drivers/cpuidle/sysfs.c
    spi: dw: Return any value retrieved from the dma_transfer callback
    mmc: sdhci-esdhc-imx: fix the mask for tuning start point
    ixgbe: fix signed-integer-overflow warning
    mmc: via-sdmmc: Respect the cmd->busy_timeout from the mmc core
    staging: greybus: sdio: Respect the cmd->busy_timeout from the mmc core
    mmc: sdhci-msm: Set SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 quirk
    bcache: fix refcount underflow in bcache_device_free()
    MIPS: Fix IRQ tracing when call handle_fpe() and handle_msa_fpe()
  * PCI: Don't disable decoding when mmio_always_on is set
      drivers/pci/probe.c
    macvlan: Skip loopback packets in RX handler
    btrfs: qgroup: mark qgroup inconsistent if we're inherting snapshot to a new qgroup
    m68k: mac: Don't call via_flush_cache() on Mac IIfx
    x86/mm: Stop printing BRK addresses
    crypto: stm32/crc32 - fix multi-instance
    crypto: stm32/crc32 - fix run-time self test issue.
    crypto: stm32/crc32 - fix ext4 chksum BUG_ON()
    mips: Add udelay lpj numbers adjustment
    mips: MAAR: Use more precise address mask
    x86/boot: Correct relocation destination on old linkers
    mwifiex: Fix memory corruption in dump_station
    rtlwifi: Fix a double free in _rtl_usb_tx_urb_setup()
    net/mlx5e: IPoIB, Drop multicast packets that this interface sent
  * veth: Adjust hard_start offset on redirect XDP frames
      drivers/net/veth.c
    md: don't flush workqueue unconditionally in md_open
    mt76: avoid rx reorder buffer overflow
    net: qed*: Reduce RX and TX default ring count when running inside kdump kernel
    wcn36xx: Fix error handling path in 'wcn36xx_probe()'
    ath10k: Remove msdu from idr when management pkt send fails
    nvme: refine the Qemu Identify CNS quirk
    platform/x86: intel-vbtn: Also handle tablet-mode switch on "Detachable" and "Portable" chassis-types
    platform/x86: intel-vbtn: Do not advertise switches to userspace if they are not there
    platform/x86: intel-vbtn: Split keymap into buttons and switches parts
    platform/x86: intel-vbtn: Use acpi_evaluate_integer()
    xfs: fix duplicate verification from xfs_qm_dqflush()
    xfs: reset buffer write failure state on successful completion
  * kgdb: Fix spurious true from in_dbg_master()
      include/linux/kgdb.h
    mips: cm: Fix an invalid error code of INTVN_*_ERR
    MIPS: Truncate link address into 32bit for 32bit kernel
    Crypto/chcr: fix for ccm(aes) failed test
    xfs: clean up the error handling in xfs_swap_extents
    powerpc/spufs: fix copy_to_user while atomic
    net: allwinner: Fix use correct return type for ndo_start_xmit()
    media: cec: silence shift wrapping warning in __cec_s_log_addrs()
    net: lpc-enet: fix error return code in lpc_mii_init()
    drivers/perf: hisi: Fix typo in events attribute array
  * sched/core: Fix illegal RCU from offline CPUs
      include/linux/sched/mm.h
      kernel/cpu.c
      kernel/sched/core.c
  * exit: Move preemption fixup up, move blocking operations down
      kernel/exit.c
  * lib/mpi: Fix 64-bit MIPS build with Clang
      lib/mpi/longlong.h
    net: bcmgenet: set Rx mode before starting netif
    selftests/bpf: Fix memory leak in extract_build_id()
    netfilter: nft_nat: return EOPNOTSUPP if type or flags are not supported
  * audit: fix a net reference leak in audit_list_rules_send()
      kernel/audit.c
      kernel/audit.h
      kernel/auditfilter.c
    Bluetooth: btbcm: Add 2 missing models to subver tables
    MIPS: Make sparse_init() using top-down allocation
    media: platform: fcp: Set appropriate DMA parameters
    media: dvb: return -EREMOTEIO on i2c transfer failure.
  * audit: fix a net reference leak in audit_send_reply()
      kernel/audit.c
    dt-bindings: display: mediatek: control dpi pins mode to avoid leakage
    e1000: Distribute switch variables for initialization
    tools api fs: Make xxx__mountpoint() more scalable
    brcmfmac: fix wrong location to get firmware feature
  * staging: android: ion: use vmap instead of vm_map_ram
      drivers/staging/android/ion/ion_heap.c
    net: vmxnet3: fix possible buffer overflow caused by bad DMA value in vmxnet3_get_rss()
  * x86/kvm/hyper-v: Explicitly align hcall param for kvm_hyperv_exit
      include/uapi/linux/kvm.h
    spi: dw: Fix Rx-only DMA transfers
    mmc: meson-mx-sdio: trigger a soft reset after a timeout or CRC error
    batman-adv: Revert "disable ethtool link speed detection when auto negotiation off"
    ARM: 8978/1: mm: make act_mm() respect THREAD_SIZE
    btrfs: do not ignore error from btrfs_next_leaf() when inserting checksums
    clocksource: dw_apb_timer_of: Fix missing clockevent timers
    clocksource: dw_apb_timer: Make CPU-affiliation being optional
    spi: dw: Enable interrupts in accordance with DMA xfer mode
    kgdb: Prevent infinite recursive entries to the debugger
    kgdb: Disable WARN_CONSOLE_UNLOCKED for all kgdb
  * Bluetooth: Add SCO fallback for invalid LMP parameters error
      net/bluetooth/hci_event.c
    MIPS: Loongson: Build ATI Radeon GPU driver as module
    ixgbe: Fix XDP redirect on archs with PAGE_SIZE above 4K
  * arm64: insn: Fix two bugs in encoding 32-bit logical immediates
      arch/arm64/kernel/insn.c
    spi: dw: Zero DMA Tx and Rx configurations on stack
  * arm64: cacheflush: Fix KGDB trap detection
      arch/arm64/include/asm/cacheflush.h
    efi/libstub/x86: Work around LLVM ELF quirk build regression
    net: ena: fix error returning in ena_com_get_hash_function()
    net: atlantic: make hw_get_regs optional
    spi: pxa2xx: Apply CS clk quirk to BXT
    objtool: Ignore empty alternatives
    media: si2157: Better check for running tuner in init
  * crypto: ccp -- don't "select" CONFIG_DMADEVICES
      drivers/crypto/ccp/Kconfig
    drm: bridge: adv7511: Extend list of audio sample rates
    ACPI: GED: use correct trigger type field in _Exx / _Lxx handling
  * KVM: arm64: Synchronize sysreg state on injecting an AArch32 exception
      arch/arm64/include/asm/kvm_host.h
    xen/pvcalls-back: test for errors when calling backend_connect()
    mmc: sdio: Fix potential NULL pointer error in mmc_sdio_init_card()
    ARM: dts: at91: sama5d2_ptc_ek: fix sdmmc0 node description
    mmc: sdhci-msm: Clear tuning done flag while hs400 tuning
    agp/intel: Reinforce the barrier after GTT updates
  * perf: Add cond_resched() to task_function_call()
      kernel/events/core.c
  * fat: don't allow to mount if the FAT length == 0
      fs/fat/inode.c
  * mm/slub: fix a memory leak in sysfs_slab_add()
      mm/slub.c
    drm/vkms: Hold gem object while still in-use
  * Smack: slab-out-of-bounds in vsscanf
      security/smack/smackfs.c
    ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb
    ath9x: Fix stack-out-of-bounds Write in ath9k_hif_usb_rx_cb
    ath9k: Fix use-after-free Write in ath9k_htc_rx_msg
    ath9k: Fix use-after-free Read in ath9k_wmi_ctrl_rx
    scsi: megaraid_sas: TM command refire leads to controller firmware crash
  * KVM: arm64: Make vcpu_cp1x() work on Big Endian hosts
      arch/arm64/include/asm/kvm_host.h
    KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits
    KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data)
    KVM: nVMX: Consult only the "basic" exit reason when routing nested exit
    KVM: nSVM: leave ASID aside in copy_vmcb_control_area
    KVM: nSVM: fix condition for filtering async PF
    video: fbdev: w100fb: Fix a potential double free.
  * proc: Use new_inode not new_inode_pseudo
      fs/proc/inode.c
      fs/proc/self.c
      fs/proc/thread_self.c
  * ovl: initialize error in ovl_copy_xattr
      fs/overlayfs/copy_up.c
    selftests/net: in rxtimestamp getopt_long needs terminating null entry
    crypto: virtio: Fix dest length calculation in __virtio_crypto_skcipher_do_req()
    crypto: virtio: Fix src/dst scatterlist calculation in __virtio_crypto_skcipher_do_req()
    crypto: virtio: Fix use-after-free in virtio_crypto_skcipher_finalize_req()
    spi: pxa2xx: Fix runtime PM ref imbalance on probe error
    spi: pxa2xx: Balance runtime PM enable/disable on error
    spi: bcm2835: Fix controller unregister order
    spi: pxa2xx: Fix controller unregister order
  * spi: Fix controller unregister order
      drivers/spi/spi.c
  * spi: No need to assign dummy value in spi_unregister_controller()
      drivers/spi/spi.c
    x86/speculation: PR_SPEC_FORCE_DISABLE enforcement for indirect branches.
    x86/speculation: Avoid force-disabling IBPB based on STIBP and enhanced IBRS.
    x86/speculation: Add support for STIBP always-on preferred mode
    x86/speculation: Change misspelled STIPB to STIBP
    KVM: x86: only do L1TF workaround on affected processors
    KVM: x86/mmu: Consolidate "is MMIO SPTE" code
    kvm: x86: Fix L1TF mitigation for shadow MMU
  * KVM: x86: Fix APIC page invalidation race
      include/linux/kvm_host.h
  * x86/{mce,mm}: Unmap the entire page if the whole page is affected and poisoned
      include/linux/set_memory.h
  * ALSA: pcm: disallow linking stream to itself
      sound/core/pcm_native.c
    crypto: cavium/nitrox - Fix 'nitrox_get_first_device()' when ndevlist is fully iterated
  * PM: runtime: clk: Fix clk_pm_runtime_get() error path
      drivers/clk/clk.c
    spi: bcm-qspi: when tx/rx buffer is NULL set to 0
    spi: bcm2835aux: Fix controller unregister order
    spi: dw: Fix controller unregister order
    nilfs2: fix null pointer dereference at nilfs_segctor_do_construct()
  * cgroup, blkcg: Prepare some symbols for module and !CONFIG_CGROUP usages
      fs/fs-writeback.c
    ACPI: PM: Avoid using power resources if there are none for D0
    ACPI: GED: add support for _Exx / _Lxx handler methods
    ACPI: CPPC: Fix reference count leak in acpi_cppc_processor_probe()
    ACPI: sysfs: Fix reference count leak in acpi_sysfs_add_hotplug_profile()
  * ALSA: usb-audio: Add vendor, product and profile name for HP Thunderbolt Dock
      sound/usb/quirks-table.h
  * ALSA: usb-audio: Fix inconsistent card PM state after resume
      sound/usb/card.c
      sound/usb/usbaudio.h
    ALSA: hda/realtek - add a pintbl quirk for several Lenovo machines
    ALSA: es1688: Add the missed snd_card_free()
    efi/efivars: Add missing kobject_put() in sysfs entry creation error path
    x86/reboot/quirks: Add MacBook6,1 reboot quirk
    x86/speculation: Prevent rogue cross-process SSBD shutdown
    x86/PCI: Mark Intel C620 MROMs as having non-compliant BARs
    x86_64: Fix jiffies ODR violation
    btrfs: tree-checker: Check level for leaves and nodes
  * aio: fix async fsync creds
      fs/aio.c
  * mm: add kvfree_sensitive() for freeing sensitive data objects
      include/linux/mm.h
      mm/util.c
      security/keys/internal.h
      security/keys/keyctl.c
    perf probe: Accept the instance number of kretprobe event
    x86/cpu/amd: Make erratum #1054 a legacy erratum
    RDMA/uverbs: Make the event_queue fds return POLLERR when disassociated
    ath9k_htc: Silence undersized packet warnings
    powerpc/xive: Clear the page tables for the ESB IO mapping
    drivers/net/ibmvnic: Update VNIC protocol version reporting
    Input: synaptics - add a second working PNP_ID for Lenovo T470s
  * sched/fair: Don't NUMA balance for kthreads
      kernel/sched/fair.c
    ARM: 8977/1: ptrace: Fix mask for thumb breakpoint hook
    Input: mms114 - fix handling of mms345l
    crypto: talitos - fix ECB and CBC algs ivsize
    btrfs: Detect unbalanced tree with empty leaf before crashing btree operations
    btrfs: merge btrfs_find_device and find_device
  * lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user()
      lib/strncpy_from_user.c
      lib/strnlen_user.c
    x86: uaccess: Inhibit speculation past access_ok() in user_access_begin()
    arch/openrisc: Fix issues with access_ok()
    Fix 'acccess_ok()' on alpha and SH
  * make 'user_access_begin()' do 'access_ok()'
      include/linux/uaccess.h
      kernel/compat.c
      kernel/exit.c
      lib/strncpy_from_user.c
      lib/strnlen_user.c
    selftests: bpf: fix use of undeclared RET_IF macro
  * tun: correct header offsets in napi frags mode
      drivers/net/tun.c
    vxlan: Avoid infinite loop when suppressing NS messages with invalid options
  * bridge: Avoid infinite loop when suppressing NS messages with invalid options
      net/bridge/br_arp_nd_proxy.c
    net_failover: fixed rollback in net_failover_open()
  * ipv6: fix IPV6_ADDRFORM operation logic
      net/ipv6/ipv6_sockglue.c
  * writeback: Drop I_DIRTY_TIME_EXPIRE
      fs/ext4/inode.c
      fs/fs-writeback.c
      include/linux/fs.h
      include/trace/events/writeback.h
  * writeback: Fix sync livelock due to b_dirty_time processing
      fs/fs-writeback.c
      include/trace/events/writeback.h
  * writeback: Avoid skipping inode writeback
      fs/fs-writeback.c
      include/linux/fs.h
  * writeback: Protect inode->i_io_list with inode->i_lock
      fs/fs-writeback.c
  * Revert "writeback: Avoid skipping inode writeback"
      fs/fs-writeback.c
      include/linux/fs.h
    ANDROID: gki_defconfig: increase vbus_draw to 500mA
  * fscrypt: remove stale definition
      include/linux/fscrypt.h
  * fs-verity: remove unnecessary extern keywords
      fs/verity/fsverity_private.h
      include/linux/fsverity.h
  * fs-verity: fix all kerneldoc warnings
      fs/verity/enable.c
      fs/verity/fsverity_private.h
      fs/verity/measure.c
      fs/verity/open.c
      fs/verity/signature.c
      fs/verity/verify.c
      include/linux/fsverity.h
  * fscrypt: add support for IV_INO_LBLK_32 policies
      fs/crypto/crypto.c
      fs/crypto/fscrypt_private.h
      fs/crypto/keyring.c
      fs/crypto/keysetup.c
      fs/crypto/policy.c
      include/uapi/linux/fscrypt.h
  * fscrypt: make test_dummy_encryption use v2 by default
      fs/crypto/policy.c
  * fscrypt: support test_dummy_encryption=v2
      fs/crypto/keysetup.c
      fs/crypto/policy.c
      fs/ext4/ext4.h
      fs/ext4/super.c
      fs/ext4/sysfs.c
      fs/f2fs/f2fs.h
      fs/f2fs/super.c
      fs/f2fs/sysfs.c
      include/linux/fscrypt.h
  * fscrypt: add fscrypt_add_test_dummy_key()
      fs/crypto/fscrypt_private.h
      fs/crypto/keyring.c
  * linux/parser.h: add include guards
      include/linux/parser.h
  * fscrypt: remove unnecessary extern keywords
      fs/crypto/fscrypt_private.h
      include/linux/fscrypt.h
  * fscrypt: name all function parameters
      include/linux/fscrypt.h
  * fscrypt: fix all kerneldoc warnings
      fs/crypto/crypto.c
      fs/crypto/fname.c
      fs/crypto/fscrypt_private.h
      fs/crypto/hooks.c
      fs/crypto/keysetup.c
      fs/crypto/policy.c
      include/linux/fscrypt.h
    ANDROID: Update the ABI
  * ANDROID: GKI: power: power-supply: Add POWER_SUPPLY_PROP_CHARGER_STATUS property
      drivers/power/supply/power_supply_sysfs.c
      include/linux/power_supply.h
  * ANDROID: GKI: add dev to usb_gsi_request
      include/linux/usb/gadget.h
  * ANDROID: GKI: dma-buf: add dent_count to dma_buf
      include/linux/dma-buf.h
    Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-4.19.y' into android-4.19-stable
    ANDROID: Update the ABI xml and whitelist
    ANDROID: GKI: update whitelist
  * ANDROID: extcon: Export symbol of `extcon_get_edev_name`
      drivers/extcon/extcon.c
      include/linux/extcon.h
  * ANDROID: kbuild: merge more sections with LTO
      scripts/module-lto.lds.S
  * UPSTREAM: timekeeping/vsyscall: Update VDSO data unconditionally
      arch/arm64/include/asm/vdso/vsyscall.h
      include/asm-generic/vdso/vsyscall.h
      kernel/time/vsyscall.c
  * ANDROID: GKI: Revert "genetlink: disallow subscribing to unknown mcast groups"
      net/netlink/genetlink.c
  * BACKPORT: usb: musb: Add support for MediaTek musb controller
      drivers/usb/musb/Kconfig
    UPSTREAM: usb: musb: Add musb_clearb/w() interface
    UPSTREAM: usb: musb: Add noirq type of dma create interface
    UPSTREAM: usb: musb: Add get/set toggle hooks
    UPSTREAM: dt-bindings: usb: musb: Add support for MediaTek musb controller
    Merge 4.19.128 into android-4.19-stable
  * FROMGIT: driver core: Remove unnecessary is_fwnode_dev variable in device_add()
      drivers/base/core.c
  * FROMGIT: driver core: Remove check in driver_deferred_probe_force_trigger()
      drivers/base/dd.c
  * FROMGIT: of: platform: Batch fwnode parsing when adding all top level devices
      drivers/of/platform.c
  * FROMGIT: BACKPORT: driver core: fw_devlink: Add support for batching fwnode parsing
      drivers/base/base.h
      drivers/base/core.c
      drivers/base/dd.c
      include/linux/fwnode.h
  * BACKPORT: driver core: Look for waiting consumers only for a fwnode's primary device
      drivers/base/core.c
  * BACKPORT: driver core: Add device links from fwnode only for the primary device
      drivers/base/core.c
Linux 4.19.128
    Revert "net/mlx5: Annotate mutex destroy for root ns"
  * uprobes: ensure that uprobe->offset and ->ref_ctr_offset are properly aligned
      kernel/events/uprobes.c
    x86/speculation: Add Ivy Bridge to affected list
    x86/speculation: Add SRBDS vulnerability and mitigation documentation
  * x86/speculation: Add Special Register Buffer Data Sampling (SRBDS) mitigation
      drivers/base/cpu.c
    x86/cpu: Add 'table' argument to cpu_matches()
  * x86/cpu: Add a steppings field to struct x86_cpu_id
      include/linux/mod_devicetable.h
  * nvmem: qfprom: remove incorrect write support
      drivers/nvmem/qfprom.c
    CDC-ACM: heed quirk also in error handling
    staging: rtl8712: Fix IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK
    tty: hvc_console, fix crashes on parallel open/close
    vt: keyboard: avoid signed integer overflow in k_ascii
    usb: musb: Fix runtime PM imbalance on error
    usb: musb: start session in resume for host port
    iio: vcnl4000: Fix i2c swapped word reading.
    USB: serial: option: add Telit LE910C1-EUX compositions
    USB: serial: usb_wwan: do not resubmit rx urb on fatal errors
    USB: serial: qcserial: add DW5816e QDL support
  * net: check untrusted gso_size at kernel entry
      include/linux/virtio_net.h
    vsock: fix timeout in vsock_accept()
    NFC: st21nfca: add missed kfree_skb() in an error path
    net: usb: qmi_wwan: add Telit LE910C1-EUX composition
  * l2tp: do not use inet_hash()/inet_unhash()
      net/l2tp/l2tp_ip.c
      net/l2tp/l2tp_ip6.c
  * l2tp: add sk_family checks to l2tp_validate_socket
      net/l2tp/l2tp_core.c
  * devinet: fix memleak in inetdev_init()
      net/ipv4/devinet.c
  * Revert "ANDROID: Remove default y on BRIDGE_IGMP_SNOOPING"
      net/bridge/Kconfig
    ANDROID: Update the ABI xml and whitelist
    ANDROID: GKI: update whitelist
  * ANDROID: arch: arm64: vdso: export the symbols for time()
      arch/arm64/include/asm/vdso/compat_gettimeofday.h
      arch/arm64/include/asm/vdso/gettimeofday.h
      arch/arm64/kernel/vdso/vdso.lds.S
      arch/arm64/kernel/vdso/vgettimeofday.c
      arch/arm64/kernel/vdso32/vdso.lds.S
      arch/arm64/kernel/vdso32/vgettimeofday.c
  * ANDROID: Incremental fs: Remove dependency on PKCS7_MESSAGE_PARSER
      fs/incfs/Kconfig
      fs/incfs/integrity.c
    ANDROID: dm-bow: Add block_size option
  * f2fs: attach IO flags to the missing cases
      fs/f2fs/data.c
  * f2fs: add node_io_flag for bio flags likewise data_io_flag
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/sysfs.c
    f2fs: remove unused parameter of f2fs_put_rpages_mapping()
  * f2fs: handle readonly filesystem in f2fs_ioc_shutdown()
      fs/f2fs/file.c
  * f2fs: avoid utf8_strncasecmp() with unstable name
      fs/f2fs/dir.c
  * f2fs: don't return vmalloc() memory from f2fs_kmalloc()
      fs/f2fs/checkpoint.c
      fs/f2fs/f2fs.h
      fs/f2fs/node.c
      fs/f2fs/super.c
    ANDROID: GKI: set CONFIG_BLK_DEV_LOOP_MIN_COUNT to 16
  * ANDROID: Incremental fs: Cache successful hash calculations
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/vfs.c
  * ANDROID: Incremental fs: Fix four error-path bugs
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
    Merge 4.19.127 into android-4.19-stable
Linux 4.19.127
    net: smsc911x: Fix runtime PM imbalance on error
    net: ethernet: stmmac: Enable interface clocks on probe for IPQ806x
    net/ethernet/freescale: rework quiesce/activate for ucc_geth
    null_blk: return error for invalid zone size
    s390/mm: fix set_huge_pte_at() for empty ptes
  * drm/edid: Add Oculus Rift S to non-desktop list
      drivers/gpu/drm/drm_edid.c
    net: bmac: Fix read of MAC address from ROM
    x86/mmiotrace: Use cpumask_available() for cpumask_var_t variables
    i2c: altera: Fix race between xfer_msg and isr thread
    evm: Fix RCU list related warnings
    ARC: [plat-eznps]: Restrict to CONFIG_ISA_ARCOMPACT
    ARC: Fix ICCM & DCCM runtime size checks
    s390/ftrace: save traced function caller
    spi: dw: use "smp_mb()" to avoid sending spi data error
    powerpc/powernv: Avoid re-registration of imc debugfs directory
    scsi: hisi_sas: Check sas_port before using it
    drm/i915: fix port checks for MST support on gen >= 11
    airo: Fix read overflows sending packets
    net: dsa: mt7530: set CPU port to fallback mode
  * scsi: ufs: Release clock if DMA map fails
      drivers/scsi/ufs/ufshcd.c
  * mmc: fix compilation of user API
      include/uapi/linux/mmc/ioctl.h
    kernel/relay.c: handle alloc_percpu returning NULL in relay_open
    p54usb: add AirVasT USB stick device-id
    HID: i2c-hid: add Schneider SCL142ALM to descriptor override
  * HID: sony: Fix for broken buttons on DS3 USB dongles
      drivers/hid/hid-sony.c
  * mm: Fix mremap not considering huge pmd devmap
      mm/mremap.c
    libnvdimm: Fix endian conversion issues 
  * Revert "cgroup: Add memory barriers to plug cgroup_rstat_updated() race window"
      kernel/cgroup/rstat.c
  * f2fs: fix retry logic in f2fs_write_cache_pages()
      fs/f2fs/data.c
    ANDROID: Update ABI representation
    Merge 4.19.126 into android-4.19-stable
Linux 4.19.126
  * mm/vmalloc.c: don't dereference possible NULL pointer in __vunmap()
      mm/vmalloc.c
  * netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build
      include/linux/netfilter/nf_conntrack_pptp.h
      net/netfilter/nf_conntrack_pptp.c
  * bonding: Fix reference count leak in bond_sysfs_slave_add.
      drivers/net/bonding/bond_sysfs_slave.c
    crypto: chelsio/chtls: properly set tp->lsndtime
    qlcnic: fix missing release in qlcnic_83xx_interrupt_test.
    xsk: Add overflow check for u64 division, stored into u32
    bnxt_en: Fix accumulation of bp->net_stats_prev.
    esp6: get the right proto for transport mode in esp6_gso_encap
  * netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code
      include/linux/netfilter/nf_conntrack_pptp.h
      net/ipv4/netfilter/nf_nat_pptp.c
      net/netfilter/nf_conntrack_pptp.c
    netfilter: nfnetlink_cthelper: unbreak userspace helper support
    netfilter: ipset: Fix subcounter update skip
    netfilter: nft_reject_bridge: enable reject with bridge vlan
  * ip_vti: receive ipip packet by calling ip_tunnel_rcv
      net/ipv4/ip_vti.c
  * vti4: eliminated some duplicate code.
      net/ipv4/ip_vti.c
  * xfrm: fix error in comment
      include/uapi/linux/xfrm.h
  * xfrm: fix a NULL-ptr deref in xfrm_local_error
      net/xfrm/xfrm_output.c
  * xfrm: fix a warning in xfrm_policy_insert_list
      net/xfrm/xfrm_policy.c
  * xfrm interface: fix oops when deleting a x-netns interface
      net/xfrm/xfrm_interface.c
  * xfrm: call xfrm_output_gso when inner_protocol is set in xfrm_output
      net/xfrm/xfrm_output.c
  * xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input
      net/xfrm/xfrm_input.c
    copy_xstate_to_kernel(): don't leave parts of destination uninitialized
    x86/dma: Fix max PFN arithmetic overflow on 32 bit systems
    mac80211: mesh: fix discovery timer re-arming issue / crash
  * RDMA/core: Fix double destruction of uobject
      include/rdma/uverbs_std_types.h
    mmc: core: Fix recursive locking issue in CQE recovery path
    parisc: Fix kernel panic in mem_init()
  * iommu: Fix reference count leak in iommu_group_alloc.
      drivers/iommu/iommu.c
  * include/asm-generic/topology.h: guard cpumask_of_node() macro argument
      include/asm-generic/topology.h
  * fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info()
      fs/binfmt_elf.c
  * mm: remove VM_BUG_ON(PageSlab()) from page_mapcount()
      include/linux/mm.h
    IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode
    libceph: ignore pool overlay and cache logic on redirects
    ALSA: hda/realtek - Add new codec supported for ALC287
  * ALSA: usb-audio: Quirks for Gigabyte TRX40 Aorus Master onboard audio
      sound/usb/mixer_maps.c
      sound/usb/quirks-table.h
  * exec: Always set cap_ambient in cap_bprm_set_creds
      security/commoncap.c
  * ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC
      sound/usb/mixer.c
    ALSA: hda/realtek - Add a model for Thinkpad T570 without DAC workaround
  * ALSA: hwdep: fix a left shifting 1 by 31 UB bug
      sound/core/hwdep.c
    RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe()
    mmc: block: Fix use-after-free issue for rpmb
    ARM: dts: bcm: HR2: Fix PPI interrupt types
    ARM: dts: bcm2835-rpi-zero-w: Fix led polarity
    ARM: dts/imx6q-bx50v3: Set display interface clock parents
    IB/qib: Call kobject_put() when kobject_init_and_add() fails
    gpio: exar: Fix bad handling for ida_simple_get error path
    ARM: uaccess: fix DACR mismatch with nested exceptions
    ARM: uaccess: integrate uaccess_save and uaccess_restore
    ARM: uaccess: consolidate uaccess asm to asm/uaccess-asm.h
    ARM: 8843/1: use unified assembler in headers
    ARM: 8970/1: decompressor: increase tag size
    Input: synaptics-rmi4 - fix error return code in rmi_driver_probe()
    Input: synaptics-rmi4 - really fix attn_data use-after-free
    Input: i8042 - add ThinkPad S230u to i8042 reset list
    Input: dlink-dir685-touchkeys - fix a typo in driver name
  * Input: xpad - add custom init packet for Xbox One S controllers
      drivers/input/joystick/xpad.c
  * Input: evdev - call input_flush_device() on release(), not flush()
      drivers/input/evdev.c
    Input: usbtouchscreen - add support for BonXeon TP
    samples: bpf: Fix build error
    cifs: Fix null pointer check in cifs_read
    riscv: stacktrace: Fix undefined reference to `walk_stackframe'
    IB/i40iw: Remove bogus call to netdev_master_upper_dev_get()
  * net: freescale: select CONFIG_FIXED_PHY where needed
      drivers/net/ethernet/freescale/Kconfig
      drivers/net/ethernet/freescale/dpaa/Kconfig
    usb: gadget: legacy: fix redundant initialization warnings
    usb: dwc3: pci: Enable extcon driver for Intel Merrifield
    cachefiles: Fix race between read_waiter and read_copier involving op->to_do
    gfs2: move privileged user check to gfs2_quota_lock_check
    net: microchip: encx24j600: add missed kthread_stop
  * ALSA: usb-audio: add mapping for ASRock TRX40 Creator
      sound/usb/mixer_maps.c
      sound/usb/quirks-table.h
    gpio: tegra: mask GPIO IRQs during IRQ shutdown
    ARM: dts: rockchip: fix pinctrl sub nodename for spi in rk322x.dtsi
    ARM: dts: rockchip: swap clock-names of gpu nodes
    arm64: dts: rockchip: swap interrupts interrupt-names rk3399 gpu node
    arm64: dts: rockchip: fix status for &gmac2phy in rk3328-evb.dts
    ARM: dts: rockchip: fix phy nodename for rk3228-evb
    mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload fails
    net/mlx4_core: fix a memory leak bug.
    net: sun: fix missing release regions in cas_init_one().
    net/mlx5: Annotate mutex destroy for root ns
    net/mlx5e: Update netdev txq on completions during closure
  * sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and socket is closed
      net/sctp/sm_statefuns.c
  * sctp: Don't add the shutdown timer if its already been added
      net/sctp/sm_sideeffect.c
  * r8152: support additional Microsoft Surface Ethernet Adapter variant
      drivers/net/usb/cdc_ether.c
      drivers/net/usb/r8152.c
  * net sched: fix reporting the first-time use timestamp
      include/net/act_api.h
  * net: revert "net: get rid of an signed integer overflow in ip_idents_reserve()"
      net/ipv4/route.c
  * net: qrtr: Fix passing invalid reference to qrtr_local_enqueue()
      net/qrtr/qrtr.c
  * net/mlx5: Add command entry handling completion
      include/linux/mlx5/driver.h
    net: ipip: fix wrong address family in init error path
  * net: inet_csk: Fix so_reuseport bind-address cache in tb->fast*
      net/ipv4/inet_connection_sock.c
  * __netif_receive_skb_core: pass skb by reference
      net/core/dev.c
    net: dsa: mt7530: fix roaming from DSA user ports
    dpaa_eth: fix usage as DSA master, try 3
    ax25: fix setsockopt(SO_BINDTODEVICE)
  * ANDROID: modules: fix lockprove warning
      kernel/module.c
    FROMGIT: USB: dummy-hcd: use configurable endpoint naming scheme
    UPSTREAM: usb: raw-gadget: fix null-ptr-deref when reenabling endpoints
    UPSTREAM: usb: raw-gadget: documentation updates
  * UPSTREAM: usb: raw-gadget: support stalling/halting/wedging endpoints
      include/uapi/linux/usb/raw_gadget.h
  * UPSTREAM: usb: raw-gadget: fix gadget endpoint selection
      include/uapi/linux/usb/raw_gadget.h
  * UPSTREAM: usb: raw-gadget: improve uapi headers comments
      include/uapi/linux/usb/raw_gadget.h
    UPSTREAM: usb: raw-gadget: fix return value of ep read ioctls
    UPSTREAM: usb: raw-gadget: fix raw_event_queue_fetch locking
    UPSTREAM: usb: raw-gadget: Fix copy_to/from_user() checks
  * f2fs: fix wrong discard space
      fs/f2fs/segment.c
    f2fs: compress: don't compress any datas after cp stop
  * f2fs: remove unneeded return value of __insert_discard_tree()
      fs/f2fs/segment.c
  * f2fs: fix wrong value of tracepoint parameter
      fs/f2fs/namei.c
  * f2fs: protect new segment allocation in expand_inode_data
      fs/f2fs/file.c
  * f2fs: code cleanup by removing ifdef macro surrounding
      fs/f2fs/file.c
      fs/f2fs/namei.c
      fs/f2fs/xattr.h
  * writeback: Avoid skipping inode writeback
      fs/fs-writeback.c
      include/linux/fs.h
    ANDROID: GKI: Update the ABI
    ANDROID: GKI: update whitelist
  * ANDROID: GKI: support mm_event for FS/IO/UFS path
      include/linux/blk_types.h
      include/linux/mm_event.h
      mm/mm_event.c
  * ANDROID: net: bpf: permit redirect from ingress L3 to egress L2 devices at near max mtu
      net/core/filter.c
  * FROMGIT: driver core: Update device link status correctly for SYNC_STATE_ONLY links
      drivers/base/core.c
  * UPSTREAM: driver core: Fix handling of SYNC_STATE_ONLY + STATELESS device links
      drivers/base/core.c
  * BACKPORT: driver core: Fix SYNC_STATE_ONLY device link implementation
      drivers/base/core.c
    ANDROID: Bulk update the ABI xml and qcom whitelist
  * Revert "ANDROID: Incremental fs: Avoid continually recalculating hashes"
      fs/incfs/data_mgmt.c
  * f2fs: avoid inifinite loop to wait for flushing node pages at cp_error
      fs/f2fs/node.c
    f2fs: compress: fix zstd data corruption
  * f2fs: add compressed/gc data read IO stat
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/gc.c
      fs/f2fs/sysfs.c
      include/trace/events/f2fs.h
  * f2fs: fix potential use-after-free issue
      fs/f2fs/data.c
  * f2fs: compress: don't handle non-compressed data in workqueue
      fs/f2fs/data.c
  * f2fs: remove redundant assignment to variable err
      fs/f2fs/namei.c
  * f2fs: refactor resize_fs to avoid meta updates in progress
      fs/f2fs/checkpoint.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/super.c
      include/trace/events/f2fs.h
  * f2fs: use round_up to enhance calculation
      fs/f2fs/file.c
  * f2fs: introduce F2FS_IOC_RESERVE_COMPRESS_BLOCKS
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
  * f2fs: Avoid double lock for cp_rwsem during checkpoint
      fs/f2fs/checkpoint.c
      fs/f2fs/f2fs.h
      fs/f2fs/node.c
  * f2fs: report delalloc reserve as non-free in statfs for project quota
      fs/f2fs/super.c
  * f2fs: Fix wrong stub helper update_sit_info
      fs/f2fs/f2fs.h
    f2fs: compress: let lz4 compressor handle output buffer budget properly
  * f2fs: remove blk_plugging in block_operations
      fs/f2fs/checkpoint.c
  * f2fs: introduce F2FS_IOC_RELEASE_COMPRESS_BLOCKS
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
  * f2fs: shrink spinlock coverage
      fs/f2fs/node.c
      fs/f2fs/node.h
  * f2fs: correctly fix the parent inode number during fsync()
      fs/f2fs/file.c
  * f2fs: introduce mempool for {,de}compress intermediate page allocation
      fs/f2fs/f2fs.h
      fs/f2fs/super.c
  * f2fs: introduce f2fs_bmap_compress()
      fs/f2fs/data.c
  * f2fs: support fiemap on compressed inode
      fs/f2fs/data.c
  * f2fs: support partial truncation on compressed inode
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
  * f2fs: remove redundant compress inode check
      fs/f2fs/f2fs.h
  * f2fs: use strcmp() in parse_options()
      fs/f2fs/super.c
  * f2fs: Use the correct style for SPDX License Identifier
      fs/f2fs/acl.h
      fs/f2fs/f2fs.h
      fs/f2fs/gc.h
      fs/f2fs/node.h
      fs/f2fs/segment.h
      fs/f2fs/trace.h
      fs/f2fs/xattr.h

Change-Id: I2a678a32a4d72309fd00887a7ac56241293304a9
Signed-off-by: lucaswei <lucaswei@google.com>
2020-10-27 15:33:35 +08:00
Petri Gynther
379ecaec4c Merge android-msm-pixel-4.19-rvc-qpr1 into android-msm-pixel-4.19
Signed-off-by: Petri Gynther <pgynther@google.com>
Change-Id: Ib432f577cf206532b5f183abb05c61d3db82dd13
2020-09-30 14:37:38 -07:00
Martijn Coenen
5ba08dcb8c FROMGIT: binder: print warnings when detecting oneway spamming.
The most common cause of the binder transaction buffer filling up is a
client rapidly firing oneway transactions into a process, before it has
a chance to handle them. Yet the root cause of this is often hard to
debug, because either the system or the app will stop, and by that time
binder debug information we dump in bugreports is no longer relevant.

This change warns as soon as a process dips below 80% of its oneway
space (less than 100kB available in the configuration), when any one
process is responsible for either more than 50 transactions, or more
than 50% of the oneway space.

Signed-off-by: Martijn Coenen <maco@android.com>
Signed-off-by: Martijn Coenen <maco@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Link: https://lore.kernel.org/r/20200821122544.1277051-1-maco@android.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 261e7818f06ec51e488e007f787ccd7e77272918
git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git/
char-misc-next)
Signed-off-by: Martijn Coenen <maco@android.com>

Bug: 147795659
Change-Id: Idc2b03ddc779880ca4716fdae47a70df43211f25
2020-09-11 07:31:44 +00:00
Martijn Coenen
3b165ab697 FROMGIT: binder: print warnings when detecting oneway spamming.
The most common cause of the binder transaction buffer filling up is a
client rapidly firing oneway transactions into a process, before it has
a chance to handle them. Yet the root cause of this is often hard to
debug, because either the system or the app will stop, and by that time
binder debug information we dump in bugreports is no longer relevant.

This change warns as soon as a process dips below 80% of its oneway
space (less than 100kB available in the configuration), when any one
process is responsible for either more than 50 transactions, or more
than 50% of the oneway space.

Signed-off-by: Martijn Coenen <maco@android.com>
Signed-off-by: Martijn Coenen <maco@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Link: https://lore.kernel.org/r/20200821122544.1277051-1-maco@android.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 261e7818f06ec51e488e007f787ccd7e77272918
git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git/
char-misc-next)
Signed-off-by: Martijn Coenen <maco@android.com>

Bug: 147795659
Change-Id: Idc2b03ddc779880ca4716fdae47a70df43211f25
2020-09-10 16:54:59 +00:00
Greg Kroah-Hartman
bcf9517454 Merge 4.19.135 into android-4.19-stable
Changes in 4.19.135
	soc: qcom: rpmh: Dirt can only make you dirtier, not cleaner
	gpio: arizona: handle pm_runtime_get_sync failure case
	gpio: arizona: put pm_runtime in case of failure
	pinctrl: amd: fix npins for uart0 in kerncz_groups
	mac80211: allow rx of mesh eapol frames with default rx key
	scsi: scsi_transport_spi: Fix function pointer check
	xtensa: fix __sync_fetch_and_{and,or}_4 declarations
	xtensa: update *pos in cpuinfo_op.next
	drivers/net/wan/lapbether: Fixed the value of hard_header_len
	net: sky2: initialize return of gm_phy_read
	drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout
	drivers/firmware/psci: Fix memory leakage in alloc_init_cpu_groups()
	fuse: fix weird page warning
	irqdomain/treewide: Keep firmware node unconditionally allocated
	SUNRPC reverting d03727b248d0 ("NFSv4 fix CLOSE not waiting for direct IO compeletion")
	spi: spi-fsl-dspi: Exit the ISR with IRQ_NONE when it's not ours
	tipc: clean up skb list lock handling on send path
	IB/umem: fix reference count leak in ib_umem_odp_get()
	uprobes: Change handle_swbp() to send SIGTRAP with si_code=SI_KERNEL, to fix GDB regression
	ALSA: info: Drop WARN_ON() from buffer NULL sanity check
	ASoC: rt5670: Correct RT5670_LDO_SEL_MASK
	btrfs: fix double free on ulist after backref resolution failure
	btrfs: fix mount failure caused by race with umount
	btrfs: fix page leaks after failure to lock page for delalloc
	bnxt_en: Fix race when modifying pause settings.
	fpga: dfl: fix bug in port reset handshake
	hippi: Fix a size used in a 'pci_free_consistent()' in an error handling path
	ax88172a: fix ax88172a_unbind() failures
	net: dp83640: fix SIOCSHWTSTAMP to update the struct with actual configuration
	ieee802154: fix one possible memleak in adf7242_probe
	drm: sun4i: hdmi: Fix inverted HPD result
	net: smc91x: Fix possible memory leak in smc_drv_probe()
	bonding: check error value of register_netdevice() immediately
	mlxsw: destroy workqueue when trap_register in mlxsw_emad_init
	qed: suppress "don't support RoCE & iWARP" flooding on HW init
	ipvs: fix the connection sync failed in some cases
	net: ethernet: ave: Fix error returns in ave_init
	i2c: rcar: always clear ICSAR to avoid side effects
	bonding: check return value of register_netdevice() in bond_newlink()
	serial: exar: Fix GPIO configuration for Sealevel cards based on XR17V35X
	scripts/decode_stacktrace: strip basepath from all paths
	scripts/gdb: fix lx-symbols 'gdb.error' while loading modules
	HID: i2c-hid: add Mediacom FlexBook edge13 to descriptor override
	HID: alps: support devices with report id 2
	HID: steam: fixes race in handling device list.
	HID: apple: Disable Fn-key key-re-mapping on clone keyboards
	dmaengine: tegra210-adma: Fix runtime PM imbalance on error
	Input: add `SW_MACHINE_COVER`
	spi: mediatek: use correct SPI_CFG2_REG MACRO
	regmap: dev_get_regmap_match(): fix string comparison
	hwmon: (aspeed-pwm-tacho) Avoid possible buffer overflow
	dmaengine: ioat setting ioat timeout as module parameter
	Input: synaptics - enable InterTouch for ThinkPad X1E 1st gen
	usb: gadget: udc: gr_udc: fix memleak on error handling path in gr_ep_init()
	hwmon: (adm1275) Make sure we are reading enough data for different chips
	hwmon: (scmi) Fix potential buffer overflow in scmi_hwmon_probe()
	arm64: Use test_tsk_thread_flag() for checking TIF_SINGLESTEP
	x86: math-emu: Fix up 'cmp' insn for clang ias
	RISC-V: Upgrade smp_mb__after_spinlock() to iorw,iorw
	binder: Don't use mmput() from shrinker function.
	usb: xhci-mtk: fix the failure of bandwidth allocation
	usb: xhci: Fix ASM2142/ASM3142 DMA addressing
	Revert "cifs: Fix the target file was deleted when rename failed."
	staging: wlan-ng: properly check endpoint types
	staging: comedi: addi_apci_1032: check INSN_CONFIG_DIGITAL_TRIG shift
	staging: comedi: ni_6527: fix INSN_CONFIG_DIGITAL_TRIG support
	staging: comedi: addi_apci_1500: check INSN_CONFIG_DIGITAL_TRIG shift
	staging: comedi: addi_apci_1564: check INSN_CONFIG_DIGITAL_TRIG shift
	serial: 8250: fix null-ptr-deref in serial8250_start_tx()
	serial: 8250_mtk: Fix high-speed baud rates clamping
	fbdev: Detect integer underflow at "struct fbcon_ops"->clear_margins.
	vt: Reject zero-sized screen buffer size.
	Makefile: Fix GCC_TOOLCHAIN_DIR prefix for Clang cross compilation
	mm/memcg: fix refcount error while moving and swapping
	mm: memcg/slab: synchronize access to kmem_cache dying flag using a spinlock
	mm: memcg/slab: fix memory leak at non-root kmem_cache destroy
	io-mapping: indicate mapping failure
	drm/amdgpu: Fix NULL dereference in dpm sysfs handlers
	drm/amd/powerplay: fix a crash when overclocking Vega M
	parisc: Add atomic64_set_release() define to avoid CPU soft lockups
	x86, vmlinux.lds: Page-align end of ..page_aligned sections
	ASoC: rt5670: Add new gpio1_is_ext_spk_en quirk and enable it on the Lenovo Miix 2 10
	ASoC: qcom: Drop HAS_DMA dependency to fix link failure
	dm integrity: fix integrity recalculation that is improperly skipped
	ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb
	ath9k: Fix regression with Atheros 9271
	Linux 4.19.135

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I0bbcde83e7c810352d998f28d3484efa2b9ede8e
2020-07-29 13:22:30 +02:00
Tetsuo Handa
e1e622d0d9 binder: Don't use mmput() from shrinker function.
commit f867c771f98891841c217fa8459244ed0dd28921 upstream.

syzbot is reporting that mmput() from shrinker function has a risk of
deadlock [1], for delayed_uprobe_add() from update_ref_ctr() calls
kzalloc(GFP_KERNEL) with delayed_uprobe_lock held, and
uprobe_clear_state() from __mmput() also holds delayed_uprobe_lock.

Commit a1b2289cef ("android: binder: drop lru lock in isolate
callback") replaced mmput() with mmput_async() in order to avoid sleeping
with spinlock held. But this patch replaces mmput() with mmput_async() in
order not to start __mmput() from shrinker context.

[1] https://syzkaller.appspot.com/bug?id=bc9e7303f537c41b2b0cc2dfcea3fc42964c2d45

Reported-by: syzbot <syzbot+1068f09c44d151250c33@syzkaller.appspotmail.com>
Reported-by: syzbot <syzbot+e5344baa319c9a96edec@syzkaller.appspotmail.com>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reviewed-by: Michal Hocko <mhocko@suse.com>
Acked-by: Todd Kjos <tkjos@google.com>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/4ba9adb2-43f5-2de0-22de-f6075c1fab50@i-love.sakura.ne.jp
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-07-29 10:16:54 +02:00
Greg Kroah-Hartman
de1774a9d2 Merge 4.19.120 into android-4.19
Changes in 4.19.120
	remoteproc: Fix wrong rvring index computation
	mtd: cfi: fix deadloop in cfi_cmdset_0002.c do_write_buffer
	include/uapi/linux/swab.h: fix userspace breakage, use __BITS_PER_LONG for swap
	binder: take read mode of mmap_sem in binder_alloc_free_page()
	usb: dwc3: gadget: Do link recovery for SS and SSP
	usb: gadget: udc: bdc: Remove unnecessary NULL checks in bdc_req_complete
	iio:ad7797: Use correct attribute_group
	ASoC: q6dsp6: q6afe-dai: add missing channels to MI2S DAIs
	ASoC: tas571x: disable regulators on failed probe
	ASoC: wm8960: Fix wrong clock after suspend & resume
	nfsd: memory corruption in nfsd4_lock()
	i2c: altera: use proper variable to hold errno
	rxrpc: Fix DATA Tx to disable nofrag for UDP on AF_INET6 socket
	net/cxgb4: Check the return from t4_query_params properly
	xfs: acquire superblock freeze protection on eofblocks scans
	svcrdma: Fix trace point use-after-free race
	svcrdma: Fix leak of svc_rdma_recv_ctxt objects
	PCI: Avoid ASMedia XHCI USB PME# from D0 defect
	PCI: Move Apex Edge TPU class quirk to fix BAR assignment
	ARM: dts: bcm283x: Disable dsi0 node
	cpumap: Avoid warning when CONFIG_DEBUG_PER_CPU_MAPS is enabled
	net/mlx5: Fix failing fw tracer allocation on s390
	perf/core: fix parent pid/tid in task exit events
	bpf, x86_32: Fix incorrect encoding in BPF_LDX zero-extension
	mm: shmem: disable interrupt when acquiring info->lock in userfaultfd_copy path
	xfs: clear PF_MEMALLOC before exiting xfsaild thread
	bpf, x86: Fix encoding for lower 8-bit registers in BPF_STX BPF_B
	net: fec: set GPR bit on suspend by DT configuration.
	x86: hyperv: report value of misc_features
	xfs: fix partially uninitialized structure in xfs_reflink_remap_extent
	ALSA: hda: Keep the controller initialization even if no codecs found
	ALSA: hda: Explicitly permit using autosuspend if runtime PM is supported
	scsi: target: fix PR IN / READ FULL STATUS for FC
	scsi: target: tcmu: reset_ring should reset TCMU_DEV_BIT_BROKEN
	objtool: Fix CONFIG_UBSAN_TRAP unreachable warnings
	objtool: Support Clang non-section symbols in ORC dump
	xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status
	ALSA: hda: call runtime_allow() for all hda controllers
	arm64: Delete the space separator in __emit_inst
	ext4: use matching invalidatepage in ext4_writepage
	ext4: increase wait time needed before reuse of deleted inode numbers
	ext4: convert BUG_ON's to WARN_ON's in mballoc.c
	hwmon: (jc42) Fix name to have no illegal characters
	bpf, x86_32: Fix clobbering of dst for BPF_JSET
	qed: Fix use after free in qed_chain_free
	ext4: check for non-zero journal inum in ext4_calculate_overhead
	propagate_one(): mnt_set_mountpoint() needs mount_lock
	Linux 4.19.120

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ied3c507eb5bd85c39aff278827e534cf150e2cc0
2020-05-03 08:48:02 +02:00
Tyler Hicks
b4b9073a8a binder: take read mode of mmap_sem in binder_alloc_free_page()
commit 60d4885710836595192c42d3e04b27551d30ec91 upstream.

Restore the behavior of locking mmap_sem for reading in
binder_alloc_free_page(), as was first done in commit 3013bf62b67a
("binder: reduce mmap_sem write-side lock"). That change was
inadvertently reverted by commit 5cec2d2e5839 ("binder: fix race between
munmap() and direct reclaim").

In addition, change the name of the label for the error path to
accurately reflect that we're taking the lock for reading.

Backporting note: This fix is only needed when *both* of the commits
mentioned above are applied. That's an unlikely situation since they
both landed during the development of v5.1 but only one of them is
targeted for stable.

Fixes: 5cec2d2e5839 ("binder: fix race between munmap() and direct reclaim")
Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
Acked-by: Todd Kjos <tkjos@android.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-05-02 17:25:48 +02:00
Greg Kroah-Hartman
e5312e5d68 Merge 4.19.89 into android-4.19
Changes in 4.19.89
	rsi: release skb if rsi_prepare_beacon fails
	arm64: tegra: Fix 'active-low' warning for Jetson TX1 regulator
	sparc64: implement ioremap_uc
	lp: fix sparc64 LPSETTIMEOUT ioctl
	usb: gadget: u_serial: add missing port entry locking
	tty: serial: fsl_lpuart: use the sg count from dma_map_sg
	tty: serial: msm_serial: Fix flow control
	serial: pl011: Fix DMA ->flush_buffer()
	serial: serial_core: Perform NULL checks for break_ctl ops
	serial: ifx6x60: add missed pm_runtime_disable
	autofs: fix a leak in autofs_expire_indirect()
	RDMA/hns: Correct the value of HNS_ROCE_HEM_CHUNK_LEN
	iwlwifi: pcie: don't consider IV len in A-MSDU
	exportfs_decode_fh(): negative pinned may become positive without the parent locked
	audit_get_nd(): don't unlock parent too early
	NFC: nxp-nci: Fix NULL pointer dereference after I2C communication error
	xfrm: release device reference for invalid state
	Input: cyttsp4_core - fix use after free bug
	sched/core: Avoid spurious lock dependencies
	perf/core: Consistently fail fork on allocation failures
	ALSA: pcm: Fix stream lock usage in snd_pcm_period_elapsed()
	drm/sun4i: tcon: Set min division of TCON0_DCLK to 1.
	selftests: kvm: fix build with glibc >= 2.30
	rsxx: add missed destroy_workqueue calls in remove
	net: ep93xx_eth: fix mismatch of request_mem_region in remove
	i2c: core: fix use after free in of_i2c_notify
	serial: core: Allow processing sysrq at port unlock time
	cxgb4vf: fix memleak in mac_hlist initialization
	iwlwifi: mvm: synchronize TID queue removal
	iwlwifi: trans: Clear persistence bit when starting the FW
	iwlwifi: mvm: Send non offchannel traffic via AP sta
	ARM: 8813/1: Make aligned 2-byte getuser()/putuser() atomic on ARMv6+
	audit: Embed key into chunk
	netfilter: nf_tables: don't use position attribute on rule replacement
	ARC: IOC: panic if kernel was started with previously enabled IOC
	net/mlx5: Release resource on error flow
	clk: sunxi-ng: a64: Fix gate bit of DSI DPHY
	ice: Fix NVM mask defines
	dlm: fix possible call to kfree() for non-initialized pointer
	ARM: dts: exynos: Fix LDO13 min values on Odroid XU3/XU4/HC1
	extcon: max8997: Fix lack of path setting in USB device mode
	net: ethernet: ti: cpts: correct debug for expired txq skb
	rtc: s3c-rtc: Avoid using broken ALMYEAR register
	rtc: max77686: Fix the returned value in case of error in 'max77686_rtc_read_time()'
	i40e: don't restart nway if autoneg not supported
	virtchnl: Fix off by one error
	clk: rockchip: fix rk3188 sclk_smc gate data
	clk: rockchip: fix rk3188 sclk_mac_lbtest parameter ordering
	ARM: dts: rockchip: Fix rk3288-rock2 vcc_flash name
	dlm: fix missing idr_destroy for recover_idr
	MIPS: SiByte: Enable ZONE_DMA32 for LittleSur
	net: dsa: mv88e6xxx: Work around mv886e6161 SERDES missing MII_PHYSID2
	scsi: zfcp: update kernel message for invalid FCP_CMND length, it's not the CDB
	scsi: zfcp: drop default switch case which might paper over missing case
	drivers: soc: Allow building the amlogic drivers without ARCH_MESON
	bus: ti-sysc: Fix getting optional clocks in clock_roles
	ARM: dts: imx6: RDU2: fix eGalax touchscreen node
	crypto: ecc - check for invalid values in the key verification test
	crypto: bcm - fix normal/non key hash algorithm failure
	arm64: dts: zynqmp: Fix node names which contain "_"
	pinctrl: qcom: ssbi-gpio: fix gpio-hog related boot issues
	Staging: iio: adt7316: Fix i2c data reading, set the data field
	firmware: raspberrypi: Fix firmware calls with large buffers
	mm/vmstat.c: fix NUMA statistics updates
	clk: rockchip: fix I2S1 clock gate register for rk3328
	clk: rockchip: fix ID of 8ch clock of I2S1 for rk3328
	sctp: count sk_wmem_alloc by skb truesize in sctp_packet_transmit
	regulator: Fix return value of _set_load() stub
	USB: serial: f81534: fix reading old/new IC config
	xfs: extent shifting doesn't fully invalidate page cache
	net-next/hinic:fix a bug in set mac address
	net-next/hinic: fix a bug in rx data flow
	ice: Fix return value from NAPI poll
	ice: Fix possible NULL pointer de-reference
	iomap: FUA is wrong for DIO O_DSYNC writes into unwritten extents
	iomap: sub-block dio needs to zeroout beyond EOF
	iomap: dio data corruption and spurious errors when pipes fill
	iomap: readpages doesn't zero page tail beyond EOF
	iw_cxgb4: only reconnect with MPAv1 if the peer aborts
	MIPS: OCTEON: octeon-platform: fix typing
	net/smc: use after free fix in smc_wr_tx_put_slot()
	math-emu/soft-fp.h: (_FP_ROUND_ZERO) cast 0 to void to fix warning
	nds32: Fix the items of hwcap_str ordering issue.
	rtc: max8997: Fix the returned value in case of error in 'max8997_rtc_read_alarm()'
	rtc: dt-binding: abx80x: fix resistance scale
	ARM: dts: exynos: Use Samsung SoC specific compatible for DWC2 module
	media: coda: fix memory corruption in case more than 32 instances are opened
	media: pulse8-cec: return 0 when invalidating the logical address
	media: cec: report Vendor ID after initialization
	iwlwifi: fix cfg structs for 22000 with different RF modules
	ravb: Clean up duplex handling
	net/ipv6: re-do dad when interface has IFF_NOARP flag change
	dmaengine: coh901318: Fix a double-lock bug
	dmaengine: coh901318: Remove unused variable
	dmaengine: dw-dmac: implement dma protection control setting
	net: qualcomm: rmnet: move null check on dev before dereferecing it
	selftests/powerpc: Allocate base registers
	selftests/powerpc: Skip test instead of failing
	usb: dwc3: debugfs: Properly print/set link state for HS
	usb: dwc3: don't log probe deferrals; but do log other error codes
	ACPI: fix acpi_find_child_device() invocation in acpi_preset_companion()
	f2fs: fix to account preflush command for noflush_merge mode
	f2fs: fix count of seg_freed to make sec_freed correct
	f2fs: change segment to section in f2fs_ioc_gc_range
	ARM: dts: rockchip: Fix the PMU interrupt number for rv1108
	ARM: dts: rockchip: Assign the proper GPIO clocks for rv1108
	f2fs: fix to allow node segment for GC by ioctl path
	sparc: Fix JIT fused branch convergance.
	sparc: Correct ctx->saw_frame_pointer logic.
	nvme: Free ctrl device name on init failure
	dma-mapping: fix return type of dma_set_max_seg_size()
	slimbus: ngd: Fix build error on x86
	altera-stapl: check for a null key before strcasecmp'ing it
	serial: imx: fix error handling in console_setup
	i2c: imx: don't print error message on probe defer
	clk: meson: Fix GXL HDMI PLL fractional bits width
	gpu: host1x: Fix syncpoint ID field size on Tegra186
	lockd: fix decoding of TEST results
	sctp: increase sk_wmem_alloc when head->truesize is increased
	iommu/amd: Fix line-break in error log reporting
	ASoC: rsnd: tidyup registering method for rsnd_kctrl_new()
	ARM: dts: sun4i: Fix gpio-keys warning
	ARM: dts: sun4i: Fix HDMI output DTC warning
	ARM: dts: sun5i: a10s: Fix HDMI output DTC warning
	ARM: dts: r8a779[01]: Disable unconnected LVDS encoders
	ARM: dts: sun7i: Fix HDMI output DTC warning
	ARM: dts: sun8i: a23/a33: Fix OPP DTC warnings
	ARM: dts: sun8i: v3s: Change pinctrl nodes to avoid warning
	dlm: NULL check before kmem_cache_destroy is not needed
	ARM: debug: enable UART1 for socfpga Cyclone5
	can: xilinx: fix return type of ndo_start_xmit function
	nfsd: fix a warning in __cld_pipe_upcall()
	bpf: btf: implement btf_name_valid_identifier()
	bpf: btf: check name validity for various types
	tools: bpftool: fix a bitfield pretty print issue
	ASoC: au8540: use 64-bit arithmetic instead of 32-bit
	ARM: OMAP1/2: fix SoC name printing
	arm64: dts: meson-gxl-libretech-cc: fix GPIO lines names
	arm64: dts: meson-gxbb-nanopi-k2: fix GPIO lines names
	arm64: dts: meson-gxbb-odroidc2: fix GPIO lines names
	arm64: dts: meson-gxl-khadas-vim: fix GPIO lines names
	net/x25: fix called/calling length calculation in x25_parse_address_block
	net/x25: fix null_x25_address handling
	tools/bpf: make libbpf _GNU_SOURCE friendly
	clk: mediatek: Drop __init from mtk_clk_register_cpumuxes()
	clk: mediatek: Drop more __init markings for driver probe
	soc: renesas: r8a77970-sysc: Correct names of A2DP/A2CN power domains
	soc: renesas: r8a77980-sysc: Correct names of A2DP[01] power domains
	soc: renesas: r8a77980-sysc: Correct A3VIP[012] power domain hierarchy
	kbuild: disable dtc simple_bus_reg warnings by default
	tcp: make tcp_space() aware of socket backlog
	ARM: dts: mmp2: fix the gpio interrupt cell number
	ARM: dts: realview-pbx: Fix duplicate regulator nodes
	tcp: fix off-by-one bug on aborting window-probing socket
	tcp: fix SNMP under-estimation on failed retransmission
	tcp: fix SNMP TCP timeout under-estimation
	modpost: skip ELF local symbols during section mismatch check
	kbuild: fix single target build for external module
	mtd: fix mtd_oobavail() incoherent returned value
	ARM: dts: pxa: clean up USB controller nodes
	clk: meson: meson8b: fix the offset of vid_pll_dco's N value
	clk: sunxi-ng: h3/h5: Fix CSI_MCLK parent
	clk: qcom: Fix MSM8998 resets
	media: cxd2880-spi: fix probe when dvb_attach fails
	ARM: dts: realview: Fix some more duplicate regulator nodes
	dlm: fix invalid cluster name warning
	net/mlx4_core: Fix return codes of unsupported operations
	pstore/ram: Avoid NULL deref in ftrace merging failure path
	powerpc/math-emu: Update macros from GCC
	clk: renesas: r8a77990: Correct parent clock of DU
	clk: renesas: r8a77995: Correct parent clock of DU
	MIPS: OCTEON: cvmx_pko_mem_debug8: use oldest forward compatible definition
	nfsd: Return EPERM, not EACCES, in some SETATTR cases
	media: uvcvideo: Abstract streaming object lifetime
	tty: serial: qcom_geni_serial: Fix softlock
	ARM: dts: sun8i: h3: Fix the system-control register range
	tty: Don't block on IO when ldisc change is pending
	media: stkwebcam: Bugfix for wrong return values
	firmware: qcom: scm: fix compilation error when disabled
	clk: qcom: gcc-msm8998: Disable halt check of UFS clocks
	sctp: frag_point sanity check
	soc: renesas: r8a77990-sysc: Fix initialization order of 3DG-{A,B}
	mlxsw: spectrum_router: Relax GRE decap matching check
	IB/hfi1: Ignore LNI errors before DC8051 transitions to Polling state
	IB/hfi1: Close VNIC sdma_progress sleep window
	mlx4: Use snprintf instead of complicated strcpy
	usb: mtu3: fix dbginfo in qmu_tx_zlp_error_handler
	clk: renesas: rcar-gen3: Set state when registering SD clocks
	ASoC: max9867: Fix power management
	ARM: dts: sunxi: Fix PMU compatible strings
	ARM: dts: am335x-pdu001: Fix polarity of card detection input
	media: vimc: fix start stream when link is disabled
	net: aquantia: fix RSS table and key sizes
	sched/fair: Scale bandwidth quota and period without losing quota/period ratio precision
	fuse: verify nlink
	fuse: verify attributes
	ALSA: hda/realtek - Enable internal speaker of ASUS UX431FLC
	ALSA: hda/realtek - Enable the headset-mic on a Xiaomi's laptop
	ALSA: hda/realtek - Dell headphone has noise on unmute for ALC236
	ALSA: pcm: oss: Avoid potential buffer overflows
	ALSA: hda - Add mute led support for HP ProBook 645 G4
	Input: synaptics - switch another X1 Carbon 6 to RMI/SMbus
	Input: synaptics-rmi4 - re-enable IRQs in f34v7_do_reflash
	Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers
	Input: goodix - add upside-down quirk for Teclast X89 tablet
	coresight: etm4x: Fix input validation for sysfs.
	Input: Fix memory leak in psxpad_spi_probe
	x86/mm/32: Sync only to VMALLOC_END in vmalloc_sync_all()
	x86/PCI: Avoid AMD FCH XHCI USB PME# from D0 defect
	xfrm interface: fix memory leak on creation
	xfrm interface: avoid corruption on changelink
	xfrm interface: fix list corruption for x-netns
	xfrm interface: fix management of phydev
	CIFS: Fix NULL-pointer dereference in smb2_push_mandatory_locks
	CIFS: Fix SMB2 oplock break processing
	tty: vt: keyboard: reject invalid keycodes
	can: slcan: Fix use-after-free Read in slcan_open
	kernfs: fix ino wrap-around detection
	jbd2: Fix possible overflow in jbd2_log_space_left()
	drm/msm: fix memleak on release
	drm/i810: Prevent underflow in ioctl
	arm64: dts: exynos: Revert "Remove unneeded address space mapping for soc node"
	KVM: arm/arm64: vgic: Don't rely on the wrong pending table
	KVM: x86: do not modify masked bits of shared MSRs
	KVM: x86: fix presentation of TSX feature in ARCH_CAPABILITIES
	KVM: x86: Grab KVM's srcu lock when setting nested state
	crypto: crypto4xx - fix double-free in crypto4xx_destroy_sdr
	crypto: atmel-aes - Fix IV handling when req->nbytes < ivsize
	crypto: af_alg - cast ki_complete ternary op to int
	crypto: ccp - fix uninitialized list head
	crypto: ecdh - fix big endian bug in ECC library
	crypto: user - fix memory leak in crypto_report
	spi: atmel: Fix CS high support
	mwifiex: update set_mac_address logic
	can: ucan: fix non-atomic allocation in completion handler
	RDMA/qib: Validate ->show()/store() callbacks before calling them
	iomap: Fix pipe page leakage during splicing
	thermal: Fix deadlock in thermal thermal_zone_device_check
	vcs: prevent write access to vcsu devices
	binder: Fix race between mmap() and binder_alloc_print_pages()
	binder: Handle start==NULL in binder_update_page_range()
	ALSA: hda - Fix pending unsol events at shutdown
	md/raid0: Fix an error message in raid0_make_request()
	watchdog: aspeed: Fix clock behaviour for ast2600
	perf script: Fix invalid LBR/binary mismatch error
	splice: don't read more than available pipe space
	iomap: partially revert 4721a601099 (simulated directio short read on EFAULT)
	xfs: add missing error check in xfs_prepare_shift()
	ASoC: rsnd: fixup MIX kctrl registration
	KVM: x86: fix out-of-bounds write in KVM_GET_EMULATED_CPUID (CVE-2019-19332)
	net: qrtr: fix memort leak in qrtr_tun_write_iter
	appletalk: Fix potential NULL pointer dereference in unregister_snap_client
	appletalk: Set error code if register_snap_client failed
	Linux 4.19.89

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ie3fa59adde9a7e9a6d4684de0e95de14a8b83d0b
2019-12-13 10:01:10 +01:00
Greg Kroah-Hartman
c79e0f865d Merge 4.19.89 into android-4.19-q
Changes in 4.19.89
	rsi: release skb if rsi_prepare_beacon fails
	arm64: tegra: Fix 'active-low' warning for Jetson TX1 regulator
	sparc64: implement ioremap_uc
	lp: fix sparc64 LPSETTIMEOUT ioctl
	usb: gadget: u_serial: add missing port entry locking
	tty: serial: fsl_lpuart: use the sg count from dma_map_sg
	tty: serial: msm_serial: Fix flow control
	serial: pl011: Fix DMA ->flush_buffer()
	serial: serial_core: Perform NULL checks for break_ctl ops
	serial: ifx6x60: add missed pm_runtime_disable
	autofs: fix a leak in autofs_expire_indirect()
	RDMA/hns: Correct the value of HNS_ROCE_HEM_CHUNK_LEN
	iwlwifi: pcie: don't consider IV len in A-MSDU
	exportfs_decode_fh(): negative pinned may become positive without the parent locked
	audit_get_nd(): don't unlock parent too early
	NFC: nxp-nci: Fix NULL pointer dereference after I2C communication error
	xfrm: release device reference for invalid state
	Input: cyttsp4_core - fix use after free bug
	sched/core: Avoid spurious lock dependencies
	perf/core: Consistently fail fork on allocation failures
	ALSA: pcm: Fix stream lock usage in snd_pcm_period_elapsed()
	drm/sun4i: tcon: Set min division of TCON0_DCLK to 1.
	selftests: kvm: fix build with glibc >= 2.30
	rsxx: add missed destroy_workqueue calls in remove
	net: ep93xx_eth: fix mismatch of request_mem_region in remove
	i2c: core: fix use after free in of_i2c_notify
	serial: core: Allow processing sysrq at port unlock time
	cxgb4vf: fix memleak in mac_hlist initialization
	iwlwifi: mvm: synchronize TID queue removal
	iwlwifi: trans: Clear persistence bit when starting the FW
	iwlwifi: mvm: Send non offchannel traffic via AP sta
	ARM: 8813/1: Make aligned 2-byte getuser()/putuser() atomic on ARMv6+
	audit: Embed key into chunk
	netfilter: nf_tables: don't use position attribute on rule replacement
	ARC: IOC: panic if kernel was started with previously enabled IOC
	net/mlx5: Release resource on error flow
	clk: sunxi-ng: a64: Fix gate bit of DSI DPHY
	ice: Fix NVM mask defines
	dlm: fix possible call to kfree() for non-initialized pointer
	ARM: dts: exynos: Fix LDO13 min values on Odroid XU3/XU4/HC1
	extcon: max8997: Fix lack of path setting in USB device mode
	net: ethernet: ti: cpts: correct debug for expired txq skb
	rtc: s3c-rtc: Avoid using broken ALMYEAR register
	rtc: max77686: Fix the returned value in case of error in 'max77686_rtc_read_time()'
	i40e: don't restart nway if autoneg not supported
	virtchnl: Fix off by one error
	clk: rockchip: fix rk3188 sclk_smc gate data
	clk: rockchip: fix rk3188 sclk_mac_lbtest parameter ordering
	ARM: dts: rockchip: Fix rk3288-rock2 vcc_flash name
	dlm: fix missing idr_destroy for recover_idr
	MIPS: SiByte: Enable ZONE_DMA32 for LittleSur
	net: dsa: mv88e6xxx: Work around mv886e6161 SERDES missing MII_PHYSID2
	scsi: zfcp: update kernel message for invalid FCP_CMND length, it's not the CDB
	scsi: zfcp: drop default switch case which might paper over missing case
	drivers: soc: Allow building the amlogic drivers without ARCH_MESON
	bus: ti-sysc: Fix getting optional clocks in clock_roles
	ARM: dts: imx6: RDU2: fix eGalax touchscreen node
	crypto: ecc - check for invalid values in the key verification test
	crypto: bcm - fix normal/non key hash algorithm failure
	arm64: dts: zynqmp: Fix node names which contain "_"
	pinctrl: qcom: ssbi-gpio: fix gpio-hog related boot issues
	Staging: iio: adt7316: Fix i2c data reading, set the data field
	firmware: raspberrypi: Fix firmware calls with large buffers
	mm/vmstat.c: fix NUMA statistics updates
	clk: rockchip: fix I2S1 clock gate register for rk3328
	clk: rockchip: fix ID of 8ch clock of I2S1 for rk3328
	sctp: count sk_wmem_alloc by skb truesize in sctp_packet_transmit
	regulator: Fix return value of _set_load() stub
	USB: serial: f81534: fix reading old/new IC config
	xfs: extent shifting doesn't fully invalidate page cache
	net-next/hinic:fix a bug in set mac address
	net-next/hinic: fix a bug in rx data flow
	ice: Fix return value from NAPI poll
	ice: Fix possible NULL pointer de-reference
	iomap: FUA is wrong for DIO O_DSYNC writes into unwritten extents
	iomap: sub-block dio needs to zeroout beyond EOF
	iomap: dio data corruption and spurious errors when pipes fill
	iomap: readpages doesn't zero page tail beyond EOF
	iw_cxgb4: only reconnect with MPAv1 if the peer aborts
	MIPS: OCTEON: octeon-platform: fix typing
	net/smc: use after free fix in smc_wr_tx_put_slot()
	math-emu/soft-fp.h: (_FP_ROUND_ZERO) cast 0 to void to fix warning
	nds32: Fix the items of hwcap_str ordering issue.
	rtc: max8997: Fix the returned value in case of error in 'max8997_rtc_read_alarm()'
	rtc: dt-binding: abx80x: fix resistance scale
	ARM: dts: exynos: Use Samsung SoC specific compatible for DWC2 module
	media: coda: fix memory corruption in case more than 32 instances are opened
	media: pulse8-cec: return 0 when invalidating the logical address
	media: cec: report Vendor ID after initialization
	iwlwifi: fix cfg structs for 22000 with different RF modules
	ravb: Clean up duplex handling
	net/ipv6: re-do dad when interface has IFF_NOARP flag change
	dmaengine: coh901318: Fix a double-lock bug
	dmaengine: coh901318: Remove unused variable
	dmaengine: dw-dmac: implement dma protection control setting
	net: qualcomm: rmnet: move null check on dev before dereferecing it
	selftests/powerpc: Allocate base registers
	selftests/powerpc: Skip test instead of failing
	usb: dwc3: debugfs: Properly print/set link state for HS
	usb: dwc3: don't log probe deferrals; but do log other error codes
	ACPI: fix acpi_find_child_device() invocation in acpi_preset_companion()
	f2fs: fix to account preflush command for noflush_merge mode
	f2fs: fix count of seg_freed to make sec_freed correct
	f2fs: change segment to section in f2fs_ioc_gc_range
	ARM: dts: rockchip: Fix the PMU interrupt number for rv1108
	ARM: dts: rockchip: Assign the proper GPIO clocks for rv1108
	f2fs: fix to allow node segment for GC by ioctl path
	sparc: Fix JIT fused branch convergance.
	sparc: Correct ctx->saw_frame_pointer logic.
	nvme: Free ctrl device name on init failure
	dma-mapping: fix return type of dma_set_max_seg_size()
	slimbus: ngd: Fix build error on x86
	altera-stapl: check for a null key before strcasecmp'ing it
	serial: imx: fix error handling in console_setup
	i2c: imx: don't print error message on probe defer
	clk: meson: Fix GXL HDMI PLL fractional bits width
	gpu: host1x: Fix syncpoint ID field size on Tegra186
	lockd: fix decoding of TEST results
	sctp: increase sk_wmem_alloc when head->truesize is increased
	iommu/amd: Fix line-break in error log reporting
	ASoC: rsnd: tidyup registering method for rsnd_kctrl_new()
	ARM: dts: sun4i: Fix gpio-keys warning
	ARM: dts: sun4i: Fix HDMI output DTC warning
	ARM: dts: sun5i: a10s: Fix HDMI output DTC warning
	ARM: dts: r8a779[01]: Disable unconnected LVDS encoders
	ARM: dts: sun7i: Fix HDMI output DTC warning
	ARM: dts: sun8i: a23/a33: Fix OPP DTC warnings
	ARM: dts: sun8i: v3s: Change pinctrl nodes to avoid warning
	dlm: NULL check before kmem_cache_destroy is not needed
	ARM: debug: enable UART1 for socfpga Cyclone5
	can: xilinx: fix return type of ndo_start_xmit function
	nfsd: fix a warning in __cld_pipe_upcall()
	bpf: btf: implement btf_name_valid_identifier()
	bpf: btf: check name validity for various types
	tools: bpftool: fix a bitfield pretty print issue
	ASoC: au8540: use 64-bit arithmetic instead of 32-bit
	ARM: OMAP1/2: fix SoC name printing
	arm64: dts: meson-gxl-libretech-cc: fix GPIO lines names
	arm64: dts: meson-gxbb-nanopi-k2: fix GPIO lines names
	arm64: dts: meson-gxbb-odroidc2: fix GPIO lines names
	arm64: dts: meson-gxl-khadas-vim: fix GPIO lines names
	net/x25: fix called/calling length calculation in x25_parse_address_block
	net/x25: fix null_x25_address handling
	tools/bpf: make libbpf _GNU_SOURCE friendly
	clk: mediatek: Drop __init from mtk_clk_register_cpumuxes()
	clk: mediatek: Drop more __init markings for driver probe
	soc: renesas: r8a77970-sysc: Correct names of A2DP/A2CN power domains
	soc: renesas: r8a77980-sysc: Correct names of A2DP[01] power domains
	soc: renesas: r8a77980-sysc: Correct A3VIP[012] power domain hierarchy
	kbuild: disable dtc simple_bus_reg warnings by default
	tcp: make tcp_space() aware of socket backlog
	ARM: dts: mmp2: fix the gpio interrupt cell number
	ARM: dts: realview-pbx: Fix duplicate regulator nodes
	tcp: fix off-by-one bug on aborting window-probing socket
	tcp: fix SNMP under-estimation on failed retransmission
	tcp: fix SNMP TCP timeout under-estimation
	modpost: skip ELF local symbols during section mismatch check
	kbuild: fix single target build for external module
	mtd: fix mtd_oobavail() incoherent returned value
	ARM: dts: pxa: clean up USB controller nodes
	clk: meson: meson8b: fix the offset of vid_pll_dco's N value
	clk: sunxi-ng: h3/h5: Fix CSI_MCLK parent
	clk: qcom: Fix MSM8998 resets
	media: cxd2880-spi: fix probe when dvb_attach fails
	ARM: dts: realview: Fix some more duplicate regulator nodes
	dlm: fix invalid cluster name warning
	net/mlx4_core: Fix return codes of unsupported operations
	pstore/ram: Avoid NULL deref in ftrace merging failure path
	powerpc/math-emu: Update macros from GCC
	clk: renesas: r8a77990: Correct parent clock of DU
	clk: renesas: r8a77995: Correct parent clock of DU
	MIPS: OCTEON: cvmx_pko_mem_debug8: use oldest forward compatible definition
	nfsd: Return EPERM, not EACCES, in some SETATTR cases
	media: uvcvideo: Abstract streaming object lifetime
	tty: serial: qcom_geni_serial: Fix softlock
	ARM: dts: sun8i: h3: Fix the system-control register range
	tty: Don't block on IO when ldisc change is pending
	media: stkwebcam: Bugfix for wrong return values
	firmware: qcom: scm: fix compilation error when disabled
	clk: qcom: gcc-msm8998: Disable halt check of UFS clocks
	sctp: frag_point sanity check
	soc: renesas: r8a77990-sysc: Fix initialization order of 3DG-{A,B}
	mlxsw: spectrum_router: Relax GRE decap matching check
	IB/hfi1: Ignore LNI errors before DC8051 transitions to Polling state
	IB/hfi1: Close VNIC sdma_progress sleep window
	mlx4: Use snprintf instead of complicated strcpy
	usb: mtu3: fix dbginfo in qmu_tx_zlp_error_handler
	clk: renesas: rcar-gen3: Set state when registering SD clocks
	ASoC: max9867: Fix power management
	ARM: dts: sunxi: Fix PMU compatible strings
	ARM: dts: am335x-pdu001: Fix polarity of card detection input
	media: vimc: fix start stream when link is disabled
	net: aquantia: fix RSS table and key sizes
	sched/fair: Scale bandwidth quota and period without losing quota/period ratio precision
	fuse: verify nlink
	fuse: verify attributes
	ALSA: hda/realtek - Enable internal speaker of ASUS UX431FLC
	ALSA: hda/realtek - Enable the headset-mic on a Xiaomi's laptop
	ALSA: hda/realtek - Dell headphone has noise on unmute for ALC236
	ALSA: pcm: oss: Avoid potential buffer overflows
	ALSA: hda - Add mute led support for HP ProBook 645 G4
	Input: synaptics - switch another X1 Carbon 6 to RMI/SMbus
	Input: synaptics-rmi4 - re-enable IRQs in f34v7_do_reflash
	Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers
	Input: goodix - add upside-down quirk for Teclast X89 tablet
	coresight: etm4x: Fix input validation for sysfs.
	Input: Fix memory leak in psxpad_spi_probe
	x86/mm/32: Sync only to VMALLOC_END in vmalloc_sync_all()
	x86/PCI: Avoid AMD FCH XHCI USB PME# from D0 defect
	xfrm interface: fix memory leak on creation
	xfrm interface: avoid corruption on changelink
	xfrm interface: fix list corruption for x-netns
	xfrm interface: fix management of phydev
	CIFS: Fix NULL-pointer dereference in smb2_push_mandatory_locks
	CIFS: Fix SMB2 oplock break processing
	tty: vt: keyboard: reject invalid keycodes
	can: slcan: Fix use-after-free Read in slcan_open
	kernfs: fix ino wrap-around detection
	jbd2: Fix possible overflow in jbd2_log_space_left()
	drm/msm: fix memleak on release
	drm/i810: Prevent underflow in ioctl
	arm64: dts: exynos: Revert "Remove unneeded address space mapping for soc node"
	KVM: arm/arm64: vgic: Don't rely on the wrong pending table
	KVM: x86: do not modify masked bits of shared MSRs
	KVM: x86: fix presentation of TSX feature in ARCH_CAPABILITIES
	KVM: x86: Grab KVM's srcu lock when setting nested state
	crypto: crypto4xx - fix double-free in crypto4xx_destroy_sdr
	crypto: atmel-aes - Fix IV handling when req->nbytes < ivsize
	crypto: af_alg - cast ki_complete ternary op to int
	crypto: ccp - fix uninitialized list head
	crypto: ecdh - fix big endian bug in ECC library
	crypto: user - fix memory leak in crypto_report
	spi: atmel: Fix CS high support
	mwifiex: update set_mac_address logic
	can: ucan: fix non-atomic allocation in completion handler
	RDMA/qib: Validate ->show()/store() callbacks before calling them
	iomap: Fix pipe page leakage during splicing
	thermal: Fix deadlock in thermal thermal_zone_device_check
	vcs: prevent write access to vcsu devices
	binder: Fix race between mmap() and binder_alloc_print_pages()
	binder: Handle start==NULL in binder_update_page_range()
	ALSA: hda - Fix pending unsol events at shutdown
	md/raid0: Fix an error message in raid0_make_request()
	watchdog: aspeed: Fix clock behaviour for ast2600
	perf script: Fix invalid LBR/binary mismatch error
	splice: don't read more than available pipe space
	iomap: partially revert 4721a601099 (simulated directio short read on EFAULT)
	xfs: add missing error check in xfs_prepare_shift()
	ASoC: rsnd: fixup MIX kctrl registration
	KVM: x86: fix out-of-bounds write in KVM_GET_EMULATED_CPUID (CVE-2019-19332)
	net: qrtr: fix memort leak in qrtr_tun_write_iter
	appletalk: Fix potential NULL pointer dereference in unregister_snap_client
	appletalk: Set error code if register_snap_client failed
	Linux 4.19.89

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ib03743db658afb561f36bf513e38754eed704fef
2019-12-13 09:07:59 +01:00
Jann Horn
af0174a63c binder: Handle start==NULL in binder_update_page_range()
commit 2a9edd056ed4fbf9d2e797c3fc06335af35bccc4 upstream.

The old loop wouldn't stop when reaching `start` if `start==NULL`, instead
continuing backwards to index -1 and crashing.

Luckily you need to be highly privileged to map things at NULL, so it's not
a big problem.

Fix it by adjusting the loop so that the loop variable is always in bounds.

This patch is deliberately minimal to simplify backporting, but IMO this
function could use a refactor. The jump labels in the second loop body are
horrible (the error gotos should be jumping to free_range instead), and
both loops would look nicer if they just iterated upwards through indices.
And the up_read()+mmput() shouldn't be duplicated like that.

Cc: stable@vger.kernel.org
Fixes: 457b9a6f09 ("Staging: android: add binder driver")
Signed-off-by: Jann Horn <jannh@google.com>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Link: https://lore.kernel.org/r/20191018205631.248274-3-jannh@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-12-13 08:52:52 +01:00
Jann Horn
fe0d31eddb binder: Fix race between mmap() and binder_alloc_print_pages()
commit 8eb52a1ee37aafd9b796713aa0b3ab9cbc455be3 upstream.

binder_alloc_print_pages() iterates over
alloc->pages[0..alloc->buffer_size-1] under alloc->mutex.
binder_alloc_mmap_handler() writes alloc->pages and alloc->buffer_size
without holding that lock, and even writes them before the last bailout
point.

Unfortunately we can't take the alloc->mutex in the ->mmap() handler
because mmap_sem can be taken while alloc->mutex is held.
So instead, we have to locklessly check whether the binder_alloc has been
fully initialized with binder_alloc_get_vma(), like in
binder_alloc_new_buf_locked().

Fixes: 8ef4665aa1 ("android: binder: Add page usage in binder stats")
Cc: stable@vger.kernel.org
Signed-off-by: Jann Horn <jannh@google.com>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Link: https://lore.kernel.org/r/20191018205631.248274-1-jannh@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-12-13 08:52:51 +01:00
Todd Kjos
f2960407ae binder: fix race between munmap() and direct reclaim
commit 5cec2d2e5839f9c0fec319c523a911e0a7fd299f upstream.

An munmap() on a binder device causes binder_vma_close() to be called
which clears the alloc->vma pointer.

If direct reclaim causes binder_alloc_free_page() to be called, there
is a race where alloc->vma is read into a local vma pointer and then
used later after the mm->mmap_sem is acquired. This can result in
calling zap_page_range() with an invalid vma which manifests as a
use-after-free in zap_page_range().

The fix is to check alloc->vma after acquiring the mmap_sem (which we
were acquiring anyway) and skip zap_page_range() if it has changed
to NULL.

Cc: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Todd Kjos <tkjos@google.com>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Cc: stable <stable@vger.kernel.org> # 4.19
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-12 11:23:12 -07:00
Todd Kjos
5bef1a256e Revert "binder: fix handling of misaligned binder object"
This reverts commit 6bf7d3c5c0.
2019-06-12 11:23:01 -07:00
Todd Kjos
9d57cfd4e9 binder: fix race between munmap() and direct reclaim
commit 5cec2d2e5839f9c0fec319c523a911e0a7fd299f upstream.

An munmap() on a binder device causes binder_vma_close() to be called
which clears the alloc->vma pointer.

If direct reclaim causes binder_alloc_free_page() to be called, there
is a race where alloc->vma is read into a local vma pointer and then
used later after the mm->mmap_sem is acquired. This can result in
calling zap_page_range() with an invalid vma which manifests as a
use-after-free in zap_page_range().

The fix is to check alloc->vma after acquiring the mmap_sem (which we
were acquiring anyway) and skip zap_page_range() if it has changed
to NULL.

Cc: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Todd Kjos <tkjos@google.com>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Cc: stable <stable@vger.kernel.org> # 4.19
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-09 09:17:23 +02:00
Todd Kjos
137c838f17 Revert "binder: fix handling of misaligned binder object"
This reverts commit 6bf7d3c5c0.

The commit message is for a different patch. Reverting and then adding
the same patch back with the correct commit message.

Reported-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Cc: stable <stable@vger.kernel.org> # 4.19
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-09 09:17:23 +02:00
Greg Kroah-Hartman
d41dc00842 Merge 4.19.38 into android-4.19-q
Changes in 4.19.38
	netfilter: nft_compat: use refcnt_t type for nft_xt reference count
	netfilter: nft_compat: make lists per netns
	netfilter: nf_tables: split set destruction in deactivate and destroy phase
	netfilter: nft_compat: destroy function must not have side effects
	netfilter: nf_tables: warn when expr implements only one of activate/deactivate
	netfilter: nf_tables: unbind set in rule from commit path
	netfilter: nft_compat: don't use refcount_inc on newly allocated entry
	netfilter: nft_compat: use .release_ops and remove list of extension
	netfilter: nf_tables: fix set double-free in abort path
	netfilter: nf_tables: bogus EBUSY when deleting set after flush
	netfilter: nf_tables: bogus EBUSY in helper removal from transaction
	net/ibmvnic: Fix RTNL deadlock during device reset
	net: mvpp2: fix validate for PPv2.1
	ext4: fix some error pointer dereferences
	tipc: handle the err returned from cmd header function
	loop: do not print warn message if partition scan is successful
	drm/rockchip: fix for mailbox read validation.
	vsock/virtio: fix kernel panic from virtio_transport_reset_no_sock
	ipvs: fix warning on unused variable
	powerpc/vdso32: fix CLOCK_MONOTONIC on PPC64
	ALSA: hda/ca0132 - Fix build error without CONFIG_PCI
	net: dsa: mv88e6xxx: add call to mv88e6xxx_ports_cmode_init to probe for new DSA framework
	cifs: fix memory leak in SMB2_read
	cifs: do not attempt cifs operation on smb2+ rename error
	tracing: Fix a memory leak by early error exit in trace_pid_write()
	tracing: Fix buffer_ref pipe ops
	gpio: eic: sprd: Fix incorrect irq type setting for the sync EIC
	zram: pass down the bvec we need to read into in the work struct
	lib/Kconfig.debug: fix build error without CONFIG_BLOCK
	MIPS: scall64-o32: Fix indirect syscall number load
	trace: Fix preempt_enable_no_resched() abuse
	IB/rdmavt: Fix frwr memory registration
	RDMA/mlx5: Do not allow the user to write to the clock page
	sched/numa: Fix a possible divide-by-zero
	ceph: only use d_name directly when parent is locked
	ceph: ensure d_name stability in ceph_dentry_hash()
	ceph: fix ci->i_head_snapc leak
	nfsd: Don't release the callback slot unless it was actually held
	sunrpc: don't mark uninitialised items as VALID.
	perf/x86/intel: Update KBL Package C-state events to also include PC8/PC9/PC10 counters
	Input: synaptics-rmi4 - write config register values to the right offset
	vfio/type1: Limit DMA mappings per container
	dmaengine: sh: rcar-dmac: With cyclic DMA residue 0 is valid
	dmaengine: sh: rcar-dmac: Fix glitch in dmaengine_tx_status
	ARM: 8857/1: efi: enable CP15 DMB instructions before cleaning the cache
	powerpc/mm/radix: Make Radix require HUGETLB_PAGE
	drm/vc4: Fix memory leak during gpu reset.
	Revert "drm/i915/fbdev: Actually configure untiled displays"
	drm/vc4: Fix compilation error reported by kbuild test bot
	USB: Add new USB LPM helpers
	USB: Consolidate LPM checks to avoid enabling LPM twice
	slip: make slhc_free() silently accept an error pointer
	intel_th: gth: Fix an off-by-one in output unassigning
	fs/proc/proc_sysctl.c: Fix a NULL pointer dereference
	workqueue: Try to catch flush_work() without INIT_WORK().
	binder: fix handling of misaligned binder object
	sched/deadline: Correctly handle active 0-lag timers
	NFS: Forbid setting AF_INET6 to "struct sockaddr_in"->sin_family.
	netfilter: ebtables: CONFIG_COMPAT: drop a bogus WARN_ON
	fm10k: Fix a potential NULL pointer dereference
	tipc: check bearer name with right length in tipc_nl_compat_bearer_enable
	tipc: check link name with right length in tipc_nl_compat_link_set
	net: netrom: Fix error cleanup path of nr_proto_init
	net/rds: Check address length before reading address family
	rxrpc: fix race condition in rxrpc_input_packet()
	aio: clear IOCB_HIPRI
	aio: use assigned completion handler
	aio: separate out ring reservation from req allocation
	aio: don't zero entire aio_kiocb aio_get_req()
	aio: use iocb_put() instead of open coding it
	aio: split out iocb copy from io_submit_one()
	aio: abstract out io_event filler helper
	aio: initialize kiocb private in case any filesystems expect it.
	aio: simplify - and fix - fget/fput for io_submit()
	pin iocb through aio.
	aio: fold lookup_kiocb() into its sole caller
	aio: keep io_event in aio_kiocb
	aio: store event at final iocb_put()
	Fix aio_poll() races
	x86, retpolines: Raise limit for generating indirect calls from switch-case
	x86/retpolines: Disable switch jump tables when retpolines are enabled
	mm: Fix warning in insert_pfn()
	x86/fpu: Don't export __kernel_fpu_{begin,end}()
	ipv4: add sanity checks in ipv4_link_failure()
	ipv4: set the tcp_min_rtt_wlen range from 0 to one day
	mlxsw: spectrum: Fix autoneg status in ethtool
	net/mlx5e: ethtool, Remove unsupported SFP EEPROM high pages query
	net: rds: exchange of 8K and 1M pool
	net/rose: fix unbound loop in rose_loopback_timer()
	net: stmmac: move stmmac_check_ether_addr() to driver probe
	net/tls: fix refcount adjustment in fallback
	stmmac: pci: Adjust IOT2000 matching
	team: fix possible recursive locking when add slaves
	net: hns: Fix WARNING when hns modules installed
	mlxsw: pci: Reincrease PCI reset timeout
	mlxsw: spectrum: Put MC TCs into DWRR mode
	net/mlx5e: Fix the max MTU check in case of XDP
	net/mlx5e: Fix use-after-free after xdp_return_frame
	net/tls: avoid potential deadlock in tls_set_device_offload_rx()
	net/tls: don't leak IV and record seq when offload fails
	powerpc/fsl: Add FSL_PPC_BOOK3E as supported arch for nospectre_v2 boot arg
	Linux 4.19.38

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-05-02 10:14:00 +02:00
Greg Kroah-Hartman
5e7b4fbe36 Merge 4.19.38 into android-4.19
Changes in 4.19.38
	netfilter: nft_compat: use refcnt_t type for nft_xt reference count
	netfilter: nft_compat: make lists per netns
	netfilter: nf_tables: split set destruction in deactivate and destroy phase
	netfilter: nft_compat: destroy function must not have side effects
	netfilter: nf_tables: warn when expr implements only one of activate/deactivate
	netfilter: nf_tables: unbind set in rule from commit path
	netfilter: nft_compat: don't use refcount_inc on newly allocated entry
	netfilter: nft_compat: use .release_ops and remove list of extension
	netfilter: nf_tables: fix set double-free in abort path
	netfilter: nf_tables: bogus EBUSY when deleting set after flush
	netfilter: nf_tables: bogus EBUSY in helper removal from transaction
	net/ibmvnic: Fix RTNL deadlock during device reset
	net: mvpp2: fix validate for PPv2.1
	ext4: fix some error pointer dereferences
	tipc: handle the err returned from cmd header function
	loop: do not print warn message if partition scan is successful
	drm/rockchip: fix for mailbox read validation.
	vsock/virtio: fix kernel panic from virtio_transport_reset_no_sock
	ipvs: fix warning on unused variable
	powerpc/vdso32: fix CLOCK_MONOTONIC on PPC64
	ALSA: hda/ca0132 - Fix build error without CONFIG_PCI
	net: dsa: mv88e6xxx: add call to mv88e6xxx_ports_cmode_init to probe for new DSA framework
	cifs: fix memory leak in SMB2_read
	cifs: do not attempt cifs operation on smb2+ rename error
	tracing: Fix a memory leak by early error exit in trace_pid_write()
	tracing: Fix buffer_ref pipe ops
	gpio: eic: sprd: Fix incorrect irq type setting for the sync EIC
	zram: pass down the bvec we need to read into in the work struct
	lib/Kconfig.debug: fix build error without CONFIG_BLOCK
	MIPS: scall64-o32: Fix indirect syscall number load
	trace: Fix preempt_enable_no_resched() abuse
	IB/rdmavt: Fix frwr memory registration
	RDMA/mlx5: Do not allow the user to write to the clock page
	sched/numa: Fix a possible divide-by-zero
	ceph: only use d_name directly when parent is locked
	ceph: ensure d_name stability in ceph_dentry_hash()
	ceph: fix ci->i_head_snapc leak
	nfsd: Don't release the callback slot unless it was actually held
	sunrpc: don't mark uninitialised items as VALID.
	perf/x86/intel: Update KBL Package C-state events to also include PC8/PC9/PC10 counters
	Input: synaptics-rmi4 - write config register values to the right offset
	vfio/type1: Limit DMA mappings per container
	dmaengine: sh: rcar-dmac: With cyclic DMA residue 0 is valid
	dmaengine: sh: rcar-dmac: Fix glitch in dmaengine_tx_status
	ARM: 8857/1: efi: enable CP15 DMB instructions before cleaning the cache
	powerpc/mm/radix: Make Radix require HUGETLB_PAGE
	drm/vc4: Fix memory leak during gpu reset.
	Revert "drm/i915/fbdev: Actually configure untiled displays"
	drm/vc4: Fix compilation error reported by kbuild test bot
	USB: Add new USB LPM helpers
	USB: Consolidate LPM checks to avoid enabling LPM twice
	slip: make slhc_free() silently accept an error pointer
	intel_th: gth: Fix an off-by-one in output unassigning
	fs/proc/proc_sysctl.c: Fix a NULL pointer dereference
	workqueue: Try to catch flush_work() without INIT_WORK().
	binder: fix handling of misaligned binder object
	sched/deadline: Correctly handle active 0-lag timers
	NFS: Forbid setting AF_INET6 to "struct sockaddr_in"->sin_family.
	netfilter: ebtables: CONFIG_COMPAT: drop a bogus WARN_ON
	fm10k: Fix a potential NULL pointer dereference
	tipc: check bearer name with right length in tipc_nl_compat_bearer_enable
	tipc: check link name with right length in tipc_nl_compat_link_set
	net: netrom: Fix error cleanup path of nr_proto_init
	net/rds: Check address length before reading address family
	rxrpc: fix race condition in rxrpc_input_packet()
	aio: clear IOCB_HIPRI
	aio: use assigned completion handler
	aio: separate out ring reservation from req allocation
	aio: don't zero entire aio_kiocb aio_get_req()
	aio: use iocb_put() instead of open coding it
	aio: split out iocb copy from io_submit_one()
	aio: abstract out io_event filler helper
	aio: initialize kiocb private in case any filesystems expect it.
	aio: simplify - and fix - fget/fput for io_submit()
	pin iocb through aio.
	aio: fold lookup_kiocb() into its sole caller
	aio: keep io_event in aio_kiocb
	aio: store event at final iocb_put()
	Fix aio_poll() races
	x86, retpolines: Raise limit for generating indirect calls from switch-case
	x86/retpolines: Disable switch jump tables when retpolines are enabled
	mm: Fix warning in insert_pfn()
	x86/fpu: Don't export __kernel_fpu_{begin,end}()
	ipv4: add sanity checks in ipv4_link_failure()
	ipv4: set the tcp_min_rtt_wlen range from 0 to one day
	mlxsw: spectrum: Fix autoneg status in ethtool
	net/mlx5e: ethtool, Remove unsupported SFP EEPROM high pages query
	net: rds: exchange of 8K and 1M pool
	net/rose: fix unbound loop in rose_loopback_timer()
	net: stmmac: move stmmac_check_ether_addr() to driver probe
	net/tls: fix refcount adjustment in fallback
	stmmac: pci: Adjust IOT2000 matching
	team: fix possible recursive locking when add slaves
	net: hns: Fix WARNING when hns modules installed
	mlxsw: pci: Reincrease PCI reset timeout
	mlxsw: spectrum: Put MC TCs into DWRR mode
	net/mlx5e: Fix the max MTU check in case of XDP
	net/mlx5e: Fix use-after-free after xdp_return_frame
	net/tls: avoid potential deadlock in tls_set_device_offload_rx()
	net/tls: don't leak IV and record seq when offload fails
	powerpc/fsl: Add FSL_PPC_BOOK3E as supported arch for nospectre_v2 boot arg
	Linux 4.19.38

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-05-02 10:13:34 +02:00
Todd Kjos
6bf7d3c5c0 binder: fix handling of misaligned binder object
commit 26528be6720bb40bc8844e97ee73a37e530e9c5e upstream.

Fixes crash found by syzbot:
kernel BUG at drivers/android/binder_alloc.c:LINE! (2)

Reported-and-tested-by: syzbot+55de1eb4975dec156d8f@syzkaller.appspotmail.com
Signed-off-by: Todd Kjos <tkjos@google.com>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Cc: stable <stable@vger.kernel.org> # 5.0, 4.19, 4.14
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-02 09:58:56 +02:00
Todd Kjos
3d4f1ad199 BACKPORT: binder: use userspace pointer as base of buffer space
Now that alloc->buffer points to the userspace vm_area
rename buffer->data to buffer->user_data and rename
local pointers that hold user addresses. Also use the
"__user" tag to annotate all user pointers so sparse
can flag cases where user pointer vaues  are copied to
kernel pointers. Refactor code to use offsets instead
of user pointers.

(cherry pick from commit bde4a19fc04f5f46298c86b1acb7a4af1d5f138d)
Bug: 67668716
Change-Id: I9d04b844c5994d1f6214da795799e6b373bc9816
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-03-25 15:08:18 -07:00
Todd Kjos
4b468c5960 BACKPORT: binder: remove user_buffer_offset
Remove user_buffer_offset since there is no kernel
buffer pointer anymore.

(cherry pick from commit c41358a5f5217abd7c051e8d42397e5b80f3b3ed)
Bug: 67668716
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Change-Id: I399219867704dc5013453a7738193c742fc970ad
2019-03-25 15:08:18 -07:00
Todd Kjos
24e7f7a7fb UPSTREAM: binder: remove kernel vm_area for buffer space
Remove the kernel's vm_area and the code that maps
buffer pages into it.

(cherry pick from commit 880211667b203dd32724f3be224c44c0400aa0a6)
Bug: 67668716
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Change-Id: I2595bb8416c2bbfcf97ad3d7380ae94e29c209fb
2019-03-25 15:08:18 -07:00
Todd Kjos
06c24270db BACKPORT: binder: add functions to copy to/from binder buffers
Avoid vm_area when copying to or from binder buffers.
Instead, new copy functions are added that copy from
kernel space to binder buffer space. These use
kmap_atomic() and kunmap_atomic() to create temporary
mappings and then memcpy() is used to copy within
that page.

Also, kmap_atomic() / kunmap_atomic() use the appropriate
cache flushing to support VIVT cache architectures.
Allow binder to build if CPU_CACHE_VIVT is defined.

Several uses of the new functions are added here. More
to follow in subsequent patches.

(cherry picked from commit 8ced0c6231ead26eca8cb416dcb7cc1c2cdd41d8)
Bug: 67668716
Change-Id: I6a93d2396d0a80c352a1d563fc7fb523a753e38c
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-03-25 15:08:18 -07:00
Todd Kjos
5f245a9018 UPSTREAM: binder: create userspace-to-binder-buffer copy function
The binder driver uses a vm_area to map the per-process
binder buffer space. For 32-bit android devices, this is
now taking too much vmalloc space. This patch removes
the use of vm_area when copying the transaction data
from the sender to the buffer space. Instead of using
copy_from_user() for multi-page copies, it now uses
binder_alloc_copy_user_to_buffer() which uses kmap()
and kunmap() to map each page, and uses copy_from_user()
for copying to that page.

(cherry picked from 1a7c3d9bb7a926e88d5f57643e75ad1abfc55013)
Bug: 67668716
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Change-Id: I59ff83455984fce4626476e30601ed8b99858a92
2019-03-25 15:08:18 -07:00
Todd Kjos
553927d6aa binder: fix race that allows malicious free of live buffer
commit 7bada55ab50697861eee6bb7d60b41e68a961a9c upstream.

Malicious code can attempt to free buffers using the BC_FREE_BUFFER
ioctl to binder. There are protections against a user freeing a buffer
while in use by the kernel, however there was a window where
BC_FREE_BUFFER could be used to free a recently allocated buffer that
was not completely initialized. This resulted in a use-after-free
detected by KASAN with a malicious test program.

This window is closed by setting the buffer's allow_user_free attribute
to 0 when the buffer is allocated or when the user has previously freed
it instead of waiting for the caller to set it. The problem was that
when the struct buffer was recycled, allow_user_free was stale and set
to 1 allowing a free to go through.

Signed-off-by: Todd Kjos <tkjos@google.com>
Acked-by: Arve Hjønnevåg <arve@android.com>
Cc: stable <stable@vger.kernel.org> # 4.14
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-12-05 19:32:11 +01:00
Minchan Kim
da1b9564e8 android: binder: fix the race mmap and alloc_new_buf_locked
There is RaceFuzzer report like below because we have no lock to close
below the race between binder_mmap and binder_alloc_new_buf_locked.
To close the race, let's use memory barrier so that if someone see
alloc->vma is not NULL, alloc->vma_vm_mm should be never NULL.

(I didn't add stable mark intentionallybecause standard android
userspace libraries that interact with binder (libbinder & libhwbinder)
prevent the mmap/ioctl race. - from Todd)

"
Thread interleaving:
CPU0 (binder_alloc_mmap_handler)              CPU1 (binder_alloc_new_buf_locked)
=====                                         =====
// drivers/android/binder_alloc.c
// #L718 (v4.18-rc3)
alloc->vma = vma;
                                              // drivers/android/binder_alloc.c
                                              // #L346 (v4.18-rc3)
                                              if (alloc->vma == NULL) {
                                                  ...
                                                  // alloc->vma is not NULL at this point
                                                  return ERR_PTR(-ESRCH);
                                              }
                                              ...
                                              // #L438
                                              binder_update_page_range(alloc, 0,
                                                      (void *)PAGE_ALIGN((uintptr_t)buffer->data),
                                                      end_page_addr);

                                              // In binder_update_page_range() #L218
                                              // But still alloc->vma_vm_mm is NULL here
                                              if (need_mm && mmget_not_zero(alloc->vma_vm_mm))
alloc->vma_vm_mm = vma->vm_mm;

Crash Log:
==================================================================
BUG: KASAN: null-ptr-deref in __atomic_add_unless include/asm-generic/atomic-instrumented.h:89 [inline]
BUG: KASAN: null-ptr-deref in atomic_add_unless include/linux/atomic.h:533 [inline]
BUG: KASAN: null-ptr-deref in mmget_not_zero include/linux/sched/mm.h:75 [inline]
BUG: KASAN: null-ptr-deref in binder_update_page_range+0xece/0x18e0 drivers/android/binder_alloc.c:218
Write of size 4 at addr 0000000000000058 by task syz-executor0/11184

CPU: 1 PID: 11184 Comm: syz-executor0 Not tainted 4.18.0-rc3 #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x16e/0x22c lib/dump_stack.c:113
 kasan_report_error mm/kasan/report.c:352 [inline]
 kasan_report+0x163/0x380 mm/kasan/report.c:412
 check_memory_region_inline mm/kasan/kasan.c:260 [inline]
 check_memory_region+0x140/0x1a0 mm/kasan/kasan.c:267
 kasan_check_write+0x14/0x20 mm/kasan/kasan.c:278
 __atomic_add_unless include/asm-generic/atomic-instrumented.h:89 [inline]
 atomic_add_unless include/linux/atomic.h:533 [inline]
 mmget_not_zero include/linux/sched/mm.h:75 [inline]
 binder_update_page_range+0xece/0x18e0 drivers/android/binder_alloc.c:218
 binder_alloc_new_buf_locked drivers/android/binder_alloc.c:443 [inline]
 binder_alloc_new_buf+0x467/0xc30 drivers/android/binder_alloc.c:513
 binder_transaction+0x125b/0x4fb0 drivers/android/binder.c:2957
 binder_thread_write+0xc08/0x2770 drivers/android/binder.c:3528
 binder_ioctl_write_read.isra.39+0x24f/0x8e0 drivers/android/binder.c:4456
 binder_ioctl+0xa86/0xf34 drivers/android/binder.c:4596
 vfs_ioctl fs/ioctl.c:46 [inline]
 do_vfs_ioctl+0x154/0xd40 fs/ioctl.c:686
 ksys_ioctl+0x94/0xb0 fs/ioctl.c:701
 __do_sys_ioctl fs/ioctl.c:708 [inline]
 __se_sys_ioctl fs/ioctl.c:706 [inline]
 __x64_sys_ioctl+0x43/0x50 fs/ioctl.c:706
 do_syscall_64+0x167/0x4b0 arch/x86/entry/common.c:290
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
"

Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Minchan Kim <minchan@kernel.org>
Reviewed-by: Martijn Coenen <maco@android.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-09-12 09:18:29 +02:00
Sherry Yang
128f380410 android: binder: Rate-limit debug and userspace triggered err msgs
Use rate-limited debug messages where userspace can trigger
excessive log spams.

Acked-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Sherry Yang <sherryy@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:05:47 +02:00
Guenter Roeck
1e81c57b59 android: binder_alloc: Include asm/cacheflush.h after linux/ include files
If asm/cacheflush.h is included first, the following build warnings are
seen with sparc32 builds.

In file included from ./arch/sparc/include/asm/cacheflush.h:11:0,
	from drivers/android/binder_alloc.c:20:
./arch/sparc/include/asm/cacheflush_32.h:40:37: warning:
	'struct page' declared inside parameter list

Moving the asm/ include after linux/ includes fixes the problem.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-24 14:23:00 +02:00
Kees Cook
6396bb2215 treewide: kzalloc() -> kcalloc()
The kzalloc() function has a 2-factor argument form, kcalloc(). This
patch replaces cases of:

        kzalloc(a * b, gfp)

with:
        kcalloc(a * b, gfp)

as well as handling cases of:

        kzalloc(a * b * c, gfp)

with:

        kzalloc(array3_size(a, b, c), gfp)

as it's slightly less ugly than:

        kzalloc_array(array_size(a, b), c, gfp)

This does, however, attempt to ignore constant size factors like:

        kzalloc(4 * 1024, gfp)

though any constants defined via macros get caught up in the conversion.

Any factors with a sizeof() of "unsigned char", "char", and "u8" were
dropped, since they're redundant.

The Coccinelle script used for this was:

// Fix redundant parens around sizeof().
@@
type TYPE;
expression THING, E;
@@

(
  kzalloc(
-	(sizeof(TYPE)) * E
+	sizeof(TYPE) * E
  , ...)
|
  kzalloc(
-	(sizeof(THING)) * E
+	sizeof(THING) * E
  , ...)
)

// Drop single-byte sizes and redundant parens.
@@
expression COUNT;
typedef u8;
typedef __u8;
@@

(
  kzalloc(
-	sizeof(u8) * (COUNT)
+	COUNT
  , ...)
|
  kzalloc(
-	sizeof(__u8) * (COUNT)
+	COUNT
  , ...)
|
  kzalloc(
-	sizeof(char) * (COUNT)
+	COUNT
  , ...)
|
  kzalloc(
-	sizeof(unsigned char) * (COUNT)
+	COUNT
  , ...)
|
  kzalloc(
-	sizeof(u8) * COUNT
+	COUNT
  , ...)
|
  kzalloc(
-	sizeof(__u8) * COUNT
+	COUNT
  , ...)
|
  kzalloc(
-	sizeof(char) * COUNT
+	COUNT
  , ...)
|
  kzalloc(
-	sizeof(unsigned char) * COUNT
+	COUNT
  , ...)
)

// 2-factor product with sizeof(type/expression) and identifier or constant.
@@
type TYPE;
expression THING;
identifier COUNT_ID;
constant COUNT_CONST;
@@

(
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * (COUNT_ID)
+	COUNT_ID, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * COUNT_ID
+	COUNT_ID, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * (COUNT_CONST)
+	COUNT_CONST, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * COUNT_CONST
+	COUNT_CONST, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * (COUNT_ID)
+	COUNT_ID, sizeof(THING)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * COUNT_ID
+	COUNT_ID, sizeof(THING)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * (COUNT_CONST)
+	COUNT_CONST, sizeof(THING)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * COUNT_CONST
+	COUNT_CONST, sizeof(THING)
  , ...)
)

// 2-factor product, only identifiers.
@@
identifier SIZE, COUNT;
@@

- kzalloc
+ kcalloc
  (
-	SIZE * COUNT
+	COUNT, SIZE
  , ...)

// 3-factor product with 1 sizeof(type) or sizeof(expression), with
// redundant parens removed.
@@
expression THING;
identifier STRIDE, COUNT;
type TYPE;
@@

(
  kzalloc(
-	sizeof(TYPE) * (COUNT) * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  kzalloc(
-	sizeof(TYPE) * (COUNT) * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  kzalloc(
-	sizeof(TYPE) * COUNT * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  kzalloc(
-	sizeof(TYPE) * COUNT * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  kzalloc(
-	sizeof(THING) * (COUNT) * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
|
  kzalloc(
-	sizeof(THING) * (COUNT) * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
|
  kzalloc(
-	sizeof(THING) * COUNT * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
|
  kzalloc(
-	sizeof(THING) * COUNT * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
)

// 3-factor product with 2 sizeof(variable), with redundant parens removed.
@@
expression THING1, THING2;
identifier COUNT;
type TYPE1, TYPE2;
@@

(
  kzalloc(
-	sizeof(TYPE1) * sizeof(TYPE2) * COUNT
+	array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))
  , ...)
|
  kzalloc(
-	sizeof(TYPE1) * sizeof(THING2) * (COUNT)
+	array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))
  , ...)
|
  kzalloc(
-	sizeof(THING1) * sizeof(THING2) * COUNT
+	array3_size(COUNT, sizeof(THING1), sizeof(THING2))
  , ...)
|
  kzalloc(
-	sizeof(THING1) * sizeof(THING2) * (COUNT)
+	array3_size(COUNT, sizeof(THING1), sizeof(THING2))
  , ...)
|
  kzalloc(
-	sizeof(TYPE1) * sizeof(THING2) * COUNT
+	array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))
  , ...)
|
  kzalloc(
-	sizeof(TYPE1) * sizeof(THING2) * (COUNT)
+	array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))
  , ...)
)

// 3-factor product, only identifiers, with redundant parens removed.
@@
identifier STRIDE, SIZE, COUNT;
@@

(
  kzalloc(
-	(COUNT) * STRIDE * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	COUNT * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	COUNT * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	(COUNT) * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	COUNT * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	(COUNT) * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	(COUNT) * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	COUNT * STRIDE * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
)

// Any remaining multi-factor products, first at least 3-factor products,
// when they're not all constants...
@@
expression E1, E2, E3;
constant C1, C2, C3;
@@

(
  kzalloc(C1 * C2 * C3, ...)
|
  kzalloc(
-	(E1) * E2 * E3
+	array3_size(E1, E2, E3)
  , ...)
|
  kzalloc(
-	(E1) * (E2) * E3
+	array3_size(E1, E2, E3)
  , ...)
|
  kzalloc(
-	(E1) * (E2) * (E3)
+	array3_size(E1, E2, E3)
  , ...)
|
  kzalloc(
-	E1 * E2 * E3
+	array3_size(E1, E2, E3)
  , ...)
)

// And then all remaining 2 factors products when they're not all constants,
// keeping sizeof() as the second factor argument.
@@
expression THING, E1, E2;
type TYPE;
constant C1, C2, C3;
@@

(
  kzalloc(sizeof(THING) * C2, ...)
|
  kzalloc(sizeof(TYPE) * C2, ...)
|
  kzalloc(C1 * C2 * C3, ...)
|
  kzalloc(C1 * C2, ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * (E2)
+	E2, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * E2
+	E2, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * (E2)
+	E2, sizeof(THING)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * E2
+	E2, sizeof(THING)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	(E1) * E2
+	E1, E2
  , ...)
|
- kzalloc
+ kcalloc
  (
-	(E1) * (E2)
+	E1, E2
  , ...)
|
- kzalloc
+ kcalloc
  (
-	E1 * E2
+	E1, E2
  , ...)
)

Signed-off-by: Kees Cook <keescook@chromium.org>
2018-06-12 16:19:22 -07:00
Minchan Kim
720c241924 ANDROID: binder: change down_write to down_read
binder_update_page_range needs down_write of mmap_sem because
vm_insert_page need to change vma->vm_flags to VM_MIXEDMAP unless
it is set. However, when I profile binder working, it seems
every binder buffers should be mapped in advance by binder_mmap.
It means we could set VM_MIXEDMAP in binder_mmap time which is
already hold a mmap_sem as down_write so binder_update_page_range
doesn't need to hold a mmap_sem as down_write.
Please use proper API down_read. It would help mmap_sem contention
problem as well as fixing down_write abuse.

Ganesh Mahendran tested app launching and binder throughput test
and he said he couldn't find any problem and I did binder latency
test per Greg KH request(Thanks Martijn to teach me how I can do)
I cannot find any problem, too.

Cc: Ganesh Mahendran <opensource.ganesh@gmail.com>
Cc: Joe Perches <joe@perches.com>
Cc: Arve Hjønnevåg <arve@android.com>
Cc: Todd Kjos <tkjos@google.com>
Reviewed-by: Martijn Coenen <maco@android.com>
Signed-off-by: Minchan Kim <minchan@kernel.org>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-05-14 16:06:48 +02:00
Ganesh Mahendran
aac6830ec1 android: binder: use VM_ALLOC to get vm area
VM_IOREMAP is used to access hardware through a mechanism called
I/O mapped memory. Android binder is a IPC machanism which will
not access I/O memory.

And VM_IOREMAP has alignment requiement which may not needed in
binder.
    __get_vm_area_node()
    {
    ...
        if (flags & VM_IOREMAP)
            align = 1ul << clamp_t(int, fls_long(size),
               PAGE_SHIFT, IOREMAP_MAX_ORDER);
    ...
    }

This patch will save some kernel vm area, especially for 32bit os.

In 32bit OS, kernel vm area is only 240MB. We may got below
error when launching a app:

<3>[ 4482.440053] binder_alloc: binder_alloc_mmap_handler: 15728 8ce67000-8cf65000 get_vm_area failed -12
<3>[ 4483.218817] binder_alloc: binder_alloc_mmap_handler: 15745 8ce67000-8cf65000 get_vm_area failed -12

Signed-off-by: Ganesh Mahendran <opensource.ganesh@gmail.com>
Acked-by: Martijn Coenen <maco@android.com>
Acked-by: Todd Kjos <tkjos@google.com>
Cc: stable <stable@vger.kernel.org>

----
V3: update comments
V2: update comments
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-01-25 10:46:42 +01:00
Xiongwei Song
3f82724546 ANDROID: binder: make binder_alloc_new_buf_locked static and indent its arguments
The function binder_alloc_new_buf_locked() is only used in this file, so
make it static. Also clean up sparse warning:

drivers/android/binder_alloc.c:330:23: warning: no previous prototype
for ‘binder_alloc_new_buf_locked’ [-Wmissing-prototypes]

In addition, the line of the function name exceeds 80 characters when
add static for this function, hence indent its arguments anew.

Signed-off-by: Xiongwei Song <sxwjean@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-12-19 10:12:57 +01:00
Tetsuo Handa
533dfb250d android: binder: Check for errors in binder_alloc_shrinker_init().
Both list_lru_init() and register_shrinker() might return an error.

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: Sherry Yang <sherryy@android.com>
Cc: Michal Hocko <mhocko@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-12-18 15:59:17 +01:00
Martijn Coenen
8d9a3ab6c1 ANDROID: binder: show high watermark of alloc->pages.
Show the high watermark of the index into the alloc->pages
array, to facilitate sizing the buffer on a per-process
basis.

Signed-off-by: Martijn Coenen <maco@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-28 16:33:03 +01:00
Greg Kroah-Hartman
6fbf248a20 Merge 4.14-rc6 into char-misc-next
We want the driver fixes in here and this resolves a merge issue with
the binder driver.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-10-23 17:21:44 +02:00
Sherry Yang
ae65c8510f android: binder: Fix null ptr dereference in debug msg
Don't access next->data in kernel debug message when the
next buffer is null.

Acked-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Sherry Yang <sherryy@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-10-21 10:14:20 +02:00
Sherry Yang
a0c2baaf81 android: binder: Don't get mm from task
Use binder_alloc struct's mm_struct rather than getting
a reference to the mm struct through get_task_mm to
avoid a potential deadlock between lru lock, task lock and
dentry lock, since a thread can be holding the task lock
and the dentry lock while trying to acquire the lru lock.

Acked-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Sherry Yang <sherryy@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-10-21 10:14:20 +02:00