diff options
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/netfilter/ip_queue.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/net/ipv4/netfilter/ip_queue.c b/net/ipv4/netfilter/ip_queue.c index 2966fbddce8..9e72246ede2 100644 --- a/net/ipv4/netfilter/ip_queue.c +++ b/net/ipv4/netfilter/ip_queue.c @@ -73,7 +73,7 @@ ipq_issue_verdict(struct ipq_queue_entry *entry, int verdict) static inline void __ipq_enqueue_entry(struct ipq_queue_entry *entry) { - list_add(&entry->list, &queue_list); + list_add_tail(&entry->list, &queue_list); queue_total++; } @@ -84,11 +84,9 @@ __ipq_enqueue_entry(struct ipq_queue_entry *entry) static inline struct ipq_queue_entry * __ipq_find_entry(ipq_cmpfn cmpfn, unsigned long data) { - struct list_head *p; - - list_for_each_prev(p, &queue_list) { - struct ipq_queue_entry *entry = (struct ipq_queue_entry *)p; + struct ipq_queue_entry *entry; + list_for_each_entry(entry, &queue_list, list) { if (!cmpfn || cmpfn(entry, data)) return entry; } |