Skip to contentSkip to conversation

Revised add_key(2) man page for review

PATCH In review Michael Kerrisk (man-pages) 5 participants 21 messages Nov 4, 2016 – Dec 13, 2016 3 messages not in the archive Man-pages: manual pages for Linux -- Sections 2, 3, 4, 5, and 7

lore
Share & tools
lore
#0 lore raw

Hi David (and anyone else with an interest to review)

Following on from the request_key(2) page that I already posted, I've pasted the current draft of the add_key(2) below. The changes to this page are less wide-ranging than for request_key(2), but you may also have suggestions for further changes to tha page.

Could you take a look please? (The page source file is attached, in case you want to see all the formatting.)

Thanks,

Michael

====

NAME
add_key - add a key to the kernel's key management facility

SYNOPSIS
#include <sys/types.h>
#include <keyutils.h>

key_serial_t add_key(const char *type, const char *description,
const void *payload, size_t plen, key_serial_t keyring);

No glibc wrapper is provided for this system call; see NOTES.

DESCRIPTION
add_key() creates or updates a key of the given type and description, instantiates it with the payload of length plen, attaches it to the nominated keyring, and return the key's serial number.

The key type may reject the data if it is in the wrong format or is in some other way invalid.

If the destination keyring already contains a key that matches the specified type and description, then, if the key type sup‐ ports it, that key will be updated rather than a new key being created; if not, a new key (with a different ID) will be cre‐ ated and it will displace the link to the extant key from the keyring.

The destination keyring serial number may be that of a valid keyring for which the caller has write permission, or it may be one of the following special keyring IDs:

KEY_SPEC_THREAD_KEYRING
This specifies the caller's thread-specific keyring (thread-keyring(7)).

KEY_SPEC_PROCESS_KEYRING
This specifies the caller's process-specific keyring (process-keyring(7)).

KEY_SPEC_SESSION_KEYRING
This specifies the caller's session-specific keyring (session-keyring(7)).

KEY_SPEC_USER_KEYRING
This specifies the caller's UID-specific keyring (user- keyring(7)).

KEY_SPEC_USER_SESSION_KEYRING
This specifies the caller's UID-session keyring (user- session-keyring(7)).

Key types
The key type is a string that specifies the key's type. Inter‐ nally, the kernel defines a number of key types that are avail‐ able in the core key management code. Among the types that are available for user-space use and can be specified as the type argument to add_key() are the following:

"user" This is a general purpose key type whose payload may be
read and updated by user-space applications. The key is
kept entirely within kernel memory. The payload for
keys of this type is a blob of arbitrary data of up to 32,767 bytes.

"keyring"
Keyrings are special key types that may contain links to sequences of other keys of any type. If this interface is used to create a keyring, then a NULL payload should be specified, and plen should be zero.

"logon" (since Linux 3.3)
This key type is essentially the same as "user", but it does not provide reading. This is suitable for storing payloads that you do not want to be readable from user space.

This key type vets the description to ensure that it is qualified by a "service" prefix, by checking to ensure that the description contains a ':' that is preceded by other characters.

"big_key" (since Linux 3.13)
This key type is similar to "user", but may hold a pay‐ load of up to 1 MiB. If the key payload is large, then it may be stored in swap space rather than kernel mem‐ ory.

For further details on these key types, see keyrings(7).

RETURN VALUE
On success, add_key() returns the serial number of the key it created or updated. On error, -1 is returned and errno is set to indicate the cause of the error.

ERRORS
EACCES The keyring wasn't available for modification by the
user.

EDQUOT The key quota for this user would be exceeded by creat‐
ing this key or linking it to the keyring.

EINVAL The size of the string (including the terminating null
byte) specified in type or description exceeded the limit (32 bytes and 4096 bytes respectively).

EINVAL The payload data was invalid.

EINVAL type was "logon" and the description was not qualified
with a prefix string of the form "service:".

