Commit graph

1,399,042 commits

Author SHA1 Message Date
André Apitzsch
cf3dcd80db arm64: dts: qcom: msm8976: Add sdc2 GPIOs
Downstream vendor code for reference:

https://git.codelinaro.org/clo/la/kernel/msm-3.10/-/blob/LA.BR.1.3.7.c26/arch/arm/boot/dts/qcom/msm8976-pinctrl.dtsi#L223-263

Signed-off-by: André Apitzsch <git@apitzsch.eu>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250615-bqx5plus-v2-3-72b45c84237d@apitzsch.eu
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-06-18 15:55:12 -05:00
André Apitzsch
3440c6d1f8 dt-bindings: arm: qcom: Add MSM8976 BQ Aquaris X5 Plus
BQ Aquaris X5 Plus (Longcheer L9360) is a smartphone based on MSM8976
SoC.

Signed-off-by: André Apitzsch <git@apitzsch.eu>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250615-bqx5plus-v2-2-72b45c84237d@apitzsch.eu
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-06-18 15:55:12 -05:00
André Apitzsch
76270a18db arm64: dts: qcom: msm8976: Make blsp_dma controlled-remotely
The blsp_dma controller is shared between the different subsystems,
which is why it is already initialized by the firmware. We should not
reinitialize it from Linux to avoid potential other users of the DMA
engine to misbehave.

In mainline this can be described using the "qcom,controlled-remotely"
property. In the downstream/vendor kernel from Qualcomm there is an
opposite "qcom,managed-locally" property. This property is *not* set
for the qcom,sps-dma@7884000 and qcom,sps-dma@7ac4000 [1] so adding
"qcom,controlled-remotely" upstream matches the behavior of the
downstream/vendor kernel.

Adding this fixes booting Longcheer L9360.

[1]: https://git.codelinaro.org/clo/la/kernel/msm-3.10/-/blob/LA.BR.1.3.7.c26/arch/arm/boot/dts/qcom/msm8976.dtsi#L1149-1163

Fixes: 0484d3ce09 ("arm64: dts: qcom: Add DTS for MSM8976 and MSM8956 SoCs")
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: André Apitzsch <git@apitzsch.eu>
Link: https://lore.kernel.org/r/20250615-bqx5plus-v2-1-72b45c84237d@apitzsch.eu
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-06-18 15:55:12 -05:00
Ankit Chauhan
e72fe8cbd8 selftests/ptrace: Fix spelling mistake "multible" -> "multiple"
Fix the spelling error from "multible" to "multiple".

Link: https://lore.kernel.org/r/20250501060329.126117-1-ankitchauhan2065@gmail.com
Signed-off-by: Ankit Chauhan <ankitchauhan2065@gmail.com>
Reviewed-by: Brigham Campbell <me@brighamcampbell.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2025-06-18 14:22:55 -06:00
Jakub Kicinski
4f451b977e Merge branch 'eth-migrate-more-drivers-to-new-rxfh-callbacks'
Jakub Kicinski says:

====================
eth: migrate more drivers to new RXFH callbacks

Migrate a batch of drivers to the recently added dedicated
.get_rxfh_fields and .set_rxfh_fields ethtool callbacks.
====================

