Skip to content

Commit 0ac41e8

Browse files
kaberdavem330
authored andcommitted
[NETFILTER]: {nf_netlink,ip,ip6}_queue: use list_for_each_entry
Use list_add_tail/list_for_each_entry instead of list_add and list_for_each_prev as a preparation for switching to RCU. Signed-off-by: Patrick McHardy <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent c01cd42 commit 0ac41e8

File tree

3 files changed

+9
-15
lines changed

3 files changed

+9
-15
lines changed

net/ipv4/netfilter/ip_queue.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ ipq_issue_verdict(struct ipq_queue_entry *entry, int verdict)
7373
static inline void
7474
__ipq_enqueue_entry(struct ipq_queue_entry *entry)
7575
{
76-
list_add(&entry->list, &queue_list);
76+
list_add_tail(&entry->list, &queue_list);
7777
queue_total++;
7878
}
7979

@@ -84,11 +84,9 @@ __ipq_enqueue_entry(struct ipq_queue_entry *entry)
8484
static inline struct ipq_queue_entry *
8585
__ipq_find_entry(ipq_cmpfn cmpfn, unsigned long data)
8686
{
87-
struct list_head *p;
88-
89-
list_for_each_prev(p, &queue_list) {
90-
struct ipq_queue_entry *entry = (struct ipq_queue_entry *)p;
87+
struct ipq_queue_entry *entry;
9188

89+
list_for_each_entry(entry, &queue_list, list) {
9290
if (!cmpfn || cmpfn(entry, data))
9391
return entry;
9492
}

net/ipv6/netfilter/ip6_queue.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ ipq_issue_verdict(struct ipq_queue_entry *entry, int verdict)
7171
static inline void
7272
__ipq_enqueue_entry(struct ipq_queue_entry *entry)
7373
{
74-
list_add(&entry->list, &queue_list);
74+
list_add_tail(&entry->list, &queue_list);
7575
queue_total++;
7676
}
7777

@@ -82,11 +82,9 @@ __ipq_enqueue_entry(struct ipq_queue_entry *entry)
8282
static inline struct ipq_queue_entry *
8383
__ipq_find_entry(ipq_cmpfn cmpfn, unsigned long data)
8484
{
85-
struct list_head *p;
86-
87-
list_for_each_prev(p, &queue_list) {
88-
struct ipq_queue_entry *entry = (struct ipq_queue_entry *)p;
85+
struct ipq_queue_entry *entry;
8986

87+
list_for_each_entry(entry, &queue_list, list) {
9088
if (!cmpfn || cmpfn(entry, data))
9189
return entry;
9290
}

net/netfilter/nfnetlink_queue.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ static inline void
231231
__enqueue_entry(struct nfqnl_instance *queue,
232232
struct nfqnl_queue_entry *entry)
233233
{
234-
list_add(&entry->list, &queue->queue_list);
234+
list_add_tail(&entry->list, &queue->queue_list);
235235
queue->queue_total++;
236236
}
237237

@@ -243,11 +243,9 @@ static inline struct nfqnl_queue_entry *
243243
__find_entry(struct nfqnl_instance *queue, nfqnl_cmpfn cmpfn,
244244
unsigned long data)
245245
{
246-
struct list_head *p;
247-
248-
list_for_each_prev(p, &queue->queue_list) {
249-
struct nfqnl_queue_entry *entry = (struct nfqnl_queue_entry *)p;
246+
struct nfqnl_queue_entry *entry;
250247

248+
list_for_each_entry(entry, &queue->queue_list, list) {
251249
if (!cmpfn || cmpfn(entry, data))
252250
return entry;
253251
}

0 commit comments

Comments
 (0)