Commit Graph

1087 Commits

Author SHA1 Message Date
Lorenzo Colitti
d73f96e357 FROMGIT: usb: gadget: u_ether: support configuring interface names.
This patch allows the administrator to configure the interface
name of a function using u_ether (e.g., eem, ncm, rndis).

Currently, all such interfaces, regardless of function type, are
always called usb0, usb1, etc. This makes it very cumbersome to
use more than one such type at a time, because userspace cannnot
easily tell the interfaces apart and apply the right
configuration to each one. Interface renaming in userspace based
on driver doesn't help, because the interfaces all have the same
driver. Without this patch, doing this require hacks/workarounds
such as setting fixed MAC addresses on the functions, and then
renaming by MAC address, or scraping configfs after each
interface is created to find out what it is.

Setting the interface name is done by writing to the same
"ifname" configfs attribute that reports the interface name after
the function is bound. The write must contain an interface
pattern such as "usb%d" (which will cause the net core to pick
the next available interface name starting with "usb").
This patch does not allow writing an exact interface name (as
opposed to a pattern) because if the interface already exists at
bind time, the bind will fail and the whole gadget will fail to
activate. This could be allowed in a future patch.

For compatibility with current userspace, when reading an ifname
that has not currently been set, the result is still "(unnamed
net_device)". Once a write to ifname happens, then reading ifname
will return whatever was last written.

Tested by configuring an rndis function and an ncm function on
the same gadget, and writing "rndis%d" to ifname on the rndis
function and "ncm%d" to ifname on the ncm function. When the
gadget was bound, the rndis interface was rndis0 and the ncm
interface was ncm0.

Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
(cherry picked from commit 63d152149b2d0860ccf8c4e6596b6175b2b7ace6
 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next)
Link: https://lore.kernel.org/r/20210113234222.3272933-1-lorenzo@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
Change-Id: I04deb6cc1d8a5b8ee82404940de2a79c06fbafe7
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-09-08 16:56:36 +03:00
Daniel M German
db40d9fc9a usb: Replace snprintf with scnprintf in gether_get_ifname
[ Upstream commit 37e444c8296c14cb5768a1197b24cfc07ee8e0cd ]

snprintf returns the actual length of the buffer created; however,
this is not the case if snprintf truncates its parameter.
See https://lwn.net/Articles/69419/ for a detailed explanation.
The current code correctly handles this case at the expense
of extra code in the return statement.

scnprintf does returns the actual length of the buffer created
making the ?: operator unnecessary in the return
statement.

This change does not alter the functionality of the code.

Change-Id: I518abb00c6bd19d60d95a0ba8577a174feaaa3f3
Signed-off-by: Daniel M German <dmg@turingmachine.org>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
2025-09-08 16:56:32 +03:00
Hardik Gajjar
09b7b7ed95 usb: gadget: f_ncm: Always set current gadget in ncm_bind()
[ Upstream commit a04224da1f3424b2c607b12a3bd1f0e302fb8231 ]

Previously, gadget assignment to the net device occurred exclusively
during the initial binding attempt.

Nevertheless, the gadget pointer could change during bind/unbind
cycles due to various conditions, including the unloading/loading
of the UDC device driver or the detachment/reconnection of an
OTG-capable USB hub device.

This patch relocates the gether_set_gadget() function out from
ncm_opts->bound condition check, ensuring that the correct gadget
is assigned during each bind request.

The provided logs demonstrate the consistency of ncm_opts throughout
the power cycle, while the gadget may change.

* OTG hub connected during boot up and assignment of gadget and
  ncm_opts pointer

[    2.366301] usb 2-1.5: New USB device found, idVendor=2996, idProduct=0105
[    2.366304] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    2.366306] usb 2-1.5: Product: H2H Bridge
[    2.366308] usb 2-1.5: Manufacturer: Aptiv
[    2.366309] usb 2-1.5: SerialNumber: 13FEB2021
[    2.427989] usb 2-1.5: New USB device found, VID=2996, PID=0105
[    2.428959] dabridge 2-1.5:1.0: dabridge 2-4 total endpoints=5, 0000000093a8d681
[    2.429710] dabridge 2-1.5:1.0: P(0105) D(22.06.22) F(17.3.16) H(1.1) high-speed
[    2.429714] dabridge 2-1.5:1.0: Hub 2-2 P(0151) V(06.87)
[    2.429956] dabridge 2-1.5:1.0: All downstream ports in host mode

[    2.430093] gadget 000000003c414d59 ------> gadget pointer

* NCM opts and associated gadget pointer during First ncm_bind

[   34.763929] NCM opts 00000000aa304ac9
[   34.763930] NCM gadget 000000003c414d59

* OTG capable hub disconnecte or assume driver unload.

[   97.203114] usb 2-1: USB disconnect, device number 2
[   97.203118] usb 2-1.1: USB disconnect, device number 3
[   97.209217] usb 2-1.5: USB disconnect, device number 4
[   97.230990] dabr_udc deleted

* Reconnect the OTG hub or load driver assaign new gadget pointer.

[  111.534035] usb 2-1.1: New USB device found, idVendor=2996, idProduct=0120, bcdDevice= 6.87
[  111.534038] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  111.534040] usb 2-1.1: Product: Vendor
[  111.534041] usb 2-1.1: Manufacturer: Aptiv
[  111.534042] usb 2-1.1: SerialNumber: Superior
[  111.535175] usb 2-1.1: New USB device found, VID=2996, PID=0120
[  111.610995] usb 2-1.5: new high-speed USB device number 8 using xhci-hcd
[  111.630052] usb 2-1.5: New USB device found, idVendor=2996, idProduct=0105, bcdDevice=21.02
[  111.630055] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  111.630057] usb 2-1.5: Product: H2H Bridge
[  111.630058] usb 2-1.5: Manufacturer: Aptiv
[  111.630059] usb 2-1.5: SerialNumber: 13FEB2021
[  111.687464] usb 2-1.5: New USB device found, VID=2996, PID=0105
[  111.690375] dabridge 2-1.5:1.0: dabridge 2-8 total endpoints=5, 000000000d87c961
[  111.691172] dabridge 2-1.5:1.0: P(0105) D(22.06.22) F(17.3.16) H(1.1) high-speed
[  111.691176] dabridge 2-1.5:1.0: Hub 2-6 P(0151) V(06.87)
[  111.691646] dabridge 2-1.5:1.0: All downstream ports in host mode

[  111.692298] gadget 00000000dc72f7a9 --------> new gadget ptr on connect

* NCM opts and associated gadget pointer during second ncm_bind

[  113.271786] NCM opts 00000000aa304ac9 -----> same opts ptr used during first bind
[  113.271788] NCM gadget 00000000dc72f7a9 ----> however new gaget ptr, that will not set
                                                 in net_device due to ncm_opts->bound = true

Change-Id: I803f892ccd2a0f9558d4f32d8a3104aba78353ff
Signed-off-by: Hardik Gajjar <hgajjar@de.adit-jv.com>
Link: https://lore.kernel.org/r/20231020153324.82794-1-hgajjar@de.adit-jv.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-09-08 16:56:27 +03:00
Jack Pham
eb05a1d795 usb: gadget: f_ncm: Revert to upstream
Revert the following changes to restore to upstream version:

commit d50dafdc03 ("usb: gadget: f_ncm: allocate/free net device upon driver bind/unbind")
commit 2b958bac04 ("usb: gadget: Add check gadget function bind or not")

Reason for revert: Causes gether_set_ifname() support to kernel panic.

Change-Id: I51064467cad63e47a4a9734f18f1a5b95fa8db86
2025-09-08 16:56:13 +03:00
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
46d5c15467 Merge 4.19.317 into android-4.19-stable
Changes in 4.19.317
	wifi: mac80211: mesh: Fix leak of mesh_preq_queue objects
	wifi: mac80211: Fix deadlock in ieee80211_sta_ps_deliver_wakeup()
	wifi: iwlwifi: mvm: revert gen2 TX A-MPDU size to 64
	wifi: iwlwifi: mvm: don't read past the mfuart notifcation
	ipv6: sr: block BH in seg6_output_core() and seg6_input_core()
	vxlan: Fix regression when dropping packets due to invalid src addresses
	tcp: count CLOSE-WAIT sockets for TCP_MIB_CURRESTAB
	ptp: Fix error message on failed pin verification
	af_unix: Annotate data-race of sk->sk_state in unix_inq_len().
	af_unix: Annotate data-races around sk->sk_state in unix_write_space() and poll().
	af_unix: Annotate data-races around sk->sk_state in sendmsg() and recvmsg().
	af_unix: Annotate data-races around sk->sk_state in UNIX_DIAG.
	af_unix: Annotate data-race of net->unx.sysctl_max_dgram_qlen.
	af_unix: Use unix_recvq_full_lockless() in unix_stream_connect().
	af_unix: Use skb_queue_len_lockless() in sk_diag_show_rqlen().
	af_unix: Annotate data-race of sk->sk_shutdown in sk_diag_fill().
	usb: gadget: f_fs: Fix race between aio_cancel() and AIO request complete
	drm/amd/display: Handle Y carry-over in VCP X.Y calculation
	serial: sc16is7xx: replace hardcoded divisor value with BIT() macro
	serial: sc16is7xx: fix bug in sc16is7xx_set_baud() when using prescaler
	media: mc: mark the media devnode as registered from the, start
	selftests/mm: compaction_test: fix incorrect write of zero to nr_hugepages
	selftests/mm: conform test to TAP format output
	selftests/mm: compaction_test: fix bogus test success on Aarch64
	nilfs2: Remove check for PageError
	nilfs2: return the mapped address from nilfs_get_page()
	nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors
	USB: class: cdc-wdm: Fix CPU lockup caused by excessive log messages
	mei: me: release irq in mei_me_pci_resume error path
	jfs: xattr: fix buffer overflow for invalid xattr
	xhci: Apply reset resume quirk to Etron EJ188 xHCI host
	xhci: Apply broken streams quirk to Etron EJ188 xHCI host
	Input: try trimming too long modalias strings
	xsk: validate user input for XDP_{UMEM|COMPLETION}_FILL_RING
	HID: core: remove unnecessary WARN_ON() in implement()
	iommu/amd: Fix sysfs leak in iommu init
	liquidio: Adjust a NULL pointer handling path in lio_vf_rep_copy_packet
	drm/bridge/panel: Fix runtime warning on panel bridge release
	tcp: fix race in tcp_v6_syn_recv_sock()
	Bluetooth: L2CAP: Fix rejecting L2CAP_CONN_PARAM_UPDATE_REQ
	ipv6/route: Add a missing check on proc_dointvec
	net/ipv6: Fix the RT cache flush via sysctl using a previous delay
	drivers: core: synchronize really_probe() and dev_uevent()
	drm/exynos/vidi: fix memory leak in .get_modes()
	vmci: prevent speculation leaks by sanitizing event in event_deliver()
	fs/proc: fix softlockup in __read_vmcore
	ocfs2: use coarse time for new created files
	ocfs2: fix races between hole punching and AIO+DIO
	PCI: rockchip-ep: Remove wrong mask on subsys_vendor_id
	dmaengine: axi-dmac: fix possible race in remove()
	intel_th: pci: Add Granite Rapids support
	intel_th: pci: Add Granite Rapids SOC support
	intel_th: pci: Add Sapphire Rapids SOC support
	intel_th: pci: Add Meteor Lake-S support
	intel_th: pci: Add Lunar Lake support
	nilfs2: fix potential kernel bug due to lack of writeback flag waiting
	hv_utils: drain the timesync packets on onchannelcallback
	hugetlb_encode.h: fix undefined behaviour (34 << 26)
	usb-storage: alauda: Check whether the media is initialized
	rcutorture: Fix rcu_torture_one_read() pipe_count overflow comment
	batman-adv: bypass empty buckets in batadv_purge_orig_ref()
	scsi: qedi: Fix crash while reading debugfs attribute
	powerpc/pseries: Enforce hcall result buffer validity and size
	powerpc/io: Avoid clang null pointer arithmetic warnings
	usb: misc: uss720: check for incompatible versions of the Belkin F5U002
	udf: udftime: prevent overflow in udf_disk_stamp_to_time()
	PCI/PM: Avoid D3cold for HP Pavilion 17 PC/1972 PCIe Ports
	MIPS: Octeon: Add PCIe link status check
	MIPS: Routerboard 532: Fix vendor retry check code
	cipso: fix total option length computation
	netrom: Fix a memory leak in nr_heartbeat_expiry()
	ipv6: prevent possible NULL dereference in rt6_probe()
	xfrm6: check ip6_dst_idev() return value in xfrm6_get_saddr()
	virtio_net: checksum offloading handling fix
	net: usb: rtl8150 fix unintiatilzed variables in rtl8150_get_link_ksettings
	regulator: core: Fix modpost error "regulator_get_regmap" undefined
	dmaengine: ioatdma: Fix missing kmem_cache_destroy()
	ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine."
	drm/radeon: fix UBSAN warning in kv_dpm.c
	gcov: add support for GCC 14
	ARM: dts: samsung: smdkv310: fix keypad no-autorepeat
	ARM: dts: samsung: exynos4412-origen: fix keypad no-autorepeat
	ARM: dts: samsung: smdk4412: fix keypad no-autorepeat
	selftests/ftrace: Fix checkbashisms errors
	tracing: Add MODULE_DESCRIPTION() to preemptirq_delay_test
	perf/core: Fix missing wakeup when waiting for context reference
	PCI: Add PCI_ERROR_RESPONSE and related definitions
	x86/amd_nb: Check for invalid SMN reads
	iio: dac: ad5592r-base: Replace indio_dev->mlock with own device lock
	iio: dac: ad5592r: un-indent code-block for scale read
	iio: dac: ad5592r: fix temperature channel scaling value
	scsi: mpt3sas: Add ioc_<level> logging macros
	scsi: mpt3sas: Gracefully handle online firmware update
	scsi: mpt3sas: Avoid test/set_bit() operating in non-allocated memory
	xhci: Use soft retry to recover faster from transaction errors
	xhci: Set correct transferred length for cancelled bulk transfers
	usb: xhci: do not perform Soft Retry for some xHCI hosts
	pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER
	pinctrl: rockchip: fix pinmux bits for RK3328 GPIO2-B pins
	pinctrl: rockchip: fix pinmux bits for RK3328 GPIO3-B pins
	pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set
	drm/amdgpu: fix UBSAN warning in kv_dpm.c
	netfilter: nf_tables: validate family when identifying table via handle
	ASoC: fsl-asoc-card: set priv->pdev before using it
	netfilter: nf_tables: fully validate NFT_DATA_VALUE on store to data registers
	drm/panel: ilitek-ili9881c: Fix warning with GPIO controllers that sleep
	net/iucv: Avoid explicit cpumask var allocation on stack
	ALSA: emux: improve patch ioctl data validation
	media: dvbdev: Initialize sbuf
	soc: ti: wkup_m3_ipc: Send NULL dummy message instead of pointer message
	nvme: fixup comment for nvme RDMA Provider Type
	gpio: davinci: Validate the obtained number of IRQs
	i2c: ocores: stop transfer on timeout
	i2c: ocores: set IACK bit after core is enabled
	x86: stop playing stack games in profile_pc()
	mmc: sdhci-pci: Convert PCIBIOS_* return codes to errnos
	iio: adc: ad7266: Fix variable checking bug
	iio: chemical: bme680: Fix pressure value output
	iio: chemical: bme680: Fix calibration data variable
	iio: chemical: bme680: Fix overflows in compensate() functions
	iio: chemical: bme680: Fix sensor data read operation
	net: usb: ax88179_178a: improve link status logs
	usb: gadget: printer: SS+ support
	usb: musb: da8xx: fix a resource leak in probe()
	usb: atm: cxacru: fix endpoint checking in cxacru_bind()
	tty: mcf: MCF54418 has 10 UARTS
	hexagon: fix fadvise64_64 calling conventions
	drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_ld_modes
	drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_hd_modes
	batman-adv: Don't accept TT entries for out-of-spec VIDs
	ata: libata-core: Fix double free on error
	ftruncate: pass a signed offset
	pwm: stm32: Refuse too small period requests
	ipv6: annotate some data-races around sk->sk_prot
	ipv6: Fix data races around sk->sk_prot.
	tcp: Fix data races around icsk->icsk_af_ops.
	arm64: dts: rockchip: Add sound-dai-cells for RK3368
	Linux 4.19.317

Change-Id: Ic469df3aff3d8233947e4f13951e091deca41c65
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-07-06 10:19:40 +00:00
Oliver Neukum
a0886d04f1 usb: gadget: printer: SS+ support
commit fd80731e5e9d1402cb2f85022a6abf9b1982ec5f upstream.

We need to treat super speed plus as super speed, not the default,
which is full speed.

Signed-off-by: Oliver Neukum <oneukum@suse.com>
Cc: stable <stable@kernel.org>
Link: https://lore.kernel.org/r/20240620093800.28901-1-oneukum@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-05 09:00:34 +02:00
Wesley Cheng
f71a53148c usb: gadget: f_fs: Fix race between aio_cancel() and AIO request complete
[ Upstream commit 24729b307eefcd7c476065cd7351c1a018082c19 ]

FFS based applications can utilize the aio_cancel() callback to dequeue
pending USB requests submitted to the UDC.  There is a scenario where the
FFS application issues an AIO cancel call, while the UDC is handling a
soft disconnect.  For a DWC3 based implementation, the callstack looks
like the following:

    DWC3 Gadget                               FFS Application
dwc3_gadget_soft_disconnect()              ...
  --> dwc3_stop_active_transfers()
    --> dwc3_gadget_giveback(-ESHUTDOWN)
      --> ffs_epfile_async_io_complete()   ffs_aio_cancel()
        --> usb_ep_free_request()            --> usb_ep_dequeue()

There is currently no locking implemented between the AIO completion
handler and AIO cancel, so the issue occurs if the completion routine is
running in parallel to an AIO cancel call coming from the FFS application.
As the completion call frees the USB request (io_data->req) the FFS
application is also referencing it for the usb_ep_dequeue() call.  This can
lead to accessing a stale/hanging pointer.

commit b566d38857fc ("usb: gadget: f_fs: use io_data->status consistently")
relocated the usb_ep_free_request() into ffs_epfile_async_io_complete().
However, in order to properly implement locking to mitigate this issue, the
spinlock can't be added to ffs_epfile_async_io_complete(), as
usb_ep_dequeue() (if successfully dequeuing a USB request) will call the
function driver's completion handler in the same context.  Hence, leading
into a deadlock.

Fix this issue by moving the usb_ep_free_request() back to
ffs_user_copy_worker(), and ensuring that it explicitly sets io_data->req
to NULL after freeing it within the ffs->eps_lock.  This resolves the race
condition above, as the ffs_aio_cancel() routine will not continue
attempting to dequeue a request that has already been freed, or the
ffs_user_copy_work() not freeing the USB request until the AIO cancel is
done referencing it.

