Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 78324
b: refs/heads/master
c: 0ef0f46
h: refs/heads/master
v: v3
  • Loading branch information
Patrick McHardy authored and David S. Miller committed Jan 28, 2008
1 parent 7ff224a commit 9dd2899
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 15 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 861934c7c888973da8bf621b3959e408531539e1
refs/heads/master: 0ef0f46580320a7f96c60b20b7a29b0bd820d2e7
26 changes: 12 additions & 14 deletions trunk/net/netfilter/nfnetlink_queue.c
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ nfqnl_flush(struct nfqnl_instance *queue, nfqnl_cmpfn cmpfn, unsigned long data)

static struct sk_buff *
nfqnl_build_packet_message(struct nfqnl_instance *queue,
struct nf_queue_entry *entry, int *errp)
struct nf_queue_entry *entry)
{
sk_buff_data_t old_tail;
size_t size;
Expand Down Expand Up @@ -241,7 +241,7 @@ nfqnl_build_packet_message(struct nfqnl_instance *queue,
case NFQNL_COPY_PACKET:
if ((entskb->ip_summed == CHECKSUM_PARTIAL ||
entskb->ip_summed == CHECKSUM_COMPLETE) &&
(*errp = skb_checksum_help(entskb))) {
skb_checksum_help(entskb)) {
spin_unlock_bh(&queue->lock);
return NULL;
}
Expand Down Expand Up @@ -374,7 +374,6 @@ nfqnl_build_packet_message(struct nfqnl_instance *queue,
nla_put_failure:
if (skb)
kfree_skb(skb);
*errp = -EINVAL;
if (net_ratelimit())
printk(KERN_ERR "nf_queue: error creating packet message\n");
return NULL;
Expand All @@ -383,21 +382,21 @@ nfqnl_build_packet_message(struct nfqnl_instance *queue,
static int
nfqnl_enqueue_packet(struct nf_queue_entry *entry, unsigned int queuenum)
{
int status = -EINVAL;
struct sk_buff *nskb;
struct nfqnl_instance *queue;
int err;

/* rcu_read_lock()ed by nf_hook_slow() */
queue = instance_lookup(queuenum);
if (!queue)
return -EINVAL;
goto err_out;

if (queue->copy_mode == NFQNL_COPY_NONE)
return -EAGAIN;
goto err_out;

nskb = nfqnl_build_packet_message(queue, entry, &status);
nskb = nfqnl_build_packet_message(queue, entry);
if (nskb == NULL)
return status;
goto err_out;

spin_lock_bh(&queue->lock);

Expand All @@ -406,7 +405,6 @@ nfqnl_enqueue_packet(struct nf_queue_entry *entry, unsigned int queuenum)

if (queue->queue_total >= queue->queue_maxlen) {
queue->queue_dropped++;
status = -ENOSPC;
if (net_ratelimit())
printk(KERN_WARNING "nf_queue: full at %d entries, "
"dropping packets(s). Dropped: %d\n",
Expand All @@ -415,23 +413,23 @@ nfqnl_enqueue_packet(struct nf_queue_entry *entry, unsigned int queuenum)
}

/* nfnetlink_unicast will either free the nskb or add it to a socket */
status = nfnetlink_unicast(nskb, queue->peer_pid, MSG_DONTWAIT);
if (status < 0) {
err = nfnetlink_unicast(nskb, queue->peer_pid, MSG_DONTWAIT);
if (err < 0) {
queue->queue_user_dropped++;
goto err_out_unlock;
}

__enqueue_entry(queue, entry);

spin_unlock_bh(&queue->lock);
return status;
return 0;

err_out_free_nskb:
kfree_skb(nskb);

err_out_unlock:
spin_unlock_bh(&queue->lock);
return status;
err_out:
return -1;
}

static int
Expand Down

0 comments on commit 9dd2899

Please sign in to comment.