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)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Sun, 26 Jun 2011 16:47:18 +0000 (12:47 -0400)
commit02e6f1ee075a325dc9079b3dc143d898e924ce64
tree293bc1cfa087991ce90e6aa8b6e9506fd6906339
parentddfd87424bef1dc8b2930acae2311b286ab9de12
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.

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: Paul Gortmaker <paul.gortmaker@windriver.com>
net/ipv4/inet_diag.c