Browse Source

ipv4: fib: Add fib_info_hold() helper

As explained in the previous commit, modules are going to need to take a
reference on fib info and then drop it using fib_info_put().

Add the fib_info_hold() helper to make the code more readable and also
symmetric with fib_info_put().

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Suggested-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ido Schimmel 8 năm trước cách đây
mục cha
commit
1c677b3d28
1 tập tin đã thay đổi với 5 bổ sung0 xóa
  1. 5 0
      include/net/ip_fib.h

+ 5 - 0
include/net/ip_fib.h

@@ -397,6 +397,11 @@ static inline void fib_combine_itag(u32 *itag, const struct fib_result *res)
 
 
 void free_fib_info(struct fib_info *fi);
 void free_fib_info(struct fib_info *fi);
 
 
+static inline void fib_info_hold(struct fib_info *fi)
+{
+	atomic_inc(&fi->fib_clntref);
+}
+
 static inline void fib_info_put(struct fib_info *fi)
 static inline void fib_info_put(struct fib_info *fi)
 {
 {
 	if (atomic_dec_and_test(&fi->fib_clntref))
 	if (atomic_dec_and_test(&fi->fib_clntref))