git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of /repos/git/net-next-2.6
[pandora-kernel.git]
/
net
/
netfilter
/
nfnetlink_queue.c
diff --git
a/net/netfilter/nfnetlink_queue.c
b/net/netfilter/nfnetlink_queue.c
index
68e67d1
..
b83123f
100644
(file)
--- a/
net/netfilter/nfnetlink_queue.c
+++ b/
net/netfilter/nfnetlink_queue.c
@@
-387,25
+387,31
@@
nfqnl_enqueue_packet(struct nf_queue_entry *entry, unsigned int queuenum)
{
struct sk_buff *nskb;
struct nfqnl_instance *queue;
{
struct sk_buff *nskb;
struct nfqnl_instance *queue;
- int err;
+ int err
= -ENOBUFS
;
/* rcu_read_lock()ed by nf_hook_slow() */
queue = instance_lookup(queuenum);
/* rcu_read_lock()ed by nf_hook_slow() */
queue = instance_lookup(queuenum);
- if (!queue)
+ if (!queue) {
+ err = -ESRCH;
goto err_out;
goto err_out;
+ }
- if (queue->copy_mode == NFQNL_COPY_NONE)
+ if (queue->copy_mode == NFQNL_COPY_NONE) {
+ err = -EINVAL;
goto err_out;
goto err_out;
+ }
nskb = nfqnl_build_packet_message(queue, entry);
nskb = nfqnl_build_packet_message(queue, entry);
- if (nskb == NULL)
+ if (nskb == NULL) {
+ err = -ENOMEM;
goto err_out;
goto err_out;
-
+ }
spin_lock_bh(&queue->lock);
spin_lock_bh(&queue->lock);
- if (!queue->peer_pid)
+ if (!queue->peer_pid) {
+ err = -EINVAL;
goto err_out_free_nskb;
goto err_out_free_nskb;
-
+ }
if (queue->queue_total >= queue->queue_maxlen) {
queue->queue_dropped++;
if (net_ratelimit())
if (queue->queue_total >= queue->queue_maxlen) {
queue->queue_dropped++;
if (net_ratelimit())
@@
-432,7
+438,7
@@
err_out_free_nskb:
err_out_unlock:
spin_unlock_bh(&queue->lock);
err_out:
err_out_unlock:
spin_unlock_bh(&queue->lock);
err_out:
- return
-1
;
+ return
err
;
}
static int
}
static int