Re: [Patch net] atm: remove an unnecessary loop
From: Cong Wang <hidden>
Date: 2017-01-13 18:29:00
On Fri, Jan 13, 2017 at 9:10 AM, David Miller [off-list ref] wrote:
From: Francois Romieu <romieu@fr.zoreil.com> Date: Fri, 13 Jan 2017 01:07:00 +0100quoted
Were alloc_skb moved one level up in the call stack, there would be no need to use the new wait api in the subsequent page, thus easing pre 3.19 longterm kernel maintenance (at least those on korg page). But it tastes a tad bit too masochistic.Lack of error handling of allocation failure is always a huge red flag. We even long ago tried to do something like this for TCP FIN handling. It's dumb, it doesn't work. Therefore I agree that the correct fix is to move the SKB allocation up one level to vcc_sendmsg() and make it handle errors properly.
If you can justify API is not broken by doing that, I am more than happy to do it, as I already stated in the latter patch: "Of course, the logic itself is suspicious, other sendmsg() could handle skb allocation failure very well, not sure why ATM has to wait for a successful one here. But probably it is too late to change since the errno and behavior is visible to user-space. So just leave the logic as it is." For some reason, no one reads that patch. :-/