This fix depends on
  commit b566d38857fc ("usb: gadget: f_fs: use io_data->status
  consistently")

Fixes: 2e4c7553cd ("usb: gadget: f_fs: add aio support")
Cc: stable <stable@kernel.org>	# b566d38857fc ("usb: gadget: f_fs: use io_data->status consistently")
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Link: https://lore.kernel.org/r/20240409014059.6740-1-quic_wcheng@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-07-05 09:00:21 +02:00
Greg Kroah-Hartman
302e1d9773 Merge 4.19.316 into android-4.19-stable
Changes in 4.19.316
	x86/tsc: Trust initial offset in architectural TSC-adjust MSRs
	speakup: Fix sizeof() vs ARRAY_SIZE() bug
	ring-buffer: Fix a race between readers and resize checks
	net: smc91x: Fix m68k kernel compilation for ColdFire CPU
	nilfs2: fix unexpected freezing of nilfs_segctor_sync()
	nilfs2: fix potential hang in nilfs_detach_log_writer()
	tty: n_gsm: fix possible out-of-bounds in gsm0_receive()
	wifi: cfg80211: fix the order of arguments for trace events of the tx_rx_evt class
	net: usb: qmi_wwan: add Telit FN920C04 compositions
	drm/amd/display: Set color_mgmt_changed to true on unsuspend
	ASoC: rt5645: Fix the electric noise due to the CBJ contacts floating
	ASoC: dt-bindings: rt5645: add cbj sleeve gpio property
	ASoC: da7219-aad: fix usage of device_get_named_child_node()
	crypto: bcm - Fix pointer arithmetic
	firmware: raspberrypi: Use correct device for DMA mappings
	ecryptfs: Fix buffer size for tag 66 packet
	nilfs2: fix out-of-range warning
	parisc: add missing export of __cmpxchg_u8()
	crypto: ccp - Remove forward declaration
	crypto: ccp - drop platform ifdef checks
	s390/cio: fix tracepoint subchannel type field
	jffs2: prevent xattr node from overflowing the eraseblock
	null_blk: Fix missing mutex_destroy() at module removal
	md: fix resync softlockup when bitmap size is less than array size
	power: supply: cros_usbpd: provide ID table for avoiding fallback match
	nfsd: drop st_mutex before calling move_to_close_lru()
	wifi: ath10k: poll service ready message before failing
	x86/boot: Ignore relocations in .notes sections in walk_relocs() too
	qed: avoid truncating work queue length
	scsi: ufs: qcom: Perform read back after writing reset bit
	scsi: ufs: cleanup struct utp_task_req_desc
	scsi: ufs: add a low-level __ufshcd_issue_tm_cmd helper
	scsi: ufs: core: Perform read back after disabling interrupts
	scsi: ufs: core: Perform read back after disabling UIC_COMMAND_COMPL
	irqchip/alpine-msi: Fix off-by-one in allocation error path
	ACPI: disable -Wstringop-truncation
	scsi: libsas: Fix the failure of adding phy with zero-address to port
	scsi: hpsa: Fix allocation size for Scsi_Host private data
	x86/purgatory: Switch to the position-independent small code model
	wifi: ath10k: Fix an error code problem in ath10k_dbg_sta_write_peer_debug_trigger()
	wifi: ath10k: populate board data for WCN3990
	macintosh/via-macii: Remove BUG_ON assertions
	macintosh/via-macii, macintosh/adb-iop: Clean up whitespace
	macintosh/via-macii: Fix "BUG: sleeping function called from invalid context"
	wifi: carl9170: add a proper sanity check for endpoints
	wifi: ar5523: enable proper endpoint verification
	sh: kprobes: Merge arch_copy_kprobe() into arch_prepare_kprobe()
	Revert "sh: Handle calling csum_partial with misaligned data"
	scsi: bfa: Ensure the copied buf is NUL terminated
	scsi: qedf: Ensure the copied buf is NUL terminated
	wifi: mwl8k: initialize cmd->addr[] properly
	net: usb: sr9700: stop lying about skb->truesize
	m68k: Fix spinlock race in kernel thread creation
	m68k/mac: Use '030 reset method on SE/30
	m68k: mac: Fix reboot hang on Mac IIci
	net: ethernet: cortina: Locking fixes
	af_unix: Fix data races in unix_release_sock/unix_stream_sendmsg
	net: usb: smsc95xx: stop lying about skb->truesize
	net: openvswitch: fix overwriting ct original tuple for ICMPv6
	ipv6: sr: add missing seg6_local_exit
	ipv6: sr: fix incorrect unregister order
	ipv6: sr: fix invalid unregister error path
	drm/amd/display: Fix potential index out of bounds in color transformation function
	mtd: rawnand: hynix: fixed typo
	fbdev: shmobile: fix snprintf truncation
	drm/mediatek: Add 0 size check to mtk_drm_gem_obj
	powerpc/fsl-soc: hide unused const variable
	fbdev: sisfb: hide unused variables
	media: ngene: Add dvb_ca_en50221_init return value check
	media: radio-shark2: Avoid led_names truncations
	fbdev: sh7760fb: allow modular build
	drm/arm/malidp: fix a possible null pointer dereference
	ASoC: tracing: Export SND_SOC_DAPM_DIR_OUT to its value
	RDMA/hns: Use complete parentheses in macros
	x86/insn: Fix PUSH instruction in x86 instruction decoder opcode map
	ext4: avoid excessive credit estimate in ext4_tmpfile()
	SUNRPC: Fix gss_free_in_token_pages()
	selftests/kcmp: Make the test output consistent and clear
	selftests/kcmp: remove unused open mode
	RDMA/IPoIB: Fix format truncation compilation errors
	netrom: fix possible dead-lock in nr_rt_ioctl()
	af_packet: do not call packet_read_pending() from tpacket_destruct_skb()
	sched/topology: Don't set SD_BALANCE_WAKE on cpuset domain relax
	sched/fair: Allow disabling sched_balance_newidle with sched_relax_domain_level
	greybus: lights: check return of get_channel_from_mode
	dmaengine: idma64: Add check for dma_set_max_seg_size
	firmware: dmi-id: add a release callback function
	serial: max3100: Lock port->lock when calling uart_handle_cts_change()
	serial: max3100: Update uart_driver_registered on driver removal
	serial: max3100: Fix bitwise types
	greybus: arche-ctrl: move device table to its right location
	microblaze: Remove gcc flag for non existing early_printk.c file
	microblaze: Remove early printk call from cpuinfo-static.c
	usb: gadget: u_audio: Clear uac pointer when freed.
	stm class: Fix a double free in stm_register_device()
	ppdev: Remove usage of the deprecated ida_simple_xx() API
	ppdev: Add an error check in register_device
	extcon: max8997: select IRQ_DOMAIN instead of depending on it
	f2fs: add error prints for debugging mount failure
	f2fs: fix to release node block count in error path of f2fs_new_node_page()
	serial: sh-sci: Extract sci_dma_rx_chan_invalidate()
	serial: sh-sci: protect invalidating RXDMA on shutdown
	libsubcmd: Fix parse-options memory leak
	Input: ims-pcu - fix printf string overflow
	Input: pm8xxx-vibrator - correct VIB_MAX_LEVELS calculation
	drm/msm/dpu: use kms stored hw mdp block
	um: Fix return value in ubd_init()
	um: Add winch to winch_handlers before registering winch IRQ
	media: stk1160: fix bounds checking in stk1160_copy_video()
	powerpc/pseries: Add failure related checks for h_get_mpp and h_get_ppp
	um: Fix the -Wmissing-prototypes warning for __switch_mm
	media: cec: cec-adap: always cancel work in cec_transmit_msg_fh
	media: cec: cec-api: add locking in cec_release()
	null_blk: Fix the WARNING: modpost: missing MODULE_DESCRIPTION()
	x86/kconfig: Select ARCH_WANT_FRAME_POINTERS again when UNWINDER_FRAME_POINTER=y
	nfc: nci: Fix uninit-value in nci_rx_work
	ipv6: sr: fix memleak in seg6_hmac_init_algo
	params: lift param_set_uint_minmax to common code
	tcp: Fix shift-out-of-bounds in dctcp_update_alpha().
	openvswitch: Set the skbuff pkt_type for proper pmtud support.
	arm64: asm-bug: Add .align 2 to the end of __BUG_ENTRY
	virtio: delete vq in vp_find_vqs_msix() when request_irq() fails
	net: fec: avoid lock evasion when reading pps_enable
	nfc: nci: Fix kcov check in nci_rx_work()
	nfc: nci: Fix handling of zero-length payload packets in nci_rx_work()
	netfilter: nfnetlink_queue: acquire rcu_read_lock() in instance_destroy_rcu()
	spi: Don't mark message DMA mapped when no transfer in it is
	nvmet: fix ns enable/disable possible hang
	net/mlx5e: Use rx_missed_errors instead of rx_dropped for reporting buffer exhaustion
	dma-buf/sw-sync: don't enable IRQ from sync_print_obj()
	enic: Validate length of nl attributes in enic_set_vf_port
	smsc95xx: remove redundant function arguments
	smsc95xx: use usbnet->driver_priv
	net: usb: smsc95xx: fix changing LED_SEL bit value updated from EEPROM
	net:fec: Add fec_enet_deinit()
	kconfig: fix comparison to constant symbols, 'm', 'n'
	ipvlan: Dont Use skb->sk in ipvlan_process_v{4,6}_outbound
	ALSA: timer: Set lower bound of start tick time
	genirq/cpuhotplug, x86/vector: Prevent vector leak during CPU offline
	SUNRPC: Fix loop termination condition in gss_free_in_token_pages()
	binder: fix max_thread type inconsistency
	mmc: core: Do not force a retune before RPMB switch
	nilfs2: fix use-after-free of timer for log writer thread
	vxlan: Fix regression when dropping packets due to invalid src addresses
	neighbour: fix unaligned access to pneigh_entry
	ata: pata_legacy: make legacy_exit() work again
	arm64: tegra: Correct Tegra132 I2C alias
	md/raid5: fix deadlock that raid5d() wait for itself to clear MD_SB_CHANGE_PENDING
	wifi: rtl8xxxu: Fix the TX power of RTL8192CU, RTL8723AU
	arm64: dts: hi3798cv200: fix the size of GICR
	media: mxl5xx: Move xpt structures off stack
	media: v4l2-core: hold videodev_lock until dev reg, finishes
	fbdev: savage: Handle err return when savagefb_check_var failed
	netfilter: nf_tables: pass context to nft_set_destroy()
	netfilter: nftables: rename set element data activation/deactivation functions
	netfilter: nf_tables: drop map element references from preparation phase
	netfilter: nft_set_rbtree: allow loose matching of closing element in interval
	netfilter: nft_set_rbtree: Add missing expired checks
	netfilter: nft_set_rbtree: Switch to node list walk for overlap detection
	netfilter: nft_set_rbtree: fix null deref on element insertion
	netfilter: nft_set_rbtree: fix overlap expiration walk
	netfilter: nf_tables: don't skip expired elements during walk
	netfilter: nf_tables: GC transaction API to avoid race with control plane
	netfilter: nf_tables: adapt set backend to use GC transaction API
	netfilter: nf_tables: remove busy mark and gc batch API
	netfilter: nf_tables: fix GC transaction races with netns and netlink event exit path
	netfilter: nf_tables: GC transaction race with netns dismantle
	netfilter: nf_tables: GC transaction race with abort path
	netfilter: nf_tables: defer gc run if previous batch is still pending
	netfilter: nft_set_rbtree: skip sync GC for new elements in this transaction
	netfilter: nft_set_rbtree: use read spinlock to avoid datapath contention
	netfilter: nft_set_hash: try later when GC hits EAGAIN on iteration
	netfilter: nf_tables: fix memleak when more than 255 elements expired
	netfilter: nf_tables: unregister flowtable hooks on netns exit
	netfilter: nf_tables: double hook unregistration in netns path
	netfilter: nftables: update table flags from the commit phase
	netfilter: nf_tables: fix table flag updates
	netfilter: nf_tables: disable toggling dormant table state more than once
	netfilter: nf_tables: bogus EBUSY when deleting flowtable after flush (for 4.19)
	netfilter: nft_dynset: fix timeouts later than 23 days
	netfilter: nftables: exthdr: fix 4-byte stack OOB write
	netfilter: nft_dynset: report EOPNOTSUPP on missing set feature
	netfilter: nft_dynset: relax superfluous check on set updates
	netfilter: nf_tables: mark newset as dead on transaction abort
	netfilter: nf_tables: skip dead set elements in netlink dump
	netfilter: nf_tables: validate NFPROTO_* family
	netfilter: nft_set_rbtree: skip end interval element from gc
	netfilter: nf_tables: set dormant flag on hook register failure
	netfilter: nf_tables: allow NFPROTO_INET in nft_(match/target)_validate()
	netfilter: nf_tables: do not compare internal table flags on updates
	netfilter: nf_tables: mark set as dead when unbinding anonymous set with timeout
	netfilter: nf_tables: reject new basechain after table flag update
	netfilter: nf_tables: discard table flag update with pending basechain deletion
	KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode
	crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak
	net/9p: fix uninit-value in p9_client_rpc()
	intel_th: pci: Add Meteor Lake-S CPU support
	sparc64: Fix number of online CPUs
	kdb: Fix buffer overflow during tab-complete
	kdb: Use format-strings rather than '\0' injection in kdb_read()
	kdb: Fix console handling when editing and tab-completing commands
	kdb: Merge identical case statements in kdb_read()
	kdb: Use format-specifiers rather than memset() for padding in kdb_read()
	net: fix __dst_negative_advice() race
	sparc: move struct termio to asm/termios.h
	ext4: fix mb_cache_entry's e_refcnt leak in ext4_xattr_block_cache_find()
	s390/ap: Fix crash in AP internal function modify_bitmap()
	nfs: fix undefined behavior in nfs_block_bits()
	Linux 4.19.316

Change-Id: I51ad6b82ea33614c19b33c26ae939c4a95430d4f
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-06-17 09:34:03 +00:00
Chris Wulff
a646645af0 usb: gadget: u_audio: Clear uac pointer when freed.
[ Upstream commit a2cf936ebef291ef7395172b9e2f624779fb6dc0 ]

This prevents use of a stale pointer if functions are called after
g_cleanup that shouldn't be. This doesn't fix any races, but converts
a possibly silent kernel memory corruption into an obvious NULL pointer
dereference report.

Fixes: eb9fecb9e6 ("usb: gadget: f_uac2: split out audio core")
Signed-off-by: Chris Wulff <chris.wulff@biamp.com>
Link: https://lore.kernel.org/stable/CO1PR17MB54194226DA08BFC9EBD8C163E1172%40CO1PR17MB5419.namprd17.prod.outlook.com
Link: https://lore.kernel.org/r/CO1PR17MB54194226DA08BFC9EBD8C163E1172@CO1PR17MB5419.namprd17.prod.outlook.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-16 13:23:33 +02:00
Greg Kroah-Hartman
65e58a8638 Merge 4.19.314 into android-4.19-stable
Changes in 4.19.314
	dmaengine: pl330: issue_pending waits until WFP state
	dmaengine: Revert "dmaengine: pl330: issue_pending waits until WFP state"
	wifi: nl80211: don't free NULL coalescing rule
	drm/amdkfd: change system memory overcommit limit
	drm/amdgpu: Fix leak when GPU memory allocation fails
	net: slightly optimize eth_type_trans
	ethernet: add a helper for assigning port addresses
	ethernet: Add helper for assigning packet type when dest address does not match device address
	pinctrl: core: delete incorrect free in pinctrl_enable()
	power: rt9455: hide unused rt9455_boost_voltage_values
	pinctrl: devicetree: fix refcount leak in pinctrl_dt_to_map()
	s390/mm: Fix storage key clearing for guest huge pages
	s390/mm: Fix clearing storage keys for huge pages
	bna: ensure the copied buf is NUL terminated
	nsh: Restore skb->{protocol,data,mac_header} for outer header in nsh_gso_segment().
	net l2tp: drop flow hash on forward
	net: dsa: mv88e6xxx: Add number of MACs in the ATU
	net: dsa: mv88e6xxx: Fix number of databases for 88E6141 / 88E6341
	net: bridge: fix multicast-to-unicast with fraglist GSO
	tipc: fix a possible memleak in tipc_buf_append
	scsi: lpfc: Update lpfc_ramp_down_queue_handler() logic
	gfs2: Fix invalid metadata access in punch_hole
	wifi: mac80211: fix ieee80211_bss_*_flags kernel-doc
	net: mark racy access on sk->sk_rcvbuf
	scsi: bnx2fc: Remove spin_lock_bh while releasing resources after upload
	ALSA: line6: Zero-initialize message buffers
	net: bcmgenet: Reset RBUF on first open
	ata: sata_gemini: Check clk_enable() result
	firewire: ohci: mask bus reset interrupts between ISR and bottom half
	tools/power turbostat: Fix added raw MSR output
	tools/power turbostat: Fix Bzy_MHz documentation typo
	btrfs: make btrfs_clear_delalloc_extent() free delalloc reserve
	btrfs: always clear PERTRANS metadata during commit
	scsi: target: Fix SELinux error when systemd-modules loads the target module
	selftests: timers: Fix valid-adjtimex signed left-shift undefined behavior
	fs/9p: only translate RWX permissions for plain 9P2000
	fs/9p: translate O_TRUNC into OTRUNC
	9p: explicitly deny setlease attempts
	gpio: wcove: Use -ENOTSUPP consistently
	gpio: crystalcove: Use -ENOTSUPP consistently
	fs/9p: drop inodes immediately on non-.L too
	net:usb:qmi_wwan: support Rolling modules
	tcp: remove redundant check on tskb
	tcp: defer shutdown(SEND_SHUTDOWN) for TCP_SYN_RECV sockets
	tcp: Use refcount_inc_not_zero() in tcp_twsk_unique().
	Bluetooth: Fix use-after-free bugs caused by sco_sock_timeout
	Bluetooth: l2cap: fix null-ptr-deref in l2cap_chan_timeout
	rtnetlink: Correct nested IFLA_VF_VLAN_LIST attribute validation
	phonet: fix rtm_phonet_notify() skb allocation
	net: bridge: fix corrupted ethernet header on multicast-to-unicast
	ipv6: fib6_rules: avoid possible NULL dereference in fib6_rule_action()
	af_unix: Do not use atomic ops for unix_sk(sk)->inflight.
	af_unix: Fix garbage collector racing against connect()
	firewire: nosy: ensure user_length is taken into account when fetching packet contents
	usb: gadget: composite: fix OS descriptors w_value logic
	usb: gadget: f_fs: Fix a race condition when processing setup packets.
	tipc: fix UAF in error path
	dyndbg: fix old BUG_ON in >control parser
	drm/vmwgfx: Fix invalid reads in fence signaled events
	net: fix out-of-bounds access in ops_init
	af_unix: Suppress false-positive lockdep splat for spin_lock() in __unix_gc().
	Linux 4.19.314

Change-Id: Iee5ac090f6fe369f9faa89d92ad17b66b8a41bee
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-05-17 15:28:37 +00:00
Chris Wulff
af3f22e07d usb: gadget: f_fs: Fix a race condition when processing setup packets.
commit 0aea736ddb877b93f6d2dd8cf439840d6b4970a9 upstream.

If the USB driver passes a pointer into the TRB buffer for creq, this
buffer can be overwritten with the status response as soon as the event
is queued. This can make the final check return USB_GADGET_DELAYED_STATUS
when it shouldn't. Instead use the stored wLength.

Fixes: 4d644abf25 ("usb: gadget: f_fs: Only return delayed status when len is 0")
Cc: stable <stable@kernel.org>
Signed-off-by: Chris Wulff <chris.wulff@biamp.com>
Link: https://lore.kernel.org/r/CO1PR17MB5419BD664264A558B2395E28E1112@CO1PR17MB5419.namprd17.prod.outlook.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-05-17 11:42:43 +02:00
Greg Kroah-Hartman
ec0ad95612 Merge 4.19.312 into android-4.19-stable
Changes in 4.19.312
	Documentation/hw-vuln: Update spectre doc
	x86/cpu: Support AMD Automatic IBRS
	x86/bugs: Use sysfs_emit()
	timer/trace: Replace deprecated vsprintf pointer extension %pf by %ps
	timer/trace: Improve timer tracing
	timers: Prepare support for PREEMPT_RT
	timers: Update kernel-doc for various functions
	timers: Use del_timer_sync() even on UP
	timers: Rename del_timer_sync() to timer_delete_sync()
	wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach
	smack: Set SMACK64TRANSMUTE only for dirs in smack_inode_setxattr()
	smack: Handle SMACK64TRANSMUTE in smack_inode_setsecurity()
	ARM: dts: mmp2-brownstone: Don't redeclare phandle references
	arm: dts: marvell: Fix maxium->maxim typo in brownstone dts
	media: xc4000: Fix atomicity violation in xc4000_get_frequency
	KVM: Always flush async #PF workqueue when vCPU is being destroyed
	sparc64: NMI watchdog: fix return value of __setup handler
	sparc: vDSO: fix return value of __setup handler
	crypto: qat - fix double free during reset
	crypto: qat - resolve race condition during AER recovery
	fat: fix uninitialized field in nostale filehandles
	ubifs: Set page uptodate in the correct place
	ubi: Check for too small LEB size in VTBL code
	ubi: correct the calculation of fastmap size
	parisc: Do not hardcode registers in checksum functions
	parisc: Fix ip_fast_csum
	parisc: Fix csum_ipv6_magic on 32-bit systems
	parisc: Fix csum_ipv6_magic on 64-bit systems
	parisc: Strip upper 32 bit of sum in csum_ipv6_magic for 64-bit builds
	PM: suspend: Set mem_sleep_current during kernel command line setup
	clk: qcom: gcc-ipq8074: fix terminating of frequency table arrays
	clk: qcom: mmcc-apq8084: fix terminating of frequency table arrays
	clk: qcom: mmcc-msm8974: fix terminating of frequency table arrays
	powerpc/fsl: Fix mfpmr build errors with newer binutils
	USB: serial: ftdi_sio: add support for GMC Z216C Adapter IR-USB
	USB: serial: add device ID for VeriFone adapter
	USB: serial: cp210x: add ID for MGP Instruments PDS100
	USB: serial: option: add MeiG Smart SLM320 product
	USB: serial: cp210x: add pid/vid for TDK NC0110013M and MM0110113M
	PM: sleep: wakeirq: fix wake irq warning in system suspend
	mmc: tmio: avoid concurrent runs of mmc_request_done()
	fuse: don't unhash root
	PCI: Drop pci_device_remove() test of pci_dev->driver
	PCI/PM: Drain runtime-idle callbacks before driver removal
	Revert "Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d""
	dm-raid: fix lockdep waring in "pers->hot_add_disk"
	mmc: core: Fix switch on gp3 partition
	hwmon: (amc6821) add of_match table
	ext4: fix corruption during on-line resize
	slimbus: core: Remove usage of the deprecated ida_simple_xx() API
	speakup: Fix 8bit characters from direct synth
	kbuild: Move -Wenum-{compare-conditional,enum-conversion} into W=1
	vfio/platform: Disable virqfds on cleanup
	soc: fsl: qbman: Always disable interrupts when taking cgr_lock
	soc: fsl: qbman: Add helper for sanity checking cgr ops
	soc: fsl: qbman: Add CGR update function
	soc: fsl: qbman: Use raw spinlock for cgr_lock
	s390/zcrypt: fix reference counting on zcrypt card objects
	drm/imx/ipuv3: do not return negative values from .get_modes()
	drm/vc4: hdmi: do not return negative values from .get_modes()
	memtest: use {READ,WRITE}_ONCE in memory scanning
	nilfs2: fix failure to detect DAT corruption in btree and direct mappings
	nilfs2: use a more common logging style
	nilfs2: prevent kernel bug at submit_bh_wbc()
	x86/CPU/AMD: Update the Zenbleed microcode revisions
	ahci: asm1064: correct count of reported ports
	ahci: asm1064: asm1166: don't limit reported ports
	comedi: comedi_test: Prevent timers rescheduling during deletion
	netfilter: nf_tables: disallow anonymous set with timeout flag
	netfilter: nf_tables: reject constant set with timeout
	xfrm: Avoid clang fortify warning in copy_to_user_tmpl()
	ALSA: hda/realtek - Fix headset Mic no show at resume back for Lenovo ALC897 platform
	USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command
	usb: gadget: ncm: Fix handling of zero block length packets
	usb: port: Don't try to peer unused USB ports based on location
	tty: serial: fsl_lpuart: avoid idle preamble pending if CTS is enabled
	vt: fix unicode buffer corruption when deleting characters
	vt: fix memory overlapping when deleting chars in the buffer
	mm/memory-failure: fix an incorrect use of tail pages
	mm/migrate: set swap entry values of THP tail pages properly.
	wifi: mac80211: check/clear fast rx for non-4addr sta VLAN changes
	exec: Fix NOMMU linux_binprm::exec in transfer_args_to_stack()
	usb: cdc-wdm: close race between read and workqueue
	ALSA: sh: aica: reorder cleanup operations to avoid UAF bugs
	fs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion
	printk: Update @console_may_schedule in console_trylock_spinning()
	btrfs: allocate btrfs_ioctl_defrag_range_args on stack
	Revert "loop: Check for overflow while configuring loop"
	loop: Call loop_config_discard() only after new config is applied
	loop: Remove sector_t truncation checks
	loop: Factor out setting loop device size
	loop: Refactor loop_set_status() size calculation
	loop: properly observe rotational flag of underlying device
	perf/core: Fix reentry problem in perf_output_read_group()
	efivarfs: Request at most 512 bytes for variable names
	powerpc: xor_vmx: Add '-mhard-float' to CFLAGS
	loop: Factor out configuring loop from status
	loop: Check for overflow while configuring loop
	loop: loop_set_status_from_info() check before assignment
	usb: dwc2: host: Fix remote wakeup from hibernation
	usb: dwc2: host: Fix hibernation flow
	usb: dwc2: host: Fix ISOC flow in DDMA mode
	usb: dwc2: gadget: LPM flow fix
	usb: udc: remove warning when queue disabled ep
	scsi: qla2xxx: Fix command flush on cable pull
	x86/cpu: Enable STIBP on AMD if Automatic IBRS is enabled
	scsi: lpfc: Correct size for wqe for memset()
	USB: core: Fix deadlock in usb_deauthorize_interface()
	nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet
	mptcp: add sk_stop_timer_sync helper
	tcp: properly terminate timers for kernel sockets
	r8169: fix issue caused by buggy BIOS on certain boards with RTL8168d
	Bluetooth: hci_event: set the conn encrypted before conn establishes
	Bluetooth: Fix TOCTOU in HCI debugfs implementation
	netfilter: nf_tables: disallow timeout for anonymous sets
	net/rds: fix possible cp null dereference
	Revert "x86/mm/ident_map: Use gbpages only where full GB page should be mapped."
	mm, vmscan: prevent infinite loop for costly GFP_NOIO | __GFP_RETRY_MAYFAIL allocations
	netfilter: nf_tables: Fix potential data-race in __nft_flowtable_type_get()
	net/sched: act_skbmod: prevent kernel-infoleak
	net: stmmac: fix rx queue priority assignment
	selftests: reuseaddr_conflict: add missing new line at the end of the output
	ipv6: Fix infinite recursion in fib6_dump_done().
	i40e: fix vf may be used uninitialized in this function warning
	staging: mmal-vchiq: Avoid use of bool in structures
	staging: mmal-vchiq: Allocate and free components as required
	staging: mmal-vchiq: Fix client_component for 64 bit kernel
	staging: vc04_services: changen strncpy() to strscpy_pad()
	staging: vc04_services: fix information leak in create_component()
	initramfs: factor out a helper to populate the initrd image
	fs: add a vfs_fchown helper
	fs: add a vfs_fchmod helper
	initramfs: switch initramfs unpacking to struct file based APIs
	init: open /initrd.image with O_LARGEFILE
	erspan: Add type I version 0 support.
	erspan: make sure erspan_base_hdr is present in skb->head
	ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw
	ata: sata_sx4: fix pdc20621_get_from_dimm() on 64-bit
	ata: sata_mv: Fix PCI device ID table declaration compilation warning
	ALSA: hda/realtek: Update Panasonic CF-SZ6 quirk to support headset with microphone
	wifi: ath9k: fix LNA selection in ath_ant_try_scan()
	VMCI: Fix memcpy() run-time warning in dg_dispatch_as_host()
	arm64: dts: rockchip: fix rk3399 hdmi ports node
	tools/power x86_energy_perf_policy: Fix file leak in get_pkg_num()
	btrfs: handle chunk tree lookup error in btrfs_relocate_sys_chunks()
	btrfs: export: handle invalid inode or root reference in btrfs_get_parent()
	btrfs: send: handle path ref underflow in header iterate_inode_ref()
	Bluetooth: btintel: Fix null ptr deref in btintel_read_version
	Input: synaptics-rmi4 - fail probing if memory allocation for "phys" fails
	sysv: don't call sb_bread() with pointers_lock held
	scsi: lpfc: Fix possible memory leak in lpfc_rcv_padisc()
	isofs: handle CDs with bad root inode but good Joliet root directory
	media: sta2x11: fix irq handler cast
	drm/amd/display: Fix nanosec stat overflow
	SUNRPC: increase size of rpc_wait_queue.qlen from unsigned short to unsigned int
	block: prevent division by zero in blk_rq_stat_sum()
	Input: allocate keycode for Display refresh rate toggle
	ktest: force $buildonly = 1 for 'make_warnings_file' test type
	tools: iio: replace seekdir() in iio_generic_buffer
	usb: sl811-hcd: only defined function checkdone if QUIRK2 is defined
	fbdev: viafb: fix typo in hw_bitblt_1 and hw_bitblt_2
	fbmon: prevent division by zero in fb_videomode_from_videomode()
	tty: n_gsm: require CAP_NET_ADMIN to attach N_GSM0710 ldisc
	drm/vkms: call drm_atomic_helper_shutdown before drm_dev_put()
	virtio: reenable config if freezing device failed
	x86/mm/pat: fix VM_PAT handling in COW mappings
	Bluetooth: btintel: Fixe build regression
	VMCI: Fix possible memcpy() run-time warning in vmci_datagram_invoke_guest_handler()
	erspan: Check IFLA_GRE_ERSPAN_VER is set.
	ip_gre: do not report erspan version on GRE interface
	initramfs: fix populate_initrd_image() section mismatch
	amdkfd: use calloc instead of kzalloc to avoid integer overflow
	Linux 4.19.312

Change-Id: Ic4c50de6afb4c88c8011be6cc93f960d2dc968e0
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-04-16 10:08:42 +00:00
Greg Kroah-Hartman
595ad74771 Merge 4.19.308 into android-4.19-stable
Changes in 4.19.308
	net/sched: Retire CBQ qdisc
	net/sched: Retire ATM qdisc
	net/sched: Retire dsmark qdisc
	stmmac: no need to check return value of debugfs_create functions
	net: stmmac: fix notifier registration
	memcg: add refcnt for pcpu stock to avoid UAF problem in drain_all_stock()
	nilfs2: replace WARN_ONs for invalid DAT metadata block requests
	userfaultfd: fix mmap_changing checking in mfill_atomic_hugetlb
	sched/rt: Fix sysctl_sched_rr_timeslice intial value
	sched/rt: sysctl_sched_rr_timeslice show default timeslice after reset
	sched/rt: Disallow writing invalid values to sched_rt_period_us
	scsi: target: core: Add TMF to tmr_list handling
	dmaengine: shdma: increase size of 'dev_id'
	wifi: cfg80211: fix missing interfaces when dumping
	wifi: mac80211: fix race condition on enabling fast-xmit
	fbdev: savage: Error out if pixclock equals zero
	fbdev: sis: Error out if pixclock equals zero
	ahci: asm1166: correct count of reported ports
	ext4: avoid allocating blocks from corrupted group in ext4_mb_try_best_found()
	ext4: avoid allocating blocks from corrupted group in ext4_mb_find_by_goal()
	regulator: pwm-regulator: Add validity checks in continuous .get_voltage
	hwmon: (coretemp) Enlarge per package core count limit
	firewire: core: send bus reset promptly on gap count error
	virtio-blk: Ensure no requests in virtqueues before deleting vqs.
	s390/qeth: Fix potential loss of L3-IP@ in case of network issues
	pmdomain: renesas: r8a77980-sysc: CR7 must be always on
	IB/hfi1: Fix sdma.h tx->num_descs off-by-one error
	mm: memcontrol: switch to rcu protection in drain_all_stock()
	dm-crypt: don't modify the data when using authenticated encryption
	gtp: fix use-after-free and null-ptr-deref in gtp_genl_dump_pdp()
	l2tp: pass correct message length to ip6_append_data
	ARM: ep93xx: Add terminator to gpiod_lookup_table
	usb: gadget: ncm: Avoid dropping datagrams of properly parsed NTBs
	usb: roles: don't get/set_role() when usb_role_switch is unregistered
	IB/hfi1: Fix a memleak in init_credit_return
	RDMA/bnxt_re: Return error for SRQ resize
	RDMA/srpt: Support specifying the srpt_service_guid parameter
	RDMA/ulp: Use dev_name instead of ibdev->name
	RDMA/srpt: Make debug output more detailed
	RDMA/srpt: fix function pointer cast warnings
	scripts/bpf: teach bpf_helpers_doc.py to dump BPF helper definitions
	bpf, scripts: Correct GPL license name
	scsi: jazz_esp: Only build if SCSI core is builtin
	nouveau: fix function cast warnings
	ipv6: sr: fix possible use-after-free and null-ptr-deref
	packet: move from strlcpy with unused retval to strscpy
	s390: use the correct count for __iowrite64_copy()
	PCI/MSI: Prevent MSI hardware interrupt number truncation
	KVM: arm64: vgic-its: Test for valid IRQ in its_sync_lpi_pending_table()
	KVM: arm64: vgic-its: Test for valid IRQ in MOVALL handler
	fs/aio: Restrict kiocb_set_cancel_fn() to I/O submitted via libaio
	scripts/bpf: Fix xdp_md forward declaration typo
	Linux 4.19.308

Change-Id: I5d0daaa03dbc35f1460154d9b04fc4c625205974
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-04-15 17:19:58 +00:00
Greg Kroah-Hartman
45df1db3d3 Merge 4.19.307 into android-4.19-stable
Changes in 4.19.307
	PCI: mediatek: Clear interrupt status before dispatching handler
	include/linux/units.h: add helpers for kelvin to/from Celsius conversion
	units: Add Watt units
	units: change from 'L' to 'UL'
	units: add the HZ macros
	serial: sc16is7xx: set safe default SPI clock frequency
	driver core: add device probe log helper
	spi: introduce SPI_MODE_X_MASK macro
	serial: sc16is7xx: add check for unsupported SPI modes during probe
	ext4: allow for the last group to be marked as trimmed
	crypto: api - Disallow identical driver names
	PM: hibernate: Enforce ordering during image compression/decompression
	hwrng: core - Fix page fault dead lock on mmap-ed hwrng
	rpmsg: virtio: Free driver_override when rpmsg_remove()
	parisc/firmware: Fix F-extend for PDC addresses
	nouveau/vmm: don't set addr on the fail path to avoid warning
	block: Remove special-casing of compound pages
	powerpc: Use always instead of always-y in for crtsavres.o
	x86/CPU/AMD: Fix disabling XSAVES on AMD family 0x17 due to erratum
	driver core: Annotate dev_err_probe() with __must_check
	Revert "driver core: Annotate dev_err_probe() with __must_check"
	driver code: print symbolic error code
	drivers: core: fix kernel-doc markup for dev_err_probe()
	net/smc: fix illegal rmb_desc access in SMC-D connection dump
	vlan: skip nested type that is not IFLA_VLAN_QOS_MAPPING
	llc: make llc_ui_sendmsg() more robust against bonding changes
	llc: Drop support for ETH_P_TR_802_2.
	net/rds: Fix UBSAN: array-index-out-of-bounds in rds_cmsg_recv
	tracing: Ensure visibility when inserting an element into tracing_map
	tcp: Add memory barrier to tcp_push()
	netlink: fix potential sleeping issue in mqueue_flush_file
	net/mlx5: Use kfree(ft->g) in arfs_create_groups()
	net/mlx5e: fix a double-free in arfs_create_groups
	netfilter: nf_tables: restrict anonymous set and map names to 16 bytes
	fjes: fix memleaks in fjes_hw_setup
	net: fec: fix the unhandled context fault from smmu
	btrfs: don't warn if discard range is not aligned to sector
	btrfs: defrag: reject unknown flags of btrfs_ioctl_defrag_range_args
	netfilter: nf_tables: reject QUEUE/DROP verdict parameters
	gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-04
	drm: Don't unref the same fb many times by mistake due to deadlock handling
	drm/bridge: nxp-ptn3460: fix i2c_master_send() error checking
	drm/bridge: nxp-ptn3460: simplify some error checking
	drm/exynos: gsc: minor fix for loop iteration in gsc_runtime_resume
	gpio: eic-sprd: Clear interrupt after set the interrupt type
	mips: Call lose_fpu(0) before initializing fcr31 in mips_set_personality_nan
	tick/sched: Preserve number of idle sleeps across CPU hotplug events
	x86/entry/ia32: Ensure s32 is sign extended to s64
	net/sched: cbs: Fix not adding cbs instance to list
	powerpc/mm: Fix null-pointer dereference in pgtable_cache_add
	powerpc: Fix build error due to is_valid_bugaddr()
	powerpc/mm: Fix build failures due to arch_reserved_kernel_pages()
	powerpc/lib: Validate size for vector operations
	audit: Send netlink ACK before setting connection in auditd_set
	ACPI: video: Add quirk for the Colorful X15 AT 23 Laptop
	PNP: ACPI: fix fortify warning
	ACPI: extlog: fix NULL pointer dereference check
	FS:JFS:UBSAN:array-index-out-of-bounds in dbAdjTree
	UBSAN: array-index-out-of-bounds in dtSplitRoot
	jfs: fix slab-out-of-bounds Read in dtSearch
	jfs: fix array-index-out-of-bounds in dbAdjTree
	jfs: fix uaf in jfs_evict_inode
	pstore/ram: Fix crash when setting number of cpus to an odd number
	crypto: stm32/crc32 - fix parsing list of devices
	afs: fix the usage of read_seqbegin_or_lock() in afs_find_server*()
	rxrpc_find_service_conn_rcu: fix the usage of read_seqbegin_or_lock()
	jfs: fix array-index-out-of-bounds in diNewExt
	s390/ptrace: handle setting of fpc register correctly
	KVM: s390: fix setting of fpc register
	SUNRPC: Fix a suspicious RCU usage warning
	ext4: fix inconsistent between segment fstrim and full fstrim
	ext4: unify the type of flexbg_size to unsigned int
	ext4: remove unnecessary check from alloc_flex_gd()
	ext4: avoid online resizing failures due to oversized flex bg
	scsi: lpfc: Fix possible file string name overflow when updating firmware
	PCI: Add no PM reset quirk for NVIDIA Spectrum devices
	bonding: return -ENOMEM instead of BUG in alb_upper_dev_walk
	ARM: dts: imx7s: Fix lcdif compatible
	ARM: dts: imx7s: Fix nand-controller #size-cells
	wifi: ath9k: Fix potential array-index-out-of-bounds read in ath9k_htc_txstatus()
	bpf: Add map and need_defer parameters to .map_fd_put_ptr()
	scsi: libfc: Don't schedule abort twice
	scsi: libfc: Fix up timeout error in fc_fcp_rec_error()
	ARM: dts: rockchip: fix rk3036 hdmi ports node
	ARM: dts: imx25/27-eukrea: Fix RTC node name
	ARM: dts: imx: Use flash@0,0 pattern
	ARM: dts: imx27: Fix sram node
	ARM: dts: imx1: Fix sram node
	ARM: dts: imx27-apf27dev: Fix LED name
	ARM: dts: imx23-sansa: Use preferred i2c-gpios properties
	ARM: dts: imx23/28: Fix the DMA controller node name
	md: Whenassemble the array, consult the superblock of the freshest device
	wifi: rtl8xxxu: Add additional USB IDs for RTL8192EU devices
	wifi: rtlwifi: rtl8723{be,ae}: using calculate_bit_shift()
	wifi: cfg80211: free beacon_ies when overridden from hidden BSS
	f2fs: fix to check return value of f2fs_reserve_new_block()
	ASoC: doc: Fix undefined SND_SOC_DAPM_NOPM argument
	fast_dput(): handle underflows gracefully
	RDMA/IPoIB: Fix error code return in ipoib_mcast_join
	drm/drm_file: fix use of uninitialized variable
	drm/framebuffer: Fix use of uninitialized variable
	drm/mipi-dsi: Fix detach call without attach
	media: stk1160: Fixed high volume of stk1160_dbg messages
	media: rockchip: rga: fix swizzling for RGB formats
	PCI: add INTEL_HDA_ARL to pci_ids.h
	ALSA: hda: Intel: add HDA_ARL PCI ID support
	drm/exynos: Call drm_atomic_helper_shutdown() at shutdown/unbind time
	IB/ipoib: Fix mcast list locking
	media: ddbridge: fix an error code problem in ddb_probe
	drm/msm/dpu: Ratelimit framedone timeout msgs
	clk: hi3620: Fix memory leak in hi3620_mmc_clk_init()
	clk: mmp: pxa168: Fix memory leak in pxa168_clk_init()
	drm/amdgpu: Let KFD sync with VM fences
	drm/amdgpu: Drop 'fence' check in 'to_amdgpu_amdkfd_fence()'
	leds: trigger: panic: Don't register panic notifier if creating the trigger failed
	um: Fix naming clash between UML and scheduler
	um: Don't use vfprintf() for os_info()
	um: net: Fix return type of uml_net_start_xmit()
	mfd: ti_am335x_tscadc: Fix TI SoC dependencies
	PCI: Only override AMD USB controller if required
	usb: hub: Replace hardcoded quirk value with BIT() macro
	libsubcmd: Fix memory leak in uniq()
	virtio_net: Fix "‘%d’ directive writing between 1 and 11 bytes into a region of size 10" warnings
	blk-mq: fix IO hang from sbitmap wakeup race
	ceph: fix deadlock or deadcode of misusing dget()
	drm/amdgpu: Release 'adev->pm.fw' before return in 'amdgpu_device_need_post()'
	wifi: cfg80211: fix RCU dereference in __cfg80211_bss_update
	scsi: isci: Fix an error code problem in isci_io_request_build()
	net: remove unneeded break
	ixgbe: Remove non-inclusive language
	ixgbe: Refactor returning internal error codes
	ixgbe: Refactor overtemp event handling
	ixgbe: Fix an error handling path in ixgbe_read_iosf_sb_reg_x550()
	ipv6: Ensure natural alignment of const ipv6 loopback and router addresses
	llc: call sock_orphan() at release time
	netfilter: nf_log: replace BUG_ON by WARN_ON_ONCE when putting logger
	net: ipv4: fix a memleak in ip_setup_cork
	af_unix: fix lockdep positive in sk_diag_dump_icons()
	net: sysfs: Fix /sys/class/net/<iface> path
	HID: apple: Add support for the 2021 Magic Keyboard
	HID: apple: Swap the Fn and Left Control keys on Apple keyboards
	HID: apple: Add 2021 magic keyboard FN key mapping
	bonding: remove print in bond_verify_device_path
	dmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV
	phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP
	atm: idt77252: fix a memleak in open_card_ubr0
	hwmon: (aspeed-pwm-tacho) mutex for tach reading
	hwmon: (coretemp) Fix out-of-bounds memory access
	hwmon: (coretemp) Fix bogus core_id to attr name mapping
	inet: read sk->sk_family once in inet_recv_error()
	rxrpc: Fix response to PING RESPONSE ACKs to a dead call
	tipc: Check the bearer type before calling tipc_udp_nl_bearer_add()
	ppp_async: limit MRU to 64K
	netfilter: nft_compat: reject unused compat flag
	netfilter: nft_compat: restrict match/target protocol to u16
	net/af_iucv: clean up a try_then_request_module()
	USB: serial: qcserial: add new usb-id for Dell Wireless DW5826e
	USB: serial: option: add Fibocom FM101-GL variant
	USB: serial: cp210x: add ID for IMST iM871A-USB
	Input: atkbd - skip ATKBD_CMD_SETLEDS when skipping ATKBD_CMD_GETID
	vhost: use kzalloc() instead of kmalloc() followed by memset()
	hrtimer: Report offline hrtimer enqueue
	btrfs: forbid creating subvol qgroups
	btrfs: send: return EOPNOTSUPP on unknown flags
	spi: ppc4xx: Drop write-only variable
	ASoC: rt5645: Fix deadlock in rt5645_jack_detect_work()
	Documentation: net-sysfs: describe missing statistics
	net: sysfs: Fix /sys/class/net/<iface> path for statistics
	MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler
	i40e: Fix waiting for queues of all VSIs to be disabled
	tracing/trigger: Fix to return error if failed to alloc snapshot
	mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again
	HID: wacom: generic: Avoid reporting a serial of '0' to userspace
	HID: wacom: Do not register input devices until after hid_hw_start
	USB: hub: check for alternate port before enabling A_ALT_HNP_SUPPORT
	usb: f_mass_storage: forbid async queue when shutdown happen
	scsi: Revert "scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock"
	firewire: core: correct documentation of fw_csr_string() kernel API
	nfc: nci: free rx_data_reassembly skb on NCI device cleanup
	xen-netback: properly sync TX responses
	binder: signal epoll threads of self-work
	ext4: fix double-free of blocks due to wrong extents moved_len
	staging: iio: ad5933: fix type mismatch regression
	ring-buffer: Clean ring_buffer_poll_wait() error return
	serial: max310x: set default value when reading clock ready bit
	serial: max310x: improve crystal stable clock detection
	x86/Kconfig: Transmeta Crusoe is CPU family 5, not 6
	x86/mm/ident_map: Use gbpages only where full GB page should be mapped.
	ALSA: hda/conexant: Add quirk for SWS JS201D
	nilfs2: fix data corruption in dsync block recovery for small block sizes
	nilfs2: fix hang in nilfs_lookup_dirty_data_buffers()
	nfp: use correct macro for LengthSelect in BAR config
	irqchip/irq-brcmstb-l2: Add write memory barrier before exit
	pmdomain: core: Move the unused cleanup to a _sync initcall
	Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"
	sched/membarrier: reduce the ability to hammer on sys_membarrier
	nilfs2: fix potential bug in end_buffer_async_write
	lsm: new security_file_ioctl_compat() hook
	netfilter: nf_tables: fix pointer math issue in nft_byteorder_eval()
	Linux 4.19.307

Change-Id: Ib05aec445afe9920e2502bcfce1c52db76e27139
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-04-15 10:17:13 +00:00
Krishna Kurapati
e2dbfea520 usb: gadget: ncm: Fix handling of zero block length packets
commit f90ce1e04cbcc76639d6cba0fdbd820cd80b3c70 upstream.

While connecting to a Linux host with CDC_NCM_NTB_DEF_SIZE_TX
set to 65536, it has been observed that we receive short packets,
which come at interval of 5-10 seconds sometimes and have block
length zero but still contain 1-2 valid datagrams present.

According to the NCM spec:

"If wBlockLength = 0x0000, the block is terminated by a
short packet. In this case, the USB transfer must still
be shorter than dwNtbInMaxSize or dwNtbOutMaxSize. If
exactly dwNtbInMaxSize or dwNtbOutMaxSize bytes are sent,
and the size is a multiple of wMaxPacketSize for the
given pipe, then no ZLP shall be sent.

wBlockLength= 0x0000 must be used with extreme care, because
of the possibility that the host and device may get out of
sync, and because of test issues.

wBlockLength = 0x0000 allows the sender to reduce latency by
starting to send a very large NTB, and then shortening it when
the sender discovers that there’s not sufficient data to justify
sending a large NTB"

However, there is a potential issue with the current implementation,
as it checks for the occurrence of multiple NTBs in a single
giveback by verifying if the leftover bytes to be processed is zero
or not. If the block length reads zero, we would process the same
NTB infintely because the leftover bytes is never zero and it leads
to a crash. Fix this by bailing out if block length reads zero.

Cc: stable@vger.kernel.org
Fixes: 427694cfaafa ("usb: gadget: ncm: Handle decoding of multiple NTB's in unwrap call")
Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Reviewed-by: Maciej Żenczykowski <maze@google.com>
Link: https://lore.kernel.org/r/20240228115441.2105585-1-quic_kriskura@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-04-13 12:50:08 +02:00
Krishna Kurapati
059285e04e usb: gadget: ncm: Avoid dropping datagrams of properly parsed NTBs
commit 76c51146820c5dac629f21deafab0a7039bc3ccd upstream.

It is observed sometimes when tethering is used over NCM with Windows 11
as host, at some instances, the gadget_giveback has one byte appended at
the end of a proper NTB. When the NTB is parsed, unwrap call looks for
any leftover bytes in SKB provided by u_ether and if there are any pending
bytes, it treats them as a separate NTB and parses it. But in case the
second NTB (as per unwrap call) is faulty/corrupt, all the datagrams that
were parsed properly in the first NTB and saved in rx_list are dropped.

Adding a few custom traces showed the following:
[002] d..1  7828.532866: dwc3_gadget_giveback: ep1out:
req 000000003868811a length 1025/16384 zsI ==> 0
[002] d..1  7828.532867: ncm_unwrap_ntb: K: ncm_unwrap_ntb toprocess: 1025
[002] d..1  7828.532867: ncm_unwrap_ntb: K: ncm_unwrap_ntb nth: 1751999342
[002] d..1  7828.532868: ncm_unwrap_ntb: K: ncm_unwrap_ntb seq: 0xce67
[002] d..1  7828.532868: ncm_unwrap_ntb: K: ncm_unwrap_ntb blk_len: 0x400
[002] d..1  7828.532868: ncm_unwrap_ntb: K: ncm_unwrap_ntb ndp_len: 0x10
[002] d..1  7828.532869: ncm_unwrap_ntb: K: Parsed NTB with 1 frames

In this case, the giveback is of 1025 bytes and block length is 1024.
The rest 1 byte (which is 0x00) won't be parsed resulting in drop of
all datagrams in rx_list.

Same is case with packets of size 2048:
[002] d..1  7828.557948: dwc3_gadget_giveback: ep1out:
req 0000000011dfd96e length 2049/16384 zsI ==> 0
[002] d..1  7828.557949: ncm_unwrap_ntb: K: ncm_unwrap_ntb nth: 1751999342
[002] d..1  7828.557950: ncm_unwrap_ntb: K: ncm_unwrap_ntb blk_len: 0x800

Lecroy shows one byte coming in extra confirming that the byte is coming
in from PC:

 Transfer 2959 - Bytes Transferred(1025)  Timestamp((18.524 843 590)
 - Transaction 8391 - Data(1025 bytes) Timestamp(18.524 843 590)
 --- Packet 4063861
       Data(1024 bytes)
       Duration(2.117us) Idle(14.700ns) Timestamp(18.524 843 590)
 --- Packet 4063863
       Data(1 byte)
       Duration(66.160ns) Time(282.000ns) Timestamp(18.524 845 722)

According to Windows driver, no ZLP is needed if wBlockLength is non-zero,
because the non-zero wBlockLength has already told the function side the
size of transfer to be expected. However, there are in-market NCM devices
that rely on ZLP as long as the wBlockLength is multiple of wMaxPacketSize.
To deal with such devices, it pads an extra 0 at end so the transfer is no
longer multiple of wMaxPacketSize.

Cc: <stable@vger.kernel.org>
Fixes: 9f6ce4240a ("usb: gadget: f_ncm.c added")
Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Reviewed-by: Maciej Żenczykowski <maze@google.com>
Link: https://lore.kernel.org/r/20240205074650.200304-1-quic_kriskura@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-03-01 13:06:10 +01:00
yuan linyu
68a8f87c9c usb: f_mass_storage: forbid async queue when shutdown happen
commit b2d2d7ea0dd09802cf5a0545bf54d8ad8987d20c upstream.

When write UDC to empty and unbind gadget driver from gadget device, it is
possible that there are many queue failures for mass storage function.

The root cause is mass storage main thread alaways try to queue request to
receive a command from host if running flag is on, on platform like dwc3,
if pull down called, it will not queue request again and return
-ESHUTDOWN, but it not affect running flag of mass storage function.

Check return code from mass storage function and clear running flag if it
is -ESHUTDOWN, also indicate start in/out transfer failure to break loops.

Cc: stable <stable@kernel.org>
Signed-off-by: yuan linyu <yuanlinyu@hihonor.com>
Reviewed-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/20240123034829.3848409-1-yuanlinyu@hihonor.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-02-23 08:12:56 +01:00
Greg Kroah-Hartman
cd086b6516 Merge 4.19.302 into android-4.19-stable
Changes in 4.19.302
	spi: imx: add a device specific prepare_message callback
	spi: imx: move wml setting to later than setup_transfer
	spi: imx: correct wml as the last sg length
	spi: imx: mx51-ecspi: Move some initialisation to prepare_message hook.
	media: davinci: vpif_capture: fix potential double free
	hrtimers: Push pending hrtimers away from outgoing CPU earlier
	netfilter: ipset: fix race condition between swap/destroy and kernel side add/del/test
	tg3: Move the [rt]x_dropped counters to tg3_napi
	tg3: Increment tx_dropped in tg3_tso_bug()
	kconfig: fix memory leak from range properties
	drm/amdgpu: correct chunk_ptr to a pointer to chunk.
	ipv6: fix potential NULL deref in fib6_add()
	hv_netvsc: rndis_filter needs to select NLS
	net: arcnet: Fix RESET flag handling
	net: arcnet: com20020 fix error handling
	arcnet: restoring support for multiple Sohard Arcnet cards
	ipv4: ip_gre: Avoid skb_pull() failure in ipgre_xmit()
	net: hns: fix fake link up on xge port
	netfilter: xt_owner: Add supplementary groups option
	netfilter: xt_owner: Fix for unsafe access of sk->sk_socket
	tcp: do not accept ACK of bytes we never sent
	RDMA/bnxt_re: Correct module description string
	hwmon: (acpi_power_meter) Fix 4.29 MW bug
	tracing: Fix a warning when allocating buffered events fails
	scsi: be2iscsi: Fix a memleak in beiscsi_init_wrb_handle()
	ARM: imx: Check return value of devm_kasprintf in imx_mmdc_perf_init
	ARM: dts: imx: make gpt node name generic
	ARM: dts: imx7: Declare timers compatible with fsl,imx6dl-gpt
	ALSA: pcm: fix out-of-bounds in snd_pcm_state_names
	packet: Move reference count in packet_sock to atomic_long_t
	nilfs2: prevent WARNING in nilfs_sufile_set_segment_usage()
	tracing: Always update snapshot buffer size
	tracing: Fix incomplete locking when disabling buffered events
	tracing: Fix a possible race when disabling buffered events
	perf/core: Add a new read format to get a number of lost samples
	perf: Fix perf_event_validate_size()
	gpiolib: sysfs: Fix error handling on failed export
	usb: gadget: f_hid: fix report descriptor allocation
	parport: Add support for Brainboxes IX/UC/PX parallel cards
	usb: typec: class: fix typec_altmode_put_partner to put plugs
	serial: sc16is7xx: address RX timeout interrupt errata
	serial: 8250_omap: Add earlycon support for the AM654 UART controller
	x86/CPU/AMD: Check vendor in the AMD microcode callback
	KVM: s390/mm: Properly reset no-dat
	nilfs2: fix missing error check for sb_set_blocksize call
	netlink: don't call ->netlink_bind with table lock held
	genetlink: add CAP_NET_ADMIN test for multicast bind
	psample: Require 'CAP_NET_ADMIN' when joining "packets" group
	drop_monitor: Require 'CAP_SYS_ADMIN' when joining "events" group
	tools headers UAPI: Sync linux/perf_event.h with the kernel sources
	IB/isert: Fix unaligned immediate-data handling
	devcoredump : Serialize devcd_del work
	devcoredump: Send uevent once devcd is ready
	Linux 4.19.302

Change-Id: If04a1c5d3950ac7c1cbe4b71df951dcf3e8e8ed1
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-12-14 09:05:30 +00:00
Konstantin Aladyshev
7d357f053a usb: gadget: f_hid: fix report descriptor allocation
commit 61890dc28f7d9e9aac8a9471302613824c22fae4 upstream.

The commit 89ff3dfac604 ("usb: gadget: f_hid: fix f_hidg lifetime vs
cdev") has introduced a bug that leads to hid device corruption after
the replug operation.
Reverse device managed memory allocation for the report descriptor
to fix the issue.

Tested:
This change was tested on the AMD EthanolX CRB server with the BMC
based on the OpenBMC distribution. The BMC provides KVM functionality
via the USB gadget device:
- before: KVM page refresh results in a broken USB device,
- after: KVM page refresh works without any issues.

Fixes: 89ff3dfac604 ("usb: gadget: f_hid: fix f_hidg lifetime vs cdev")
Cc: stable@vger.kernel.org
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
Link: https://lore.kernel.org/r/20231206080744.253-2-aladyshev22@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-12-13 17:42:19 +01:00
Greg Kroah-Hartman
11806753ba Merge 4.19.300 into android-4.19-stable
Changes in 4.19.300
	locking/ww_mutex/test: Fix potential workqueue corruption
	perf/core: Bail out early if the request AUX area is out of bound
	clocksource/drivers/timer-imx-gpt: Fix potential memory leak
	clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware
	x86/mm: Drop the 4 MB restriction on minimal NUMA node memory size
	wifi: mac80211: don't return unset power in ieee80211_get_tx_power()
	wifi: ath9k: fix clang-specific fortify warnings
	wifi: ath10k: fix clang-specific fortify warning
	net: annotate data-races around sk->sk_tx_queue_mapping
	net: annotate data-races around sk->sk_dst_pending_confirm
	Bluetooth: Fix double free in hci_conn_cleanup
	platform/x86: thinkpad_acpi: Add battery quirk for Thinkpad X120e
	drm/amd: Fix UBSAN array-index-out-of-bounds for SMU7
	drm/amd: Fix UBSAN array-index-out-of-bounds for Polaris and Tonga
	drm/amdgpu: Fix a null pointer access when the smc_rreg pointer is NULL
	selftests/efivarfs: create-read: fix a resource leak
	crypto: pcrypt - Fix hungtask for PADATA_RESET
	RDMA/hfi1: Use FIELD_GET() to extract Link Width
	fs/jfs: Add check for negative db_l2nbperpage
	fs/jfs: Add validity check for db_maxag and db_agpref
	jfs: fix array-index-out-of-bounds in dbFindLeaf
	jfs: fix array-index-out-of-bounds in diAlloc
	ARM: 9320/1: fix stack depot IRQ stack filter
	ALSA: hda: Fix possible null-ptr-deref when assigning a stream
	atm: iphase: Do PCI error checks on own line
	scsi: libfc: Fix potential NULL pointer dereference in fc_lport_ptp_setup()
	HID: Add quirk for Dell Pro Wireless Keyboard and Mouse KM5221W
	tty: vcc: Add check for kstrdup() in vcc_probe()
	usb: gadget: f_ncm: Always set current gadget in ncm_bind()
	i2c: sun6i-p2wi: Prevent potential division by zero
	media: gspca: cpia1: shift-out-of-bounds in set_flicker
	media: vivid: avoid integer overflow
	gfs2: ignore negated quota changes
	drm/amd/display: Avoid NULL dereference of timing generator
	pwm: Fix double shift bug
	NFSv4.1: fix SP4_MACH_CRED protection for pnfs IO
	ipvlan: add ipvlan_route_v6_outbound() helper
	tty: Fix uninit-value access in ppp_sync_receive()
	tipc: Fix kernel-infoleak due to uninitialized TLV value
	ppp: limit MRU to 64K
	xen/events: fix delayed eoi list handling
	ptp: annotate data-race around q->head and q->tail
	net: ethernet: cortina: Fix max RX frame define
	net: ethernet: cortina: Handle large frames
	net: ethernet: cortina: Fix MTU max setting
	macvlan: Don't propagate promisc change to lower dev in passthru
	cifs: spnego: add ';' in HOST_KEY_LEN
	media: venus: hfi: add checks to perform sanity on queue pointers
	randstruct: Fix gcc-plugin performance mode to stay in group
	KVM: x86: Ignore MSR_AMD64_TW_CFG access
	audit: don't take task_lock() in audit_exe_compare() code path
	audit: don't WARN_ON_ONCE(!current->mm) in audit_exe_compare()
	hvc/xen: fix error path in xen_hvc_init() to always register frontend driver
	PCI/sysfs: Protect driver's D3cold preference from user space
	mmc: meson-gx: Remove setting of CMD_CFG_ERROR
	genirq/generic_chip: Make irq_remove_generic_chip() irqdomain aware
	PCI: keystone: Don't discard .remove() callback
	PCI: keystone: Don't discard .probe() callback
	parisc/pdc: Add width field to struct pdc_model
	clk: qcom: ipq8074: drop the CLK_SET_RATE_PARENT flag from PLL clocks
	mmc: vub300: fix an error code
	PM: hibernate: Use __get_safe_page() rather than touching the list
	PM: hibernate: Clean up sync_read handling in snapshot_write_next()
	jbd2: fix potential data lost in recovering journal raced with synchronizing fs bdev
	quota: explicitly forbid quota files from being encrypted
	mcb: fix error handling for different scenarios when parsing
	dmaengine: stm32-mdma: correct desc prep when channel running
	parisc: Prevent booting 64-bit kernels on PA1.x machines
	parisc/pgtable: Do not drop upper 5 address bits of physical address
	ALSA: info: Fix potential deadlock at disconnection
	ALSA: hda/realtek - Enable internal speaker of ASUS K6500ZC
	tty: serial: meson: if no alias specified use an available id
	serial: meson: remove redundant initialization of variable id
	tty: serial: meson: retrieve port FIFO size from DT
	serial: meson: Use platform_get_irq() to get the interrupt
	tty: serial: meson: fix hard LOCKUP on crtscts mode
	net: dsa: lan9303: consequently nested-lock physical MDIO
	i2c: i801: fix potential race in i801_block_transaction_byte_by_byte
	media: lirc: drop trailing space from scancode transmit
	media: sharp: fix sharp encoding
	media: venus: hfi_parser: Add check to keep the number of codecs within range
	media: venus: hfi: fix the check to handle session buffer requirement
	media: venus: hfi: add checks to handle capabilities from firmware
	Revert "net: r8169: Disable multicast filter for RTL8168H and RTL8107E"
	ext4: apply umask if ACL support is disabled
	ext4: correct offset of gdb backup in non meta_bg group to update_backups
	ext4: correct return value of ext4_convert_meta_bg
	ext4: remove gdb backup copy for meta bg in setup_new_flex_group_blocks
	drm/amdgpu: fix error handling in amdgpu_bo_list_get()
	scsi: virtio_scsi: limit number of hw queues by nr_cpu_ids
	iomap: Set all uptodate bits for an Uptodate page
	net: sched: fix race condition in qdisc_graft()
	Linux 4.19.300

Change-Id: I21f68d5f5dc85afe62bbc6e9a7aac12faee56621
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-11-30 09:36:03 +00:00
Hardik Gajjar
444a018240 usb: gadget: f_ncm: Always set current gadget in ncm_bind()
[ Upstream commit a04224da1f3424b2c607b12a3bd1f0e302fb8231 ]

Previously, gadget assignment to the net device occurred exclusively
during the initial binding attempt.

Nevertheless, the gadget pointer could change during bind/unbind
cycles due to various conditions, including the unloading/loading
of the UDC device driver or the detachment/reconnection of an
OTG-capable USB hub device.

This patch relocates the gether_set_gadget() function out from
ncm_opts->bound condition check, ensuring that the correct gadget
is assigned during each bind request.

The provided logs demonstrate the consistency of ncm_opts throughout
the power cycle, while the gadget may change.

* OTG hub connected during boot up and assignment of gadget and
  ncm_opts pointer

[    2.366301] usb 2-1.5: New USB device found, idVendor=2996, idProduct=0105
[    2.366304] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    2.366306] usb 2-1.5: Product: H2H Bridge
[    2.366308] usb 2-1.5: Manufacturer: Aptiv
[    2.366309] usb 2-1.5: SerialNumber: 13FEB2021
[    2.427989] usb 2-1.5: New USB device found, VID=2996, PID=0105
[    2.428959] dabridge 2-1.5:1.0: dabridge 2-4 total endpoints=5, 0000000093a8d681
[    2.429710] dabridge 2-1.5:1.0: P(0105) D(22.06.22) F(17.3.16) H(1.1) high-speed
[    2.429714] dabridge 2-1.5:1.0: Hub 2-2 P(0151) V(06.87)
[    2.429956] dabridge 2-1.5:1.0: All downstream ports in host mode

[    2.430093] gadget 000000003c414d59 ------> gadget pointer

* NCM opts and associated gadget pointer during First ncm_bind

[   34.763929] NCM opts 00000000aa304ac9
[   34.763930] NCM gadget 000000003c414d59

* OTG capable hub disconnecte or assume driver unload.

[   97.203114] usb 2-1: USB disconnect, device number 2
[   97.203118] usb 2-1.1: USB disconnect, device number 3
[   97.209217] usb 2-1.5: USB disconnect, device number 4
[   97.230990] dabr_udc deleted

* Reconnect the OTG hub or load driver assaign new gadget pointer.

[  111.534035] usb 2-1.1: New USB device found, idVendor=2996, idProduct=0120, bcdDevice= 6.87
[  111.534038] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  111.534040] usb 2-1.1: Product: Vendor
[  111.534041] usb 2-1.1: Manufacturer: Aptiv
[  111.534042] usb 2-1.1: SerialNumber: Superior
[  111.535175] usb 2-1.1: New USB device found, VID=2996, PID=0120
[  111.610995] usb 2-1.5: new high-speed USB device number 8 using xhci-hcd
[  111.630052] usb 2-1.5: New USB device found, idVendor=2996, idProduct=0105, bcdDevice=21.02
[  111.630055] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  111.630057] usb 2-1.5: Product: H2H Bridge
[  111.630058] usb 2-1.5: Manufacturer: Aptiv
[  111.630059] usb 2-1.5: SerialNumber: 13FEB2021
[  111.687464] usb 2-1.5: New USB device found, VID=2996, PID=0105
[  111.690375] dabridge 2-1.5:1.0: dabridge 2-8 total endpoints=5, 000000000d87c961
[  111.691172] dabridge 2-1.5:1.0: P(0105) D(22.06.22) F(17.3.16) H(1.1) high-speed
[  111.691176] dabridge 2-1.5:1.0: Hub 2-6 P(0151) V(06.87)
[  111.691646] dabridge 2-1.5:1.0: All downstream ports in host mode

