diff options
| author | Rob Herring <robh@kernel.org> | 2018-03-08 10:21:07 -0500 |
|---|---|---|
| committer | Rob Herring <robh@kernel.org> | 2018-03-08 10:21:07 -0500 |
| commit | c679fa6e3aaa5c58fc514b5b88cfa82774b8d390 (patch) | |
| tree | 0c10b339368bd1795152a66a4e245e6f654fb3ec /kernel/seccomp.c | |
| parent | bdb7013df910681f84eff27b07791d4c160cb76f (diff) | |
| parent | 4fd98e374fd377ae0458a9dc44aa779cf9631ddd (diff) | |
Merge branch 'dtc-update' into dt/next
Diffstat (limited to 'kernel/seccomp.c')
| -rw-r--r-- | kernel/seccomp.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/seccomp.c b/kernel/seccomp.c index 940fa408a288..dc77548167ef 100644 --- a/kernel/seccomp.c +++ b/kernel/seccomp.c | |||
| @@ -1076,14 +1076,16 @@ long seccomp_get_metadata(struct task_struct *task, | |||
| 1076 | 1076 | ||
| 1077 | size = min_t(unsigned long, size, sizeof(kmd)); | 1077 | size = min_t(unsigned long, size, sizeof(kmd)); |
| 1078 | 1078 | ||
| 1079 | if (copy_from_user(&kmd, data, size)) | 1079 | if (size < sizeof(kmd.filter_off)) |
| 1080 | return -EINVAL; | ||
| 1081 | |||
| 1082 | if (copy_from_user(&kmd.filter_off, data, sizeof(kmd.filter_off))) | ||
| 1080 | return -EFAULT; | 1083 | return -EFAULT; |
| 1081 | 1084 | ||
| 1082 | filter = get_nth_filter(task, kmd.filter_off); | 1085 | filter = get_nth_filter(task, kmd.filter_off); |
| 1083 | if (IS_ERR(filter)) | 1086 | if (IS_ERR(filter)) |
| 1084 | return PTR_ERR(filter); | 1087 | return PTR_ERR(filter); |
| 1085 | 1088 | ||
| 1086 | memset(&kmd, 0, sizeof(kmd)); | ||
| 1087 | if (filter->log) | 1089 | if (filter->log) |
| 1088 | kmd.flags |= SECCOMP_FILTER_FLAG_LOG; | 1090 | kmd.flags |= SECCOMP_FILTER_FLAG_LOG; |
| 1089 | 1091 | ||
