From: Lars Ellenberg Date: Mon, 28 Feb 2011 20:38:25 +0000 (-0800) Subject: net: fix nla_policy_len to actually _iterate_ over the policy X-Git-Tag: v2.6.38-rc8~29^2~19 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e3fa3aff0cb198e7c53d894f52146121d9592872;p=platform%2Fkernel%2Flinux-exynos.git net: fix nla_policy_len to actually _iterate_ over the policy Currently nla_policy_len always returns n * NLA_HDRLEN: It loops, but does not advance it's iterator. NLA_UNSPEC == 0 does not contain a .len in any policy. Trivially fixed by adding p++. Signed-off-by: Lars Ellenberg Signed-off-by: David S. Miller --- diff --git a/lib/nlattr.c b/lib/nlattr.c index 5021cbc..ac09f22 100644 --- a/lib/nlattr.c +++ b/lib/nlattr.c @@ -148,7 +148,7 @@ nla_policy_len(const struct nla_policy *p, int n) { int i, len = 0; - for (i = 0; i < n; i++) { + for (i = 0; i < n; i++, p++) { if (p->len) len += nla_total_size(p->len); else if (nla_attr_minlen[p->type])