The attached patch makes keyctl() use the correct argument when invoking the
KEYCTL_JOIN_SESSION_KEYRING function.
I'm not sure how this evaded testing before, but I suspect the compiler was
kind and made both argument registers hold the same value.
Thanks to Kevin Coffman <[EMAIL PROTECTED]> for spotting this.
Signed-Off-By: David Howells <[EMAIL PROTECTED]>
---
warthog>diffstat -p1 keys-joinsess-2611rc4.diff
security/keys/compat.c | 2 +-
security/keys/keyctl.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff -uNr linux-2.6.11-rc4/security/keys/compat.c
linux-2.6.11-rc4-keys-task/security/keys/compat.c
--- linux-2.6.11-rc4/security/keys/compat.c 2005-01-04 11:14:01.000000000
+0000
+++ linux-2.6.11-rc4-keys-task/security/keys/compat.c 2005-02-25
11:02:33.853339509 +0000
@@ -31,7 +31,7 @@
return keyctl_get_keyring_ID(arg2, arg3);
case KEYCTL_JOIN_SESSION_KEYRING:
- return keyctl_join_session_keyring(compat_ptr(arg3));
+ return keyctl_join_session_keyring(compat_ptr(arg2));
case KEYCTL_UPDATE:
return keyctl_update_key(arg2, compat_ptr(arg3), arg4);
diff -uNr linux-2.6.11-rc4/security/keys/keyctl.c
linux-2.6.11-rc4-keys-task/security/keys/keyctl.c
--- linux-2.6.11-rc4/security/keys/keyctl.c 2005-01-04 11:14:01.000000000
+0000
+++ linux-2.6.11-rc4-keys-task/security/keys/keyctl.c 2005-02-25
11:02:24.134152856 +0000
@@ -923,7 +923,7 @@
(int) arg3);
case KEYCTL_JOIN_SESSION_KEYRING:
- return keyctl_join_session_keyring((const char __user *) arg3);
+ return keyctl_join_session_keyring((const char __user *) arg2);
case KEYCTL_UPDATE:
return keyctl_update_key((key_serial_t) arg2,
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/