Linus Torvalds
9d235ac01f
Merge branch 'ucount-fixes-for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
...
Pull ucounts fixes from Eric Biederman:
"There has been one very hard to track down bug in the ucount code that
we have been tracking since roughly v5.14 was released. Alex managed
to find a reliable reproducer a few days ago and then I was able to
instrument the code and figure out what the issue was.
It turns out the sigqueue_alloc single atomic operation optimization
did not play nicely with ucounts multiple level rlimits. It turned out
that either sigqueue_alloc or sigqueue_free could be operating on
multiple levels and trigger the conditions for the optimization on
more than one level at the same time.
To deal with that situation I have introduced inc_rlimit_get_ucounts
and dec_rlimit_put_ucounts that just focuses on the optimization and
the rlimit and ucount changes.
While looking into the big bug I found I couple of other little issues
so I am including those fixes here as well.
When I have time I would very much like to dig into process ownership
of the shared signal queue and see if we could pick a single owner for
the entire queue so that all of the rlimits can count to that owner.
That should entirely remove the need to call get_ucounts and
put_ucounts in sigqueue_alloc and sigqueue_free. It is difficult
because Linux unlike POSIX supports setuid that works on a single
thread"
* 'ucount-fixes-for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
ucounts: Move get_ucounts from cred_alloc_blank to key_change_session_keyring
ucounts: Proper error handling in set_cred_ucounts
ucounts: Pair inc_rlimit_ucounts with dec_rlimit_ucoutns in commit_creds
ucounts: Fix signal ucount refcounting
2021-10-21 17:27:17 -10:00
..
2021-06-07 13:24:50 -07:00
2021-08-19 15:07:03 +02:00
2021-07-19 14:28:56 +02:00
2021-10-12 17:35:18 -07:00
2021-07-21 13:14:08 +02:00
2021-08-04 09:53:34 +01:00
2021-08-13 09:38:04 +02:00
2021-06-05 20:34:06 -07:00
2021-08-23 18:05:31 -04:00
2021-09-07 12:38:59 -07:00
2021-10-20 10:42:49 -07:00
2021-06-02 20:06:36 -03:00
2021-09-20 12:43:34 +01:00
2021-10-05 15:39:50 +02:00
2021-09-01 15:25:28 -07:00
2021-09-07 14:02:58 -07:00
2021-10-14 12:47:29 +01:00
2021-06-16 17:47:53 +02:00
2021-05-17 13:30:29 +02:00
2021-09-14 10:41:30 +02:00
2021-05-06 19:24:11 -07:00
2021-10-07 16:51:57 +02:00
2019-05-24 17:27:11 +02:00
2019-05-24 17:27:11 +02:00
2019-05-24 17:27:11 +02:00
2021-05-07 00:26:33 -07:00
2019-02-08 06:42:53 -07:00
2021-03-08 15:16:30 -08:00
2021-07-16 18:46:45 +02:00
2019-05-24 17:37:52 +02:00
2017-11-02 11:10:55 +01:00
2017-11-07 10:32:44 +01:00
2021-09-03 10:08:28 -07:00
2020-07-20 10:27:11 +01:00
2017-11-02 11:10:55 +01:00
2021-08-13 10:27:49 +02:00
2021-07-07 20:01:45 -07:00
2019-04-05 16:02:30 -10:00
2021-05-22 15:09:07 -10:00
2021-09-02 15:09:46 -07:00
2021-02-23 09:54:51 -07:00
2021-09-09 19:14:33 -04:00
2021-03-17 16:34:11 +01:00
2021-09-14 11:09:50 -07:00
2021-09-24 16:13:35 -07:00
2021-04-15 17:04:24 +01:00
2021-08-16 10:50:32 -06:00
2020-10-25 14:51:49 -07:00
2021-09-01 10:29:10 +02:00
2021-09-13 16:35:58 -07:00
2021-09-13 16:35:58 -07:00
2018-06-15 18:10:01 -03:00
2017-11-02 11:10:55 +01:00
2021-06-22 16:53:17 +02:00
2021-09-03 09:58:17 -07:00
2021-09-08 15:32:35 -07:00
2021-09-13 10:43:04 -07:00
2021-09-12 16:09:26 -07:00
2021-09-13 10:18:28 -07:00
2021-09-13 10:43:04 -07:00
2021-09-15 12:04:28 -07:00
2019-02-19 13:20:35 +01:00
2021-05-13 11:00:18 -07:00
2021-01-08 11:02:18 -08:00
2020-08-18 13:45:20 +02:00
2021-05-22 15:09:07 -10:00
2019-09-04 13:38:26 +02:00
2021-05-05 22:54:12 +02:00
2019-06-05 17:36:37 +02:00
2021-09-11 00:41:21 +02:00
2021-10-18 20:22:03 -10:00
2021-09-21 17:34:53 +02:00
2021-08-17 17:29:10 +02:00
2021-05-21 20:59:55 +02:00
2021-07-08 11:48:20 -07:00
2020-08-12 10:57:59 -07:00
2021-05-12 11:43:25 +02:00
2021-07-19 12:13:06 +02:00
2019-06-05 17:37:05 +02:00
2021-08-31 14:55:09 -07:00
2021-09-03 10:34:44 -07:00
2021-07-29 12:54:10 -07:00
2019-10-09 19:33:43 -07:00
2021-08-29 19:14:19 +05:30
2018-03-16 19:58:27 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2020-08-06 16:13:13 +02:00
2017-11-02 11:10:55 +01:00
2019-06-05 17:36:37 +02:00
2021-10-18 20:22:03 -10:00
2020-06-04 19:06:25 -07:00
2020-03-22 23:06:34 +01:00
2019-10-17 16:23:25 +02:00
2019-08-07 13:52:43 +01:00
2017-11-02 11:10:55 +01:00
2021-10-05 12:38:39 +01:00
2021-08-24 07:38:29 -07:00
2021-06-02 18:56:13 -04:00
2021-05-21 13:15:39 +02:00
2021-08-26 15:32:10 -04:00
2019-10-17 16:44:36 +02:00
2021-03-15 11:09:38 +09:00
2020-01-03 09:42:52 +01:00
2021-07-23 11:32:43 +10:00
2019-05-30 11:26:32 -07:00
2017-11-02 11:10:55 +01:00
2019-06-19 17:09:55 +02:00
2019-07-26 14:51:57 +10:00
2017-11-02 11:10:55 +01:00
2021-02-26 09:41:04 -08:00
2020-09-16 19:12:27 -04:00
2021-09-09 12:45:26 -07:00
2021-07-28 21:40:36 -07:00
2021-09-23 19:26:54 +02:00
2020-04-18 15:44:54 -05:00
2021-10-15 21:02:50 -06:00
2020-10-28 13:44:43 +01:00
2016-05-28 15:48:31 -04:00
2020-07-20 17:00:02 -07:00
2020-08-14 12:52:34 +02:00
2021-08-10 17:57:23 +02:00
2021-09-08 18:45:53 -07:00
2021-07-22 10:14:25 +00:00
2018-03-08 12:30:37 +01:00
2019-05-21 11:28:39 +02:00
2020-01-08 12:52:33 -08:00
2020-04-18 15:44:55 -05:00
2021-07-23 09:27:02 -04:00
2019-05-30 11:26:32 -07:00
2021-05-06 19:24:11 -07:00
2021-05-24 15:24:33 -07:00
2021-05-07 00:26:33 -07:00
2020-12-02 22:10:35 -08:00
2021-08-10 22:50:07 +02:00
2019-09-25 17:51:39 -07:00
2017-11-02 11:10:55 +01:00
2021-08-23 13:10:37 -06:00
2020-10-20 07:10:14 -06:00
2018-06-22 13:43:27 +09:00
2020-09-16 08:54:53 -05:00
2021-09-22 14:29:32 +01:00
2020-07-04 10:02:06 +02:00
2017-11-02 11:10:55 +01:00
2020-10-05 13:37:04 +02:00
2020-12-15 16:19:31 +01:00
2021-08-19 09:02:55 +09:00
2019-12-11 09:12:38 +01:00
2021-01-21 16:16:10 +00:00
2019-05-24 17:27:11 +02:00
2019-05-24 17:36:45 +02:00
2021-03-08 11:43:35 +01:00
2020-07-23 10:33:12 +02:00
2019-06-05 17:37:16 +02:00
2021-06-29 17:29:11 -07:00
2021-09-23 11:01:12 -04:00
2019-08-05 21:52:53 +02:00
2021-09-03 08:06:02 -06:00
2019-05-24 17:39:02 +02:00
2019-06-19 17:09:55 +02:00
2020-03-31 17:29:33 -07:00
2021-08-13 18:37:38 +02:00
2018-03-26 15:56:42 +02:00
2020-05-08 00:12:42 +02:00
2018-04-12 09:41:19 -07:00
2020-12-15 22:46:16 -08:00
2017-11-02 11:10:55 +01:00
2021-07-08 11:48:20 -07:00
2019-06-19 17:09:55 +02:00
2017-11-02 11:10:55 +01:00
2020-12-15 22:46:15 -08:00
2017-11-02 11:10:55 +01:00
2021-08-11 09:50:11 -06:00
2021-09-19 12:08:37 +01:00
2021-09-14 13:23:22 -07:00
2021-09-03 10:08:28 -07:00
2021-09-08 11:50:23 -07:00
2021-10-18 20:22:02 -10:00
2021-09-24 16:13:35 -07:00
2020-08-28 12:37:42 +02:00
2021-02-24 13:38:33 -08:00
2021-09-16 13:05:42 -07:00
2021-06-29 10:53:53 -07:00
2021-08-26 10:36:51 -06:00
2021-07-19 11:57:48 +02:00
2020-12-22 12:55:08 -08:00
2021-08-16 14:42:22 +02:00
2020-03-24 13:42:44 +01:00
2021-02-27 08:07:12 -08:00
2020-06-02 10:59:07 -07:00
2019-10-23 17:23:44 +02:00
2021-06-17 11:32:50 -07:00
2021-09-05 20:58:50 +01:00
2021-04-19 15:41:28 -07:00
2020-07-15 07:45:25 -07:00
2020-10-16 11:11:18 -07:00
2020-05-09 13:57:12 +02:00
2021-09-14 09:02:50 +02:00
2019-02-08 15:02:49 -08:00
2021-01-26 11:12:00 -06:00
2021-02-12 19:23:57 -06:00
2018-01-08 08:22:45 -06:00
2021-09-07 12:27:27 -07:00
2019-06-05 17:30:29 +02:00
2021-09-13 10:18:28 -07:00
2021-09-17 13:52:17 +01:00
2021-07-30 10:58:36 +08:00
2021-02-26 09:40:59 -08:00
2021-07-01 11:06:04 -07:00
2021-02-03 19:05:50 +01:00
2017-11-02 11:10:55 +01:00
2017-11-09 10:23:28 +01:00
2021-08-18 17:32:42 -05:00
2021-07-08 11:48:20 -07:00
2019-07-04 08:05:52 -07:00
2021-10-01 13:57:54 +02:00
2021-07-21 11:28:09 +01:00
2019-09-05 11:54:14 +02:00
2021-07-20 06:55:20 -07:00
2021-08-10 12:53:04 +02:00
2021-09-20 22:28:47 +02:00
2021-08-26 11:28:07 -07:00
2019-05-14 19:52:48 -07:00
2019-06-19 17:09:55 +02:00
2019-05-24 17:36:45 +02:00
2017-11-02 11:10:55 +01:00
2021-05-27 15:38:17 +02:00
2021-06-10 15:06:54 +02:00
2019-06-15 12:25:49 +02:00
2021-08-13 17:49:05 -07:00
2021-10-07 16:51:57 +02:00
2020-08-03 23:24:26 -07:00
2021-05-11 09:56:11 +02:00
2017-11-02 11:10:55 +01:00
2020-12-15 22:46:15 -08:00
2020-12-03 11:20:52 +01:00
2021-08-26 13:40:35 +01:00
2020-11-26 22:05:42 +11:00
2021-08-11 18:42:53 +02:00
2021-06-09 13:37:16 +02:00
2021-05-05 13:24:11 -07:00
2020-12-11 12:47:17 +01:00
2021-07-15 10:13:49 -07:00
2019-09-16 11:43:38 -05:00
2021-03-17 14:16:15 -05:00
2021-01-16 23:19:26 +01:00
2021-08-17 17:37:26 +02:00
2021-10-01 13:57:57 +02:00
2021-07-13 11:39:42 +01:00
2021-10-18 20:22:03 -10:00
2017-11-02 11:10:55 +01:00
2021-08-10 10:10:10 +02:00
2020-08-18 13:45:20 +02:00
2018-03-22 21:30:56 -05:00
2021-03-18 12:58:27 -04:00
2021-07-01 11:06:05 -07:00
2021-08-13 09:12:53 +02:00
2018-10-02 14:38:02 -07:00
2021-07-08 11:48:20 -07:00
2017-11-02 11:10:55 +01:00
2021-07-08 11:48:21 -07:00
2020-12-10 16:17:15 +01:00
2019-05-30 11:26:32 -07:00
2021-09-09 10:57:52 +01:00
2021-08-31 16:43:06 -07:00
2019-11-14 13:15:11 -05:00
2017-01-12 09:33:39 +01:00
2021-08-17 17:43:24 +02:00
2021-05-10 16:03:35 -07:00
2021-08-06 13:41:48 -07:00
2021-02-26 09:41:04 -08:00
2020-03-18 09:50:20 +00:00
2021-03-10 15:52:31 +01:00
2018-10-09 11:20:55 +02:00
2021-08-17 11:47:43 +02:00
2021-08-17 19:09:27 +02:00
2021-08-19 09:02:55 +09:00
2021-03-13 11:27:30 -08:00
2021-07-01 11:06:05 -07:00
2021-08-19 09:02:55 +09:00
2017-11-02 11:10:55 +01:00
2018-02-05 21:34:50 +01:00
2017-08-18 14:07:26 -03:00
2020-12-02 15:07:56 +01:00
2021-09-09 13:25:49 -07:00
2021-08-17 11:47:53 -04:00
2021-07-21 12:04:56 +02:00
2021-08-05 14:47:31 +02:00
2021-04-11 19:30:25 -06:00
2020-07-27 14:11:22 +02:00
2021-09-08 11:50:28 -07:00
2020-10-30 21:57:04 +01:00
2021-05-10 16:02:44 -07:00
2017-11-02 11:10:55 +01:00
2019-08-28 11:50:43 +02:00
2017-11-02 11:10:55 +01:00
2021-10-18 18:12:09 -04:00
2020-12-07 18:25:02 -05:00
2019-12-10 22:29:58 -05:00
2021-09-22 10:24:01 -04:00
2021-07-27 12:12:08 +02:00
2017-11-02 11:10:55 +01:00
2021-09-15 09:22:35 -06:00
2021-10-18 16:02:30 -05:00
2021-03-19 22:23:19 +01:00
2017-11-02 11:10:55 +01:00
2021-09-08 11:50:24 -07:00
2021-06-29 10:53:54 -07:00
2017-11-02 11:10:55 +01:00
2021-08-30 13:42:10 -07:00
2020-10-01 09:40:35 -04:00
2017-11-02 11:10:55 +01:00
2021-09-13 07:53:27 -10:00
2021-09-03 10:08:28 -07:00
2021-03-30 13:42:33 -04:00
2021-02-08 22:58:55 +01:00