mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-30 19:06:14 +00:00
[PATCH] Keys: Pass session keyring to call_usermodehelper()
The attached patch makes it possible to pass a session keyring through to the process spawned by call_usermodehelper(). This allows patch 3/3 to pass an authorisation key through to /sbin/request-key, thus permitting better access controls when doing just-in-time key creation. Signed-Off-By: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
76d8aeabfe
commit
7888e7ff4e
4 changed files with 35 additions and 7 deletions
|
@ -273,14 +273,22 @@ extern void key_fsuid_changed(struct task_struct *tsk);
|
|||
extern void key_fsgid_changed(struct task_struct *tsk);
|
||||
extern void key_init(void);
|
||||
|
||||
#define __install_session_keyring(tsk, keyring) \
|
||||
({ \
|
||||
struct key *old_session = tsk->signal->session_keyring; \
|
||||
tsk->signal->session_keyring = keyring; \
|
||||
old_session; \
|
||||
})
|
||||
|
||||
#else /* CONFIG_KEYS */
|
||||
|
||||
#define key_validate(k) 0
|
||||
#define key_serial(k) 0
|
||||
#define key_get(k) NULL
|
||||
#define key_get(k) ({ NULL; })
|
||||
#define key_put(k) do { } while(0)
|
||||
#define alloc_uid_keyring(u) 0
|
||||
#define switch_uid_keyring(u) do { } while(0)
|
||||
#define __install_session_keyring(t, k) ({ NULL; })
|
||||
#define copy_keys(f,t) 0
|
||||
#define copy_thread_group_keys(t) 0
|
||||
#define exit_keys(t) do { } while(0)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue