netns: restore ops before calling ops_exit_list
authorLi RongQing <lirongqing@baidu.com>
Thu, 20 Jun 2019 11:24:40 +0000 (19:24 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 22 Jun 2019 23:55:36 +0000 (16:55 -0700)
ops has been iterated to first element when call pre_exit, and
it needs to restore from save_ops, not save ops to save_ops

Fixes: d7d99872c144 ("netns: add pre_exit method to struct pernet_operations")
Signed-off-by: Li RongQing <lirongqing@baidu.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/net_namespace.c

index 89dc99a28978f14f8227904013282212b15d513b..198ce503ae73dec982e8fa74f707d653414ad7fb 100644 (file)
@@ -345,7 +345,7 @@ out_undo:
 
        synchronize_rcu();
 
-       saved_ops = ops;
+       ops = saved_ops;
        list_for_each_entry_continue_reverse(ops, &pernet_list, list)
                ops_exit_list(ops, &net_exit_list);