Skip to content

Commit

Permalink
can: proc: can_remove_proc(): silence remove_proc_entry warning
Browse files Browse the repository at this point in the history
If can_init_proc() fail to create /proc/net/can directory, can_remove_proc()
will trigger a warning:

WARNING: CPU: 6 PID: 7133 at fs/proc/generic.c:672 remove_proc_entry+0x17b0
Kernel panic - not syncing: panic_on_warn set ...

Fix to return early from can_remove_proc() if can proc_dir does not exists.

Signed-off-by: Zhang Changzhong <zhangchangzhong@huawei.com>
Link: https://lore.kernel.org/r/1594709090-3203-1-git-send-email-zhangchangzhong@huawei.com
Fixes: 8e8cda6 ("can: initial support for network namespaces")
Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
  • Loading branch information
Zhang Changzhong authored and marckleinebudde committed Nov 3, 2020
1 parent e5ab9aa commit 3accbfd
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions net/can/proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,9 @@ void can_init_proc(struct net *net)
*/
void can_remove_proc(struct net *net)
{
if (!net->can.proc_dir)
return;

if (net->can.pde_stats)
remove_proc_entry(CAN_PROC_STATS, net->can.proc_dir);

Expand All @@ -486,6 +489,5 @@ void can_remove_proc(struct net *net)
if (net->can.pde_rcvlist_sff)
remove_proc_entry(CAN_PROC_RCVLIST_SFF, net->can.proc_dir);

if (net->can.proc_dir)
remove_proc_entry("can", net->proc_net);
remove_proc_entry("can", net->proc_net);
}

0 comments on commit 3accbfd

Please sign in to comment.