[lkml]   [2000]   [Oct]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Calling current() from interrupt context
On Mon, Oct 09, 2000 at 02:20:27AM +0200, Andi Kleen wrote:
> On Mon, Oct 09, 2000 at 12:30:17AM +0200, Jamie Lokier wrote:
> > Kenn Humborg wrote:
> > > My feeling is that interrupt code has no business calling current(),
> > > but I don't know the kernel well enough to be sure. Is there any
> > > interrupt-level code that calls current() or is it a design
> > > principle that it cannot be called?
> > So if you can make the machine crash utterly when calling "current" in
> > irq context, or when dereferencing the result, that would probably be a
> > good thing :-)

Easily done. Because I don't really know how big we need to make the
stacks yet, I've put a non-accessible guard page just below the
interrupt stack. I can arrange for (SP & ~8192) to hit this page.

> 2.4 TCP code relies on current being valid in a softirq.
> The m68k port which has a interrupt stack solves the problem by
> loading current into a global register variable on all kernel entries.
> x86-64 will likely do the same.

How do you tell GCC to stay away from that register when compiling
the kernel without also making it unusable in userland?


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:39    [W:0.212 / U:5.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site