Bianca Lutz
99bc52429f
sched: Do not attempt to destroy uninitialized rt_bandwidth
...
If a task group is to be created and alloc_fair_sched_group() fails,
then the rt_bandwidth of the corresponding task group is not yet
initialized. The caller, sched_create_group(), starts a clean up
procedure which calls free_rt_sched_group() which unconditionally
destroys the not yet initialized rt_bandwidth.
This crashes or hangs the system in lock_hrtimer_base(): UP systems
dereference a NULL pointer, while SMP systems loop endlessly on a
condition that cannot become true.
This patch simply avoids the destruction of rt_bandwidth when the
initialization code path was not reached.
(This was discovered by accident with a custom kernel modification.)
Signed-off-by: Bianca Lutz <sowilo@cs.tu-berlin.de>
Signed-off-by: Jan Schoenherr <schnhrr@cs.tu-berlin.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1310580816-10861-7-git-send-email-schnhrr@cs.tu-berlin.de
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2011-07-21 18:01:51 +02:00
..
2011-03-31 11:26:23 -03:00
2011-06-04 12:13:06 +02:00
2011-06-15 20:04:01 -07:00
2011-07-07 16:02:26 +00:00
2011-07-06 20:15:23 +02:00
2011-06-21 16:32:28 -07:00
2011-06-09 08:42:15 -04:00
2010-08-09 16:48:42 -04:00
2010-07-14 11:29:46 +02:00
2011-03-31 11:26:23 -03:00
2011-03-14 09:15:23 -04:00
2011-03-03 10:55:40 -08:00
2010-10-30 01:42:19 -04:00
2011-03-03 10:55:40 -08:00
2011-04-27 15:11:03 +02:00
2011-03-23 19:46:28 -07:00
2011-05-19 18:51:57 +10:00
2011-05-26 17:12:34 -07:00
2011-05-26 17:12:34 -07:00
2011-05-25 15:35:32 -07:00
2010-10-15 15:53:27 +02:00
2011-03-31 11:26:23 -03:00
2011-05-28 17:02:57 +02:00
2011-03-23 19:47:19 -07:00
2011-05-27 10:25:02 -07:00
2010-03-06 11:26:46 -08:00
2010-08-09 20:45:05 -07:00
2011-06-15 20:04:01 -07:00
2011-05-20 08:56:56 +02:00
2011-05-29 11:32:28 -07:00
2011-05-17 23:19:17 +02:00
2011-03-23 19:47:08 -07:00
2011-04-15 16:34:32 +02:00
2011-03-23 19:47:08 -07:00
2011-05-25 15:31:58 -07:00
2011-04-28 09:13:17 +02:00
2010-12-18 15:54:48 +01:00
2011-06-29 09:59:17 -04:00
2011-03-25 17:52:22 -07:00
2011-04-10 17:01:05 +02:00
2011-06-10 15:15:40 +02:00
2011-05-11 21:37:15 +02:00
2010-10-01 10:50:58 -07:00
2011-06-17 09:40:48 -07:00
2011-01-07 17:02:58 -08:00
2011-04-19 16:45:51 -07:00
2011-05-28 17:02:57 +02:00
2011-03-31 11:26:23 -03:00
2010-05-04 05:38:16 +02:00
2011-03-23 13:54:47 +01:00
2011-06-07 12:25:50 +02:00
2011-05-26 17:12:34 -07:00
2011-05-23 12:49:28 -07:00
2011-04-14 08:52:33 +02:00
2011-04-14 08:52:33 +02:00
2011-05-25 08:39:17 -07:00
2011-04-14 08:52:33 +02:00
2011-05-26 17:12:34 -07:00
2011-03-31 11:26:23 -03:00
2011-03-22 17:44:11 -07:00
2011-05-19 16:55:28 +09:30
2011-03-23 19:46:58 -07:00
2011-04-18 10:35:30 -07:00
2011-05-29 11:18:09 -07:00
2011-05-23 13:59:54 +02:00
2011-05-24 12:10:51 +02:00
2011-05-25 08:39:48 -07:00
2011-05-26 17:12:37 -07:00
2011-05-25 19:20:21 +02:00
2010-11-12 07:55:31 -08:00
2011-05-05 23:16:57 -07:00
2011-05-05 23:16:58 -07:00
2011-05-20 12:50:29 -07:00
2011-05-05 23:16:57 -07:00
2011-07-20 10:50:12 -07:00
2011-06-15 23:07:21 -07:00
2011-07-13 08:17:56 -07:00
2011-06-16 16:12:05 -07:00
2010-11-05 08:21:34 -07:00
2011-03-23 19:46:22 -07:00
2011-07-06 10:54:08 -07:00
2011-01-27 21:13:51 -05:00
2011-01-27 21:13:51 -05:00
2011-02-22 22:07:22 +01:00
2011-01-27 21:13:51 -05:00
2011-03-31 11:26:23 -03:00
2011-07-01 10:39:08 +02:00
2010-11-23 10:29:08 +01:00
2010-07-17 12:06:22 +02:00
2010-07-17 12:06:22 +02:00
2011-04-24 13:18:38 +02:00
2011-07-21 18:01:49 +02:00
2011-07-20 18:32:41 +02:00
2011-04-14 08:52:36 +02:00
2011-07-01 10:39:08 +02:00
2011-05-28 17:02:54 +02:00
2011-04-14 08:52:36 +02:00
2011-07-21 18:01:51 +02:00
2011-07-20 11:04:54 -07:00
2011-06-17 10:17:12 +02:00
2011-07-20 10:50:12 -07:00
2011-01-14 04:56:49 -08:00
2011-03-22 17:44:01 -07:00
2011-05-20 13:53:02 -07:00
2011-05-19 18:24:11 -07:00
2011-03-14 09:15:28 -04:00
2011-03-23 19:46:51 -07:00
2011-06-04 12:22:04 +02:00
2011-06-27 18:00:13 -07:00
2010-10-14 08:55:27 +02:00
2011-03-15 18:53:35 -07:00
2011-06-03 15:02:32 +02:00
2011-04-04 12:48:08 -04:00
2010-10-27 18:03:17 -07:00
2011-03-23 19:47:08 -07:00
2011-01-13 08:03:18 -08:00
2011-03-31 11:26:23 -03:00
2011-03-23 19:46:59 -07:00
2011-05-10 14:35:35 -07:00
2011-03-31 11:26:23 -03:00
2011-05-23 21:07:40 -07:00
2010-06-29 10:07:14 +02:00
2011-05-24 11:53:42 -07:00