EKEYEXPIRED
The keyring has expired.

EKEYREVOKED
The keyring has been revoked.

ENOKEY The keyring doesn't exist.

ENOMEM Insufficient memory to create a key.

VERSIONS
This system call first appeared in Linux 2.6.10.

CONFORMING TO
This system call is a nonstandard Linux extension.

NOTES
No wrapper for this system call is provided in glibc. A wrap‐ per is provided in the libkeyutils package. When employing the wrapper in that library, link with -lkeyutils.

EXAMPLE
The program below creates a key with the type, description, and payload specified in its command-line arguments, and links that
key into the session keyring. The following shell session
demonstrates the use of the program:

$ ./a.out user mykey "Some payload"
Key ID is 64a4dca
$ grep '64a4dca' /proc/keys
064a4dca I--Q--- 1 perm 3f010000 1000 1000 user mykey: 12

Program source

       #include <sys/types.h>
       #include <keyutils.h>
       #include <stdio.h>
       #include <stdlib.h>
       #include <string.h>

       #define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \
                               } while (0)

       int
       main(int argc, char *argv[])
       {
           key_serial_t key;

           if (argc != 4) {
               fprintf(stderr, "Usage: %s type description payload\n",
                       argv[0]);
               exit(EXIT_FAILURE);
           }

           key = add_key(argv[1], argv[2], argv[3], strlen(argv[3]),
                       KEY_SPEC_SESSION_KEYRING);
           if (key == -1)
               errExit("add_key");

           printf("Key ID is %lx\n", (long) key);

           exit(EXIT_SUCCESS);
       }

SEE ALSO

       keyctl(1), keyctl(2), request_key(2), keyctl(3), keyutils(7),
       keyrings(7), persistent-keyring(7), process-keyring(7),
       session-keyring(7), thread-keyring(7), user-keyring(7),
       user-session-keyring(7)

       The kernel source files Documentation/security/keys.txt and
       Documentation/security/keys-request-key.txt.

Linux 2016-07-17 ADD_KEY(2)

Signature · 3 lines
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/

A message that is not in the archive (sent off-list or not yet received): 9a5cc2a7-a505-9d0d-5b78-4bc5ab100ff1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org

#2 lore raw

Hello.

The possible changes to add_key.2 are provided in the following patches, hope it helps reviewing and applying them on one-by-one basis.

Eugene Syromyatnikov (5):
add_key.2: tfix
add_key.2: wording change regarding the reasons of call faliure add_key.2: change wording regarding storing of big_key payload add_key.2: add information regarding EFAULT add_key.2: add information regarding EPERM

 man2/add_key.2 | 29 ++++++++++++++++++++++++-----
 1 file changed, 24 insertions(+), 5 deletions(-)
Signature · 6 lines
2.10.2

--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#3 lore raw

PATCH 1/5 add_key.2: tfix

In reply to a message not in the archive
---
 man2/add_key.2 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man2/add_key.2 +1 -1
index 0f4d109..1dfbd7d 100644
@@ -35,7 +35,7 @@ of length
 .IR plen ,
 attaches it to the nominated
 .IR keyring ,
-and return the key's serial number.
+and returns the key's serial number.
 .P
 The key type may reject the data if it is in the wrong format or
 is in some other way invalid.
Signature · 6 lines
2.10.2

--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#4 lore raw

Re: [PATCH 1/5] add_key.2: tfix

Quoted 3 lines · Eugene Syromyatnikov
---
 man2/add_key.2 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Hi Eugene,

As it happens, I'd found and fixed this already.

Cheers,

Michael

Quoted 14 lines
man2/add_key.2 +1 -1
index 0f4d109..1dfbd7d 100644
@@ -35,7 +35,7 @@ of length
 .IR plen ,
 attaches it to the nominated
 .IR keyring ,
-and return the key's serial number.
+and returns the key's serial number.
 .P
 The key type may reject the data if it is in the wrong format or
 is in some other way invalid.
