diff --git a/security/apparmor/net.c b/security/apparmor/net.c index fa0e85568450b0e7b942d576460499b425a1f61a..fbbfedd253f69b833b8cf991bf189ba19f8a43b6 100644 --- a/security/apparmor/net.c +++ b/security/apparmor/net.c @@ -182,8 +182,10 @@ int aa_sock_file_perm(struct aa_label *label, const char *op, u32 request, struct socket *sock) { AA_BUG(!label); - AA_BUG(!sock); - AA_BUG(!sock->sk); + + /* sock && sock->sk can be NULL for sockets being set up or torn down */ + if (!sock || !sock->sk) + return 0; return aa_label_sk_perm(label, op, request, sock->sk); }