H.J. Lu
0ad926f349
nptl: Zero-extend arguments to SETXID syscalls [BZ #26248 ]
...
nptl has
/* Opcodes and data types for communication with the signal handler to
change user/group IDs. */
struct xid_command
{
int syscall_no;
long int id[3];
volatile int cntr;
volatile int error;
};
/* This must be last, otherwise the current thread might not have
permissions to send SIGSETXID syscall to the other threads. */
result = INTERNAL_SYSCALL_NCS (cmdp->syscall_no, 3,
cmdp->id[0], cmdp->id[1], cmdp->id[2]);
But the second argument of setgroups syscal is a pointer:
int setgroups (size_t size, const gid_t *list);
But on x32, pointers passed to syscall must have pointer type so that
they will be zero-extended. The kernel XID arguments are unsigned and
do not require sign extension. Change xid_command to
struct xid_command
{
int syscall_no;
unsigned long int id[3];
volatile int cntr;
volatile int error;
};
so that all arguments are zero-extended. A testcase is added for x32 and
setgroups returned with EFAULT when running as root without the fix.
2020-07-27 12:32:41 -07:00
..
2020-01-01 00:14:33 +00:00
2020-07-07 14:10:58 -03:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2014-02-10 15:07:12 +01:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-07-27 12:32:41 -07:00
2019-07-12 13:36:25 +00:00
2013-07-02 08:46:54 -07:00
2020-01-01 00:14:33 +00:00
2020-02-20 08:57:01 +01:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-05-20 20:27:49 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-07-27 12:32:41 -07:00
2017-01-10 11:50:17 +01:00
2020-07-07 14:10:58 -03:00
2020-01-01 00:14:33 +00:00
2020-06-02 10:32:47 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-02-20 08:57:01 +01:00
2020-02-20 08:57:01 +01:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-02-18 15:12:25 +01:00
2020-01-01 00:14:33 +00:00
2015-06-10 10:18:12 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-06-02 11:59:18 +02:00
2020-06-02 11:54:58 +02:00
2020-06-02 11:54:58 +02:00
2020-06-02 11:54:58 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-06-02 11:59:18 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-06-02 10:32:37 +02:00
2020-05-20 20:28:24 +02:00
2020-06-02 11:54:58 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-06-02 11:59:18 +02:00
2020-06-02 11:59:18 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-02-14 21:12:45 -03:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-02-20 08:57:01 +01:00
2020-02-20 08:57:01 +01:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-07-16 17:55:35 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-05-20 20:23:20 +02:00
2020-06-02 10:32:37 +02:00
2020-06-02 10:32:30 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-05-20 20:22:31 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2017-08-31 18:52:00 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-02-14 21:12:45 -03:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-05-20 20:22:31 +02:00
2020-06-02 10:32:47 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-05-20 20:22:31 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-07-07 14:10:58 -03:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2014-07-07 09:28:38 -07:00
2020-01-01 00:14:33 +00:00
2020-06-02 11:59:18 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2014-09-12 12:28:47 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-02-14 21:12:45 -03:00
2007-05-15 06:49:29 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-06-26 23:51:52 +02:00
2020-01-01 00:14:33 +00:00
2020-07-05 19:21:45 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2012-10-05 10:23:58 -07:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2016-06-29 20:24:44 -07:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-06-07 13:35:54 +02:00
2020-06-07 13:35:54 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-05-25 18:32:28 +02:00
2020-05-25 18:32:28 +02:00
2015-10-27 21:48:34 +00:00
2015-10-27 21:48:34 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2006-07-29 04:42:09 +00:00
2012-10-05 10:23:58 -07:00
2020-05-26 00:46:07 +00:00
2014-12-02 22:33:57 +00:00
2006-07-29 04:42:09 +00:00
2006-07-29 04:42:09 +00:00
2006-07-29 04:42:09 +00:00
2006-07-29 04:42:09 +00:00
2006-07-29 04:42:09 +00:00
2011-10-24 21:43:33 -04:00
2006-07-29 04:42:09 +00:00
2006-07-29 04:42:09 +00:00
2012-10-05 10:23:58 -07:00
2006-07-29 04:42:09 +00:00
2006-07-29 04:42:09 +00:00
2014-12-02 22:33:57 +00:00
2014-12-12 11:14:00 +01:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-06-02 11:59:18 +02:00
2020-05-20 20:29:10 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2006-07-29 04:42:09 +00:00
2006-07-29 04:42:09 +00:00
2006-07-29 04:42:09 +00:00
2006-07-29 04:42:09 +00:00
2006-07-29 04:42:09 +00:00
2006-07-29 04:42:09 +00:00
2006-07-29 04:42:09 +00:00
2006-07-29 04:42:09 +00:00
2007-05-19 08:21:27 +00:00
2020-01-01 00:14:33 +00:00
2008-05-31 08:56:14 +00:00
2017-01-10 11:50:17 +01:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2012-10-05 10:23:58 -07:00
2015-01-21 00:46:16 -05:00
2012-10-05 10:23:58 -07:00
2007-05-26 01:23:04 +00:00
2019-07-12 13:36:23 +00:00
2020-01-01 00:14:33 +00:00
2020-05-20 20:22:31 +02:00
2020-07-27 12:32:41 -07:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-05-20 20:22:31 +02:00
2020-05-20 20:22:31 +02:00
2020-05-20 20:22:31 +02:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2017-02-16 17:33:18 -05:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2014-07-07 09:28:38 -07:00
2020-06-02 10:32:37 +02:00
2020-01-01 00:21:22 +00:00
2020-06-02 11:59:18 +02:00