On Tue, Mar 08, 2016 at 07:16:23PM -0700, subas...@codeaurora.org wrote: > > 2. Encrypted packet queued for decryption (asynchronous) > > static int esp_input(struct xfrm_state *x, struct sk_buff *skb) > ... > aead_request_set_callback(req, 0, esp_input_done, skb);
I suppose we'll have to hold onto the device at this point. We may have to hold onto other resources too. > Would it make sense here to detect the device going away here using a > netdev notifier callback and free the packets after the asynchronous > callback returns. The same path is used for synchronous processing so you can't just change it to netif_rx_ni unconditionally. Cheers, -- Email: Herbert Xu <herb...@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt