ptrace, seccomp: add support for retrieving seccomp metadata
With the new SECCOMP_FILTER_FLAG_LOG, we need to be able to extract these flags for checkpoint restore, since they describe the state of a filter. So, let's add PTRACE_SECCOMP_GET_METADATA, similar to ..._GET_FILTER, which returns the metadata of the nth filter (right now, just the flags). Hopefully this will be future proof, and new per-filter metadata can be added to this struct. Signed-off-by: Tycho Andersen <tycho@docker.com> CC: Kees Cook <keescook@chromium.org> CC: Andy Lutomirski <luto@amacapital.net> CC: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:

committed by
Kees Cook

parent
f06eae831f
commit
26500475ac
@@ -95,11 +95,19 @@ static inline void get_seccomp_filter(struct task_struct *tsk)
|
||||
#if defined(CONFIG_SECCOMP_FILTER) && defined(CONFIG_CHECKPOINT_RESTORE)
|
||||
extern long seccomp_get_filter(struct task_struct *task,
|
||||
unsigned long filter_off, void __user *data);
|
||||
extern long seccomp_get_metadata(struct task_struct *task,
|
||||
unsigned long filter_off, void __user *data);
|
||||
#else
|
||||
static inline long seccomp_get_filter(struct task_struct *task,
|
||||
unsigned long n, void __user *data)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
static inline long seccomp_get_metadata(struct task_struct *task,
|
||||
unsigned long filter_off,
|
||||
void __user *data)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
#endif /* CONFIG_SECCOMP_FILTER && CONFIG_CHECKPOINT_RESTORE */
|
||||
#endif /* _LINUX_SECCOMP_H */
|
||||
|
Reference in New Issue
Block a user