Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bpf/optimized usdt ci #8664

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1352 commits
Select commit Hold shift + click to select a range
cfced12
include/linux/pipe_fs_i: Add htmldoc annotation for "head_tail" member
kudure-ranganath Mar 5, 2025
5e7adc8
perf/x86: Annotate struct bts_buffer::buf with __counted_by()
toblux Mar 5, 2025
29ffeb7
drm/radeon: Fix rs400_gpu_init for ATI mobility radeon Xpress 200M
prenex Jun 17, 2019
da552bd
drm/amd/pm: always allow ih interrupt from fw
Feb 28, 2025
0d2d0f3
fs/pipe: remove buggy and unused 'helper' function
torvalds Mar 5, 2025
848e076
Merge tag 'hid-for-linus-2025030501' of git://git.kernel.org/pub/scm/…
torvalds Mar 5, 2025
528361c
nvme-tcp: fix signedness bug in nvme_tcp_init_connection()
Mar 5, 2025
f2c1123
ALSA: hda/realtek: Add support for ASUS ROG Strix G814 Laptop using C…
Mar 5, 2025
16dc157
ALSA: hda/realtek: Add support for ASUS ROG Strix GA603 Laptops using…
Mar 5, 2025
9120b2b
ALSA: hda/realtek: Add support for ASUS ROG Strix G614 Laptops using …
Mar 5, 2025
859a119
ALSA: hda/realtek: Add support for various ASUS Laptops using CS35L41…
Mar 5, 2025
7ab61d0
ALSA: hda/realtek: Add support for ASUS B3405 and B3605 Laptops using…
Mar 5, 2025
c86dd79
ALSA: hda/realtek: Add support for ASUS B5405 and B5605 Laptops using…
Mar 5, 2025
8463d2a
ALSA: hda/realtek: Add support for ASUS Zenbook UM3406KA Laptops usin…
Mar 5, 2025
e775e2a
drm/xe/vm: Validate userptr during gpu vma prefetching
Feb 28, 2025
1414d95
drm/xe/vm: Fix a misplaced #endif
Feb 28, 2025
84211b1
drm/xe: Fix fault mode invalidation with unbind
Feb 28, 2025
ae482ec
drm/xe: Add staging tree for VM binds
mbrost05 Feb 28, 2025
e3e2e7f
drm/xe/hmm: Style- and include fixes
Mar 4, 2025
0a98219
drm/xe/hmm: Don't dereference struct page pointers without notifier lock
Mar 4, 2025
333b890
drm/xe/userptr: Unmap userptrs in the mmu notifier
Mar 4, 2025
bcb0fda
io_uring/rw: ensure reissue path is correctly handled for IOPOLL
axboe Mar 5, 2025
f37ff57
x86/mm: Enable broadcast TLB invalidation for multi-threaded processes
rikvanriel Feb 26, 2025
b95ef87
x86/mm: Enable AMD translation cache extensions
rikvanriel Feb 26, 2025
0896acd
x86/mm: Always set the ASID valid bit for the INVLPGB instruction
tlendacky Mar 4, 2025
9dd0aac
Merge branch 'x86/cpu' into x86/merge, to ease integration testing
Mar 5, 2025
f06709e
Merge branch 'x86/mm' into x86/merge, to resolve conflict
Mar 5, 2025
ccc2f5a
net: dsa: mt7530: Fix traffic flooding for MMIO devices
LorenzoBianconi Mar 4, 2025
0a7565e
Revert "selftests/mm: remove local __NR_* definitions"
johnhubbard Feb 14, 2025
349db08
selftests/damon/damos_quota_goal: handle minimum quota that cannot be…
sjp38 Feb 17, 2025
7277dd0
m68k: sun3: add check for __pgd_alloc()
Feb 17, 2025
a564ccf
arm: pgtable: fix NULL pointer dereference issue
Feb 17, 2025
b81679b
mm: memory-failure: update ttu flag inside unmap_poisoned_folio
Feb 17, 2025
773b9a6
mm: memory-hotplug: check folio ref count first in do_migrate_range
Feb 17, 2025
af288a4
hwpoison, memory_hotplug: lock folio before unmap hwpoisoned folio
Feb 17, 2025
04ec365
Documentation: fix doc link to fault-injection.rst
Ajax-Light Feb 15, 2025
19fac3c
dma: kmsan: export kmsan_handle_dma() for modules
Feb 18, 2025
c3e9983
mm: fix possible NULL pointer dereference in __swap_duplicate
Feb 19, 2025
67bab13
mm/hugetlb: wait for hugetlb folios to be freed
Feb 19, 2025
47b16d0
mm: abort vma_modify() on merge out of memory failure
lorenzo-stoakes Feb 22, 2025
51f271c
mm: swap: add back full cluster when no entry is reclaimed
Feb 24, 2025
7a2e7ae
mm: swap: use correct step in loop to wait all clusters in wait_for_a…
Feb 22, 2025
57d910c
mm, swap: avoid BUG_ON in relocate_cluster()
Feb 22, 2025
ce6d9c1
NFS: fix nfs_release_folio() to not deadlock via kcompactd writeback
Feb 25, 2025
c29564d
include/linux/log2.h: mark is_power_of_2() with __always_inline
Feb 21, 2025
1c684d7
selftests/damon/damos_quota: make real expectation of quota exceeds
sjp38 Feb 25, 2025
695469c
selftests/damon/damon_nr_regions: set ops update for merge results ch…
sjp38 Feb 25, 2025
582ccf7
selftests/damon/damon_nr_regions: sort collected regiosn before check…
sjp38 Feb 25, 2025
c50f8e6
mm: fix kernel BUG when userfaultfd_move encounters swapcache
Feb 26, 2025
0583135
mm: shmem: fix potential data corruption during shmem swapin
Feb 25, 2025
ea6de4f
mm: zswap: use ATOMIC_LONG_INIT to initialize zswap_stored_pages
Feb 26, 2025
37b338e
userfaultfd: do not block on locking a large folio with raised refcount
surenbaghdasaryan Feb 26, 2025
927e926
userfaultfd: fix PTE unmapping stack-allocated PTE copies
surenbaghdasaryan Feb 26, 2025
adae46a
mm: shmem: remove unnecessary warning in shmem_writepage()
r-c-n Feb 26, 2025
3685024
mm: don't skip arch_sync_kernel_mappings() in error paths
Feb 26, 2025
34b82f3
mm: fix finish_fault() handling for large folios
bgaff Feb 26, 2025
eae116d
Revert "mm/page_alloc.c: don't show protection in zone's ->lowmem_res…
krisman Feb 26, 2025
88f5a9a
MAINTAINERS: .mailmap: update Sumit Garg's email address
b49020 Feb 27, 2025
b2ef51c
rapidio: fix an API misues when rio_add_net() fails
Feb 27, 2025
e842f9a
rapidio: add check for rio_add_net() in rio_scan_alloc_net()
Feb 27, 2025
8fe9ed4
mm/page_alloc: fix uninitialized variable
Feb 27, 2025
80da96d
drm/bochs: Fix DPMS regression
tiwai Mar 4, 2025
d385c8b
pid: Do not set pid_max in new pid namespaces
Werkov Mar 5, 2025
14672f0
sched/deadline: Use online cpus for validating runtime
Mar 6, 2025
b153648
sched/rt: Update limit of sched_rt sysctl in documentation
Mar 6, 2025
cf7ee25
mctp i3c: handle NULL header address
mkj Mar 4, 2025
0e7633d
net: ipv6: fix dst ref loop in ila lwtunnel
IurmanJ Mar 4, 2025
5da15a9
net: ipv6: fix missing dst ref drop in ila lwtunnel
IurmanJ Mar 5, 2025
ef69de5
x86/platform/olpc: Remove unused variable 'len' in olpc_dt_compatible…
henryZe Oct 25, 2024
c84f87d
x86/runtime-const: Add the RUNTIME_CONST_PTR assembly macro
kiryl Mar 4, 2025
d6834d9
watchdog/hardlockup/perf: Fix perf_event memory leak
Oct 21, 2024
0576388
watchdog/hardlockup/perf: Warn if watchdog_ev is leaked
Oct 21, 2024
fa6192a
uprobes/x86: Harden uretprobe syscall trampoline check
olsajiri Feb 12, 2025
b5e3956
kbuild: install-extmod-build: Fix build when specifying KBUILD_OUTPUT
inochisa Mar 6, 2025
ca57b5b
Merge tag 'nvme-6.14-2025-03-05' of git://git.infradead.org/nvme into…
axboe Mar 6, 2025
d021985
x86/fpu: Improve crypto performance by making kernel-mode FPU reliabl…
ebiggers Mar 4, 2025
35d99c6
btrfs: fix a leaked chunk map issue in read_one_chunk()
Mar 3, 2025
391b41f
gpio: rcar: Fix missing of_node_put() call
Mar 5, 2025
ff71218
usb: quirks: Add DELAY_INIT and NO_LPM for Prolific Mass Storage Card…
Mar 4, 2025
b13abcb
usb: typec: ucsi: Fix NULL pointer access
Mar 5, 2025
74d42bd
fs/pipe: express 'pipe_empty()' in terms of 'pipe_occupancy()'
torvalds Mar 6, 2025
d810d4c
fs/pipe: do not open-code pipe head/tail logic in FIONREAD
torvalds Mar 6, 2025
ebb0f38
fs/pipe: fix pipe buffer index use in FUSE
torvalds Mar 6, 2025
7f0e9ee
Merge tag 'vfs-6.14-rc6.fixes' of gitolite.kernel.org:pub/scm/linux/k…
torvalds Mar 6, 2025
5872cca
Merge tag 'exfat-for-6.14-rc6' of git://git.kernel.org/pub/scm/linux/…
torvalds Mar 6, 2025
1238f0a
Merge tag 'v6.14-rc5-smb3-fixes' of git://git.samba.org/ksmbd
torvalds Mar 6, 2025
f315296
Merge tag 'net-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel…
torvalds Mar 6, 2025
c00b413
x86/boot: Sanitize boot params before parsing command line
ardbiesheuvel Mar 6, 2025
aa3942d
x86/kexec: Merge x86_32 and x86_64 code using macros from <asm/asm.h>
ubizjak Mar 6, 2025
ac3a75b
Merge tag 'drm-misc-fixes-2025-03-06' of https://gitlab.freedesktop.o…
airlied Mar 6, 2025
82354fc
Merge branch 'sched/urgent' into sched/core, to pick up dependent com…
Mar 6, 2025
fd881d0
rseq: Fix segfault on registration when rseq_cs is non-zero
mjeanson Mar 6, 2025
7a310c6
perf/x86/intel/bts: Check if bts_ctx is allocated when calling BTS fu…
lrq-max Mar 6, 2025
019899b
Merge tag 'drm-intel-fixes-2025-03-06' of https://gitlab.freedesktop.…
airlied Mar 6, 2025
eea6520
Merge tag 'drm-xe-fixes-2025-03-06' of https://gitlab.freedesktop.org…
airlied Mar 6, 2025
33255c1
bcachefs: Fix bch2_dev_journal_alloc() spuriously failing
Mar 1, 2025
8ba73f5
bcachefs: copygc now skips non-rw devices
Feb 28, 2025
0f52fd4
Merge tag 'bcachefs-2025-03-06' of git://evilpiepirate.org/bcachefs
torvalds Mar 6, 2025
c8bc662
Merge tag 'amd-drm-fixes-6.14-2025-03-06' of https://gitlab.freedeskt…
airlied Mar 6, 2025
e711252
block: Name the RQF flags enum
leitao Mar 6, 2025
28f587a
Merge tag 'drm-fixes-2025-03-07' of https://gitlab.freedesktop.org/dr…
torvalds Mar 7, 2025
00a7d39
fs/pipe: add simpler helpers for common cases
torvalds Mar 7, 2025
be494a3
dt-bindings: irq: sun7i-nmi: Document the Allwinner A523 NMI controller
Andre-ARM Mar 7, 2025
922ac17
irqchip/sunxi-nmi: Support Allwinner A523 NMI controller
Andre-ARM Mar 7, 2025
7db5fd6
irqchip/imx-irqsteer: Support up to 960 input interrupts
TE-N-ShengjiuWang Mar 5, 2025
c929d08
x86/split_lock: Fix the delayed detection logic
Jan 15, 2025
14cb5d8
x86/amd_nb: Use rdmsr_safe() in amd_get_mmconfig_range()
andyhhp Mar 7, 2025
ac7c06a
virt: sev-guest: Allocate request data dynamically
nikunjad Mar 6, 2025
3e385c0
virt: sev-guest: Move SNP Guest Request data pages handling under snp…
aik Mar 7, 2025
2a405b3
Merge tag 'sound-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kern…
torvalds Mar 7, 2025
8aed61b
Merge tag 'platform-drivers-x86-v6.14-4' of git://git.kernel.org/pub/…
torvalds Mar 7, 2025
1222390
Merge tag 'gpio-fixes-for-v6.14-rc6' of git://git.kernel.org/pub/scm/…
torvalds Mar 7, 2025
8287dfc
Merge tag 'hwmon-for-v6.14-rc6' of git://git.kernel.org/pub/scm/linux…
torvalds Mar 7, 2025
042751d
Merge tag 'x86-urgent-2025-03-07' of git://git.kernel.org/pub/scm/lin…
torvalds Mar 7, 2025
ab60bd5
Merge tag 'perf-urgent-2025-03-07' of git://git.kernel.org/pub/scm/li…
torvalds Mar 7, 2025
1c5183a
Merge tag 'sched-urgent-2025-03-07' of git://git.kernel.org/pub/scm/l…
torvalds Mar 7, 2025
d53276d
Merge tag 'io_uring-6.14-20250306' of git://git.kernel.dk/linux
torvalds Mar 7, 2025
381af8d
Merge tag 'block-6.14-20250306' of git://git.kernel.dk/linux
torvalds Mar 7, 2025
6ceb634
Merge tag 'for-6.14-rc5-tag' of git://git.kernel.org/pub/scm/linux/ke…
torvalds Mar 7, 2025
dd047ef
Merge tag 'execve-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/ke…
torvalds Mar 7, 2025
d4fd25b
Merge tag 'acpi-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kerne…
torvalds Mar 7, 2025
21e4543
Merge tag 'slab-for-6.14-rc5' of git://git.kernel.org/pub/scm/linux/k…
torvalds Mar 7, 2025
9c54baa
x86/boot: Drop CRC-32 checksum and the build tool that generates it
ardbiesheuvel Mar 7, 2025
6914f7e
x86/mm: Define PTRS_PER_PMD for assembly code too
Mar 6, 2025
966944f
rust: lockdep: Remove support for dynamically allocated LockClassKeys
chessturo Mar 7, 2025
b3c5ec8
locking/rtmutex: Use the 'struct' keyword in kernel-doc comment
rddunlap Mar 7, 2025
85b2b9c
locking/semaphore: Use wake_q to wake up processes outside lock criti…
Waiman-Long Mar 7, 2025
f23ecef
Merge branch 'locking/urgent' into locking/core, to pick up locking f…
Mar 7, 2025
b76b44f
locking/lock_events: Add locking events for rtmutex slow paths
Waiman-Long Mar 7, 2025
a94d324
locking/lock_events: Add locking events for lockdep
Waiman-Long Mar 7, 2025
ee57ab5
locking/lockdep: Disable KASAN instrumentation of lockdep.c
Waiman-Long Mar 7, 2025
de4b59d
locking/lockdep: Add kasan_check_byte() check in lock_acquire()
Waiman-Long Mar 7, 2025
8f65291
rust: sync: Add accessor for the lock behind a given guard
Darksonn Mar 7, 2025
c2849af
rust: sync: lock: Add an example for Guard:: Lock_ref()
fbq Mar 7, 2025
70b9c85
rust: sync: condvar: Add wait_interruptible_freezable()
Darksonn Mar 7, 2025
f73ca66
rust: lockdep: Use Pin for all LockClassKey usages
chessturo Mar 7, 2025
2a52007
Merge tag 's390-6.14-6' of git://git.kernel.org/pub/scm/linux/kernel/…
torvalds Mar 8, 2025
da64a23
LoongArch: Convert unreachable() to BUG()
seehearfeel Mar 8, 2025
a0d3c8b
LoongArch: Eliminate superfluous get_numa_distances_cnt()
Avenger-285714 Mar 8, 2025
c911743
LoongArch: Use polling play_dead() when resuming from hibernation
chenhuacai Mar 8, 2025
c8477bb
LoongArch: Set max_pfn with the PFN of the last page
bibo-mao Mar 8, 2025
3109d5f
LoongArch: Set hugetlb mmap base address aligned with pmd size
bibo-mao Mar 8, 2025
6fb1867
LoongArch: KVM: Add interrupt checking for AVEC
bibo-mao Mar 8, 2025
78d7bc5
LoongArch: KVM: Reload guest CSR registers after sleep
bibo-mao Mar 8, 2025
6bdbb73
LoongArch: KVM: Fix GPA size issue about VM
bibo-mao Mar 8, 2025
0704bf4
vdso: Introduce vdso/cache.h
t-8ch Mar 3, 2025
b69b47a
arm64: Make asm/cache.h compatible with vDSO
t-8ch Mar 3, 2025
fa8152c
vdso: Make vdso_time_data cacheline aligned
anna-marialx Mar 3, 2025
a05f14d
vdso/datapage: Define vdso_clock to prepare for multiple PTP clocks
anna-marialx Mar 3, 2025
e15bf9e
vdso/helpers: Prepare introduction of struct vdso_clock
anna-marialx Mar 3, 2025
cddb82d
vdso/gettimeofday: Prepare introduction of struct vdso_clock
anna-marialx Mar 3, 2025
64c3613
vdso/gettimeofday: Prepare do_hres() for introduction of struct vdso_…
anna-marialx Mar 3, 2025
83a2a6b
vdso/gettimeofday: Prepare do_hres_timens() for introduction of struc…
anna-marialx Mar 3, 2025
70067ae
vdso/gettimeofday: Prepare do_coarse() for introduction of struct vds…
anna-marialx Mar 3, 2025
8c3f5cb
vdso/gettimeofday: Prepare do_coarse_timens() for introduction of str…
anna-marialx Mar 3, 2025
8080197
vdso/gettimeofday: Prepare helper functions for introduction of struc…
anna-marialx Mar 3, 2025
b5afbc1
vdso/vsyscall: Prepare introduction of struct vdso_clock
anna-marialx Mar 3, 2025
0235220
vdso/namespace: Rename timens_setup_vdso_data() to reflect new vdso_c…
anna-marialx Mar 3, 2025
5911e16
time/namespace: Prepare introduction of struct vdso_clock
anna-marialx Mar 3, 2025
bf0eff8
x86/vdso: Prepare introduction of struct vdso_clock
anna-marialx Mar 3, 2025
5340f3c
arm64/vdso: Prepare introduction of struct vdso_clock
covanam Mar 3, 2025
ed0c10f
powerpc/vdso: Prepare introduction of struct vdso_clock
covanam Mar 3, 2025
97a5a90
vdso: Move architecture related data before basetime data
anna-marialx Mar 3, 2025
886653e
vdso: Rework struct vdso_time_data and introduce struct vdso_clock
anna-marialx Mar 3, 2025
2e51e0a
Merge tag 'loongarch-fixes-6.14-2' of git://git.kernel.org/pub/scm/li…
torvalds Mar 8, 2025
14296d0
Merge branch 'linus' into x86/urgent, to pick up dependent patches
Mar 8, 2025
058a6be
x86/microcode/AMD: Add some forgotten models to the SHA check
bp3tk0v Mar 7, 2025
b7c90e3
Merge tag 'x86-urgent-2025-03-08' of git://git.kernel.org/pub/scm/lin…
torvalds Mar 8, 2025
558fc8e
x86/boot: Do not test if AC and ID eflags are changeable on x86_64
ubizjak Mar 7, 2025
1110ce6
Merge tag 'mm-hotfixes-stable-2025-03-08-16-27' of git://git.kernel.o…
torvalds Mar 9, 2025
1cdad67
Merge tag 'kvmarm-fixes-6.14-4' of git://git.kernel.org/pub/scm/linux…
bonzini Mar 9, 2025
ea9bd29
Merge tag 'kvm-x86-fixes-6.14-rcN.2' of https://github.com/kvm-x86/li…
bonzini Mar 9, 2025
a382b06
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
torvalds Mar 9, 2025
2cc699b
Merge tag 'char-misc-6.14-rc6' of git://git.kernel.org/pub/scm/linux/…
torvalds Mar 9, 2025
51b38f3
Merge tag 'driver-core-6.14-rc6' of git://git.kernel.org/pub/scm/linu…
torvalds Mar 9, 2025
0dc1f31
Merge tag 'usb-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel…
torvalds Mar 9, 2025
9712d38
Merge tag 'kbuild-fixes-v6.14-3' of git://git.kernel.org/pub/scm/linu…
torvalds Mar 9, 2025
80e54e8
Linux 6.14-rc6
torvalds Mar 9, 2025
bc0cbe7
Merge branch 'x86/mm' into x86/cpu, to resolve conflict and to pick u…
Mar 10, 2025
dc6e8bf
x86/cpufeatures: Add {REQUIRED,DISABLED} feature configs
Feb 28, 2025
7a7bd24
x86/cpufeatures: Generate the <asm/cpufeaturemasks.h> header based on…
Mar 5, 2025
892a533
x86/cpufeatures: Remove {disabled,required}-features.h
xinli-intel Mar 10, 2025
55d9f0b
x86/cpufeatures: Use AWK to generate {REQUIRED|DISABLED}_MASK_BIT_SET…
xinli-intel Feb 28, 2025
aa4a1d5
irqdomain: Remove extern from function declarations
Jan 15, 2025
827bafd
genirq: Make a few functions static
KAGA-KOKO Mar 9, 2025
e28eecf
x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in UAPI headers
huth Mar 10, 2025
65be5c9
x86/sgx: Warn explicitly if X86_FEATURE_SGX_LC is not enabled
nefigtut Mar 9, 2025
f3fa0e4
sched/clock: Don't define sched_clock_irqtime as static key
laoar Feb 5, 2025
e3e8917
x86/microcode/AMD: Fix out-of-bounds on systems with CPU-less NUMA nodes
FlorentRevest Mar 10, 2025
366fef7
<linux/cleanup.h>: Allow the passing of both iomem and non-iomem poin…
ij-intel Mar 10, 2025
ec73859
x86/coco: Replace 'static const cc_mask' with the newly introduced cc…
arndb Mar 10, 2025
376daf2
x86/acpi: Replace manual page table initialization with kernel_ident_…
kiryl Oct 16, 2024
4f10ec0
x86/mm/ident_map: Fix theoretical virtual address overflow to zero
kiryl Oct 16, 2024
fd3f5d3
perf/core: Remove optional 'size' arguments from strscpy() calls
toblux Mar 10, 2025
4d872d5
Merge tag 'x86-urgent-2025-03-10' of git://git.kernel.org/pub/scm/lin…
torvalds Mar 10, 2025
c080f2b
x86/vdso: Always reject undefined references during linking
t-8ch Mar 6, 2025
6522629
sparc/vdso: Always reject undefined references during linking
t-8ch Mar 6, 2025
f310380
Merge branch into tip/master: 'core/urgent'
Mar 11, 2025
93c2050
Merge branch into tip/master: 'locking/urgent'
Mar 11, 2025
841f1fa
Merge branch into tip/master: 'sched/urgent'
Mar 11, 2025
559d209
Merge branch into tip/master: 'x86/merge'
Mar 11, 2025
4d0464e
Merge branch into tip/master: 'irq/core'
Mar 11, 2025
a8e5b93
Merge branch into tip/master: 'irq/drivers'
Mar 11, 2025
f45f882
Merge branch into tip/master: 'locking/core'
Mar 11, 2025
ee79e13
Merge branch into tip/master: 'locking/futex'
Mar 11, 2025
b5fba3f
Merge branch into tip/master: 'perf/core'
Mar 11, 2025
0309451
Merge branch into tip/master: 'ras/core'
Mar 11, 2025
a222b34
Merge branch into tip/master: 'sched/core'
Mar 11, 2025
7186e29
Merge branch into tip/master: 'timers/cleanups'
Mar 11, 2025
a33fd85
Merge branch into tip/master: 'timers/core'
Mar 11, 2025
7331d32
Merge branch into tip/master: 'timers/vdso'
Mar 11, 2025
f13b082
Merge branch into tip/master: 'x86/asm'
Mar 11, 2025
c49fbbf
Merge branch into tip/master: 'x86/boot'
Mar 11, 2025
53b3a2d
Merge branch into tip/master: 'x86/bugs'
Mar 11, 2025
1996f81
Merge branch into tip/master: 'x86/build'
Mar 11, 2025
9c2ddba
Merge branch into tip/master: 'x86/cleanups'
Mar 11, 2025
9aadce6
Merge branch into tip/master: 'x86/core'
Mar 11, 2025
65272e9
Merge branch into tip/master: 'x86/cpu'
Mar 11, 2025
821a9b7
Merge branch into tip/master: 'x86/fpu'
Mar 11, 2025
7015c53
Merge branch into tip/master: 'x86/headers'
Mar 11, 2025
bdde3a4
Merge branch into tip/master: 'x86/misc'
Mar 11, 2025
b18204c
Merge branch into tip/master: 'x86/mm'
Mar 11, 2025
649536e
Merge branch into tip/master: 'x86/platform'
Mar 11, 2025
4227d39
Merge branch into tip/master: 'x86/sev'
Mar 11, 2025
474f6ed
adding ci files
Mar 11, 2025
57a3558
Merge remote-tracking branch 'tip/master' into bpf/optimized_usdt_2
olsajiri Mar 12, 2025
a46de9e
uprobes: Rename arch_uretprobe_trampoline function
olsajiri Oct 25, 2024
a5c7dbe
uprobes: Make copy_from_page global
olsajiri Oct 23, 2024
8c838ba
uprobes: Move ref_ctr_offset update out of uprobe_write_opcode
olsajiri Jan 4, 2025
c20c9a4
uprobes: Add uprobe_write function
olsajiri Feb 17, 2025
1132d4a
uprobes: Add nbytes argument to uprobe_write_opcode
olsajiri May 2, 2024
24aedc0
uprobes: Add orig argument to uprobe_write and uprobe_write_opcode
olsajiri Jan 4, 2025
a6837d9
uprobes: Do breakpoint removal under mmap_write_lock
olsajiri Mar 12, 2025
4d15721
uprobes/x86: Add uprobe syscall to speed up uprobe
olsajiri Apr 8, 2024
6ea96be
uprobes/x86: Add mapping for optimized uprobe trampolines
olsajiri Feb 19, 2025
d299d67
uprobes/x86: Add support to emulate nop5 instruction
olsajiri Nov 26, 2024
f1de9b1
uprobes/x86: Add support to optimize uprobes
olsajiri Oct 23, 2024
f68bd23
selftests/bpf: Reorg the uprobe_syscall test function
olsajiri Dec 15, 2024
cff4de3
selftests/bpf: Rename uprobe_syscall_executed prog to test_uretprobe_…
olsajiri Mar 13, 2025
ff11a6d
selftests/bpf: Use 5-byte nop for x86 usdt probes
olsajiri Apr 17, 2024
f6df2bb
selftests/bpf: Add uprobe/usdt syscall tests
olsajiri Dec 15, 2024
36d3b64
selftests/bpf: Add hit/attach/detach race optimized uprobe test
olsajiri Dec 10, 2024
223a6ac
selftests/bpf: Add uprobe syscall sigill signal test
olsajiri Dec 10, 2024
1fe214a
selftests/bpf: Add optimized usdt variant for basic usdt test
olsajiri Mar 2, 2025
65d8fc5
selftests/bpf: Add uprobe_regs_equal test
olsajiri Mar 10, 2025
d360c61
selftests/bpf: Add 5-byte nop uprobe trigger bench
olsajiri Nov 26, 2024
cb5df36
selftests/bpf: Change test_uretprobe_regs_change for uprobe and uretp…
olsajiri Mar 11, 2025
36e694b
seccomp: passthrough uprobe systemcall without filtering
olsajiri Mar 8, 2025
0c5d0ca
selftests/seccomp: validate uprobe syscall passes through seccomp
olsajiri Feb 24, 2025
3573018
fix
olsajiri Mar 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
49 changes: 49 additions & 0 deletions .github/actions/veristat_baseline_compare/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: 'run-veristat'
description: 'Run veristat benchmark'
inputs:
veristat_output:
description: 'Veristat output filepath'
required: true
baseline_name:
description: 'Veristat baseline cache name'
required: true
runs:
using: "composite"
steps:
- uses: actions/upload-artifact@v4
with:
name: ${{ inputs.baseline_name }}
if-no-files-found: error
path: ${{ github.workspace }}/${{ inputs.veristat_output }}