Signature · 7 lines
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#5 lore raw

PATCH 2/5 add_key.2: wording change regarding the reasons of call faliure

In reply to a message not in the archive
---
 man2/add_key.2 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
man2/add_key.2 +2 -2
index 1dfbd7d..b693927 100644
@@ -37,8 +37,8 @@ attaches it to the nominated
 .IR keyring ,
 and returns the key's serial number.
 .P
-The key type may reject the data if it is in the wrong format or
-is in some other way invalid.
+The key may be rejected if the provided data is in the wrong format or
+it is invalid in some other way.
 .P
 If the destination
 .I keyring
Signature · 6 lines
2.10.2

--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#6 lore raw

Re: [PATCH 2/5] add_key.2: wording change regarding the reasons of call faliure

Quoted 3 lines · Eugene Syromyatnikov
---
 man2/add_key.2 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Thanks, Eugene. Applied.

Cheers,

Michael

Quoted 16 lines
man2/add_key.2 +2 -2
index 1dfbd7d..b693927 100644
@@ -37,8 +37,8 @@ attaches it to the nominated
 .IR keyring ,
 and returns the key's serial number.
 .P
-The key type may reject the data if it is in the wrong format or
-is in some other way invalid.
+The key may be rejected if the provided data is in the wrong format or
+it is invalid in some other way.
 .P
 If the destination
 .I keyring
Signature · 7 lines
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#7 lore raw

PATCH 3/5 add_key.2: change wording regarding storing of big_key payload

In reply to a message not in the archive
---
 man2/add_key.2 | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
man2/add_key.2 +3 -2
index b693927..78b1b99 100644
@@ -126,8 +126,9 @@ contains a ':' that is preceded by other characters.
 This key type is similar to
 .IR """user""" ,
 but may hold a payload of up to 1 MiB.
-If the key payload is large,
-then it may be stored in swap space rather than kernel memory.
+If the key payload is large enough,
+then it may be stored in tmpfs (which can be swapped out) rather than kernel
+memory.
 .PP
 For further details on these key types, see
 .BR keyrings (7).
Signature · 6 lines
2.10.2

--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#8 lore raw

Re: [PATCH 3/5] add_key.2: change wording regarding storing of big_key payload

Quoted 3 lines · Eugene Syromyatnikov
---
 man2/add_key.2 | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Hi Eugene,

Thanks. That's a rather better way of describing things. Patch applied.

Cheers,

Michael

Quoted 17 lines
man2/add_key.2 +3 -2
index b693927..78b1b99 100644
@@ -126,8 +126,9 @@ contains a ':' that is preceded by other characters.
 This key type is similar to
 .IR """user""" ,
 but may hold a payload of up to 1 MiB.
-If the key payload is large,
-then it may be stored in swap space rather than kernel memory.
+If the key payload is large enough,
+then it may be stored in tmpfs (which can be swapped out) rather than kernel
+memory.
 .PP
 For further details on these key types, see
 .BR keyrings (7).
Signature · 7 lines
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#9 lore raw

PATCH 4/5 add_key.2: add information regarding EFAULT

In reply to a message not in the archive
---
 man2/add_key.2 | 5 +++++
 1 file changed, 5 insertions(+)
man2/add_key.2 +5 -0
index 78b1b99..082a2b8 100644
@@ -148,6 +148,11 @@ The keyring wasn't available for modification by the user.
 The key quota for this user would be exceeded by creating this key or linking
 it to the keyring.
 .TP
+.B EFAULT
+(Part of)
+.IR type ", " description " or " payload
+points outside process' accessible address space.
+.TP
 .B EINVAL
 The size of the string (including the terminating null byte) specified in
 .I type
Signature · 6 lines
2.10.2

--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#10 lore raw

Re: [PATCH 4/5] add_key.2: add information regarding EFAULT

