On Sun, Jan 15, 2017 at 02:39:49PM +0100, Jason A. Donenfeld wrote: > Hi James, > > On Fri, Jan 13, 2017 at 10:49 AM, James Hogan <james.hogan@xxxxxxxxxx> wrote: > > Its quite a significant change/feature, especially in terms of potential > > for further breakage. I don't think its really stable material to be > > honest. It sounds bad if the kernel stack requirement can be made > > arbitrarily large by stacking too many drivers. > > Indeed I believe this is the case. If, say, a kthread is already using > a bit of stack, and then a softirq chain of stacked virtual network > drivers is called, the stack can be busted. > > > Is there a simpler fix/workaround for the issue that would satisfy > > stable kernel users until they can upgrade to a kernel with irqstacks? > > The simplest solution is probably just not stacking tons of network > drivers. For my own out-of-tree curve25519-donna code that's in > OpenWRT and uses a fair amount of stack, I just kmalloc on MIPS but > not on x86, so in terms of my own stuff there's already a workaround > in place. But this still doesn't solve things for users who have some > interesting networking requirements and stack a few drivers. > > Unfortunately, most folks are only testing stuff on ARM and x86, which > already have the separate IRQ stacks, so they aren't hitting crashes. > > So, in the end, I'm not quite sure. On the one hand, this fixes an > actual problem and it'd be nice to see stable kernels have the fix. On > the other hand, this is a rather big change. I don't know how to > assess it, but I've copied Greg on this email, who certainly has > better judgement about this than me. How many patches is the irqstacks "feature" for MIPS? What kernel was it released in? Have any git commit ids I can look at? thanks, greg k-h