# For pull request:
# - get baseline log from cache
# - compare it to current run
- if: ${{ github.event_name == 'pull_request' }}
uses: actions/cache/restore@v4
with:
key: ${{ inputs.baseline_name }}
restore-keys: |
${{ inputs.baseline_name }}-
path: '${{ github.workspace }}/${{ inputs.baseline_name }}'

- if: ${{ github.event_name == 'pull_request' }}
name: Show veristat comparison
shell: bash
run: ./.github/scripts/compare-veristat-results.sh
env:
BASELINE_PATH: ${{ github.workspace }}/${{ inputs.baseline_name }}
VERISTAT_OUTPUT: ${{ inputs.veristat_output }}

# For push: just put baseline log to cache
- if: ${{ github.event_name == 'push' }}
shell: bash
run: |
mv "${{ github.workspace }}/${{ inputs.veristat_output }}" \
"${{ github.workspace }}/${{ inputs.baseline_name }}"

- if: ${{ github.event_name == 'push' }}
uses: actions/cache/save@v4
with:
key: ${{ inputs.baseline_name }}-${{ github.run_id }}
path: '${{ github.workspace }}/${{ inputs.baseline_name }}'
18 changes: 18 additions & 0 deletions .github/scripts/compare-veristat-results.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash

if [[ ! -f "${BASELINE_PATH}" ]]; then
echo "# No ${BASELINE_PATH} available" >> "${GITHUB_STEP_SUMMARY}"

