diff options
| -rw-r--r-- | kernel/bpf/sockmap.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/bpf/sockmap.c b/kernel/bpf/sockmap.c index 56879c9fd3a4..79f5e8988889 100644 --- a/kernel/bpf/sockmap.c +++ b/kernel/bpf/sockmap.c | |||
| @@ -1990,6 +1990,12 @@ static struct bpf_map *sock_hash_alloc(union bpf_attr *attr) | |||
| 1990 | attr->map_flags & ~SOCK_CREATE_FLAG_MASK) | 1990 | attr->map_flags & ~SOCK_CREATE_FLAG_MASK) |
| 1991 | return ERR_PTR(-EINVAL); | 1991 | return ERR_PTR(-EINVAL); |
| 1992 | 1992 | ||
| 1993 | if (attr->key_size > MAX_BPF_STACK) | ||
| 1994 | /* eBPF programs initialize keys on stack, so they cannot be | ||
| 1995 | * larger than max stack size | ||
| 1996 | */ | ||
| 1997 | return ERR_PTR(-E2BIG); | ||
| 1998 | |||
| 1993 | err = bpf_tcp_ulp_register(); | 1999 | err = bpf_tcp_ulp_register(); |
| 1994 | if (err && err != -EEXIST) | 2000 | if (err && err != -EEXIST) |
| 1995 | return ERR_PTR(err); | 2001 | return ERR_PTR(err); |
