On 09/14/2015 12:50 PM, Eric Dumazet wrote: > On Mon, 2015-09-14 at 11:48 -0400, Sasha Levin wrote: > >> >> diff --git a/net/atm/clip.c b/net/atm/clip.c >> index 17e55df..4407b2f 100644 >> --- a/net/atm/clip.c >> +++ b/net/atm/clip.c >> @@ -317,6 +317,9 @@ static int clip_constructor(struct neighbour *neigh) >> >> static int clip_encap(struct atm_vcc *vcc, int mode) >> { >> + if (!CLIP_VCC(vcc)) >> + return -EBADF; >> + >> CLIP_VCC(vcc)->encap = mode; >> return 0; >> } > > > -EBADF has a very precise meaning : /* Bad file number */ > > In this case, the file number is correct (and maps to a proper file), > but driver state is not allowing for this particular operation.
I've tried to be consistent with a similar check within clip_mkip() and clip_setentry(): if (!vcc->push) return -EBADFD; So calling clip_setentry() before clip_mkip() would also give you -EBADFD. Thanks, Sasha -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html