echo "No ${BASELINE_PATH} available"
echo "Printing veristat results"
cat "${VERISTAT_OUTPUT}"

exit
fi

selftests/bpf/veristat \
--output-format csv \
--emit file,prog,verdict,states \
--compare "${BASELINE_PATH}" "${VERISTAT_OUTPUT}" > compare.csv

python3 ./.github/scripts/veristat_compare.py compare.csv
30 changes: 30 additions & 0 deletions .github/scripts/download-gcc-bpf.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/bash

set -euo pipefail

GCC_BPF_RELEASE_GH_REPO=$1
INSTALL_DIR=$(realpath $2)

cd /tmp

tag=$(gh release list -L 1 -R ${GCC_BPF_RELEASE_GH_REPO} --json tagName -q .[].tagName)
if [[ -z "$tag" ]]; then
echo "Could not find latest GCC BPF release at ${GCC_BPF_RELEASE_GH_REPO}"
exit 1
fi

url="https://github.com/${GCC_BPF_RELEASE_GH_REPO}/releases/download/${tag}/${tag}.tar.zst"
echo "Downloading $url"
wget -q "$url"

tarball=${tag}.tar.zst
dir=$(tar tf $tarball | head -1 || true)

echo "Extracting $tarball ..."
tar -I zstd -xf $tarball && rm -f $tarball

