net: xdp: add invalid buffer warning
This adds a warning for drivers to use when encountering an invalid buffer for XDP. For normal cases this should not happen but to catch this in virtual/qemu setups that I may not have expected from the emulation layer having a standard warning is useful. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
08abb79542
Коммит
f23bc46c30
|
@ -602,6 +602,7 @@ bool bpf_helper_changes_pkt_data(void *func);
|
||||||
struct bpf_prog *bpf_patch_insn_single(struct bpf_prog *prog, u32 off,
|
struct bpf_prog *bpf_patch_insn_single(struct bpf_prog *prog, u32 off,
|
||||||
const struct bpf_insn *patch, u32 len);
|
const struct bpf_insn *patch, u32 len);
|
||||||
void bpf_warn_invalid_xdp_action(u32 act);
|
void bpf_warn_invalid_xdp_action(u32 act);
|
||||||
|
void bpf_warn_invalid_xdp_buffer(void);
|
||||||
|
|
||||||
#ifdef CONFIG_BPF_JIT
|
#ifdef CONFIG_BPF_JIT
|
||||||
extern int bpf_jit_enable;
|
extern int bpf_jit_enable;
|
||||||
|
|
|
@ -2972,6 +2972,12 @@ void bpf_warn_invalid_xdp_action(u32 act)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(bpf_warn_invalid_xdp_action);
|
EXPORT_SYMBOL_GPL(bpf_warn_invalid_xdp_action);
|
||||||
|
|
||||||
|
void bpf_warn_invalid_xdp_buffer(void)
|
||||||
|
{
|
||||||
|
WARN_ONCE(1, "Illegal XDP buffer encountered, expect throughput degradation\n");
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(bpf_warn_invalid_xdp_buffer);
|
||||||
|
|
||||||
static u32 sk_filter_convert_ctx_access(enum bpf_access_type type, int dst_reg,
|
static u32 sk_filter_convert_ctx_access(enum bpf_access_type type, int dst_reg,
|
||||||
int src_reg, int ctx_off,
|
int src_reg, int ctx_off,
|
||||||
struct bpf_insn *insn_buf,
|
struct bpf_insn *insn_buf,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче