Re: [PATCH v2 3/3] pppoatm: protect against freeing of vcc

From: Chas Williams (CONTRACTOR)
Date: Thu Nov 29 2012 - 20:39:05 EST


In message <1354227428.21562.230.camel@xxxxxxxxxxxxxxxxxxxxxxx>,David Woodhouse writes:
>At this point, I think we're better off as we are (with Krzysztof's
>patch 1/7 dropped, and leaving vcc->dev->ops->close() being called
>before vcc->push(NULL). We've fairly much solved the issues with that
>arrangement, by checking ATM_VF_READY in the protocols' ->push()
>functions.

it isnt clear to me that fixes the race entirely either.
vcc_destroy_socket() and any of the push()/sends()'s are not serialized.
while you may clear the ATM_VF_READY flag, you might not clear it soon
enough for any particular push() that is already running. so it still
seems like you are racing close() against push() at this point. the
window is greatly reduced, but it still exists.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/