Alan Cox wrote: > But your user space that would add the routes is not so protected so I'm > not sure this is actually a solution, more of an extended fudge.
Yes, there's no 100% solution -- no matter how much memory you reserve and how many paths you protect if you try hard enough you can come up with cases where it'll fail. ("I'm swapping to NFS across a tun/tap interface to a custom userland SSL tunnel to a server across a BGP route...") However, if the 'extended fundge' pushes a problem from "can happen, even in a very normal setup" territory to "only happens if you're doing something pretty weird" then is it really such a bad thing? I think the cost in code complexity looks pretty reasonable. > > +#define SK_CRIT_ALLOC(sk, flags) ((sk->sk_allocation & __GFP_CRITICAL) | > > flags) > > Lots of hidden conditional logic on critical paths. How expensive is it compared to the allocation itself? > > +#define CRIT_ALLOC(flags) (__GFP_CRITICAL | flags) > > Pointless obfuscation Fully agree. -Mitch - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html