<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/mips/kernel/entry.S, branch linux-3.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-12-05T18:59:00Z</updated>
<entry>
<title>MIPS: Fix endless loop when processing signals for kernel tasks</title>
<updated>2012-12-05T18:59:00Z</updated>
<author>
<name>Dmitry Adamushko</name>
</author>
<published>2012-04-05T18:37:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c90e6fbb220d44988cb65af3707367c57cdb65a8'/>
<id>urn:sha1:c90e6fbb220d44988cb65af3707367c57cdb65a8</id>
<content type='text'>
The problem occurs [1] when a kernel-mode task returns from a system
call with a pending signal.

A real-life scenario is a child of 'khelper' returning from a failed
kernel_execve() in ____call_usermodehelper() [ kernel/kmod.c ].
kernel_execve() fails due to a pending SIGKILL, which is the result of
"kill -9 -1" (at least, busybox's init does it upon reboot).

The loop is as follows:

* syscall_exit_work:
 - work_pending:            // start_of_the_loop
 - work_notifysig:
   - do_notify_resume()
     - do_signal()
       - if (!user_mode(regs)) return;
 - resume_userspace         // TIF_SIGPENDING is still set
 - work_pending             // so we call work_pending =&gt; goto
                            // start_of_the_loop

More information can be found in another LKML thread:
http://www.serverphorums.com/read.php?12,457826

[1] The problem was also reproduced on !CONFIG_VM86 x86, and the
following fix was accepted.

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29a2e2836ff9ea65a603c89df217f4198973a74f

Signed-off-by: Dmitry Adamushko &lt;dmitry.adamushko@gmail.com&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/3571/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: Merge the identical "return from syscall" per-ABI code</title>
<updated>2012-09-22T13:47:31Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2012-05-05T20:11:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=02f884ed46b38c5c386709b2619730ba7a8d200c'/>
<id>urn:sha1:02f884ed46b38c5c386709b2619730ba7a8d200c</id>
<content type='text'>
No need to keep 4 copies of that stuff; merged and taken to
entry.S, unused public symbols there killed off.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: Prevent hitting do_notify_resume() with !user_mode(regs).</title>
<updated>2012-09-22T13:47:11Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2012-05-03T01:45:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f76f330809e0c9e7235584273b5a5d6adccded52'/>
<id>urn:sha1:f76f330809e0c9e7235584273b5a5d6adccded52</id>
<content type='text'>
Too late to do anything there...

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: Split do_syscall_trace into two functions.</title>
<updated>2011-05-19T08:55:44Z</updated>
<author>
<name>Ralf Baechle</name>
</author>
<published>2011-05-19T08:21:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8b659a393171aed3dafa1d7455ac9eec1f3ed315'/>
<id>urn:sha1:8b659a393171aed3dafa1d7455ac9eec1f3ed315</id>
<content type='text'>
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: Use single define for pending work on syscall exit</title>
<updated>2011-05-19T08:55:44Z</updated>
<author>
<name>Ralf Baechle</name>
</author>
<published>2011-05-19T08:21:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c19c20ac6338435469a2c222ef5dc55e0469a6dc'/>
<id>urn:sha1:c19c20ac6338435469a2c222ef5dc55e0469a6dc</id>
<content type='text'>
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>[MIPS] SMTC: Close tiny holes in the SMTC IPI replay system.</title>
<updated>2008-10-03T16:58:58Z</updated>
<author>
<name>Kevin D. Kissell</name>
</author>
<published>2008-09-09T19:35:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d2bb01b042a38219fbddaafc214c5beb96248d2f'/>
<id>urn:sha1:d2bb01b042a38219fbddaafc214c5beb96248d2f</id>
<content type='text'>
Signed-off-by: Kevin D. Kissell &lt;kevink@paralogos.com&gt;
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>[MIPS] SMTC: Interrupt mask backstop hack</title>
<updated>2007-07-12T16:41:17Z</updated>
<author>
<name>Kevin D. Kissell</name>
</author>
<published>2007-07-12T15:21:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0db34215c7e0ef618e7b29fbf271194ca5434f8e'/>
<id>urn:sha1:0db34215c7e0ef618e7b29fbf271194ca5434f8e</id>
<content type='text'>
To support multiple TC microthreads acting as "CPUs" within a VPE,
VPE-wide interrupt mask bits must be specially manipulated during
interrupt handling. To support legacy drivers and interrupt controller
management code, SMTC has a "backstop" to track and if necessary restore
the interrupt mask. This has some performance impact on interrupt service
overhead. Disable it only if you know what you are doing.

Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>[MIPS] lockdep: Handle interrupts in R3000 style c0_status register.</title>
<updated>2007-03-29T22:46:35Z</updated>
<author>
<name>Chris Dearman</name>
</author>
<published>2007-03-26T13:47:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cbde5ebc972c0577741a69c85d5e5afad19d813b'/>
<id>urn:sha1:cbde5ebc972c0577741a69c85d5e5afad19d813b</id>
<content type='text'>
Check the IEP bit for R3000 style processors when checking to see if
interrupts will be reenabled in restore_all.

Signed-off-by: Chris Dearman &lt;chris@mips.com&gt;
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>[MIPS] Make entry.S a little more readable.</title>
<updated>2007-02-13T22:40:51Z</updated>
<author>
<name>Franck Bui-Huu</name>
</author>
<published>2007-02-13T13:50:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7da8a581f5ec0ecac5f0afc9ec26ce13b780d48d'/>
<id>urn:sha1:7da8a581f5ec0ecac5f0afc9ec26ce13b780d48d</id>
<content type='text'>
When CONFIG_PREEMPT is not set, it also moves one branch instruction from
ret_from_irq() to ret_from_exception().  Therefore we favour the return
from irq case which should be more common than the other one.

Signed-off-by: Franck Bui-Huu &lt;fbuihuu@gmail.com&gt;
Acked-by: Atsushi Nemoto &lt;anemo@mba.ocn.ne.jp&gt;
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>[MIPS] SMTC: Fix crash if # of TC's &gt; # of VPE's after pt_regs irq cleanup.</title>
<updated>2006-11-01T17:46:09Z</updated>
<author>
<name>Ralf Baechle</name>
</author>
<published>2006-10-31T22:49:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cb56837ea5f15fa5279fd490f292134c3a92e5de'/>
<id>urn:sha1:cb56837ea5f15fa5279fd490f292134c3a92e5de</id>
<content type='text'>
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
</feed>
