* FAILED: patch "[PATCH] KEYS: Only apply KEY_FLAG_KEEP to a key if a parent keyring" failed to apply to 4.4-stable tree
@ 2016-03-01 19:17 gregkh
2016-03-01 23:04 ` Mimi Zohar
0 siblings, 1 reply; 2+ messages in thread
From: gregkh @ 2016-03-01 19:17 UTC (permalink / raw)
To: dhowells, james.l.morris, sgallagh, zohar; +Cc: stable
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable@vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From eee045021fb22aeac7f5d6f2092430b530c880ee Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Wed, 27 Jan 2016 01:02:03 +0000
Subject: [PATCH] KEYS: Only apply KEY_FLAG_KEEP to a key if a parent keyring
has it set
KEY_FLAG_KEEP should only be applied to a key if the keyring it is being
linked into has KEY_FLAG_KEEP set.
To this end, partially revert the following patch:
commit 1d6d167c2efcfe9539d9cffb1a1be9c92e39c2c0
Author: Mimi Zohar <zohar@linux.vnet.ibm.com>
Date: Thu Jan 7 07:46:36 2016 -0500
KEYS: refcount bug fix
to undo the change that made it unconditional (Mimi got it right the first
time).
Without undoing this change, it becomes impossible to delete, revoke or
invalidate keys added to keyrings through __key_instantiate_and_link()
where the keyring has itself been linked to. To test this, run the
following command sequence:
keyctl newring foo @s
keyctl add user a a %:foo
keyctl unlink %user:a %:foo
keyctl clear %:foo
With the commit mentioned above the third and fourth commands fail with
EPERM when they should succeed.
Reported-by: Stephen Gallager <sgallagh@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
cc: Mimi Zohar <zohar@linux.vnet.ibm.com>
cc: keyrings@vger.kernel.org
cc: stable@vger.kernel.org
Signed-off-by: James Morris <james.l.morris@oracle.com>
diff --git a/security/keys/key.c b/security/keys/key.c
index 07a87311055c..09ef276c4bdc 100644
--- a/security/keys/key.c
+++ b/security/keys/key.c
@@ -430,7 +430,8 @@ static int __key_instantiate_and_link(struct key *key,
/* and link it into the destination keyring */
if (keyring) {
- set_bit(KEY_FLAG_KEEP, &key->flags);
+ if (test_bit(KEY_FLAG_KEEP, &keyring->flags))
+ set_bit(KEY_FLAG_KEEP, &key->flags);
__key_link(key, _edit);
}
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: FAILED: patch "[PATCH] KEYS: Only apply KEY_FLAG_KEEP to a key if a parent keyring" failed to apply to 4.4-stable tree
2016-03-01 19:17 FAILED: patch "[PATCH] KEYS: Only apply KEY_FLAG_KEEP to a key if a parent keyring" failed to apply to 4.4-stable tree gregkh
@ 2016-03-01 23:04 ` Mimi Zohar
0 siblings, 0 replies; 2+ messages in thread
From: Mimi Zohar @ 2016-03-01 23:04 UTC (permalink / raw)
To: gregkh; +Cc: dhowells, james.l.morris, sgallagh, stable
On Tue, 2016-03-01 at 11:17 -0800, gregkh@linuxfoundation.org wrote:
> The patch below does not apply to the 4.4-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <stable@vger.kernel.org>.
Sorry for the confusion. KEY_FLAG_KEEP is being added in 4.5.
Mimi
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-03-01 23:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-01 19:17 FAILED: patch "[PATCH] KEYS: Only apply KEY_FLAG_KEEP to a key if a parent keyring" failed to apply to 4.4-stable tree gregkh
2016-03-01 23:04 ` Mimi Zohar
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.