rm -rf $INSTALL_DIR
mv -v $dir $INSTALL_DIR

cd -

194 changes: 194 additions & 0 deletions .github/scripts/matrix.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,194 @@
#!/usr/bin/env python3

import os
import dataclasses
import json

from enum import Enum
from typing import Any, Dict, List, Final, Set, Union

MANAGED_OWNER: Final[str] = "kernel-patches"
MANAGED_REPOS: Final[Set[str]] = {
f"{MANAGED_OWNER}/bpf",
f"{MANAGED_OWNER}/vmtest",
}

DEFAULT_SELF_HOSTED_RUNNER_TAGS: Final[List[str]] = ["self-hosted", "docker-noble-main"]
DEFAULT_RUNNER: Final[str] = "ubuntu-24.04"
DEFAULT_LLVM_VERSION: Final[int] = 17


class Arch(str, Enum):
"""
CPU architecture supported by CI.
"""

AARCH64 = "aarch64"
S390X = "s390x"
X86_64 = "x86_64"


class Compiler(str, Enum):
GCC = "gcc"
LLVM = "llvm"


@dataclasses.dataclass
class Toolchain:
compiler: Compiler
# This is relevant ONLY for LLVM and should not be required for GCC
version: int

@property
def short_name(self) -> str:
return str(self.compiler.value)

