From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Akshat Kakkar <akshat.1984@gmail.com>,
Jamal Hadi Salim <jhs@mojatatu.com>,
Cong Wang <xiyou.wangcong@gmail.com>,
"David S. Miller" <davem@davemloft.net>
Subject: [PATCH 4.2 23/30] net: revert "net_sched: move tp->root allocation into fw_init()"
Date: Thu, 1 Oct 2015 11:21:45 +0200 [thread overview]
Message-ID: <20151001092039.201820125@linuxfoundation.org> (raw)
In-Reply-To: <20151001092038.213304276@linuxfoundation.org>
4.2-stable review patch. If anyone has any objections, please let me know.
------------------
From: WANG Cong <xiyou.wangcong@gmail.com>
[ Upstream commit d8aecb10115497f6cdf841df8c88ebb3ba25fa28 ]
fw filter uses tp->root==NULL to check if it is the old method,
so it doesn't need allocation at all in this case. This patch
reverts the offending commit and adds some comments for old
method to make it obvious.
Fixes: 33f8b9ecdb15 ("net_sched: move tp->root allocation into fw_init()")
Reported-by: Akshat Kakkar <akshat.1984@gmail.com>
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
net/sched/cls_fw.c | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
--- a/net/sched/cls_fw.c
+++ b/net/sched/cls_fw.c
@@ -33,7 +33,6 @@
struct fw_head {
u32 mask;
- bool mask_set;
struct fw_filter __rcu *ht[HTSIZE];
struct rcu_head rcu;
};
@@ -84,7 +83,7 @@ static int fw_classify(struct sk_buff *s
}
}
} else {
- /* old method */
+ /* Old method: classify the packet using its skb mark. */
if (id && (TC_H_MAJ(id) == 0 ||
!(TC_H_MAJ(id ^ tp->q->handle)))) {
res->classid = id;
@@ -114,14 +113,9 @@ static unsigned long fw_get(struct tcf_p
static int fw_init(struct tcf_proto *tp)
{
- struct fw_head *head;
-
- head = kzalloc(sizeof(struct fw_head), GFP_KERNEL);
- if (head == NULL)
- return -ENOBUFS;
-
- head->mask_set = false;
- rcu_assign_pointer(tp->root, head);
+ /* We don't allocate fw_head here, because in the old method
+ * we don't need it at all.
+ */
return 0;
}
@@ -252,7 +246,7 @@ static int fw_change(struct net *net, st
int err;
if (!opt)
- return handle ? -EINVAL : 0;
+ return handle ? -EINVAL : 0; /* Succeed if it is old method. */
err = nla_parse_nested(tb, TCA_FW_MAX, opt, fw_policy);
if (err < 0)
@@ -302,11 +296,17 @@ static int fw_change(struct net *net, st
if (!handle)
return -EINVAL;
- if (!head->mask_set) {
- head->mask = 0xFFFFFFFF;
+ if (!head) {
+ u32 mask = 0xFFFFFFFF;
if (tb[TCA_FW_MASK])
- head->mask = nla_get_u32(tb[TCA_FW_MASK]);
- head->mask_set = true;
+ mask = nla_get_u32(tb[TCA_FW_MASK]);
+
+ head = kzalloc(sizeof(*head), GFP_KERNEL);
+ if (!head)
+ return -ENOBUFS;
+ head->mask = mask;
+
+ rcu_assign_pointer(tp->root, head);
}
f = kzalloc(sizeof(struct fw_filter), GFP_KERNEL);
next prev parent reply other threads:[~2015-10-01 9:23 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-01 9:21 [PATCH 4.2 00/30] 4.2.3-stable review Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 01/30] phylib: fix device deletion order in mdiobus_unregister() Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 02/30] sock, diag: fix panic in sock_diag_put_filterinfo Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 03/30] ipv6: fix exthdrs offload registration in out_rt path Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 04/30] net: fec: clear receive interrupts before processing a packet Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 05/30] net: eth: altera: fix napi poll_list corruption Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 06/30] net/ipv6: Correct PIM6 mrt_lock handling Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 07/30] net: dsa: bcm_sf2: Fix ageing conditions and operation Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 08/30] ipv6: fix multipath route replace error recovery Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 09/30] net: dsa: bcm_sf2: Fix 64-bits register writes Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 10/30] netlink, mmap: transform mmap skb into full skb on taps Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 11/30] sctp: fix race on protocol/netns initialization Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 13/30] net: mvneta: fix DMA buffer unmapping in mvneta_rx() Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 14/30] rtnetlink: catch -EOPNOTSUPP errors from ndo_bridge_getlink Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 15/30] net/mlx4_en: really allow to change RSS key Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 16/30] macvtap: fix TUNSETSNDBUF values > 64k Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 17/30] netlink: Fix autobind race condition that leads to zero port ID Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 18/30] netlink: Replace rhash_portid with bound Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 19/30] net: dsa: actually force the speed on the CPU port Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 20/30] openvswitch: Zero flows on allocation Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 21/30] tcp: add proper TS val into RST packets Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 22/30] Fix AF_PACKET ABI breakage in 4.2 Greg Kroah-Hartman
2015-10-01 9:21 ` Greg Kroah-Hartman [this message]
2015-10-01 9:21 ` [PATCH 4.2 24/30] fib_rules: fix fib rule dumps across multiple skbs Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 25/30] ppp: fix lockdep splat in ppp_dev_uninit() Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 26/30] net: dsa: bcm_sf2: Do not override speed settings Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 27/30] net: phy: fixed_phy: handle link-down case Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 28/30] of_mdio: add new DT property managed to specify the PHY management type Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 29/30] mvneta: use inband status only when explicitly enabled Greg Kroah-Hartman
2015-10-01 9:21 ` [PATCH 4.2 30/30] net/mlx4_core: Capping number of requested MSIXs to MAX_MSIX Greg Kroah-Hartman
2015-10-02 1:27 ` [PATCH 4.2 00/30] 4.2.3-stable review Guenter Roeck
2015-10-03 11:37 ` Greg Kroah-Hartman
2015-10-03 14:45 ` Guenter Roeck
2015-10-18 0:45 ` Greg Kroah-Hartman
2015-10-02 5:14 ` Sudip Mukherjee
2015-10-03 11:36 ` Greg Kroah-Hartman
2015-10-02 15:41 ` Shuah Khan
2015-10-03 11:36 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151001092039.201820125@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=akshat.1984@gmail.com \
--cc=davem@davemloft.net \
--cc=jhs@mojatatu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=xiyou.wangcong@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).