[lkml]   [2011]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 3/7] seccomp_filter: Enable ftrace-based system call filtering
    On Thu, 2011-04-28 at 13:34 -0500, Will Drewry wrote:

    > > Perhaps, but those free standing functions (the ones that are exported
    > > to modules) seem like they can destroy state.
    > My intent was to make them available for use by seccomp.c during state
    > teardown/dup. I don't think there's benefit to exposing them outside
    > of that. Would dropping the export, and adding an local seccomp.h
    > with the shared functions in them resolve that more cleanly?

    Yes, having a local seccomp.h in the same directory as seccomp.c is a
    way of saying "these are internal functions, don't use them directly".
    Adding a function to EXPORT_SYMBOL*() is saying "here you go, have a
    field day with it!".

    > > Your code would have been correct if you could call kzalloc under
    > > rcu_read_lock() (which you can on some kernel configurations but not
    > > all). The issue is that you need to pull out that allocation from the
    > > rcu_read_lock() because rcu_read_lock assumes you can't preempt, and
    > > that allocation can schedule out. The access to the filters must be done
    > > under rcu_read_lock(), other than that, you're fine.
    > That makes sense. I think I'd prefer to not share those functions
    > rather than guard the list just in case a future consumer of the
    > interface comes along. Would that make sense to you? Since I don't
    > see any other users right now other than seccomp.c, it might make
    > sense to tackle the impact when an actual need arises.
    > I'll go whichever way pointed on this, though.
    > thanks again,

    I'm fine either way. If you make them local internal functions, then you
    don't need the locking if they are safe in their current context.

    -- Steve

     \ /
      Last update: 2011-04-28 21:09    [W:0.021 / U:11.800 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site