@property
def full_name(self) -> str:
if self.compiler == Compiler.GCC:
return self.short_name

return f"{self.short_name}-{self.version}"

def to_dict(self) -> Dict[str, Union[str, int]]:
return {
"name": self.short_name,
"fullname": self.full_name,
"version": self.version,
}


@dataclasses.dataclass
class BuildConfig:
arch: Arch
toolchain: Toolchain
kernel: str = "LATEST"
run_veristat: bool = False
parallel_tests: bool = False
build_release: bool = False

@property
def runs_on(self) -> List[str]:
if is_managed_repo():
return DEFAULT_SELF_HOSTED_RUNNER_TAGS + [self.arch.value]
else:
return [DEFAULT_RUNNER]

@property
def build_runs_on(self) -> List[str]:
if is_managed_repo():
return ["codebuild"]
else:
return [DEFAULT_RUNNER]

@property
def tests(self) -> Dict[str, Any]:
tests_list = [
"test_progs",
"test_progs_parallel",
"test_progs_no_alu32",
"test_progs_no_alu32_parallel",
"test_verifier",
]

if self.arch.value != "s390x":
tests_list.append("test_maps")

if self.toolchain.version >= 18:
tests_list.append("test_progs_cpuv4")

# if self.arch in [Arch.X86_64, Arch.AARCH64]:
# tests_list.append("sched_ext")

