diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/seccomp.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/seccomp.c b/kernel/seccomp.c index 590c37925084..b35c21503a36 100644 --- a/kernel/seccomp.c +++ b/kernel/seccomp.c | |||
| @@ -255,6 +255,7 @@ static long seccomp_attach_filter(struct sock_fprog *fprog) | |||
| 255 | goto free_prog; | 255 | goto free_prog; |
| 256 | 256 | ||
| 257 | /* Allocate a new seccomp_filter */ | 257 | /* Allocate a new seccomp_filter */ |
| 258 | ret = -ENOMEM; | ||
| 258 | filter = kzalloc(sizeof(struct seccomp_filter) + | 259 | filter = kzalloc(sizeof(struct seccomp_filter) + |
| 259 | sizeof(struct sock_filter_int) * new_len, | 260 | sizeof(struct sock_filter_int) * new_len, |
| 260 | GFP_KERNEL|__GFP_NOWARN); | 261 | GFP_KERNEL|__GFP_NOWARN); |
| @@ -264,6 +265,7 @@ static long seccomp_attach_filter(struct sock_fprog *fprog) | |||
| 264 | ret = sk_convert_filter(fp, fprog->len, filter->insnsi, &new_len); | 265 | ret = sk_convert_filter(fp, fprog->len, filter->insnsi, &new_len); |
| 265 | if (ret) | 266 | if (ret) |
| 266 | goto free_filter; | 267 | goto free_filter; |
| 268 | kfree(fp); | ||
| 267 | 269 | ||
| 268 | atomic_set(&filter->usage, 1); | 270 | atomic_set(&filter->usage, 1); |
| 269 | filter->len = new_len; | 271 | filter->len = new_len; |
