Skip to content

Commit a2b7b14

Browse files
ecsvsimonwunderlich
authored andcommitted
batman-adv: Drop NULL check before dropping references
The check if a batman-adv related object is NULL or not is now directly in the batadv_*_put functions. It is not needed anymore to perform this check outside these function: The changes were generated using a coccinelle semantic patch: @@ expression E; @@ - if (likely(E != NULL)) ( batadv_backbone_gw_put | batadv_claim_put | batadv_dat_entry_put | batadv_gw_node_put | batadv_hardif_neigh_put | batadv_hardif_put | batadv_nc_node_put | batadv_nc_path_put | batadv_neigh_ifinfo_put | batadv_neigh_node_put | batadv_orig_ifinfo_put | batadv_orig_node_put | batadv_orig_node_vlan_put | batadv_softif_vlan_put | batadv_tp_vars_put | batadv_tt_global_entry_put | batadv_tt_local_entry_put | batadv_tt_orig_list_entry_put | batadv_tt_req_node_put | batadv_tvlv_container_put | batadv_tvlv_handler_put )(E); Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
1 parent e78783d commit a2b7b14

19 files changed

+169
-337
lines changed

net/batman-adv/bat_iv_ogm.c

Lines changed: 25 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -519,8 +519,7 @@ batadv_iv_ogm_can_aggregate(const struct batadv_ogm_packet *new_bat_ogm_packet,
519519
}
520520

521521
out:
522-
if (primary_if)
523-
batadv_hardif_put(primary_if);
522+
batadv_hardif_put(primary_if);
524523
return res;
525524
}
526525

@@ -857,8 +856,7 @@ static void batadv_iv_ogm_schedule_buff(struct batadv_hard_iface *hard_iface)
857856
rcu_read_unlock();
858857

859858
out:
860-
if (primary_if)
861-
batadv_hardif_put(primary_if);
859+
batadv_hardif_put(primary_if);
862860
}
863861

864862
static void batadv_iv_ogm_schedule(struct batadv_hard_iface *hard_iface)
@@ -1046,14 +1044,10 @@ batadv_iv_ogm_orig_update(struct batadv_priv *bat_priv,
10461044
unlock:
10471045
rcu_read_unlock();
10481046
out:
1049-
if (neigh_node)
1050-
batadv_neigh_node_put(neigh_node);
1051-
if (router)
1052-
batadv_neigh_node_put(router);
1053-
if (neigh_ifinfo)
1054-
batadv_neigh_ifinfo_put(neigh_ifinfo);
1055-
if (router_ifinfo)
1056-
batadv_neigh_ifinfo_put(router_ifinfo);
1047+
batadv_neigh_node_put(neigh_node);
1048+
batadv_neigh_node_put(router);
1049+
batadv_neigh_ifinfo_put(neigh_ifinfo);
1050+
batadv_neigh_ifinfo_put(router_ifinfo);
10571051
}
10581052

