Commit 55b5a91e authored by Michal Miroslaw's avatar Michal Miroslaw Committed by David S. Miller
Browse files

[NETFILTER]: nfnetlink_log: kill duplicate code



Kill some duplicate code in nfulnl_log_packet().

Signed-off-by: default avatarMichal Miroslaw <mirq-linux@rere.qmqm.pl>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 09972d6f
Loading
Loading
Loading
Loading
+7 −15
Original line number Diff line number Diff line
@@ -660,19 +660,11 @@ 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");
@@ -681,13 +673,13 @@ nfulnl_log_packet(unsigned int pf,
		if (del_timer(&inst->timer))
			instance_put(inst);
		__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);
	inst->qlen++;