[  111.692298] gadget 00000000dc72f7a9 --------> new gadget ptr on connect

* NCM opts and associated gadget pointer during second ncm_bind

[  113.271786] NCM opts 00000000aa304ac9 -----> same opts ptr used during first bind
[  113.271788] NCM gadget 00000000dc72f7a9 ----> however new gaget ptr, that will not set
                                                 in net_device due to ncm_opts->bound = true

Signed-off-by: Hardik Gajjar <hgajjar@de.adit-jv.com>
Link: https://lore.kernel.org/r/20231020153324.82794-1-hgajjar@de.adit-jv.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-28 16:46:32 +00:00
Greg Kroah-Hartman
24a799db09 Merge 4.19.297 into android-4.19-stable
Changes in 4.19.297
	indirect call wrappers: helpers to speed-up indirect calls of builtin
	net: use indirect calls helpers at the socket layer
	net: fix kernel-doc warnings for socket.c
	net: prevent rewrite of msg_name in sock_sendmsg()
	RDMA/cxgb4: Check skb value for failure to allocate
	HID: logitech-hidpp: Fix kernel crash on receiver USB disconnect
	quota: Fix slow quotaoff
	net: prevent address rewrite in kernel_bind()
	drm: etvnaviv: fix bad backport leading to warning
	drm/msm/dsi: skip the wait for video mode done if not applicable
	ieee802154: ca8210: Fix a potential UAF in ca8210_probe
	xen-netback: use default TX queue size for vifs
	drm/vmwgfx: fix typo of sizeof argument
	ixgbe: fix crash with empty VF macvlan list
	net: nfc: fix races in nfc_llcp_sock_get() and nfc_llcp_sock_get_sn()
	nfc: nci: assert requested protocol is valid
	workqueue: Override implicit ordered attribute in workqueue_apply_unbound_cpumask()
	sched,idle,rcu: Push rcu_idle deeper into the idle path
	dmaengine: stm32-mdma: abort resume if no ongoing transfer
	usb: xhci: xhci-ring: Use sysdev for mapping bounce buffer
	net: usb: dm9601: fix uninitialized variable use in dm9601_mdio_read
	usb: dwc3: Soft reset phy on probe for host
	usb: musb: Get the musb_qh poniter after musb_giveback
	usb: musb: Modify the "HWVers" register address
	iio: pressure: bmp280: Fix NULL pointer exception
	iio: pressure: ms5611: ms5611_prom_is_valid false negative bug
	mcb: remove is_added flag from mcb_device struct
	ceph: fix incorrect revoked caps assert in ceph_fill_file_size()
	Input: powermate - fix use-after-free in powermate_config_complete
	Input: psmouse - fix fast_reconnect function for PS/2 mode
	Input: xpad - add PXN V900 support
	cgroup: Remove duplicates in cgroup v1 tasks file
	pinctrl: avoid unsafe code pattern in find_pinctrl()
	x86/cpu: Fix AMD erratum #1485 on Zen4-based CPUs
	usb: gadget: udc-xilinx: replace memcpy with memcpy_toio
	usb: gadget: ncm: Handle decoding of multiple NTB's in unwrap call
	powerpc/64e: Fix wrong test in __ptep_test_and_clear_young()
	x86/alternatives: Disable KASAN in apply_alternatives()
	dev_forward_skb: do not scrub skb mark within the same name space
	usb: hub: Guard against accesses to uninitialized BOS descriptors
	Bluetooth: hci_event: Ignore NULL link key
	Bluetooth: Reject connection with the device which has same BD_ADDR
	Bluetooth: Fix a refcnt underflow problem for hci_conn
	Bluetooth: vhci: Fix race when opening vhci device
	Bluetooth: hci_event: Fix coding style
	Bluetooth: avoid memcmp() out of bounds warning
	nfc: nci: fix possible NULL pointer dereference in send_acknowledge()
	regmap: fix NULL deref on lookup
	KVM: x86: Mask LVTPC when handling a PMI
	netfilter: nft_payload: fix wrong mac header matching
	xfrm: fix a data-race in xfrm_gen_index()
	xfrm: interface: use DEV_STATS_INC()
	net: ipv4: fix return value check in esp_remove_trailer
	net: ipv6: fix return value check in esp_remove_trailer
	net: rfkill: gpio: prevent value glitch during probe
	tcp: fix excessive TLP and RACK timeouts from HZ rounding
	tcp: tsq: relax tcp_small_queue_check() when rtx queue contains a single skb
	net: usb: smsc95xx: Fix an error code in smsc95xx_reset()
	i40e: prevent crash on probe if hw registers have invalid values
	net/sched: sch_hfsc: upgrade 'rt' to 'sc' when it becomes a inner curve
	netfilter: nft_set_rbtree: .deactivate fails if element has expired
	net: pktgen: Fix interface flags printing
	libceph: fix unaligned accesses in ceph_entity_addr handling
	libceph: use kernel_connect()
	ARM: dts: ti: omap: Fix noisy serial with overrun-throttle-ms for mapphone
	btrfs: return -EUCLEAN for delayed tree ref with a ref count not equals to 1
	btrfs: initialize start_slot in btrfs_log_prealloc_extents
	i2c: mux: Avoid potential false error message in i2c_mux_add_adapter
	overlayfs: set ctime when setting mtime and atime
	gpio: timberdale: Fix potential deadlock on &tgpio->lock
	ata: libata-eh: Fix compilation warning in ata_eh_link_report()
	tracing: relax trace_event_eval_update() execution with cond_resched()
	HID: holtek: fix slab-out-of-bounds Write in holtek_kbd_input_event
	Bluetooth: Avoid redundant authentication
	Bluetooth: hci_core: Fix build warnings
	wifi: mac80211: allow transmitting EAPOL frames with tainted key
	wifi: cfg80211: avoid leaking stack data into trace
	sky2: Make sure there is at least one frag_addr available
	drm: panel-orientation-quirks: Add quirk for One Mix 2S
	btrfs: fix some -Wmaybe-uninitialized warnings in ioctl.c
	Bluetooth: hci_event: Fix using memcmp when comparing keys
	mtd: rawnand: qcom: Unmap the right resource upon probe failure
	mtd: spinand: micron: correct bitmask for ecc status
	mmc: core: Capture correct oemid-bits for eMMC cards
	Revert "pinctrl: avoid unsafe code pattern in find_pinctrl()"
	ACPI: irq: Fix incorrect return value in acpi_register_gsi()
	USB: serial: option: add Telit LE910C4-WWX 0x1035 composition
	USB: serial: option: add entry for Sierra EM9191 with new firmware
	USB: serial: option: add Fibocom to DELL custom modem FM101R-GL
	perf: Disallow mis-matched inherited group reads
	s390/pci: fix iommu bitmap allocation
	gpio: vf610: set value before the direction to avoid a glitch
	ASoC: pxa: fix a memory leak in probe()
	phy: mapphone-mdm6600: Fix runtime PM for remove
	Bluetooth: hci_sock: fix slab oob read in create_monitor_event
	Bluetooth: hci_sock: Correctly bounds check and pad HCI_MON_NEW_INDEX name
	xfrm6: fix inet6_dev refcount underflow problem
	Linux 4.19.297

Change-Id: I495e8b8fbb6416ec3f94094fa905bdde364618b4
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-10-25 11:43:43 +00:00
Krishna Kurapati
ff3ba01626 usb: gadget: ncm: Handle decoding of multiple NTB's in unwrap call
commit 427694cfaafa565a3db5c5ea71df6bc095dca92f upstream.

When NCM is used with hosts like Windows PC, it is observed that there are
multiple NTB's contained in one usb request giveback. Since the driver
unwraps the obtained request data assuming only one NTB is present, we
loose the subsequent NTB's present resulting in data loss.

Fix this by checking the parsed block length with the obtained data
length in usb request and continue parsing after the last byte of current
NTB.

Cc: stable@vger.kernel.org
Fixes: 9f6ce4240a ("usb: gadget: f_ncm.c added")
Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Reviewed-by: Maciej Żenczykowski <maze@google.com>
Link: https://lore.kernel.org/r/20230927105858.12950-1-quic_kriskura@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-10-25 11:16:36 +02: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
501b721387 Merge 4.19.295 into android-4.19-stable
Changes in 4.19.295
	erofs: ensure that the post-EOF tails are all zeroed
	ARM: pxa: remove use of symbol_get()
	mmc: au1xmmc: force non-modular build and remove symbol_get usage
	rtc: ds1685: use EXPORT_SYMBOL_GPL for ds1685_rtc_poweroff
	modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules
	USB: serial: option: add Quectel EM05G variant (0x030e)
	USB: serial: option: add FOXCONN T99W368/T99W373 product
	HID: wacom: remove the battery when the EKR is off
	Bluetooth: btsdio: fix use after free bug in btsdio_remove due to race condition
	serial: sc16is7xx: fix bug when first setting GPIO direction
	fsi: master-ast-cf: Add MODULE_FIRMWARE macro
	nilfs2: fix general protection fault in nilfs_lookup_dirty_data_buffers()
	nilfs2: fix WARNING in mark_buffer_dirty due to discarded buffer reuse
	pinctrl: amd: Don't show `Invalid config param` errors
	9p: virtio: make sure 'offs' is initialized in zc_request
	ASoC: da7219: Flush pending AAD IRQ when suspending
	ASoC: da7219: Check for failure reading AAD IRQ events
	ethernet: atheros: fix return value check in atl1c_tso_csum()
	vxlan: generalize vxlan_parse_gpe_hdr and remove unused args
	m68k: Fix invalid .section syntax
	s390/dasd: use correct number of retries for ERP requests
	s390/dasd: fix hanging device after request requeue
	fs/nls: make load_nls() take a const parameter
	ASoc: codecs: ES8316: Fix DMIC config
	ASoC: atmel: Fix the 8K sample parameter in I2SC master
	platform/x86: intel: hid: Always call BTNL ACPI method
	security: keys: perform capable check only on privileged operations
	net: usb: qmi_wwan: add Quectel EM05GV2
	idmaengine: make FSL_EDMA and INTEL_IDMA64 depends on HAS_IOMEM
	scsi: qedi: Fix potential deadlock on &qedi_percpu->p_work_lock
	netlabel: fix shift wrapping bug in netlbl_catmap_setlong()
	bnx2x: fix page fault following EEH recovery
	sctp: handle invalid error codes without calling BUG()
	cifs: add a warning when the in-flight count goes negative
	ALSA: seq: oss: Fix racy open/close of MIDI devices
	net: Avoid address overwrite in kernel_connect
	powerpc/32: Include .branch_lt in data section
	powerpc/32s: Fix assembler warning about r0
	udf: Check consistency of Space Bitmap Descriptor
	udf: Handle error when adding extent to a file
	Revert "net: macsec: preserve ingress frame ordering"
	reiserfs: Check the return value from __getblk()
	eventfd: Export eventfd_ctx_do_read()
	eventfd: prevent underflow for eventfd semaphores
	new helper: lookup_positive_unlocked()
	netfilter: nft_flow_offload: fix underflow in flowtable reference counter
	netfilter: nf_tables: missing NFT_TRANS_PREPARE_ERROR in flowtable deactivatation
	fs: Fix error checking for d_hash_and_lookup()
	cpufreq: powernow-k8: Use related_cpus instead of cpus in driver.exit()
	bpf: Clear the probe_addr for uprobe
	tcp: tcp_enter_quickack_mode() should be static
	regmap: rbtree: Use alloc_flags for memory allocations
	spi: tegra20-sflash: fix to check return value of platform_get_irq() in tegra_sflash_probe()
	can: gs_usb: gs_usb_receive_bulk_callback(): count RX overflow errors also in case of OOM
	wifi: mwifiex: Fix OOB and integer underflow when rx packets
	mwifiex: drop 'set_consistent_dma_mask' log message
	mwifiex: switch from 'pci_' to 'dma_' API
	wifi: mwifiex: fix error recovery in PCIE buffer descriptor management
	Bluetooth: nokia: fix value check in nokia_bluetooth_serdev_probe()
	crypto: caam - fix unchecked return value error
	lwt: Check LWTUNNEL_XMIT_CONTINUE strictly
	fs: ocfs2: namei: check return value of ocfs2_add_entry()
	wifi: mwifiex: fix memory leak in mwifiex_histogram_read()
	wifi: mwifiex: Fix missed return in oob checks failed path
	wifi: ath9k: fix races between ath9k_wmi_cmd and ath9k_wmi_ctrl_rx
	wifi: ath9k: protect WMI command response buffer replacement with a lock
	wifi: mwifiex: avoid possible NULL skb pointer dereference
	wifi: ath9k: use IS_ERR() with debugfs_create_dir()
	net: arcnet: Do not call kfree_skb() under local_irq_disable()
	net/sched: sch_hfsc: Ensure inner classes have fsc curve
	netrom: Deny concurrent connect().
	quota: add dqi_dirty_list description to comment of Dquot List Management
	quota: avoid increasing DQST_LOOKUPS when iterating over dirty/inuse list
	quota: factor out dquot_write_dquot()
	quota: rename dquot_active() to inode_quota_active()
	quota: add new helper dquot_active()
	quota: fix dqput() to follow the guarantees dquot_srcu should provide
	arm64: dts: msm8996: thermal: Add interrupt support
	arm64: dts: qcom: msm8996: Add missing interrupt to the USB2 controller
	drm/amdgpu: avoid integer overflow warning in amdgpu_device_resize_fb_bar()
	ARM: dts: BCM5301X: Harmonize EHCI/OHCI DT nodes name
	ARM: dts: BCM53573: Describe on-SoC BCM53125 rev 4 switch
	ARM: dts: BCM53573: Drop nonexistent #usb-cells
	ARM: dts: BCM53573: Add cells sizes to PCIe node
	ARM: dts: BCM53573: Use updated "spi-gpio" binding properties
	ARM: dts: s3c6410: move fixed clocks under root node in Mini6410
	ARM: dts: s3c6410: align node SROM bus node name with dtschema in Mini6410
	ARM: dts: s3c64xx: align pinctrl with dtschema
	ARM: dts: samsung: s3c6410-mini6410: correct ethernet reg addresses (split)
	ARM: dts: s5pv210: add RTC 32 KHz clock in SMDKV210
	ARM: dts: s5pv210: use defines for IRQ flags in SMDKV210
	ARM: dts: s5pv210: correct ethernet unit address in SMDKV210
	ARM: dts: s5pv210: add dummy 5V regulator for backlight on SMDKv210
	ARM: dts: samsung: s5pv210-smdkv210: correct ethernet reg addresses (split)
	drm: adv7511: Fix low refresh rate register for ADV7533/5
	ARM: dts: BCM53573: Fix Ethernet info for Luxul devices
	drm/tegra: Remove superfluous error messages around platform_get_irq()
	drm/tegra: dpaux: Fix incorrect return value of platform_get_irq
	of: unittest: fix null pointer dereferencing in of_unittest_find_node_by_name()
	drm/msm: Replace drm_framebuffer_{un/reference} with put, get functions
	drm/msm/mdp5: Don't leak some plane state
	smackfs: Prevent underflow in smk_set_cipso()
	audit: fix possible soft lockup in __audit_inode_child()
	of: unittest: Fix overlay type in apply/revert check
	ALSA: ac97: Fix possible error value of *rac97
	drivers: clk: keystone: Fix parameter judgment in _of_pll_clk_init()
	clk: sunxi-ng: Modify mismatched function name
	PCI: Mark NVIDIA T4 GPUs to avoid bus reset
	PCI: pciehp: Use RMW accessors for changing LNKCTL
	PCI/ASPM: Use RMW accessors for changing LNKCTL
	PCI/ATS: Add pci_prg_resp_pasid_required() interface.
	PCI: Cleanup register definition width and whitespace
	PCI: Decode PCIe 32 GT/s link speed
	PCI: Add #defines for Enter Compliance, Transmit Margin
	drm/amdgpu: Correct Transmit Margin masks
	drm/amdgpu: Replace numbers with PCI_EXP_LNKCTL2 definitions
	drm/amdgpu: Prefer pcie_capability_read_word()
	drm/amdgpu: Use RMW accessors for changing LNKCTL
	drm/radeon: Correct Transmit Margin masks
	drm/radeon: Replace numbers with PCI_EXP_LNKCTL2 definitions
	drm/radeon: Prefer pcie_capability_read_word()
	drm/radeon: Use RMW accessors for changing LNKCTL
	wifi: ath10k: Use RMW accessors for changing LNKCTL
	nfs/blocklayout: Use the passed in gfp flags
	powerpc/iommu: Fix notifiers being shared by PCI and VIO buses
	jfs: validate max amount of blocks before allocation.
	fs: lockd: avoid possible wrong NULL parameter
	NFSD: da_addr_body field missing in some GETDEVICEINFO replies
	media: Use of_node_name_eq for node name comparisons
	media: v4l2-fwnode: fix v4l2_fwnode_parse_link handling
	media: v4l2-fwnode: simplify v4l2_fwnode_parse_link
	media: v4l2-core: Fix a potential resource leak in v4l2_fwnode_parse_link()
	drivers: usb: smsusb: fix error handling code in smsusb_init_device
	media: dib7000p: Fix potential division by zero
	media: dvb-usb: m920x: Fix a potential memory leak in m920x_i2c_xfer()
	media: cx24120: Add retval check for cx24120_message_send()
	media: mediatek: vcodec: Return NULL if no vdec_fb is found
	usb: phy: mxs: fix getting wrong state with mxs_phy_is_otg_host()
	scsi: iscsi: Add strlen() check in iscsi_if_set{_host}_param()
	scsi: be2iscsi: Add length check when parsing nlattrs
	scsi: qla4xxx: Add length check when parsing nlattrs
	x86/APM: drop the duplicate APM_MINOR_DEV macro
	scsi: qedf: Do not touch __user pointer in qedf_dbg_stop_io_on_error_cmd_read() directly
	scsi: qedf: Do not touch __user pointer in qedf_dbg_fp_int_cmd_read() directly
	dma-buf/sync_file: Fix docs syntax
	IB/uverbs: Fix an potential error pointer dereference
	media: go7007: Remove redundant if statement
	USB: gadget: f_mass_storage: Fix unused variable warning
	media: i2c: ov2680: Set V4L2_CTRL_FLAG_MODIFY_LAYOUT on flips
	media: ov2680: Remove auto-gain and auto-exposure controls
	media: ov2680: Fix ov2680_bayer_order()
	media: ov2680: Fix vflip / hflip set functions
	media: ov2680: Fix regulators being left enabled on ov2680_power_on() errors
	cgroup:namespace: Remove unused cgroup_namespaces_init()
	scsi: core: Use 32-bit hostnum in scsi_host_lookup()
	scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock
	serial: tegra: handle clk prepare error in tegra_uart_hw_init()
	amba: bus: fix refcount leak
	Revert "IB/isert: Fix incorrect release of isert connection"
	HID: multitouch: Correct devm device reference for hidinput input_dev name
	rpmsg: glink: Add check for kstrdup
	arch: um: drivers: Kconfig: pedantic formatting
	um: Fix hostaudio build errors
	dmaengine: ste_dma40: Add missing IRQ check in d40_probe
	igmp: limit igmpv3_newpack() packet size to IP_MAX_MTU
	netfilter: ipset: add the missing IP_SET_HASH_WITH_NET0 macro for ip_set_hash_netportnet.c
	netfilter: xt_u32: validate user space input
	netfilter: xt_sctp: validate the flag_info count
	skbuff: skb_segment, Call zero copy functions before using skbuff frags
	igb: set max size RX buffer when store bad packet is enabled
	PM / devfreq: Fix leak in devfreq_dev_release()
	ALSA: pcm: Fix missing fixup call in compat hw_refine ioctl
	ipmi_si: fix a memleak in try_smi_init()
	ARM: OMAP2+: Fix -Warray-bounds warning in _pwrdm_state_switch()
	backlight/gpio_backlight: Compare against struct fb_info.device
	backlight/bd6107: Compare against struct fb_info.device
	backlight/lv5207lp: Compare against struct fb_info.device
	media: dvb: symbol fixup for dvb_attach()
	ntb: Drop packets when qp link is down
	ntb: Clean up tx tail index on link down
	ntb: Fix calculation ntb_transport_tx_free_entry()
	Revert "PCI: Mark NVIDIA T4 GPUs to avoid bus reset"
	procfs: block chmod on /proc/thread-self/comm
	parisc: Fix /proc/cpuinfo output for lscpu
	dlm: fix plock lookup when using multiple lockspaces
	dccp: Fix out of bounds access in DCCP error handler
	crypto: stm32 - fix loop iterating through scatterlist for DMA
	cpufreq: brcmstb-avs-cpufreq: Fix -Warray-bounds bug
	X.509: if signature is unsupported skip validation
	net: handle ARPHRD_PPP in dev_is_mac_header_xmit()
	pstore/ram: Check start of empty przs during init
	PCI/ATS: Add inline to pci_prg_resp_pasid_required()
	sc16is7xx: Set iobase to device index
	serial: sc16is7xx: fix broken port 0 uart init
	usb: typec: tcpci: clear the fault status bit
	udf: initialize newblock to 0
	scsi: qla2xxx: fix inconsistent TMF timeout
	scsi: qla2xxx: Turn off noisy message log
	fbdev/ep93xx-fb: Do not assign to struct fb_info.dev
	drm/ast: Fix DRAM init on AST2200
	parisc: led: Fix LAN receive and transmit LEDs
	parisc: led: Reduce CPU overhead for disk & lan LED computation
	clk: qcom: gcc-mdm9615: use proper parent for pll0_vote clock
	soc: qcom: qmi_encdec: Restrict string length in decode
	NFSv4/pnfs: minor fix for cleanup path in nfs4_get_device_info
	kconfig: fix possible buffer overflow
	x86/virt: Drop unnecessary check on extended CPUID level in cpu_has_svm()
	watchdog: intel-mid_wdt: add MODULE_ALIAS() to allow auto-load
	pwm: lpc32xx: Remove handling of PWM channels
	net: read sk->sk_family once in sk_mc_loop()
	igb: disable virtualization features on 82580
	veth: Fixing transmit return status for dropped packets
	net: ipv6/addrconf: avoid integer underflow in ipv6_create_tempaddr
	af_unix: Fix data-races around user->unix_inflight.
	af_unix: Fix data-race around unix_tot_inflight.
	af_unix: Fix data-races around sk->sk_shutdown.
	af_unix: Fix data race around sk->sk_err.
	net: sched: sch_qfq: Fix UAF in qfq_dequeue()
	kcm: Destroy mutex in kcm_exit_net()
	igbvf: Change IGBVF_MIN to allow set rx/tx value between 64 and 80
	igb: Change IGB_MIN to allow set rx/tx value between 64 and 80
	idr: fix param name in idr_alloc_cyclic() doc
	netfilter: nfnetlink_osf: avoid OOB read
	ata: sata_gemini: Add missing MODULE_DESCRIPTION
	ata: pata_ftide010: Add missing MODULE_DESCRIPTION
	btrfs: don't start transaction when joining with TRANS_JOIN_NOSTART
	mtd: rawnand: brcmnand: Fix crash during the panic_write
	mtd: rawnand: brcmnand: Fix potential out-of-bounds access in oob write
	mtd: rawnand: brcmnand: Fix potential false time out warning
	perf hists browser: Fix hierarchy mode header
	net: ethernet: mtk_eth_soc: fix possible NULL pointer dereference in mtk_hwlro_get_fdir_all()
	kcm: Fix memory leak in error path of kcm_sendmsg()
	ixgbe: fix timestamp configuration code
	kcm: Fix error handling for SOCK_DGRAM in kcm_sendmsg().
	drm/amd/display: Fix a bug when searching for insert_above_mpcc
	parisc: Drop loops_per_jiffy from per_cpu struct
	autofs: fix memory leak of waitqueues in autofs_catatonic_mode
	btrfs: output extra debug info if we failed to find an inline backref
	ACPICA: Add AML_NO_OPERAND_RESOLVE flag to Timer
	ACPI: video: Add backlight=native DMI quirk for Lenovo Ideapad Z470
	hw_breakpoint: fix single-stepping when using bpf_overflow_handler
	wifi: ath9k: fix printk specifier
	wifi: mwifiex: fix fortify warning
	crypto: lib/mpi - avoid null pointer deref in mpi_cmp_ui()
	tpm_tis: Resend command to recover from data transfer errors
	alx: fix OOB-read compiler warning
	drm/exynos: fix a possible null-pointer dereference due to data race in exynos_drm_crtc_atomic_disable()
	md: raid1: fix potential OOB in raid1_remove_disk()
	ext2: fix datatype of block number in ext2_xattr_set2()
	fs/jfs: prevent double-free in dbUnmount() after failed jfs_remount()
	jfs: fix invalid free of JFS_IP(ipimap)->i_imap in diUnmount
	powerpc/pseries: fix possible memory leak in ibmebus_bus_init()
	media: dvb-usb-v2: af9035: Fix null-ptr-deref in af9035_i2c_master_xfer
	media: dw2102: Fix null-ptr-deref in dw2102_i2c_transfer()
	media: af9005: Fix null-ptr-deref in af9005_i2c_xfer
	media: anysee: fix null-ptr-deref in anysee_master_xfer
	media: az6007: Fix null-ptr-deref in az6007_i2c_xfer()
	iio: core: Use min() instead of min_t() to make code more robust
	media: tuners: qt1010: replace BUG_ON with a regular error
	media: pci: cx23885: replace BUG with error return
	usb: gadget: fsl_qe_udc: validate endpoint index for ch9 udc
	scsi: target: iscsi: Fix buffer overflow in lio_target_nacl_info_show()
	serial: cpm_uart: Avoid suspicious locking
	media: pci: ipu3-cio2: Initialise timing struct to avoid a compiler warning
	kobject: Add sanity check for kset->kobj.ktype in kset_register()
	md/raid1: fix error: ISO C90 forbids mixed declarations
	attr: block mode changes of symlinks
	btrfs: fix lockdep splat and potential deadlock after failure running delayed items
	nfsd: fix change_info in NFSv4 RENAME replies
	mtd: rawnand: brcmnand: Fix ECC level field setting for v7.2 controller
	net/sched: cls_fw: No longer copy tcf_result on update to avoid use-after-free
	net/sched: Retire rsvp classifier
	Linux 4.19.295

Change-Id: I5de88dc1e8cebe5736df3023205233cb40c4aa35
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-09-30 11:47:07 +00:00
Alan Stern
ea3804d080 USB: gadget: f_mass_storage: Fix unused variable warning
[ Upstream commit 55c3e571d2a0aabef4f1354604443f1c415d2e85 ]