10591053
/**
@@ -1194,8 +1188,7 @@ static bool batadv_iv_ogm_calc_tq(struct batadv_orig_node *orig_node,
11941188
ret = true;
11951189

11961190
out:
1197-
if (neigh_node)
1198-
batadv_neigh_node_put(neigh_node);
1191+
batadv_neigh_node_put(neigh_node);
11991192
return ret;
12001193
}
12011194

@@ -1496,16 +1489,11 @@ batadv_iv_ogm_process_per_outif(const struct sk_buff *skb, int ogm_offset,
14961489
if (orig_neigh_node && !is_single_hop_neigh)
14971490
batadv_orig_node_put(orig_neigh_node);
14981491
out:
1499-
if (router_ifinfo)
1500-
batadv_neigh_ifinfo_put(router_ifinfo);
1501-
if (router)
1502-
batadv_neigh_node_put(router);
1503-
if (router_router)
1504-
batadv_neigh_node_put(router_router);
1505-
if (orig_neigh_router)
1506-
batadv_neigh_node_put(orig_neigh_router);
1507-
if (hardif_neigh)
1508-
batadv_hardif_neigh_put(hardif_neigh);
1492+
batadv_neigh_ifinfo_put(router_ifinfo);
1493+
batadv_neigh_node_put(router);
1494+
batadv_neigh_node_put(router_router);
1495+
batadv_neigh_node_put(orig_neigh_router);
1496+
batadv_hardif_neigh_put(hardif_neigh);
15091497

15101498
consume_skb(skb_priv);
15111499
}
@@ -1926,8 +1914,7 @@ batadv_iv_ogm_orig_dump_entry(struct sk_buff *msg, u32 portid, u32 seq,
19261914
}
19271915

19281916
out:
1929-
if (neigh_node_best)
1930-
batadv_neigh_node_put(neigh_node_best);
1917+
batadv_neigh_node_put(neigh_node_best);
19311918

19321919
*sub_s = 0;
19331920
return 0;
@@ -2049,10 +2036,8 @@ static bool batadv_iv_ogm_neigh_diff(struct batadv_neigh_node *neigh1,
20492036
*diff = (int)tq1 - (int)tq2;
20502037

20512038
out:
2052-
if (neigh1_ifinfo)
2053-
batadv_neigh_ifinfo_put(neigh1_ifinfo);
2054-
if (neigh2_ifinfo)
2055-
batadv_neigh_ifinfo_put(neigh2_ifinfo);
2039+
batadv_neigh_ifinfo_put(neigh1_ifinfo);
2040+
batadv_neigh_ifinfo_put(neigh2_ifinfo);
20562041

20572042
return ret;
20582043
}
@@ -2299,8 +2284,7 @@ batadv_iv_gw_get_best_gw_node(struct batadv_priv *bat_priv)
22992284
if (tmp_gw_factor > max_gw_factor ||
23002285
(tmp_gw_factor == max_gw_factor &&
23012286
tq_avg > max_tq)) {
2302-
if (curr_gw)
2303-
batadv_gw_node_put(curr_gw);
2287+
batadv_gw_node_put(curr_gw);
23042288
curr_gw = gw_node;
23052289
kref_get(&curr_gw->refcount);
23062290
}
@@ -2314,8 +2298,7 @@ batadv_iv_gw_get_best_gw_node(struct batadv_priv *bat_priv)
23142298
* $routing_class more tq points)
23152299
*/
23162300
if (tq_avg > max_tq) {
2317-
if (curr_gw)
2318-
batadv_gw_node_put(curr_gw);
2301+
batadv_gw_node_put(curr_gw);
23192302
curr_gw = gw_node;
23202303
kref_get(&curr_gw->refcount);
23212304
}
@@ -2332,8 +2315,7 @@ batadv_iv_gw_get_best_gw_node(struct batadv_priv *bat_priv)
23322315

23332316
next:
23342317
batadv_neigh_node_put(router);
2335-
if (router_ifinfo)
2336-
batadv_neigh_ifinfo_put(router_ifinfo);
2318+
batadv_neigh_ifinfo_put(router_ifinfo);
23372319
}
23382320
rcu_read_unlock();
23392321

@@ -2397,14 +2379,10 @@ static bool batadv_iv_gw_is_eligible(struct batadv_priv *bat_priv,
23972379

23982380
ret = true;
23992381
out:
2400-
if (router_gw_ifinfo)
2401-
batadv_neigh_ifinfo_put(router_gw_ifinfo);
2402-
if (router_orig_ifinfo)
2403-
batadv_neigh_ifinfo_put(router_orig_ifinfo);
2404-
if (router_gw)
2405-
batadv_neigh_node_put(router_gw);
2406-
if (router_orig)
2407-
batadv_neigh_node_put(router_orig);
2382+
batadv_neigh_ifinfo_put(router_gw_ifinfo);
2383+
batadv_neigh_ifinfo_put(router_orig_ifinfo);
2384+
batadv_neigh_node_put(router_gw);
2385+
batadv_neigh_node_put(router_orig);
24082386

24092387
return ret;
24102388
}
@@ -2479,12 +2457,9 @@ static int batadv_iv_gw_dump_entry(struct sk_buff *msg, u32 portid,
24792457
ret = 0;
24802458

24812459
out:
2482-
if (curr_gw)
2483-
batadv_gw_node_put(curr_gw);
2484-
if (router_ifinfo)
2485-
batadv_neigh_ifinfo_put(router_ifinfo);
2486-
if (router)
2487-
batadv_neigh_node_put(router);
2460+
batadv_gw_node_put(curr_gw);
2461+
batadv_neigh_ifinfo_put(router_ifinfo);
2462+
batadv_neigh_node_put(router);
24882463
return ret;
24892464
}
24902465

net/batman-adv/bat_v.c

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,7 @@ static void batadv_v_iface_update_mac(struct batadv_hard_iface *hard_iface)
106106

107107
batadv_v_primary_iface_set(hard_iface);
108108
out:
109-
if (primary_if)
110-
batadv_hardif_put(primary_if);
109+
batadv_hardif_put(primary_if);
111110
}
112111

113112
static void
@@ -366,8 +365,7 @@ batadv_v_orig_dump_entry(struct sk_buff *msg, u32 portid, u32 seq,
366365
}
367366

