linux/arch/powerpc/platforms/pseries
Andrew Donnellan 7096deb7b5 powerpc/pseries: Fix endianness issue when parsing PLPKS secvar flags
When a user updates a variable through the PLPKS secvar interface, we take
the first 8 bytes of the data written to the update attribute to pass
through to the H_PKS_SIGNED_UPDATE hcall as flags. These bytes are always
written in big-endian format.

Currently, the flags bytes are memcpy()ed into a u64, which is then loaded
into a register to pass as part of the hcall. This means that on LE
systems, the bytes are in the wrong order.

Use be64_to_cpup() instead, to ensure the flags bytes are byteswapped if
necessary.

Reported-by: Stefan Berger <stefanb@linux.ibm.com>
Fixes: ccadf154cb ("powerpc/pseries: Implement secvars for dynamic secure boot")
Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20230216070903.355091-1-ajd@linux.ibm.com
2023-02-16 21:16:22 +11:00
..
cc_platform.c powerpc/pseries/svm: Add a powerpc version of cc_platform_has() 2021-10-04 11:46:33 +02:00
cmm.c mm: Convert all PageMovable users to movable_operations 2022-08-02 12:34:03 -04:00
dlpar.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
dtl.c powerpc/pseries: Fix CONFIG_DTL=n build 2022-10-13 22:30:07 +11:00
eeh_pseries.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
event_sources.c powerpc/pseries: Add __init attribute to eligible functions 2021-12-23 22:33:15 +11:00
firmware.c powerpc/pseries: add FW_FEATURE_WATCHDOG flag 2022-07-20 21:57:39 +10:00
hotplug-cpu.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
hotplug-memory.c powerpc: Remove asm/prom.h from all files that don't need it 2022-05-08 22:15:04 +10:00
hvCall_inst.c powerpc/pseries: Make symbol '__pcpu_scope_hcall_stats' static 2021-04-14 23:04:17 +10:00
hvCall.S powerpc/pseries: hvcall stack frame overhead 2022-12-02 17:54:07 +11:00
hvconsole.c powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
hvcserver.c powerpc: move from strlcpy with unused retval to strscpy 2022-08-26 11:02:20 +10:00
ibmebus.c powerpc/pseries: Add missing of_node_put() in ibmebus 2022-09-05 17:28:26 +10:00
io_event_irq.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
iommu.c powerpc/pseries: Fix formatting to make code look more beautiful 2022-11-24 23:31:46 +11:00
Kconfig powerpc/pseries: Implement secvars for dynamic secure boot 2023-02-13 22:34:33 +11:00
kexec.c powerpc: Don't include asm/setup.h in asm/machdep.h 2022-06-20 11:29:49 +10:00
lpar.c powerpc/pseries/lpar: convert to papr_sysparm API 2023-02-13 22:35:03 +11:00
lparcfg.c powerpc/pseries/lparcfg: convert to papr_sysparm API 2023-02-13 22:35:03 +11:00
Makefile powerpc/pseries: PAPR system parameter API 2023-02-13 22:35:03 +11:00
mobility.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
msi.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
nvram.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
of_helpers.c powerpc/pseries: Fix of_read_drc_info_cell() to point at next record 2020-03-25 12:06:43 +11:00
of_helpers.h
papr_platform_attributes.c powerpc: Include asm/firmware.h in all users of firmware_has_feature() 2022-06-29 16:45:05 +10:00
papr_scm.c powerpc/papr_scm: Ensure rc is always initialized in papr_scm_pmu_register() 2022-09-02 18:55:11 +10:00
papr-sysparm.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
pci_dlpar.c powerpc/pseries: Fix use after free in remove_phb_dynamic() 2022-03-21 13:17:47 +11:00
pci.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
plpks-secvar.c powerpc/pseries: Fix endianness issue when parsing PLPKS secvar flags 2023-02-16 21:16:22 +11:00
plpks.c powerpc/pseries: Pass PLPKS password on kexec 2023-02-12 22:12:39 +11:00
pmem.c powerpc: Remove asm/prom.h from all files that don't need it 2022-05-08 22:15:04 +10:00
power.c powerpc: declare unmodified attribute_group usages const 2022-03-08 22:15:32 +11:00
pseries_energy.c powerpc/pseries: Fix drc-info mappings of logical cpus to drc-index 2019-11-13 16:57:57 +11:00
pseries.h powerpc/pseries: wire up rng during setup_arch() 2022-06-18 10:19:10 +10:00
ras.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
reconfig.c powerpc/pseries: block untrusted device tree changes when locked down 2022-09-28 19:22:14 +10:00
rng.c powerpc/pseries: wire up rng during setup_arch() 2022-06-18 10:19:10 +10:00
rtas-fadump.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
rtas-fadump.h powerpc/fadump: support holes in kernel boot memory area 2019-09-14 00:04:46 +10:00
rtas-work-area.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
setup.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
smp.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
suspend.c powerpc/pseries/hibernation: remove prepare_late() callback 2020-12-08 21:41:02 +11:00
svm.c swiotlb: add a SWIOTLB_ANY flag to lift the low memory restriction 2022-04-18 07:21:12 +02:00
vas-sysfs.c powerpc/pseries/vas: Call misc_deregister if sysfs init fails 2022-05-22 15:58:31 +10:00
vas.c powerpc/pseries: Use lparcfg to reconfig VAS windows for DLPAR CPU 2022-10-18 22:46:18 +11:00
vas.h powerpc/pseries: Use lparcfg to reconfig VAS windows for DLPAR CPU 2022-10-18 22:46:18 +11:00
vio.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
vphn.c powerpc/vphn: Check for error from hcall_vphn 2020-03-04 22:44:30 +11:00