Fix a "variable set but not used" warning in f_mass_storage.c.  rc is
used if	verbose debugging is enabled but not otherwise.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Fixes: d5e2b67aae ("USB: g_mass_storage: template f_mass_storage.c file created")
Link: https://lore.kernel.org/r/cfed16c7-aa46-494b-ba84-b0e0dc99be3a@rowland.harvard.edu
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-09-23 10:48:08 +02:00
Greg Kroah-Hartman
0e19062e22 Merge 4.19.287 into android-4.19-stable
Changes in 4.19.287
	power: supply: ab8500: Fix external_power_changed race
	power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + schedule()
	ARM: dts: vexpress: add missing cache properties
	power: supply: Ratelimit no data debug output
	regulator: Fix error checking for debugfs_create_dir
	irqchip/meson-gpio: Mark OF related data as maybe unused
	power: supply: Fix logic checking if system is running from battery
	parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu()
	MIPS: Alchemy: fix dbdma2
	mips: Move initrd_start check after initrd address sanitisation.
	xen/blkfront: Only check REQ_FUA for writes
	ocfs2: fix use-after-free when unmounting read-only filesystem
	ocfs2: check new file size on fallocate call
	nios2: dts: Fix tse_mac "max-frame-size" property
	nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key()
	nilfs2: fix possible out-of-bounds segment allocation in resize ioctl
	kexec: support purgatories with .text.hot sections
	powerpc/purgatory: remove PGO flags
	nouveau: fix client work fence deletion race
	RDMA/uverbs: Restrict usage of privileged QKEYs
	net: usb: qmi_wwan: add support for Compal RXM-G1
	Remove DECnet support from kernel
	USB: serial: option: add Quectel EM061KGL series
	usb: dwc3: gadget: Reset num TRBs before giving back the request
	usb: gadget: f_ncm: Add OS descriptor support
	usb: gadget: f_ncm: Fix NTP-32 support
	netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM
	ping6: Fix send to link-local addresses with VRF.
	RDMA/rxe: Remove the unused variable obj
	RDMA/rxe: Removed unused name from rxe_task struct
	RDMA/rxe: Fix the use-before-initialization error of resp_pkts
	IB/uverbs: Fix to consider event queue closing also upon non-blocking mode
	IB/isert: Fix dead lock in ib_isert
	IB/isert: Fix possible list corruption in CMA handler
	IB/isert: Fix incorrect release of isert connection
	sctp: fix an error code in sctp_sf_eat_auth()
	igb: fix nvm.ops.read() error handling
	drm/nouveau/dp: check for NULL nv_connector->native_mode
	drm/nouveau/kms: Don't change EDID when it hasn't actually changed
	drm/nouveau: add nv_encoder pointer check for NULL
	net: lapbether: only support ethernet devices
	net: tipc: resize nlattr array to correct size
	selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET
	neighbour: Remove unused inline function neigh_key_eq16()
	net: Remove unused inline function dst_hold_and_use()
	neighbour: delete neigh_lookup_nodev as not used
	drm/nouveau/kms: Fix NULL pointer dereference in nouveau_connector_detect_depth
	powerpc: Fix defconfig choice logic when cross compiling
	mmc: block: ensure error propagation for non-blk
	Linux 4.19.287

Change-Id: Ib4119b05e8fe06820cd2d6f3aa66a7e7e8cc5100
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-06-21 16:30:35 +00:00
Romain Izard
ae03af64b6 usb: gadget: f_ncm: Fix NTP-32 support
commit 550eef0c353030ac4223b9c9479bdf77a05445d6 upstream.

When connecting a CDC-NCM gadget to an host that uses the NTP-32 mode,
or that relies on the default CRC setting, the current implementation gets
confused, and does not expect the correct signature for its packets.

Fix this, by ensuring that the ndp_sign member in the f_ncm structure
always contain a valid value.

Signed-off-by: Romain Izard <romain.izard.pro@gmail.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Joakim Tjernlund <joakim.tjernlund@infinera.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-06-21 15:39:58 +02:00
Romain Izard
ed30d92524 usb: gadget: f_ncm: Add OS descriptor support
commit 793409292382027226769d0299987f06cbd97a6e upstream.

To be able to use the default USB class drivers available in Microsoft
Windows, we need to add OS descriptors to the exported USB gadget to
tell the OS that we are compatible with the built-in drivers.

Copy the OS descriptor support from f_rndis into f_ncm. As a result,
using the WINNCM compatible ID, the UsbNcm driver is loaded on
enumeration without the need for a custom driver or inf file.

Signed-off-by: Romain Izard <romain.izard.pro@gmail.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Joakim Tjernlund <joakim.tjernlund@infinera.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-06-21 15:39:58 +02:00
Wilson Sung
7b88bd86ba Merge android-4.19-stable (4.19.282) into android-msm-pixel-4.19-lts
Merge 4.19.282 into android-4.19-stable
Linux 4.19.282
  * ASN.1: Fix check for strdup() success
      scripts/asn1_compiler.c
    iio: adc: at91-sama5d2_adc: fix an error code in at91_adc_allocate_trigger()
    counter: 104-quad-8: Fix race condition between FLAG and CNTR reads
  * sctp: Call inet6_destroy_sock() via sk->sk_destruct().
      net/sctp/socket.c
  * dccp: Call inet6_destroy_sock() via sk->sk_destruct().
      net/dccp/dccp.h
      net/dccp/ipv6.c
      net/dccp/proto.c
      net/ipv6/af_inet6.c
  * inet6: Remove inet6_destroy_sock() in sk->sk_prot->destroy().
      net/ipv6/ping.c
      net/ipv6/raw.c
      net/ipv6/tcp_ipv6.c
      net/ipv6/udp.c
      net/l2tp/l2tp_ip6.c
  * tcp/udp: Call inet6_destroy_sock() in IPv6 sk->sk_destruct().
      include/net/ipv6.h
      include/net/udp.h
      include/net/udplite.h
      net/ipv4/udp.c
      net/ipv4/udplite.c
      net/ipv6/af_inet6.c
      net/ipv6/udp.c
      net/ipv6/udp_impl.h
      net/ipv6/udplite.c
  * udp: Call inet6_destroy_sock() in setsockopt(IPV6_ADDRFORM).
      include/net/ipv6.h
      net/ipv6/af_inet6.c
      net/ipv6/ipv6_sockglue.c
  * ext4: fix use-after-free in ext4_xattr_set_entry
      fs/ext4/xattr.c
  * ext4: remove duplicate definition of ext4_xattr_ibody_inline_set()
      fs/ext4/inline.c
      fs/ext4/xattr.c
      fs/ext4/xattr.h
  * Revert "ext4: fix use-after-free in ext4_xattr_set_entry"
      fs/ext4/xattr.c
    x86/purgatory: Don't generate debug info for purgatory.ro
    memstick: fix memory leak if card device is never registered
  * nilfs2: initialize unused bytes in segment summary blocks
      fs/nilfs2/segment.c
  * xen/netback: use same error messages for same errors
      drivers/net/xen-netback/netback.c
    s390/ptrace: fix PTRACE_GET_LAST_BREAK error handling
    net: dsa: b53: mmap: add phy ops
  * scsi: core: Improve scsi_vpd_inquiry() checks
      drivers/scsi/scsi.c
  * scsi: megaraid_sas: Fix fw_crash_buffer_show()
      drivers/scsi/megaraid/megaraid_sas_base.c
  * selftests: sigaltstack: fix -Wuninitialized
      tools/testing/selftests/sigaltstack/current_stack_pointer.h
      tools/testing/selftests/sigaltstack/sas.c
    Input: i8042 - add quirk for Fujitsu Lifebook A574/H
  * f2fs: Fix f2fs_truncate_partial_nodes ftrace event
      include/trace/events/f2fs.h
    e1000e: Disable TSO on i219-LM card to increase speed
    mlxfw: fix null-ptr-deref in mlxfw_mfa2_tlv_next()
    i40e: fix i40e_setup_misc_vector() error handling
    i40e: fix accessing vsi->active_filters without holding lock
  * virtio_net: bugfix overflow inside xdp_linearize_page()
      drivers/net/virtio_net.c
  * net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg
      net/sched/sch_qfq.c
    ARM: dts: rockchip: fix a typo error for rk3288 spdif node
    Merge 4.19.281 into android-4.19-stable
Linux 4.19.281
    arm64: KVM: Fix system register enumeration
    KVM: arm64: Filter out invalid core register IDs in KVM_GET_REG_LIST
    KVM: arm64: Factor out core register ID enumeration
    KVM: nVMX: add missing consistency checks for CR0 and CR4
  * coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug
      drivers/hwtracing/coresight/coresight-etm4x.c
  * watchdog: sbsa_wdog: Make sure the timeout programming is within the limits
      drivers/watchdog/sbsa_gwdt.c
  * cgroup/cpuset: Wake up cpuset_attach_wq tasks in cpuset_cancel_attach()
      kernel/cgroup/cpuset.c
    ubi: Fix deadlock caused by recursively holding work_sem
    mtd: ubi: wl: Fix a couple of kernel-doc issues
    ubi: Fix failure attaching when vid_hdr offset equals to (sub)page size
    x86/PCI: Add quirk for AMD XHCI controller that loses MSI-X state in D3hot
  * scsi: ses: Handle enclosure with just a primary component gracefully
      drivers/scsi/ses.c
    verify_pefile: relax wrapper length check
    efi: sysfb_efi: Add quirk for Lenovo Yoga Book X91F/L
    i2c: imx-lpi2c: clean rx/tx buffers upon new message
  * power: supply: cros_usbpd: reclassify "default case!" as debug
      drivers/power/supply/cros_usbpd-charger.c
  * udp6: fix potential access to stale information
      net/ipv6/udp.c
    net: macb: fix a memory corruption in extended buffer descriptor mode
  * sctp: fix a potential overflow in sctp_ifwdtsn_skip
      net/sctp/stream_interleave.c
    qlcnic: check pci_reset_function result
    niu: Fix missing unwind goto in niu_alloc_channels()
  * 9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race condition
      net/9p/trans_xen.c
    mtdblock: tolerate corrected bit-flips
  * Bluetooth: Fix race condition in hidp_session_thread
      net/bluetooth/hidp/core.c
  * Bluetooth: L2CAP: Fix use-after-free in l2cap_disconnect_{req,rsp}
      net/bluetooth/l2cap_core.c
  * ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* motherboards
      sound/pci/hda/patch_sigmatel.c
  * ALSA: i2c/cs8427: fix iec958 mixer control deactivation
      sound/i2c/cs8427.c
  * ALSA: hda/sigmatel: add pin overrides for Intel DP45SG motherboard
      sound/pci/hda/patch_sigmatel.c
  * ALSA: emu10k1: fix capture interrupt handler unlinking
      sound/pci/emu10k1/emupcm.c
  * Revert "pinctrl: amd: Disable and mask interrupts on resume"
      drivers/pinctrl/pinctrl-amd.c
  * mm/swap: fix swap_info_struct race between swapoff and get_swap_pages()
      mm/swapfile.c
  * ring-buffer: Fix race while reader and writer are on the same page
      kernel/trace/ring_buffer.c
  * ftrace: Mark get_lock_parent_ip() __always_inline
      include/linux/ftrace.h
  * perf/core: Fix the same task check in perf_event_set_output
      kernel/events/core.c
  * ALSA: hda/realtek: Add quirk for Clevo X370SNW
      sound/pci/hda/patch_realtek.c
  * nilfs2: fix sysfs interface lifetime
      fs/nilfs2/super.c
      fs/nilfs2/the_nilfs.c
  * nilfs2: fix potential UAF of struct nilfs_sc_info in nilfs_segctor_thread()
      fs/nilfs2/segment.c
  * tty: serial: sh-sci: Fix Rx on RZ/G2L SCI
      drivers/tty/serial/sh-sci.c
  * tty: serial: sh-sci: Fix transmit end interrupt handler
      drivers/tty/serial/sh-sci.c
    iio: dac: cio-dac: Fix max DAC write value check for 12-bit
  * USB: serial: option: add Quectel RM500U-CN modem
      drivers/usb/serial/option.c
  * USB: serial: option: add Telit FE990 compositions
      drivers/usb/serial/option.c
  * USB: serial: cp210x: add Silicon Labs IFS-USB-DATACABLE IDs
      drivers/usb/serial/cp210x.c
    gpio: davinci: Add irq chip flag to skip set wake
  * ipv6: Fix an uninit variable access bug in __ip6_make_skb()
      net/ipv6/ip6_output.c
  * sctp: check send stream number after wait_for_sndbuf
      net/sctp/socket.c
  * net: don't let netpoll invoke NAPI if in xmit context
      net/core/netpoll.c
  * icmp: guard against too small mtu
      net/ipv4/icmp.c
  * wifi: mac80211: fix invalid drv_sta_pre_rcu_remove calls for non-uploaded sta
      net/mac80211/sta_info.c
  * pwm: cros-ec: Explicitly set .polarity in .get_state()
      drivers/pwm/pwm-cros-ec.c
  * NFSv4: Fix hangs when recovering open state after a server reboot
      fs/nfs/nfs4proc.c
  * NFSv4: Check the return value of update_open_stateid()
      fs/nfs/nfs4proc.c
  * NFSv4: Convert struct nfs4_state to use refcount_t
      fs/nfs/nfs4_fs.h
      fs/nfs/nfs4proc.c
      fs/nfs/nfs4state.c
  * pinctrl: amd: Disable and mask interrupts on resume
      drivers/pinctrl/pinctrl-amd.c
  * pinctrl: amd: disable and mask interrupts on probe
      drivers/pinctrl/pinctrl-amd.c
  * pinctrl: amd: Use irqchip template
      drivers/pinctrl/pinctrl-amd.c
  * pinctrl: Added IRQF_SHARED flag for amd-pinctrl driver
      drivers/pinctrl/pinctrl-amd.c
    Revert "dm thin: fix deadlock when swapping to thin device"
    Merge "Merge 4.19.280 into android-4.19-stable" into android-4.19-stable
    Merge 4.19.280 into android-4.19-stable
  * UPSTREAM: ext4: fix kernel BUG in 'ext4_write_inline_data_end()'
      fs/ext4/inode.c
Linux 4.19.280
  * cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all()
      kernel/cgroup/cgroup-v1.c
  * cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock
      kernel/cgroup/cgroup.c
      kernel/cgroup/cpuset.c
  * cgroup/cpuset: Change cpuset_rwsem and hotplug lock order
      include/linux/cpuset.h
      kernel/cgroup/cpuset.c
  * net: sched: cbq: dont intepret cls results when asked to drop
      net/sched/sch_cbq.c
  * gfs2: Always check inode size of inline inodes
      fs/gfs2/aops.c
      fs/gfs2/bmap.c
      fs/gfs2/glops.c
    firmware: arm_scmi: Fix device node validation for mailbox transport
  * ext4: fix kernel BUG in 'ext4_write_inline_data_end()'
      fs/ext4/inode.c
  * usb: host: ohci-pxa27x: Fix and & vs | typo
      drivers/usb/host/ohci-pxa27x.c
    s390/uaccess: add missing earlyclobber annotations to __clear_user()
    drm/etnaviv: fix reference leak when mmaping imported buffer
  * ALSA: usb-audio: Fix regression on detection of Roland VS-100
      sound/usb/format.c
  * ALSA: hda/conexant: Partial revert of a quirk for Lenovo
      sound/pci/hda/patch_conexant.c
  * pinctrl: at91-pio4: fix domain name assignment
      drivers/pinctrl/pinctrl-at91-pio4.c
  * xen/netback: don't do grant copy across page boundary
      drivers/net/xen-netback/common.h
      drivers/net/xen-netback/netback.c
  * cifs: fix DFS traversal oops without CONFIG_CIFS_DFS_UPCALL
      fs/cifs/cifsfs.h
  * cifs: prevent infinite recursion in CIFSGetDFSRefer()
      fs/cifs/cifssmb.c
    Input: focaltech - use explicitly signed char type
    Input: alps - fix compatibility with -funsigned-char
    net: mvneta: make tx buffer array agnostic
    net: dsa: mv88e6xxx: Enable IGMP snooping on user ports only
    i40e: fix registers dump after run ethtool adapter self test
  * can: bcm: bcm_tx_setup(): fix KMSAN uninit-value in vfs_write
      net/can/bcm.c
  * scsi: megaraid_sas: Fix crash after a double completion
      drivers/scsi/megaraid/megaraid_sas_fusion.c
  * ca8210: Fix unsigned mac_len comparison with zero in ca8210_skb_tx()
      drivers/net/ieee802154/ca8210.c
  * fbdev: au1200fb: Fix potential divide by zero
      drivers/video/fbdev/au1200fb.c
  * fbdev: lxfb: Fix potential divide by zero
      drivers/video/fbdev/geode/lxfb_core.c
  * fbdev: intelfb: Fix potential divide by zero
      drivers/video/fbdev/intelfb/intelfbdrv.c
  * fbdev: nvidia: Fix potential divide by zero
      drivers/video/fbdev/nvidia/nvidia.c
  * sched_getaffinity: don't assume 'cpumask_size()' is fully initialized
      kernel/compat.c
      kernel/sched/core.c
  * fbdev: tgafb: Fix potential divide by zero
      drivers/video/fbdev/tgafb.c
  * ALSA: hda/ca0132: fixup buffer overrun at tuning_ctl_set()
      sound/pci/hda/patch_ca0132.c
  * ALSA: asihpi: check pao in control_message()
      sound/pci/asihpi/hpi6205.c
    md: avoid signed overflow in slot_store()
    bus: imx-weim: fix branch condition evaluates to a garbage value
  * ocfs2: fix data corruption after failed write
      fs/ocfs2/aops.c
  * tun: avoid double free in tun_free_netdev
      drivers/net/tun.c
  * sched/fair: Sanitize vruntime of entity being migrated
      kernel/sched/core.c
      kernel/sched/fair.c
  * sched/fair: sanitize vruntime of entity being placed
      kernel/sched/fair.c
    dm crypt: add cond_resched() to dmcrypt_write()
  * dm stats: check for and propagate alloc_percpu failure
      drivers/md/dm-stats.c
      drivers/md/dm-stats.h
      drivers/md/dm.c
    i2c: xgene-slimpro: Fix out-of-bounds bug in xgene_slimpro_i2c_xfer()
  * nilfs2: fix kernel-infoleak in nilfs_ioctl_wrap_copy()
      fs/nilfs2/ioctl.c
  * usb: chipidea: core: fix possible concurrent when switch role
      drivers/usb/chipidea/ci.h
      drivers/usb/chipidea/core.c
      drivers/usb/chipidea/otg.c
  * usb: chipdea: core: fix return -EINVAL if request role is the same with current role
      drivers/usb/chipidea/core.c
    dm thin: fix deadlock when swapping to thin device
    igb: revert rtnl_lock() that causes deadlock
  * usb: gadget: u_audio: don't let userspace block driver unbind
      drivers/usb/gadget/function/u_audio.c
  * scsi: core: Add BLIST_SKIP_VPD_PAGES for SKhynix H28U74301AMR
      drivers/scsi/scsi_devinfo.c
  * cifs: empty interface list when server doesn't support query interfaces
      fs/cifs/smb2ops.c
    sh: sanitize the flags on sigreturn
  * net: usb: qmi_wwan: add Telit 0x1080 composition
      drivers/net/usb/qmi_wwan.c
  * net: usb: cdc_mbim: avoid altsetting toggling for Telit FE990
      drivers/net/usb/cdc_mbim.c
  * scsi: ufs: core: Add soft dependency on governor_simpleondemand
      drivers/scsi/ufs/ufshcd.c
  * scsi: target: iscsi: Fix an error message in iscsi_check_key()
      drivers/target/iscsi/iscsi_target_parameters.c
    m68k: Only force 030 bus error if PC not in exception table
  * ca8210: fix mac_len negative array access
      drivers/net/ieee802154/ca8210.c
    riscv: Bump COMMAND_LINE_SIZE value to 1024
  * thunderbolt: Use const qualifier for `ring_interrupt_index`
      drivers/thunderbolt/nhi.c
  * uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS583Gen 2
      drivers/usb/storage/unusual_uas.h
    hwmon (it87): Fix voltage scaling for chips with 10.9mV ADCs
    Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work
    Bluetooth: btqcomsmd: Fix command timeout after setting BD address
  * net: mdio: thunder: Add missing fwnode_handle_put()
      drivers/net/phy/mdio-thunder.c
  * hvc/xen: prevent concurrent accesses to the shared ring
      drivers/tty/hvc/hvc_xen.c
    net/sonic: use dma_mapping_error() for error check
  * erspan: do not use skb_mac_header() in ndo_start_xmit()
      net/ipv4/ip_gre.c
      net/ipv6/ip6_gre.c
    atm: idt77252: fix kmemleak when rmmod idt77252
    net/mlx5: Read the TC mapping of all priorities on ETS query
  * bpf: Adjust insufficient default bpf_jit_limit
      kernel/bpf/core.c
    net/ps3_gelic_net: Use dma_mapping_error
    net/ps3_gelic_net: Fix RX sk_buff length
    net: qcom/emac: Fix use after free bug in emac_remove due to race condition
    xirc2ps_cs: Fix use after free bug in xirc2ps_detach
    qed/qed_sriov: guard against NULL derefs from qed_iov_get_vf_info
  * net: usb: smsc95xx: Limit packet length to skb->len
      drivers/net/usb/smsc95xx.c
  * scsi: scsi_dh_alua: Fix memleak for 'qdata' in alua_activate()
      drivers/scsi/device_handler/scsi_dh_alua.c
    i2c: imx-lpi2c: check only for enabled interrupt flags
    igbvf: Regard vf reset nack as success
    intel/igbvf: free irq on the error path in igbvf_request_msix()
    iavf: fix inverted Rx hash condition leading to disabled hash
    iavf: diet and reformat
  * intel-ethernet: rename i40evf to iavf
      drivers/net/ethernet/intel/Kconfig
      drivers/net/ethernet/intel/Makefile
    i40evf: Change a VF mac without reloading the VF driver
  * power: supply: da9150: Fix use after free bug in da9150_charger_remove due to race condition
      drivers/power/supply/da9150-charger.c
  * UPSTREAM: fsverity: don't drop pagecache at end of FS_IOC_ENABLE_VERITY
      fs/verity/enable.c
  * UPSTREAM: fsverity: Remove WQ_UNBOUND from fsverity read workqueue
      fs/verity/verify.c
  * BACKPORT: blk-mq: clear stale request in tags->rq[] before freeing one request pool
      block/blk-mq-tag.c
      block/blk-mq-tag.h
      block/blk-mq.c
    Merge 4.19.279 into android-4.19-stable
Linux 4.19.279
  * HID: uhid: Over-ride the default maximum data buffer value with our own
      drivers/hid/uhid.c
  * HID: core: Provide new max_buffer_size attribute to over-ride the default
      drivers/hid/hid-core.c
      include/linux/hid.h
  * serial: 8250_em: Fix UART port type
      drivers/tty/serial/8250/8250_em.c
    drm/i915: Don't use stolen memory for ring buffers with LLC
    x86/mm: Fix use of uninitialized buffer in sme_enable()
  * fbdev: stifb: Provide valid pixelclock and add fb_check_var() checks
      drivers/video/fbdev/stifb.c
  * ftrace: Fix invalid address access in lookup_rec() when index is 0
      kernel/trace/ftrace.c
  * tracing: Make tracepoint lockdep check actually test something
      include/linux/tracepoint.h
  * tracing: Check field value in hist_field_name()
      kernel/trace/trace_events_hist.c
  * sh: intc: Avoid spurious sizeof-pointer-div warning
      include/linux/sh_intc.h
    drm/amdkfd: Fix an illegal memory access
  * ext4: fix task hung in ext4_xattr_delete_inode
      fs/ext4/xattr.c
  * ext4: fail ext4_iget if special inode unallocated
      fs/ext4/inode.c
  * jffs2: correct logic when creating a hole in jffs2_write_begin
      fs/jffs2/file.c
    mmc: atmel-mci: fix race between stop command and start of next command
    media: m5mols: fix off-by-one loop termination error
    hwmon: (xgene) Fix use after free bug in xgene_hwmon_remove due to race condition
    hwmon: (adt7475) Fix masking of hysteresis registers
    hwmon: (adt7475) Display smoothing attributes in correct order
    ethernet: sun: add check for the mdesc_grab()
  * net/iucv: Fix size of interrupt data
      net/iucv/iucv.c
  * net: usb: smsc75xx: Move packet length check to prevent kernel panic in skb_pull
      drivers/net/usb/smsc75xx.c
  * ipv4: Fix incorrect table ID in IOCTL path
      net/ipv4/fib_frontend.c
    block: sunvdc: add check for mdesc_grab() returning NULL
  * nvmet: avoid potential UAF in nvmet_req_complete()
      drivers/nvme/target/core.c
  * net: usb: smsc75xx: Limit packet length to skb->len
      drivers/net/usb/smsc75xx.c
  * nfc: st-nci: Fix use after free bug in ndlc_remove due to race condition
      drivers/nfc/st-nci/ndlc.c
  * net: phy: smsc: bail out in lan87xx_read_status if genphy_read_status fails
      drivers/net/phy/smsc.c
  * net: tunnels: annotate lockless accesses to dev->needed_headroom
      include/linux/netdevice.h
      net/ipv4/ip_tunnel.c
      net/ipv6/ip6_tunnel.c
    qed/qed_dev: guard against a possible division by zero
  * nfc: pn533: initialize struct pn533_out_arg properly
      drivers/nfc/pn533/usb.c
  * tcp: tcp_make_synack() can be called from process context
      net/ipv4/tcp_output.c
  * clk: HI655X: select REGMAP instead of depending on it
      drivers/clk/Kconfig
  * fs: sysfs_emit_at: Remove PAGE_SIZE alignment check
      fs/sysfs/file.c
  * ext4: fix cgroup writeback accounting with fs-layer encryption
      fs/ext4/page-io.c
    UPSTREAM: ext4: fix another off-by-one fsmap error on 1k block filesystems

Bug: 280919362
Change-Id: I82670fbe6b3ec996da2d714238e86e360c10ccd8
Signed-off-by: JohnnLee <johnnlee@google.com>
2023-06-15 06:28:10 +00:00
Greg Kroah-Hartman
0ec5f56913 Merge 4.19.285 into android-4.19-stable
Changes in 4.19.285
	cdc_ncm: Implement the 32-bit version of NCM Transfer Block
	net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize
	power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize
	power: supply: core: Refactor power_supply_set_input_current_limit_from_supplier()
	power: supply: bq24190: Call power_supply_changed() after updating input current
	cdc_ncm: Fix the build warning
	bluetooth: Add cmd validity checks at the start of hci_sock_ioctl()
	ipv{4,6}/raw: fix output xfrm lookup wrt protocol
	netfilter: ctnetlink: Support offloaded conntrack entry deletion
	dmaengine: pl330: rename _start to prevent build error
	net/mlx5: fw_tracer, Fix event handling
	netrom: fix info-leak in nr_write_internal()
	af_packet: Fix data-races of pkt_sk(sk)->num.
	amd-xgbe: fix the false linkup in xgbe_phy_status
	af_packet: do not use READ_ONCE() in packet_bind()
	tcp: deny tcp_disconnect() when threads are waiting
	tcp: Return user_mss for TCP_MAXSEG in CLOSE/LISTEN state if user_mss set
	net/sched: sch_ingress: Only create under TC_H_INGRESS
	net/sched: sch_clsact: Only create under TC_H_CLSACT
	net/sched: Reserve TC_H_INGRESS (TC_H_CLSACT) for ingress (clsact) Qdiscs
	net/sched: Prohibit regrafting ingress or clsact Qdiscs
	net: sched: fix NULL pointer dereference in mq_attach
	ocfs2/dlm: move BITS_TO_BYTES() to bitops.h for wider use
	net/netlink: fix NETLINK_LIST_MEMBERSHIPS length report
	udp6: Fix race condition in udp6_sendmsg & connect
	net/sched: flower: fix possible OOB write in fl_set_geneve_opt()
	net: dsa: mv88e6xxx: Increase wait after reset deactivation
	watchdog: menz069_wdt: fix watchdog initialisation
	mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()
	ARM: 9295/1: unwind:fix unwind abort for uleb128 case
	media: rcar-vin: Select correct interrupt mode for V4L2_FIELD_ALTERNATE
	fbdev: modedb: Add 1920x1080 at 60 Hz video mode
	fbdev: stifb: Fix info entry in sti_struct on error path
	nbd: Fix debugfs_create_dir error checking
	ASoC: dwc: limit the number of overrun messages
	xfrm: Check if_id in inbound policy/secpath match
	ASoC: ssm2602: Add workaround for playback distortions
	media: dvb_demux: fix a bug for the continuity counter
	media: dvb-usb: az6027: fix three null-ptr-deref in az6027_i2c_xfer()
	media: dvb-usb-v2: ec168: fix null-ptr-deref in ec168_i2c_xfer()
	media: dvb-usb-v2: ce6230: fix null-ptr-deref in ce6230_i2c_master_xfer()
	media: dvb-usb-v2: rtl28xxu: fix null-ptr-deref in rtl28xxu_i2c_xfer
	media: dvb-usb: digitv: fix null-ptr-deref in digitv_i2c_xfer()
	media: dvb-usb: dw2102: fix uninit-value in su3000_read_mac_address
	media: netup_unidvb: fix irq init by register it at the end of probe
	media: dvb_ca_en50221: fix a size write bug
	media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb()
	media: mn88443x: fix !CONFIG_OF error by drop of_match_ptr from ID table
	media: dvb-core: Fix use-after-free due on race condition at dvb_net
	media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*()
	media: dvb-core: Fix use-after-free due to race condition at dvb_ca_en50221
	wifi: rtl8xxxu: fix authentication timeout due to incorrect RCR value
	ARM: dts: stm32: add pin map for CAN controller on stm32f7
	arm64/mm: mark private VM_FAULT_X defines as vm_fault_t
	scsi: core: Decrease scsi_device's iorequest_cnt if dispatch failed
	wifi: b43: fix incorrect __packed annotation
	netfilter: conntrack: define variables exp_nat_nla_policy and any_addr with CONFIG_NF_NAT
	ALSA: oss: avoid missing-prototype warnings
	atm: hide unused procfs functions
	mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
	iio: adc: mxs-lradc: fix the order of two cleanup operations
	HID: google: add jewel USB id
	HID: wacom: avoid integer overflow in wacom_intuos_inout()
	iio: dac: mcp4725: Fix i2c_master_send() return value handling
	iio: dac: build ad5758 driver when AD5758 is selected
	net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818
	usb: gadget: f_fs: Add unbind event before functionfs_unbind
	scsi: stex: Fix gcc 13 warnings
	ata: libata-scsi: Use correct device no in ata_find_dev()
	x86/boot: Wrap literal addresses in absolute_pointer()
	ACPI: thermal: drop an always true check
	gcc-12: disable '-Wdangling-pointer' warning for now
	eth: sun: cassini: remove dead code
	kernel/extable.c: use address-of operator on section symbols
	lib/dynamic_debug.c: use address-of operator on section symbols
	wifi: rtlwifi: remove always-true condition pointed out by GCC 12
	hwmon: (scmi) Remove redundant pointer check
	regulator: da905{2,5}: Remove unnecessary array check
	rsi: Remove unnecessary boolean condition
	mmc: vub300: fix invalid response handling
	tty: serial: fsl_lpuart: use UARTCTRL_TXINV to send break instead of UARTCTRL_SBK
	selinux: don't use make's grouped targets feature yet
	ext4: add lockdep annotations for i_data_sem for ea_inode's
	fbcon: Fix null-ptr-deref in soft_cursor
	regmap: Account for register length when chunking
	scsi: dpt_i2o: Remove broken pass-through ioctl (I2OUSERCMD)
	scsi: dpt_i2o: Do not process completions with invalid addresses
	wifi: rtlwifi: 8192de: correct checking of IQK reload
	Linux 4.19.285

Change-Id: Iaf7feb2883577ce4296e9b14d3e6d5f88edf4005
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-06-14 09:45:37 +00:00
Uttkarsh Aggarwal
9a95fba936 usb: gadget: f_fs: Add unbind event before functionfs_unbind
commit efb6b535207395a5c7317993602e2503ca8cb4b3 upstream.

While exercising the unbind path, with the current implementation
the functionfs_unbind would be calling which waits for the ffs->mutex
to be available, however within the same time ffs_ep0_read is invoked
& if no setup packets are pending, it will invoke function
wait_event_interruptible_exclusive_locked_irq which by definition waits
for the ev.count to be increased inside the same mutex for which
functionfs_unbind is waiting.
This creates deadlock situation because the functionfs_unbind won't
get the lock until ev.count is increased which can only happen if
the caller ffs_func_unbind can proceed further.

Following is the illustration:

	CPU1				CPU2

ffs_func_unbind()		ffs_ep0_read()
				mutex_lock(ffs->mutex)
				wait_event(ffs->ev.count)
functionfs_unbind()
  mutex_lock(ffs->mutex)
  mutex_unlock(ffs->mutex)

ffs_event_add()

<deadlock>

Fix this by moving the event unbind before functionfs_unbind
to ensure the ev.count is incrased properly.

Fixes: 6a19da111057 ("usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait")
Cc: stable <stable@kernel.org>
Signed-off-by: Uttkarsh Aggarwal <quic_uaggarwa@quicinc.com>
Link: https://lore.kernel.org/r/20230525092854.7992-1-quic_uaggarwa@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-06-09 10:24:02 +02:00
Greg Kroah-Hartman
4e2cad2c2a Merge 4.19.284 into android-4.19-stable
Changes in 4.19.284
	net: Fix load-tearing on sk->sk_stamp in sock_recv_cmsgs().
	netlink: annotate accesses to nlk->cb_running
	net: annotate sk->sk_err write from do_recvmmsg()
	tcp: reduce POLLOUT events caused by TCP_NOTSENT_LOWAT
	tcp: return EPOLLOUT from tcp_poll only when notsent_bytes is half the limit
	tcp: factor out __tcp_close() helper
	tcp: add annotations around sk->sk_shutdown accesses
	ipvlan:Fix out-of-bounds caused by unclear skb->cb
	net: datagram: fix data-races in datagram_poll()
	af_unix: Fix a data race of sk->sk_receive_queue->qlen.
	af_unix: Fix data races around sk->sk_shutdown.
	fs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode()
	drm/amd/display: Use DC_LOG_DC in the trasform pixel function
	regmap: cache: Return error in cache sync operations for REGCACHE_NONE
	memstick: r592: Fix UAF bug in r592_remove due to race condition
	firmware: arm_sdei: Fix sleep from invalid context BUG
	ACPI: EC: Fix oops when removing custom query handlers
	drm/tegra: Avoid potential 32-bit integer overflow
	ACPICA: Avoid undefined behavior: applying zero offset to null pointer
	ACPICA: ACPICA: check null return of ACPI_ALLOCATE_ZEROED in acpi_db_display_objects
	wifi: brcmfmac: cfg80211: Pass the PMK in binary instead of hex
	ext2: Check block size validity during mount
	net: pasemi: Fix return type of pasemi_mac_start_tx()
	net: Catch invalid index in XPS mapping
	lib: cpu_rmap: Avoid use after free on rmap->obj array entries
	scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition
	gfs2: Fix inode height consistency check
	ext4: set goal start correctly in ext4_mb_normalize_request
	ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa()
	f2fs: fix to drop all dirty pages during umount() if cp_error is set
	wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace
	Bluetooth: L2CAP: fix "bad unlock balance" in l2cap_disconnect_rsp
	staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE
	HID: logitech-hidpp: Don't use the USB serial for USB devices
	HID: logitech-hidpp: Reconcile USB and Unifying serials
	spi: spi-imx: fix MX51_ECSPI_* macros when cs > 3
	HID: wacom: generic: Set battery quirk only when we see battery data
	usb: typec: tcpm: fix multiple times discover svids error
	serial: 8250: Reinit port->pm on port specific driver unbind
	mcb-pci: Reallocate memory region to avoid memory overlapping
	sched: Fix KCSAN noinstr violation
	recordmcount: Fix memory leaks in the uwrite function
	clk: tegra20: fix gcc-7 constant overflow warning
	Input: xpad - add constants for GIP interface numbers
	phy: st: miphy28lp: use _poll_timeout functions for waits
	mfd: dln2: Fix memory leak in dln2_probe()
	btrfs: replace calls to btrfs_find_free_ino with btrfs_find_free_objectid
	btrfs: fix space cache inconsistency after error loading it from disk
	cpupower: Make TSC read per CPU for Mperf monitor
	af_key: Reject optional tunnel/BEET mode templates in outbound policies
	net: fec: Better handle pm_runtime_get() failing in .remove()
	vsock: avoid to close connected socket after the timeout
	drivers: provide devm_platform_ioremap_resource()
	serial: arc_uart: fix of_iomap leak in `arc_serial_probe`
	ip6_gre: Fix skb_under_panic in __gre6_xmit()
	ip6_gre: Make o_seqno start from 0 in native mode
	ip_gre, ip6_gre: Fix race condition on o_seqno in collect_md mode
	erspan: get the proto with the md version for collect_md
	media: netup_unidvb: fix use-after-free at del_timer()
	drm/exynos: fix g2d_open/close helper function definitions
	net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment()
	net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop()
	net: bcmgenet: Restore phy_stop() depending upon suspend/close
	cassini: Fix a memory leak in the error handling path of cas_init_one()
	igb: fix bit_shift to be in [1..8] range
	vlan: fix a potential uninit-value in vlan_dev_hard_start_xmit()
	usb-storage: fix deadlock when a scsi command timeouts more than once
	usb: typec: altmodes/displayport: fix pin_assignment_show
	ALSA: hda: Fix Oops by 9.1 surround channel names
	ALSA: hda: Add NVIDIA codec IDs a3 through a7 to patch table
	statfs: enforce statfs[64] structure initialization
	serial: Add support for Advantech PCI-1611U card
	ceph: force updating the msg pointer in non-split case
	tpm/tpm_tis: Disable interrupts for more Lenovo devices
	nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode()
	netfilter: nftables: add nft_parse_register_load() and use it
	netfilter: nftables: add nft_parse_register_store() and use it
	netfilter: nftables: statify nft_parse_register()
	netfilter: nf_tables: validate registers coming from userspace.
	netfilter: nf_tables: add nft_setelem_parse_key()
	netfilter: nf_tables: allow up to 64 bytes in the set element data area
	netfilter: nf_tables: stricter validation of element data
	netfilter: nf_tables: validate NFTA_SET_ELEM_OBJREF based on NFT_SET_OBJECT flag
	netfilter: nf_tables: do not allow RULE_ID to refer to another chain
	HID: wacom: Force pen out of prox if no events have been received in a while
	Add Acer Aspire Ethos 8951G model quirk
	ALSA: hda/realtek - More constifications
	ALSA: hda/realtek - Add Headset Mic supported for HP cPC
	ALSA: hda/realtek - Enable headset mic of Acer X2660G with ALC662
	ALSA: hda/realtek - Enable the headset of Acer N50-600 with ALC662
	ALSA: hda/realtek - The front Mic on a HP machine doesn't work
	ALSA: hda/realtek: Fix the mic type detection issue for ASUS G551JW
	ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform
	ALSA: hda/realtek - ALC897 headset MIC no sound
	ALSA: hda/realtek: Add a quirk for HP EliteDesk 805
	lib/string_helpers: Introduce string_upper() and string_lower() helpers
	usb: gadget: u_ether: Convert prints to device prints
	usb: gadget: u_ether: Fix host MAC address case
	vc_screen: rewrite vcs_size to accept vc, not inode
	vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF
	s390/qdio: get rid of register asm
	s390/qdio: fix do_sqbs() inline assembly constraint
	spi: spi-fsl-spi: automatically adapt bits-per-word in cpu mode
	spi: fsl-spi: Re-organise transfer bits_per_word adaptation
	spi: fsl-cpm: Use 16 bit mode for large transfers with even size
	ALSA: hda/ca0132: add quirk for EVGA X299 DARK
	m68k: Move signal frame following exception on 68020/030
	parisc: Allow to reboot machine after system halt
	btrfs: use nofs when cleaning up aborted transactions
	x86/mm: Avoid incomplete Global INVLPG flushes
	selftests/memfd: Fix unknown type name build failure
	parisc: Fix flush_dcache_page() for usage from irq context
	ALSA: hda/realtek - Fixed one of HP ALC671 platform Headset Mic supported
	ALSA: hda/realtek - Fix inverted bass GPIO pin on Acer 8951G
	udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated().
	USB: core: Add routines for endpoint checks in old drivers
	USB: sisusbvga: Add endpoint checks
	media: radio-shark: Add endpoint checks
	net: fix skb leak in __skb_tstamp_tx()
	bpf: Fix mask generation for 32-bit narrow loads of 64-bit fields
	ipv6: Fix out-of-bounds access in ipv6_find_tlv()
	power: supply: leds: Fix blink to LED on transition
	power: supply: bq27xxx: Fix bq27xxx_battery_update() race condition
	power: supply: bq27xxx: Fix I2C IRQ race on remove
	power: supply: bq27xxx: Fix poll_interval handling and races on remove
	power: supply: sbs-charger: Fix INHIBITED bit for Status reg
	coresight: Fix signedness bug in tmc_etr_buf_insert_barrier_packet()
	xen/pvcalls-back: fix double frees with pvcalls_new_active_socket()
	x86/show_trace_log_lvl: Ensure stack pointer is aligned, again
	ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg
	forcedeth: Fix an error handling path in nv_probe()
	3c589_cs: Fix an error handling path in tc589_probe()
	drivers: depend on HAS_IOMEM for devm_platform_ioremap_resource()
	Linux 4.19.284

