[PATCH 2.6.20 03/10] nfnetlink_log: kill duplicate code

From: Michał Mirosław
Date: Mon Feb 12 2007 - 04:13:18 EST


Kill some duplicate code in nfulnl_log_packet().

Signed-off-by: Michał Mirosław <mirq-linux@xxxxxxxxxxxx>

--- linux-2.6.20/net/netfilter/nfnetlink_log.c.1 2007-02-11 20:51:57.000000000 +0100
+++ linux-2.6.20/net/netfilter/nfnetlink_log.c 2007-02-11 20:43:24.000000000 +0100
@@ -666,30 +666,23 @@ nfulnl_log_packet(unsigned int pf,
break;

default:
- spin_unlock_bh(&inst->lock);
- instance_put(inst);
- return;
+ goto unlock_and_release;
}

- if (!inst->skb) {
- if (!(inst->skb = nfulnl_alloc_skb(inst->nlbufsiz, size))) {
- 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)) {
+ if (inst->qlen >= qthreshold ||
+ (inst->skb && size > skb_tailroom(inst->skb))) {
/* either the queue len is too high or we don't have
* enough room in the skb left. flush to userspace. */
UDEBUG("flushing old skb\n");

__nfulnl_send(inst);
+ }

- if (!(inst->skb = nfulnl_alloc_skb(inst->nlbufsiz, size))) {
- UDEBUG("error in nfulnl_alloc_skb(%u, %u)\n",
- inst->nlbufsiz, size);
+ if (!inst->skb) {
+ inst->skb = nfulnl_alloc_skb(inst->nlbufsiz, size);
+
+ if (!inst->skb)
goto alloc_failure;
- }
}

UDEBUG("qlen %d, qthreshold %d\n", inst->qlen, qthreshold);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/