[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.20
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
src
/
kernels
/
4.18.0-553.63.1.el8_10.x86_64
/
arch
/
x86
/
include
/
asm
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📁 crypto
SET
[ DEL ]
📁 e820
SET
[ DEL ]
📁 fpu
SET
[ DEL ]
📁 numachip
SET
[ DEL ]
📁 shared
SET
[ DEL ]
📁 trace
SET
[ DEL ]
📁 uv
SET
[ DEL ]
📁 vdso
SET
[ DEL ]
📁 xen
SET
[ DEL ]
📄 Kbuild
319 B
SET
[ EDIT ]
|
[ DEL ]
📄 a.out-core.h
1,931 B
SET
[ EDIT ]
|
[ DEL ]
📄 acenv.h
1,596 B
SET
[ EDIT ]
|
[ DEL ]
📄 acpi.h
5,225 B
SET
[ EDIT ]
|
[ DEL ]
📄 agp.h
1,070 B
SET
[ EDIT ]
|
[ DEL ]
📄 alternative.h
11,407 B
SET
[ EDIT ]
|
[ DEL ]
📄 amd-ibs.h
5,020 B
SET
[ EDIT ]
|
[ DEL ]
📄 amd_hsmp.h
364 B
SET
[ EDIT ]
|
[ DEL ]
📄 amd_nb.h
3,086 B
SET
[ EDIT ]
|
[ DEL ]
📄 apb_timer.h
1,466 B
SET
[ EDIT ]
|
[ DEL ]
📄 apic.h
14,661 B
SET
[ EDIT ]
|
[ DEL ]
📄 apic_flat_64.h
151 B
SET
[ EDIT ]
|
[ DEL ]
📄 apicdef.h
11,565 B
SET
[ EDIT ]
|
[ DEL ]
📄 apm.h
1,768 B
SET
[ EDIT ]
|
[ DEL ]
📄 arch_hweight.h
1,311 B
SET
[ EDIT ]
|
[ DEL ]
📄 archrandom.h
3,221 B
SET
[ EDIT ]
|
[ DEL ]
📄 asm-offsets.h
35 B
SET
[ EDIT ]
|
[ DEL ]
📄 asm-prototypes.h
946 B
SET
[ EDIT ]
|
[ DEL ]
📄 asm.h
5,186 B
SET
[ EDIT ]
|
[ DEL ]
📄 atomic.h
6,279 B
SET
[ EDIT ]
|
[ DEL ]
📄 atomic64_32.h
8,150 B
SET
[ EDIT ]
|
[ DEL ]
📄 atomic64_64.h
5,933 B
SET
[ EDIT ]
|
[ DEL ]
📄 audit.h
170 B
SET
[ EDIT ]
|
[ DEL ]
📄 barrier.h
2,471 B
SET
[ EDIT ]
|
[ DEL ]
📄 bios_ebda.h
914 B
SET
[ EDIT ]
|
[ DEL ]
📄 bitops.h
10,727 B
SET
[ EDIT ]
|
[ DEL ]
📄 boot.h
1,825 B
SET
[ EDIT ]
|
[ DEL ]
📄 bootparam_utils.h
2,907 B
SET
[ EDIT ]
|
[ DEL ]
📄 bug.h
2,117 B
SET
[ EDIT ]
|
[ DEL ]
📄 bugs.h
533 B
SET
[ EDIT ]
|
[ DEL ]
📄 cache.h
641 B
SET
[ EDIT ]
|
[ DEL ]
📄 cacheflush.h
306 B
SET
[ EDIT ]
|
[ DEL ]
📄 cacheinfo.h
209 B
SET
[ EDIT ]
|
[ DEL ]
📄 calgary.h
2,370 B
SET
[ EDIT ]
|
[ DEL ]
📄 ce4100.h
121 B
SET
[ EDIT ]
|
[ DEL ]
📄 checksum.h
133 B
SET
[ EDIT ]
|
[ DEL ]
📄 checksum_32.h
4,964 B
SET
[ EDIT ]
|
[ DEL ]
📄 checksum_64.h
5,541 B
SET
[ EDIT ]
|
[ DEL ]
📄 clocksource.h
480 B
SET
[ EDIT ]
|
[ DEL ]
📄 cmdline.h
302 B
SET
[ EDIT ]
|
[ DEL ]
📄 cmpxchg.h
7,891 B
SET
[ EDIT ]
|
[ DEL ]
📄 cmpxchg_32.h
3,247 B
SET
[ EDIT ]
|
[ DEL ]
📄 cmpxchg_64.h
552 B
SET
[ EDIT ]
|
[ DEL ]
📄 coco.h
482 B
SET
[ EDIT ]
|
[ DEL ]
📄 compat.h
4,861 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpu.h
2,607 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpu_device_id.h
8,109 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpu_entry_area.h
4,162 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpufeature.h
9,470 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpufeatures.h
32,633 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpuid.h
498 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpuidle_haltpoll.h
189 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpumask.h
408 B
SET
[ EDIT ]
|
[ DEL ]
📄 crash.h
300 B
SET
[ EDIT ]
|
[ DEL ]
📄 current.h
443 B
SET
[ EDIT ]
|
[ DEL ]
📄 debugreg.h
3,411 B
SET
[ EDIT ]
|
[ DEL ]
📄 delay.h
275 B
SET
[ EDIT ]
|
[ DEL ]
📄 desc.h
12,274 B
SET
[ EDIT ]
|
[ DEL ]
📄 desc_defs.h
3,396 B
SET
[ EDIT ]
|
[ DEL ]
📄 device.h
328 B
SET
[ EDIT ]
|
[ DEL ]
📄 disabled-features.h
3,559 B
SET
[ EDIT ]
|
[ DEL ]
📄 div64.h
2,189 B
SET
[ EDIT ]
|
[ DEL ]
📄 dma-mapping.h
288 B
SET
[ EDIT ]
|
[ DEL ]
📄 dma.h
9,827 B
SET
[ EDIT ]
|
[ DEL ]
📄 dmi.h
556 B
SET
[ EDIT ]
|
[ DEL ]
📄 dwarf2.h
2,487 B
SET
[ EDIT ]
|
[ DEL ]
📄 edac.h
474 B
SET
[ EDIT ]
|
[ DEL ]
📄 efi.h
7,416 B
SET
[ EDIT ]
|
[ DEL ]
📄 elf.h
12,640 B
SET
[ EDIT ]
|
[ DEL ]
📄 emergency-restart.h
202 B
SET
[ EDIT ]
|
[ DEL ]
📄 emulate_prefix.h
484 B
SET
[ EDIT ]
|
[ DEL ]
📄 enclu.h
181 B
SET
[ EDIT ]
|
[ DEL ]
📄 entry_arch.h
1,922 B
SET
[ EDIT ]
|
[ DEL ]
📄 espfix.h
426 B
SET
[ EDIT ]
|
[ DEL ]
📄 exec.h
37 B
SET
[ EDIT ]
|
[ DEL ]
📄 export.h
120 B
SET
[ EDIT ]
|
[ DEL ]
📄 extable.h
1,300 B
SET
[ EDIT ]
|
[ DEL ]
📄 fb.h
540 B
SET
[ EDIT ]
|
[ DEL ]
📄 fixmap.h
6,381 B
SET
[ EDIT ]
|
[ DEL ]
📄 floppy.h
6,748 B
SET
[ EDIT ]
|
[ DEL ]
📄 frame.h
2,237 B
SET
[ EDIT ]
|
[ DEL ]
📄 fsgsbase.h
2,072 B
SET
[ EDIT ]
|
[ DEL ]
📄 ftrace.h
2,777 B
SET
[ EDIT ]
|
[ DEL ]
📄 futex.h
2,269 B
SET
[ EDIT ]
|
[ DEL ]
📄 gart.h
2,682 B
SET
[ EDIT ]
|
[ DEL ]
📄 genapic.h
22 B
SET
[ EDIT ]
|
[ DEL ]
📄 geode.h
842 B
SET
[ EDIT ]
|
[ DEL ]
📄 hardirq.h
2,207 B
SET
[ EDIT ]
|
[ DEL ]
📄 highmem.h
2,466 B
SET
[ EDIT ]
|
[ DEL ]
📄 hpet.h
3,461 B
SET
[ EDIT ]
|
[ DEL ]
📄 hugetlb.h
1,867 B
SET
[ EDIT ]
|
[ DEL ]
📄 hw_breakpoint.h
2,112 B
SET
[ EDIT ]
|
[ DEL ]
📄 hw_irq.h
4,126 B
SET
[ EDIT ]
|
[ DEL ]
📄 hyperv-tlfs.h
22,337 B
SET
[ EDIT ]
|
[ DEL ]
📄 hypervisor.h
1,975 B
SET
[ EDIT ]
|
[ DEL ]
📄 i8259.h
1,975 B
SET
[ EDIT ]
|
[ DEL ]
📄 ia32.h
1,789 B
SET
[ EDIT ]
|
[ DEL ]
📄 ia32_unistd.h
313 B
SET
[ EDIT ]
|
[ DEL ]
📄 imr.h
1,849 B
SET
[ EDIT ]
|
[ DEL ]
📄 inat.h
6,736 B
SET
[ EDIT ]
|
[ DEL ]
📄 inat_types.h
1,013 B
SET
[ EDIT ]
|
[ DEL ]
📄 init.h
632 B
SET
[ EDIT ]
|
[ DEL ]
📄 insn-eval.h
1,546 B
SET
[ EDIT ]
|
[ DEL ]
📄 insn.h
8,098 B
SET
[ EDIT ]
|
[ DEL ]
📄 inst.h
5,453 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel-family.h
5,168 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel-mid.h
5,025 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_ds.h
849 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_mid_vrtc.h
330 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_pconfig.h
1,545 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_pmc_ipc.h
2,267 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_pt.h
1,276 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_punit_ipc.h
4,666 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_scu_ipc.h
2,351 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_telemetry.h
4,060 B
SET
[ EDIT ]
|
[ DEL ]
📄 invpcid.h
1,604 B
SET
[ EDIT ]
|
[ DEL ]
📄 io.h
11,872 B
SET
[ EDIT ]
|
[ DEL ]
📄 io_apic.h
5,890 B
SET
[ EDIT ]
|
[ DEL ]
📄 iomap.h
1,228 B
SET
[ EDIT ]
|
[ DEL ]
📄 iommu.h
935 B
SET
[ EDIT ]
|
[ DEL ]
📄 iosf_mbi.h
7,354 B
SET
[ EDIT ]
|
[ DEL ]
📄 ipi.h
2,873 B
SET
[ EDIT ]
|
[ DEL ]
📄 irq.h
1,415 B
SET
[ EDIT ]
|
[ DEL ]
📄 irq_regs.h
683 B
SET
[ EDIT ]
|
[ DEL ]
📄 irq_remapping.h
2,865 B
SET
[ EDIT ]
|
[ DEL ]
📄 irq_vectors.h
4,105 B
SET
[ EDIT ]
|
[ DEL ]
📄 irq_work.h
465 B
SET
[ EDIT ]
|
[ DEL ]
📄 irqdomain.h
1,796 B
SET
[ EDIT ]
|
[ DEL ]
📄 irqflags.h
4,161 B
SET
[ EDIT ]
|
[ DEL ]
📄 ist.h
735 B
SET
[ EDIT ]
|
[ DEL ]
📄 jailhouse_para.h
449 B
SET
[ EDIT ]
|
[ DEL ]
📄 jump_label.h
2,529 B
SET
[ EDIT ]
|
[ DEL ]
📄 kasan.h
1,291 B
SET
[ EDIT ]
|
[ DEL ]
📄 kaslr.h
314 B
SET
[ EDIT ]
|
[ DEL ]
📄 kbdleds.h
454 B
SET
[ EDIT ]
|
[ DEL ]
📄 kdebug.h
1,042 B
SET
[ EDIT ]
|
[ DEL ]
📄 kexec-bzimage64.h
195 B
SET
[ EDIT ]
|
[ DEL ]
📄 kexec.h
5,843 B
SET
[ EDIT ]
|
[ DEL ]
📄 kgdb.h
2,143 B
SET
[ EDIT ]
|
[ DEL ]
📄 kprobes.h
3,701 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvm-x86-ops.h
3,989 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvm_host.h
63,925 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvm_page_track.h
2,700 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvm_para.h
4,422 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvm_types.h
178 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvm_vcpu_regs.h
606 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvmclock.h
506 B
SET
[ EDIT ]
|
[ DEL ]
📄 linkage.h
1,268 B
SET
[ EDIT ]
|
[ DEL ]
📄 livepatch.h
1,039 B
SET
[ EDIT ]
|
[ DEL ]
📄 local.h
3,925 B
SET
[ EDIT ]
|
[ DEL ]
📄 local64.h
33 B
SET
[ EDIT ]
|
[ DEL ]
📄 mach_timer.h
1,590 B
SET
[ EDIT ]
|
[ DEL ]
📄 mach_traps.h
1,013 B
SET
[ EDIT ]
|
[ DEL ]
📄 math_emu.h
395 B
SET
[ EDIT ]
|
[ DEL ]
📄 mc146818rtc.h
2,835 B
SET
[ EDIT ]
|
[ DEL ]
📄 mce.h
11,909 B
SET
[ EDIT ]
|
[ DEL ]
📄 mcsafe_test.h
1,418 B
SET
[ EDIT ]
|
[ DEL ]
📄 mem_encrypt.h
3,543 B
SET
[ EDIT ]
|
[ DEL ]
📄 memtype.h
815 B
SET
[ EDIT ]
|
[ DEL ]
📄 microcode.h
3,557 B
SET
[ EDIT ]
|
[ DEL ]
📄 microcode_amd.h
1,373 B
SET
[ EDIT ]
|
[ DEL ]
📄 microcode_intel.h
2,619 B
SET
[ EDIT ]
|
[ DEL ]
📄 misc.h
143 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmconfig.h
374 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmu.h
1,689 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmu_context.h
10,118 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmx.h
337 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmzone.h
129 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmzone_32.h
1,188 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmzone_64.h
430 B
SET
[ EDIT ]
|
[ DEL ]
📄 module.h
2,096 B
SET
[ EDIT ]
|
[ DEL ]
📄 mpspec.h
4,023 B
SET
[ EDIT ]
|
[ DEL ]
📄 mpspec_def.h
4,256 B
SET
[ EDIT ]
|
[ DEL ]
📄 mpx.h
3,125 B
SET
[ EDIT ]
|
[ DEL ]
📄 mshyperv.h
10,142 B
SET
[ EDIT ]
|
[ DEL ]
📄 msi.h
1,508 B
SET
[ EDIT ]
|
[ DEL ]
📄 msidef.h
1,814 B
SET
[ EDIT ]
|
[ DEL ]
📄 msr-index.h
42,400 B
SET
[ EDIT ]
|
[ DEL ]
📄 msr-trace.h
1,387 B
SET
[ EDIT ]
|
[ DEL ]
📄 msr.h
11,290 B
SET
[ EDIT ]
|
[ DEL ]
📄 mtrr.h
4,753 B
SET
[ EDIT ]
|
[ DEL ]
📄 mwait.h
4,968 B
SET
[ EDIT ]
|
[ DEL ]
📄 nmi.h
1,496 B
SET
[ EDIT ]
|
[ DEL ]
📄 nops.h
4,412 B
SET
[ EDIT ]
|
[ DEL ]
📄 nospec-branch.h
14,158 B
SET
[ EDIT ]
|
[ DEL ]
📄 numa.h
2,228 B
SET
[ EDIT ]
|
[ DEL ]
📄 numa_32.h
256 B
SET
[ EDIT ]
|
[ DEL ]
📄 olpc.h
3,240 B
SET
[ EDIT ]
|
[ DEL ]
📄 olpc_ofw.h
1,128 B
SET
[ EDIT ]
|
[ DEL ]
📄 orc_lookup.h
1,665 B
SET
[ EDIT ]
|
[ DEL ]
📄 orc_types.h
3,577 B
SET
[ EDIT ]
|
[ DEL ]
📄 page.h
2,517 B
SET
[ EDIT ]
|
[ DEL ]
📄 page_32.h
1,039 B
SET
[ EDIT ]
|
[ DEL ]
📄 page_32_types.h
1,691 B
SET
[ EDIT ]
|
[ DEL ]
📄 page_64.h
1,573 B
SET
[ EDIT ]
|
[ DEL ]
📄 page_64_types.h
2,208 B
SET
[ EDIT ]
|
[ DEL ]
📄 page_types.h
2,369 B
SET
[ EDIT ]
|
[ DEL ]
📄 paravirt.h
24,608 B
SET
[ EDIT ]
|
[ DEL ]
📄 paravirt_types.h
22,709 B
SET
[ EDIT ]
|
[ DEL ]
📄 parport.h
314 B
SET
[ EDIT ]
|
[ DEL ]
📄 pci-direct.h
740 B
SET
[ EDIT ]
|
[ DEL ]
📄 pci-functions.h
654 B
SET
[ EDIT ]
|
[ DEL ]
📄 pci.h
3,288 B
SET
[ EDIT ]
|
[ DEL ]
📄 pci_64.h
684 B
SET
[ EDIT ]
|
[ DEL ]
📄 pci_x86.h
6,283 B
SET
[ EDIT ]
|
[ DEL ]
📄 percpu.h
20,267 B
SET
[ EDIT ]
|
[ DEL ]
📄 perf_event.h
17,896 B
SET
[ EDIT ]
|
[ DEL ]
📄 perf_event_p4.h
26,731 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgalloc.h
6,591 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable-2level.h
2,815 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable-2level_types.h
867 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable-3level.h
8,832 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable-3level_types.h
1,007 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable-invert.h
1,091 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable.h
35,801 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable_32.h
3,159 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable_32_types.h
2,121 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable_64.h
7,474 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable_64_types.h
4,365 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable_types.h
17,149 B
SET
[ EDIT ]
|
[ DEL ]
📄 pkeys.h
3,542 B
SET
[ EDIT ]
|
[ DEL ]
📄 pkru.h
1,346 B
SET
[ EDIT ]
|
[ DEL ]
📄 platform_sst_audio.h
3,290 B
SET
[ EDIT ]
|
[ DEL ]
📄 pm-trace.h
611 B
SET
[ EDIT ]
|
[ DEL ]
📄 posix_types.h
144 B
SET
[ EDIT ]
|
[ DEL ]
📄 preempt.h
3,217 B
SET
[ EDIT ]
|
[ DEL ]
📄 probe_roms.h
273 B
SET
[ EDIT ]
|
[ DEL ]
📄 processor-cyrix.h
879 B
SET
[ EDIT ]
|
[ DEL ]
📄 processor-flags.h
1,750 B
SET
[ EDIT ]
|
[ DEL ]
📄 processor.h
24,480 B
SET
[ EDIT ]
|
[ DEL ]
📄 prom.h
1,028 B
SET
[ EDIT ]
|
[ DEL ]
📄 proto.h
1,313 B
SET
[ EDIT ]
|
[ DEL ]
📄 pti.h
429 B
SET
[ EDIT ]
|
[ DEL ]
📄 ptrace.h
8,996 B
SET
[ EDIT ]
|
[ DEL ]
📄 purgatory.h
235 B
SET
[ EDIT ]
|
[ DEL ]
📄 pvclock-abi.h
1,530 B
SET
[ EDIT ]
|
[ DEL ]
📄 pvclock.h
2,702 B
SET
[ EDIT ]
|
[ DEL ]
📄 qrwlock.h
199 B
SET
[ EDIT ]
|
[ DEL ]
📄 qspinlock.h
2,598 B
SET
[ EDIT ]
|
[ DEL ]
📄 qspinlock_paravirt.h
1,908 B
SET
[ EDIT ]
|
[ DEL ]
📄 realmode.h
2,064 B
SET
[ EDIT ]
|
[ DEL ]
📄 reboot.h
898 B
SET
[ EDIT ]
|
[ DEL ]
📄 reboot_fixups.h
183 B
SET
[ EDIT ]
|
[ DEL ]
📄 refcount.h
2,911 B
SET
[ EDIT ]
|
[ DEL ]
📄 required-features.h
3,043 B
SET
[ EDIT ]
|
[ DEL ]
📄 resctrl.h
3,064 B
SET
[ EDIT ]
|
[ DEL ]
📄 rio.h
2,630 B
SET
[ EDIT ]
|
[ DEL ]
📄 rmwcc.h
2,259 B
SET
[ EDIT ]
|
[ DEL ]
📄 seccomp.h
510 B
SET
[ EDIT ]
|
[ DEL ]
📄 sections.h
916 B
SET
[ EDIT ]
|
[ DEL ]
📄 segment.h
11,184 B
SET
[ EDIT ]
|
[ DEL ]
📄 serial.h
1,137 B
SET
[ EDIT ]
|
[ DEL ]
📄 set_memory.h
5,381 B
SET
[ EDIT ]
|
[ DEL ]
📄 setup.h
3,751 B
SET
[ EDIT ]
|
[ DEL ]
📄 setup_arch.h
77 B
SET
[ EDIT ]
|
[ DEL ]
📄 sev-common.h
4,867 B
SET
[ EDIT ]
|
[ DEL ]
📄 sev.h
6,965 B
SET
[ EDIT ]
|
[ DEL ]
📄 sgx.h
13,157 B
SET
[ EDIT ]
|
[ DEL ]
📄 shmparam.h
193 B
SET
[ EDIT ]
|
[ DEL ]
📄 sigcontext.h
261 B
SET
[ EDIT ]
|
[ DEL ]
📄 sigframe.h
2,339 B
SET
[ EDIT ]
|
[ DEL ]
📄 sighandling.h
730 B
SET
[ EDIT ]
|
[ DEL ]
📄 signal.h
2,424 B
SET
[ EDIT ]
|
[ DEL ]
📄 simd.h
287 B
SET
[ EDIT ]
|
[ DEL ]
📄 smap.h
2,247 B
SET
[ EDIT ]
|
[ DEL ]
📄 smp.h
5,500 B
SET
[ EDIT ]
|
[ DEL ]
📄 sparsemem.h
994 B
SET
[ EDIT ]
|
[ DEL ]
📄 spec-ctrl.h
3,143 B
SET
[ EDIT ]
|
[ DEL ]
📄 special_insns.h
7,536 B
SET
[ EDIT ]
|
[ DEL ]
📄 spinlock.h
1,214 B
SET
[ EDIT ]
|
[ DEL ]
📄 spinlock_types.h
719 B
SET
[ EDIT ]
|
[ DEL ]
📄 sta2x11.h
352 B
SET
[ EDIT ]
|
[ DEL ]
📄 stackprotector.h
3,966 B
SET
[ EDIT ]
|
[ DEL ]
📄 stacktrace.h
2,619 B
SET
[ EDIT ]
|
[ DEL ]
📄 string.h
129 B
SET
[ EDIT ]
|
[ DEL ]
📄 string_32.h
7,929 B
SET
[ EDIT ]
|
[ DEL ]
📄 string_64.h
4,237 B
SET
[ EDIT ]
|
[ DEL ]
📄 suspend.h
503 B
SET
[ EDIT ]
|
[ DEL ]
📄 suspend_32.h
938 B
SET
[ EDIT ]
|
[ DEL ]
📄 suspend_64.h
1,838 B
SET
[ EDIT ]
|
[ DEL ]
📄 svm.h
14,672 B
SET
[ EDIT ]
|
[ DEL ]
📄 switch_to.h
3,258 B
SET
[ EDIT ]
|
[ DEL ]
📄 sync_bitops.h
3,503 B
SET
[ EDIT ]
|
[ DEL ]
📄 sync_core.h
3,138 B
SET
[ EDIT ]
|
[ DEL ]
📄 syscall.h
5,489 B
SET
[ EDIT ]
|
[ DEL ]
📄 syscall_wrapper.h
7,780 B
SET
[ EDIT ]
|
[ DEL ]
📄 syscalls.h
1,332 B
SET
[ EDIT ]
|
[ DEL ]
📄 sysfb.h
2,600 B
SET
[ EDIT ]
|
[ DEL ]
📄 tce.h
1,724 B
SET
[ EDIT ]
|
[ DEL ]
📄 tdx.h
2,360 B
SET
[ EDIT ]
|
[ DEL ]
📄 text-patching.h
4,812 B
SET
[ EDIT ]
|
[ DEL ]
📄 thermal.h
428 B
SET
[ EDIT ]
|
[ DEL ]
📄 thread_info.h
8,805 B
SET
[ EDIT ]
|
[ DEL ]
📄 time.h
331 B
SET
[ EDIT ]
|
[ DEL ]
📄 timer.h
1,027 B
SET
[ EDIT ]
|
[ DEL ]
📄 timex.h
305 B
SET
[ EDIT ]
|
[ DEL ]
📄 tlb.h
1,103 B
SET
[ EDIT ]
|
[ DEL ]
📄 tlbbatch.h
332 B
SET
[ EDIT ]
|
[ DEL ]
📄 tlbflush.h
17,814 B
SET
[ EDIT ]
|
[ DEL ]
📄 topology.h
6,654 B
SET
[ EDIT ]
|
[ DEL ]
📄 trace_clock.h
406 B
SET
[ EDIT ]
|
[ DEL ]
📄 trap_pf.h
709 B
SET
[ EDIT ]
|
[ DEL ]
📄 trapnr.h
1,316 B
SET
[ EDIT ]
|
[ DEL ]
📄 traps.h
5,374 B
SET
[ EDIT ]
|
[ DEL ]
📄 tsc.h
1,950 B
SET
[ EDIT ]
|
[ DEL ]
📄 uaccess.h
21,233 B
SET
[ EDIT ]
|
[ DEL ]
📄 uaccess_32.h
1,006 B
SET
[ EDIT ]
|
[ DEL ]
📄 uaccess_64.h
3,129 B
SET
[ EDIT ]
|
[ DEL ]
📄 umip.h
329 B
SET
[ EDIT ]
|
[ DEL ]
📄 unaligned.h
345 B
SET
[ EDIT ]
|
[ DEL ]
📄 unistd.h
1,482 B
SET
[ EDIT ]
|
[ DEL ]
📄 unwind.h
3,220 B
SET
[ EDIT ]
|
[ DEL ]
📄 unwind_hints.h
3,342 B
SET
[ EDIT ]
|
[ DEL ]
📄 uprobes.h
1,686 B
SET
[ EDIT ]
|
[ DEL ]
📄 user.h
2,257 B
SET
[ EDIT ]
|
[ DEL ]
📄 user32.h
2,156 B
SET
[ EDIT ]
|
[ DEL ]
📄 user_32.h
5,042 B
SET
[ EDIT ]
|
[ DEL ]
📄 user_64.h
5,339 B
SET
[ EDIT ]
|
[ DEL ]
📄 vdso.h
1,400 B
SET
[ EDIT ]
|
[ DEL ]
📄 vga.h
740 B
SET
[ EDIT ]
|
[ DEL ]
📄 vgtod.h
518 B
SET
[ EDIT ]
|
[ DEL ]
📄 virtext.h
3,102 B
SET
[ EDIT ]
|
[ DEL ]
📄 vm86.h
2,212 B
SET
[ EDIT ]
|
[ DEL ]
📄 vmware.h
1,942 B
SET
[ EDIT ]
|
[ DEL ]
📄 vmx.h
26,763 B
SET
[ EDIT ]
|
[ DEL ]
📄 vmxfeatures.h
6,049 B
SET
[ EDIT ]
|
[ DEL ]
📄 vsyscall.h
920 B
SET
[ EDIT ]
|
[ DEL ]
📄 vvar.h
1,603 B
SET
[ EDIT ]
|
[ DEL ]
📄 word-at-a-time.h
2,596 B
SET
[ EDIT ]
|
[ DEL ]
📄 x86_init.h
11,520 B
SET
[ EDIT ]
|
[ DEL ]
📄 xor.h
10,508 B
SET
[ EDIT ]
|
[ DEL ]
📄 xor_32.h
14,748 B
SET
[ EDIT ]
|
[ DEL ]
📄 xor_64.h
716 B
SET
[ EDIT ]
|
[ DEL ]
📄 xor_avx.h
4,610 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: mmu_context.h
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _ASM_X86_MMU_CONTEXT_H #define _ASM_X86_MMU_CONTEXT_H #include <asm/desc.h> #include <linux/atomic.h> #include <linux/mm_types.h> #include <linux/pkeys.h> #include <trace/events/tlb.h> #include <asm/pgalloc.h> #include <asm/tlbflush.h> #include <asm/paravirt.h> #include <asm/mpx.h> extern atomic64_t last_mm_ctx_id; #ifndef CONFIG_PARAVIRT static inline void paravirt_activate_mm(struct mm_struct *prev, struct mm_struct *next) { } #endif /* !CONFIG_PARAVIRT */ #ifdef CONFIG_PERF_EVENTS extern void perf_clear_dirty_counters(void); DECLARE_STATIC_KEY_FALSE(rdpmc_never_available_key); DECLARE_STATIC_KEY_FALSE(rdpmc_always_available_key); static inline void load_mm_cr4(struct mm_struct *mm) { if (static_branch_unlikely(&rdpmc_always_available_key) || (!static_branch_unlikely(&rdpmc_never_available_key) && atomic_read(&mm->context.perf_rdpmc_allowed))) { /* * Clear the existing dirty counters to * prevent the leak for an RDPMC task. */ perf_clear_dirty_counters(); cr4_set_bits(X86_CR4_PCE); } else cr4_clear_bits(X86_CR4_PCE); } #else static inline void load_mm_cr4(struct mm_struct *mm) {} #endif #ifdef CONFIG_MODIFY_LDT_SYSCALL /* * ldt_structs can be allocated, used, and freed, but they are never * modified while live. */ struct ldt_struct { /* * Xen requires page-aligned LDTs with special permissions. This is * needed to prevent us from installing evil descriptors such as * call gates. On native, we could merge the ldt_struct and LDT * allocations, but it's not worth trying to optimize. */ struct desc_struct *entries; unsigned int nr_entries; /* * If PTI is in use, then the entries array is not mapped while we're * in user mode. The whole array will be aliased at the addressed * given by ldt_slot_va(slot). We use two slots so that we can allocate * and map, and enable a new LDT without invalidating the mapping * of an older, still-in-use LDT. * * slot will be -1 if this LDT doesn't have an alias mapping. */ int slot; }; /* This is a multiple of PAGE_SIZE. */ #define LDT_SLOT_STRIDE (LDT_ENTRIES * LDT_ENTRY_SIZE) static inline void *ldt_slot_va(int slot) { return (void *)(LDT_BASE_ADDR + LDT_SLOT_STRIDE * slot); } /* * Used for LDT copy/destruction. */ static inline void init_new_context_ldt(struct mm_struct *mm) { mm->context.ldt = NULL; init_rwsem(&mm->context.ldt_usr_sem); } int ldt_dup_context(struct mm_struct *oldmm, struct mm_struct *mm); void destroy_context_ldt(struct mm_struct *mm); void ldt_arch_exit_mmap(struct mm_struct *mm); #else /* CONFIG_MODIFY_LDT_SYSCALL */ static inline void init_new_context_ldt(struct mm_struct *mm) { } static inline int ldt_dup_context(struct mm_struct *oldmm, struct mm_struct *mm) { return 0; } static inline void destroy_context_ldt(struct mm_struct *mm) { } static inline void ldt_arch_exit_mmap(struct mm_struct *mm) { } #endif static inline void load_mm_ldt(struct mm_struct *mm) { #ifdef CONFIG_MODIFY_LDT_SYSCALL struct ldt_struct *ldt; /* READ_ONCE synchronizes with smp_store_release */ ldt = READ_ONCE(mm->context.ldt); /* * Any change to mm->context.ldt is followed by an IPI to all * CPUs with the mm active. The LDT will not be freed until * after the IPI is handled by all such CPUs. This means that, * if the ldt_struct changes before we return, the values we see * will be safe, and the new values will be loaded before we run * any user code. * * NB: don't try to convert this to use RCU without extreme care. * We would still need IRQs off, because we don't want to change * the local LDT after an IPI loaded a newer value than the one * that we can see. */ if (unlikely(ldt)) { if (static_cpu_has(X86_FEATURE_PTI)) { if (WARN_ON_ONCE((unsigned long)ldt->slot > 1)) { /* * Whoops -- either the new LDT isn't mapped * (if slot == -1) or is mapped into a bogus * slot (if slot > 1). */ clear_LDT(); return; } /* * If page table isolation is enabled, ldt->entries * will not be mapped in the userspace pagetables. * Tell the CPU to access the LDT through the alias * at ldt_slot_va(ldt->slot). */ set_ldt(ldt_slot_va(ldt->slot), ldt->nr_entries); } else { set_ldt(ldt->entries, ldt->nr_entries); } } else { clear_LDT(); } #else clear_LDT(); #endif } static inline void switch_ldt(struct mm_struct *prev, struct mm_struct *next) { #ifdef CONFIG_MODIFY_LDT_SYSCALL /* * Load the LDT if either the old or new mm had an LDT. * * An mm will never go from having an LDT to not having an LDT. Two * mms never share an LDT, so we don't gain anything by checking to * see whether the LDT changed. There's also no guarantee that * prev->context.ldt actually matches LDTR, but, if LDTR is non-NULL, * then prev->context.ldt will also be non-NULL. * * If we really cared, we could optimize the case where prev == next * and we're exiting lazy mode. Most of the time, if this happens, * we don't actually need to reload LDTR, but modify_ldt() is mostly * used by legacy code and emulators where we don't need this level of * performance. * * This uses | instead of || because it generates better code. */ if (unlikely((unsigned long)prev->context.ldt | (unsigned long)next->context.ldt)) load_mm_ldt(next); #endif DEBUG_LOCKS_WARN_ON(preemptible()); } void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk); /* * Init a new mm. Used on mm copies, like at fork() * and on mm's that are brand-new, like at execve(). */ static inline int init_new_context(struct task_struct *tsk, struct mm_struct *mm) { mutex_init(&mm->context.lock); mm->context.ctx_id = atomic64_inc_return(&last_mm_ctx_id); atomic64_set(&mm->context.tlb_gen, 0); #ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS if (cpu_feature_enabled(X86_FEATURE_OSPKE)) { /* pkey 0 is the default and allocated implicitly */ mm->context.pkey_allocation_map = 0x1; /* -1 means unallocated or invalid */ mm->context.execute_only_pkey = -1; } #endif init_new_context_ldt(mm); return 0; } static inline void destroy_context(struct mm_struct *mm) { destroy_context_ldt(mm); } extern void switch_mm(struct mm_struct *prev, struct mm_struct *next, struct task_struct *tsk); extern void switch_mm_irqs_off(struct mm_struct *prev, struct mm_struct *next, struct task_struct *tsk); #define switch_mm_irqs_off switch_mm_irqs_off #define activate_mm(prev, next) \ do { \ paravirt_activate_mm((prev), (next)); \ switch_mm((prev), (next), NULL); \ } while (0); #ifdef CONFIG_X86_32 #define deactivate_mm(tsk, mm) \ do { \ lazy_load_gs(0); \ } while (0) #else #define deactivate_mm(tsk, mm) \ do { \ load_gs_index(0); \ loadsegment(fs, 0); \ } while (0) #endif static inline void arch_dup_pkeys(struct mm_struct *oldmm, struct mm_struct *mm) { #ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS if (!cpu_feature_enabled(X86_FEATURE_OSPKE)) return; /* Duplicate the oldmm pkey state in mm: */ mm->context.pkey_allocation_map = oldmm->context.pkey_allocation_map; mm->context.execute_only_pkey = oldmm->context.execute_only_pkey; #endif } static inline int arch_dup_mmap(struct mm_struct *oldmm, struct mm_struct *mm) { arch_dup_pkeys(oldmm, mm); paravirt_arch_dup_mmap(oldmm, mm); return ldt_dup_context(oldmm, mm); } static inline void arch_exit_mmap(struct mm_struct *mm) { paravirt_arch_exit_mmap(mm); ldt_arch_exit_mmap(mm); } #ifdef CONFIG_X86_64 static inline bool is_64bit_mm(struct mm_struct *mm) { return !IS_ENABLED(CONFIG_IA32_EMULATION) || !(mm->context.ia32_compat == TIF_IA32); } #else static inline bool is_64bit_mm(struct mm_struct *mm) { return false; } #endif static inline void arch_bprm_mm_init(struct mm_struct *mm, struct vm_area_struct *vma) { mpx_mm_init(mm); } static inline void arch_unmap(struct mm_struct *mm, unsigned long start, unsigned long end) { /* * mpx_notify_unmap() goes and reads a rarely-hot * cacheline in the mm_struct. That can be expensive * enough to be seen in profiles. * * The mpx_notify_unmap() call and its contents have been * observed to affect munmap() performance on hardware * where MPX is not present. * * The unlikely() optimizes for the fast case: no MPX * in the CPU, or no MPX use in the process. Even if * we get this wrong (in the unlikely event that MPX * is widely enabled on some system) the overhead of * MPX itself (reading bounds tables) is expected to * overwhelm the overhead of getting this unlikely() * consistently wrong. */ if (unlikely(cpu_feature_enabled(X86_FEATURE_MPX))) mpx_notify_unmap(mm, start, end); } /* * We only want to enforce protection keys on the current process * because we effectively have no access to PKRU for other * processes or any way to tell *which * PKRU in a threaded * process we could use. * * So do not enforce things if the VMA is not from the current * mm, or if we are in a kernel thread. */ static inline bool arch_vma_access_permitted(struct vm_area_struct *vma, bool write, bool execute, bool foreign) { /* pkeys never affect instruction fetches */ if (execute) return true; /* allow access if the VMA is not one from this process */ if (foreign || vma_is_foreign(vma)) return true; return __pkru_allows_pkey(vma_pkey(vma), write); } /* * This can be used from process context to figure out what the value of * CR3 is without needing to do a (slow) __read_cr3(). * * It's intended to be used for code like KVM that sneakily changes CR3 * and needs to restore it. It needs to be used very carefully. */ static inline unsigned long __get_current_cr3_fast(void) { unsigned long cr3 = build_cr3(this_cpu_read(cpu_tlbstate.loaded_mm)->pgd, this_cpu_read(cpu_tlbstate.loaded_mm_asid)); /* For now, be very restrictive about when this can be called. */ VM_WARN_ON(in_nmi() || preemptible()); VM_BUG_ON(cr3 != __read_cr3()); return cr3; } #endif /* _ASM_X86_MMU_CONTEXT_H */