Change-Id: I88843be551e748e295ea608158a2db7ab4486a65
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-06-08 11:16:01 +00:00
Konrad Gräfe
f7fd2e97f1 usb: gadget: u_ether: Fix host MAC address case
[ Upstream commit 3c0f4f09c063e143822393d99cb2b19a85451c07 ]

The CDC-ECM specification [1] requires to send the host MAC address as
an uppercase hexadecimal string in chapter "5.4 Ethernet Networking
Functional Descriptor":
    The Unicode character is chosen from the set of values 30h through
    39h and 41h through 46h (0-9 and A-F).

However, snprintf(.., "%pm", ..) generates a lowercase MAC address
string. While most host drivers are tolerant to this, UsbNcm.sys on
Windows 10 is not. Instead it uses a different MAC address with all
bytes set to zero including and after the first byte containing a
lowercase letter. On Windows 11 Microsoft fixed it, but apparently they
did not backport the fix.

This change fixes the issue by upper-casing the MAC to comply with the
specification.

[1]: https://www.usb.org/document-library/class-definitions-communication-devices-12, file ECM120.pdf

Fixes: bcd4a1c40b ("usb: gadget: u_ether: construct with default values and add setters/getters")
Cc: stable@vger.kernel.org
Signed-off-by: Konrad Gräfe <k.graefe@gateware.de>
Link: https://lore.kernel.org/r/20230505143640.443014-1-k.graefe@gateware.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-05-30 12:42:13 +01:00
Jon Hunter
19935fc1ed usb: gadget: u_ether: Convert prints to device prints
[ Upstream commit 938fc645317632d79c048608689683b5437496ea ]

The USB ethernet gadget driver implements its own print macros which
call printk. Device drivers should use the device prints that print the
device name. Fortunately, the same macro names are defined in the header
file 'linux/usb/composite.h' and these use the device prints. Therefore,
remove the local definitions in the USB ethernet gadget driver and use
those in 'linux/usb/composite.h'. The only difference is that now the
device name is printed instead of the ethernet interface name.

Tested using ethernet gadget on Jetson AGX Orin.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Link: https://lore.kernel.org/r/20230209125319.18589-1-jonathanh@nvidia.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stable-dep-of: 3c0f4f09c063 ("usb: gadget: u_ether: Fix host MAC address case")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-05-30 12:42:13 +01:00
Wilson Sung
09d634c1ac Merge android-4.19-stable (4.19.278) into android-msm-pixel-4.19-lts
Merge 4.19.278 into android-4.19-stable
Linux 4.19.278
    ila: do not generate empty messages in ila_xlat_nl_cmd_get_mapping()
    nfc: fdp: add null check of devm_kmalloc_array in fdp_nci_i2c_read_device_properties
    net: caif: Fix use-after-free in cfusbl_device_notify()
    drm/i915: Don't use BAR mappings for ring buffers with LLC
  * tipc: improve function tipc_wait_for_cond()
      net/tipc/socket.c
    media: ov5640: Fix analogue gain control
  * PCI: Add SolidRun vendor ID
      include/linux/pci_ids.h
    macintosh: windfarm: Use unsigned type for 1-bit bitfields
    alpha: fix R_ALPHA_LITERAL reloc for large modules
    MIPS: Fix a compilation issue
    Revert "spi: mt7621: Fix an error message in mt7621_spi_probe()"
  * scsi: core: Remove the /proc/scsi/${proc_name} directory earlier
      drivers/scsi/hosts.c
  * kbuild: generate modules.order only in directories visited by obj-y/m
      scripts/Makefile.build
  * kbuild: fix false-positive need-builtin calculation
      scripts/Makefile.build
    udf: Detect system inodes linked into directory hierarchy
    udf: Preserve link count of system files
    udf: Remove pointless union in udf_inode_info
    udf: reduce leakage of blocks related to named streams
    udf: Explain handling of load_nls() failure
    nfc: change order inside nfc_se_io error path
  * ext4: zero i_disksize when initializing the bootloader inode
      fs/ext4/ioctl.c
  * ext4: fix WARNING in ext4_update_inline_data
      fs/ext4/xattr.c
  * ext4: move where set the MAY_INLINE_DATA flag is set
      fs/ext4/inline.c
      fs/ext4/inode.c
  * ext4: fix another off-by-one fsmap error on 1k block filesystems
      fs/ext4/fsmap.c
  * ext4: fix RENAME_WHITEOUT handling for inline directories
      fs/ext4/namei.c
    x86/CPU/AMD: Disable XSAVES on AMD family 0x17
  * fs: prevent out-of-bounds array speculation when closing a file descriptor
      fs/file.c
    Merge 4.19.277 into android-4.19-stable
Linux 4.19.277
    staging: rtl8192e: Remove call_usermodehelper starting RadioPower.sh
    staging: rtl8192e: Remove function ..dm_check_ac_dc_power calling a script
  * wifi: cfg80211: Partial revert "wifi: cfg80211: Fix use after free for wext"
      net/wireless/sme.c
    Merge 4.19.276 into android-4.19-stable
Linux 4.19.276
    thermal: intel: powerclamp: Fix cur_state for multi package system
  * f2fs: fix cgroup writeback accounting with fs-layer encryption
      fs/f2fs/data.c
    media: uvcvideo: Fix race condition with usb_kill_urb
    media: uvcvideo: Provide sync and async uvc_ctrl_status_event
  * tcp: Fix listen() regression in 4.19.270
      net/ipv4/inet_connection_sock.c
    s390/setup: init jump labels before command line parsing
    s390/maccess: add no DAT mode to kernel_write
  * Bluetooth: hci_sock: purge socket queues in the destruct() callback
      net/bluetooth/hci_sock.c
    phy: rockchip-typec: Fix unsigned comparison with less than zero
  * usb: uvc: Enumerate valid values for color matching
      include/uapi/linux/usb/video.h
    USB: ene_usb6250: Allocate enough memory for full object
    usb: host: xhci: mvebu: Iterate over array indexes instead of using pointer math
    iio: accel: mma9551_core: Prevent uninitialized variable in mma9551_read_config_word()
    iio: accel: mma9551_core: Prevent uninitialized variable in mma9551_read_status_word()
    tools/iio/iio_utils:fix memory leak
    mei: bus-fixup:upon error print return values of send and receive
    tty: serial: fsl_lpuart: disable the CTS when send break signal
  * tty: fix out-of-bounds access in tty_driver_lookup_tty()
      drivers/tty/tty_io.c
  * media: uvcvideo: Silence memcpy() run-time false positive warnings
      include/uapi/linux/uvcvideo.h
    media: uvcvideo: Handle errors from calls to usb_string
    media: uvcvideo: Handle cameras with invalid descriptors
    firmware/efi sysfb_efi: Add quirk for Lenovo IdeaPad Duet 3
  * tracing: Add NULL checks for buffer in ring_buffer_free_read_page()
      kernel/trace/ring_buffer.c
    thermal: intel: quark_dts: fix error pointer dereference
    scsi: ipr: Work around fortify-string warning
    vc_screen: modify vcs_size() handling in vcs_read()
  * tcp: tcp_check_req() can be called from process context
      net/ipv4/tcp_minisocks.c
    ARM: dts: spear320-hmi: correct STMPE GPIO compatible
    nfc: fix memory leak of se_io context in nfc_genl_se_io
    9p/rdma: unmap receive dma buffer in rdma_request()/post_recv()
    9p/xen: fix connection sequence
    9p/xen: fix version parsing
  * net: fix __dev_kfree_skb_any() vs drop monitor
      net/core/dev.c
  * netfilter: ctnetlink: fix possible refcount leak in ctnetlink_create_conntrack()
      net/netfilter/nf_conntrack_netlink.c
    watchdog: pcwd_usb: Fix attempting to access uninitialized memory
  * watchdog: Fix kmemleak in watchdog_cdev_register
      drivers/watchdog/watchdog_dev.c
    watchdog: at91sam9_wdt: use devm_request_irq to avoid missing free_irq() in error path
    x86: um: vdso: Add '%rcx' and '%r11' to the syscall clobber list
    ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed
    ubi: Fix UAF wear-leveling entry in eraseblk_count_seq_show()
    ubifs: ubifs_writepage: Mark page dirty after writing inode failed
    ubifs: dirty_cow_znode: Fix memleak in error handling path
    ubifs: Re-statistic cleaned znode count if commit failed
    ubi: Fix possible null-ptr-deref in ubi_free_volume()
    ubi: Fix unreferenced object reported by kmemleak in ubi_resize_volume()
    ubi: Fix use-after-free when volume resizing failed
    ubifs: Reserve one leb for each journal head while doing budget
    ubifs: do_rename: Fix wrong space budget when target inode's nlink > 1
    ubifs: Fix wrong dirty space budget for dirty inode
    ubifs: Rectify space budget for ubifs_xrename()
    ubifs: Rectify space budget for ubifs_symlink() if symlink is encrypted
    ubi: ensure that VID header offset + VID header size <= alloc, size
    um: vector: Fix memory leak in vector_config
    pwm: stm32-lp: fix the check on arr and cmp registers update
    fs/jfs: fix shift exponent db_agl2size negative
  * net/sched: Retire tcindex classifier
      net/sched/Kconfig
      net/sched/Makefile
  * kbuild: Port silent mode detection to future gnu make.
      Makefile
    wifi: ath9k: use proper statements in conditionals
    drm/radeon: Fix eDP for single-display iMac11,2
  * PCI: Avoid FLR for AMD FCH AHCI adapters
      drivers/pci/quirks.c
    scsi: ses: Fix slab-out-of-bounds in ses_intf_remove()
    scsi: ses: Fix possible desc_ptr out-of-bounds accesses
    scsi: ses: Fix possible addl_desc_ptr out-of-bounds accesses
    scsi: ses: Fix slab-out-of-bounds in ses_enclosure_data_process()
    scsi: ses: Don't attach if enclosure has no components
    scsi: qla2xxx: Fix erroneous link down
    scsi: qla2xxx: Fix link failure in NPIV environment
    ktest.pl: Add RUN_TIMEOUT option with default unlimited
    ktest.pl: Fix missing "end_monitor" when machine check fails
    ktest.pl: Give back console on Ctrt^C on monitor
    media: ipu3-cio2: Fix PM runtime usage_count in driver unbind
    mips: fix syscall_get_nr
    alpha: fix FEN fault handling
    rbd: avoid use-after-free in do_rbd_add() when rbd_dev_create() fails
    ARM: dts: exynos: correct TMU phandle in Odroid XU
    ARM: dts: exynos: correct TMU phandle in Exynos4
    dm flakey: don't corrupt the zero page
    dm flakey: fix logic when corrupting a bio
  * wifi: cfg80211: Fix use after free for wext
      net/wireless/sme.c
    wifi: rtl8xxxu: Use a longer retry limit of 48
  * ext4: refuse to create ea block when umounted
      fs/ext4/xattr.c
  * ext4: optimize ea_inode block expansion
      fs/ext4/xattr.c
    ALSA: ice1712: Do not left ice->gpio_mutex locked in aureon_add_controls()
  * irqdomain: Drop bogus fwspec-mapping error handling
      kernel/irq/irqdomain.c
  * irqdomain: Fix disassociation race
      kernel/irq/irqdomain.c
  * irqdomain: Fix association race
      kernel/irq/irqdomain.c
  * ima: Align ima_file_mmap() parameters with mmap_file LSM hook
      include/linux/ima.h
      security/security.c
    Documentation/hw-vuln: Document the interaction between IBRS and STIBP
    x86/speculation: Allow enabling STIBP with legacy IBRS
    x86/microcode/AMD: Fix mixed steppings support
    x86/microcode/AMD: Add a @cpu parameter to the reloading functions
    x86/microcode/amd: Remove load_microcode_amd()'s bsp parameter
  * x86/kprobes: Fix arch_check_optimized_kprobe check within optimized_kprobe range
      include/linux/kprobes.h
  * x86/kprobes: Fix __recover_optprobed_insn check optimizing logic
      include/linux/kprobes.h
    x86/reboot: Disable SVM, not just VMX, when stopping CPUs
    x86/reboot: Disable virtualization in an emergency if SVM is supported
    x86/crash: Disable virt in core NMI crash handler to avoid double shootdown
    x86/virt: Force GIF=1 prior to disabling SVM (for reboot flows)
    udf: Fix file corruption when appending just after end of preallocated extent
    udf: Do not update file length for failed writes to inline files
    udf: Do not bother merging very long extents
    udf: Truncate added extents on failed expansion
    ocfs2: fix non-auto defrag path not working issue
    ocfs2: fix defrag path triggering jbd2 ASSERT
  * f2fs: fix information leak in f2fs_move_inline_dirents()
      fs/f2fs/inline.c
    fs: hfsplus: fix UAF issue in hfsplus_put_super
    hfs: fix missing hfs_bnode_get() in __hfs_bnode_create
    ARM: dts: exynos: correct HDMI phy compatible in Exynos4
    s390/kprobes: fix current_kprobe never cleared after kprobes reenter
    s390/kprobes: fix irq mask clobbering on kprobe reenter from post_handler
    s390: discard .interp section
  * rtc: pm8xxx: fix set-alarm race
      drivers/rtc/rtc-pm8xxx.c
    firmware: coreboot: framebuffer: Ignore reserved pixel color bits
    wifi: rtl8xxxu: fixing transmisison failure for rtl8192eu
    dm cache: add cond_resched() to various workqueue loops
    dm thin: add cond_resched() to various workqueue loops
    pinctrl: at91: use devm_kasprintf() to avoid potential leaks
    regulator: s5m8767: Bounds check id indexing into arrays
    regulator: max77802: Bounds check regulator id against opmode
    ASoC: kirkwood: Iterate over array indexes instead of using pointer math
    docs/scripts/gdb: add necessary make scripts_gdb step
    drm/msm/dsi: Add missing check for alloc_ordered_workqueue
    drm/radeon: free iio for atombios when driver shutdown
    drm/amd/display: Fix potential null-deref in dm_resume
    net/mlx5: fw_tracer: Fix debug print
    ACPI: video: Fix Lenovo Ideapad Z570 DMI match
    m68k: Check syscall_trace_enter() return code
    net: bcmgenet: Add a check for oversized packets
    ACPI: Don't build ACPICA with '-Os'
  * inet: fix fast path in __inet_hash_connect()
      net/ipv4/inet_hashtables.c
    wifi: brcmfmac: ensure CLM version is null-terminated to prevent stack-out-of-bounds
    x86/bugs: Reset speculation control settings on init
  * timers: Prevent union confusion from unexpected restart_syscall()
      kernel/time/hrtimer.c
      kernel/time/posix-timers.c
    thermal: intel: Fix unsigned comparison with less than zero
  * rcu: Suppress smp_processor_id() complaint in synchronize_rcu_expedited_wait()
      kernel/rcu/tree_exp.h
    wifi: brcmfmac: Fix potential stack-out-of-bounds in brcmf_c_preinit_dcmds()
    ARM: dts: exynos: Use Exynos5420 compatible for the MIPI video phy
    udf: Define EFSCORRUPTED error code
  * rpmsg: glink: Avoid infinite loop on intent for missing channel
      drivers/rpmsg/qcom_glink_native.c
    media: usb: siano: Fix use after free bugs caused by do_submit_urb
    media: i2c: ov7670: 0 instead of -EINVAL was returned
    media: rc: Fix use-after-free bugs caused by ene_tx_irqsim()
    media: i2c: ov772x: Fix memleak in ov772x_probe()
    powerpc: Remove linker flag from KBUILD_AFLAGS
    media: platform: ti: Add missing check for devm_regulator_get
    MIPS: vpe-mt: drop physical_memsize
    powerpc/rtas: ensure 4KB alignment for rtas_data_buf
    powerpc/rtas: make all exports GPL
    powerpc/pseries/lparcfg: add missing RTAS retry status handling
  * clk: Honor CLK_OPS_PARENT_ENABLE in clk_core_is_enabled()
      drivers/clk/clk.c
    powerpc/powernv/ioda: Skip unallocated resources when mapping to PE
    Input: ads7846 - don't check penirq immediately for 7845
    Input: ads7846 - don't report pressure for ads7845
    mtd: rawnand: sunxi: Fix the size of the last OOB region
    mfd: pcf50633-adc: Fix potential memleak in pcf50633_adc_async_read()
    selftests/ftrace: Fix bash specific "==" operator
    sparc: allow PM configs for sparc32 COMPILE_TEST
    perf tools: Fix auto-complete on aarch64
    perf llvm: Fix inadvertent file creation
    gfs2: jdata writepage fix
    cifs: Fix warning and UAF when destroy the MR list
    cifs: Fix lost destroy smbd connection when MR allocate failed
    nfsd: fix race to check ls_layouts
  * dm: remove flush_scheduled_work() during local_exit()
      drivers/md/dm.c
    hwmon: (mlxreg-fan) Return zero speed for broken fan
    spi: bcm63xx-hsspi: Fix multi-bit mode setting
    spi: bcm63xx-hsspi: fix pm_runtime
    scsi: aic94xx: Add missing check for dma_map_single()
    hwmon: (ltc2945) Handle error case in ltc2945_value_store
    gpio: vf610: connect GPIO label to dev name
  * ASoC: soc-compress.c: fixup private_data on snd_soc_new_compress()
      sound/soc/soc-compress.c
    drm/mediatek: Clean dangling pointer on bind error path
    drm/mediatek: Drop unbalanced obj unref
    gpu: host1x: Don't skip assigning syncpoints to channels
    drm/msm/dpu: Add check for pstates
    drm/msm: use strscpy instead of strncpy
  * drm/mipi-dsi: Fix byte order of 16-bit DCS set/get brightness
      drivers/gpu/drm/drm_mipi_dsi.c
      include/drm/drm_mipi_dsi.h
    ALSA: hda/ca0132: minor fix for allocation size
    pinctrl: rockchip: Fix refcount leak in rockchip_pinctrl_parse_groups
    pinctrl: pinctrl-rockchip: Fix a bunch of kerneldoc misdemeanours
    drm/msm/hdmi: Add missing check for alloc_ordered_workqueue
    gpu: ipu-v3: common: Add of_node_put() for reference returned by of_graph_get_port_by_id()
    drm/vc4: dpi: Fix format mapping for RGB565
    drm/vc4: dpi: Add option for inverting pixel clock and output enable
  * drm: Clarify definition of the DRM_BUS_FLAG_(PIXDATA|SYNC)_* macros
      include/drm/drm_connector.h
    drm/bridge: megachips: Fix error handling in i2c_register_driver()
  * drm: mxsfb: DRM_MXSFB should depend on ARCH_MXS || ARCH_MXC
      drivers/gpu/drm/mxsfb/Kconfig
    selftest: fib_tests: Always cleanup before exit
    irqchip/irq-bcm7120-l2: Set IRQ_LEVEL for level triggered interrupts
    irqchip/irq-brcmstb-l2: Set IRQ_LEVEL for level triggered interrupts
    can: esd_usb: Move mislocated storage of SJA1000_ECC_SEG bits in case of a bus error
    wifi: mac80211: make rate u32 in sta_set_rate_info_rx()
    crypto: crypto4xx - Call dma_unmap_page when done
    wifi: mwifiex: fix loop iterator in mwifiex_update_ampdu_txwinsize()
    wifi: iwl4965: Add missing check for create_singlethread_workqueue()
    wifi: iwl3945: Add missing check for create_singlethread_workqueue
    RISC-V: time: initialize hrtimer based broadcast clock event device
    m68k: /proc/hardware should depend on PROC_FS
  * crypto: rsa-pkcs1pad - Use akcipher_request_complete
      crypto/rsa-pkcs1pad.c
    rds: rds_rm_zerocopy_callback() correct order for list_add_tail()
    libbpf: Fix alen calculation in libbpf_nla_dump_errormsg()
  * Bluetooth: L2CAP: Fix potential user-after-free
      net/bluetooth/l2cap_core.c
      net/bluetooth/l2cap_sock.c
    irqchip/irq-mvebu-gicp: Fix refcount leak in mvebu_gicp_probe
    irqchip/alpine-msi: Fix refcount leak in alpine_msix_init_domains
    net/mlx5: Enhance debug print in page allocation failure
    powercap: fix possible name leak in powercap_register_zone()
  * crypto: seqiv - Handle EBUSY correctly
      crypto/seqiv.c
    ACPI: battery: Fix missing NUL-termination with large strings
    wifi: ath9k: Fix potential stack-out-of-bounds write in ath9k_wmi_rsp_callback()
    wifi: ath9k: hif_usb: clean up skbs if ath9k_hif_usb_rx_stream() fails
    ath9k: htc: clean up statistics macros
    ath9k: hif_usb: simplify if-if to if-else
    wifi: ath9k: htc_hst: free skb in ath9k_htc_rx_msg() if there is no callback function
    wifi: orinoco: check return value of hermes_write_wordrec()
    ACPICA: nsrepair: handle cases without a return value correctly
  * lib/mpi: Fix buffer overrun when SG is too long
      lib/mpi/mpicoder.c
  * genirq: Fix the return type of kstat_cpu_irqs_sum()
      include/linux/kernel_stat.h
    ACPICA: Drop port I/O validation for some regions
    wifi: wl3501_cs: don't call kfree_skb() under spin_lock_irqsave()
    wifi: libertas: cmdresp: don't call kfree_skb() under spin_lock_irqsave()
    wifi: libertas: main: don't call kfree_skb() under spin_lock_irqsave()
    wifi: libertas: if_usb: don't call kfree_skb() under spin_lock_irqsave()
    wifi: libertas_tf: don't call kfree_skb() under spin_lock_irqsave()
    wifi: brcmfmac: unmap dma buffer in brcmf_msgbuf_alloc_pktid()
    wifi: brcmfmac: fix potential memory leak in brcmf_netdev_start_xmit()
    wifi: ipw2200: fix memory leak in ipw_wdev_init()
    wifi: ipw2x00: don't call dev_kfree_skb() under spin_lock_irqsave()
    ipw2x00: switch from 'pci_' to 'dma_' API
    wifi: rtlwifi: Fix global-out-of-bounds bug in _rtl8812ae_phy_set_txpower_limit()
    rtlwifi: fix -Wpointer-sign warning
    wifi: rtl8xxxu: don't call dev_kfree_skb() under spin_lock_irqsave()
    wifi: libertas: fix memory leak in lbs_init_adapter()
    wifi: rsi: Fix memory leak in rsi_coex_attach()
    block: bio-integrity: Copy flags when bio_integrity_payload is cloned
  * blk-mq: remove stale comment for blk_mq_sched_mark_restart_hctx
      block/blk-mq-sched.c
    arm64: dts: mediatek: mt7622: Add missing pwm-cells to pwm node
    arm64: dts: amlogic: meson-gxl: add missing unit address to eth-phy-mux node name
    arm64: dts: amlogic: meson-gx: add missing unit address to rng node name
    arm64: dts: amlogic: meson-gx: add missing SCPI sensors compatible
    arm64: dts: amlogic: meson-axg: fix SCPI clock dvfs node name
    arm64: dts: meson-axg: enable SCPI
    arm64: dts: amlogic: meson-gx: fix SCPI clock dvfs node name
    ARM: imx: Call ida_simple_remove() for ida_simple_get
    ARM: dts: exynos: correct wr-active property in Exynos3250 Rinato
    ARM: OMAP1: call platform_device_put() in error case in omap1_dm_timer_init()
    arm64: dts: meson-gx: Fix the SCPI DVFS node name and unit address
    arm64: dts: meson-gx: Fix Ethernet MAC address unit name
    ARM: zynq: Fix refcount leak in zynq_early_slcr_init
    ARM: OMAP2+: Fix memory leak in realtime_counter_init()
    HID: asus: use spinlock to safely schedule workers
    HID: asus: use spinlock to protect concurrent accesses
    HID: asus: Remove check for same LED brightness on set
    Merge 4.19.275 into android-4.19-stable
Linux 4.19.275
  * USB: core: Don't hold device lock while reading the "descriptors" sysfs file
      drivers/usb/core/hub.c
      drivers/usb/core/sysfs.c
    USB: serial: option: add support for VW/Skoda "Carstick LTE"
    dmaengine: sh: rcar-dmac: Check for error num after dma_set_max_seg_size
    vc_screen: don't clobber return value in vcs_read
  * net: Remove WARN_ON_ONCE(sk->sk_forward_alloc) from sk_stream_kill_queues().
      net/core/stream.c
    IB/hfi1: Assign npages earlier
    btrfs: send: limit number of clones and allocated memory size
    ACPI: NFIT: fix a potential deadlock during NFIT teardown
    ARM: dts: rockchip: add power-domains property to dp node on rk3288
  * UPSTREAM: selinux: check return value of sel_make_avc_files
      security/selinux/selinuxfs.c
    UPSTREAM: lib/test_meminit: destroy cache in kmem_cache_alloc_bulk() test
    UPSTREAM: wireguard: ratelimiter: use kvcalloc() instead of kvzalloc()
    UPSTREAM: wireguard: receive: drop handshakes if queue lock is contended
    UPSTREAM: wireguard: receive: use ring buffer for incoming handshakes
  * UPSTREAM: wireguard: device: reset peer src endpoint when netns exits
      include/net/dst_cache.h
      net/core/dst_cache.c
    UPSTREAM: wireguard: selftests: actually test for routing loops
    UPSTREAM: kasan: fix tag for large allocations when using CONFIG_SLAB
  * UPSTREAM: usb: musb: select GENERIC_PHY instead of depending on it
      drivers/usb/musb/Kconfig
  * UPSTREAM: driver core: Reject pointless SYNC_STATE_ONLY device links
      drivers/base/core.c
  * BACKPORT: PM: EM: Fix inefficient states detection
      kernel/power/energy_model.c
  * UPSTREAM: cfg80211: scan: fix RCU in cfg80211_add_nontrans_list()
      net/wireless/scan.c
  * UPSTREAM: thermal/core: Fix thermal_cooling_device_register() prototype
      include/linux/thermal.h
  * UPSTREAM: PM: EM: Increase energy calculation precision
      include/linux/energy_model.h
      kernel/power/energy_model.c
    UPSTREAM: lib/test_stackinit: Fix static initializer test
    BACKPORT: userfaultfd: do not untag user pointers
    UPSTREAM: net/xfrm/compat: Copy xfrm_spdattr_type_t atributes
  * UPSTREAM: sched/uclamp: Ignore max aggregation if rq is idle
      kernel/sched/sched.h
  * UPSTREAM: net: xfrm: fix memory leak in xfrm_user_rcv_msg
      net/xfrm/xfrm_user.c
  * UPSTREAM: f2fs: Advertise encrypted casefolding in sysfs
      fs/f2fs/sysfs.c
  * UPSTREAM: fuse: ignore PG_workingset after stealing
      fs/fuse/dev.c
  * BACKPORT: loop: Fix missing discard support when using LOOP_CONFIGURE
      drivers/block/loop.c
  * BACKPORT: nvmem: core: add a missing of_node_put
      drivers/nvmem/core.c
  * UPSTREAM: usb: typec: mux: Fix copy-paste mistake in typec_mux_match
      drivers/usb/typec/mux.c
    Merge 4.19.274 into android-4.19-stable
Linux 4.19.274
  * bpf: add missing header file include
      kernel/bpf/core.c
  * ext4: Fix function prototype mismatch for ext4_feat_ktype
      fs/ext4/sysfs.c
    wifi: mwifiex: Add missing compatible string for SD8787
  * uaccess: Add speculation barrier to copy_from_user()
      include/linux/nospec.h
      kernel/bpf/core.c
      lib/usercopy.c
    mac80211: mesh: embedd mesh_paths and mpp_paths into ieee80211_if_mesh
    drm/i915/gvt: fix double free bug in split_2MB_gtt_entry
  * alarmtimer: Prevent starvation by small intervals and SIG_IGN
      kernel/time/alarmtimer.c
    powerpc: dts: t208x: Disable 10G on MAC1 and MAC2
    can: kvaser_usb: hydra: help gcc-13 to figure out cmd_len
  * random: always mix cycle counter in add_latent_entropy()
      include/linux/random.h
    powerpc: dts: t208x: Mark MAC1 and MAC2 as 10G
    wifi: rtl8xxxu: gen2: Turn on the rate control
  * BACKPORT: fscrypt: fix derivation of SipHash keys on big endian CPUs
      fs/crypto/keysetup.c
    UPSTREAM: wireguard: allowedips: free empty intermediate nodes when removing single node
    BACKPORT: wireguard: allowedips: allocate nodes in kmem_cache
    Merge "Merge 4.19.273 into android-4.19-stable" into android-4.19-stable
    Merge 4.19.273 into android-4.19-stable
Linux 4.19.273
    net: phy: meson-gxl: Add generic dummy stubs for MMD register access
    nilfs2: fix underflow in second superblock position calculations
    kvm: initialize all of the kvm_debugregs structure before sending it to userspace
    i40e: Add checking for null for nlmsg_find_attr()
  * ipv6: Fix tcp socket connection with DSCP.
      net/ipv6/tcp_ipv6.c
  * ipv6: Fix datagram socket connection with DSCP.
      net/ipv6/datagram.c
    net: mpls: fix stale pointer if allocation fails during device rename
    net: stmmac: Restrict warning on disabling DMA store and fwd mode
    bnxt_en: Fix mqprio and XDP ring checking logic
    net: stmmac: fix order of dwmac5 FlexPPS parametrization sequence
    net/usb: kalmia: Don't pass act_len in usb_bulk_msg error path
  * dccp/tcp: Avoid negative sk_forward_alloc by ipv6_pinfo.pktoptions.
      include/net/sock.h
      net/ipv6/tcp_ipv6.c
    net: bgmac: fix BCM5358 support by setting correct flags
    i40e: add double of VLAN header when computing the max MTU
    revert "squashfs: harden sanity check in squashfs_read_xattr_id_table"
  * hugetlb: check for undefined shift on 32 bit architectures
      include/linux/hugetlb.h
    ALSA: hda/realtek - fixed wrong gpio assigned
    ALSA: hda/conexant: add a new hda codec SN6180
    mmc: sdio: fix possible resource leaks in some error paths
    Revert "x86/fpu: Use _Alignof to avoid undefined behavior in TYPE_ALIGN"
    netfilter: nft_tproxy: restrict to prerouting hook
  * aio: fix mremap after fork null-deref
      fs/aio.c
    nvme-fc: fix a missing queue put in nvmet_fc_ls_create_association
    net/rose: Fix to not accept on connected socket
    tools/virtio: fix the vringh test for virtio ring changes
    ASoC: cs42l56: fix DT probe
    migrate: hugetlb: check for hugetlb shared PMD in node migration
  * bpf: Always return target ifindex in bpf_fib_lookup
      net/core/filter.c
    arm64: dts: meson-axg: Make mmc host controller interrupts level-sensitive
    arm64: dts: meson-gx: Make mmc host controller interrupts level-sensitive
    riscv: Fixup race condition on PG_dcache_clean in flush_icache_pte
    usb: typec: altmodes/displayport: Fix probe pin assign check
  * usb: core: add quirk for Alcor Link AK9563 smartcard reader
      drivers/usb/core/quirks.c
    net: USB: Fix wrong-direction WARNING in plusb.c
    pinctrl: intel: Restore the pins that used to be in Direct IRQ mode
    pinctrl: intel: Convert unsigned to unsigned int
    pinctrl: single: fix potential NULL dereference
    pinctrl: aspeed: Fix confusing types in return value
    ALSA: pci: lx6464es: fix a debug loop
    selftests: forwarding: lib: quote the sysctl values
    rds: rds_rm_zerocopy_callback() use list_first_entry()
    net: phy: meson-gxl: use MMD access dummy stubs for GXL, internal PHY
    net: phy: meson-gxl: add g12a support
  * net: phy: add macros for PHYID matching
      include/linux/phy.h
    IB/hfi1: Restore allocated resources on failed copyout
    ALSA: emux: Avoid potential array out-of-bound in snd_emux_xg_control()
    btrfs: limit device extents to the device size
    iio:adc:twl6030: Enable measurement of VAC
    thermal: intel: int340x: Add locking to int340x_thermal_get_trip_type()
    serial: 8250_dma: Fix DMA Rx rearm race
    serial: 8250_dma: Fix DMA Rx completion race
  * Squashfs: fix handling and sanity checking of xattr_ids count
      fs/squashfs/squashfs_fs.h
  * mm/swapfile: add cond_resched() in get_swap_pages()
      mm/swapfile.c
  * mm: hugetlb: proc: check for hugetlb shared PMD in /proc/PID/smaps
      fs/proc/task_mmu.c
      include/linux/hugetlb.h
    riscv: disable generation of unwind tables
    parisc: Wire up PTRACE_GETREGS/PTRACE_SETREGS for compat case
    parisc: Fix return code of pdc_iodc_print()
    iio:adc:twl6030: Enable measurements of VUSB, VBAT and others
    iio: adc: berlin2-adc: Add missing of_node_put() in error path
    iio: hid: fix the retval in accel_3d_capture_sample
    efi: Accept version 2 of memory attributes table
    watchdog: diag288_wdt: fix __diag288() inline assembly
    watchdog: diag288_wdt: do not use stack buffers for hardware data
    fbcon: Check font dimension limits
    thermal: intel: int340x: Protect trip temperature from concurrent updates
    KVM: x86/vmx: Do not skip segment attributes if unusable bit is set
    KVM: VMX: Move caching of MSR_IA32_XSS to hardware_setup()
    KVM: VMX: Move VMX specific files to a "vmx" subdirectory
    nVMX x86: Check VMX-preemption timer controls on vmentry of L2 guests
    Input: i8042 - add Clevo PCX0DX to i8042 quirk table
    Input: i8042 - add TUXEDO devices to i8042 quirk tables
    Input: i8042 - merge quirk tables
    Input: i8042 - move __initconst to fix code styling warning
    vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF
  * usb: gadget: f_fs: Fix unbalanced spinlock in __ffs_ep0_queue_wait
      drivers/usb/gadget/function/f_fs.c
  * usb: dwc3: qcom: enable vbus override when in OTG dr-mode
      drivers/usb/dwc3/dwc3-qcom.c
  * usb: dwc3: dwc3-qcom: Fix typo in the dwc3 vbus override API
      drivers/usb/dwc3/dwc3-qcom.c
    iio: adc: stm32-dfsdm: fill module aliases
    net/x25: Fix to not accept on connected socket
    i2c: rk3x: fix a bunch of kernel-doc warnings
    scsi: iscsi_tcp: Fix UAF during login when accessing the shost ipaddress
    scsi: target: core: Fix warning on RT kernels
    net: openvswitch: fix flow memory leak in ovs_flow_cmd_new
    ata: libata: Fix sata_down_spd_limit() when no link speed is reported
    squashfs: harden sanity check in squashfs_read_xattr_id_table
    netrom: Fix use-after-free caused by accept on already connected socket
    ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path()
    bus: sunxi-rsb: Fix error handling in sunxi_rsb_init()
    firewire: fix memory leak for payload of request subaction to IEC 61883-1 FCP region
    UPSTREAM: wireguard: allowedips: remove nodes in O(1)
    UPSTREAM: wireguard: allowedips: initialize list head in selftest
    UPSTREAM: wireguard: use synchronize_net rather than synchronize_rcu
    UPSTREAM: wireguard: do not use -O3
    UPSTREAM: wireguard: selftests: make sure rp_filter is disabled on vethc
    BACKPORT: wireguard: selftests: remove old conntrack kconfig value
  * BACKPORT: usb: typec: mux: Fix matching with typec_altmode_desc
      drivers/usb/typec/mux.c
  * UPSTREAM: sched/uclamp: Fix locking around cpu_util_update_eff()
      kernel/sched/core.c
  * UPSTREAM: sched/uclamp: Fix wrong implementation of cpu.uclamp.min
      kernel/sched/core.c
    UPSTREAM: usb: musb: Fix an error message
    UPSTREAM: arm64: doc: Add brk/mmap/mremap() to the Tagged Address ABI Exceptions
  * BACKPORT: selinux: add proper NULL termination to the secclass_map permissions
      security/selinux/include/classmap.h
    UPSTREAM: crypto: arm/curve25519 - Move '.fpu' after '.arch'
    UPSTREAM: libnvdimm/region: Fix nvdimm_has_flush() to handle ND_REGION_ASYNC
  * UPSTREAM: of: property: fw_devlink: do not link ".*,nr-gpios"
      drivers/of/property.c
    UPSTREAM: xfrm/compat: Cleanup WARN()s that can be user-triggered
    UPSTREAM: wireguard: selftests: test multiple parallel streams
    UPSTREAM: crypto: mips: add poly1305-core.S to .gitignore
  * BACKPORT: arm64: kasan: fix page_alloc tagging with DEBUG_VIRTUAL
      arch/arm64/include/asm/memory.h
  * UPSTREAM: crypto: mips/poly1305 - enable for all MIPS processors
      crypto/Kconfig
      drivers/net/Kconfig
    UPSTREAM: kbuild: do not include include/config/auto.conf from adjust_autoksyms.sh
  * UPSTREAM: wireguard: kconfig: use arm chacha even with no neon
      drivers/net/Kconfig
    UPSTREAM: wireguard: queueing: get rid of per-peer ring buffers
    UPSTREAM: wireguard: device: do not generate ICMP for non-IP packets
    BACKPORT: mac80211_hwsim: notify wmediumd of used MAC addresses
    BACKPORT: mac80211_hwsim: add concurrent channels scanning support over virtio
  * BACKPORT: perf_event_open: switch to copy_struct_from_user()
      kernel/events/core.c
  * BACKPORT: sched_setattr: switch to copy_struct_from_user()
      kernel/sched/core.c

