]> git.karo-electronics.de Git - karo-tx-linux.git/commit
inet_diag: Make sure we actually run the same bytecode we audited.
authorNelson Elhage <nelhage@ksplice.com>
Wed, 3 Nov 2010 16:35:41 +0000 (16:35 +0000)
committerAndi Kleen <ak@linux.intel.com>
Thu, 28 Apr 2011 15:21:01 +0000 (08:21 -0700)
commit58c373ba73707261ace8a2227a7ec99d58e9fd94
tree21023e665cf00e11e04ec4b0c5a24fc73fbabdca
parent153e4ee16df4ec1660a97c6040715e5993f9032e
inet_diag: Make sure we actually run the same bytecode we audited.

commit 22e76c849d505d87c5ecf3d3e6742a65f0ff4860 upstream.

We were using nlmsg_find_attr() to look up the bytecode by attribute when
auditing, but then just using the first attribute when actually running
bytecode. So, if we received a message with two attribute elements, where only
the second had type INET_DIAG_REQ_BYTECODE, we would validate and run different
bytecode strings.

Fix this by consistently using nlmsg_find_attr everywhere.

[AK: Add const to nlmsg_find_attr to fix new warning]

Signed-off-by: Nelson Elhage <nelhage@ksplice.com>
Signed-off-by: Thomas Graf <tgraf@infradead.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
[jmm: Slightly adapted to apply against 2.6.32]
Cc: Moritz Muehlenhoff <jmm@debian.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
include/net/netlink.h
net/ipv4/inet_diag.c