Skip to contentSkip to conversation

Patch "Revert "netfilter: ensure number of counters is >0 in do_replace()"" has been added to the 3.14-stable tree

PATCH [email protected] 1 participant 1 message Jun 24, 2016

Subsystems (4)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

Revert "netfilter: ensure number of counters is >0 in do_replace()"

to the 3.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
revert-netfilter-ensure-number-of-counters-is-0-in-do_replace.patch
and it can be found in the queue-3.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From d26e2c9ffa385dd1b646f43c1397ba12af9ed431 Mon Sep 17 00:00:00 2001

From: Bernhard Thaler <[email protected]>
Date: Thu, 28 May 2015 10:26:18 +0200
Subject: Revert "netfilter: ensure number of counters is >0 in do_replace()"

From: Bernhard Thaler <[email protected]>

commit d26e2c9ffa385dd1b646f43c1397ba12af9ed431 upstream.

This partially reverts commit 1086bbe97a07 ("netfilter: ensure number of counters is >0 in do_replace()") in net/bridge/netfilter/ebtables.c.

Setting rules with ebtables does not work any more with 1086bbe97a07 place.

There is an error message and no rules set in the end.

e.g.

~# ebtables -t nat -A POSTROUTING --src 12:34:56:78:9a:bc -j DROP Unable to update the kernel. Two possible causes:
1. Multiple ebtables programs were executing simultaneously. The ebtables userspace tool doesn't by default support multiple ebtables programs
running

Reverting the ebtables part of 1086bbe97a07 makes this work again.

---
 net/bridge/netfilter/ebtables.c |    4 ----
 1 file changed, 4 deletions(-)
net/bridge/netfilter/ebtables.c +0 -4
@@ -1105,8 +1105,6 @@ static int do_replace(struct net *net, c
 		return -ENOMEM;
 	if (tmp.num_counters >= INT_MAX / sizeof(struct ebt_counter))
 		return -ENOMEM;
-	if (tmp.num_counters == 0)
-		return -EINVAL;
 
 	tmp.name[sizeof(tmp.name) - 1] = 0;
 
@@ -2152,8 +2150,6 @@ static int compat_copy_ebt_replace_from_
 		return -ENOMEM;
 	if (tmp.num_counters >= INT_MAX / sizeof(struct ebt_counter))
 		return -ENOMEM;
-	if (tmp.num_counters == 0)
-		return -EINVAL;
 
 	memcpy(repl, &tmp, offsetof(struct ebt_replace, hook_entry));
 

Patches currently in stable-queue which might be from [email protected] are

queue-3.14/revert-netfilter-ensure-number-of-counters-is-0-in-do_replace.patch