Bug: 274413561
Change-Id: I4334c7024c0a0b0ff52123bda3f51c09f35ebf56
Signed-off-by: JohnnLee <johnnlee@google.com>
2023-04-11 03:17:25 +00:00
Greg Kroah-Hartman
ca61495eb4 Merge 4.19.280 into android-4.19-stable
Changes in 4.19.280
	power: supply: da9150: Fix use after free bug in da9150_charger_remove due to race condition
	i40evf: Change a VF mac without reloading the VF driver
	intel-ethernet: rename i40evf to iavf
	iavf: diet and reformat
	iavf: fix inverted Rx hash condition leading to disabled hash
	intel/igbvf: free irq on the error path in igbvf_request_msix()
	igbvf: Regard vf reset nack as success
	i2c: imx-lpi2c: check only for enabled interrupt flags
	scsi: scsi_dh_alua: Fix memleak for 'qdata' in alua_activate()
	net: usb: smsc95xx: Limit packet length to skb->len
	qed/qed_sriov: guard against NULL derefs from qed_iov_get_vf_info
	xirc2ps_cs: Fix use after free bug in xirc2ps_detach
	net: qcom/emac: Fix use after free bug in emac_remove due to race condition
	net/ps3_gelic_net: Fix RX sk_buff length
	net/ps3_gelic_net: Use dma_mapping_error
	bpf: Adjust insufficient default bpf_jit_limit
	net/mlx5: Read the TC mapping of all priorities on ETS query
	atm: idt77252: fix kmemleak when rmmod idt77252
	erspan: do not use skb_mac_header() in ndo_start_xmit()
	net/sonic: use dma_mapping_error() for error check
	hvc/xen: prevent concurrent accesses to the shared ring
	net: mdio: thunder: Add missing fwnode_handle_put()
	Bluetooth: btqcomsmd: Fix command timeout after setting BD address
	Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work
	hwmon (it87): Fix voltage scaling for chips with 10.9mV ADCs
	uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS583Gen 2
	thunderbolt: Use const qualifier for `ring_interrupt_index`
	riscv: Bump COMMAND_LINE_SIZE value to 1024
	ca8210: fix mac_len negative array access
	m68k: Only force 030 bus error if PC not in exception table
	scsi: target: iscsi: Fix an error message in iscsi_check_key()
	scsi: ufs: core: Add soft dependency on governor_simpleondemand
	net: usb: cdc_mbim: avoid altsetting toggling for Telit FE990
	net: usb: qmi_wwan: add Telit 0x1080 composition
	sh: sanitize the flags on sigreturn
	cifs: empty interface list when server doesn't support query interfaces
	scsi: core: Add BLIST_SKIP_VPD_PAGES for SKhynix H28U74301AMR
	usb: gadget: u_audio: don't let userspace block driver unbind
	igb: revert rtnl_lock() that causes deadlock
	dm thin: fix deadlock when swapping to thin device
	usb: chipdea: core: fix return -EINVAL if request role is the same with current role
	usb: chipidea: core: fix possible concurrent when switch role
	nilfs2: fix kernel-infoleak in nilfs_ioctl_wrap_copy()
	i2c: xgene-slimpro: Fix out-of-bounds bug in xgene_slimpro_i2c_xfer()
	dm stats: check for and propagate alloc_percpu failure
	dm crypt: add cond_resched() to dmcrypt_write()
	sched/fair: sanitize vruntime of entity being placed
	sched/fair: Sanitize vruntime of entity being migrated
	tun: avoid double free in tun_free_netdev
	ocfs2: fix data corruption after failed write
	bus: imx-weim: fix branch condition evaluates to a garbage value
	md: avoid signed overflow in slot_store()
	ALSA: asihpi: check pao in control_message()
	ALSA: hda/ca0132: fixup buffer overrun at tuning_ctl_set()
	fbdev: tgafb: Fix potential divide by zero
	sched_getaffinity: don't assume 'cpumask_size()' is fully initialized
	fbdev: nvidia: Fix potential divide by zero
	fbdev: intelfb: Fix potential divide by zero
	fbdev: lxfb: Fix potential divide by zero
	fbdev: au1200fb: Fix potential divide by zero
	ca8210: Fix unsigned mac_len comparison with zero in ca8210_skb_tx()
	scsi: megaraid_sas: Fix crash after a double completion
	can: bcm: bcm_tx_setup(): fix KMSAN uninit-value in vfs_write
	i40e: fix registers dump after run ethtool adapter self test
	net: dsa: mv88e6xxx: Enable IGMP snooping on user ports only
	net: mvneta: make tx buffer array agnostic
	Input: alps - fix compatibility with -funsigned-char
	Input: focaltech - use explicitly signed char type
	cifs: prevent infinite recursion in CIFSGetDFSRefer()
	cifs: fix DFS traversal oops without CONFIG_CIFS_DFS_UPCALL
	xen/netback: don't do grant copy across page boundary
	pinctrl: at91-pio4: fix domain name assignment
	ALSA: hda/conexant: Partial revert of a quirk for Lenovo
	ALSA: usb-audio: Fix regression on detection of Roland VS-100
	drm/etnaviv: fix reference leak when mmaping imported buffer
	s390/uaccess: add missing earlyclobber annotations to __clear_user()
	usb: host: ohci-pxa27x: Fix and & vs | typo
	ext4: fix kernel BUG in 'ext4_write_inline_data_end()'
	firmware: arm_scmi: Fix device node validation for mailbox transport
	gfs2: Always check inode size of inline inodes
	net: sched: cbq: dont intepret cls results when asked to drop
	cgroup/cpuset: Change cpuset_rwsem and hotplug lock order
	cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock
	cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all()
	Linux 4.19.280

Change-Id: I63f8dc1e674a396e468ee0ea314d141682d60b72
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-05 13:50:06 +00:00
Alvin Šipraga
3256e152b6 usb: gadget: u_audio: don't let userspace block driver unbind
commit 6c67ed9ad9b83e453e808f9b31a931a20a25629b upstream.

In the unbind callback for f_uac1 and f_uac2, a call to snd_card_free()
via g_audio_cleanup() will disconnect the card and then wait for all
resources to be released, which happens when the refcount falls to zero.
Since userspace can keep the refcount incremented by not closing the
relevant file descriptor, the call to unbind may block indefinitely.
This can cause a deadlock during reboot, as evidenced by the following
blocked task observed on my machine:

  task:reboot  state:D stack:0   pid:2827  ppid:569    flags:0x0000000c
  Call trace:
   __switch_to+0xc8/0x140
   __schedule+0x2f0/0x7c0
   schedule+0x60/0xd0
   schedule_timeout+0x180/0x1d4
   wait_for_completion+0x78/0x180
   snd_card_free+0x90/0xa0
   g_audio_cleanup+0x2c/0x64
   afunc_unbind+0x28/0x60
   ...
   kernel_restart+0x4c/0xac
   __do_sys_reboot+0xcc/0x1ec
   __arm64_sys_reboot+0x28/0x30
   invoke_syscall+0x4c/0x110
   ...

The issue can also be observed by opening the card with arecord and
then stopping the process through the shell before unbinding:

  # arecord -D hw:UAC2Gadget -f S32_LE -c 2 -r 48000 /dev/null
  Recording WAVE '/dev/null' : Signed 32 bit Little Endian, Rate 48000 Hz, Stereo
  ^Z[1]+  Stopped                    arecord -D hw:UAC2Gadget -f S32_LE -c 2 -r 48000 /dev/null
  # echo gadget.0 > /sys/bus/gadget/drivers/configfs-gadget/unbind
  (observe that the unbind command never finishes)

Fix the problem by using snd_card_free_when_closed() instead, which will
still disconnect the card as desired, but defer the task of freeing the
resources to the core once userspace closes its file descriptor.

Fixes: 132fcb4608 ("usb: gadget: Add Audio Class 2.0 Driver")
Cc: stable@vger.kernel.org
Signed-off-by: Alvin Šipraga <alsi@bang-olufsen.dk>
Reviewed-by: Ruslan Bilovol <ruslan.bilovol@gmail.com>
Reviewed-by: John Keeping <john@metanate.com>
Link: https://lore.kernel.org/r/20230302163648.3349669-1-alvin@pqrs.dk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-04-05 11:15:37 +02:00
Greg Kroah-Hartman
bd71171c6e Merge 4.19.273 into android-4.19-stable
Changes in 4.19.273
	firewire: fix memory leak for payload of request subaction to IEC 61883-1 FCP region
	bus: sunxi-rsb: Fix error handling in sunxi_rsb_init()
	ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path()
	netrom: Fix use-after-free caused by accept on already connected socket
	squashfs: harden sanity check in squashfs_read_xattr_id_table
	ata: libata: Fix sata_down_spd_limit() when no link speed is reported
	net: openvswitch: fix flow memory leak in ovs_flow_cmd_new
	scsi: target: core: Fix warning on RT kernels
	scsi: iscsi_tcp: Fix UAF during login when accessing the shost ipaddress
	i2c: rk3x: fix a bunch of kernel-doc warnings
	net/x25: Fix to not accept on connected socket
	iio: adc: stm32-dfsdm: fill module aliases
	usb: dwc3: dwc3-qcom: Fix typo in the dwc3 vbus override API
	usb: dwc3: qcom: enable vbus override when in OTG dr-mode
	usb: gadget: f_fs: Fix unbalanced spinlock in __ffs_ep0_queue_wait
	vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF
	Input: i8042 - move __initconst to fix code styling warning
	Input: i8042 - merge quirk tables
	Input: i8042 - add TUXEDO devices to i8042 quirk tables
	Input: i8042 - add Clevo PCX0DX to i8042 quirk table
	nVMX x86: Check VMX-preemption timer controls on vmentry of L2 guests
	KVM: VMX: Move VMX specific files to a "vmx" subdirectory
	KVM: VMX: Move caching of MSR_IA32_XSS to hardware_setup()
	KVM: x86/vmx: Do not skip segment attributes if unusable bit is set
	thermal: intel: int340x: Protect trip temperature from concurrent updates
	fbcon: Check font dimension limits
	watchdog: diag288_wdt: do not use stack buffers for hardware data
	watchdog: diag288_wdt: fix __diag288() inline assembly
	efi: Accept version 2 of memory attributes table
	iio: hid: fix the retval in accel_3d_capture_sample
	iio: adc: berlin2-adc: Add missing of_node_put() in error path
	iio:adc:twl6030: Enable measurements of VUSB, VBAT and others
	parisc: Fix return code of pdc_iodc_print()
	parisc: Wire up PTRACE_GETREGS/PTRACE_SETREGS for compat case
	riscv: disable generation of unwind tables
	mm: hugetlb: proc: check for hugetlb shared PMD in /proc/PID/smaps
	mm/swapfile: add cond_resched() in get_swap_pages()
	Squashfs: fix handling and sanity checking of xattr_ids count
	serial: 8250_dma: Fix DMA Rx completion race
	serial: 8250_dma: Fix DMA Rx rearm race
	thermal: intel: int340x: Add locking to int340x_thermal_get_trip_type()
	iio:adc:twl6030: Enable measurement of VAC
	btrfs: limit device extents to the device size
	ALSA: emux: Avoid potential array out-of-bound in snd_emux_xg_control()
	IB/hfi1: Restore allocated resources on failed copyout
	net: phy: add macros for PHYID matching
	net: phy: meson-gxl: add g12a support
	net: phy: meson-gxl: use MMD access dummy stubs for GXL, internal PHY
	rds: rds_rm_zerocopy_callback() use list_first_entry()
	selftests: forwarding: lib: quote the sysctl values
	ALSA: pci: lx6464es: fix a debug loop
	pinctrl: aspeed: Fix confusing types in return value
	pinctrl: single: fix potential NULL dereference
	pinctrl: intel: Convert unsigned to unsigned int
	pinctrl: intel: Restore the pins that used to be in Direct IRQ mode
	net: USB: Fix wrong-direction WARNING in plusb.c
	usb: core: add quirk for Alcor Link AK9563 smartcard reader
	usb: typec: altmodes/displayport: Fix probe pin assign check
	riscv: Fixup race condition on PG_dcache_clean in flush_icache_pte
	arm64: dts: meson-gx: Make mmc host controller interrupts level-sensitive
	arm64: dts: meson-axg: Make mmc host controller interrupts level-sensitive
	bpf: Always return target ifindex in bpf_fib_lookup
	migrate: hugetlb: check for hugetlb shared PMD in node migration
	ASoC: cs42l56: fix DT probe
	tools/virtio: fix the vringh test for virtio ring changes
	net/rose: Fix to not accept on connected socket
	nvme-fc: fix a missing queue put in nvmet_fc_ls_create_association
	aio: fix mremap after fork null-deref
	netfilter: nft_tproxy: restrict to prerouting hook
	Revert "x86/fpu: Use _Alignof to avoid undefined behavior in TYPE_ALIGN"
	mmc: sdio: fix possible resource leaks in some error paths
	ALSA: hda/conexant: add a new hda codec SN6180
	ALSA: hda/realtek - fixed wrong gpio assigned
	hugetlb: check for undefined shift on 32 bit architectures
	revert "squashfs: harden sanity check in squashfs_read_xattr_id_table"
	i40e: add double of VLAN header when computing the max MTU
	net: bgmac: fix BCM5358 support by setting correct flags
	dccp/tcp: Avoid negative sk_forward_alloc by ipv6_pinfo.pktoptions.
	net/usb: kalmia: Don't pass act_len in usb_bulk_msg error path
	net: stmmac: fix order of dwmac5 FlexPPS parametrization sequence
	bnxt_en: Fix mqprio and XDP ring checking logic
	net: stmmac: Restrict warning on disabling DMA store and fwd mode
	net: mpls: fix stale pointer if allocation fails during device rename
	ipv6: Fix datagram socket connection with DSCP.
	ipv6: Fix tcp socket connection with DSCP.
	i40e: Add checking for null for nlmsg_find_attr()
	kvm: initialize all of the kvm_debugregs structure before sending it to userspace
	nilfs2: fix underflow in second superblock position calculations
	net: phy: meson-gxl: Add generic dummy stubs for MMD register access
	Linux 4.19.273

Change-Id: Id9b61e7d5d9399a46dc2d52a392eacf5cbe30248
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-02-22 12:28:07 +00:00
Udipto Goswami
554177f315 usb: gadget: f_fs: Fix unbalanced spinlock in __ffs_ep0_queue_wait
[ Upstream commit 921deb9da15851425ccbb6ee409dc2fd8fbdfe6b ]

__ffs_ep0_queue_wait executes holding the spinlock of &ffs->ev.waitq.lock
and unlocks it after the assignments to usb_request are done.
However in the code if the request is already NULL we bail out returning
-EINVAL but never unlocked the spinlock.

Fix this by adding spin_unlock_irq &ffs->ev.waitq.lock before returning.

Fixes: 6a19da111057 ("usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait")
Reviewed-by: John Keeping <john@metanate.com>
Signed-off-by: Udipto Goswami <quic_ugoswami@quicinc.com>
Link: https://lore.kernel.org/r/20230124091149.18647-1-quic_ugoswami@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-02-22 12:47:13 +01:00
Wilson Sung
63376759a1 Merge android-4.19-stable (4.19.272) into android-msm-pixel-4.19-lts
Merge 4.19.272 into android-4.19-stable
Linux 4.19.272
  * usb: host: xhci-plat: add wakeup entry at sysfs
      drivers/usb/host/xhci-plat.c
  * ipv6: ensure sane device mtu in tunnels
      net/ipv6/ip6_tunnel.c
      net/ipv6/sit.c
  * exit: Use READ_ONCE() for all oops/warn limit reads
      kernel/exit.c
      kernel/panic.c
    docs: Fix path paste-o for /sys/kernel/warn_count
  * panic: Expose "warn_count" to sysfs
      kernel/panic.c
  * panic: Introduce warn_limit
      kernel/panic.c
  * panic: Consolidate open-coded panic_on_warn checks
      include/linux/kernel.h
      kernel/panic.c
      kernel/sched/core.c
  * exit: Allow oops_limit to be disabled
      kernel/exit.c
  * exit: Expose "oops_count" to sysfs
      kernel/exit.c
  * exit: Put an upper limit on how often we can oops
      kernel/exit.c
    ia64: make IA64_MCA_RECOVERY bool instead of tristate
    h8300: Fix build errors from do_exit() to make_task_dead() transition
    hexagon: Fix function name in die()
    objtool: Add a missing comma to avoid string concatenation
  * exit: Add and use make_task_dead.
      arch/arm64/kernel/traps.c
      arch/arm64/mm/fault.c
      include/linux/sched/task.h
      kernel/exit.c
  * panic: unset panic_on_warn inside panic()
      kernel/panic.c
  * sysctl: add a new register_sysctl_init() interface
      fs/proc/proc_sysctl.c
      include/linux/sysctl.h
    dmaengine: imx-sdma: Fix a possible memory leak in sdma_transfer_init
    ARM: dts: imx: Fix pca9547 i2c-mux node name
    x86/entry/64: Add instruction suffix to SYSRET
    x86/asm: Fix an assembler warning with current binutils
    drm/i915/display: fix compiler warning about array overrun
    x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL
    Revert "Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI mode"
    net/tg3: resolve deadlock in tg3_reset_task() during EEH
    net: ravb: Fix possible hang if RIS2_QFF1 happen
  * sctp: fail if no bound addresses can be used for a given scope
      net/sctp/bind_addr.c
    netrom: Fix use-after-free of a listening socket.
  * netfilter: conntrack: fix vtag checks for ABORT/SHUTDOWN_COMPLETE
      net/netfilter/nf_conntrack_proto_sctp.c
  * ipv4: prevent potential spectre v1 gadget in ip_metrics_convert()
      net/ipv4/metrics.c
  * netlink: annotate data races around sk_state
      net/netlink/af_netlink.c
  * netlink: annotate data races around dst_portid and dst_group
      net/netlink/af_netlink.c
  * netlink: annotate data races around nlk->portid
      net/netlink/af_netlink.c
  * netlink: remove hash::nelems check in netlink_insert
      net/netlink/af_netlink.c
    netfilter: nft_set_rbtree: skip elements in transaction from garbage collection
  * net: fix UaF in netns ops registration error path
      net/core/net_namespace.c
  * EDAC/device: Respect any driver-supplied workqueue polling value
      drivers/edac/edac_device.c
    ARM: 9280/1: mm: fix warning on phys_addr_t to void pointer assignment
    cifs: Fix oops due to uncleared server->smbd_conn in reconnect
    smbd: Make upper layer decide when to destroy the transport
    trace_events_hist: add check for return value of 'create_hist_field'
  * tracing: Make sure trace_printk() can output as soon as it can be used
      kernel/trace/trace.c
      kernel/trace/trace.h
      kernel/trace/trace_output.c
  * module: Don't wait for GOING modules
      kernel/module.c
    scsi: hpsa: Fix allocation size for scsi_host_alloc()
  * Bluetooth: hci_sync: cancel cmd_timer if hci_open failed
      net/bluetooth/hci_core.c
    fs: reiserfs: remove useless new_opts in reiserfs_remount
    perf env: Do not return pointers to local variables
  * block: fix and cleanup bio_check_ro
      block/blk-core.c
  * netfilter: conntrack: do not renew entry stuck in tcp SYN_SENT state
      net/netfilter/nf_conntrack_proto_tcp.c
    w1: fix WARNING after calling w1_process()
    w1: fix deadloop in __w1_remove_master_device()
  * tcp: avoid the lookup process failing to get sk in ehash table
      net/ipv4/inet_hashtables.c
      net/ipv4/inet_timewait_sock.c
    dmaengine: xilinx_dma: call of_node_put() when breaking out of for_each_child_of_node()
    dmaengine: xilinx_dma: Fix devm_platform_ioremap_resource error handling
    dmaengine: xilinx_dma: program hardware supported buffer length
    dmaengine: xilinx_dma: commonize DMA copy size calculation
    HID: betop: check shape of output reports
    net: macb: fix PTP TX timestamp failure due to packet padding
  * dmaengine: Fix double increment of client_count in dma_chan_get()
      drivers/dma/dmaengine.c
    net: mlx5: eliminate anonymous module_init & module_exit
  * usb: gadget: f_fs: Ensure ep0req is dequeued before free_request
      drivers/usb/gadget/function/f_fs.c
  * usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait
      drivers/usb/gadget/function/f_fs.c
  * HID: check empty report_list in hid_validate_values()
      drivers/hid/hid-core.c
  * net: mdio: validate parameter addr in mdiobus_get_phy()
      drivers/net/phy/mdio_bus.c
    net: usb: sr9700: Handle negative len
    wifi: rndis_wlan: Prevent buffer overflow in rndis_query_oid
    net: nfc: Fix use-after-free in local_cleanup()
    phy: rockchip-inno-usb2: Fix missing clk_disable_unprepare() in rockchip_usb2phy_power_on()
  * bpf: Fix pointer-leak due to insufficient speculative store bypass mitigation
      kernel/bpf/verifier.c
    amd-xgbe: Delay AN timeout during KR training
    amd-xgbe: TX Flow Ctrl Registers are h/w ver dependent
    affs: initialize fsdata in affs_truncate()
    IB/hfi1: Fix expected receive setup error exit issues
    IB/hfi1: Reserve user expected TIDs
    IB/hfi1: Reject a zero-length user expected buffer
    tomoyo: fix broken dependency on *.conf.default
    EDAC/highbank: Fix memory leak in highbank_mc_probe()
    HID: intel_ish-hid: Add check for ishtp_dma_tx_map
    ARM: dts: imx6qdl-gw560x: Remove incorrect 'uart-has-rtscts'
    UPSTREAM: tcp: fix tcp_rmem documentation
  * UPSTREAM: nvmem: core: skip child nodes not matching binding
      drivers/nvmem/core.c
  * BACKPORT: nvmem: core: Fix a resource leak on error in nvmem_add_cells_from_of()
      drivers/nvmem/core.c
  * UPSTREAM: sched/eas: Don't update misfit status if the task is pinned
      kernel/sched/fair.c
  * BACKPORT: arm64: link with -z norelro for LLD or aarch64-elf
      arch/arm64/Makefile
  * UPSTREAM: driver: core: Fix list corruption after device_del()
      drivers/base/core.c
  * UPSTREAM: coresight: tmc-etr: Fix barrier packet insertion for perf buffer
      drivers/hwtracing/coresight/coresight-tmc-etr.c
  * UPSTREAM: f2fs: fix double free of unicode map
      fs/f2fs/super.c
  * BACKPORT: net: xfrm: fix memory leak in xfrm_user_policy()
      net/xfrm/xfrm_state.c
    UPSTREAM: xfrm/compat: Don't allocate memory with __GFP_ZERO
    UPSTREAM: xfrm/compat: memset(0) 64-bit padding at right place
    UPSTREAM: xfrm/compat: Translate by copying XFRMA_UNSPEC attribute
  * UPSTREAM: scsi: ufs: Fix missing brace warning for old compilers
      drivers/scsi/ufs/ufshcd-crypto.c
  * UPSTREAM: arm64: vdso32: make vdso32 install conditional
      arch/arm64/Makefile
  * UPSTREAM: loop: unset GENHD_FL_NO_PART_SCAN on LOOP_CONFIGURE
      drivers/block/loop.c
    BACKPORT: drm/virtio: fix missing dma_fence_put() in virtio_gpu_execbuffer_ioctl()
  * BACKPORT: sched/uclamp: Protect uclamp fast path code with static key
      kernel/sched/core.c
      kernel/sched/cpufreq_schedutil.c
      kernel/sched/sched.h
  * BACKPORT: sched/uclamp: Fix initialization of struct uclamp_rq
      kernel/sched/core.c
  * UPSTREAM: coresight: etmv4: Fix CPU power management setup in probe() function
      drivers/hwtracing/coresight/coresight-etm4x.c
  * UPSTREAM: arm64: vdso: Add --eh-frame-hdr to ldflags
      arch/arm64/kernel/vdso/Makefile
  * BACKPORT: arm64: vdso: Add '-Bsymbolic' to ldflags
      arch/arm64/kernel/vdso/Makefile
    UPSTREAM: drm/virtio: fix a wait_event condition
  * BACKPORT: sched/topology: Don't try to build empty sched domains
      kernel/cgroup/cpuset.c
      kernel/sched/topology.c
  * BACKPORT: binder: prevent UAF read in print_binder_transaction_log_entry()
      drivers/android/binder.c
      drivers/android/binder_internal.h
  * BACKPORT: copy_process(): don't use ksys_close() on cleanups
      kernel/fork.c
  * BACKPORT: arm64: vdso: Remove unnecessary asm-offsets.c definitions
      arch/arm64/kernel/asm-offsets.c
  * UPSTREAM: locking/lockdep, cpu/hotplug: Annotate AP thread
      kernel/cpu.c
  * Revert "xhci: Add a flag to disable USB3 lpm on a xhci root port level."
      drivers/usb/host/xhci.c
      drivers/usb/host/xhci.h
    Merge 4.19.271 into android-4.19-stable
    BACKPORT: mac80211_hwsim: add concurrent channels scanning support over virtio
  * BACKPORT: mac80211_hwsim: add frame transmission support over virtio This allows communication with external entities.
      include/uapi/linux/virtio_ids.h
  * BACKPORT: driver core: Skip unnecessary work when device doesn't have sync_state()
      drivers/base/core.c
Linux 4.19.271
    x86/fpu: Use _Alignof to avoid undefined behavior in TYPE_ALIGN
  * Revert "ext4: generalize extents status tree search functions"
      fs/ext4/ext4.h
      fs/ext4/extents.c
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/inode.c
      include/trace/events/ext4.h
  * Revert "ext4: add new pending reservation mechanism"
      fs/ext4/ext4.h
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/super.c
  * Revert "ext4: fix reserved cluster accounting at delayed write time"
      fs/ext4/ext4.h
      fs/ext4/extents.c
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/inode.c
      include/trace/events/ext4.h
  * Revert "ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline"
      fs/ext4/extents.c
    gsmi: fix null-deref in gsmi_get_variable
    serial: atmel: fix incorrect baudrate setup
    serial: pch_uart: Pass correct sg to dma_unmap_sg()
    usb-storage: apply IGNORE_UAS only for HIKSEMI MD202 on RTL9210
  * usb: gadget: f_ncm: fix potential NULL ptr deref in ncm_bitrate()
      drivers/usb/gadget/function/f_ncm.c
    usb: gadget: g_webcam: Send color matching descriptor per frame
    usb: typec: altmodes/displayport: Fix pin assignment calculation
    usb: typec: altmodes/displayport: Add pin assignment helper
    usb: host: ehci-fsl: Fix module alias
    USB: serial: cp210x: add SCALANCE LPE-9000 device id
    cifs: do not include page data when checking signature
    mmc: sunxi-mmc: Fix clock refcount imbalance during unbind
    comedi: adv_pci1760: Fix PWM instruction handling
  * usb: core: hub: disable autosuspend for TI TUSB8041
      drivers/usb/core/hub.c
    USB: misc: iowarrior: fix up header size for USB_DEVICE_ID_CODEMERCS_IOW100
    USB: serial: option: add Quectel EM05CN modem
    USB: serial: option: add Quectel EM05CN (SG) modem
    USB: serial: option: add Quectel EC200U modem
    USB: serial: option: add Quectel EM05-G (RS) modem
    USB: serial: option: add Quectel EM05-G (CS) modem
    USB: serial: option: add Quectel EM05-G (GR) modem
  * prlimit: do_prlimit needs to have a speculation check
      kernel/sys.c
  * xhci: Add a flag to disable USB3 lpm on a xhci root port level.
      drivers/usb/host/xhci.c
      drivers/usb/host/xhci.h
  * xhci: Fix null pointer dereference when host dies
      drivers/usb/host/xhci.c
  * usb: xhci: Check endpoint is valid before dereferencing it
      drivers/usb/host/xhci-ring.c
  * xhci-pci: set the dma max_seg_size
      drivers/usb/host/xhci-pci.c
    nilfs2: fix general protection fault in nilfs_btree_insert()
    Add exception protection processing for vd in axi_chan_handle_err function
  * f2fs: let's avoid panic if extent_tree is not created
      fs/f2fs/extent_cache.c
    RDMA/srp: Move large values to a new enum for gcc13
  * net/ethtool/ioctl: return -EOPNOTSUPP if we have no phy stats
      net/core/ethtool.c
    pNFS/filelayout: Fix coalescing test for single DS
  * ANDROID: usb: f_accessory: Check buffer size when initialised via composite
      drivers/usb/gadget/configfs.c
      drivers/usb/gadget/function/f_accessory.c
    Merge 4.19.270 into android-4.19-stable