Quoted 3 lines · Eugene Syromyatnikov
---
 man2/add_key.2 | 5 +++++
 1 file changed, 5 insertions(+)

Thanks, Eugene. Applied.

Cheers,

Michael

Quoted 17 lines
man2/add_key.2 +5 -0
index 78b1b99..082a2b8 100644
@@ -148,6 +148,11 @@ The keyring wasn't available for modification by the user.
 The key quota for this user would be exceeded by creating this key or linking
 it to the keyring.
 .TP
+.B EFAULT
+(Part of)
+.IR type ", " description " or " payload
+points outside process' accessible address space.
+.TP
 .B EINVAL
 The size of the string (including the terminating null byte) specified in
 .I type
Signature · 7 lines
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#11 lore raw

PATCH 5/5 add_key.2: add information regarding EPERM

In reply to a message not in the archive
---
 man2/add_key.2 | 13 +++++++++++++
 1 file changed, 13 insertions(+)
man2/add_key.2 +13 -0
index 082a2b8..241eb92 100644
@@ -183,6 +183,19 @@ The keyring doesn't exist.
 .TP
 .B ENOMEM
 Insufficient memory to create a key.
+.TP
+.B EPERM
+The
+.I type
+started from dot.
+.TP
+.B EPERM
+.I type
+was
+.I """keyring"""
+and the
+.I description
+started from dot.
 .SH VERSIONS
 This system call first appeared in Linux 2.6.10.
 .SH CONFORMING TO
Signature · 6 lines
2.10.2

--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#12 lore raw

Re: [PATCH 5/5] add_key.2: add information regarding EPERM

Hello Eugene

Quoted 9 lines · Eugene Syromyatnikov
---
 man2/add_key.2 | 13 +++++++++++++
 1 file changed, 13 insertions(+)
man2/add_key.2 +0 -0
index 082a2b8..241eb92 100644

man2/add_key.2 The keyring doesn't exist. · line 190

Quoted 8 lines
man2/add_key.2 +5 -0
@@ -183,6 +183,19 @@ The keyring doesn't exist.
 .TP
 .B ENOMEM
 Insufficient memory to create a key.
+.TP
+.B EPERM
+The
+.I type
+started from dot.

Oh -- I was unaware of this! What are key types that start with "." about, do you know?

Cheers,

Michael

Quoted 12 lines
man2/add_key.2 +8 -0
+.TP
+.B EPERM
+.I type
+was
+.I """keyring"""
+and the
+.I description
+started from dot.
 .SH VERSIONS
 This system call first appeared in Linux 2.6.10.
 .SH CONFORMING TO
Signature · 7 lines
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): fc419c25-7e99-9b47-0439-3469bb6e9ed6-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org

#14 lore raw

Re: [PATCH 5/5] add_key.2: add information regarding EPERM

Quoted 7 lines · Michael Kerrisk (man-pages)

Hello Eugene

Quoted 4 lines · Eugene Syromyatnikov
---
 man2/add_key.2 | 13 +++++++++++++
 1 file changed, 13 insertions(+)
Quoted 16 lines

man2/add_key.2 The keyring doesn't exist. · line 190

Quoted 13 lines
man2/add_key.2 +5 -0
index 082a2b8..241eb92 100644
@@ -183,6 +183,19 @@ The keyring doesn't exist.
 .TP
 .B ENOMEM
 Insufficient memory to create a key.
+.TP
+.B EPERM
+The
+.I type
+started from dot.

Oh -- I was unaware of this! What are key types that start with "." about, do you know?

I can't recall any clear indication that this is for internal purposes (and can't find any mention of this now), but there is explicit check in keyctl.c:key_get_type_from_user and it is used for ".request_key_auth" key type. Judging by commit messages for 54e2c2c1, 1260f801 and 3e30148c, it is indeed reserved for internal purposes and has been reserved as part of the introduction of the aforementioned ".request_key_auth" key type.

