mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 10:04:04 +02:00
selftests/bpf: Use vmlinux.h for BPF programs
Some of the bpf test progs still use linux/libc headers. Let's use vmlinux.h instead like the rest of test progs. This will also ease cross compiling. Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20250821030254.398826-1-hengqi.chen@gmail.com
This commit is contained in:
parent
78e097fbca
commit
21aeabb682
|
|
@ -1,11 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
// Copyright (c) 2019 Facebook
|
||||
#include <linux/sched.h>
|
||||
#include <linux/ptrace.h>
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <stdbool.h>
|
||||
#include <linux/bpf.h>
|
||||
#include "vmlinux.h"
|
||||
#include <bpf/bpf_helpers.h>
|
||||
#include <bpf/bpf_tracing.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
// Copyright (c) 2019 Facebook
|
||||
#include <linux/sched.h>
|
||||
#include <linux/ptrace.h>
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <stdbool.h>
|
||||
#include <linux/bpf.h>
|
||||
#include "vmlinux.h"
|
||||
#include <bpf/bpf_helpers.h>
|
||||
#include <bpf/bpf_tracing.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
// Copyright (c) 2019 Facebook
|
||||
#include <linux/sched.h>
|
||||
#include <linux/ptrace.h>
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <stdbool.h>
|
||||
#include <linux/bpf.h>
|
||||
#include "vmlinux.h"
|
||||
#include <bpf/bpf_helpers.h>
|
||||
#include <bpf/bpf_tracing.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
#include <linux/ptrace.h>
|
||||
#include <stddef.h>
|
||||
#include <linux/bpf.h>
|
||||
#include <vmlinux.h>
|
||||
#include <bpf/bpf_core_read.h>
|
||||
#include <bpf/bpf_helpers.h>
|
||||
#include <bpf/bpf_tracing.h>
|
||||
#include "bpf_misc.h"
|
||||
|
|
@ -26,12 +25,6 @@ char _license[] SEC("license") = "GPL";
|
|||
#define SG_CHAIN 0x01UL
|
||||
#define SG_END 0x02UL
|
||||
|
||||
struct scatterlist {
|
||||
unsigned long page_link;
|
||||
unsigned int offset;
|
||||
unsigned int length;
|
||||
};
|
||||
|
||||
#define sg_is_chain(sg) ((sg)->page_link & SG_CHAIN)
|
||||
#define sg_is_last(sg) ((sg)->page_link & SG_END)
|
||||
#define sg_chain_ptr(sg) \
|
||||
|
|
@ -62,7 +55,7 @@ static inline struct scatterlist *get_sgp(struct scatterlist **sgs, int i)
|
|||
return sgp;
|
||||
}
|
||||
|
||||
int config = 0;
|
||||
int run_once = 0;
|
||||
int result = 0;
|
||||
|
||||
SEC("kprobe/virtqueue_add_sgs")
|
||||
|
|
@ -73,14 +66,14 @@ int BPF_KPROBE(trace_virtqueue_add_sgs, void *unused, struct scatterlist **sgs,
|
|||
__u64 length1 = 0, length2 = 0;
|
||||
unsigned int i, n, len;
|
||||
|
||||
if (config != 0)
|
||||
if (run_once != 0)
|
||||
return 0;
|
||||
|
||||
for (i = 0; (i < VIRTIO_MAX_SGS) && (i < out_sgs); i++) {
|
||||
__sink(out_sgs);
|
||||
for (n = 0, sgp = get_sgp(sgs, i); sgp && (n < SG_MAX);
|
||||
sgp = __sg_next(sgp)) {
|
||||
bpf_probe_read_kernel(&len, sizeof(len), &sgp->length);
|
||||
len = BPF_CORE_READ(sgp, length);
|
||||
length1 += len;
|
||||
n++;
|
||||
}
|
||||
|
|
@ -90,13 +83,13 @@ int BPF_KPROBE(trace_virtqueue_add_sgs, void *unused, struct scatterlist **sgs,
|
|||
__sink(in_sgs);
|
||||
for (n = 0, sgp = get_sgp(sgs, i); sgp && (n < SG_MAX);
|
||||
sgp = __sg_next(sgp)) {
|
||||
bpf_probe_read_kernel(&len, sizeof(len), &sgp->length);
|
||||
len = BPF_CORE_READ(sgp, length);
|
||||
length2 += len;
|
||||
n++;
|
||||
}
|
||||
}
|
||||
|
||||
config = 1;
|
||||
run_once = 1;
|
||||
result = length2 - length1;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/* Copyright (c) 2019 Facebook */
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
#include <linux/bpf.h>
|
||||
#include <linux/ptrace.h>
|
||||
#include "vmlinux.h"
|
||||
#include <bpf/bpf_helpers.h>
|
||||
#include <bpf/bpf_tracing.h>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user