Linux 4.19.270
    serial: tegra: Change lower tolerance baud rate limit for tegra20 and tegra30
    serial: tegra: Only print FIFO error message when an error occurs
    tty: serial: tegra: Handle RX transfer in PIO mode if DMA wasn't started
    Revert "usb: ulpi: defer ulpi_register on ulpi_read_id timeout"
    efi: fix NULL-deref in init error path
  * arm64: cmpxchg_double*: hazard against entire exchange variable
      arch/arm64/include/asm/atomic_ll_sc.h
      arch/arm64/include/asm/atomic_lse.h
    drm/virtio: Fix GEM handle creation UAF
    x86/resctrl: Fix task CLOSID/RMID update race
    x86/resctrl: Use task_curr() instead of task_struct->on_cpu to prevent unnecessary IPI
    iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe()
    iommu/mediatek-v1: Add error handle for mtk_iommu_probe
    net/mlx5: Fix ptp max frequency adjustment range
    net/mlx5: Rename ptp clock info
    nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame()
    hvc/xen: lock console list traversal
    regulator: da9211: Use irq handler when ready
  * EDAC/device: Fix period calculation in edac_device_reset_delay_period()
      drivers/edac/edac_device.c
      drivers/edac/edac_module.h
    x86/boot: Avoid using Intel mnemonics in AT&T syntax asm
    netfilter: ipset: Fix overflow before widen in the bitmap_ip_create() function.
  * ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline
      fs/ext4/exten Conflicts:
	drivers/edac/edac_device.c
	drivers/hwtracing/coresight/coresight-etm4x.c
	drivers/usb/core/hub.c
	drivers/usb/gadget/function/f_fs.c
	drivers/usb/gadget/function/f_hid.c
	kernel/panic.c
	mm/kasan/report.cts.c
  * ext4: fix reserved cluster accounting at delayed write time
      fs/ext4/ext4.h
      fs/ext4/extents.c
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/inode.c
      include/trace/events/ext4.h
  * ext4: add new pending reservation mechanism
      fs/ext4/ext4.h
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/super.c
  * ext4: generalize extents status tree search functions
      fs/ext4/ext4.h
      fs/ext4/extents.c
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/inode.c
      include/trace/events/ext4.h
  * ext4: fix uninititialized value in 'ext4_evict_inode'
      fs/ext4/super.c
  * ext4: fix use-after-free in ext4_orphan_cleanup
      fs/ext4/inode.c
  * ext4: lost matching-pair of trace in ext4_truncate
      fs/ext4/inode.c
  * ext4: fix bug_on in __es_tree_search caused by bad quota inode
      fs/quota/dquot.c
  * quota: Factor out setup of quota inode
      fs/quota/dquot.c
      include/linux/quotaops.h
    usb: ulpi: defer ulpi_register on ulpi_read_id timeout
    kest.pl: Fix grub2 menu handling for rebooting
    ktest.pl: Fix incorrect reboot for grub2bls
    ktest: introduce grub2bls REBOOT_TYPE option
    ktest: cleanup get_grub_index
    ktest: introduce _get_grub_index
    ktest: Add support for meta characters in GRUB_MENU
    ALSA: hda/hdmi: fix failures at PCM open on Intel ICL and later
    wifi: wilc1000: sdio: fix module autoloading
  * ipv6: raw: Deduct extension header length in rawv6_push_pending_frames
      net/ipv6/raw.c
    platform/x86: sony-laptop: Don't turn off 0x153 keyboard backlight during probe
    cifs: Fix uninitialized memory read for smb311 posix symlink create
  * ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF
      sound/core/control_compat.c
  * net/ulp: prevent ULP without clone op from entering the LISTEN status
      net/ipv4/inet_connection_sock.c
    s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple()
    perf auxtrace: Fix address filter duplicate symbol selection
    docs: Fix the docs build with Sphinx 6.0
  * net: sched: disallow noqueue for qdisc classes
      net/sched/sch_api.c
  * driver core: Fix bus_type.match() error handling in __driver_attach()
      drivers/base/dd.c
    parisc: Align parisc MADV_XXX constants with all other architectures
  * mbcache: Avoid nesting of cache->c_list_lock under bit locks
      fs/mbcache.c
    hfs/hfsplus: avoid WARN_ON() for sanity check, use proper error handling
    hfs/hfsplus: use WARN_ON for sanity check
  * ext4: don't allow journal inode to have encrypt flag
      fs/ext4/super.c
    riscv: uaccess: fix type of 0 variable on error in get_user()
    nfsd: fix handling of readdir in v4root vs. mount upcall timeout
    x86/bugs: Flush IBP in ib_prctl_set()
    ASoC: Intel: bytcr_rt5640: Add quirk for the Advantech MICA-071 tablet
    udf: Fix extension of the last extent in the file
    caif: fix memory leak in cfctrl_linkup_request()
    usb: rndis_host: Secure rndis_query check against int overflow
    net: sched: atm: dont intepret cls results when asked to drop
    RDMA/mlx5: Fix validation of max_rd_atomic caps for DC
    net: phy: xgmiitorgmii: Fix refcount leak in xgmiitorgmii_probe
    net: amd-xgbe: add missed tasklet_kill
    nfc: Fix potential resource leaks
    qlcnic: prevent ->dcb use-after-free on qlcnic_dcb_enable() failure
  * bpf: pull before calling skb_postpull_rcsum()
      net/core/filter.c
  * SUNRPC: ensure the matching upcall is in-flight upon downcall
      include/linux/sunrpc/rpc_pipe_fs.h
  * ext4: fix deadlock due to mbcache entry corruption
      fs/ext4/xattr.c
      fs/mbcache.c
      include/linux/mbcache.h
  * mbcache: automatically delete entries from cache on freeing
      fs/mbcache.c
      include/linux/mbcache.h
  * ext4: fix race when reusing xattr blocks
      fs/ext4/xattr.c
  * ext4: unindent codeblock in ext4_xattr_block_set()
      fs/ext4/xattr.c
  * ext4: remove EA inode entry from mbcache on inode eviction
      fs/ext4/inode.c
      fs/ext4/xattr.c
      fs/ext4/xattr.h
  * mbcache: add functions to delete entry if unused
      fs/mbcache.c
      include/linux/mbcache.h
  * mbcache: don't reclaim used entries
      fs/mbcache.c
  * ext4: use kmemdup() to replace kmalloc + memcpy
      fs/ext4/xattr.c
  * ext4: correct inconsistent error msg in nojournal mode
      fs/ext4/super.c
  * ext4: goto right label 'failed_mount3a'
      fs/ext4/super.c
  * driver core: Set deferred_probe_timeout to a longer default if CONFIG_MODULES is set
      drivers/base/dd.c
    ravb: Fix "failed to switch device to config mode" message during unbind
    perf probe: Fix to get the DW_AT_decl_file and DW_AT_call_file as unsinged data
    perf probe: Use dwarf_attr_integrate as generic DWARF attr accessor
    dm thin: resume even if in FAIL mode
    media: s5p-mfc: Fix in register read and write for H264
    media: s5p-mfc: Clear workbit to handle error condition
    media: s5p-mfc: Fix to handle reference queue during finishing
    btrfs: replace strncpy() with strscpy()
    btrfs: send: avoid unnecessary backref lookups when finding clone source
  * ext4: allocate extended attribute value in vmalloc area
      fs/ext4/xattr.c
  * ext4: avoid unaccounted block allocation when expanding inode
      fs/ext4/inode.c
  * ext4: initialize quota before expanding inode in setproject ioctl
      fs/ext4/ioctl.c
  * ext4: fix inode leak in ext4_xattr_inode_create() on an error path
      fs/ext4/xattr.c
  * ext4: avoid BUG_ON when creating xattrs
      fs/ext4/xattr.c
  * ext4: fix error code return to user-space in ext4_get_branch()
      fs/ext4/indirect.c
  * ext4: fix corruption when online resizing a 1K bigalloc fs
      fs/ext4/resize.c
  * ext4: init quota for 'old.inode' in 'ext4_rename'
      fs/ext4/namei.c
  * ext4: fix bug_on in __es_tree_search caused by bad boot loader inode
      fs/ext4/ioctl.c
  * ext4: add helper to check quota inums
      fs/ext4/super.c
  * ext4: fix undefined behavior in bit shift for ext4_check_flag_values
      fs/ext4/ext4.h
  * ext4: add inode table check in __ext4_get_inode_loc to aovid possible infinite loop
      fs/ext4/inode.c
    drm/vmwgfx: Validate the box size for the snooped cursor
  * drm/connector: send hotplug uevent on connector cleanup
      drivers/gpu/drm/drm_connector.c
    device_cgroup: Roll back to original exceptions after copy failure
    parisc: led: Fix potential null-ptr-deref in start_task()
    iommu/amd: Fix ivrs_acpihid cmdline parsing code
    crypto: n2 - add missing hash statesize
  * PCI/sysfs: Fix double free in error path
      drivers/pci/pci-sysfs.c
  * PCI: Fix pci_device_is_present() for VFs by checking PF
      drivers/pci/pci.c
    ipmi: fix use after free in _ipmi_destroy_user()
    ima: Fix a potential NULL pointer access in ima_restore_measurement_list
    ipmi: fix long wait in unload when IPMI disconnect
    md/bitmap: Fix bitmap chunk size overflow issues
    cifs: fix confusing debug message
    media: dvb-core: Fix UAF due to refcount races at releasing
    media: dvb-core: Fix double free in dvb_register_device()
    ARM: 9256/1: NWFPE: avoid compiler-generated __aeabi_uldivmod
  * tracing: Fix infinite loop in tracing_read_pipe on overflowed print_trace_line
      kernel/trace/trace.c
    x86/microcode/intel: Do not retry microcode reloading on the APs
    dm cache: set needs_check flag after aborting metadata
    dm cache: Fix UAF in destroy()
    dm thin: Fix UAF in run_timer_softirq()
    dm thin: Use last transaction's pmd->root when commit failed
    dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort
    binfmt: Fix error return code in load_elf_fdpic_binary()
    binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf
    selftests: Use optional USERCFLAGS and USERLDFLAGS
    ARM: ux500: do not directly dereference __iomem
    ktest.pl minconfig: Unset configs instead of just removing them
  * soc: qcom: Select REMAP_MMIO for LLCC driver
      drivers/soc/qcom/Kconfig
    media: stv0288: use explicitly signed char
    SUNRPC: Don't leak netobj memory when gss_read_proxy_verf() fails
    tpm: tpm_tis: Add the missed acpi_put_table() to fix memory leak
    tpm: tpm_crb: Add the missed acpi_put_table() to fix memory leak
    mmc: vub300: fix warning - do not call blocking ops when !TASK_RUNNING
    md: fix a crash in mempool_free
  * pnode: terminate at peers of source
      fs/pnode.c
    ALSA: line6: fix stack overflow in line6_midi_transmit
    ALSA: line6: correct midi status byte when receiving data from podxt
  * ovl: Use ovl mounter's fsuid and fsgid in ovl_link()
      fs/overlayfs/dir.c
    hfsplus: fix bug causing custom uid and gid being unable to be assigned with mount
  * HID: plantronics: Additional PIDs for double volume key presses quirk
      drivers/hid/hid-ids.h
      drivers/hid/hid-plantronics.c
    powerpc/rtas: avoid scheduling in rtas_os_term()
    powerpc/rtas: avoid device tree lookups in rtas_os_term()
    ata: ahci: Fix PCS quirk application for suspend
    media: dvbdev: fix refcnt bug
  * media: dvbdev: fix build warning due to comments
      include/media/dvbdev.h
    gcov: add support for checksum field
    iio: adc: ad_sigma_delta: do not use internal iio_dev lock
    reiserfs: Add missing calls to reiserfs_security_free()
  * HID: wacom: Ensure bootloader PID is usable in hidraw mode
      drivers/hid/wacom_sys.c
      drivers/hid/wacom_wac.c
      drivers/hid/wacom_wac.h
  * usb: dwc3: core: defer probe on ulpi_read_id timeout
      drivers/usb/dwc3/core.c
  * pstore: Make sure CONFIG_PSTORE_PMSG selects CONFIG_RT_MUTEXES
      fs/pstore/Kconfig
  * pstore: Switch pmsg_lock to an rt_mutex to avoid priority inversion
      fs/pstore/pmsg.c
    ASoC: rt5670: Remove unbalanced pm_runtime_put()
    ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in rk_spdif_runtime_resume()
    ASoC: wm8994: Fix potential deadlock
    ASoC: rockchip: pdm: Add missing clk_disable_unprepare() in rockchip_pdm_runtime_resume()
    ASoC: mediatek: mt8173-rt5650-rt5514: fix refcount leak in mt8173_rt5650_rt5514_dev_probe()
    orangefs: Fix kmemleak in orangefs_prepare_debugfs_help_string()
    drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()
    drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid()
    clk: st: Fix memory leak in st_of_quadfs_setup()
    media: si470x: Fix use-after-free in si470x_int_in_callback()
    mmc: f-sdh30: Add quirks for broken timeout clock capability
  * regulator: core: fix use_count leakage when handling boot-on
      drivers/regulator/core.c
  * blk-mq: fix possible memleak when register 'hctx' failed
      block/blk-mq-sysfs.c
    media: dvb-usb: fix memory leak in dvb_usb_adapter_init()
  * media: dvbdev: adopts refcnt to avoid UAF
      include/media/dvbdev.h
    media: dvb-frontends: fix leak of memory fw
  * ppp: associate skb with a device at tx
      drivers/net/ppp/ppp_generic.c
  * mrp: introduce active flags to prevent UAF when applicant uninit
      include/net/mrp.h
    md/raid1: stop mdx_raid1 thread when raid1 array run failed
    drivers/md/md-bitmap: check the return value of md_bitmap_get_counter()
    drm/sti: Use drm_mode_copy()
    s390/lcs: Fix return type of lcs_start_xmit()
    s390/netiucv: Fix return type of netiucv_tx()
    s390/ctcm: Fix return type of ctc{mp,}m_tx()
    drm/amdgpu: Fix type of second parameter in trans_msg() callback
    igb: Do not free q_vector unless new one was allocated
    wifi: brcmfmac: Fix potential shift-out-of-bounds in brcmf_fw_alloc_request()
    hamradio: baycom_epp: Fix return type of baycom_send_packet()
    net: ethernet: ti: Fix return type of netcp_ndo_start_xmit()
  * bpf: make sure skb->len != 0 when redirecting to a tunneling device
      net/core/filter.c
    ipmi: fix memleak when unload ipmi driver
    ASoC: codecs: rt298: Add quirk for KBL-R RVP platform
    wifi: ar5523: Fix use-after-free on ar5523_cmd() timed out
    wifi: ath9k: verify the expected usb_endpoints are present
    hfs: fix OOB Read in __hfs_brec_find
    acct: fix potential integer overflow in encode_comp_t()
    nilfs2: fix shift-out-of-bounds/overflow in nilfs_sb2_bad_offset()
    ACPICA: Fix error code path in acpi_ds_call_control_method()
    fs: jfs: fix shift-out-of-bounds in dbDiscardAG
    udf: Avoid double brelse() in udf_rename()
    fs: jfs: fix shift-out-of-bounds in dbAllocAG
    binfmt_misc: fix shift-out-of-bounds in check_special_flags
  * net: stream: purge sk_error_queue in sk_stream_kill_queues()
      net/core/stream.c
    myri10ge: Fix an error handling path in myri10ge_probe()
    rxrpc: Fix missing unlock in rxrpc_do_sendmsg()
  * net_sched: reject TCF_EM_SIMPLE case for complex ematch module
      net/sched/ematch.c
  * skbuff: Account for tail adjustment during pull operations
      net/core/skbuff.c
    openvswitch: Fix flow lookup to use unmasked key
    rtc: mxc_v2: Add missing clk_disable_unprepare()
    r6040: Fix kmemleak in probe and remove
    nfc: pn533: Clear nfc_target before being used
    mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
    mISDN: hfcpci: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
    mISDN: hfcsusb: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
    nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure
    rtc: st-lpc: Add missing clk_disable_unprepare in st_rtc_probe()
    selftests/powerpc: Fix resource leaks
    powerpc/hv-gpci: Fix hv_gpci event list
    powerpc/83xx/mpc832x_rdb: call platform_device_put() in error case in of_fsl_spi_probe()
    powerpc/perf: callchain validate kernel stack pointer bounds
    powerpc/xive: add missing iounmap() in error path in xive_spapr_populate_irq_data()
    cxl: Fix refcount leak in cxl_calc_capp_routing
    powerpc/52xx: Fix a resource leak in an error handling path
    macintosh/macio-adb: check the return value of ioremap()
    macintosh: fix possible memory leak in macio_add_one_device()
    iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe()
    iommu/amd: Fix pci device refcount leak in ppr_notifier()
    rtc: snvs: Allow a time difference on clock register read
  * include/uapi/linux/swab: Fix potentially missing __always_inline
      include/uapi/linux/swab.h
    HSI: omap_ssi_core: Fix error handling in ssi_init()
    perf symbol: correction while adjusting symbol
  * power: supply: fix residue sysfs file in error handle route of __power_supply_register()
      drivers/power/supply/power_supply_core.c
    HSI: omap_ssi_core: fix possible memory leak in ssi_probe()
    HSI: omap_ssi_core: fix unbalanced pm_runtime_disable()
    fbdev: uvesafb: Fixes an error handling path in uvesafb_probe()
    fbdev: vermilion: decrease reference count in error path
    fbdev: via: Fix error in via_core_init()
    fbdev: pm2fb: fix missing pci_disable_device()
  * fbdev: ssd1307fb: Drop optional dependency
      drivers/video/fbdev/Kconfig
    samples: vfio-mdev: Fix missing pci_disable_device() in mdpy_fb_probe()
    tracing/hist: Fix issue of losting command info in error_log
    usb: storage: Add check for kcalloc
    i2c: ismt: Fix an out-of-bounds bug in ismt_access()
    vme: Fix error not catched in fake_init()
    staging: rtl8192e: Fix potential use-after-free in rtllib_rx_Monitor()
    staging: rtl8192u: Fix use after free in ieee80211_rx()
    i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe
  * chardev: fix error handling in cdev_device_add()
      fs/char_dev.c
    mcb: mcb-parse: fix error handing in chameleon_parse_gdd()
    drivers: mcb: fix resource leak in mcb_probe()
  * usb: gadget: f_hid: fix refcount leak on error path
      drivers/usb/gadget/function/f_hid.c
  * usb: gadget: f_hid: fix f_hidg lifetime vs cdev
      drivers/usb/gadget/function/f_hid.c
  * usb: gadget: f_hid: optional SETUP/SET_REPORT mode
      drivers/usb/gadget/function/f_hid.c
      drivers/usb/gadget/function/u_hid.h
    cxl: fix possible null-ptr-deref in cxl_pci_init_afu|adapter()
    cxl: fix possible null-ptr-deref in cxl_guest_init_afu|adapter()
    misc: sgi-gru: fix use-after-free error in gru_set_context_option, gru_fault and gru_handle_user_call_os
    misc: tifm: fix possible memory leak in tifm_7xx1_switch_media()
    test_firmware: fix memory leak in test_firmware_init()
    serial: sunsab: Fix error handling in sunsab_init()
    serial: altera_uart: fix locking in polling mode
    tty: serial: altera_uart_{r,t}x_chars() need only uart_port
    tty: serial: clean up stop-tx part in altera_uart_tx_chars()
    serial: pch: Fix PCI device refcount leak in pch_request_dma()
    serial: pl011: Do not clear RX FIFO & RX interrupt in unthrottle.
    serial: amba-pl011: avoid SBSA UART accessing DMACR register
  * usb: typec: Check for ops->exit instead of ops->enter in altmode_exit
      drivers/usb/typec/bus.c
    staging: vme_user: Fix possible UAF in tsi148_dma_list_add
    usb: fotg210-udc: Fix ages old endianness issues
    uio: uio_dmem_genirq: Fix deadlock between irq config and handling
    uio: uio_dmem_genirq: Fix missing unlock in irq configuration
    vfio: platform: Do not pass return buffer to ACPI _RST method
  * class: fix possible memory leak in __class_register()
      drivers/base/class.c
    serial: tegra: Read DMA status before terminating
    tty: serial: tegra: Activate RX DMA transfer by request
    serial: tegra: Add PIO mode support
    serial: tegra: report clk rate errors
    serial: tegra: add support to adjust baud rate
    serial: tegra: add support to use 8 bytes trigger
    serial: tegra: set maximum num of uart ports to 8
    serial: tegra: check for FIFO mode enabled status
    serial: tegra: avoid reg access when clk disabled
    drivers: dio: fix possible memory leak in dio_init()
    IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces
    hwrng: geode - Fix PCI device refcount leak
    hwrng: amd - Fix PCI device refcount leak
    crypto: img-hash - Fix variable dereferenced before check 'hdev->req'
    orangefs: Fix sysfs not cleanup when dev init failed
    RDMA/hfi1: Fix error return code in parse_platform_config()
    scsi: snic: Fix possible UAF in snic_tgt_create()
    scsi: fcoe: Fix transport not deattached when fcoe_if_init() fails
    scsi: ipr: Fix WARNING in ipr_init()
    scsi: fcoe: Fix possible name leak when device_register() fails
    scsi: hpsa: Fix possible memory leak in hpsa_add_sas_device()
    scsi: hpsa: Fix error handling in hpsa_add_sas_host()
    crypto: tcrypt - Fix multibuffer skcipher speed test mem leak
    scsi: hpsa: Fix possible memory leak in hpsa_init_one()
    scsi: hpsa: use local workqueues instead of system workqueues
    RDMA/rxe: Fix NULL-ptr-deref in rxe_qp_do_cleanup() when socket create failed
    crypto: ccree - Make cc_debugfs_global_fini() available for module init function
    RDMA/hfi: Decrease PCI device reference count in error path
  * PCI: Check for alloc failure in pci_request_irq()
      drivers/pci/irq.c
    scsi: scsi_debug: Fix a warning in resp_write_scat()
    RDMA/nldev: Return "-EAGAIN" if the cm_id isn't from expected port
  * f2fs: fix normal discard process
      fs/f2fs/segment.c
    apparmor: Fix abi check to include v8 abi
    apparmor: fix lockdep warning when removing a namespace
    apparmor: fix a memleak in multi_transaction_new()
    stmmac: fix potential division by 0
    Bluetooth: RFCOMM: don't call kfree_skb() under spin_lock_irqsave()
  * Bluetooth: hci_core: don't call kfree_skb() under spin_lock_irqsave()
      net/bluetooth/hci_core.c
    Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave()
    Bluetooth: hci_h5: don't call kfree_skb() under spin_lock_irqsave()
    Bluetooth: hci_qca: don't call kfree_skb() under spin_lock_irqsave()
    Bluetooth: btusb: don't call kfree_skb() under spin_lock_irqsave()
    ntb_netdev: Use dev_kfree_skb_any() in interrupt context
    net: lan9303: Fix read error execution path
    net: amd-xgbe: Check only the minimum speed for active/passive cables
    net: amd-xgbe: Fix logic around active and passive cables
    net: amd: lance: don't call dev_kfree_skb() under spin_lock_irqsave()
    hamradio: don't call dev_kfree_skb() under spin_lock_irqsave()
    net: ethernet: dnet: don't call dev_kfree_skb() under spin_lock_irqsave()
    net: emaclite: don't call dev_kfree_skb() under spin_lock_irqsave()
    net: apple: bmac: don't call dev_kfree_skb() under spin_lock_irqsave()
    net: apple: mace: don't call dev_kfree_skb() under spin_lock_irqsave()
  * net/tunnel: wait until all sk_user_data reader finish before releasing the sock
      net/ipv4/udp_tunnel.c
    net: farsync: Fix kmemleak when rmmods farsync
    ethernet: s2io: don't call dev_kfree_skb() under spin_lock_irqsave()
    drivers: net: qlcnic: Fix potential memory leak in qlcnic_sriov_init()
    net: defxx: Fix missing err handling in dfx_init()
    net: vmw_vsock: vmci: Check memcpy_from_msg()
    clk: socfpga: use clk_hw_register for a5/c5
    clk: socfpga: clk-pll: Remove unused variable 'rc'
  * blktrace: Fix output non-blktrace event when blk_classic option enabled
      kernel/trace/blktrace.c
    wifi: brcmfmac: Fix error return code in brcmf_sdio_download_firmware()
    rtl8xxxu: add enumeration for channel bandwidth
    wifi: rtl8xxxu: Add __packed to struct rtl8723bu_c2h
    clk: samsung: Fix memory leak in _samsung_clk_register_pll()
    media: coda: Add check for kmalloc
    media: coda: Add check for dcoda_iram_alloc
    media: c8sectpfe: Add of_node_put() when breaking out of loop
    mmc: mmci: fix return value check of mmc_add_host()
    mmc: wbsd: fix return value check of mmc_add_host()
    mmc: via-sdmmc: fix return value check of mmc_add_host()
    mmc: meson-gx: fix return value check of mmc_add_host()
    mmc: atmel-mci: fix return value check of mmc_add_host()
    mmc: wmt-sdmmc: fix return value check of mmc_add_host()
    mmc: vub300: fix return value check of mmc_add_host()
    mmc: toshsd: fix return value check of mmc_add_host()
    mmc: rtsx_usb_sdmmc: fix return value check of mmc_add_host()
    mmc: mxcmmc: fix return value check of mmc_add_host()
    mmc: moxart: fix return value check of mmc_add_host()
    NFSv4.x: Fail client initialisation if state manager thread can't run
    SUNRPC: Fix missing release socket in rpc_sockname()
    ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt
    media: saa7164: fix missing pci_disable_device()
  * regulator: core: fix module refcount leak in set_supply()
      drivers/regulator/core.c
  * wifi: cfg80211: Fix not unregister reg_pdev when load_builtin_regdb_keys() fails
      net/wireless/reg.c
  * bonding: uninitialized variable in bond_miimon_inspect()
      drivers/net/bonding/bond_main.c
    ASoC: pcm512x: Fix PM disable depth imbalance in pcm512x_probe
    drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios()
    drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios()
    ALSA: asihpi: fix missing pci_disable_device()
    NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn
    NFSv4.2: Fix a memory stomp in decode_attr_security_label
    drm/tegra: Add missing clk_disable_unprepare() in tegra_dc_probe()
    media: s5p-mfc: Add variant data for MFC v7 hardware for Exynos 3250 SoC
    media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()
    media: dvb-core: Fix ignored return value in dvb_register_frontend()
  * pinctrl: pinconf-generic: add missing of_node_put()
      drivers/pinctrl/pinconf-generic.c
    media: imon: fix a race condition in send_packet()
    drbd: remove call to memset before free device/resource/connection
    mtd: maps: pxa2xx-flash: fix memory leak in probe
  * bonding: Export skip slave logic to function
      drivers/net/bonding/bond_main.c
    clk: rockchip: Fix memory leak in rockchip_clk_register_pll()
  * ALSA: seq: fix undefined behavior in bit shift for SNDRV_SEQ_FILTER_USE_EVENT
      include/uapi/sound/asequencer.h
    HID: hid-sensor-custom: set fixed size for custom attributes
    media: platform: exynos4-is: Fix error handling in fimc_md_init()
    media: solo6x10: fix possible memory leak in solo_sysfs_init()
    Input: elants_i2c - properly handle the reset GPIO when power is off
    mtd: lpddr2_nvm: Fix possible null-ptr-deref
    wifi: ath10k: Fix return value in ath10k_pci_init()
    ima: Fix misuse of dereference of pointer in template_desc_init_fields()
  * regulator: core: fix unbalanced of node refcount in regulator_dev_lookup()
      drivers/regulator/core.c
    ASoC: pxa: fix null-pointer dereference in filter()
    drm/radeon: Add the missed acpi_put_table() to fix memory leak
  * net, proc: Provide PROC_FS=n fallback for proc_create_net_single_write()
      include/linux/proc_fs.h
    media: camss: Clean up received buffers on failed start of streaming
    wifi: rsi: Fix handling of 802.3 EAPOL frames sent via control port
    mtd: Fix device name leak when register device failed in add_mtd_device()
    media: vivid: fix compose size exceed boundary
    spi: Update reference to struct spi_controller
    can: kvaser_usb: Compare requested bittiming parameters with actual parameters in do_set_{,data}_bittiming
    can: kvaser_usb: Add struct kvaser_usb_busparams
    can: kvaser_usb_leaf: Fix bogus restart events
    can: kvaser_usb_leaf: Fix wrong CAN state after stopping
    can: kvaser_usb_leaf: Fix improved state not being reported
    can: kvaser_usb_leaf: Set Warning state even without bus errors
    can: kvaser_usb: kvaser_usb_leaf: Handle CMD_ERROR_EVENT
    can: kvaser_usb: kvaser_usb_leaf: Rename {leaf,usbcan}_cmd_error_event to {leaf,usbcan}_cmd_can_error_event
    can: kvaser_usb: kvaser_usb_leaf: Get capabilities from device
    can: kvaser_usb: do not increase tx statistics when sending error message frames
    media: i2c: ad5820: Fix error path
    pata_ipx4xx_cf: Fix unsigned comparison with less than zero
    wifi: rtl8xxxu: Fix reading the vendor of combo chips
    wifi: ath9k: hif_usb: Fix use-after-free in ath9k_hif_usb_reg_in_cb()
    wifi: ath9k: hif_usb: fix memory leak of urbs in ath9k_hif_usb_dealloc_tx_urbs()
    rapidio: devices: fix missing put_device in mport_cdev_open
    hfs: Fix OOB Write in hfs_asc2mac
    relay: fix type mismatch when allocating memory in relay_create_buf()
  * eventfd: change int to __u64 in eventfd_signal() ifndef CONFIG_EVENTFD
      include/linux/eventfd.h
    rapidio: fix possible UAF when kfifo_alloc() fails
    fs: sysv: Fix sysv_nblocks() returns wrong value
    MIPS: BCM63xx: Add check for NULL for clk in clk_enable
    platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]()
  * PM: runtime: Do not call __rpm_callback() from rpm_idle()
      drivers/base/power/runtime.c
  * PM: runtime: Improve path in rpm_idle() when no callback
      drivers/base/power/runtime.c
    xen/privcmd: Fix a possible warning in privcmd_ioctl_mmap_resource()
    x86/xen: Fix memory leak in xen_init_lock_cpu()
    x86/xen: Fix memory leak in xen_smp_intr_init{_pv}()
    xen/events: only register debug interrupt for 2-level events
    uprobes/x86: Allow to probe a NOP instruction with 0x66 prefix
    ACPICA: Fix use-after-free in acpi_ut_copy_ipackage_to_ipackage()
    clocksource/drivers/sh_cmt: Make sure channel clock supply is enabled
    rapidio: rio: fix possible name leak in rio_register_mport()
    rapidio: fix possible name leaks when rio_add_device() fails
  * debugfs: fix error when writing negative value to atomic_t debugfs file
      fs/debugfs/file.c
      include/linux/debugfs.h
    lib/notifier-error-inject: fix error when writing -errno to debugfs file
  * libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value
      fs/libfs.c
      include/linux/fs.h
    cpufreq: amd_freq_sensitivity: Add missing pci_dev_put()
    irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe()
    perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox()
    PNP: fix name memory leak in pnp_alloc_dev()
    MIPS: vpe-cmp: fix possible memory leak while module exiting
    MIPS: vpe-mt: fix possible memory leak while module exiting
    ocfs2: fix memory leak in ocfs2_stack_glue_init()
    proc: fixup uptime selftest
  * timerqueue: Use rb_entry_safe() in timerqueue_getnext()
      include/linux/timerqueue.h
  * perf: Fix possible memleak in pmu_dev_alloc()
      kernel/events/core.c
    selftests/ftrace: event_triggers: wait longer for test_event_enable
  * fs: don't audit the capability check in simple_xattr_list()
      fs/xattr.c
    alpha: fix syscall entry in !AUDUT_SYSCALL case
  * cpuidle: dt: Return the correct numbers of parsed idle states
      drivers/cpuidle/dt_idle_states.c
    tpm/tpm_crb: Fix error message in __crb_relinquish_locality()
  * pstore: Avoid kcore oops by vmap()ing with VM_IOREMAP
      fs/pstore/ram_core.c
    ARM: mmp: fix timer_read delay
  * pstore/ram: Fix error return code in ramoops_probe()
      fs/pstore/ram.c
    ARM: dts: turris-omnia: Add switch port 6 node
    ARM: dts: turris-omnia: Add ethernet aliases
    ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port
    ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port
    ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port
    ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port
    ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port
    ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port
    arm64: dts: mediatek: mt6797: Fix 26M oscillator unit name
    arm64: dts: mt2712-evb: Fix vproc fixed regulators unit names
    arm64: dts: mt2712e: Fix unit address for pinctrl node
    arm64: dts: mt2712e: Fix unit_address_vs_reg warning for oscillators
    perf: arm_dsu: Fix hotplug callback leak in dsu_pmu_init()
    soc: ti: smartreflex: Fix PM disable depth imbalance in omap_sr_probe
    arm: dts: spear600: Fix clcd interrupt
    drivers: soc: ti: knav_qmss_queue: Mark knav_acc_firmwares as static
    ARM: dts: qcom: apq8064: fix coresight compatible
    usb: musb: remove extra check in musb_gadget_vbus_draw
  * net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
      drivers/net/loopback.c
  * Bluetooth: L2CAP: Fix u8 overflow
      net/bluetooth/l2cap_core.c
    igb: Initialize mailbox message for VF reset
    USB: serial: f81534: fix division by zero on line-speed change
    USB: serial: cp210x: add Kamstrup RF sniffer PIDs
    USB: serial: option: add Quectel EM05-G modem
    usb: gadget: uvc: Prevent buffer overflow in setup handler
    udf: Fix extending file within last block
    udf: Do not bother looking for prealloc extents if i_lenExtents matches i_size
    udf: Fix preallocation discarding at indirect extent boundary
    udf: Discard preallocation before extending file with a hole
    perf script python: Remove explicit shebang from tests/attr.c
  * ASoC: ops: Correct bounds check for second channel on SX controls
      sound/soc/soc-ops.c
    can: mcba_usb: Fix termination command argument
  * can: sja1000: fix size of OCR_MODE_MASK define
      include/linux/can/platform/sja1000.h
    pinctrl: meditatek: Startup with the IRQs disabled
  * ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx()
      sound/soc/soc-ops.c
    nfp: fix use-after-free in area_cache_get()
  * block: unhash blkdev part inode when the part is deleted
      block/partition-generic.c
    mm/khugepaged: invoke MMU notifiers in shmem/file collapse paths
  * mm/khugepaged: fix GUP-fast interaction by sending IPI
      include/asm-generic/tlb.h
      mm/memory.c
    ANDROID: Add more hvc devices for virtio-console.
    ANDROID: Add allowed symbols required from Qualcomm drivers
  * BACKPORT: lib: introduce copy_struct_from_user() helper
      include/linux/bitops.h
      include/linux/uaccess.h
      lib/strnlen_user.c
      lib/usercopy.c
  * ANDROID: fix BIT() redefinition
      include/linux/bits.h
      include/vdso/bits.h

Bug: 268137599
Change-Id: I1ae5c7cfdd0387ced375d87341327c27bd3ae454
Signed-off-by: JohnnLee <johnnlee@google.com>
2023-02-20 03:23:16 +00:00
Greg Kroah-Hartman
c97f22d970 Merge 4.19.272 into android-4.19-stable
Changes in 4.19.272
	ARM: dts: imx6qdl-gw560x: Remove incorrect 'uart-has-rtscts'
	HID: intel_ish-hid: Add check for ishtp_dma_tx_map
	EDAC/highbank: Fix memory leak in highbank_mc_probe()
	tomoyo: fix broken dependency on *.conf.default
	IB/hfi1: Reject a zero-length user expected buffer
	IB/hfi1: Reserve user expected TIDs
	IB/hfi1: Fix expected receive setup error exit issues
	affs: initialize fsdata in affs_truncate()
	amd-xgbe: TX Flow Ctrl Registers are h/w ver dependent
	amd-xgbe: Delay AN timeout during KR training
	bpf: Fix pointer-leak due to insufficient speculative store bypass mitigation
	phy: rockchip-inno-usb2: Fix missing clk_disable_unprepare() in rockchip_usb2phy_power_on()
	net: nfc: Fix use-after-free in local_cleanup()
	wifi: rndis_wlan: Prevent buffer overflow in rndis_query_oid
	net: usb: sr9700: Handle negative len
	net: mdio: validate parameter addr in mdiobus_get_phy()
	HID: check empty report_list in hid_validate_values()
	usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait
	usb: gadget: f_fs: Ensure ep0req is dequeued before free_request
	net: mlx5: eliminate anonymous module_init & module_exit
	dmaengine: Fix double increment of client_count in dma_chan_get()
	net: macb: fix PTP TX timestamp failure due to packet padding
	HID: betop: check shape of output reports
	dmaengine: xilinx_dma: commonize DMA copy size calculation
	dmaengine: xilinx_dma: program hardware supported buffer length
	dmaengine: xilinx_dma: Fix devm_platform_ioremap_resource error handling
	dmaengine: xilinx_dma: call of_node_put() when breaking out of for_each_child_of_node()
	tcp: avoid the lookup process failing to get sk in ehash table
	w1: fix deadloop in __w1_remove_master_device()
	w1: fix WARNING after calling w1_process()
	netfilter: conntrack: do not renew entry stuck in tcp SYN_SENT state
	block: fix and cleanup bio_check_ro
	perf env: Do not return pointers to local variables
	fs: reiserfs: remove useless new_opts in reiserfs_remount
	Bluetooth: hci_sync: cancel cmd_timer if hci_open failed
	scsi: hpsa: Fix allocation size for scsi_host_alloc()
	module: Don't wait for GOING modules
	tracing: Make sure trace_printk() can output as soon as it can be used
	trace_events_hist: add check for return value of 'create_hist_field'
	smbd: Make upper layer decide when to destroy the transport
	cifs: Fix oops due to uncleared server->smbd_conn in reconnect
	ARM: 9280/1: mm: fix warning on phys_addr_t to void pointer assignment
	EDAC/device: Respect any driver-supplied workqueue polling value
	net: fix UaF in netns ops registration error path
	netfilter: nft_set_rbtree: skip elements in transaction from garbage collection
	netlink: remove hash::nelems check in netlink_insert
	netlink: annotate data races around nlk->portid
	netlink: annotate data races around dst_portid and dst_group
	netlink: annotate data races around sk_state
	ipv4: prevent potential spectre v1 gadget in ip_metrics_convert()
	netfilter: conntrack: fix vtag checks for ABORT/SHUTDOWN_COMPLETE
	netrom: Fix use-after-free of a listening socket.
	sctp: fail if no bound addresses can be used for a given scope
	net: ravb: Fix possible hang if RIS2_QFF1 happen
	net/tg3: resolve deadlock in tg3_reset_task() during EEH
	Revert "Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI mode"
	x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL
	drm/i915/display: fix compiler warning about array overrun
	x86/asm: Fix an assembler warning with current binutils
	x86/entry/64: Add instruction suffix to SYSRET
	ARM: dts: imx: Fix pca9547 i2c-mux node name
	dmaengine: imx-sdma: Fix a possible memory leak in sdma_transfer_init
	sysctl: add a new register_sysctl_init() interface
	panic: unset panic_on_warn inside panic()
	exit: Add and use make_task_dead.
	objtool: Add a missing comma to avoid string concatenation
	hexagon: Fix function name in die()
	h8300: Fix build errors from do_exit() to make_task_dead() transition
	ia64: make IA64_MCA_RECOVERY bool instead of tristate
	exit: Put an upper limit on how often we can oops
	exit: Expose "oops_count" to sysfs
	exit: Allow oops_limit to be disabled
	panic: Consolidate open-coded panic_on_warn checks
	panic: Introduce warn_limit
	panic: Expose "warn_count" to sysfs
	docs: Fix path paste-o for /sys/kernel/warn_count
	exit: Use READ_ONCE() for all oops/warn limit reads
	ipv6: ensure sane device mtu in tunnels
	usb: host: xhci-plat: add wakeup entry at sysfs
	Linux 4.19.272

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4f9ddce1e108e81409d47e00fdeef2bc0d34f793
2023-02-06 08:16:47 +01:00
Udipto Goswami
bf7ddf96c1 usb: gadget: f_fs: Ensure ep0req is dequeued before free_request
[ Upstream commit ce405d561b020e5a46340eb5146805a625dcacee ]

As per the documentation, function usb_ep_free_request guarantees
the request will not be queued or no longer be re-queued (or
otherwise used). However, with the current implementation it
doesn't make sure that the request in ep0 isn't reused.

Fix this by dequeuing the ep0req on functionfs_unbind before
freeing the request to align with the definition.

Fixes: ddf8abd259 ("USB: f_fs: the FunctionFS driver")
Signed-off-by: Udipto Goswami <quic_ugoswami@quicinc.com>
Tested-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Link: https://lore.kernel.org/r/20221215052906.8993-3-quic_ugoswami@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-02-06 07:49:39 +01:00
Udipto Goswami
e9036e951f usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait
[ Upstream commit 6a19da111057f69214b97c62fb0ac59023970850 ]

While performing fast composition switch, there is a possibility that the
process of ffs_ep0_write/ffs_ep0_read get into a race condition
due to ep0req being freed up from functionfs_unbind.

Consider the scenario that the ffs_ep0_write calls the ffs_ep0_queue_wait
by taking a lock &ffs->ev.waitq.lock. However, the functionfs_unbind isn't
bounded so it can go ahead and mark the ep0req to NULL, and since there
is no NULL check in ffs_ep0_queue_wait we will end up in use-after-free.

Fix this by making a serialized execution between the two functions using
a mutex_lock(ffs->mutex).