368367
out:
369-
if (neigh_node_best)
370-
batadv_neigh_node_put(neigh_node_best);
368+
batadv_neigh_node_put(neigh_node_best);
371369

372370
*sub_s = 0;
373371
return 0;
@@ -568,10 +566,8 @@ static int batadv_v_gw_throughput_get(struct batadv_gw_node *gw_node, u32 *bw)
568566

569567
ret = 0;
570568
out:
571-
if (router)
572-
batadv_neigh_node_put(router);
573-
if (router_ifinfo)
574-
batadv_neigh_ifinfo_put(router_ifinfo);
569+
batadv_neigh_node_put(router);
570+
batadv_neigh_ifinfo_put(router_ifinfo);
575571

576572
return ret;
577573
}
@@ -599,8 +595,7 @@ batadv_v_gw_get_best_gw_node(struct batadv_priv *bat_priv)
599595
if (curr_gw && bw <= max_bw)
600596
goto next;
601597

602-
if (curr_gw)
603-
batadv_gw_node_put(curr_gw);
598+
batadv_gw_node_put(curr_gw);
604599

605600
curr_gw = gw_node;
606601
kref_get(&curr_gw->refcount);
@@ -662,10 +657,8 @@ static bool batadv_v_gw_is_eligible(struct batadv_priv *bat_priv,
662657

663658
ret = true;
664659
out:
665-
if (curr_gw)
666-
batadv_gw_node_put(curr_gw);
667-
if (orig_gw)
668-
batadv_gw_node_put(orig_gw);
660+
batadv_gw_node_put(curr_gw);
661+
batadv_gw_node_put(orig_gw);
669662

670663
return ret;
671664
}
@@ -764,12 +757,9 @@ static int batadv_v_gw_dump_entry(struct sk_buff *msg, u32 portid,
764757
ret = 0;
765758

766759
out:
767-
if (curr_gw)
768-
batadv_gw_node_put(curr_gw);
769-
if (router_ifinfo)
770-
batadv_neigh_ifinfo_put(router_ifinfo);
771-
if (router)
772-
batadv_neigh_node_put(router);
760+
batadv_gw_node_put(curr_gw);
761+
batadv_neigh_ifinfo_put(router_ifinfo);
762+
batadv_neigh_node_put(router);
773763
return ret;
774764
}
775765

net/batman-adv/bat_v_elp.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -486,14 +486,11 @@ static void batadv_v_elp_neigh_update(struct batadv_priv *bat_priv,
486486
hardif_neigh->bat_v.elp_interval = ntohl(elp_packet->elp_interval);
487487

488488
hardif_free:
489-
if (hardif_neigh)
490-
batadv_hardif_neigh_put(hardif_neigh);
489+
batadv_hardif_neigh_put(hardif_neigh);
491490
neigh_free:
492-
if (neigh)
493-
batadv_neigh_node_put(neigh);
491+
batadv_neigh_node_put(neigh);
494492
orig_free:
495-
if (orig_neigh)
496-
batadv_orig_node_put(orig_neigh);
493+
batadv_orig_node_put(orig_neigh);
497494
}
498495