Quoted 23 lines

Cheers,

Michael

man2/add_key.2 The keyring doesn't exist. · line 201

Quoted 12 lines
man2/add_key.2 +8 -0
+.TP
+.B EPERM
+.I type
+was
+.I """keyring"""
+and the
+.I description
+started from dot.
 .SH VERSIONS
 This system call first appeared in Linux 2.6.10.
 .SH CONFORMING TO

--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/

Signature · 7 lines
Eugene "eSyr" Syromyatnikov
mailto:[email protected]
xmpp:eSyr@jabber.{ru|org}
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): CACGkJduKzn3ZK2uet_eVPFRmQszCRZQRyUBOJ-GYe44zCuvzMA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org

#16 lore raw

Re: [PATCH 5/5] add_key.2: add information regarding EPERM

Quoted 2 lines · Eugene Syromyatnikov

I can't recall any clear indication that this is for internal purposes (and can't find any mention of this now),

In Documentation/security/keys*, i mean.

Signature · 7 lines
Eugene "eSyr" Syromyatnikov
mailto:[email protected]
xmpp:eSyr@jabber.{ru|org}
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#17 lore raw

Re: [PATCH 5/5] add_key.2: add information regarding EPERM

In reply to a message not in the archive

Hi Eugene,

Quoted 25 lines · Eugene Syromyatnikov
Quoted 7 lines · Michael Kerrisk (man-pages)

Hello Eugene

Quoted 4 lines · Eugene Syromyatnikov
---
 man2/add_key.2 | 13 +++++++++++++
 1 file changed, 13 insertions(+)
Quoted 16 lines

man2/add_key.2 The keyring doesn't exist. · line 190

Quoted 13 lines
man2/add_key.2 +5 -0
index 082a2b8..241eb92 100644
@@ -183,6 +183,19 @@ The keyring doesn't exist.
 .TP
 .B ENOMEM
 Insufficient memory to create a key.
+.TP
+.B EPERM
+The
+.I type
+started from dot.

Oh -- I was unaware of this! What are key types that start with "." about, do you know?

Quoted 7 lines

I can't recall any clear indication that this is for internal purposes (and can't find any mention of this now), but there is explicit check in keyctl.c:key_get_type_from_user and it is used for ".request_key_auth" key type. Judging by commit messages for 54e2c2c1, 1260f801 and 3e30148c, it is indeed reserved for internal purposes and has been reserved as part of the introduction of the aforementioned ".request_key_auth" key type.

Ahh yes. That makes sense. Patch applied. And I'll add a few more words about the types starting with "." being reserved.

Cheers,

Michael

Quoted 21 lines
Quoted 18 lines

man2/add_key.2 The keyring doesn't exist. · line 201

Quoted 12 lines
man2/add_key.2 +8 -0
+.TP
+.B EPERM
+.I type
+was
+.I """keyring"""
+and the
+.I description
+started from dot.
 .SH VERSIONS
 This system call first appeared in Linux 2.6.10.
 .SH CONFORMING TO

--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/

Signature · 7 lines
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#18 lore raw
In reply to Michael Kerrisk (man-pages)
Quoted 3 lines · Michael Kerrisk (man-pages)

The destination keyring serial number may be that of a valid keyring for which the caller has write permission, or it may be one of the following special keyring IDs:

No comma before "or".

Quoted 3 lines

"user" This is a general purpose key type whose payload may be
...
"keyring"

It probably makes sense to put keyring either first or last.

Quoted 5 lines

"keyring"
Keyrings are special key types that may contain links to sequences of other keys of any type. If this interface is used to create a keyring, then a NULL payload should be specified, and plen should be zero.

I think "then payload should be NULL and plen should be zero." sounds better.

Quoted 3 lines

"logon" (since Linux 3.3)
This key type is essentially the same as "user", but it does not provide reading.

