From: Nicolas Dichtel <nicolas.dichtel@6wind.com> To: bsingharora@gmail.com Cc: netdev@vger.kernel.org, davem@davemloft.net, linux-kernel@vger.kernel.org, linux-wpan@vger.kernel.org, aar@pengutronix.de, pablo@netfilter.org, kaber@trash.net, kadlec@blackhole.kfki.hu, pshelar@nicira.com, kuznet@ms2.inr.ac.ru, jmorris@namei.org, yoshfuji@linux-ipv6.org, netfilter-devel@vger.kernel.org, dev@openvswitch.org, steffen.klassert@secunet.com, herbert@gondor.apana.org.au, Nicolas Dichtel <nicolas.dichtel@6wind.com> Subject: [PATCH net-next v2] taskstats: fix nl parsing in accounting/getdelays.c Date: Wed, 27 Apr 2016 17:53:08 +0200 [thread overview] Message-ID: <1461772388-3763-1-git-send-email-nicolas.dichtel@6wind.com> (raw) In-Reply-To: <5720DFA1.3080503@6wind.com> The type TASKSTATS_TYPE_NULL should always be ignored. When jumping to the next attribute, only the length of the current attribute should be added, not the length of all nested attributes. This last bug was not visible before commit 80df554275c2, because the kernel didn't put more than two nested attributes. Fixes: a3baf649ca9c ("[PATCH] per-task-delay-accounting: documentation") Fixes: 80df554275c2 ("taskstats: use the libnl API to align nlattr on 64-bit") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> --- Documentation/accounting/getdelays.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Documentation/accounting/getdelays.c b/Documentation/accounting/getdelays.c index 7785fb5eb93f..b5ca536e56a8 100644 --- a/Documentation/accounting/getdelays.c +++ b/Documentation/accounting/getdelays.c @@ -505,6 +505,8 @@ int main(int argc, char *argv[]) if (!loop) goto done; break; + case TASKSTATS_TYPE_NULL: + break; default: fprintf(stderr, "Unknown nested" " nla_type %d\n", @@ -512,7 +514,8 @@ int main(int argc, char *argv[]) break; } len2 += NLA_ALIGN(na->nla_len); - na = (struct nlattr *) ((char *) na + len2); + na = (struct nlattr *)((char *)na + + NLA_ALIGN(na->nla_len)); } break; -- 2.8.1
WARNING: multiple messages have this Message-ID (diff)
From: Nicolas Dichtel <nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w@public.gmane.org> To: bsingharora-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org Cc: dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org, steffen.klassert-opNxpl+3fjRBDgjK7y7TUQ@public.gmane.org, herbert-lOAM2aK0SrRLBo1qDEOMRrpzq4S04n8Q@public.gmane.org, aar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org, netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Nicolas Dichtel <nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, kaber-dcUjhNyLwpNeoWH0uzbU5w@public.gmane.org, yoshfuji-VfPWfsRibaP+Ru+s062T9g@public.gmane.org, netfilter-devel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, kadlec-K40Dz/62t/MgiyqX0sVFJYdd74u8MsAO@public.gmane.org, kuznet-v/Mj1YrvjDBInbfyfbPRSQ@public.gmane.org, jmorris-gx6/JNMH7DfYtjvyW6yDsg@public.gmane.org, linux-wpan-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org, pablo-Cap9r6Oaw4JrovVCs/uTlw@public.gmane.org Subject: [PATCH net-next v2] taskstats: fix nl parsing in accounting/getdelays.c Date: Wed, 27 Apr 2016 17:53:08 +0200 [thread overview] Message-ID: <1461772388-3763-1-git-send-email-nicolas.dichtel@6wind.com> (raw) In-Reply-To: <5720DFA1.3080503-pdR9zngts4EAvxtiuMwx3w@public.gmane.org> The type TASKSTATS_TYPE_NULL should always be ignored. When jumping to the next attribute, only the length of the current attribute should be added, not the length of all nested attributes. This last bug was not visible before commit 80df554275c2, because the kernel didn't put more than two nested attributes. Fixes: a3baf649ca9c ("[PATCH] per-task-delay-accounting: documentation") Fixes: 80df554275c2 ("taskstats: use the libnl API to align nlattr on 64-bit") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> --- Documentation/accounting/getdelays.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Documentation/accounting/getdelays.c b/Documentation/accounting/getdelays.c index 7785fb5eb93f..b5ca536e56a8 100644 --- a/Documentation/accounting/getdelays.c +++ b/Documentation/accounting/getdelays.c @@ -505,6 +505,8 @@ int main(int argc, char *argv[]) if (!loop) goto done; break; + case TASKSTATS_TYPE_NULL: + break; default: fprintf(stderr, "Unknown nested" " nla_type %d\n", @@ -512,7 +514,8 @@ int main(int argc, char *argv[]) break; } len2 += NLA_ALIGN(na->nla_len); - na = (struct nlattr *) ((char *) na + len2); + na = (struct nlattr *)((char *)na + + NLA_ALIGN(na->nla_len)); } break; -- 2.8.1 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev
next prev parent reply other threads:[~2016-04-27 15:53 UTC|newest] Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-04-22 15:31 [PATCH net-next 0/9] netlink: align attributes when needed (patchset #1) Nicolas Dichtel 2016-04-22 15:31 ` [PATCH net-next 1/9] libnl: fix help of _64bit functions Nicolas Dichtel 2016-04-22 15:31 ` [PATCH net-next 2/9] libnl: nla_put_le64(): align on a 64-bit area Nicolas Dichtel 2016-04-22 16:51 ` Eric Dumazet 2016-04-22 16:51 ` Eric Dumazet 2016-04-23 17:05 ` Alexander Aring 2016-04-23 17:28 ` Alexander Aring 2016-04-25 7:41 ` Nicolas Dichtel 2016-04-25 7:41 ` Nicolas Dichtel 2016-04-22 15:31 ` [PATCH net-next 3/9] libnl: nla_put_be64(): " Nicolas Dichtel 2016-04-22 15:31 ` [PATCH net-next 4/9] libnl: nla_put_net64(): " Nicolas Dichtel 2016-04-22 15:31 ` [PATCH net-next 5/9] libnl: nla_put_s64(): " Nicolas Dichtel 2016-04-22 15:31 ` Nicolas Dichtel 2016-04-22 15:31 ` [PATCH net-next 6/9] libnl: nla_put_msecs(): " Nicolas Dichtel 2016-04-22 15:31 ` Nicolas Dichtel 2016-04-22 15:31 ` [PATCH net-next 7/9] libnl: add nla_put_u64_64bit() helper Nicolas Dichtel 2016-04-22 15:31 ` [PATCH net-next 8/9] xfrm: align nlattr properly when needed Nicolas Dichtel 2016-04-22 15:31 ` [PATCH net-next 9/9] taskstats: use the libnl API to align nlattr on 64-bit Nicolas Dichtel 2016-04-27 1:14 ` Balbir Singh 2016-04-27 1:14 ` Balbir Singh 2016-04-27 7:29 ` Nicolas Dichtel 2016-04-27 7:29 ` Nicolas Dichtel 2016-04-27 12:29 ` Balbir Singh 2016-04-27 12:29 ` Balbir Singh 2016-04-27 15:46 ` Nicolas Dichtel 2016-04-27 15:46 ` Nicolas Dichtel 2016-04-27 15:47 ` [PATCH net-next] taskstats: fix nl parsing in accounting/getdelays.c Nicolas Dichtel 2016-04-27 15:49 ` Nicolas Dichtel 2016-04-27 15:49 ` Nicolas Dichtel 2016-04-27 15:53 ` Nicolas Dichtel [this message] 2016-04-27 15:53 ` [PATCH net-next v2] " Nicolas Dichtel 2016-04-27 16:56 ` David Miller 2016-04-27 16:56 ` David Miller 2016-04-27 16:41 ` [PATCH net-next 9/9] taskstats: use the libnl API to align nlattr on 64-bit David Miller 2016-04-24 0:13 ` [PATCH net-next 0/9] netlink: align attributes when needed (patchset #1) David Miller 2016-04-24 0:13 ` David Miller
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=1461772388-3763-1-git-send-email-nicolas.dichtel@6wind.com \ --to=nicolas.dichtel@6wind.com \ --cc=aar@pengutronix.de \ --cc=bsingharora@gmail.com \ --cc=davem@davemloft.net \ --cc=dev@openvswitch.org \ --cc=herbert@gondor.apana.org.au \ --cc=jmorris@namei.org \ --cc=kaber@trash.net \ --cc=kadlec@blackhole.kfki.hu \ --cc=kuznet@ms2.inr.ac.ru \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-wpan@vger.kernel.org \ --cc=netdev@vger.kernel.org \ --cc=netfilter-devel@vger.kernel.org \ --cc=pablo@netfilter.org \ --cc=pshelar@nicira.com \ --cc=steffen.klassert@secunet.com \ --cc=yoshfuji@linux-ipv6.org \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.