# Don't run GCC BPF runner, because too many tests are failing
# See: https://lore.kernel.org/bpf/[email protected]/
# if self.arch == Arch.X86_64:
# tests_list.append("test_progs-bpf_gcc")

if not self.parallel_tests:
tests_list = [test for test in tests_list if not test.endswith("parallel")]

return {"include": [generate_test_config(test) for test in tests_list]}

def to_dict(self) -> Dict[str, Any]:
return {
"arch": self.arch.value,
"toolchain": self.toolchain.to_dict(),
"kernel": self.kernel,
"run_veristat": self.run_veristat,
"parallel_tests": self.parallel_tests,
"build_release": self.build_release,
"runs_on": self.runs_on,
"tests": self.tests,
"build_runs_on": self.build_runs_on,
}


def is_managed_repo() -> bool:
return (
os.environ["GITHUB_REPOSITORY_OWNER"] == MANAGED_OWNER
and os.environ["GITHUB_REPOSITORY"] in MANAGED_REPOS
)


def set_output(name, value):
"""Write an output variable to the GitHub output file."""
with open(os.getenv("GITHUB_OUTPUT"), "a", encoding="utf-8") as file:
file.write(f"{name}={value}\n")


def generate_test_config(test: str) -> Dict[str, Union[str, int]]:
"""Create the configuration for the provided test."""
is_parallel = test.endswith("_parallel")
config = {
"test": test,
"continue_on_error": is_parallel,
# While in experimental mode, parallel jobs may get stuck
# anywhere, including in user space where the kernel won't detect
# a problem and panic. We add a second layer of (smaller) timeouts
# here such that if we get stuck in a parallel run, we hit this
# timeout and fail without affecting the overall job success (as
# would be the case if we hit the job-wide timeout). For
# non-experimental jobs, 360 is the default which will be
# superseded by the overall workflow timeout (but we need to
# specify something).
"timeout_minutes": 30 if is_parallel else 360,
}
return config