Fixes: ddf8abd259 ("USB: f_fs: the FunctionFS driver")
Signed-off-by: Udipto Goswami <quic_ugoswami@quicinc.com>
Tested-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Link: https://lore.kernel.org/r/20221215052906.8993-2-quic_ugoswami@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-02-06 07:49:39 +01:00
JohnnLee
ffec99e9b1 Merge branch 'LA.UM.9.12.C10.11.00.00.840.478' via branch 'qcom-msm-4.19-7250' into android-msm-pixel-4.19
Conflicts:
	arch/arm64/include/asm/assembler.h
	arch/arm64/include/asm/cpufeature.h
	arch/arm64/include/asm/kvm_mmu.h
	arch/arm64/kernel/cpu_errata.c
	arch/arm64/kernel/cpufeature.c
	arch/arm64/kernel/entry.S
	arch/arm64/kvm/hyp/hyp-entry.S
	arch/arm64/mm/mmu.c
	drivers/net/usb/ax88179_178a.c
	drivers/soc/qcom/scm.c
	drivers/soc/qcom/socinfo.c
	drivers/usb/gadget/function/f_fs.c
	include/linux/arm-smccc.h

Bug: 261541074
Change-Id: I7f46738f04f5c301487dc92db5c5fa808d99bc79
Signed-off-by: JohnnLee <johnnlee@google.com>
2023-02-01 11:14:50 +08:00
Greg Kroah-Hartman
9621487ff4 Merge 4.19.271 into android-4.19-stable
Changes in 4.19.271
	pNFS/filelayout: Fix coalescing test for single DS
	net/ethtool/ioctl: return -EOPNOTSUPP if we have no phy stats
	RDMA/srp: Move large values to a new enum for gcc13
	f2fs: let's avoid panic if extent_tree is not created
	Add exception protection processing for vd in axi_chan_handle_err function
	nilfs2: fix general protection fault in nilfs_btree_insert()
	xhci-pci: set the dma max_seg_size
	usb: xhci: Check endpoint is valid before dereferencing it
	xhci: Fix null pointer dereference when host dies
	xhci: Add a flag to disable USB3 lpm on a xhci root port level.
	prlimit: do_prlimit needs to have a speculation check
	USB: serial: option: add Quectel EM05-G (GR) modem
	USB: serial: option: add Quectel EM05-G (CS) modem
	USB: serial: option: add Quectel EM05-G (RS) modem
	USB: serial: option: add Quectel EC200U modem
	USB: serial: option: add Quectel EM05CN (SG) modem
	USB: serial: option: add Quectel EM05CN modem
	USB: misc: iowarrior: fix up header size for USB_DEVICE_ID_CODEMERCS_IOW100
	usb: core: hub: disable autosuspend for TI TUSB8041
	comedi: adv_pci1760: Fix PWM instruction handling
	mmc: sunxi-mmc: Fix clock refcount imbalance during unbind
	cifs: do not include page data when checking signature
	USB: serial: cp210x: add SCALANCE LPE-9000 device id
	usb: host: ehci-fsl: Fix module alias
	usb: typec: altmodes/displayport: Add pin assignment helper
	usb: typec: altmodes/displayport: Fix pin assignment calculation
	usb: gadget: g_webcam: Send color matching descriptor per frame
	usb: gadget: f_ncm: fix potential NULL ptr deref in ncm_bitrate()
	usb-storage: apply IGNORE_UAS only for HIKSEMI MD202 on RTL9210
	serial: pch_uart: Pass correct sg to dma_unmap_sg()
	serial: atmel: fix incorrect baudrate setup
	gsmi: fix null-deref in gsmi_get_variable
	Revert "ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline"
	Revert "ext4: fix reserved cluster accounting at delayed write time"
	Revert "ext4: add new pending reservation mechanism"
	Revert "ext4: generalize extents status tree search functions"
	x86/fpu: Use _Alignof to avoid undefined behavior in TYPE_ALIGN
	Linux 4.19.271

Change-Id: I4671da1d3451f065227129f08352c71aea37c854
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-01-25 15:54:39 +00:00
Maciej Żenczykowski
63d161f29c usb: gadget: f_ncm: fix potential NULL ptr deref in ncm_bitrate()
commit c6ec929595c7443250b2a4faea988c62019d5cd2 upstream.

In Google internal bug 265639009 we've received an (as yet) unreproducible
crash report from an aarch64 GKI 5.10.149-android13 running device.

AFAICT the source code is at:
  https://android.googlesource.com/kernel/common/+/refs/tags/ASB-2022-12-05_13-5.10

The call stack is:
  ncm_close() -> ncm_notify() -> ncm_do_notify()
with the crash at:
  ncm_do_notify+0x98/0x270
Code: 79000d0b b9000a6c f940012a f9400269 (b9405d4b)

Which I believe disassembles to (I don't know ARM assembly, but it looks sane enough to me...):

  // halfword (16-bit) store presumably to event->wLength (at offset 6 of struct usb_cdc_notification)
  0B 0D 00 79    strh w11, [x8, #6]

  // word (32-bit) store presumably to req->Length (at offset 8 of struct usb_request)
  6C 0A 00 B9    str  w12, [x19, #8]

  // x10 (NULL) was read here from offset 0 of valid pointer x9
  // IMHO we're reading 'cdev->gadget' and getting NULL
  // gadget is indeed at offset 0 of struct usb_composite_dev
  2A 01 40 F9    ldr  x10, [x9]

  // loading req->buf pointer, which is at offset 0 of struct usb_request
  69 02 40 F9    ldr  x9, [x19]

  // x10 is null, crash, appears to be attempt to read cdev->gadget->max_speed
  4B 5D 40 B9    ldr  w11, [x10, #0x5c]

which seems to line up with ncm_do_notify() case NCM_NOTIFY_SPEED code fragment:

  event->wLength = cpu_to_le16(8);
  req->length = NCM_STATUS_BYTECOUNT;

  /* SPEED_CHANGE data is up/down speeds in bits/sec */
  data = req->buf + sizeof *event;
  data[0] = cpu_to_le32(ncm_bitrate(cdev->gadget));

My analysis of registers and NULL ptr deref crash offset
  (Unable to handle kernel NULL pointer dereference at virtual address 000000000000005c)
heavily suggests that the crash is due to 'cdev->gadget' being NULL when executing:
  data[0] = cpu_to_le32(ncm_bitrate(cdev->gadget));
which calls:
  ncm_bitrate(NULL)
which then calls:
  gadget_is_superspeed(NULL)
which reads
  ((struct usb_gadget *)NULL)->max_speed
and hits a panic.

AFAICT, if I'm counting right, the offset of max_speed is indeed 0x5C.
(remember there's a GKI KABI reservation of 16 bytes in struct work_struct)

It's not at all clear to me how this is all supposed to work...
but returning 0 seems much better than panic-ing...

Cc: Felipe Balbi <balbi@kernel.org>
Cc: Lorenzo Colitti <lorenzo@google.com>
Cc: Carlos Llamas <cmllamas@google.com>
Cc: stable@vger.kernel.org
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Cc: stable <stable@kernel.org>
Link: https://lore.kernel.org/r/20230117131839.1138208-1-maze@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-01-24 07:11:50 +01:00
Lee Jones
70227f90ff ANDROID: usb: f_accessory: Check buffer size when initialised via composite
When communicating with accessory devices via USBFS, the initialisation
call-stack looks like:

  ConfigFS > Gadget ConfigFS > UDC > Gadget ConfigFS > Composite

Eventually ending up in composite_dev_prepare() where memory for the
data buffer is allocated and initialised.  The default size used for the
allocation is USB_COMP_EP0_BUFSIZ (4k).  When handling bulk transfers,
acc_ctrlrequest() needs to be able to handle buffers up to
BULK_BUFFER_SIZE (16k).  Instead of adding new generic attributes to
'struct usb_request' to track the size of the allocated buffer, we can
simply split off the affected thread of execution to travel via a
knowledgeable abstracted function acc_ctrlrequest_composite() where we
can complete the necessary specific checks.

Bug: 264029575
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Ia1280f85499621d3fa57f7262b4a2c80f4be7773
Signed-off-by: Lee Jones <joneslee@google.com>
2023-01-23 10:56:00 +00:00
Greg Kroah-Hartman
f66335a3cf Merge 4.19.270 into android-4.19-stable
Changes in 4.19.270
	mm/khugepaged: fix GUP-fast interaction by sending IPI
	mm/khugepaged: invoke MMU notifiers in shmem/file collapse paths
	block: unhash blkdev part inode when the part is deleted
	nfp: fix use-after-free in area_cache_get()
	ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx()
	pinctrl: meditatek: Startup with the IRQs disabled
	can: sja1000: fix size of OCR_MODE_MASK define
	can: mcba_usb: Fix termination command argument
	ASoC: ops: Correct bounds check for second channel on SX controls
	perf script python: Remove explicit shebang from tests/attr.c
	udf: Discard preallocation before extending file with a hole
	udf: Fix preallocation discarding at indirect extent boundary
	udf: Do not bother looking for prealloc extents if i_lenExtents matches i_size
	udf: Fix extending file within last block
	usb: gadget: uvc: Prevent buffer overflow in setup handler
	USB: serial: option: add Quectel EM05-G modem
	USB: serial: cp210x: add Kamstrup RF sniffer PIDs
	USB: serial: f81534: fix division by zero on line-speed change
	igb: Initialize mailbox message for VF reset
	Bluetooth: L2CAP: Fix u8 overflow
	net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
	usb: musb: remove extra check in musb_gadget_vbus_draw
	ARM: dts: qcom: apq8064: fix coresight compatible
	drivers: soc: ti: knav_qmss_queue: Mark knav_acc_firmwares as static
	arm: dts: spear600: Fix clcd interrupt
	soc: ti: smartreflex: Fix PM disable depth imbalance in omap_sr_probe
	perf: arm_dsu: Fix hotplug callback leak in dsu_pmu_init()
	arm64: dts: mt2712e: Fix unit_address_vs_reg warning for oscillators
	arm64: dts: mt2712e: Fix unit address for pinctrl node
	arm64: dts: mt2712-evb: Fix vproc fixed regulators unit names
	arm64: dts: mediatek: mt6797: Fix 26M oscillator unit name
	ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port
	ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port
	ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port
	ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port
	ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port
	ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port
	ARM: dts: turris-omnia: Add ethernet aliases
	ARM: dts: turris-omnia: Add switch port 6 node
	pstore/ram: Fix error return code in ramoops_probe()
	ARM: mmp: fix timer_read delay
	pstore: Avoid kcore oops by vmap()ing with VM_IOREMAP
	tpm/tpm_crb: Fix error message in __crb_relinquish_locality()
	cpuidle: dt: Return the correct numbers of parsed idle states
	alpha: fix syscall entry in !AUDUT_SYSCALL case
	fs: don't audit the capability check in simple_xattr_list()
	selftests/ftrace: event_triggers: wait longer for test_event_enable
	perf: Fix possible memleak in pmu_dev_alloc()
	timerqueue: Use rb_entry_safe() in timerqueue_getnext()
	proc: fixup uptime selftest
	ocfs2: fix memory leak in ocfs2_stack_glue_init()
	MIPS: vpe-mt: fix possible memory leak while module exiting
	MIPS: vpe-cmp: fix possible memory leak while module exiting
	PNP: fix name memory leak in pnp_alloc_dev()
	perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox()
	irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe()
	cpufreq: amd_freq_sensitivity: Add missing pci_dev_put()
	libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value
	lib/notifier-error-inject: fix error when writing -errno to debugfs file
	debugfs: fix error when writing negative value to atomic_t debugfs file
	rapidio: fix possible name leaks when rio_add_device() fails
	rapidio: rio: fix possible name leak in rio_register_mport()
	clocksource/drivers/sh_cmt: Make sure channel clock supply is enabled
	ACPICA: Fix use-after-free in acpi_ut_copy_ipackage_to_ipackage()
	uprobes/x86: Allow to probe a NOP instruction with 0x66 prefix
	xen/events: only register debug interrupt for 2-level events
	x86/xen: Fix memory leak in xen_smp_intr_init{_pv}()
	x86/xen: Fix memory leak in xen_init_lock_cpu()
	xen/privcmd: Fix a possible warning in privcmd_ioctl_mmap_resource()
	PM: runtime: Improve path in rpm_idle() when no callback
	PM: runtime: Do not call __rpm_callback() from rpm_idle()
	platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]()
	MIPS: BCM63xx: Add check for NULL for clk in clk_enable
	fs: sysv: Fix sysv_nblocks() returns wrong value
	rapidio: fix possible UAF when kfifo_alloc() fails
	eventfd: change int to __u64 in eventfd_signal() ifndef CONFIG_EVENTFD
	relay: fix type mismatch when allocating memory in relay_create_buf()
	hfs: Fix OOB Write in hfs_asc2mac
	rapidio: devices: fix missing put_device in mport_cdev_open
	wifi: ath9k: hif_usb: fix memory leak of urbs in ath9k_hif_usb_dealloc_tx_urbs()
	wifi: ath9k: hif_usb: Fix use-after-free in ath9k_hif_usb_reg_in_cb()
	wifi: rtl8xxxu: Fix reading the vendor of combo chips
	pata_ipx4xx_cf: Fix unsigned comparison with less than zero
	media: i2c: ad5820: Fix error path
	can: kvaser_usb: do not increase tx statistics when sending error message frames
	can: kvaser_usb: kvaser_usb_leaf: Get capabilities from device
	can: kvaser_usb: kvaser_usb_leaf: Rename {leaf,usbcan}_cmd_error_event to {leaf,usbcan}_cmd_can_error_event
	can: kvaser_usb: kvaser_usb_leaf: Handle CMD_ERROR_EVENT
	can: kvaser_usb_leaf: Set Warning state even without bus errors
	can: kvaser_usb_leaf: Fix improved state not being reported
	can: kvaser_usb_leaf: Fix wrong CAN state after stopping
	can: kvaser_usb_leaf: Fix bogus restart events
	can: kvaser_usb: Add struct kvaser_usb_busparams
	can: kvaser_usb: Compare requested bittiming parameters with actual parameters in do_set_{,data}_bittiming
	spi: Update reference to struct spi_controller
	media: vivid: fix compose size exceed boundary
	mtd: Fix device name leak when register device failed in add_mtd_device()
	wifi: rsi: Fix handling of 802.3 EAPOL frames sent via control port
	media: camss: Clean up received buffers on failed start of streaming
	net, proc: Provide PROC_FS=n fallback for proc_create_net_single_write()
	drm/radeon: Add the missed acpi_put_table() to fix memory leak
	ASoC: pxa: fix null-pointer dereference in filter()
	regulator: core: fix unbalanced of node refcount in regulator_dev_lookup()
	ima: Fix misuse of dereference of pointer in template_desc_init_fields()
	wifi: ath10k: Fix return value in ath10k_pci_init()
	mtd: lpddr2_nvm: Fix possible null-ptr-deref
	Input: elants_i2c - properly handle the reset GPIO when power is off
	media: solo6x10: fix possible memory leak in solo_sysfs_init()
	media: platform: exynos4-is: Fix error handling in fimc_md_init()
	HID: hid-sensor-custom: set fixed size for custom attributes
	ALSA: seq: fix undefined behavior in bit shift for SNDRV_SEQ_FILTER_USE_EVENT
	clk: rockchip: Fix memory leak in rockchip_clk_register_pll()
	bonding: Export skip slave logic to function
	mtd: maps: pxa2xx-flash: fix memory leak in probe
	drbd: remove call to memset before free device/resource/connection
	media: imon: fix a race condition in send_packet()
	pinctrl: pinconf-generic: add missing of_node_put()
	media: dvb-core: Fix ignored return value in dvb_register_frontend()
	media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()
	media: s5p-mfc: Add variant data for MFC v7 hardware for Exynos 3250 SoC
	drm/tegra: Add missing clk_disable_unprepare() in tegra_dc_probe()
	NFSv4.2: Fix a memory stomp in decode_attr_security_label
	NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn
	ALSA: asihpi: fix missing pci_disable_device()
	drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios()
	drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios()
	ASoC: pcm512x: Fix PM disable depth imbalance in pcm512x_probe
	bonding: uninitialized variable in bond_miimon_inspect()
	wifi: cfg80211: Fix not unregister reg_pdev when load_builtin_regdb_keys() fails
	regulator: core: fix module refcount leak in set_supply()
	media: saa7164: fix missing pci_disable_device()
	ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt
	SUNRPC: Fix missing release socket in rpc_sockname()
	NFSv4.x: Fail client initialisation if state manager thread can't run
	mmc: moxart: fix return value check of mmc_add_host()
	mmc: mxcmmc: fix return value check of mmc_add_host()
	mmc: rtsx_usb_sdmmc: fix return value check of mmc_add_host()
	mmc: toshsd: fix return value check of mmc_add_host()
	mmc: vub300: fix return value check of mmc_add_host()
	mmc: wmt-sdmmc: fix return value check of mmc_add_host()
	mmc: atmel-mci: fix return value check of mmc_add_host()
	mmc: meson-gx: fix return value check of mmc_add_host()
	mmc: via-sdmmc: fix return value check of mmc_add_host()
	mmc: wbsd: fix return value check of mmc_add_host()
	mmc: mmci: fix return value check of mmc_add_host()
	media: c8sectpfe: Add of_node_put() when breaking out of loop
	media: coda: Add check for dcoda_iram_alloc
	media: coda: Add check for kmalloc
	clk: samsung: Fix memory leak in _samsung_clk_register_pll()
	wifi: rtl8xxxu: Add __packed to struct rtl8723bu_c2h
	rtl8xxxu: add enumeration for channel bandwidth
	wifi: brcmfmac: Fix error return code in brcmf_sdio_download_firmware()
	blktrace: Fix output non-blktrace event when blk_classic option enabled
	clk: socfpga: clk-pll: Remove unused variable 'rc'
	clk: socfpga: use clk_hw_register for a5/c5
	net: vmw_vsock: vmci: Check memcpy_from_msg()
	net: defxx: Fix missing err handling in dfx_init()
	drivers: net: qlcnic: Fix potential memory leak in qlcnic_sriov_init()
	ethernet: s2io: don't call dev_kfree_skb() under spin_lock_irqsave()
	net: farsync: Fix kmemleak when rmmods farsync
	net/tunnel: wait until all sk_user_data reader finish before releasing the sock
	net: apple: mace: don't call dev_kfree_skb() under spin_lock_irqsave()
	net: apple: bmac: don't call dev_kfree_skb() under spin_lock_irqsave()
	net: emaclite: don't call dev_kfree_skb() under spin_lock_irqsave()
	net: ethernet: dnet: don't call dev_kfree_skb() under spin_lock_irqsave()
	hamradio: don't call dev_kfree_skb() under spin_lock_irqsave()
	net: amd: lance: don't call dev_kfree_skb() under spin_lock_irqsave()
	net: amd-xgbe: Fix logic around active and passive cables
	net: amd-xgbe: Check only the minimum speed for active/passive cables
	net: lan9303: Fix read error execution path
	ntb_netdev: Use dev_kfree_skb_any() in interrupt context
	Bluetooth: btusb: don't call kfree_skb() under spin_lock_irqsave()
	Bluetooth: hci_qca: don't call kfree_skb() under spin_lock_irqsave()
	Bluetooth: hci_h5: don't call kfree_skb() under spin_lock_irqsave()
	Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave()
	Bluetooth: hci_core: don't call kfree_skb() under spin_lock_irqsave()
	Bluetooth: RFCOMM: don't call kfree_skb() under spin_lock_irqsave()
	stmmac: fix potential division by 0
	apparmor: fix a memleak in multi_transaction_new()
	apparmor: fix lockdep warning when removing a namespace
	apparmor: Fix abi check to include v8 abi
	f2fs: fix normal discard process
	RDMA/nldev: Return "-EAGAIN" if the cm_id isn't from expected port
	scsi: scsi_debug: Fix a warning in resp_write_scat()
	PCI: Check for alloc failure in pci_request_irq()
	RDMA/hfi: Decrease PCI device reference count in error path
	crypto: ccree - Make cc_debugfs_global_fini() available for module init function
	RDMA/rxe: Fix NULL-ptr-deref in rxe_qp_do_cleanup() when socket create failed
	scsi: hpsa: use local workqueues instead of system workqueues
	scsi: hpsa: Fix possible memory leak in hpsa_init_one()
	crypto: tcrypt - Fix multibuffer skcipher speed test mem leak
	scsi: hpsa: Fix error handling in hpsa_add_sas_host()
	scsi: hpsa: Fix possible memory leak in hpsa_add_sas_device()
	scsi: fcoe: Fix possible name leak when device_register() fails
	scsi: ipr: Fix WARNING in ipr_init()
	scsi: fcoe: Fix transport not deattached when fcoe_if_init() fails
	scsi: snic: Fix possible UAF in snic_tgt_create()
	RDMA/hfi1: Fix error return code in parse_platform_config()
	orangefs: Fix sysfs not cleanup when dev init failed
	crypto: img-hash - Fix variable dereferenced before check 'hdev->req'
	hwrng: amd - Fix PCI device refcount leak
	hwrng: geode - Fix PCI device refcount leak
	IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces
	drivers: dio: fix possible memory leak in dio_init()
	serial: tegra: avoid reg access when clk disabled
	serial: tegra: check for FIFO mode enabled status
	serial: tegra: set maximum num of uart ports to 8
	serial: tegra: add support to use 8 bytes trigger
	serial: tegra: add support to adjust baud rate
	serial: tegra: report clk rate errors
	serial: tegra: Add PIO mode support
	tty: serial: tegra: Activate RX DMA transfer by request
	serial: tegra: Read DMA status before terminating
	class: fix possible memory leak in __class_register()
	vfio: platform: Do not pass return buffer to ACPI _RST method
	uio: uio_dmem_genirq: Fix missing unlock in irq configuration
	uio: uio_dmem_genirq: Fix deadlock between irq config and handling
	usb: fotg210-udc: Fix ages old endianness issues
	staging: vme_user: Fix possible UAF in tsi148_dma_list_add
	usb: typec: Check for ops->exit instead of ops->enter in altmode_exit
	serial: amba-pl011: avoid SBSA UART accessing DMACR register
	serial: pl011: Do not clear RX FIFO & RX interrupt in unthrottle.
	serial: pch: Fix PCI device refcount leak in pch_request_dma()
	tty: serial: clean up stop-tx part in altera_uart_tx_chars()
	tty: serial: altera_uart_{r,t}x_chars() need only uart_port
	serial: altera_uart: fix locking in polling mode
	serial: sunsab: Fix error handling in sunsab_init()
	test_firmware: fix memory leak in test_firmware_init()
	misc: tifm: fix possible memory leak in tifm_7xx1_switch_media()
	misc: sgi-gru: fix use-after-free error in gru_set_context_option, gru_fault and gru_handle_user_call_os
	cxl: fix possible null-ptr-deref in cxl_guest_init_afu|adapter()
	cxl: fix possible null-ptr-deref in cxl_pci_init_afu|adapter()
	usb: gadget: f_hid: optional SETUP/SET_REPORT mode
	usb: gadget: f_hid: fix f_hidg lifetime vs cdev
	usb: gadget: f_hid: fix refcount leak on error path
	drivers: mcb: fix resource leak in mcb_probe()
	mcb: mcb-parse: fix error handing in chameleon_parse_gdd()
	chardev: fix error handling in cdev_device_add()
	i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe
	staging: rtl8192u: Fix use after free in ieee80211_rx()
	staging: rtl8192e: Fix potential use-after-free in rtllib_rx_Monitor()
	vme: Fix error not catched in fake_init()
	i2c: ismt: Fix an out-of-bounds bug in ismt_access()
	usb: storage: Add check for kcalloc
	tracing/hist: Fix issue of losting command info in error_log
	samples: vfio-mdev: Fix missing pci_disable_device() in mdpy_fb_probe()
	fbdev: ssd1307fb: Drop optional dependency
	fbdev: pm2fb: fix missing pci_disable_device()
	fbdev: via: Fix error in via_core_init()
	fbdev: vermilion: decrease reference count in error path
	fbdev: uvesafb: Fixes an error handling path in uvesafb_probe()
	HSI: omap_ssi_core: fix unbalanced pm_runtime_disable()
	HSI: omap_ssi_core: fix possible memory leak in ssi_probe()
	power: supply: fix residue sysfs file in error handle route of __power_supply_register()
	perf symbol: correction while adjusting symbol
	HSI: omap_ssi_core: Fix error handling in ssi_init()
	include/uapi/linux/swab: Fix potentially missing __always_inline
	rtc: snvs: Allow a time difference on clock register read
	iommu/amd: Fix pci device refcount leak in ppr_notifier()
	iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe()
	macintosh: fix possible memory leak in macio_add_one_device()
	macintosh/macio-adb: check the return value of ioremap()
	powerpc/52xx: Fix a resource leak in an error handling path
	cxl: Fix refcount leak in cxl_calc_capp_routing
	powerpc/xive: add missing iounmap() in error path in xive_spapr_populate_irq_data()
	powerpc/perf: callchain validate kernel stack pointer bounds
	powerpc/83xx/mpc832x_rdb: call platform_device_put() in error case in of_fsl_spi_probe()
	powerpc/hv-gpci: Fix hv_gpci event list
	selftests/powerpc: Fix resource leaks
	rtc: st-lpc: Add missing clk_disable_unprepare in st_rtc_probe()
	nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure
	mISDN: hfcsusb: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
	mISDN: hfcpci: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
	mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
	nfc: pn533: Clear nfc_target before being used
	r6040: Fix kmemleak in probe and remove
	rtc: mxc_v2: Add missing clk_disable_unprepare()
	openvswitch: Fix flow lookup to use unmasked key
	skbuff: Account for tail adjustment during pull operations
	net_sched: reject TCF_EM_SIMPLE case for complex ematch module
	rxrpc: Fix missing unlock in rxrpc_do_sendmsg()
	myri10ge: Fix an error handling path in myri10ge_probe()
	net: stream: purge sk_error_queue in sk_stream_kill_queues()
	binfmt_misc: fix shift-out-of-bounds in check_special_flags
	fs: jfs: fix shift-out-of-bounds in dbAllocAG
	udf: Avoid double brelse() in udf_rename()
	fs: jfs: fix shift-out-of-bounds in dbDiscardAG
	ACPICA: Fix error code path in acpi_ds_call_control_method()
	nilfs2: fix shift-out-of-bounds/overflow in nilfs_sb2_bad_offset()
	acct: fix potential integer overflow in encode_comp_t()
	hfs: fix OOB Read in __hfs_brec_find
	wifi: ath9k: verify the expected usb_endpoints are present
	wifi: ar5523: Fix use-after-free on ar5523_cmd() timed out
	ASoC: codecs: rt298: Add quirk for KBL-R RVP platform
	ipmi: fix memleak when unload ipmi driver
	bpf: make sure skb->len != 0 when redirecting to a tunneling device
	net: ethernet: ti: Fix return type of netcp_ndo_start_xmit()
	hamradio: baycom_epp: Fix return type of baycom_send_packet()
	wifi: brcmfmac: Fix potential shift-out-of-bounds in brcmf_fw_alloc_request()
	igb: Do not free q_vector unless new one was allocated
	drm/amdgpu: Fix type of second parameter in trans_msg() callback
	s390/ctcm: Fix return type of ctc{mp,}m_tx()
	s390/netiucv: Fix return type of netiucv_tx()
	s390/lcs: Fix return type of lcs_start_xmit()
	drm/sti: Use drm_mode_copy()
	drivers/md/md-bitmap: check the return value of md_bitmap_get_counter()
	md/raid1: stop mdx_raid1 thread when raid1 array run failed
	mrp: introduce active flags to prevent UAF when applicant uninit
	ppp: associate skb with a device at tx
	media: dvb-frontends: fix leak of memory fw
	media: dvbdev: adopts refcnt to avoid UAF
	media: dvb-usb: fix memory leak in dvb_usb_adapter_init()
	blk-mq: fix possible memleak when register 'hctx' failed
	regulator: core: fix use_count leakage when handling boot-on
	mmc: f-sdh30: Add quirks for broken timeout clock capability
	media: si470x: Fix use-after-free in si470x_int_in_callback()
	clk: st: Fix memory leak in st_of_quadfs_setup()
	drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid()
	drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()
	orangefs: Fix kmemleak in orangefs_prepare_debugfs_help_string()
	ASoC: mediatek: mt8173-rt5650-rt5514: fix refcount leak in mt8173_rt5650_rt5514_dev_probe()
	ASoC: rockchip: pdm: Add missing clk_disable_unprepare() in rockchip_pdm_runtime_resume()
	ASoC: wm8994: Fix potential deadlock
	ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in rk_spdif_runtime_resume()
	ASoC: rt5670: Remove unbalanced pm_runtime_put()
	pstore: Switch pmsg_lock to an rt_mutex to avoid priority inversion
	pstore: Make sure CONFIG_PSTORE_PMSG selects CONFIG_RT_MUTEXES
	usb: dwc3: core: defer probe on ulpi_read_id timeout
	HID: wacom: Ensure bootloader PID is usable in hidraw mode
	reiserfs: Add missing calls to reiserfs_security_free()
	iio: adc: ad_sigma_delta: do not use internal iio_dev lock
	gcov: add support for checksum field
	media: dvbdev: fix build warning due to comments
	media: dvbdev: fix refcnt bug
	ata: ahci: Fix PCS quirk application for suspend
	powerpc/rtas: avoid device tree lookups in rtas_os_term()
	powerpc/rtas: avoid scheduling in rtas_os_term()
	HID: plantronics: Additional PIDs for double volume key presses quirk
	hfsplus: fix bug causing custom uid and gid being unable to be assigned with mount
	ovl: Use ovl mounter's fsuid and fsgid in ovl_link()
	ALSA: line6: correct midi status byte when receiving data from podxt
	ALSA: line6: fix stack overflow in line6_midi_transmit
	pnode: terminate at peers of source
	md: fix a crash in mempool_free
	mmc: vub300: fix warning - do not call blocking ops when !TASK_RUNNING
	tpm: tpm_crb: Add the missed acpi_put_table() to fix memory leak
	tpm: tpm_tis: Add the missed acpi_put_table() to fix memory leak
	SUNRPC: Don't leak netobj memory when gss_read_proxy_verf() fails
	media: stv0288: use explicitly signed char
	soc: qcom: Select REMAP_MMIO for LLCC driver
	ktest.pl minconfig: Unset configs instead of just removing them
	ARM: ux500: do not directly dereference __iomem
	selftests: Use optional USERCFLAGS and USERLDFLAGS
	binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf
	binfmt: Fix error return code in load_elf_fdpic_binary()
	dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort
	dm thin: Use last transaction's pmd->root when commit failed
	dm thin: Fix UAF in run_timer_softirq()
	dm cache: Fix UAF in destroy()
	dm cache: set needs_check flag after aborting metadata
	x86/microcode/intel: Do not retry microcode reloading on the APs
	tracing: Fix infinite loop in tracing_read_pipe on overflowed print_trace_line
	ARM: 9256/1: NWFPE: avoid compiler-generated __aeabi_uldivmod
	media: dvb-core: Fix double free in dvb_register_device()
	media: dvb-core: Fix UAF due to refcount races at releasing
	cifs: fix confusing debug message
	md/bitmap: Fix bitmap chunk size overflow issues
	ipmi: fix long wait in unload when IPMI disconnect
	ima: Fix a potential NULL pointer access in ima_restore_measurement_list
	ipmi: fix use after free in _ipmi_destroy_user()
	PCI: Fix pci_device_is_present() for VFs by checking PF
	PCI/sysfs: Fix double free in error path
	crypto: n2 - add missing hash statesize
	iommu/amd: Fix ivrs_acpihid cmdline parsing code
	parisc: led: Fix potential null-ptr-deref in start_task()
	device_cgroup: Roll back to original exceptions after copy failure
	drm/connector: send hotplug uevent on connector cleanup
	drm/vmwgfx: Validate the box size for the snooped cursor
	ext4: add inode table check in __ext4_get_inode_loc to aovid possible infinite loop
	ext4: fix undefined behavior in bit shift for ext4_check_flag_values
	ext4: add helper to check quota inums
	ext4: fix bug_on in __es_tree_search caused by bad boot loader inode
	ext4: init quota for 'old.inode' in 'ext4_rename'
	ext4: fix corruption when online resizing a 1K bigalloc fs
	ext4: fix error code return to user-space in ext4_get_branch()
	ext4: avoid BUG_ON when creating xattrs
	ext4: fix inode leak in ext4_xattr_inode_create() on an error path
	ext4: initialize quota before expanding inode in setproject ioctl
	ext4: avoid unaccounted block allocation when expanding inode
	ext4: allocate extended attribute value in vmalloc area
	btrfs: send: avoid unnecessary backref lookups when finding clone source
	btrfs: replace strncpy() with strscpy()
	media: s5p-mfc: Fix to handle reference queue during finishing
	media: s5p-mfc: Clear workbit to handle error condition
	media: s5p-mfc: Fix in register read and write for H264
	dm thin: resume even if in FAIL mode
	perf probe: Use dwarf_attr_integrate as generic DWARF attr accessor
	perf probe: Fix to get the DW_AT_decl_file and DW_AT_call_file as unsinged data
	ravb: Fix "failed to switch device to config mode" message during unbind
	driver core: Set deferred_probe_timeout to a longer default if CONFIG_MODULES is set
	ext4: goto right label 'failed_mount3a'
	ext4: correct inconsistent error msg in nojournal mode
	ext4: use kmemdup() to replace kmalloc + memcpy
	mbcache: don't reclaim used entries
	mbcache: add functions to delete entry if unused
	ext4: remove EA inode entry from mbcache on inode eviction
	ext4: unindent codeblock in ext4_xattr_block_set()
	ext4: fix race when reusing xattr blocks
	mbcache: automatically delete entries from cache on freeing
	ext4: fix deadlock due to mbcache entry corruption
	SUNRPC: ensure the matching upcall is in-flight upon downcall
	bpf: pull before calling skb_postpull_rcsum()
	qlcnic: prevent ->dcb use-after-free on qlcnic_dcb_enable() failure
	nfc: Fix potential resource leaks
	net: amd-xgbe: add missed tasklet_kill
	net: phy: xgmiitorgmii: Fix refcount leak in xgmiitorgmii_probe
	RDMA/mlx5: Fix validation of max_rd_atomic caps for DC
	net: sched: atm: dont intepret cls results when asked to drop
	usb: rndis_host: Secure rndis_query check against int overflow
	caif: fix memory leak in cfctrl_linkup_request()
	udf: Fix extension of the last extent in the file
	ASoC: Intel: bytcr_rt5640: Add quirk for the Advantech MICA-071 tablet
	x86/bugs: Flush IBP in ib_prctl_set()
	nfsd: fix handling of readdir in v4root vs. mount upcall timeout
	riscv: uaccess: fix type of 0 variable on error in get_user()
	ext4: don't allow journal inode to have encrypt flag
	hfs/hfsplus: use WARN_ON for sanity check
	hfs/hfsplus: avoid WARN_ON() for sanity check, use proper error handling
	mbcache: Avoid nesting of cache->c_list_lock under bit locks
	parisc: Align parisc MADV_XXX constants with all other architectures
	driver core: Fix bus_type.match() error handling in __driver_attach()
	net: sched: disallow noqueue for qdisc classes
	docs: Fix the docs build with Sphinx 6.0
	perf auxtrace: Fix address filter duplicate symbol selection
	s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple()
	net/ulp: prevent ULP without clone op from entering the LISTEN status
	ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF
	cifs: Fix uninitialized memory read for smb311 posix symlink create
	platform/x86: sony-laptop: Don't turn off 0x153 keyboard backlight during probe
	ipv6: raw: Deduct extension header length in rawv6_push_pending_frames
	wifi: wilc1000: sdio: fix module autoloading
	ALSA: hda/hdmi: fix failures at PCM open on Intel ICL and later
	ktest: Add support for meta characters in GRUB_MENU
	ktest: introduce _get_grub_index
	ktest: cleanup get_grub_index
	ktest: introduce grub2bls REBOOT_TYPE option
	ktest.pl: Fix incorrect reboot for grub2bls
	kest.pl: Fix grub2 menu handling for rebooting
	usb: ulpi: defer ulpi_register on ulpi_read_id timeout
	quota: Factor out setup of quota inode
	ext4: fix bug_on in __es_tree_search caused by bad quota inode
	ext4: lost matching-pair of trace in ext4_truncate
	ext4: fix use-after-free in ext4_orphan_cleanup
	ext4: fix uninititialized value in 'ext4_evict_inode'
	ext4: generalize extents status tree search functions
	ext4: add new pending reservation mechanism
	ext4: fix reserved cluster accounting at delayed write time
	ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline
	netfilter: ipset: Fix overflow before widen in the bitmap_ip_create() function.
	x86/boot: Avoid using Intel mnemonics in AT&T syntax asm
	EDAC/device: Fix period calculation in edac_device_reset_delay_period()
	regulator: da9211: Use irq handler when ready
	hvc/xen: lock console list traversal
	nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame()
	net/mlx5: Rename ptp clock info
	net/mlx5: Fix ptp max frequency adjustment range
	iommu/mediatek-v1: Add error handle for mtk_iommu_probe
	iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe()
	x86/resctrl: Use task_curr() instead of task_struct->on_cpu to prevent unnecessary IPI
	x86/resctrl: Fix task CLOSID/RMID update race
	drm/virtio: Fix GEM handle creation UAF
	arm64: cmpxchg_double*: hazard against entire exchange variable
	efi: fix NULL-deref in init error path
	Revert "usb: ulpi: defer ulpi_register on ulpi_read_id timeout"
	tty: serial: tegra: Handle RX transfer in PIO mode if DMA wasn't started
	serial: tegra: Only print FIFO error message when an error occurs
	serial: tegra: Change lower tolerance baud rate limit for tegra20 and tegra30
	Linux 4.19.270

Change-Id: Ieb5e7f318a7e06effcc51e5f93751ec02dbb50c4
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-01-18 12:02:44 +00:00