namespaces.7: ffix
[man-pages.git] / man7 / thread-keyring.7
blob81a6ab33d48280c9c0e39927614645199209a061
1 .\" Copyright (C) 2014 Red Hat, Inc. All Rights Reserved.
2 .\" Written by David Howells (dhowells@redhat.com)
3 .\"
4 .\" %%%LICENSE_START(GPLv2+_SW_ONEPARA)
5 .\" This program is free software; you can redistribute it and/or
6 .\" modify it under the terms of the GNU General Public License
7 .\" as published by the Free Software Foundation; either version
8 .\" 2 of the License, or (at your option) any later version.
9 .\" %%%LICENSE_END
10 .\"
11 .TH THREAD-KEYRING 7 2020-08-13 Linux "Linux Programmer's Manual"
12 .SH NAME
13 thread-keyring \- per-thread keyring
14 .SH DESCRIPTION
15 The thread keyring is a keyring used to anchor keys on behalf of a process.
16 It is created only when a thread requests it.
17 The thread keyring has the name (description)
18 .IR _tid .
19 .PP
20 A special serial number value,
21 .BR KEY_SPEC_THREAD_KEYRING ,
22 is defined that can be used in lieu of the actual serial number of
23 the calling thread's thread keyring.
24 .PP
25 From the
26 .BR keyctl (1)
27 utility, '\fB@t\fP' can be used instead of a numeric key ID in
28 much the same way, but as
29 .BR keyctl (1)
30 is a program run after forking, this is of no utility.
31 .PP
32 Thread keyrings are not inherited across
33 .BR clone (2)
34 and
35 .BR fork (2)
36 and are cleared by
37 .BR execve (2).
38 A thread keyring is destroyed when the thread that refers to it terminates.
39 .PP
40 Initially, a thread does not have a thread keyring.
41 If a thread doesn't have a thread keyring when it is accessed,
42 then it will be created if it is to be modified;
43 otherwise the operation fails with the error
44 .BR ENOKEY .
45 .SH SEE ALSO
46 .ad l
47 .nh
48 .BR keyctl (1),
49 .BR keyctl (3),
50 .BR keyrings (7),
51 .BR persistent\-keyring (7),
52 .BR process\-keyring (7),
53 .BR session\-keyring (7),
54 .BR user\-keyring (7),
55 .BR user\-session\-keyring (7)