Re: [PATCH v3 5/7] pppoatm: take ATM socket lock in pppoatm_send()
From: Woodhouse, David
Date: Tue Nov 06 2012 - 17:57:32 EST
On Tue, 2012-11-06 at 23:17 +0100, Krzysztof Mazur wrote:
> + if (sock_owned_by_user(sk_atm(vcc)))
> + goto nospace;
I still think this one can lead to an infinite stall of the PPP channel,
because we return 0 from pppoatm_send() but never make a later call to
ppp_output_wakeup() to unblock it.
In the existing cases where we could return 0 (because
pppoatm_may_send() said no), we were careful to set the BLOCKED flag and
we *knew* that a packet was in flight so we'd get to wake it up again on
a subsequent pppoatm_pop().
None of that works for this new code path that returns zero.
--
Sent with MeeGo's ActiveSync support.
David Woodhouse Open Source Technology Centre
David.Woodhouse@xxxxxxxxx Intel Corporation
èº{.nÇ+·®+%Ëlzwm
ébëæìr¸zX§»®w¥{ayºÊÚë,j¢f£¢·hàz¹®w¥¢¸¢·¦j:+v¨wèjØm¶ÿ¾«êçzZ+ùÝj"ú!¶iOæ¬z·vØ^¶m§ÿðÃnÆàþY&