* [PATCH] bpf: check NULL for sk_to_full_sk()
@ 2018-05-21 7:55 YueHaibing
2018-05-21 15:17 ` Eric Dumazet
0 siblings, 1 reply; 3+ messages in thread
From: YueHaibing @ 2018-05-21 7:55 UTC (permalink / raw)
To: ast, daniel; +Cc: linux-kernel, netdev, YueHaibing
like commit df39a9f106d5 ("bpf: check NULL for sk_to_full_sk() return value"),
we should check sk_to_full_sk return value against NULL.
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
---
include/linux/bpf-cgroup.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/bpf-cgroup.h b/include/linux/bpf-cgroup.h
index 30d15e6..fd3fbeb 100644
--- a/include/linux/bpf-cgroup.h
+++ b/include/linux/bpf-cgroup.h
@@ -91,7 +91,7 @@ int __cgroup_bpf_check_dev_permission(short dev_type, u32 major, u32 minor,
int __ret = 0; \
if (cgroup_bpf_enabled && sk && sk == skb->sk) { \
typeof(sk) __sk = sk_to_full_sk(sk); \
- if (sk_fullsock(__sk)) \
+ if (__sk && sk_fullsock(__sk)) \
__ret = __cgroup_bpf_run_filter_skb(__sk, skb, \
BPF_CGROUP_INET_EGRESS); \
} \
--
2.7.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] bpf: check NULL for sk_to_full_sk()
2018-05-21 7:55 [PATCH] bpf: check NULL for sk_to_full_sk() YueHaibing
@ 2018-05-21 15:17 ` Eric Dumazet
2018-05-22 3:29 ` YueHaibing
0 siblings, 1 reply; 3+ messages in thread
From: Eric Dumazet @ 2018-05-21 15:17 UTC (permalink / raw)
To: YueHaibing, ast, daniel; +Cc: linux-kernel, netdev
On 05/21/2018 12:55 AM, YueHaibing wrote:
> like commit df39a9f106d5 ("bpf: check NULL for sk_to_full_sk() return value"),
> we should check sk_to_full_sk return value against NULL.
>
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> ---
> include/linux/bpf-cgroup.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/bpf-cgroup.h b/include/linux/bpf-cgroup.h
> index 30d15e6..fd3fbeb 100644
> --- a/include/linux/bpf-cgroup.h
> +++ b/include/linux/bpf-cgroup.h
> @@ -91,7 +91,7 @@ int __cgroup_bpf_check_dev_permission(short dev_type, u32 major, u32 minor,
> int __ret = 0; \
> if (cgroup_bpf_enabled && sk && sk == skb->sk) { \
> typeof(sk) __sk = sk_to_full_sk(sk); \
> - if (sk_fullsock(__sk)) \
> + if (__sk && sk_fullsock(__sk)) \
> __ret = __cgroup_bpf_run_filter_skb(__sk, skb, \
> BPF_CGROUP_INET_EGRESS); \
> } \
>
Why is this needed ???
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] bpf: check NULL for sk_to_full_sk()
2018-05-21 15:17 ` Eric Dumazet
@ 2018-05-22 3:29 ` YueHaibing
0 siblings, 0 replies; 3+ messages in thread
From: YueHaibing @ 2018-05-22 3:29 UTC (permalink / raw)
To: Eric Dumazet, ast, daniel; +Cc: linux-kernel, netdev
On 2018/5/21 23:17, Eric Dumazet wrote:
>
>
> On 05/21/2018 12:55 AM, YueHaibing wrote:
>> like commit df39a9f106d5 ("bpf: check NULL for sk_to_full_sk() return value"),
>> we should check sk_to_full_sk return value against NULL.
>>
>> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
>> ---
>> include/linux/bpf-cgroup.h | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/include/linux/bpf-cgroup.h b/include/linux/bpf-cgroup.h
>> index 30d15e6..fd3fbeb 100644
>> --- a/include/linux/bpf-cgroup.h
>> +++ b/include/linux/bpf-cgroup.h
>> @@ -91,7 +91,7 @@ int __cgroup_bpf_check_dev_permission(short dev_type, u32 major, u32 minor,
>> int __ret = 0; \
>> if (cgroup_bpf_enabled && sk && sk == skb->sk) { \
>> typeof(sk) __sk = sk_to_full_sk(sk); \
>> - if (sk_fullsock(__sk)) \
>> + if (__sk && sk_fullsock(__sk)) \
>> __ret = __cgroup_bpf_run_filter_skb(__sk, skb, \
>> BPF_CGROUP_INET_EGRESS); \
>> } \
>>
>
> Why is this needed ???
BPF_CGROUP_RUN_PROG_INET_EGRESS is called in ip_output
I just misunderstood, sorry for noise.
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-05-22 3:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-21 7:55 [PATCH] bpf: check NULL for sk_to_full_sk() YueHaibing
2018-05-21 15:17 ` Eric Dumazet
2018-05-22 3:29 ` YueHaibing
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.