Link: https://patch.msgid.link/20250617014848.436741-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-06-18 13:19:08 -07:00
Jakub Kicinski
c2cd2f6125 eth: sxgbe: migrate to new RXFH callbacks
Migrate to new callbacks added by commit 9bb00786fc ("net: ethtool:
add dedicated callbacks for getting and setting rxfh fields").

RXFH is all this driver supports in RXNFC so old callbacks are
completely removed.

Reviewed-by: Joe Damato <joe@dama.to>
Link: https://patch.msgid.link/20250617014848.436741-6-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-06-18 13:19:01 -07:00
Jakub Kicinski
20ffe3bbc2 eth: dpaa2: migrate to new RXFH callbacks
Migrate to new callbacks added by commit 9bb00786fc ("net: ethtool:
add dedicated callbacks for getting and setting rxfh fields").

Reviewed-by: Joe Damato <joe@dama.to>
Link: https://patch.msgid.link/20250617014848.436741-5-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-06-18 13:19:00 -07:00
Jakub Kicinski
17da66f140 eth: dpaa: migrate to new RXFH callbacks
Migrate to new callbacks added by commit 9bb00786fc ("net: ethtool:
add dedicated callbacks for getting and setting rxfh fields").

RXFH is all this driver supports in RXNFC so old callbacks are
completely removed.

Reviewed-by: Joe Damato <joe@dama.to>
Link: https://patch.msgid.link/20250617014848.436741-4-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-06-18 13:19:00 -07:00
Jakub Kicinski
b6f7e4fafe eth: mvpp2: migrate to new RXFH callbacks
Migrate to new callbacks added by commit 9bb00786fc ("net: ethtool:
add dedicated callbacks for getting and setting rxfh fields").

Reviewed-by: Joe Damato <joe@dama.to>
Link: https://patch.msgid.link/20250617014848.436741-3-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-06-18 13:19:00 -07:00
Jakub Kicinski
b82d92dd71 eth: niu: migrate to new RXFH callbacks
Migrate to new callbacks added by commit 9bb00786fc ("net: ethtool:
add dedicated callbacks for getting and setting rxfh fields").

Reviewed-by: Joe Damato <joe@dama.to>
Link: https://patch.msgid.link/20250617014848.436741-2-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-06-18 13:19:00 -07:00
Jakub Kicinski
2fca0d1277 Merge branch 'eth-migrate-some-drivers-to-new-rxfh-callbacks'
Jakub Kicinski says:

====================
eth: migrate some drivers to new RXFH callbacks

Migrate a batch of drivers to the recently added dedicated
.get_rxfh_fields and .set_rxfh_fields ethtool callbacks.
====================

Link: https://patch.msgid.link/20250617014555.434790-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-06-18 13:17:52 -07:00
Jakub Kicinski
f99ff3c2a3 eth: otx2: migrate to new RXFH callbacks
Migrate to new callbacks added by commit 9bb00786fc ("net: ethtool:
add dedicated callbacks for getting and setting rxfh fields").

Link: https://patch.msgid.link/20250617014555.434790-6-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-06-18 13:17:50 -07:00
Jakub Kicinski
e8b8738439 eth: thunder: migrate to new RXFH callbacks
Migrate to new callbacks added by commit 9bb00786fc ("net: ethtool:
add dedicated callbacks for getting and setting rxfh fields").

The driver has no other RXNFC functionality so the SET callback can
be now removed.

Link: https://patch.msgid.link/20250617014555.434790-5-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-06-18 13:17:47 -07:00
Jakub Kicinski
e7860a6e18 eth: ena: migrate to new RXFH callbacks
Migrate to new callbacks added by commit 9bb00786fc ("net: ethtool:
add dedicated callbacks for getting and setting rxfh fields").

The driver has no other RXNFC functionality so the SET callback can
be now removed.

Reviewed-by: David Arinzon <darinzon@amazon.com>
Link: https://patch.msgid.link/20250617014555.434790-4-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-06-18 13:17:43 -07:00
Jakub Kicinski
82113468a0 eth: bnxt: migrate to new RXFH callbacks
Migrate to new callbacks added by commit 9bb00786fc ("net: ethtool:
add dedicated callbacks for getting and setting rxfh fields").

Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20250617014555.434790-3-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-06-18 13:17:38 -07:00
Jakub Kicinski
f1a6fcc454 eth: bnx2x: migrate to new RXFH callbacks
Migrate to new callbacks added by commit 9bb00786fc ("net: ethtool:
add dedicated callbacks for getting and setting rxfh fields").

The driver has no other RXNFC functionality so the SET callback can
be now removed.

Reviewed-by: Subbaraya Sundeep <sbhatta@marvell.com>
Link: https://patch.msgid.link/20250617014555.434790-2-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-06-18 13:17:32 -07:00
Chen Ridong
37fb58a727 cgroup,freezer: fix incomplete freezing when attaching tasks
An issue was found:

	# cd /sys/fs/cgroup/freezer/
	# mkdir test
	# echo FROZEN > test/freezer.state
	# cat test/freezer.state
	FROZEN
	# sleep 1000 &
	[1] 863
	# echo 863 > test/cgroup.procs
	# cat test/freezer.state
	FREEZING

When tasks are migrated to a frozen cgroup, the freezer fails to
immediately freeze the tasks, causing the cgroup to remain in the
"FREEZING".

The freeze_task() function is called before clearing the CGROUP_FROZEN
flag. This causes the freezing() check to incorrectly return false,
preventing __freeze_task() from being invoked for the migrated task.

To fix this issue, clear the CGROUP_FROZEN state before calling
freeze_task().

Fixes: f5d39b0208 ("freezer,sched: Rewrite core freezer logic")
Cc: stable@vger.kernel.org # v6.1+
Reported-by: Zhong Jiawei <zhongjiawei1@huawei.com>
Signed-off-by: Chen Ridong <chenridong@huawei.com>
Acked-by: Michal Koutný <mkoutny@suse.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2025-06-18 09:43:30 -10:00
Sakari Ailus
cd4da713f9 Documentation: PM: *_autosuspend() functions update last busy time
Document that the *_autosuspend() variants of the Runtime PM functions
update the last busy timestamp.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://patch.msgid.link/20250616061212.2286741-7-sakari.ailus@linux.intel.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 21:41:08 +02:00
Sakari Ailus
18c1fe53d1 PM: runtime: Mark last busy stamp in pm_request_autosuspend()
Set device's last busy timestamp to current time in
pm_request_autosuspend().

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://patch.msgid.link/20250616061212.2286741-6-sakari.ailus@linux.intel.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 21:41:08 +02:00
Sakari Ailus
08071e64cb PM: runtime: Mark last busy stamp in pm_runtime_autosuspend()
Set device's last busy timestamp to current time in
pm_runtime_autosuspend().

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://patch.msgid.link/20250616061212.2286741-5-sakari.ailus@linux.intel.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 21:41:08 +02:00
Sakari Ailus
e24e0630b5 PM: runtime: Mark last busy stamp in pm_runtime_put_sync_autosuspend()
Set device's last busy timestamp to current time in
pm_runtime_put_sync_autosuspend().

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://patch.msgid.link/20250616061212.2286741-4-sakari.ailus@linux.intel.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 21:41:08 +02:00
Sakari Ailus
b3db492e83 PM: runtime: Mark last busy stamp in pm_runtime_put_autosuspend()
Set device's last busy timestamp to current time in
pm_runtime_put_autosuspend(). Callers wishing not to do that will need to
use __pm_runtime_put_autosuspend().

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://patch.msgid.link/20250616061212.2286741-3-sakari.ailus@linux.intel.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 21:41:08 +02:00
Sakari Ailus
271ff96d60 PM: runtime: Document return values of suspend-related API functions
Document return values for device suspend and idle related API
functions.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Link: https://patch.msgid.link/20250616061212.2286741-2-sakari.ailus@linux.intel.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 21:41:08 +02:00
Shashank Balaji
221504a634 cpufreq: docs: userspace: Explain HW coordination influence
Extend the "scaling_setspeed" sysfs attribute description in the
userspace governor documentation to cover possible differences
between the requested and actual CPU frequency.

Signed-off-by: Shashank Balaji <shashank.mahadasyam@sony.com>
Link: https://patch.msgid.link/20250527-userspace-governor-doc-v2-2-0e22c69920f2@sony.com
[ rjw: Subject and changelog edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 21:33:01 +02:00
Shashank Balaji
2e1185c9d7 cpufreq: userspace: set CPUFREQ_GOV_STRICT_TARGET flag
When the userspace governor is used, the user intends to set a fixed CPU
frequency for a policy, for whatever reason. The CPUFREQ_GOV_STRICT_TARGET
flag is the required behaviour. Without this flag, the intel_pstate driver,
with HWP enabled, will set HWP_MIN_PERF to the target frequency and
HWP_MAX_PERF to the policy maximum, when configuring the HWP_REQUEST MSR.

This lets the hardware choose any frequency between the target frequency
and the policy maximum, which is not the intended behaviour. To fix this,
`cat scaling_setspeed > scaling_max_freq` had to be done. With this patch,
that is no longer necessary. Setting scaling_setspeed is sufficient, as
expected.

Signed-off-by: Shashank Balaji <shashank.mahadasyam@sony.com>
Link: https://patch.msgid.link/20250527-userspace-governor-doc-v2-1-0e22c69920f2@sony.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 21:33:01 +02:00
Srinivas Pandruvada
b65b8ed7e8 thermal: int340x: processor_thermal: Add Wildcat Lake PCI ID
Add Wildcat Lake PCI ID for processor thermal device.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Link: https://patch.msgid.link/20250617231940.3314546-1-srinivas.pandruvada@linux.intel.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 21:16:40 +02:00
Stephen Smalley
17bd3c0166 documentation: add links to SELinux resources
Add links to the SELinux kernel subsystem README.md file, the
SELinux kernel wiki, and the SELinux userspace wiki to the
SELinux guide.

Signed-off-by: Stephen Smalley <stephen.smalley.work@gmail.com>
[PM: spacing and style corrections, subject tweak]
Signed-off-by: Paul Moore <paul@paul-moore.com>
2025-06-18 15:12:54 -04:00
Rafael J. Wysocki
6fcab27915 ACPICA: Refuse to evaluate a method if arguments are missing
As reported in [1], a platform firmware update that increased the number
of method parameters and forgot to update a least one of its callers,
caused ACPICA to crash due to use-after-free.

Since this a result of a clear AML issue that arguably cannot be fixed
up by the interpreter (it cannot produce missing data out of thin air),
address it by making ACPICA refuse to evaluate a method if the caller
attempts to pass fewer arguments than expected to it.

Closes: https://github.com/acpica/acpica/issues/1027 [1]
Reported-by: Peter Williams <peter@newton.cx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Hans de Goede <hansg@kernel.org>
Tested-by: Hans de Goede <hansg@kernel.org> # Dell XPS 9640 with BIOS 1.12.0
Link: https://patch.msgid.link/5909446.DvuYhMxLoT@rjwysocki.net
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 21:12:13 +02:00
Mario Limonciello
814eca1085 ACPI: Enable CONFIG_ACPI_DEBUG by default
CONFIG_ACPI_DEBUG can be helpful for getting debug messages on OEM
systems to identify a BIOS bug.  It's a relatively small size increase
to turn it on by default (50kb) and that saves asking people to enable
it when an issue comes up because it wasn't in defconfig.

Enable it by default.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Link: https://patch.msgid.link/20250609030706.465202-1-superm1@kernel.org
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 21:09:12 +02:00
Lifeng Zheng
c83a92df2f cpufreq: CPPC: Remove forward declaration of cppc_cpufreq_register_em()
cppc_cpufreq_register_em() is only used in populate_efficiency_class(). A
forward declaration of it is not necessary.

Move cppc_cpufreq_register_em() in front of populate_efficiency_class()
and remove the forward declaration of cppc_cpufreq_register_em().

No functional change.

Signed-off-by: Lifeng Zheng <zhenglifeng1@huawei.com>
Link: https://patch.msgid.link/20250526113057.3086513-4-zhenglifeng1@huawei.com
[ rjw: Changelog edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 21:03:52 +02:00
Lifeng Zheng
3d5978ea6c cpufreq: CPPC: Do not return a value from populate_efficiency_class()
The return value of populate_efficiency_class() is never needed and the
result of it doesn't affect the initialization of cppc_cpufreq.

It makes more sense to change it into a void function.

Signed-off-by: Lifeng Zheng <zhenglifeng1@huawei.com>
Link: https://patch.msgid.link/20250526113057.3086513-3-zhenglifeng1@huawei.com
[ rjw: Subject and changelog edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 21:03:52 +02:00
Lifeng Zheng
d80a756240 cpufreq: CPPC: Remove cpu_data_list
After commit a28b2bfc09 ("cppc_cpufreq: replace per-cpu data array with a
list"), cpu_data can be got from policy->driver_data, so cpu_data_list is
not actually needed and can be removed.

Signed-off-by: Lifeng Zheng <zhenglifeng1@huawei.com>
Link: https://patch.msgid.link/20250526113057.3086513-2-zhenglifeng1@huawei.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 21:03:52 +02:00
Tzung-Bi Shih
e42ad39318 kunit: Add test for static stub
__kunit_activate_static_stub() works effectively as
kunit_deactivate_static_stub() if `replacement_addr` is NULL.

Add a test case to catch the issue discovered in
commit 772e50a76e ("kunit: Fix wrong parameter to kunit_deactivate_static_stub()").

For running the test:

$ ./tools/testing/kunit/kunit.py run \
        --arch=x86_64 \
        kunit_stub

Fixed change log:
Shuah Khan <skhan@linuxfoundation.org>

Link: https://lore.kernel.org/r/20250612084834.587576-1-tzungbi@kernel.org
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2025-06-18 12:56:18 -06:00
Srinivas Pandruvada
9cf45756a4 ACPI: DPTF: Support for Wildcat Lake
Add Wildcat Lake ACPI IDs for DPTF.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Link: https://patch.msgid.link/20250617231824.3314507-1-srinivas.pandruvada@linux.intel.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 20:53:52 +02:00
Chris Li
4a089c0b3f PCI/MSI: Remove duplicated to_pci_dev() conversion
In pci_msi_update_mask(), "lock = &to_pci_dev()" does the to_pci_dev()
lookup, and there's another one buried inside msi_desc_to_pci_dev().

Introduce a local variable to remove that duplication.

Signed-off-by: Chris Li <chrisl@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/all/20250617-pci-msi-avoid-dup-pcidev-v1-1-ed75b0419023@kernel.org
2025-06-18 20:50:04 +02:00
Zaid Alali
8b148a9793 ACPI: APEI: EINJ: Update the documentation for EINJv2 support
Add documentation based on implementation of EINJv2 as described in ACPI
6.5.A specification.

[Tony: New user interface for device id and syndrome]

Link: https://uefi.org/specs/ACPI/6.5_A/18_Platform_Error_Interfaces.html#error-injection
Co-developed-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Zaid Alali <zaidal@os.amperecomputing.com>
Link: https://patch.msgid.link/20250617193026.637510-8-zaidal@os.amperecomputing.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 20:49:32 +02:00
Zaid Alali
b47610296d ACPI: APEI: EINJ: Enable EINJv2 error injections
Enable injection using EINJv2 mode of operation.

[Tony: Mostly Zaid's original code. I just changed how the error ID
and syndrome bits are implemented. Also swapped out some camelcase
variable names]

Co-developed-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Zaid Alali <zaidal@os.amperecomputing.com>
Link: https://patch.msgid.link/20250617193026.637510-7-zaidal@os.amperecomputing.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 20:49:32 +02:00
Tony Luck
90711f7bdf ACPI: APEI: EINJ: Create debugfs files to enter device id and syndrome
EINJv2 allows users to inject multiple errors at the same time by
specifying the device id and syndrome bits for each error in a flex
array.

Create files in the einj debugfs directory to enter data for each
device id and syndrome value. Note that the specification says these
are 128-bit little-endian values. Linux doesn't have a handy helper
to manage objects of this type.

Signed-off-by: Tony Luck <tony.luck@intel.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Zaid Alali <zaidal@os.amperecomputing.com>
Link: https://patch.msgid.link/20250617193026.637510-6-zaidal@os.amperecomputing.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 20:49:32 +02:00
Zaid Alali
691a0f0a55 ACPI: APEI: EINJ: Discover EINJv2 parameters
The EINJv2 set_error_type_with_address structure has a flex array
to hold the component IDs and syndrome values used when injecting
multiple errors at once.

Discover the size of this array by taking the address from the
ACPI_EINJ_SET_ERROR_TYPE_WITH_ADDRESS entry in the EINJ table
and reading the BIOS copy of the structure.

Derive the maximum number of components from the length field
in the einjv2_extension_struct at the end of the BIOS copy.

Map the whole of the structure into kernel memory (and unmap
on module unload).

[Tony: Code unchanged from Zaid's original. New commit message]

Reviewed-by: Tony Luck <tony.luck@intel.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Zaid Alali <zaidal@os.amperecomputing.com>
Link: https://patch.msgid.link/20250617193026.637510-5-zaidal@os.amperecomputing.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 20:49:31 +02:00
Zaid Alali
21cd921b1a ACPI: APEI: EINJ: Add einjv2 extension struct
Add einjv2 extension struct and EINJv2 error types to prepare
the driver for EINJv2 support. ACPI specifications[1] enables
EINJv2 by extending set_error_type_with_address struct.

Link: https://uefi.org/specs/ACPI/6.6/18_Platform_Error_Interfaces.html#einjv2-extension-structure [1]

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Zaid Alali <zaidal@os.amperecomputing.com>
Link: https://patch.msgid.link/20250617193026.637510-4-zaidal@os.amperecomputing.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 20:49:31 +02:00
Zaid Alali
0c6176e1e1 ACPI: APEI: EINJ: Enable the discovery of EINJv2 capabilities
Enable the driver to show all supported error injections for EINJ
and EINJv2 at the same time. EINJv2 capabilities can be discovered
by checking the return value of get_error_type, where bit 30 set
indicates EINJv2 support.

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Zaid Alali <zaidal@os.amperecomputing.com>
Link: https://patch.msgid.link/20250617193026.637510-3-zaidal@os.amperecomputing.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 20:49:31 +02:00
Zaid Alali
1a35c88302 ACPI: APEI: EINJ: Fix kernel test sparse warnings
This patch fixes the kernel test robot warning reported here:
Link: https://lore.kernel.org/all/202410241620.oApALow5-lkp@intel.com/

Use pointers annotated with the __iomem marker for all iomem map calls,
and creates a local copy of the mapped IO memory for future access in
the code. memcpy_fromio() and memcpy_toio() are used to read/write data
from/to mapped IO memory.

Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Zaid Alali <zaidal@os.amperecomputing.com>
Link: https://patch.msgid.link/20250617193026.637510-2-zaidal@os.amperecomputing.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-06-18 20:49:31 +02:00
Pali Rohár
840738eae9 cifs: Remove duplicate fattr->cf_dtype assignment from wsl_to_fattr() function
Commit 8bd25b61c5 ("smb: client: set correct d_type for reparse DFS/DFSR
and mount point") deduplicated assignment of fattr->cf_dtype member from
all places to end of the function cifs_reparse_point_to_fattr(). The only
one missing place which was not deduplicated is wsl_to_fattr(). Fix it.

Fixes: 8bd25b61c5 ("smb: client: set correct d_type for reparse DFS/DFSR and mount point")
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
2025-06-18 13:27:52 -05:00
Bharath SM
306cb65bb0 smb: fix secondary channel creation issue with kerberos by populating hostname when adding channels
When mounting a share with kerberos authentication with multichannel
support, share mounts correctly, but fails to create secondary
channels. This occurs because the hostname is not populated when
adding the channels. The hostname is necessary for the userspace
cifs.upcall program to retrieve the required credentials and pass
it back to kernel, without hostname secondary channels fails
establish.

Cc: stable@vger.kernel.org
Reviewed-by: Shyam Prasad N <sprasad@microsoft.com>
Signed-off-by: Bharath SM <bharathsm@microsoft.com>
Reported-by: xfuren <xfuren@gmail.com>
Link: https://bugzilla.samba.org/show_bug.cgi?id=15824
Signed-off-by: Steve French <stfrench@microsoft.com>
2025-06-18 13:27:45 -05:00
Qiuxu Zhuo
88efa0de32 EDAC/igen6: Fix NULL pointer dereference
A kernel panic was reported with the following kernel log:

  EDAC igen6: Expected 2 mcs, but only 1 detected.
  BUG: unable to handle page fault for address: 000000000000d570
  ...
  Hardware name: Notebook V54x_6x_TU/V54x_6x_TU, BIOS Dasharo (coreboot+UEFI) v0.9.0 07/17/2024
  RIP: e030:ecclog_handler+0x7e/0xf0 [igen6_edac]
  ...
  igen6_probe+0x2a0/0x343 [igen6_edac]
  ...
  igen6_init+0xc5/0xff0 [igen6_edac]
  ...

This issue occurred because one memory controller was disabled by
the BIOS but the igen6_edac driver still checked all the memory
controllers, including this absent one, to identify the source of
the error. Accessing the null MMIO for the absent memory controller
resulted in the oops above.

Fix this issue by reverting the configuration structure to non-const
and updating the field 'res_cfg->num_imc' to reflect the number of
detected memory controllers.

Fixes: 20e190b1c1 ("EDAC/igen6: Skip absent memory controllers")
Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Closes: https://lore.kernel.org/all/aFFN7RlXkaK_loQb@mail-itl/
Suggested-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Link: https://lore.kernel.org/r/20250618162307.1523736-1-qiuxu.zhuo@intel.com
2025-06-18 20:19:45 +02:00
Linus Torvalds
5adb635077 selinux/stable-6.16 PR 20250618
-----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCgAyFiEES0KozwfymdVUl37v6iDy2pc3iXMFAmhS6WAUHHBhdWxAcGF1
 bC1tb29yZS5jb20ACgkQ6iDy2pc3iXO4SxAAq46cqsQ7sx6OEe699Xjl+/J6qcZ9
 W4+dnV0f82dR9xzTlHPBgD5TjDOVvorUSHnRPla6CDgsf+/Yg2nmGQ1c/TU9/uFw
 Tgy8GLaGXPaQYxQnbCgT3X3oF6fC8swYDU8a1L+siuggNXBUmliwrd9UDs7uGDWf
 lD2WSKJGzkLjY56EodEZ7kvpiKe8cQX2WI91l4lCk7vxFpgpUr0OEKTOoPucJjJa
 8pzbQxZTOWf2VIPdYBIyfUYfRRFPWuK6yYGgpgjHOpLVRqmug0s8HudEKGl1AFvq
 vjOF+dhWOcNwG9x729ZwPdOjPGstSs0sjczs/L74tCoJeLoVqo3CKeBo17Kn/ZvP
 Lqji1dSZv/F8hiIXxj5uWB9emYaTBKIZiN8fcbCB8KeJSwkukMYb6z5Jtuooe+c5
 ZHppePXBDCk7yR/EUyYt4oLR+YrtLfvQ3HOdM3bzN3ng05iUYVXz7pyooeZFYIq7
 6k+Zm7wfAba4Jn3aJbaYxj6NZbVQFCYavavxoBUgrKBkppfh+g8OHAS5vtLPoXkR
 vI5RMKi/ZbagXpH1LAaCpDdrRfrt3W3a85GRvsJLGc1iazP1GGQ3R4ZHATdIihpZ
 G+b11ufwfGnXjFIqzSv8Ccic1txBJrKvreUGnd3YEXaFqMapQ5JAkJ1bVbD7g+nF
 rpQ9cNw33Vlttm4=
 =HE5Y
 -----END PGP SIGNATURE-----

Merge tag 'selinux-pr-20250618' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux

Pull selinux fix from Paul Moore:
 "A small SELinux patch to resolve a UBSAN warning in the
  xfrm/labeled-IPsec code"

* tag 'selinux-pr-20250618' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
  selinux: fix selinux_xfrm_alloc_user() to set correct ctx_len
2025-06-18 10:32:01 -07:00
Linus Torvalds
5da3ff1fd0 ftrace fix for 6.16:
- Do not blindly enable function_graph tracer when updating funcgraph-args
 
   When the option to trace function arguments in the function graph trace
   is updated, it requires the function graph tracer to switch its
   callback routine. It disables function graph tracing, updates the
   callback and then re-enables function graph tracing.
 
   The issue is that it doesn't check if function graph tracing is
   currently enabled or not. If it is not enabled, it will try to
   disable it and re-enable it (which will actually enable it even though
   it is not the current tracer). This cause an issue in the accounting
   and will trigger a WARN_ON() if the function tracer is enabled after
   that.
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYKADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCaFLfBRQccm9zdGVkdEBn
 b29kbWlzLm9yZwAKCRAp5XQQmuv6qn5bAQDkMJYRnqh6tPekKooigRJ05JfBDTnv
 ZlR2WZXxKUEzswEAyefKlAR/2mYlZSd7AObOnq4WxGxRSjDsplGN3sm2EgE=
 =ngiv
 -----END PGP SIGNATURE-----

Merge tag 'ftrace-v6.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull ftrace fix from Steven Rostedt:

 - Do not blindly enable function_graph tracer when updating
   funcgraph-args

   When the option to trace function arguments in the function graph
   trace is updated, it requires the function graph tracer to switch its
   callback routine. It disables function graph tracing, updates the
   callback and then re-enables function graph tracing.

   The issue is that it doesn't check if function graph tracing is
   currently enabled or not. If it is not enabled, it will try to
   disable it and re-enable it (which will actually enable it even
   though it is not the current tracer). This causes an issue in the
   accounting and will trigger a WARN_ON() if the function tracer is
   enabled after that.

* tag 'ftrace-v6.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
  fgraph: Do not enable function_graph tracer when setting funcgraph-args
2025-06-18 10:24:50 -07:00
Linus Torvalds
5a3b583f20 ata fixes for 6.16-rc3
- Force PIO for ATAPI devices on VT6415/VT6330 as the controller locks up
    on ATAPI DMA (Tasos)
 
  - Fix ACPI PATA cable type detection such that the controller is not
    forced down to a slow transfer mode (Tasos)
 
  - Fix build error on 32-bit UML (Johannes)
 
  - Fix a PCI region leak in the pata_macio driver so that the driver no
    longer fails to load after rmmod (Philipp)
 
  - Use correct DMI BIOS build date for ThinkPad W541 quirk (me)
 
  - Disallow LPM for ASUSPRO-D840SA motherboard as this board interestingly
    enough gets graphical corruptions on the iGPU when LPM is enabled (me)
 
  - Disallow LPM for Asus B550-F motherboard as this board will get command
    timeouts on ports 5 and 6, yet LPM with the same drive works fine on
    all other ports (Mikko)
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRN+ES/c4tHlMch3DzJZDGjmcZNcgUCaFKSFwAKCRDJZDGjmcZN
 colHAP9hxeB/ajtYDRUsOiR+TNSENruPwSEUTC/NNQGWHJdaugEA110Jx+HzFkb+
 WCDjZTnlKSFTR+HOZlGqftPg8eAidQo=
 =etpA
 -----END PGP SIGNATURE-----

Merge tag 'ata-6.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux

Pull ata fixes from Niklas Cassel:

 - Force PIO for ATAPI devices on VT6415/VT6330 as the controller locks
   up on ATAPI DMA (Tasos)

 - Fix ACPI PATA cable type detection such that the controller is not
   forced down to a slow transfer mode (Tasos)

 - Fix build error on 32-bit UML (Johannes)

 - Fix a PCI region leak in the pata_macio driver so that the driver no
   longer fails to load after rmmod (Philipp)

 - Use correct DMI BIOS build date for ThinkPad W541 quirk (me)

 - Disallow LPM for ASUSPRO-D840SA motherboard as this board
   interestingly enough gets graphical corruptions on the iGPU when LPM
   is enabled (me)

 - Disallow LPM for Asus B550-F motherboard as this board will get
   command timeouts on ports 5 and 6, yet LPM with the same drive works
   fine on all other ports (Mikko)

* tag 'ata-6.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
  ata: ahci: Disallow LPM for Asus B550-F motherboard
  ata: ahci: Disallow LPM for ASUSPRO-D840SA motherboard
  ata: ahci: Use correct BIOS build date for ThinkPad W541 quirk
  ata: pata_macio: Fix PCI region leak
  ata: pata_cs5536: fix build on 32-bit UML
  ata: libata-acpi: Do not assume 40 wire cable if no devices are enabled
  ata: pata_via: Force PIO for ATAPI devices on VT6415/VT6330
2025-06-18 10:21:39 -07:00
Alex Deucher
fe79ef3530 drm/amdgpu/sdma5.2: init engine reset mutex
Missing the mutex init.

Fixes: 47454f2dc0 ("drm/amdgpu: Register the new sdma function pointers for sdma_v5_2")
Reviewed-by: Jesse Zhang <Jesse.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit ea685ff30a)
2025-06-18 13:17:49 -04:00
Jay Cornwall
cfb05257ae drm/amdkfd: Fix race in GWS queue scheduling
q->gws is not updated atomically with qpd->mapped_gws_queue. If a
runlist is created between pqm_set_gws and update_queue it will
contain a queue which uses GWS in a process with no GWS allocated.
This will result in a scheduler hang.

Use q->properties.is_gws which is changed while holding the DQM lock.

Signed-off-by: Jay Cornwall <jay.cornwall@amd.com>
Reviewed-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit b98370220e)
Cc: stable@vger.kernel.org
2025-06-18 13:17:32 -04:00