diff --git a/net/can/bcm.c b/net/can/bcm.c index a78d4ddd615abc8049cd599cc4659a303d10aa55..23efc3a9c44e931c9ff97a19dbb7635114217ff3 100644 --- a/net/can/bcm.c +++ b/net/can/bcm.c @@ -1408,6 +1408,12 @@ static void bcm_notify(struct bcm_sock *bo, unsigned long msg, /* remove device reference, if this is our bound device */ if (bo->bound && bo->ifindex == dev->ifindex) { +#if IS_ENABLED(CONFIG_PROC_FS) + if (sock_net(sk)->can.bcmproc_dir && bo->bcm_proc_read) { + remove_proc_entry(bo->procname, sock_net(sk)->can.bcmproc_dir); + bo->bcm_proc_read = NULL; + } +#endif bo->bound = 0; bo->ifindex = 0; notify_enodev = 1;