Skip to content

Commit

Permalink
[NETFILTER]: nfnetlink_queue: remove useless enqueue status codes
Browse files Browse the repository at this point in the history
The queueing core doesn't care about the exact return value from
the queue handler, so there's no need to go through the trouble
of returning a meaningful value as long as we indicate an error.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Patrick McHardy authored and David S. Miller committed Jan 28, 2008
1 parent 861934c commit 0ef0f46
Showing 1 changed file with 12 additions and 14 deletions.
26 changes: 12 additions & 14 deletions 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 0ef0f46

Please sign in to comment.