[NETFILTER]: nfnetlink_log: kill duplicate code

Kill some duplicate code in nfulnl_log_packet().

Signed-off-by: Michal Miroslaw <mirq-linux@rere.qmqm.pl>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Michal Miroslaw 2007-03-23 11:11:05 -07:00 committed by David S. Miller
parent 09972d6f96
commit 55b5a91e17
1 changed files with 7 additions and 15 deletions

View File

@ -660,19 +660,11 @@ nfulnl_log_packet(unsigned int pf,
break; break;
default: default:
spin_unlock_bh(&inst->lock); goto unlock_and_release;
instance_put(inst);
return;
} }
if (!inst->skb) { if (inst->qlen >= qthreshold ||
if (!(inst->skb = nfulnl_alloc_skb(inst->nlbufsiz, size))) { (inst->skb && size > skb_tailroom(inst->skb))) {
UDEBUG("error in nfulnl_alloc_skb(%u, %u)\n",
inst->nlbufsiz, size);
goto alloc_failure;
}
} else if (inst->qlen >= qthreshold ||
size > skb_tailroom(inst->skb)) {
/* either the queue len is too high or we don't have /* either the queue len is too high or we don't have
* enough room in the skb left. flush to userspace. */ * enough room in the skb left. flush to userspace. */
UDEBUG("flushing old skb\n"); UDEBUG("flushing old skb\n");
@ -681,12 +673,12 @@ nfulnl_log_packet(unsigned int pf,
if (del_timer(&inst->timer)) if (del_timer(&inst->timer))
instance_put(inst); instance_put(inst);
__nfulnl_send(inst); __nfulnl_send(inst);
}
if (!(inst->skb = nfulnl_alloc_skb(inst->nlbufsiz, size))) { if (!inst->skb) {
UDEBUG("error in nfulnl_alloc_skb(%u, %u)\n", inst->skb = nfulnl_alloc_skb(inst->nlbufsiz, size);
inst->nlbufsiz, size); if (!inst->skb)
goto alloc_failure; goto alloc_failure;
}
} }
UDEBUG("qlen %d, qthreshold %d\n", inst->qlen, qthreshold); UDEBUG("qlen %d, qthreshold %d\n", inst->qlen, qthreshold);