diff options
| author | James Morris <jmorris@namei.org> | 2011-03-15 18:41:17 -0400 |
|---|---|---|
| committer | James Morris <jmorris@namei.org> | 2011-03-15 18:41:17 -0400 |
| commit | a002951c97ff8da49938c982a4c236bf2fafdc9f (patch) | |
| tree | d43e7885ea7376df0a47a0fc8ceca66dc5bfa357 | |
| parent | 521cb40b0c44418a4fd36dc633f575813d59a43d (diff) | |
| parent | c151694b2c48d956ac8c8c59c6927f89cc29ef70 (diff) | |
Merge branch 'next' into for-linus
85 files changed, 1549 insertions, 712 deletions
diff --git a/Documentation/keys-request-key.txt b/Documentation/keys-request-key.txt index 09b55e461740..69686ad12c66 100644 --- a/Documentation/keys-request-key.txt +++ b/Documentation/keys-request-key.txt | |||
| @@ -127,14 +127,15 @@ This is because process A's keyrings can't simply be attached to | |||
| 127 | of them, and (b) it requires the same UID/GID/Groups all the way through. | 127 | of them, and (b) it requires the same UID/GID/Groups all the way through. |
| 128 | 128 | ||
| 129 | 129 | ||
| 130 | ====================== | 130 | ==================================== |
| 131 | NEGATIVE INSTANTIATION | 131 | NEGATIVE INSTANTIATION AND REJECTION |
| 132 | ====================== | 132 | ==================================== |
| 133 | 133 | ||
| 134 | Rather than instantiating a key, it is possible for the possessor of an | 134 | Rather than instantiating a key, it is possible for the possessor of an |
| 135 | authorisation key to negatively instantiate a key that's under construction. | 135 | authorisation key to negatively instantiate a key that's under construction. |
| 136 | This is a short duration placeholder that causes any attempt at re-requesting | 136 | This is a short duration placeholder that causes any attempt at re-requesting |
| 137 | the key whilst it exists to fail with error ENOKEY. | 137 | the key whilst it exists to fail with error ENOKEY if negated or the specified |
| 138 | error if rejected. | ||
| 138 | 139 | ||
| 139 | This is provided to prevent excessive repeated spawning of /sbin/request-key | 140 | This is provided to prevent excessive repeated spawning of /sbin/request-key |
| 140 | processes for a key that will never be obtainable. | 141 | processes for a key that will never be obtainable. |
diff --git a/Documentation/keys.txt b/Documentation/keys.txt index e4dbbdb1bd96..6523a9e6f293 100644 --- a/Documentation/keys.txt +++ b/Documentation/keys.txt | |||
| @@ -637,6 +637,9 @@ The keyctl syscall functions are: | |||
| 637 | long keyctl(KEYCTL_INSTANTIATE, key_serial_t key, | 637 | long keyctl(KEYCTL_INSTANTIATE, key_serial_t key, |
| 638 | const void *payload, size_t plen, | 638 | const void *payload, size_t plen, |
| 639 | key_serial_t keyring); | 639 | key_serial_t keyring); |
| 640 | long keyctl(KEYCTL_INSTANTIATE_IOV, key_serial_t key, | ||
| 641 | const struct iovec *payload_iov, unsigned ioc, | ||
| 642 | key_serial_t keyring); | ||
| 640 | 643 | ||
| 641 | If the kernel calls back to userspace to complete the instantiation of a | 644 | If the kernel calls back to userspace to complete the instantiation of a |
| 642 | key, userspace should use this call to supply data for the key before the | 645 | key, userspace should use this call to supply data for the key before the |
| @@ -652,11 +655,16 @@ The keyctl syscall functions are: | |||
| 652 | 655 | ||
| 653 | The payload and plen arguments describe the payload data as for add_key(). | 656 | The payload and plen arguments describe the payload data as for add_key(). |
| 654 | 657 | ||
| 658 | The payload_iov and ioc arguments describe the payload data in an iovec | ||
| 659 | array instead of a single buffer. | ||
| 660 | |||
| 655 | 661 | ||
| 656 | (*) Negatively instantiate a partially constructed key. | 662 | (*) Negatively instantiate a partially constructed key. |
| 657 | 663 | ||
| 658 | long keyctl(KEYCTL_NEGATE, key_serial_t key, | 664 | long keyctl(KEYCTL_NEGATE, key_serial_t key, |
| 659 | unsigned timeout, key_serial_t keyring); | 665 | unsigned timeout, key_serial_t keyring); |
| 666 | long keyctl(KEYCTL_REJECT, key_serial_t key, | ||
| 667 | unsigned timeout, unsigned error, key_serial_t keyring); | ||
| 660 | 668 | ||
| 661 | If the kernel calls back to userspace to complete the instantiation of a | 669 | If the kernel calls back to userspace to complete the instantiation of a |
| 662 | k | ||