"permit the key to be read" rather than "provide reading", I think.

Quoted 5 lines

"big_key" (since Linux 3.13)
This key type is similar to "user", but may hold a pay‐ load of up to 1 MiB. If the key payload is large, then it may be stored in swap space rather than kernel mem‐ ory.

"stored encrypted in swap space".

Quoted 1 line
           printf("Key ID is %lx\n", (long) key);

key_serial_t is an int. It doesn't really need casting to long.

David
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#19 lore raw

Hello David

Thanks for the review!

Quoted 7 lines · David Howells
Quoted 3 lines · Michael Kerrisk (man-pages)

The destination keyring serial number may be that of a valid keyring for which the caller has write permission, or it may be one of the following special keyring IDs:

No comma before "or".

Actually, I think its okay with the comma. But I decided anyway to reword this into two sentences.

Quoted 5 lines
Quoted 3 lines

"user" This is a general purpose key type whose payload may be
...
"keyring"

It probably makes sense to put keyring either first or last.

Done.

Quoted 8 lines
Quoted 6 lines

"keyring"
Keyrings are special key types that may contain links to sequences of other keys of any type. If this interface is used to create a keyring, then a NULL payload should be specified, and plen should be zero.

I think "then payload should be NULL and plen should be zero." sounds better.

Agreed. Fixed.

Quoted 5 lines
Quoted 3 lines

"logon" (since Linux 3.3)
This key type is essentially the same as "user", but it does not provide reading.

"permit the key to be read" rather than "provide reading", I think.

Fixed.

Quoted 7 lines
Quoted 5 lines

"big_key" (since Linux 3.13)
This key type is similar to "user", but may hold a pay‐ load of up to 1 MiB. If the key payload is large, then it may be stored in swap space rather than kernel mem‐ ory.

"stored encrypted in swap space".

Fixed.

Quoted 3 lines
Quoted 1 line
           printf("Key ID is %lx\n", (long) key);

key_serial_t is an int. It doesn't really need casting to long.

Well, this is a common way of dealing with opaque integer system data types, so that one does not encode a representational dependency into printf(). (Relies on the assumption that the underlying type is no bigger than long. The alternative these days is a cast to (intmax_t) plus %jd.) [So, for the moment, I'll leave the text as is.]

Cheers,

Micael

Signature · 7 lines
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#21 lore raw
Quoted 7 lines · David Howells
Quoted 3 lines · Michael Kerrisk (man-pages)
Quoted 1 line

"stored encrypted in swap space".

Fixed.

Since 4.8, that is.

Which commit was that? I could not find it?

Signature · 3 lines
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
#22 lore raw
Quoted 10 lines · Michael Kerrisk (man-pages)
Quoted 7 lines · David Howells
Quoted 3 lines · Michael Kerrisk (man-pages)
Quoted 1 line

"stored encrypted in swap space".

Fixed.

Since 4.8, that is.

Which commit was that? I could not find it?

13100a72f40f5748a04017e0ab3df4cf27c809ef, v4.7-rc1~124^2~2^2~2^2~1

Quoted 5 lines

--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/

Signature · 7 lines
Eugene Syromyatnikov
mailto:[email protected]
xmpp:esyr@jabber.{ru|org}
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#23 lore raw

Hi Eugene,

Quoted 5 lines · Eugene Syromyatnikov
Quoted 3 lines · Michael Kerrisk (man-pages)
Quoted 2 lines · David Howells

Michael Kerrisk (man-pages) <[email protected]> wrote:

Quoted 8 lines
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
Quoted 1 line

"stored encrypted in swap space".

Fixed.

Since 4.8, that is.

Which commit was that? I could not find it?

13100a72f40f5748a04017e0ab3df4cf27c809ef, v4.7-rc1~124^2~2^2~2^2~1

Thanks! See my reply (in a moment) on the keyrings(7) page.

Cheers,

Michael

Signature · 7 lines
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html