Skip to content

RFC Another attempt at contained helper execution

Ian Kent lkml 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 RFC Latest7 patches 10 repliesIn review
  2. v4 RFC12 patches 8 repliesSuperseded

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7kmod - add workqueue service thread storeinclude/linux/kmod.h kernel/kmod.c+181 -14 replies
2/7kmod - teach usermodehelper to use service workqueuesinclude/linux/kmod.h kernel/kmod.c+36 -70 replies
3/7nfsd - use service thread if not executing in init namespacefs/nfsd/netns.h fs/nfsd/nfs4recover.c fs/nfsd/nfsctl.c+40 -173 replies
4/7nfs - cache_lib use service thread if not executing in init namespacefs/nfs/cache_lib.c include/linux/sunrpc/cache.h net/sunrpc/cache.c+13 -10 replies
5/7nfs - objlayout use service thread if not executing in init namespacefs/nfs/objlayout/objlayout.c+13 -10 replies
6/7KEYS - use correct memory allocation flag in call_usermodehelper_keys()security/keys/request_key.c+3 -11 reply
7/7KEYS: exec request key within service thread of key creatorinclude/linux/key.h security/keys/gc.c security/keys/key.c +1 more+37 -72 replies

Reviews trailers per patch

1 of 7 patches has a Reviewed-by or Acked-by.

PatchDavid Howells
1/7
2/7
3/7
4/7
5/7
6/7R-b
7/7

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v5 thread

Cover letter [RFC PATCH v5 0/7] Another attempt at contained helper execution

Following Eric's comments and in light of the most recent nfs and keys patches here is yet another attempt at the basis of contained usermode helper execution.

Initially I thought that creating threads to be used when executing a helper wouldn't be feasible because the number of threads would be far too large but the recent nfs and keys patches make me think that's probably not the case.

There's more work to do on this, namely identifying already existing threads for a requested environment, error handling for environments that have gone away due to summary execution and similar. But I'd like to get feedback as to whether I'm on the right track and what I might be missing before spending more time on it.

---

Ian Kent (7):
kmod - add workqueue service thread store
kmod - teach usermodehelper to use service workqueues
nfsd - use service thread if not executing in init namespace nfs - cache_lib use service thread if not executing in init namespace nfs - objlayout use service thread if not executing in init namespace KEYS - use correct memory allocation flag in call_usermodehelper_keys()
KEYS: exec request key within service thread of key creator

 fs/nfs/cache_lib.c           |    7 +
 fs/nfs/objlayout/objlayout.c |   14 +++
 fs/nfsd/netns.h              |    3 +
 fs/nfsd/nfs4recover.c        |   48 ++++++---
 fs/nfsd/nfsctl.c             |    6 +
 include/linux/key.h          |    3 +
 include/linux/kmod.h         |    8 ++
 include/linux/sunrpc/cache.h |    2 
 kernel/kmod.c                |  217 ++++++++++++++++++++++++++++++++++++++++--
 net/sunrpc/cache.c           |    5 +
 security/keys/gc.c           |    2 
 security/keys/key.c          |    5 +
 security/keys/request_key.c  |   38 ++++++-
 13 files changed, 323 insertions(+), 35 deletions(-)

--
Ian