lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <52D7EAA4.2080208@linaro.org>
Date:	Thu, 16 Jan 2014 15:20:20 +0100
From:	Daniel Lezcano <daniel.lezcano@...aro.org>
To:	Peter Zijlstra <peterz@...radead.org>
CC:	raistlin@...ux.it, juri.lelli@...il.com,
	Ingo Molnar <mingo@...nel.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [BUG] [ tip/sched/core ] System unresponsive after booting

On 01/16/2014 03:17 PM, Peter Zijlstra wrote:
> On Thu, Jan 16, 2014 at 02:48:51PM +0100, Daniel Lezcano wrote:
>> 3570  sched_getparam(3570, { 0 })       = 0
>> 3570  sched_getscheduler(3570)          = 0 (SCHED_OTHER)
>> 3570  sched_get_priority_min(SCHED_OTHER) = 0
>> 3570  sched_get_priority_max(SCHED_OTHER) = 0
>> 3571  sched_get_priority_min(SCHED_OTHER) = 0
>> 3571  sched_get_priority_max(SCHED_OTHER) = 0
>> 3571  sched_get_priority_min(SCHED_OTHER) = 0
>> 3571  sched_get_priority_max(SCHED_OTHER) = 0
>> 3571  sched_setscheduler(3572, SCHED_OTHER, { 0 } <unfinished ...>
>> 3571  <... sched_setscheduler resumed> ) = 0
>> 3571  sched_get_priority_min(SCHED_OTHER <unfinished ...>
>> 3571  <... sched_get_priority_min resumed> ) = 0
>> 3571  sched_get_priority_max(SCHED_OTHER <unfinished ...>
>> 3571  <... sched_get_priority_max resumed> ) = 0
>> 3571  sched_setscheduler(3573, SCHED_OTHER, { 0 } <unfinished ...>
>> 3571  <... sched_setscheduler resumed> ) = -1 EPERM (Operation not
>> permitted)
>> 3571  sched_get_priority_min(SCHED_OTHER <unfinished ...>
>> 3571  <... sched_get_priority_min resumed> ) = 0
>> 3571  sched_get_priority_max(SCHED_OTHER <unfinished ...>
>> 3571  <... sched_get_priority_max resumed> ) = 0
>> 3571  sched_setscheduler(3574, SCHED_OTHER, { 0 } <unfinished ...>
>> 3571  <... sched_setscheduler resumed> ) = -1 EPERM (Operation not
>> permitted)
>>
>> The same strace but on a kernel which does not hang. The calls to
>> sched_setscheduler do not fail.
>>
>> 3292  sched_getparam(3292, { 0 })       = 0
>> 3292  sched_getscheduler(3292)          = 0 (SCHED_OTHER)
>> 3292  sched_get_priority_min(SCHED_OTHER) = 0
>> 3292  sched_get_priority_max(SCHED_OTHER) = 0
>> 3293  sched_get_priority_min(SCHED_OTHER) = 0
>> 3293  sched_get_priority_max(SCHED_OTHER) = 0
>> 3293  sched_get_priority_min(SCHED_OTHER) = 0
>> 3293  sched_get_priority_max(SCHED_OTHER) = 0
>> 3293  sched_setscheduler(3294, SCHED_OTHER, { 0 } <unfinished ...>
>> 3293  <... sched_setscheduler resumed> ) = 0
>> 3293  sched_get_priority_min(SCHED_OTHER <unfinished ...>
>> 3293  <... sched_get_priority_min resumed> ) = 0
>> 3293  sched_get_priority_max(SCHED_OTHER <unfinished ...>
>> 3293  <... sched_get_priority_max resumed> ) = 0
>> 3293  sched_setscheduler(3295, SCHED_OTHER, { 0 } <unfinished ...>
>> 3293  <... sched_setscheduler resumed> ) = 0
>> 3293  sched_get_priority_min(SCHED_OTHER <unfinished ...>
>> 3293  <... sched_get_priority_min resumed> ) = 0
>> 3293  sched_get_priority_max(SCHED_OTHER <unfinished ...>
>> 3293  <... sched_get_priority_max resumed> ) = 0
>> 3293  sched_setscheduler(3296, SCHED_OTHER, { 0 } <unfinished ...>
>> 3293  <... sched_setscheduler resumed> ) = 0
>>
>> The EPERM error comes from kernel/sched/core.c:3303
>>
>> ...
>> 		if (fair_policy(policy)) {
>> 			if (!can_nice(p, attr->sched_nice))
>> 				return -EPERM;
>> 		}
>> ...
>>
>>
>> But I don't know why this is leading to block a process or making rsyslogd
>> being not woken up by a packet coming in the af_unix socket.
>
> Could you test with a fresh tip/master, Ingo just pushed out a stack of
> fixes, in particularly:
>
> e3de300d1212b ("sched: Preserve the nice level over sched_setscheduler() and sched_setparam() calls")
> 39fd8fd22b322 ("sched: Fix up scheduler syscall LTP fails")
>
> Could have affected things.
>
> Meanwhile I'll try and better read what the above says.

Already tested. The last commits do not change the issue described above.


-- 
  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