hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/net/ipv6/ila/ila_xlat.c
....@@ -383,12 +383,9 @@
383383 struct rhashtable_iter iter;
384384 struct ila_map *ila;
385385 spinlock_t *lock;
386
- int ret;
386
+ int ret = 0;
387387
388
- ret = rhashtable_walk_init(&ilan->xlat.rhash_table, &iter, GFP_KERNEL);
389
- if (ret)
390
- goto done;
391
-
388
+ rhashtable_walk_enter(&ilan->xlat.rhash_table, &iter);
392389 rhashtable_walk_start(&iter);
393390
394391 for (;;) {
....@@ -480,6 +477,7 @@
480477
481478 rcu_read_lock();
482479
480
+ ret = -ESRCH;
483481 ila = ila_lookup_by_params(&xp, ilan);
484482 if (ila) {
485483 ret = ila_dump_info(ila,
....@@ -510,23 +508,17 @@
510508 struct net *net = sock_net(cb->skb->sk);
511509 struct ila_net *ilan = net_generic(net, ila_net_id);
512510 struct ila_dump_iter *iter;
513
- int ret;
514511
515512 iter = kmalloc(sizeof(*iter), GFP_KERNEL);
516513 if (!iter)
517514 return -ENOMEM;
518515
519
- ret = rhashtable_walk_init(&ilan->xlat.rhash_table, &iter->rhiter,
520
- GFP_KERNEL);
521
- if (ret) {
522
- kfree(iter);
523
- return ret;
524
- }
516
+ rhashtable_walk_enter(&ilan->xlat.rhash_table, &iter->rhiter);
525517
526518 iter->skip = 0;
527519 cb->args[0] = (long)iter;
528520
529
- return ret;
521
+ return 0;
530522 }
531523
532524 int ila_xlat_nl_dump_done(struct netlink_callback *cb)
....@@ -609,8 +601,6 @@
609601 rhashtable_walk_stop(rhiter);
610602 return ret;
611603 }
612
-
613
-#define ILA_HASH_TABLE_SIZE 1024
614604
615605 int ila_xlat_init_net(struct net *net)
616606 {