linux/arch/x86/kernel
Peter Zijlstra ae25884ad7 unwind_user/x86: Teach FP unwind about start of function
When userspace is interrupted at the start of a function, before we
get a chance to complete the frame, unwind will miss one caller.

X86 has a uprobe specific fixup for this, add bits to the generic
unwinder to support this.

Suggested-by: Jens Remus <jremus@linux.ibm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20251024145156.GM4068168@noisy.programming.kicks-ass.net
2025-10-29 10:29:58 +01:00
..
acpi x86/acpi/cstate: Remove open coded check for cpu_feature_enabled() 2025-09-22 19:16:51 +02:00
apic x86/apic/savic: Do not use snp_abort() 2025-09-04 13:12:51 +02:00
cpu - Remove a bunch of asm implementing condition flags testing in KVM's 2025-10-11 11:19:16 -07:00
fpu kernel-6.18-rc1.clone3 2025-09-29 10:36:50 -07:00
kprobes x86/insn: Simplify for_each_insn_prefix() 2025-10-16 11:13:48 +02:00
.gitignore
Makefile kcfi: Rename CONFIG_CFI_CLANG to CONFIG_CFI 2025-09-24 14:29:14 -07:00
alternative.c x86/insn,uprobes,alternative: Unify insn_is_nop() 2025-10-16 11:13:47 +02:00
amd_gart_64.c x86/platform/amd: Move the <asm/amd_nb.h> header to <asm/amd/nb.h> 2025-04-14 09:34:14 +02:00
amd_nb.c x86/cpuid: Set <asm/cpuid/api.h> as the main CPUID header 2025-05-15 18:23:55 +02:00
amd_node.c x86/platform/amd: Move the <asm/amd_node.h> header to <asm/amd/node.h> 2025-04-14 09:34:17 +02:00
aperture_64.c x86/platform/amd: Move the <asm/amd_nb.h> header to <asm/amd/nb.h> 2025-04-14 09:34:14 +02:00
apm_32.c x86/apm_32: Remove dead function apm_get_battery_status() 2024-02-21 19:38:03 +01:00
asm-offsets.c x86/fred: Play nice with invoking asm_fred_entry_from_kvm() on non-FRED hardware 2025-08-18 14:23:08 +02:00
asm-offsets_32.c x86/asm-offsets: Export certain 'struct cpuinfo_x86' fields for 64-bit asm use too 2025-05-15 09:12:07 +02:00
asm-offsets_64.c x86/stackprotector/64: Convert to normal per-CPU variable 2025-02-18 10:15:09 +01:00
audit_64.c x86/audit: Fix -Wmissing-variable-declarations warning for ia32_xyz_class 2023-08-30 10:11:16 +02:00
bootflag.c x86/bootflag: Replace open-coded parity calculation with parity8() 2025-02-27 14:00:30 +01:00
callthunks.c x86/alternatives: Rename 'apply_relocation()' to 'text_poke_apply_relocation()' 2025-04-11 11:01:35 +02:00
cet.c x86/msr: Add explicit includes of <asm/msr.h> 2025-05-02 10:23:47 +02:00
cfi.c x86/traps: Clarify KCFI instruction layout 2025-09-04 21:59:07 +02:00
check.c
cpuid.c x86/cpuid: make cpuid_class a static const structure 2023-08-05 08:31:41 +02:00
crash.c x86/kexec: fix potential cmem->ranges out of memory 2025-09-13 17:32:54 -07:00
crash_dump_32.c
crash_dump_64.c
devicetree.c x86/of: Don't use DTB for SMP setup if ACPI is enabled 2025-02-25 22:13:02 +01:00
doublefault_32.c
dumpstack.c x86/nmi: Consolidate NMI panic variables 2025-04-01 22:25:56 +02:00
dumpstack_32.c x86/irq: Move irq stacks to percpu hot section 2025-03-04 20:30:33 +01:00
dumpstack_64.c x86/irq: Move irq stacks to percpu hot section 2025-03-04 20:30:33 +01:00
e820.c x86/e820: temporarily enable KHO scratch for memory below 1M 2025-05-12 23:50:41 -07:00
early-quirks.c drm/intel/pciids: rename i915_pciids.h to just pciids.h 2024-10-29 16:14:04 +02:00
early_printk.c Linux 6.15-rc4 2025-05-06 12:03:03 +02:00
ebda.c
eisa.c x86/EISA: Dereference memory directly instead of using readl() 2024-08-29 15:57:09 +02:00
espfix_64.c x86/fred: No ESPFIX needed when FRED is enabled 2024-01-31 22:01:51 +01:00
fred.c x86/msr: Add explicit includes of <asm/msr.h> 2025-05-02 10:23:47 +02:00
ftrace.c x86/ftrace: enable EXECMEM_ROX_CACHE for ftrace allocations 2025-08-02 12:06:12 -07:00
ftrace_32.S fgraph: Replace fgraph_ret_regs with ftrace_regs 2024-12-26 10:50:02 -05:00
ftrace_64.S x86/cfi: Clean up linkage 2025-02-14 10:32:05 +01:00
head32.c x86/microcode: Consolidate the loader enablement checking 2025-05-05 10:51:00 +02:00
head64.c x86/boot: Create a confined code area for startup code 2025-09-03 18:00:01 +02:00
head_32.S x86/boot: Move startup code out of __head section 2025-09-03 18:06:04 +02:00
head_64.S x86/boot: Move startup code out of __head section 2025-09-03 18:06:04 +02:00
hpet.c x86/cpuid: Set <asm/cpuid/api.h> as the main CPUID header 2025-05-15 18:23:55 +02:00
hw_breakpoint.c
i8237.c
i8253.c x86/i8253: Call clockevent_i8253_disable() with interrupts disabled 2025-04-11 07:28:20 +02:00
i8259.c x86/irq: Fix missing declaration of 'io_apic_irqs' 2025-02-27 22:52:37 +01:00
ibt_selftest.S x86/ibt: Convert IBT selftest to asm 2023-08-17 17:07:09 +02:00
idt.c x86/irq: Install posted MSI notification handler 2024-04-30 00:54:42 +02:00
io_delay.c
ioport.c x86/iopl: Cure TIF_IO_BITMAP inconsistencies 2025-06-03 15:56:39 +02:00
irq.c x86/irq: Plug vector setup race 2025-08-04 23:34:03 +02:00
irq_32.c x86/irq: Move irq stacks to percpu hot section 2025-03-04 20:30:33 +01:00
irq_64.c x86/irq: Move irq stacks to percpu hot section 2025-03-04 20:30:33 +01:00
irq_work.c x86/apic: Wrap IPI calls into helper functions 2023-08-09 12:00:55 -07:00
irqflags.S x86/cfi: Clean up linkage 2025-02-14 10:32:05 +01:00
irqinit.c x86/fred: Install system vector handlers even if FRED isn't fully enabled 2025-08-18 14:23:08 +02:00
itmt.c x86/itmt: Add debugfs file to show core priorities 2025-07-07 22:35:51 +02:00
jailhouse.c x86/cpuid: Rename hypervisor_cpuid_base()/for_each_possible_hypervisor_cpuid_base() to cpuid_base_hypervisor()/for_each_possible_cpuid_base_hypervisor() 2025-05-16 10:54:47 +02:00
jump_label.c x86/alternatives: Rename 'text_poke_queue()' to 'smp_text_poke_batch_add()' 2025-04-11 11:01:33 +02:00
kdebugfs.c
kexec-bzimage64.c x86/kexec: carry forward the boot DTB on kexec 2025-09-13 17:32:43 -07:00
kgdb.c x86/traps: Initialize DR7 by writing its architectural reset value 2025-06-24 13:15:52 -07:00
ksysfs.c sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
kvm.c x86/kvm: Prefer native qspinlock for dedicated vCPUs irrespective of PV_UNHALT 2025-09-11 08:58:37 -07:00
kvmclock.c x86/pvops/msr: Refactor pv_cpu_ops.write_msr{,_safe}() 2025-05-02 10:36:36 +02:00
ldt.c x86/bugs: Rename CONFIG_PAGE_TABLE_ISOLATION => CONFIG_MITIGATION_PAGE_TABLE_ISOLATION 2024-01-10 10:52:28 +01:00
machine_kexec_32.c x86/mm: Fix _pgd_alloc() for Xen PV mode 2025-04-23 07:49:14 -07:00
machine_kexec_64.c - Remove a bunch of asm implementing condition flags testing in KVM's 2025-10-11 11:19:16 -07:00
mmconf-fam10h_64.c x86/msr: Rename 'wrmsrl()' to 'wrmsrq()' 2025-04-10 11:58:33 +02:00
module.c Merge commit 'its-for-linus-20250509-merge' into x86/core, to resolve conflicts 2025-05-13 10:47:10 +02:00
mpparse.c x86/mpparse: Cleanup apic_printk()s 2024-08-07 18:13:28 +02:00
msr.c x86/MSR: make msr_class a static const structure 2023-08-05 08:31:42 +02:00
nmi.c x86/nmi: Improve NMI duration console printouts 2025-04-01 22:26:38 +02:00
nmi_selftest.c x86/nmi: Clean up NMI selftest 2025-04-01 22:26:32 +02:00
paravirt-spinlocks.c
paravirt.c x86/paravirt: Restrict PARAVIRT_XXL to 64-bit only 2025-05-17 10:38:29 +02:00
pci-dma.c Documentation: Merge x86-specific boot options doc into kernel-parameters.txt 2024-12-10 18:25:40 +01:00
pcspeaker.c
perf_regs.c
platform-quirks.c
pmem.c
probe_roms.c x86/sev: Skip ROM range scans and validation for SEV-SNP guests 2024-03-26 15:22:35 +01:00
process.c - Make TDX and kexec work together 2025-10-04 10:01:30 -07:00
process.h
process_32.c x86/traps: Initialize DR7 by writing its architectural reset value 2025-06-24 13:15:52 -07:00
process_64.c x86/process: Clear hardware feedback history for AMD processors 2025-07-07 22:30:36 +02:00
ptrace.c x86/ptrace: Use USER_REGSET_NOTE_TYPE() to specify regset note names 2025-07-14 22:27:48 -07:00
pvclock.c
quirks.c x86/platform: Fix missing declaration of 'x86_apple_machine' 2025-02-27 22:52:37 +01:00
reboot.c x86/smp/32: Remove safe_smp_processor_id() 2025-03-03 20:30:09 +01:00
reboot_fixups_32.c x86/msr: Rename 'wrmsrl()' to 'wrmsrq()' 2025-04-10 11:58:33 +02:00
relocate_kernel_32.S x86/asm: Remove semicolon from "rep" prefixes 2025-04-18 09:33:33 +02:00
relocate_kernel_64.S x86/sme: Use percpu boolean to control WBINVD during kexec 2025-09-05 10:40:40 -07:00
resource.c
rethook.c
rtc.c x86/rtc: Remove unused intel-mid.h 2024-04-03 08:24:48 -07:00
setup.c Significant patch series in this pull request: 2025-08-03 16:23:09 -07:00
setup_percpu.c x86/smp: Move this_cpu_off to percpu hot section 2025-03-04 20:30:33 +01:00
sev_verify_cbit.S x86/boot: Use 32-bit XOR to clear registers 2024-03-01 12:47:37 +01:00
shstk.c Performance events updates for v6.18: 2025-09-30 11:11:21 -07:00
signal.c x86/fpu: Convert task_struct::thread.fpu accesses to use x86_task_fpu() 2025-04-14 08:18:29 +02:00
signal_32.c x86/fred/signal: Prevent immediate repeat of single step trap on return from SIGTRAP handler 2025-06-09 08:50:58 -07:00
signal_64.c x86/fred/signal: Prevent immediate repeat of single step trap on return from SIGTRAP handler 2025-06-09 08:50:58 -07:00
smp.c x86/smp: PM/hibernate: Split arch_resume_nosmt() 2025-06-07 14:22:56 +02:00
smpboot.c sched/fair: Get rid of sched_domains_curr_level hack for tl->cpumask() 2025-09-03 10:03:12 +02:00
stacktrace.c
static_call.c Merge commit 'its-for-linus-20250509-merge' into x86/core, to resolve conflicts 2025-05-13 10:47:10 +02:00
step.c x86/msr: Prepare for including <linux/percpu.h> into <asm/msr.h> 2024-03-04 12:01:39 +01:00
sys_ia32.c
sys_x86_64.c arch/x86: teach arch_get_unmapped_area_vmflags to handle hugetlb mappings 2024-11-06 20:11:10 -08:00
tboot.c x86/e820: Drop obsolete E820_TYPE_RESERVED_KERN and related code 2025-02-21 16:05:00 +01:00
time.c x86: stop playing stack games in profile_pc() 2024-06-28 14:27:22 -07:00
tls.c
tls.h
trace.c
trace_clock.c x86/msr: Add explicit includes of <asm/msr.h> 2025-05-02 10:23:47 +02:00
traps.c x86,ibt: Use UDB instead of 0xEA 2025-09-04 21:59:09 +02:00
tsc.c x86/cpuid: Set <asm/cpuid/api.h> as the main CPUID header 2025-05-15 18:23:55 +02:00
tsc_msr.c x86/cpu: Fix #define name for Intel CPU model 0x5A 2025-02-04 10:05:53 -08:00
tsc_sync.c x86/msr: Add explicit includes of <asm/msr.h> 2025-05-02 10:23:47 +02:00
umip.c x86/umip: Fix decoding of register forms of 0F 01 (SGDT and SIDT aliases) 2025-09-19 21:34:48 +02:00
unwind_frame.c
unwind_guess.c
unwind_orc.c x86: Use RCU in all users of __module_address(). 2025-03-10 11:54:45 +01:00
uprobes.c unwind_user/x86: Teach FP unwind about start of function 2025-10-29 10:29:58 +01:00
verify_cpu.S x86/cpufeatures: Generate the <asm/cpufeaturemasks.h> header based on build config 2025-03-19 11:15:11 +01:00
vm86_32.c arch: remove get_task_comm() and print task comm directly 2025-01-12 20:21:15 -08:00
vmcore_info_32.c crash: split vmcoreinfo exporting code out from crash_core.c 2024-02-23 17:48:22 -08:00
vmcore_info_64.c crash: split vmcoreinfo exporting code out from crash_core.c 2024-02-23 17:48:22 -08:00
vmlinux.lds.S x86/boot: Get rid of the .head.text section 2025-09-03 18:06:32 +02:00
vsmp_64.c x86/apic: Remove unused phys_pkg_id() callback 2024-02-15 22:07:38 +01:00
x86_init.c xen: allow mapping ACPI data using a different physical address 2024-09-12 08:25:07 +02:00