From 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Tue, 22 Oct 2024 10:36:11 +0000 Subject: [PATCH] 修改4g拨号为QMI,需要在系统里后台执行quectel-CM --- kernel/net/ipv6/ila/ila_xlat.c | 20 +++++--------------- 1 files changed, 5 insertions(+), 15 deletions(-) diff --git a/kernel/net/ipv6/ila/ila_xlat.c b/kernel/net/ipv6/ila/ila_xlat.c index 7858fa9..1636685 100644 --- a/kernel/net/ipv6/ila/ila_xlat.c +++ b/kernel/net/ipv6/ila/ila_xlat.c @@ -383,12 +383,9 @@ struct rhashtable_iter iter; struct ila_map *ila; spinlock_t *lock; - int ret; + int ret = 0; - ret = rhashtable_walk_init(&ilan->xlat.rhash_table, &iter, GFP_KERNEL); - if (ret) - goto done; - + rhashtable_walk_enter(&ilan->xlat.rhash_table, &iter); rhashtable_walk_start(&iter); for (;;) { @@ -480,6 +477,7 @@ rcu_read_lock(); + ret = -ESRCH; ila = ila_lookup_by_params(&xp, ilan); if (ila) { ret = ila_dump_info(ila, @@ -510,23 +508,17 @@ struct net *net = sock_net(cb->skb->sk); struct ila_net *ilan = net_generic(net, ila_net_id); struct ila_dump_iter *iter; - int ret; iter = kmalloc(sizeof(*iter), GFP_KERNEL); if (!iter) return -ENOMEM; - ret = rhashtable_walk_init(&ilan->xlat.rhash_table, &iter->rhiter, - GFP_KERNEL); - if (ret) { - kfree(iter); - return ret; - } + rhashtable_walk_enter(&ilan->xlat.rhash_table, &iter->rhiter); iter->skip = 0; cb->args[0] = (long)iter; - return ret; + return 0; } int ila_xlat_nl_dump_done(struct netlink_callback *cb) @@ -609,8 +601,6 @@ rhashtable_walk_stop(rhiter); return ret; } - -#define ILA_HASH_TABLE_SIZE 1024 int ila_xlat_init_net(struct net *net) { -- Gitblit v1.6.2