public inbox for ecos-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug 1001982] New: scheduler must be unlocked atomically on thread_entry (in SMP systems)
@ 2014-05-09 11:48 bugzilla-daemon
0 siblings, 0 replies; 2+ messages in thread
From: bugzilla-daemon @ 2014-05-09 11:48 UTC (permalink / raw)
To: unassigned
Please do not reply to this email, use the link below.
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001982
Bug ID: 1001982
Summary: scheduler must be unlocked atomically on thread_entry
(in SMP systems)
Product: eCos
Version: 3.0
Target: All
Architecture/Host All
OS:
Status: UNCONFIRMED
Severity: critical
Priority: low
Component: Kernel
Assignee: unassigned@bugs.ecos.sourceware.org
Reporter: christoph.borchert@tu-dortmund.de
CC: ecos-bugs@ecos.sourceware.org
Created attachment 2507
--> http://bugs.ecos.sourceware.org/attachment.cgi?id=2507&action=edit
patch
Dear eCos developers,
on thread startup, the scheduler lock gets unlocked in a loop, testing the lock
status in each loop iteration:
while( get_sched_lock() != 0 )
unlock();
On an SMP system (or any other multi-core system), this piece of code is not
valid. Once the lock reaches zero, it could be taken immediately by another
CPU. In such a case, one CPU decrements the scheduler lock held by another CPU
- eventually corrupting kernel data or crashing the system.
Attached is a patch that solves this issue (and which is still valid for
single-core systems).
Best regards,
Christoph
--
You are receiving this mail because:
You are the assignee for the bug.
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Bug 1001982] New: scheduler must be unlocked atomically on thread_entry (in SMP systems)
@ 2014-05-09 11:48 bugzilla-daemon
0 siblings, 0 replies; 2+ messages in thread
From: bugzilla-daemon @ 2014-05-09 11:48 UTC (permalink / raw)
To: ecos-bugs
Please do not reply to this email, use the link below.
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001982
Bug ID: 1001982
Summary: scheduler must be unlocked atomically on thread_entry
(in SMP systems)
Product: eCos
Version: 3.0
Target: All
Architecture/Host All
OS:
Status: UNCONFIRMED
Severity: critical
Priority: low
Component: Kernel
Assignee: unassigned@bugs.ecos.sourceware.org
Reporter: christoph.borchert@tu-dortmund.de
CC: ecos-bugs@ecos.sourceware.org
Created attachment 2507
--> http://bugs.ecos.sourceware.org/attachment.cgi?id=2507&action=edit
patch
Dear eCos developers,
on thread startup, the scheduler lock gets unlocked in a loop, testing the lock
status in each loop iteration:
while( get_sched_lock() != 0 )
unlock();
On an SMP system (or any other multi-core system), this piece of code is not
valid. Once the lock reaches zero, it could be taken immediately by another
CPU. In such a case, one CPU decrements the scheduler lock held by another CPU
- eventually corrupting kernel data or crashing the system.
Attached is a patch that solves this issue (and which is still valid for
single-core systems).
Best regards,
Christoph
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-05-09 11:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-09 11:48 [Bug 1001982] New: scheduler must be unlocked atomically on thread_entry (in SMP systems) bugzilla-daemon
-- strict thread matches above, loose matches on Subject: below --
2014-05-09 11:48 bugzilla-daemon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).