Skip to content

Commit bb1b25c

Browse files
Zhu Yanjunborkmann
authored andcommitted
xdp: Remove the functions xsk_map_inc and xsk_map_put
The functions xsk_map_put() and xsk_map_inc() are simple wrappers and as such, replace these functions with the functions bpf_map_inc() and bpf_map_put() and remove some error testing code. Signed-off-by: Zhu Yanjun <zyjzyj2000@gmail.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Magnus Karlsson <magnus.karlsson@intel.com> Link: https://lore.kernel.org/bpf/1606402998-12562-1-git-send-email-yanjunz@nvidia.com
1 parent 105c4e7 commit bb1b25c

File tree

3 files changed

+4
-22
lines changed

3 files changed

+4
-22
lines changed

net/xdp/xsk.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -605,7 +605,7 @@ static struct xsk_map *xsk_get_map_list_entry(struct xdp_sock *xs,
605605
node = list_first_entry_or_null(&xs->map_list, struct xsk_map_node,
606606
node);
607607
if (node) {
608-
WARN_ON(xsk_map_inc(node->map));
608+
bpf_map_inc(&node->map->map);
609609
map = node->map;
610610
*map_entry = node->map_entry;
611611
}
@@ -635,7 +635,7 @@ static void xsk_delete_from_maps(struct xdp_sock *xs)
635635

636636
while ((map = xsk_get_map_list_entry(xs, &map_entry))) {
637637
xsk_map_try_sock_delete(map, xs, map_entry);
638-
xsk_map_put(map);
638+
bpf_map_put(&map->map);
639639
}
640640
}
641641

net/xdp/xsk.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@ static inline struct xdp_sock *xdp_sk(struct sock *sk)
4141

4242
void xsk_map_try_sock_delete(struct xsk_map *map, struct xdp_sock *xs,
4343
struct xdp_sock **map_entry);
44-
int xsk_map_inc(struct xsk_map *map);
45-
void xsk_map_put(struct xsk_map *map);
4644
void xsk_clear_pool_at_qid(struct net_device *dev, u16 queue_id);
4745
int xsk_reg_pool_at_qid(struct net_device *dev, struct xsk_buff_pool *pool,
4846
u16 queue_id);

net/xdp/xskmap.c

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,32 +11,16 @@
1111

1212
#include "xsk.h"
1313

14-
int xsk_map_inc(struct xsk_map *map)
15-
{
16-
bpf_map_inc(&map->map);
17-
return 0;
18-
}
19-
20-
void xsk_map_put(struct xsk_map *map)
21-
{
22-
bpf_map_put(&map->map);
23-
}
24-
2514
static struct xsk_map_node *xsk_map_node_alloc(struct xsk_map *map,
2615
struct xdp_sock **map_entry)
2716
{
2817
struct xsk_map_node *node;
29-
int err;
3018

3119
node = kzalloc(sizeof(*node), GFP_ATOMIC | __GFP_NOWARN);
3220
if (!node)
3321
return ERR_PTR(-ENOMEM);
3422

35-
err = xsk_map_inc(map);
36-
if (err) {
37-
kfree(node);
38-
return ERR_PTR(err);
39-
}
23+
bpf_map_inc(&map->map);
4024

4125
node->map = map;
4226
node->map_entry = map_entry;
@@ -45,7 +29,7 @@ static struct xsk_map_node *xsk_map_node_alloc(struct xsk_map *map,
4529

4630
static void xsk_map_node_free(struct xsk_map_node *node)
4731
{
48-
xsk_map_put(node->map);
32+
bpf_map_put(&node->map->map);
4933
kfree(node);
5034
}
5135

0 commit comments

Comments
 (0)