linux-stable/arch/x86/xen
Justin Stitt 0fc6ff5a0f xen/efi: refactor deprecated strncpy
`strncpy` is deprecated for use on NUL-terminated destination strings [1].

`efi_loader_signature` has space for 4 bytes. We are copying "Xen" (3 bytes)
plus a NUL-byte which makes 4 total bytes. With that being said, there is
currently not a bug with the current `strncpy()` implementation in terms of
buffer overreads but we should favor a more robust string interface
either way.

A suitable replacement is `strscpy` [2] due to the fact that it guarantees
NUL-termination on the destination buffer while being functionally the
same in this case.

Link: www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings[1]
Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [2]
Link: https://github.com/KSPP/linux/issues/90
Cc: linux-hardening@vger.kernel.org
Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Justin Stitt <justinstitt@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20230911-strncpy-arch-x86-xen-efi-c-v1-1-96ab2bba2feb@google.com
Signed-off-by: Juergen Gross <jgross@suse.com>
2023-09-19 07:04:49 +02:00
..
apic.c x86/xen/apic: Mark apic __ro_after_init 2023-08-09 12:00:46 -07:00
debugfs.c
debugfs.h
efi.c xen/efi: refactor deprecated strncpy 2023-09-19 07:04:49 +02:00
enlighten.c xen: simplify evtchn_do_upcall() call maze 2023-09-19 07:04:49 +02:00
enlighten_hvm.c xen: simplify evtchn_do_upcall() call maze 2023-09-19 07:04:49 +02:00
enlighten_pv.c x86/xen: allow nesting of same lazy mode 2023-09-19 07:04:49 +02:00
enlighten_pvh.c x86/PVH: avoid 32-bit build warning when obtaining VGA console info 2023-03-22 16:59:46 +01:00
grant-table.c x86/xen: open code alloc_vm_area in arch_gnttab_valloc 2020-10-18 09:27:10 -07:00
irq.c cpuidle, xenpv: Make more PARAVIRT_XXL noinstr clean 2023-01-13 11:48:16 +01:00
Kconfig xen/pv: support selecting safe/unsafe msr accesses 2022-10-11 10:51:05 +02:00
Makefile x86/PVH: obtain VGA console info in Dom0 2023-03-14 15:20:51 +01:00
mmu.c
mmu.h
mmu_hvm.c proc/vmcore: convert oldmem_pfn_is_ram callback to more generic vmcore callbacks 2021-11-09 10:02:48 -08:00
mmu_pv.c x86/xen: move paravirt lazy code 2023-09-19 07:04:49 +02:00
multicalls.c
multicalls.h x86/xen: move paravirt lazy code 2023-09-19 07:04:49 +02:00
p2m.c x86/xen: Remove the unused function p2m_index() 2023-01-09 07:54:28 +01:00
platform-pci-unplug.c x86: xen: platform-pci-unplug: use pr_err() and pr_warn() instead of raw printk() 2021-08-30 12:09:54 +02:00
pmu.c x86/xen: silence smatch warning in pmu_msr_chk_emulated() 2022-11-03 10:23:26 +01:00
pmu.h xen: fix is_xen_pmu() 2022-03-25 14:22:53 -05:00
setup.c dma-maping updates for Linux 6.6 2023-08-29 20:32:10 -07:00
smp.c x86/xen: Fix memory leak in xen_smp_intr_init{_pv}() 2022-12-05 12:59:50 +01:00
smp.h x86: xen: add missing prototypes 2023-06-26 07:47:11 +02:00
smp_hvm.c x86/smpboot: Switch to hotplug core state synchronization 2023-05-15 13:44:56 +02:00
smp_pv.c x86/xen/pv: Pretend that it found SMP configuration 2023-08-09 11:58:21 -07:00
spinlock.c x86/xen: Fix memory leak in xen_init_lock_cpu() 2022-12-05 12:59:50 +01:00
suspend.c
suspend_hvm.c x86/xen: Add support for HVMOP_set_evtchn_upcall_vector 2022-08-12 11:28:21 +02:00
suspend_pv.c locking/seqlock, headers: Untangle the spaghetti monster 2020-08-06 16:13:13 +02:00
time.c x86/tsc: Provide sched_clock_noinstr() 2023-06-05 21:11:08 +02:00
trace.c
vga.c x86/PVH: obtain VGA console info in Dom0 2023-03-14 15:20:51 +01:00
xen-asm.S x86/shstk: Add user control-protection fault handler 2023-08-02 15:01:50 -07:00
xen-head.S x86/Xen: tidy xen-head.S 2023-07-04 06:57:38 +02:00
xen-ops.h x86: xen: add missing prototypes 2023-06-26 07:47:11 +02:00