Commit Graph

1157751 Commits

Author SHA1 Message Date
Greg Kroah-Hartman
29756f9286 Revert "xfrm: fix a data-race in xfrm_gen_index()"
This reverts commit b372db2b8d which is
commit 3e4bc23926 upstream.

It breaks the android ABI and if this is needed in the future, can be
brought back in an abi-safe way.

Bug: 161946584
Change-Id: I6af8ce540570c756ea9f16526c36f8815971e216
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-11-06 14:50:01 +00:00
Greg Kroah-Hartman
63eafbb6b3 Revert "perf: Disallow mis-matched inherited group reads"
This reverts commit f6952655a6 which is
commit 32671e3799 upstream.

It breaks the android ABI and if this is needed in the future, can be
brought back in an abi-safe way.

Bug: 161946584
Change-Id: Ia00890aeeef6153c7f3462a2a2189149734ac28a
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-11-06 14:49:58 +00:00
Greg Kroah-Hartman
4933ddb051 ANDROID: fix up 6.1.60 merge of hid.h into android14-6.1-lts
In commit 59aa39697f ("HID: input: map battery system charging"), the
battery_charge_status field was added, but that had already come into
the branch due to an earlier backport of the same commit, 28ee91ed2b
("UPSTREAM: HID: input: map battery system charging"), and then moved to
a different location in the structure in 8a67c06094 ("ANDROID: GKI:
fix ABI breakage in struct hid_device").

Because of that, we had two copies of the same variable in the same
structure as git didn't know to remove it, so remove it by hand to fix
up the merge and build.

Fixes: 59aa39697f ("HID: input: map battery system charging")
Fixes: 8a67c06094 ("ANDROID: GKI: fix ABI breakage in struct hid_device")
Fixes: 28ee91ed2b ("UPSTREAM: HID: input: map battery system charging")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I89d50f885fd064033fd30609f83193298be45b02
2023-11-03 16:39:12 +00:00
Greg Kroah-Hartman
0a1364ec1f ANDROID: GKI: arm64: drop CONFIG_DEBUG_PREEMPT forced disable
In commit db4677b350 ("lib/Kconfig.debug: do not enable DEBUG_PREEMPT
by default"), DEBUG_PREEMPT is not enabled by default, so our explicit
turning it off is no longer needed.  This fixes the arm64 gki builds.

Fixes: db4677b350 ("lib/Kconfig.debug: do not enable DEBUG_PREEMPT by default")
Change-Id: I4491bceb3735d966731717f13b1e2395c9b7206a
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-11-03 16:24:15 +00:00
Greg Kroah-Hartman
788e35fdea Merge 6.1.60 into android14-6.1-lts
Changes in 6.1.60
	lib/Kconfig.debug: do not enable DEBUG_PREEMPT by default
	igc: remove I226 Qbv BaseTime restriction
	igc: enable Qbv configuration for 2nd GCL
	igc: Remove reset adapter task for i226 during disable tsn config
	igc: Add qbv_config_change_errors counter
	igc: Add condition for qbv_config_change_errors counter
	igc: Fix race condition in PTP tx code
	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
	ice: fix over-shifted variable
	ice: reset first in crash dump kernels
	net/smc: return the right falback reason when prefix checks fail
	btrfs: fix stripe length calculation for non-zoned data chunk allocation
	nfc: nci: fix possible NULL pointer dereference in send_acknowledge()
	regmap: fix NULL deref on lookup
	KVM: x86: Mask LVTPC when handling a PMI
	x86/sev: Disable MMIO emulation from user mode
	x86/sev: Check IOBM for IOIO exceptions from user-space
	x86/sev: Check for user-space IOIO pointing to kernel space
	x86/fpu: Allow caller to constrain xfeatures when copying to uabi buffer
	KVM: x86: Constrain guest-supported xfeatures only at KVM_GET_XSAVE{2}
	x86: KVM: SVM: add support for Invalid IPI Vector interception
	x86: KVM: SVM: refresh AVIC inhibition in svm_leave_nested()
	audit,io_uring: io_uring openat triggers audit reference count underflow
	tcp: check mptcp-level constraints for backlog coalescing
	mptcp: more conservative check for zero probes
	fs/ntfs3: Fix possible null-pointer dereference in hdr_find_e()
	fs/ntfs3: fix panic about slab-out-of-bounds caused by ntfs_list_ea()
	fs/ntfs3: fix deadlock in mark_as_free_ex
	netfilter: nft_payload: fix wrong mac header matching
	nvmet-tcp: Fix a possible UAF in queue intialization setup
	drm/i915: Retry gtt fault when out of fence registers
	drm/mediatek: Correctly free sg_table in gem prime vmap
	ALSA: hda/realtek - Fixed ASUS platform headset Mic issue
	ALSA: hda/realtek: Add quirk for ASUS ROG GU603ZV
	ALSA: hda/relatek: Enable Mute LED on HP Laptop 15s-fq5xxx
	ASoC: codecs: wcd938x-sdw: fix use after free on driver unbind
	ASoC: codecs: wcd938x-sdw: fix runtime PM imbalance on probe errors
	ASoC: codecs: wcd938x: drop bogus bind error handling
	ASoC: codecs: wcd938x: fix unbind tear down order
	ASoC: codecs: wcd938x: fix resource leaks on bind errors
	qed: fix LL2 RX buffer allocation
	xfrm: fix a data-race in xfrm_lookup_with_ifid()
	xfrm: fix a data-race in xfrm_gen_index()
	xfrm: interface: use DEV_STATS_INC()
	wifi: cfg80211: use system_unbound_wq for wiphy work
	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
	tcp: Fix listen() warning with v4-mapped-v6 address.
	tun: prevent negative ifindex
	ipv4: fib: annotate races around nh->nh_saddr_genid and nh->nh_saddr
	net: usb: smsc95xx: Fix an error code in smsc95xx_reset()
	octeon_ep: update BQL sent bytes before ringing doorbell
	i40e: prevent crash on probe if hw registers have invalid values
	net: dsa: bcm_sf2: Fix possible memory leak in bcm_sf2_mdio_register()
	bonding: Return pointer to data after pull on skb
	net/sched: sch_hfsc: upgrade 'rt' to 'sc' when it becomes a inner curve
	neighbor: tracing: Move pin6 inside CONFIG_IPV6=y section
	selftests: openvswitch: Catch cases where the tests are killed
	selftests: netfilter: Run nft_audit.sh in its own netns
	netfilter: nft_set_rbtree: .deactivate fails if element has expired
	netlink: Correct offload_xstats size
	netfilter: nf_tables: do not remove elements if set backend implements .abort
	netfilter: nf_tables: revert do not remove elements if set backend implements .abort
	net: phy: bcm7xxx: Add missing 16nm EPHY statistics
	net: pktgen: Fix interface flags printing
	net: avoid UAF on deleted altname
	net: fix ifname in netlink ntf during netns move
	net: check for altname conflicts when changing netdev's netns
	selftests/mm: fix awk usage in charge_reserved_hugetlb.sh and hugetlb_reparenting_test.sh that may cause error
	usb: misc: onboard_usb_hub: add Genesys Logic GL850G hub support
	usb: misc: onboard_usb_hub: add Genesys Logic GL852G hub support
	usb: misc: onboard_usb_hub: add Genesys Logic GL3523 hub support
	usb: misc: onboard_hub: add support for Microchip USB2412 USB 2.0 hub
	serial: Move uart_change_speed() earlier
	serial: Rename uart_change_speed() to uart_change_line_settings()
	serial: Reduce spinlocked portion of uart_rs485_config()
	serial: 8250: omap: Fix imprecise external abort for omap_8250_pm()
	serial: 8250_omap: Fix errors with no_console_suspend
	iio: core: introduce iio_device_{claim|release}_buffer_mode() APIs
	iio: cros_ec: fix an use-after-free in cros_ec_sensors_push_data()
	iio: adc: ad7192: Simplify using devm_regulator_get_enable()
	iio: adc: ad7192: Correct reference voltage
	pwr-mlxbf: extend Kconfig to include gpio-mlxbf3 dependency
	ARM: dts: ti: omap: Fix noisy serial with overrun-throttle-ms for mapphone
	fs-writeback: do not requeue a clean inode having skipped pages
	btrfs: prevent transaction block reserve underflow when starting transaction
	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-core: Fix compilation warning in ata_dev_config_ncq()
	ata: libata-eh: Fix compilation warning in ata_eh_link_report()
	tracing: relax trace_event_eval_update() execution with cond_resched()
	wifi: mwifiex: Sanity check tlv_len and tlv_bitmap_len
	wifi: iwlwifi: Ensure ack flag is properly cleared.
	HID: logitech-hidpp: Add Bluetooth ID for the Logitech M720 Triathlon mouse
	HID: holtek: fix slab-out-of-bounds Write in holtek_kbd_input_event
	Bluetooth: btusb: add shutdown function for QCA6174
	Bluetooth: Avoid redundant authentication
	Bluetooth: hci_core: Fix build warnings
	wifi: cfg80211: Fix 6GHz scan configuration
	wifi: mac80211: work around Cisco AP 9115 VHT MPDU length
	wifi: mac80211: allow transmitting EAPOL frames with tainted key
	wifi: cfg80211: avoid leaking stack data into trace
	regulator/core: Revert "fix kobject release warning and memory leak in regulator_register()"
	sky2: Make sure there is at least one frag_addr available
	ipv4/fib: send notify when delete source address routes
	drm: panel-orientation-quirks: Add quirk for One Mix 2S
	btrfs: fix some -Wmaybe-uninitialized warnings in ioctl.c
	btrfs: error out when COWing block using a stale transaction
	btrfs: error when COWing block from a root that is being deleted
	btrfs: error out when reallocating block for defrag using a stale transaction
	drm/amd/pm: add unique_id for gc 11.0.3
	HID: multitouch: Add required quirk for Synaptics 0xcd7e device
	HID: nintendo: reinitialize USB Pro Controller after resuming from suspend
	platform/x86: touchscreen_dmi: Add info for the Positivo C4128B
	cpufreq: schedutil: Update next_freq when cpufreq_limits change
	fprobe: Pass entry_data to handlers
	fprobe: Add nr_maxactive to specify rethook_node pool size
	fprobe: Fix to ensure the number of active retprobes is not zero
	net: xfrm: skip policies marked as dead while reinserting policies
	xfrm6: fix inet6_dev refcount underflow problem
	net/mlx5: E-switch, register event handler before arming the event
	net/mlx5: Handle fw tracer change ownership event based on MTRC
	net/mlx5e: Don't offload internal port if filter device is out device
	net/tls: split tls_rx_reader_lock
	tcp: allow again tcp_disconnect() when threads are waiting
	ice: Remove redundant pci_enable_pcie_error_reporting()
	Bluetooth: hci_event: Fix using memcmp when comparing keys
	selftests: openvswitch: Add version check for pyroute2
	tcp_bpf: properly release resources on error paths
	net/smc: fix smc clc failed issue when netdevice not in init_net
	mtd: rawnand: qcom: Unmap the right resource upon probe failure
	mtd: rawnand: pl353: Ensure program page operations are successful
	mtd: rawnand: marvell: Ensure program page operations are successful
	mtd: rawnand: arasan: Ensure program page operations are successful
	mtd: spinand: micron: correct bitmask for ecc status
	mtd: physmap-core: Restore map_rom fallback
	dt-bindings: mmc: sdhci-msm: correct minimum number of clocks
	mmc: sdhci-pci-gli: fix LPM negotiation so x86/S0ix SoCs can suspend
	mmc: mtk-sd: Use readl_poll_timeout_atomic in msdc_reset_hw
	mmc: core: sdio: hold retuning if sdio in 1-bit mode
	mmc: core: Capture correct oemid-bits for eMMC cards
	Revert "pinctrl: avoid unsafe code pattern in find_pinctrl()"
	pNFS: Fix a hang in nfs4_evict_inode()
	pNFS/flexfiles: Check the layout validity in ff_layout_mirror_prepare_stats
	NFSv4.1: fixup use EXCHGID4_FLAG_USE_PNFS_DS for DS server
	ACPI: irq: Fix incorrect return value in acpi_register_gsi()
	nfs42: client needs to strip file mode's suid/sgid bit after ALLOCATE op
	nvme: sanitize metadata bounce buffer for reads
	nvme-pci: add BOGUS_NID for Intel 0a54 device
	nvmet-auth: complete a request only after freeing the dhchap pointers
	nvme-rdma: do not try to stop unallocated queues
	KVM: x86/mmu: Stop zapping invalidated TDP MMU roots asynchronously
	HID: input: map battery system charging
	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
	selftests/ftrace: Add new test case which checks non unique symbol
	s390/cio: fix a memleak in css_alloc_subchannel
	platform/surface: platform_profile: Propagate error if profile registration fails
	platform/x86: intel-uncore-freq: Conditionally create attribute for read frequency
	platform/x86: asus-wmi: Change ASUS_WMI_BRN_DOWN code from 0x20 to 0x2e
	platform/x86: asus-wmi: Only map brightness codes when using asus-wmi backlight control
	platform/x86: asus-wmi: Map 0x2a code, Ignore 0x2b and 0x2c events
	gpio: vf610: set value before the direction to avoid a glitch
	ASoC: pxa: fix a memory leak in probe()
	drm/bridge: ti-sn65dsi86: Associate DSI device lifetime with auxiliary device
	serial: 8250: omap: Move uart_write() inside PM section
	serial: 8250: omap: convert to modern PM ops
	kallsyms: Reduce the memory occupied by kallsyms_seqs_of_names[]
	kallsyms: Add helper kallsyms_on_each_match_symbol()
	tracing/kprobes: Return EADDRNOTAVAIL when func matches several symbols
	gpio: vf610: make irq_chip immutable
	gpio: vf610: mask the gpio irq in system suspend and support wakeup
	phy: mapphone-mdm6600: Fix runtime disable on probe
	phy: mapphone-mdm6600: Fix runtime PM for remove
	phy: mapphone-mdm6600: Fix pinctrl_pm handling for sleep pins
	net: move altnames together with the netdevice
	Bluetooth: hci_sock: fix slab oob read in create_monitor_event
	Bluetooth: hci_sock: Correctly bounds check and pad HCI_MON_NEW_INDEX name
	mptcp: avoid sending RST when closing the initial subflow
	selftests: mptcp: join: correctly check for no RST
	selftests: mptcp: join: no RST when rm subflow/addr
	Linux 6.1.60

Change-Id: I85a246fd8800df019794b531f5befe0a84a3e138
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-11-03 16:23:47 +00:00
Zhipeng Wang
7bec8a8180 ANDROID: ABI: Update symbol list for imx
1 function symbol(s) added
  'int devm_regulator_get_enable_optional(struct device*, const char*)'

Bug: 307653069
Change-Id: I1e26da9575327170e50deedd95df605ef9d65714
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-11-03 11:19:23 +00:00
Subash Abhinov Kasiviswanathan
af888bd2a1 ANDROID: abi_gki_aarch64_qcom: Add __netif_rx
Add the symbol __netif_rx which is needed by rmnet modules.

Symbols added:
   __netif_rx

Bug: 308756580
Change-Id: I26dfad610739a18764c9ac6dbd6edb798ba295b6
Signed-off-by: Subash Abhinov Kasiviswanathan <quic_subashab@quicinc.com>
2023-11-03 11:03:06 +00:00
Greg Kroah-Hartman
316250b759 Revert "net: macsec: indicate next pn update when offloading"
This reverts commit 0d86ad068c which is
commit 0412cc846a upstream.

It breaks the Android ABI so revert it for now, if it is needed in the
future, it can be brought back in an ABI-safe way.

Bug: 161946584
Change-Id: Ib59e80373b59f1e88b36f676ddd3a34832af7dfd
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-11-03 09:52:15 +00:00
Greg Kroah-Hartman
394fcccbe1 Revert "net: phy: mscc: macsec: reject PN update requests"
This reverts commit a698195f3a which is
commit e0a8c918da upstream.

It breaks the Android ABI so revert it for now, if it is needed in the
future, it can be brought back in an ABI-safe way.

Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I8176a4f67c346aa762721515bd797078581eef1b
2023-11-03 09:52:12 +00:00
Greg Kroah-Hartman
a36206a6bb Revert "net/mlx5e: macsec: use update_pn flag instead of PN comparation"
This reverts commit 89be6ad344 which is
commit fde2f2d7f2 upstream.

It breaks the Android ABI so revert it for now, if it is needed in the
future, it can be brought back in an ABI-safe way.

Bug: 161946584
Change-Id: Icb4a02c431ae7caeb4669c205d016e991b7d935a
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-11-03 09:52:08 +00:00
Greg Kroah-Hartman
b0e44b2726 Revert "tcp: enforce receive buffer memory limits by allowing the tcp window to shrink"
This reverts commit 0796c53424 which is
commit b650d953cd upstream.

It breaks the Android ABI so revert it for now, if it is needed in the
future, it can be brought back in an ABI-safe way.

Bug: 161946584
Change-Id: I6d4865da903caac56dbca2c7c0cfca14622760d4
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-11-03 09:52:01 +00:00
Keita Aihara
131de563f6 ANDROID: ABI: Update sony symbol list and stg
2 function symbol(s) added
  'int __traceiter_android_vh_mmc_blk_mq_rw_recovery(void*, struct mmc_card*)'
  'int __traceiter_android_vh_sd_update_bus_speed_mode(void*, struct mmc_card*)'

2 variable symbol(s) added
  'struct tracepoint __tracepoint_android_vh_mmc_blk_mq_rw_recovery'
  'struct tracepoint __tracepoint_android_vh_sd_update_bus_speed_mode'

Bug: 303549480
Change-Id: I753ab0d7b4c2742eab63f56712e13260ee0e5e0e
Signed-off-by: Keita Aihara <keita.aihara@sony.com>
2023-11-02 22:52:08 +00:00
Keita Aihara
977770ec27 ANDROID: mmc: Add vendor hooks for sdcard failure diagnostics
For sdcard failure diagnostics, add vendor hooks to monitor the sdcard
bus speed mode change and the sdcard reset failure in the request
recovery handling.

Bug: 303549480
Change-Id: Id40337ffb09a31199335cdb8a273d76618415649
Signed-off-by: Keita Aihara <keita.aihara@sony.com>
2023-11-02 22:52:08 +00:00
Chun-Hung Wu
f8d3b450e9 ANDROID: Update symbol list for mtk
3 function symbol(s) added
  'void add_wait_queue_priority(struct wait_queue_head*, struct wait_queue_entry*)'
  'int get_user_pages_fast_only(unsigned long, int, unsigned int, struct page**)'
  'long get_user_pages_unlocked(unsigned long, unsigned long, struct page**, unsigned int)'

Bug: 308742956
Change-Id: I4147320c5efa1c8dcc1949b753587a3705675e7a
Signed-off-by: Chun-Hung Wu <chun-hung.wu@mediatek.com>
2023-11-02 16:04:09 +00:00
Bao D. Nguyen
2799026a28 UPSTREAM: scsi: ufs: mcq: Fix the search/wrap around logic
The search and wrap around logic in the ufshcd_mcq_sqe_search() function
does not work correctly when the hwq's queue depth is not a power of two
number. Correct it so that any queue depth with a positive integer value
within the supported range would work.

Bug: 307782690
Change-Id: I4350ac71da051db24923a587db435be2f7b7eebb
(cherry picked from commit d0c89af313)
Signed-off-by: "Bao D. Nguyen" <quic_nguyenb@quicinc.com>
Link: https://lore.kernel.org/r/ff49c15be205135ed3ec186f3086694c02867dbd.1692149603.git.quic_nguyenb@quicinc.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Fixes: 8d72903489 ("scsi: ufs: mcq: Add supporting functions for MCQ abort")
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2023-11-02 19:16:56 +08:00
zhanghui
7350783e67 UPSTREAM: scsi: ufs: core: Fix ufshcd_inc_sq_tail() function bug
When qdepth is not power of 2, not every bit of the mask is 1, so
in sq_tail_slot some bits will be cleared unexpectedly.

Bug: 307782690
Change-Id: I7acb5f08f6af87cb5057464827658197047d8641
(cherry picked from commit e01d05bbf6)
Signed-off-by: zhanghui <zhanghui31@xiaomi.com>
Link: https://lore.kernel.org/r/20230601124613.1446-1-zhanghui31@xiaomi.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2023-11-02 19:14:26 +08:00
Greg Kroah-Hartman
3858124ea0 Merge 6.1.59 into android14-6.1-lts
Changes in 6.1.59
	net: mana: Fix TX CQE error handling
	mptcp: fix delegated action races
	drm/i915: Don't set PIPE_CONTROL_FLUSH_L3 for aux inval
	RDMA/cxgb4: Check skb value for failure to allocate
	perf/arm-cmn: Fix the unhandled overflow status of counter 4 to 7
	platform/x86: think-lmi: Fix reference leak
	platform/x86: hp-wmi:: Mark driver struct with __refdata to prevent section mismatch warning
	scsi: Do not rescan devices with a suspended queue
	HID: logitech-hidpp: Fix kernel crash on receiver USB disconnect
	quota: Fix slow quotaoff
	ASoC: amd: yc: Fix non-functional mic on Lenovo 82YM
	ata: libata-scsi: Disable scsi device manage_system_start_stop
	net: prevent address rewrite in kernel_bind()
	arm64: dts: qcom: sm8150: extend the size of the PDC resource
	dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Update description for '#interrupt-cells' property
	irqchip: renesas-rzg2l: Fix logic to clear TINT interrupt source
	KEYS: trusted: Remove redundant static calls usage
	ALSA: usb-audio: Fix microphone sound on Opencomm2 Headset
	ALSA: usb-audio: Fix microphone sound on Nexigo webcam.
	ALSA: hda/realtek: Change model for Intel RVP board
	ASoC: SOF: amd: fix for firmware reload failure after playback
	ASoC: simple-card-utils: fixup simple_util_startup() error handling
	ASoC: Intel: soc-acpi: Add entry for HDMI_In capture support in MTL match table
	ASoC: Intel: sof_sdw: add support for SKU 0B14
	ASoC: Intel: soc-acpi: Add entry for sof_es8336 in MTL match table.
	ASoC: Use of_property_read_bool() for boolean properties
	ASoC: fsl_sai: MCLK bind with TX/RX enable bit
	ASoC: fsl_sai: Don't disable bitclock for i.MX8MP
	ALSA: hda/realtek: Add quirk for HP Victus 16-d1xxx to enable mute LED
	ALSA: hda/realtek: Add quirk for mute LEDs on HP ENVY x360 15-eu0xxx
	ALSA: hda/realtek - ALC287 I2S speaker platform support
	ALSA: hda/realtek - ALC287 merge RTK codec with CS CS35L41 AMP
	pinctrl: nuvoton: wpcm450: fix out of bounds write
	drm/msm/dp: do not reinitialize phy unless retry during link training
	drm/msm/dsi: skip the wait for video mode done if not applicable
	drm/msm/dsi: fix irq_of_parse_and_map() error checking
	drm/msm/dpu: change _dpu_plane_calc_bw() to use u64 to avoid overflow
	drm/msm/dp: Add newlines to debug printks
	phy: lynx-28g: cancel the CDR check work item on the remove path
	phy: lynx-28g: lock PHY while performing CDR lock workaround
	phy: lynx-28g: serialize concurrent phy_set_mode_ext() calls to shared registers
	net: dsa: qca8k: fix potential MDIO bus conflict when accessing internal PHYs via management frames
	can: isotp: isotp_sendmsg(): fix TX state detection and wait behavior
	can: sun4i_can: Only show Kconfig if ARCH_SUNXI is set
	arm64: dts: mediatek: mt8195: Set DSU PMU status to fail
	ravb: Fix up dma_free_coherent() call in ravb_remove()
	ravb: Fix use-after-free issue in ravb_tx_timeout_work()
	ieee802154: ca8210: Fix a potential UAF in ca8210_probe
	mlxsw: fix mlxsw_sp2_nve_vxlan_learning_set() return type
	xen-netback: use default TX queue size for vifs
	riscv, bpf: Factor out emit_call for kernel and bpf context
	riscv, bpf: Sign-extend return values
	drm/vmwgfx: fix typo of sizeof argument
	bpf: Fix verifier log for async callback return values
	net: refine debug info in skb_checksum_help()
	net: macsec: indicate next pn update when offloading
	net: phy: mscc: macsec: reject PN update requests
	net/mlx5e: macsec: use update_pn flag instead of PN comparation
	ixgbe: fix crash with empty VF macvlan list
	net/mlx5e: Again mutually exclude RX-FCS and RX-port-timestamp
	net: nfc: fix races in nfc_llcp_sock_get() and nfc_llcp_sock_get_sn()
	net/smc: Fix pos miscalculation in statistics
	pinctrl: renesas: rzn1: Enable missing PINMUX
	nfc: nci: assert requested protocol is valid
	workqueue: Override implicit ordered attribute in workqueue_apply_unbound_cpumask()
	tcp: enforce receive buffer memory limits by allowing the tcp window to shrink
	dmaengine: stm32-mdma: abort resume if no ongoing transfer
	dmaengine: stm32-dma: fix stm32_dma_prep_slave_sg in case of MDMA chaining
	dmaengine: stm32-dma: fix residue in case of MDMA chaining
	dmaengine: stm32-mdma: use Link Address Register to compute residue
	dmaengine: stm32-mdma: set in_flight_bytes in case CRQA flag is set
	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: cdns3: Modify the return value of cdns_set_active () to void when CONFIG_PM_SLEEP is disabled
	usb: hub: Guard against accesses to uninitialized BOS descriptors
	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: imu: bno055: Fix missing Kconfig dependencies
	iio: adc: imx8qxp: Fix address for command buffer registers
	iio: dac: ad3552r: Correct device IDs
	iio: admv1013: add mixer_vgate corner cases
	iio: pressure: dps310: Adjust Timeout Settings
	iio: pressure: ms5611: ms5611_prom_is_valid false negative bug
	iio: addac: Kconfig: update ad74413r selections
	arm64: dts: mediatek: mt8195-demo: fix the memory size to 8GB
	arm64: dts: mediatek: mt8195-demo: update and reorder reserved memory regions
	drm/atomic-helper: relax unregistered connector check
	drm/amdgpu: add missing NULL check
	drm/amd/display: Don't set dpms_off for seamless boot
	ACPI: resource: Skip IRQ override on ASUS ExpertBook B1402CBA
	ACPI: EC: Add quirk for the HP Pavilion Gaming 15-dk1xxx
	ksmbd: not allow to open file if delelete on close bit is set
	perf/x86/lbr: Filter vsyscall addresses
	x86/cpu: Fix AMD erratum #1485 on Zen4-based CPUs
	mcb: remove is_added flag from mcb_device struct
	thunderbolt: Workaround an IOMMU fault on certain systems with Intel Maple Ridge
	thunderbolt: Check that lane 1 is in CL0 before enabling lane bonding
	thunderbolt: Restart XDomain discovery handshake after failure
	powerpc/47x: Fix 47x syscall return crash
	libceph: use kernel_connect()
	ceph: fix incorrect revoked caps assert in ceph_fill_file_size()
	ceph: fix type promotion bug on 32bit systems
	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
	Input: i8042 - add Fujitsu Lifebook E5411 to i8042 quirk table
	Input: goodix - ensure int GPIO is in input for gpio_count == 1 && gpio_int_idx == 0 case
	tee: amdtee: fix use-after-free vulnerability in amdtee_close_session
	mctp: perform route lookups under a RCU read-side lock
	nfp: flower: avoid rmmod nfp crash issues
	usb: typec: ucsi: Use GET_CAPABILITY attributes data to set power supply scope
	cgroup: Remove duplicates in cgroup v1 tasks file
	dma-buf: add dma_fence_timestamp helper
	pinctrl: avoid unsafe code pattern in find_pinctrl()
	scsi: ufs: core: Correct clear TM error log
	counter: chrdev: fix getting array extensions
	counter: microchip-tcb-capture: Fix the use of internal GCLK logic
	usb: typec: altmodes/displayport: Signal hpd low when exiting mode
	usb: typec: ucsi: Clear EVENT_PENDING bit if ucsi_send_command fails
	usb: gadget: udc-xilinx: replace memcpy with memcpy_toio
	usb: gadget: ncm: Handle decoding of multiple NTB's in unwrap call
	usb: cdnsp: Fixes issue with dequeuing not queued requests
	x86/alternatives: Disable KASAN in apply_alternatives()
	dmaengine: idxd: use spin_lock_irqsave before wait_event_lock_irq
	dmaengine: mediatek: Fix deadlock caused by synchronize_irq()
	powerpc/8xx: Fix pte_access_permitted() for PAGE_NONE
	powerpc/64e: Fix wrong test in __ptep_test_and_clear_young()
	ALSA: hda/realtek - Fixed two speaker platform
	Linux 6.1.59

Change-Id: Iaae6736993c003cc47f495f275591bbb924f986e
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-11-02 09:17:36 +00:00
Greg Kroah-Hartman
d58a224aca Merge 6.1.58 into android14-6.1-lts
Changes in 6.1.58
	Revert "NFS: More fixes for nfs_direct_write_reschedule_io()"
	Revert "NFS: Use the correct commit info in nfs_join_page_group()"
	Revert "NFS: More O_DIRECT accounting fixes for error paths"
	Revert "NFS: Fix O_DIRECT locking issues"
	Revert "NFS: Fix error handling for O_DIRECT write scheduling"
	lib/test_meminit: fix off-by-one error in test_pages()
	Linux 6.1.58

Change-Id: I4022c198204b94b8846aa347404d8d9d26eb9a63
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-11-02 09:04:04 +00:00
Greg Kroah-Hartman
4a61839152 Linux 6.1.61
Link: https://lore.kernel.org/r/20231031165918.608547597@linuxfoundation.org
Tested-by: Pavel Machek (CIP) <pavel@denx.de>
Tested-by: Florian Fainelli <florian.fainelli@broadcom.com>
Tested-by: Shuah Khan <skhan@linuxfoundation.org>
Tested-by: Bagas Sanjaya <bagasdotme@gmail.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Ron Economos <re@w6rz.net>
Tested-by: Ricardo B. Marliere <ricardo@marliere.net>
Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com>
Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Allen Pais <apais@linux.microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:33 +01:00
John Sperbeck
5926b0886d objtool/x86: add missing embedded_insn check
When dbf4600877 ("objtool/x86: Fixup frame-pointer vs rethunk")
was backported to some stable branches, the check for dest->embedded_insn
in is_special_call() was missed.  The result is that the warning it
was intended to suppress still appears.  For example on 6.1 (on kernels
before 6.1, the '-s' argument would instead be 'check'):

$ tools/objtool/objtool -s arch/x86/lib/retpoline.o
arch/x86/lib/retpoline.o: warning: objtool: srso_untrain_ret+0xd:
    call without frame pointer save/setup

With this patch, the warning is correctly suppressed, and the
kernel still passes the normal Google kernel developer tests.

Signed-off-by: John Sperbeck <jsperbeck@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:33 +01:00
Baokun Li
2afa9f7eb1 ext4: avoid overlapping preallocations due to overflow
commit bedc5d3463 upstream.

Let's say we want to allocate 2 blocks starting from 4294966386, after
predicting the file size, start is aligned to 4294965248, len is changed
to 2048, then end = start + size = 0x100000000. Since end is of
type ext4_lblk_t, i.e. uint, end is truncated to 0.

This causes (pa->pa_lstart >= end) to always hold when checking if the
current extent to be allocated crosses already preallocated blocks, so the
resulting ac_g_ex may cross already preallocated blocks. Hence we convert
the end type to loff_t and use pa_logical_end() to avoid overflow.

Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Link: https://lore.kernel.org/r/20230724121059.11834-4-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:32 +01:00
Baokun Li
fcefddf3a1 ext4: fix BUG in ext4_mb_new_inode_pa() due to overflow
commit bc056e7163 upstream.

When we calculate the end position of ext4_free_extent, this position may
be exactly where ext4_lblk_t (i.e. uint) overflows. For example, if
ac_g_ex.fe_logical is 4294965248 and ac_orig_goal_len is 2048, then the
computed end is 0x100000000, which is 0. If ac->ac_o_ex.fe_logical is not
the first case of adjusting the best extent, that is, new_bex_end > 0, the
following BUG_ON will be triggered:

=========================================================
kernel BUG at fs/ext4/mballoc.c:5116!
invalid opcode: 0000 [#1] PREEMPT SMP PTI
CPU: 3 PID: 673 Comm: xfs_io Tainted: G E 6.5.0-rc1+ #279
RIP: 0010:ext4_mb_new_inode_pa+0xc5/0x430
Call Trace:
 <TASK>
 ext4_mb_use_best_found+0x203/0x2f0
 ext4_mb_try_best_found+0x163/0x240
 ext4_mb_regular_allocator+0x158/0x1550
 ext4_mb_new_blocks+0x86a/0xe10
 ext4_ext_map_blocks+0xb0c/0x13a0
 ext4_map_blocks+0x2cd/0x8f0
 ext4_iomap_begin+0x27b/0x400
 iomap_iter+0x222/0x3d0
 __iomap_dio_rw+0x243/0xcb0
 iomap_dio_rw+0x16/0x80
=========================================================

A simple reproducer demonstrating the problem:

	mkfs.ext4 -F /dev/sda -b 4096 100M
	mount /dev/sda /tmp/test
	fallocate -l1M /tmp/test/tmp
	fallocate -l10M /tmp/test/file
	fallocate -i -o 1M -l16777203M /tmp/test/file
	fsstress -d /tmp/test -l 0 -n 100000 -p 8 &
	sleep 10 && killall -9 fsstress
	rm -f /tmp/test/tmp
	xfs_io -c "open -ad /tmp/test/file" -c "pwrite -S 0xff 0 8192"

We simply refactor the logic for adjusting the best extent by adding
a temporary ext4_free_extent ex and use extent_logical_end() to avoid
overflow, which also simplifies the code.

Cc: stable@kernel.org # 6.4
Fixes: 93cdf49f6e ("ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa()")
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Link: https://lore.kernel.org/r/20230724121059.11834-3-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:32 +01:00
Baokun Li
495c4c58d6 ext4: add two helper functions extent_logical_end() and pa_logical_end()
commit 43bbddc067 upstream.

When we use lstart + len to calculate the end of free extent or prealloc
space, it may exceed the maximum value of 4294967295(0xffffffff) supported
by ext4_lblk_t and cause overflow, which may lead to various problems.

Therefore, we add two helper functions, extent_logical_end() and
pa_logical_end(), to limit the type of end to loff_t, and also convert
lstart to loff_t for calculation to avoid overflow.

Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Link: https://lore.kernel.org/r/20230724121059.11834-2-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:32 +01:00
David Lazar
d022e4ea9c platform/x86: Add s2idle quirk for more Lenovo laptops
commit 3bde7ec13c upstream.

When suspending to idle and resuming on some Lenovo laptops using the
Mendocino APU, multiple NVME IOMMU page faults occur, showing up in
dmesg as repeated errors:

nvme 0000:01:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x000b
address=0xb6674000 flags=0x0000]

The system is unstable afterwards.

Applying the s2idle quirk introduced by commit 455cd867b8 ("platform/x86:
thinkpad_acpi: Add a s2idle resume quirk for a number of laptops")
allows these systems to work with the IOMMU enabled and s2idle
resume to work.

Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218024
Suggested-by: Mario Limonciello <mario.limonciello@amd.com>
Suggested-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Signed-off-by: David Lazar <dlazar@gmail.com>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Link: https://lore.kernel.org/r/ZTlsyOaFucF2pWrL@localhost
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:32 +01:00
Alessandro Carminati
48ebeab0ed clk: Sanitize possible_parent_show to Handle Return Value of of_clk_get_parent_name
commit ceb87a361d upstream.

In the possible_parent_show function, ensure proper handling of the return
value from of_clk_get_parent_name to prevent potential issues arising from
a NULL return.
The current implementation invokes seq_puts directly on the result of
of_clk_get_parent_name without verifying the return value, which can lead
to kernel panic if the function returns NULL.

This patch addresses the concern by introducing a check on the return
value of of_clk_get_parent_name. If the return value is not NULL, the
function proceeds to call seq_puts, providing the returned value as
argument.
However, if of_clk_get_parent_name returns NULL, the function provides a
static string as argument, avoiding the panic.

Fixes: 1ccc0ddf04 ("clk: Use seq_puts() in possible_parent_show()")
Reported-by: Philip Daly <pdaly@redhat.com>
Signed-off-by: Alessandro Carminati (Red Hat) <alessandro.carminati@gmail.com>
Link: https://lore.kernel.org/r/20230921073217.572151-1-alessandro.carminati@gmail.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:32 +01:00
Al Viro
65e5a9890e sparc32: fix a braino in fault handling in csum_and_copy_..._user()
commit 1f36cd05e0 upstream.

Fault handler used to make non-trivial calls, so it needed
to set a stack frame up.  Used to be
	save ... - grab a stack frame, old %o... become %i...
	....
	ret	- go back to address originally in %o7, currently %i7
	 restore - switch to previous stack frame, in delay slot
Non-trivial calls had been gone since ab5e8b3312 and that code should
have become
	retl	- go back to address in %o7
	 clr %o0 - have return value set to 0
What it had become instead was
	ret	- go back to address in %i7 - return address of *caller*
	 clr %o0 - have return value set to 0
which is not good, to put it mildly - we forcibly return 0 from
csum_and_copy_{from,to}_iter() (which is what the call of that
thing had been inlined into) and do that without dropping the
stack frame of said csum_and_copy_..._iter().  Confuses the
hell out of the caller of csum_and_copy_..._iter(), obviously...

Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Fixes: ab5e8b3312 "sparc32: propagate the calling conventions change down to __csum_partial_copy_sparc_generic()"
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:32 +01:00
Peter Zijlstra
8b8cde8ebb perf/core: Fix potential NULL deref
commit a71ef31485 upstream.

Smatch is awesome.

Fixes: 32671e3799 ("perf: Disallow mis-matched inherited group reads")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:32 +01:00
Tony Luck
5e232f2205 x86/cpu: Add model number for Intel Arrow Lake mobile processor
commit b99d70c0d1 upstream.

For "reasons" Intel has code-named this CPU with a "_H" suffix.

[ dhansen: As usual, apply this and send it upstream quickly to
	   make it easier for anyone who is doing work that
	   consumes this. ]

Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://lore.kernel.org/all/20231025202513.12358-1-tony.luck%40intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:32 +01:00
Thomas Gleixner
63cc3d5d34 x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility
commit 128b0c9781 upstream.

David and a few others reported that on certain newer systems some legacy
interrupts fail to work correctly.

Debugging revealed that the BIOS of these systems leaves the legacy PIC in
uninitialized state which makes the PIC detection fail and the kernel
switches to a dummy implementation.

Unfortunately this fallback causes quite some code to fail as it depends on
checks for the number of legacy PIC interrupts or the availability of the
real PIC.

In theory there is no reason to use the PIC on any modern system when
IO/APIC is available, but the dependencies on the related checks cannot be
resolved trivially and on short notice. This needs lots of analysis and
rework.

The PIC detection has been added to avoid quirky checks and force selection
of the dummy implementation all over the place, especially in VM guest
scenarios. So it's not an option to revert the relevant commit as that
would break a lot of other scenarios.

One solution would be to try to initialize the PIC on detection fail and
retry the detection, but that puts the burden on everything which does not
have a PIC.

Fortunately the ACPI/MADT table header has a flag field, which advertises
in bit 0 that the system is PCAT compatible, which means it has a legacy
8259 PIC.

Evaluate that bit and if set avoid the detection routine and keep the real
PIC installed, which then gets initialized (for nothing) and makes the rest
of the code with all the dependencies work again.

Fixes: e179f69141 ("x86, irq, pic: Probe for legacy PIC and set legacy_pic appropriately")
Reported-by: David Lazar <dlazar@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: David Lazar <dlazar@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Cc: stable@vger.kernel.org
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218003
Link: https://lore.kernel.org/r/875y2u5s8g.ffs@tglx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:31 +01:00
Peng Fan
37495846b1 nvmem: imx: correct nregs for i.MX6UL
commit 7d6e10f5d2 upstream.

The nregs for i.MX6UL should be 144 per fuse map, correct it.

Fixes: 4aa2b48020 ("nvmem: octop: Add support for imx6ul")
Cc: Stable@vger.kernel.org
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20231013124904.175782-3-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:31 +01:00
Peng Fan
116671d259 nvmem: imx: correct nregs for i.MX6SLL
commit 414a98abbe upstream.

The nregs for i.MX6SLL should be 80 per fuse map, correct it.

Fixes: 6da27821a6 ("nvmem: imx-ocotp: add support for imx6sll")
Cc: Stable@vger.kernel.org
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20231013124904.175782-2-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:31 +01:00
Peng Fan
b90b8633ef nvmem: imx: correct nregs for i.MX6ULL
commit 2382c1b044 upstream.

The nregs for i.MX6ULL should be 80 per fuse map, correct it.

Fixes: ffbc34bf0e ("nvmem: imx-ocotp: Implement i.MX6ULL/ULZ support")
Cc: Stable@vger.kernel.org
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20231013124904.175782-4-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:31 +01:00
Ekansh Gupta
cc87c73eac misc: fastrpc: Unmap only if buffer is unmapped from DSP
commit 509143385d upstream.

For unmapping any buffer from kernel, it should first be unmapped
from DSP. In case unmap from DSP request fails, the map should not
be removed from kernel as it might lead to SMMU faults and other
memory issues.

Fixes: 5c1b97c7d7 ("misc: fastrpc: add support for FASTRPC_IOCTL_MEM_MAP/UNMAP")
Cc: stable <stable@kernel.org>
Signed-off-by: Ekansh Gupta <quic_ekangupt@quicinc.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20231013122007.174464-5-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:31 +01:00
Ekansh Gupta
38c5faf2a9 misc: fastrpc: Clean buffers on remote invocation failures
commit 1c8093591d upstream.

With current design, buffers and dma handles are not freed in case
of remote invocation failures returned from DSP. This could result
in buffer leakings and dma handle pointing to wrong memory in the
fastrpc kernel. Adding changes to clean buffers and dma handles
even when remote invocation to DSP returns failures.

Fixes: c68cfb718c ("misc: fastrpc: Add support for context Invoke method")
Cc: stable <stable@kernel.org>
Signed-off-by: Ekansh Gupta <quic_ekangupt@quicinc.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20231013122007.174464-4-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:31 +01:00
Ekansh Gupta
7737e9384e misc: fastrpc: Free DMA handles for RPC calls with no arguments
commit 2064843038 upstream.

The FDs for DMA handles to be freed is updated in fdlist by DSP over
a remote call. This holds true even for remote calls with no
arguments. To handle this, get_args and put_args are needed to
be called for remote calls with no arguments also as fdlist
is allocated in get_args and FDs updated in fdlist is freed
in put_args.

Fixes: 8f6c1d8c4f ("misc: fastrpc: Add fdlist implementation")
Cc: stable <stable@kernel.org>
Signed-off-by: Ekansh Gupta <quic_ekangupt@quicinc.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20231013122007.174464-3-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:31 +01:00
Ekansh Gupta
1e8851b513 misc: fastrpc: Reset metadata buffer to avoid incorrect free
commit 1c29d80134 upstream.

Metadata buffer is allocated during get_args for any remote call.
This buffer carries buffers, fdlists and other payload information
for the call. If the buffer is not reset, put_args might find some
garbage FDs in the fdlist which might have an existing mapping in
the list. This could result in improper freeing of FD map when DSP
might still be using the buffer. Added change to reset the metadata
buffer after allocation.

Fixes: 8f6c1d8c4f ("misc: fastrpc: Add fdlist implementation")
Cc: stable <stable@kernel.org>
Signed-off-by: Ekansh Gupta <quic_ekangupt@quicinc.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20231013122007.174464-2-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:31 +01:00
Yujie Liu
5a35fc1c00 tracing/kprobes: Fix the description of variable length arguments
commit e0f831836c upstream.

Fix the following kernel-doc warnings:

kernel/trace/trace_kprobe.c:1029: warning: Excess function parameter 'args' description in '__kprobe_event_gen_cmd_start'
kernel/trace/trace_kprobe.c:1097: warning: Excess function parameter 'args' description in '__kprobe_event_add_fields'

Refer to the usage of variable length arguments elsewhere in the kernel
code, "@..." is the proper way to express it in the description.

Link: https://lore.kernel.org/all/20231027041315.2613166-1-yujie.liu@intel.com/

Fixes: 2a588dd1d5 ("tracing: Add kprobe event command generation functions")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202310190437.paI6LYJF-lkp@intel.com/
Signed-off-by: Yujie Liu <yujie.liu@intel.com>
Reviewed-by: Mukesh Ojha <quic_mojha@quicinc.com>
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:30 +01:00
Jian Zhang
91b95e3b4a i2c: aspeed: Fix i2c bus hang in slave read
commit 54f1840dde upstream.

When the `CONFIG_I2C_SLAVE` option is enabled and the device operates
as a slave, a situation arises where the master sends a START signal
without the accompanying STOP signal. This action results in a
persistent I2C bus timeout. The core issue stems from the fact that
the i2c controller remains in a slave read state without a timeout
mechanism. As a consequence, the bus perpetually experiences timeouts.

In this case, the i2c bus will be reset, but the slave_state reset is
missing.

Fixes: fee465150b ("i2c: aspeed: Reset the i2c controller when timeout occurs")
Signed-off-by: Jian Zhang <zhangjian.3032@bytedance.com>
Acked-by: Andi Shyti <andi.shyti@kernel.org>
Tested-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Reviewed-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:30 +01:00
Alain Volmat
11602cadc9 i2c: stm32f7: Fix PEC handling in case of SMBUS transfers
commit c896ff2dd8 upstream.

In case of SMBUS byte read with PEC enabled, the whole transfer
is split into two commands.  A first write command, followed by
a read command.  The write command does not have any PEC byte
and a PEC byte is appended at the end of the read command.
(cf Read byte protocol with PEC in SMBUS specification)

Within the STM32 I2C controller, handling (either sending
or receiving) of the PEC byte is done via the PECBYTE bit in
register CR2.

Currently, the PECBYTE is set at the beginning of a transfer,
which lead to sending a PEC byte at the end of the write command
(hence losing the real last byte), and also does not check the
PEC byte received during the read command.

This patch corrects the function stm32f7_i2c_smbus_xfer_msg
in order to only set the PECBYTE during the read command.

Fixes: 9e48155f6b ("i2c: i2c-stm32f7: Add initial SMBus protocols support")
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Reviewed-by: Pierre-Yves MORDRET <pierre-yves.mordret@foss.st.com>
Acked-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:30 +01:00
Herve Codina
ff0312a156 i2c: muxes: i2c-demux-pinctrl: Use of_get_i2c_adapter_by_node()
commit 0fb118de50 upstream.

i2c-demux-pinctrl uses the pair of_find_i2c_adapter_by_node() /
i2c_put_adapter(). These pair alone is not correct to properly lock the
I2C parent adapter.

Indeed, i2c_put_adapter() decrements the module refcount while
of_find_i2c_adapter_by_node() does not increment it. This leads to an
underflow of the parent module refcount.

Use the	dedicated function, of_get_i2c_adapter_by_node(), to handle
correctly the module refcount.

Fixes: 50a5ba8769 ("i2c: mux: demux-pinctrl: add driver")
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Cc: stable@vger.kernel.org
Acked-by: Peter Rosin <peda@axentia.se>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:30 +01:00
Herve Codina
f9a7b3b33c i2c: muxes: i2c-mux-gpmux: Use of_get_i2c_adapter_by_node()
commit 3dc0ec46f6 upstream.

i2c-mux-gpmux uses the pair of_find_i2c_adapter_by_node() /
i2c_put_adapter(). These pair alone is not correct to properly lock the
I2C parent adapter.

Indeed, i2c_put_adapter() decrements the module refcount while
of_find_i2c_adapter_by_node() does not increment it. This leads to an
underflow of the parent module refcount.

Use the dedicated function, of_get_i2c_adapter_by_node(), to handle
correctly the module refcount.

Fixes: ac8498f0ce ("i2c: i2c-mux-gpmux: new driver")
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Cc: stable@vger.kernel.org
Acked-by: Peter Rosin <peda@axentia.se>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:30 +01:00
Herve Codina
48a365ae4f i2c: muxes: i2c-mux-pinctrl: Use of_get_i2c_adapter_by_node()
commit 3171d37b58 upstream.

i2c-mux-pinctrl uses the pair of_find_i2c_adapter_by_node() /
i2c_put_adapter(). These pair alone is not correct to properly lock the
I2C parent adapter.

Indeed, i2c_put_adapter() decrements the module refcount while
of_find_i2c_adapter_by_node() does not increment it. This leads to an
underflow of the parent module refcount.

Use the dedicated function, of_get_i2c_adapter_by_node(), to handle
correctly the module refcount.

Fixes: c4aee3e1b0 ("i2c: mux: pinctrl: remove platform_data")
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Cc: stable@vger.kernel.org
Acked-by: Peter Rosin <peda@axentia.se>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:30 +01:00
Robert Hancock
6ec84059b5 iio: adc: xilinx-xadc: Correct temperature offset/scale for UltraScale
commit e2bd8c28b9 upstream.

The driver was previously using offset and scale values for the
temperature sensor readings which were only valid for 7-series devices.
Add per-device-type values for offset and scale and set them appropriately
for each device type.

Note that the values used for the UltraScale family are for UltraScale+
(i.e. the SYSMONE4 primitive) using the internal reference, as that seems
to be the most common configuration and the device tree values Xilinx's
device tree generator produces don't seem to give us anything to tell us
which configuration is used. However, the differences within the UltraScale
family seem fairly minor and it's closer than using the 7-series values
instead in any case.

Fixes: c2b7720a79 ("iio: xilinx-xadc: Add basic support for Ultrascale System Monitor")
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Acked-by: O'Griofa, Conall <conall.ogriofa@amd.com>
Tested-by: O'Griofa, Conall <conall.ogriofa@amd.com>
Link: https://lore.kernel.org/r/20230915001019.2862964-3-robert.hancock@calian.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:30 +01:00
Robert Hancock
e26fd381bf iio: adc: xilinx-xadc: Don't clobber preset voltage/temperature thresholds
commit 8d6b3ea4d9 upstream.

In the probe function, the driver was reading out the thresholds already
set in the core, which can be configured by the user in the Vivado tools
when the FPGA image is built. However, it later clobbered those values
with zero or maximum values. In particular, the overtemperature shutdown
threshold register was overwritten with the max value, which effectively
prevents the FPGA from shutting down when the desired threshold was
eached, potentially risking hardware damage in that case.

Remove this code to leave the preconfigured default threshold values
intact.

The code was also disabling all alarms regardless of what enable state
they were left in by the FPGA image, including the overtemperature
shutdown feature. Leave these bits in their original state so they are
not unconditionally disabled.

Fixes: bdc8cda1d0 ("iio:adc: Add Xilinx XADC driver")
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Acked-by: O'Griofa, Conall <conall.ogriofa@amd.com>
Tested-by: O'Griofa, Conall <conall.ogriofa@amd.com>
Link: https://lore.kernel.org/r/20230915001019.2862964-2-robert.hancock@calian.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:29 +01:00
Marek Szyprowski
cb01837e0f iio: exynos-adc: request second interupt only when touchscreen mode is used
commit 865b080e32 upstream.

Second interrupt is needed only when touchscreen mode is used, so don't
request it unconditionally. This removes the following annoying warning
during boot:

exynos-adc 14d10000.adc: error -ENXIO: IRQ index 1 not found

Fixes: 2bb8ad9b44 ("iio: exynos-adc: add experimental touchscreen support")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20231009101412.916922-1-m.szyprowski@samsung.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:29 +01:00
Linus Walleij
7a641bc52f iio: afe: rescale: Accept only offset channels
commit bee448390e upstream.

As noted by Jonathan Cameron: it is perfectly legal for a channel
to have an offset but no scale in addition to the raw interface.
The conversion will imply that scale is 1:1.

Make rescale_configure_channel() accept just scale, or just offset
to process a channel.

When a user asks for IIO_CHAN_INFO_OFFSET in rescale_read_raw()
we now have to deal with the fact that OFFSET could be present
but SCALE missing. Add code to simply scale 1:1 in this case.

Link: https://lore.kernel.org/linux-iio/CACRpkdZXBjHU4t-GVOCFxRO-AHGxKnxMeHD2s4Y4PuC29gBq6g@mail.gmail.com/
Fixes: 53ebee9499 ("iio: afe: iio-rescale: Support processed channels")
Fixes: 9decacd8b3 ("iio: afe: rescale: Fix boolean logic bug")
Reported-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Peter Rosin <peda@axentia.se>
Link: https://lore.kernel.org/r/20230902-iio-rescale-only-offset-v2-1-988b807754c8@linaro.org
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:29 +01:00
Jens Axboe
9236d2ea64 io_uring/fdinfo: lock SQ thread while retrieving thread cpu/pid
commit 7644b1a1c9 upstream.

We could race with SQ thread exit, and if we do, we'll hit a NULL pointer
dereference when the thread is cleared. Grab the SQPOLL data lock before
attempting to get the task cpu and pid for fdinfo, this ensures we have a
stable view of it.

Cc: stable@vger.kernel.org
Link: https://bugzilla.kernel.org/show_bug.cgi?id=218032
Reviewed-by: Gabriel Krisman Bertazi <krisman@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-02 09:35:29 +01:00
Haibo Li
1684909df3 kasan: print the original fault addr when access invalid shadow
commit babddbfb7d upstream.

when the checked address is illegal,the corresponding shadow address from
kasan_mem_to_shadow may have no mapping in mmu table.  Access such shadow
address causes kernel oops.  Here is a sample about oops on arm64(VA
39bit) with KASAN_SW_TAGS and KASAN_OUTLINE on:

[ffffffb80aaaaaaa] pgd=000000005d3ce003, p4d=000000005d3ce003,
    pud=000000005d3ce003, pmd=0000000000000000
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 3 PID: 100 Comm: sh Not tainted 6.6.0-rc1-dirty #43
Hardware name: linux,dummy-virt (DT)
pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : __hwasan_load8_noabort+0x5c/0x90
lr : do_ib_ob+0xf4/0x110
ffffffb80aaaaaaa is the shadow address for efffff80aaaaaaaa.
The problem is reading invalid shadow in kasan_check_range.

The generic kasan also has similar oops.

It only reports the shadow address which causes oops but not
the original address.

Commit 2f004eea0fc8("x86/kasan: Print original address on #GP")
introduce to kasan_non_canonical_hook but limit it to KASAN_INLINE.

This patch extends it to KASAN_OUTLINE mode.

Link: https://lkml.kernel.org/r/20231009073748.159228-1-haibo.li@mediatek.com
Fixes: 2f004eea0fc8("x86/kasan: Print original address on #GP")
Signed-off-by: Haibo Li <haibo.li@mediatek.com>
Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Haibo Li <haibo.li@mediatek.com>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:29 +01:00
Khazhismel Kumykov
6a5b845b57 blk-throttle: check for overflow in calculate_bytes_allowed
commit 2dd710d476 upstream.

Inexact, we may reject some not-overflowing values incorrectly, but
they'll be on the order of exabytes allowed anyways.

This fixes divide error crash on x86 if bps_limit is not configured or
is set too high in the rare case that jiffy_elapsed is greater than HZ.

Fixes: e8368b57c0 ("blk-throttle: use calculate_io/bytes_allowed() for throtl_trim_slice()")
Fixes: 8d6bbaada2 ("blk-throttle: prevent overflow while calculating wait time")
Signed-off-by: Khazhismel Kumykov <khazhy@google.com>
Acked-by: Tejun Heo <tj@kernel.org>
Link: https://lore.kernel.org/r/20231020223617.2739774-1-khazhy@google.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:29 +01:00
Damien Le Moal
bb20a245df scsi: sd: Introduce manage_shutdown device flag
commit 24eca2dce0 upstream.

Commit aa3998dbeb ("ata: libata-scsi: Disable scsi device
manage_system_start_stop") change setting the manage_system_start_stop
flag to false for libata managed disks to enable libata internal
management of disk suspend/resume. However, a side effect of this change
is that on system shutdown, disks are no longer being stopped (set to
standby mode with the heads unloaded). While this is not a critical
issue, this unclean shutdown is not recommended and shows up with
increased smart counters (e.g. the unexpected power loss counter
"Unexpect_Power_Loss_Ct").

Instead of defining a shutdown driver method for all ATA adapter
drivers (not all of them define that operation), this patch resolves
this issue by further refining the sd driver start/stop control of disks
using the new flag manage_shutdown. If this new flag is set to true by
a low level driver, the function sd_shutdown() will issue a
START STOP UNIT command with the start argument set to 0 when a disk
needs to be powered off (suspended) on system power off, that is, when
system_state is equal to SYSTEM_POWER_OFF.

Similarly to the other manage_xxx flags, the new manage_shutdown flag is
exposed through sysfs as a read-write device attribute.

To avoid any confusion between manage_shutdown and
manage_system_start_stop, the comments describing these flags in
include/scsi/scsi.h are also improved.

Fixes: aa3998dbeb ("ata: libata-scsi: Disable scsi device manage_system_start_stop")
Cc: stable@vger.kernel.org
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218038
Link: https://lore.kernel.org/all/cd397c88-bf53-4768-9ab8-9d107df9e613@gmail.com/
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Niklas Cassel <niklas.cassel@wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Acked-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-02 09:35:29 +01:00