499496
/**

net/batman-adv/bat_v_ogm.c

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -584,12 +584,9 @@ static void batadv_v_ogm_forward(struct batadv_priv *bat_priv,
584584
batadv_v_ogm_queue_on_if(skb, if_outgoing);
585585

586586
out:
587-
if (orig_ifinfo)
588-
batadv_orig_ifinfo_put(orig_ifinfo);
589-
if (router)
590-
batadv_neigh_node_put(router);
591-
if (neigh_ifinfo)
592-
batadv_neigh_ifinfo_put(neigh_ifinfo);
587+
batadv_orig_ifinfo_put(orig_ifinfo);
588+
batadv_neigh_node_put(router);
589+
batadv_neigh_ifinfo_put(neigh_ifinfo);
593590
}
594591

595592
/**
@@ -669,10 +666,8 @@ static int batadv_v_ogm_metric_update(struct batadv_priv *bat_priv,
669666
else
670667
ret = 0;
671668
out:
672-
if (orig_ifinfo)
673-
batadv_orig_ifinfo_put(orig_ifinfo);
674-
if (neigh_ifinfo)
675-
batadv_neigh_ifinfo_put(neigh_ifinfo);
669+
batadv_orig_ifinfo_put(orig_ifinfo);
670+
batadv_neigh_ifinfo_put(neigh_ifinfo);
676671

677672
return ret;
678673
}
@@ -763,16 +758,11 @@ static bool batadv_v_ogm_route_update(struct batadv_priv *bat_priv,
763758

764759
batadv_update_route(bat_priv, orig_node, if_outgoing, neigh_node);
765760
out:
766-
if (router)
767-
batadv_neigh_node_put(router);
768-
if (orig_neigh_router)
769-
batadv_neigh_node_put(orig_neigh_router);
770-
if (orig_neigh_node)
771-
batadv_orig_node_put(orig_neigh_node);
772-
if (router_ifinfo)
773-
batadv_neigh_ifinfo_put(router_ifinfo);
774-
if (neigh_ifinfo)
775-
batadv_neigh_ifinfo_put(neigh_ifinfo);
761+
batadv_neigh_node_put(router);
762+
batadv_neigh_node_put(orig_neigh_router);
763+
batadv_orig_node_put(orig_neigh_node);
764+
batadv_neigh_ifinfo_put(router_ifinfo);
765+
batadv_neigh_ifinfo_put(neigh_ifinfo);
776766

777767
return forward;
778768
}
@@ -978,12 +968,9 @@ static void batadv_v_ogm_process(const struct sk_buff *skb, int ogm_offset,
978968
}
979969
rcu_read_unlock();
980970
out:
981-
if (orig_node)
982-
batadv_orig_node_put(orig_node);
983-
if (neigh_node)
984-
batadv_neigh_node_put(neigh_node);
985-
if (hardif_neigh)
986-
batadv_hardif_neigh_put(hardif_neigh);
971+
batadv_orig_node_put(orig_node);
972+
batadv_neigh_node_put(neigh_node);
973+
batadv_hardif_neigh_put(hardif_neigh);
987974
}
988975

989976
/**

net/batman-adv/bridge_loop_avoidance.c

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -445,8 +445,7 @@ static void batadv_bla_send_claim(struct batadv_priv *bat_priv, u8 *mac,
445445

446446
netif_rx_any_context(skb);
447447
out:
448-
if (primary_if)
449-
batadv_hardif_put(primary_if);
448+
batadv_hardif_put(primary_if);
450449
}
451450

452451
/**
@@ -1504,8 +1503,7 @@ static void batadv_bla_periodic_work(struct work_struct *work)
15041503
rcu_read_unlock();
15051504
}
15061505
out:
1507-
if (primary_if)
1508-
batadv_hardif_put(primary_if);
1506+
batadv_hardif_put(primary_if);
15091507

15101508
queue_delayed_work(batadv_event_workqueue, &bat_priv->bla.work,
15111509
msecs_to_jiffies(BATADV_BLA_PERIOD_LENGTH));
@@ -1814,8 +1812,7 @@ void batadv_bla_free(struct batadv_priv *bat_priv)
18141812
batadv_hash_destroy(bat_priv->bla.backbone_hash);
18151813
bat_priv->bla.backbone_hash = NULL;
18161814
}
1817-
if (primary_if)
1818-
batadv_hardif_put(primary_if);
1815+
batadv_hardif_put(primary_if);
18191816
}
18201817

18211818
/**
@@ -2002,10 +1999,8 @@ bool batadv_bla_rx(struct batadv_priv *bat_priv, struct sk_buff *skb,
20021999
ret = true;
20032000

20042001
out:
2005-
if (primary_if)
2006-
batadv_hardif_put(primary_if);
2007-
if (claim)
2008-
batadv_claim_put(claim);
2002+
batadv_hardif_put(primary_if);
2003+
batadv_claim_put(claim);
20092004
return ret;
20102005
}
20112006

@@ -2109,10 +2104,8 @@ bool batadv_bla_tx(struct batadv_priv *bat_priv, struct sk_buff *skb,
21092104
handled:
21102105
ret = true;
21112106
out:
2112-
if (primary_if)
2113-
batadv_hardif_put(primary_if);
2114-
if (claim)
2115-
batadv_claim_put(claim);
2107+
batadv_hardif_put(primary_if);
2108+
batadv_claim_put(claim);
21162109
return ret;
21172110
}
21182111

@@ -2277,8 +2270,7 @@ int batadv_bla_claim_dump(struct sk_buff *msg, struct netlink_callback *cb)
22772270
ret = msg->len;
22782271

22792272
out:
2280-
if (primary_if)
2281-
batadv_hardif_put(primary_if);
2273+
batadv_hardif_put(primary_if);
22822274

22832275
dev_put(soft_iface);
22842276

@@ -2448,8 +2440,7 @@ int batadv_bla_backbone_dump(struct sk_buff *msg, struct netlink_callback *cb)
24482440
ret = msg->len;
24492441

24502442
out:
2451-
if (primary_if)
2452-
batadv_hardif_put(primary_if);
2443+
batadv_hardif_put(primary_if);
24532444

24542445
dev_put(soft_iface);
24552446

0 commit comments

Comments
 (0)