libbpf: Wrap source argument of BPF_CORE_READ macro in parentheses
Wrap source argument of BPF_CORE_READ family of macros into parentheses to
allow uses like this:
BPF_CORE_READ((struct cast_struct *)src, a, b, c);
Fixes: 7db3822ab9 ("libbpf: Add BPF_CORE_READ/BPF_CORE_READ_INTO helpers")
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20200619231703.738941-8-andriin@fb.com
This commit is contained in:
committed by
Alexei Starovoitov
parent
05aca6da3b
commit
bd9bedf84b
@@ -217,7 +217,7 @@ enum bpf_field_info_kind {
|
|||||||
*/
|
*/
|
||||||
#define BPF_CORE_READ_INTO(dst, src, a, ...) \
|
#define BPF_CORE_READ_INTO(dst, src, a, ...) \
|
||||||
({ \
|
({ \
|
||||||
___core_read(bpf_core_read, dst, src, a, ##__VA_ARGS__) \
|
___core_read(bpf_core_read, dst, (src), a, ##__VA_ARGS__) \
|
||||||
})
|
})
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -227,7 +227,7 @@ enum bpf_field_info_kind {
|
|||||||
*/
|
*/
|
||||||
#define BPF_CORE_READ_STR_INTO(dst, src, a, ...) \
|
#define BPF_CORE_READ_STR_INTO(dst, src, a, ...) \
|
||||||
({ \
|
({ \
|
||||||
___core_read(bpf_core_read_str, dst, src, a, ##__VA_ARGS__) \
|
___core_read(bpf_core_read_str, dst, (src), a, ##__VA_ARGS__)\
|
||||||
})
|
})
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -254,8 +254,8 @@ enum bpf_field_info_kind {
|
|||||||
*/
|
*/
|
||||||
#define BPF_CORE_READ(src, a, ...) \
|
#define BPF_CORE_READ(src, a, ...) \
|
||||||
({ \
|
({ \
|
||||||
___type(src, a, ##__VA_ARGS__) __r; \
|
___type((src), a, ##__VA_ARGS__) __r; \
|
||||||
BPF_CORE_READ_INTO(&__r, src, a, ##__VA_ARGS__); \
|
BPF_CORE_READ_INTO(&__r, (src), a, ##__VA_ARGS__); \
|
||||||
__r; \
|
__r; \
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user