if __name__ == "__main__":
matrix = [
BuildConfig(
arch=Arch.X86_64,
toolchain=Toolchain(compiler=Compiler.GCC, version=DEFAULT_LLVM_VERSION),
run_veristat=True,
parallel_tests=True,
),
BuildConfig(
arch=Arch.X86_64,
toolchain=Toolchain(compiler=Compiler.LLVM, version=DEFAULT_LLVM_VERSION),
build_release=True,
),
BuildConfig(
arch=Arch.X86_64,
toolchain=Toolchain(compiler=Compiler.LLVM, version=18),
build_release=True,
),
BuildConfig(
arch=Arch.AARCH64,
toolchain=Toolchain(compiler=Compiler.GCC, version=DEFAULT_LLVM_VERSION),
),
BuildConfig(
arch=Arch.S390X,
toolchain=Toolchain(compiler=Compiler.GCC, version=DEFAULT_LLVM_VERSION),
),
]

# Outside of managed repositories only run on x86_64
if not is_managed_repo():
matrix = [config for config in matrix if config.arch == Arch.X86_64]

json_matrix = json.dumps({"include": [config.to_dict() for config in matrix]})
print(json.dumps(json.loads(json_matrix), indent=4))
set_output("build_matrix", json_matrix)
75 changes: 75 additions & 0 deletions .github/scripts/tests/test_veristat_compare.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
#!/usr/bin/env python3

import unittest
from typing import Iterable, List

from ..veristat_compare import parse_table, VeristatFields


def gen_csv_table(records: Iterable[str]) -> List[str]:
return [
",".join(VeristatFields.headers()),
*records,
]


class TestVeristatCompare(unittest.TestCase):
def test_parse_table_ignore_new_prog(self):
table = gen_csv_table(
[
"prog_file.bpf.o,prog_name,N/A,success,N/A,N/A,1,N/A",
]
)
veristat_info = parse_table(table)
self.assertEqual(veristat_info.table, [])
self.assertFalse(veristat_info.changes)
self.assertFalse(veristat_info.new_failures)

def test_parse_table_ignore_removed_prog(self):
table = gen_csv_table(
[
"prog_file.bpf.o,prog_name,success,N/A,N/A,1,N/A,N/A",
]
)
veristat_info = parse_table(table)
self.assertEqual(veristat_info.table, [])
self.assertFalse(veristat_info.changes)
self.assertFalse(veristat_info.new_failures)

def test_parse_table_new_failure(self):
table = gen_csv_table(
[
"prog_file.bpf.o,prog_name,success,failure,MISMATCH,1,1,+0 (+0.00%)",
]
)
veristat_info = parse_table(table)
self.assertEqual(
veristat_info.table,
[["prog_file.bpf.o", "prog_name", "success -> failure (!!)", "+0.00 %"]],
)
self.assertTrue(veristat_info.changes)
self.assertTrue(veristat_info.new_failures)

def test_parse_table_new_changes(self):
table = gen_csv_table(
[
"prog_file.bpf.o,prog_name,failure,success,MISMATCH,0,0,+0 (+0.00%)",
"prog_file.bpf.o,prog_name_increase,failure,failure,MATCH,1,2,+1 (+100.00%)",
"prog_file.bpf.o,prog_name_decrease,success,success,MATCH,1,1,-1 (-100.00%)",
]
)
veristat_info = parse_table(table)
self.assertEqual(
veristat_info.table,
[
["prog_file.bpf.o", "prog_name", "failure -> success", "+0.00 %"],
["prog_file.bpf.o", "prog_name_increase", "failure", "+100.00 %"],
["prog_file.bpf.o", "prog_name_decrease", "success", "-100.00 %"],
],
)
self.assertTrue(veristat_info.changes)
self.assertFalse(veristat_info.new_failures)


if __name__ == "__main__":
unittest.main()
21 changes: 21 additions & 0 deletions .github/scripts/tmpfsify-workspace.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash

set -x -euo pipefail

TMPFS_SIZE=20 # GB
MEM_TOTAL=$(awk '/MemTotal/ {print int($2/1024)}' /proc/meminfo)

# sanity check: total mem is at least double TMPFS_SIZE
if [ $MEM_TOTAL -lt $(($TMPFS_SIZE*1024*2)) ]; then
echo "tmpfsify-workspace.sh: will not allocate tmpfs, total memory is too low (${MEM_TOTAL}MB)"
exit 0
fi

dir="$(basename "$GITHUB_WORKSPACE")"
cd "$(dirname "$GITHUB_WORKSPACE")"
mv "${dir}" "${dir}.backup"
mkdir "${dir}"
sudo mount -t tmpfs -o size=${TMPFS_SIZE}G tmpfs "${dir}"
rsync -a "${dir}.backup/" "${dir}"
cd -

Loading