On Tue, Sep 19, 2017 at 2:55 PM, Tycho Andersen <tycho@xxxxxxxxxx> wrote: > On Tue, Sep 19, 2017 at 02:43:51PM -0700, Kees Cook wrote: >> On Tue, Sep 19, 2017 at 2:09 PM, Tycho Andersen <tycho@xxxxxxxxxx> wrote: >> > Hi Kees, >> > >> > On Tue, Sep 19, 2017 at 01:08:28PM -0700, Kees Cook wrote: >> >> On Tue, Sep 19, 2017 at 10:47 AM, Tycho Andersen <tycho@xxxxxxxxxx> wrote: >> >> > 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_FLAGS, similar to ..._GET_FILTER, which >> >> > returns the flags of the nth filter. >> >> >> >> Can you split this up into factoring out the nth helper, and then >> >> adding the new get? >> >> >> >> For naming, perhaps "GET_FILTER_FLAGS" instead of "GET_FLAGS" since >> >> there may be seccomp flags in the future, etc. >> > >> > Sure, I'll do both of these. >> > >> >> Is there any sane way to add the flags to the existing GET_FILTER? >> > >> > I looked at this, and I don't think so. Unfortunately, we didn't use >> > any structure for the output, it's just the raw bytes of the filter >> > with the length used as the return value. I suppose we could append >> > the flags after the bytes of the filter, but that seems... very ugly >> > :). Let me know if you want to go that route. >> >> I think if we can make the new GET_FILTER_stuff interface more >> extensible, we should cover any future needs for per-filter content. > > Ok, are you interested in something more general than > GET_FILTER_FLAGS? Maybe GET_FILTER_METADATA with uapi struct like: > > struct seccomp_metadata { > unsigned int flags; > }; > > which you call by something like, > > struct seccomp_metadata mymeta; > > size = ptrace(PTRACE_SECCOMP_GET_FILTER_METADATA, pid, sizeof(mymeta), &mymeta); > if (size < 0) { > /* error */ > } > if (size != sizeof(mymeta)) { > /* struct seccomp_metadata sizes are different */ > } > > ? Yeah, I think a sizeof could work here as a way to grow the metadata result in the future. Adding linux-api@ to see if anyone has thoughts on the best way to make this future-proof... -Kees -- Kees Cook Pixel Security -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html