aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorAlexei Starovoitov <ast@plumgrid.com>2014-06-06 20:48:20 -0400
committerDavid S. Miller <davem@davemloft.net>2014-06-11 03:13:16 -0400
commitdf6d0f983a59c333bc2b0cb82b65441b34310cf7 (patch)
tree88702d7db2e6fc50e04876d8ea389b99d99d61c3 /lib
parente430f34ee5192c84bcabd3c79ab7e2388b5eec74 (diff)
net: filter: fix nlattr and nlattr_nest BPF tests
- 'struct nlattr' must be 2 byte aligned - provide big-endian input data for nlattr/nlattr_nest tests Signed-off-by: Alexei Starovoitov <ast@plumgrid.com> Acked-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib')
-rw-r--r--lib/test_bpf.c34
1 files changed, 21 insertions, 13 deletions
diff --git a/lib/test_bpf.c b/lib/test_bpf.c
index ea60ad8d5242..c579e0f58818 100644
--- a/lib/test_bpf.c
+++ b/lib/test_bpf.c
@@ -385,7 +385,7 @@ static struct bpf_test tests[] = {
385 { 385 {
386 "LD_NLATTR", 386 "LD_NLATTR",
387 .u.insns = { 387 .u.insns = {
388 BPF_STMT(BPF_LDX | BPF_IMM, 1), 388 BPF_STMT(BPF_LDX | BPF_IMM, 2),
389 BPF_STMT(BPF_MISC | BPF_TXA, 0), 389 BPF_STMT(BPF_MISC | BPF_TXA, 0),
390 BPF_STMT(BPF_LDX | BPF_IMM, 3), 390 BPF_STMT(BPF_LDX | BPF_IMM, 3),
391 BPF_STMT(BPF_LD | BPF_W | BPF_ABS, 391 BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
@@ -393,42 +393,50 @@ static struct bpf_test tests[] = {
393 BPF_STMT(BPF_RET | BPF_A, 0) 393 BPF_STMT(BPF_RET | BPF_A, 0)
394 }, 394 },
395 CLASSIC, 395 CLASSIC,
396 { 0xff, 4, 0, 2, 0, 4, 0, 3, 0 }, 396#ifdef __BIG_ENDIAN
397 { { 4, 0 }, { 20, 5 } }, 397 { 0xff, 0xff, 0, 4, 0, 2, 0, 4, 0, 3 },
398#else
399 { 0xff, 0xff, 4, 0, 2, 0, 4, 0, 3, 0 },
400#endif
401 { { 4, 0 }, { 20, 6 } },
398 }, 402 },
399 { 403 {
400 "LD_NLATTR_NEST", 404 "LD_NLATTR_NEST",
401 .u.insns = { 405 .u.insns = {
402 BPF_STMT(BPF_LD | BPF_IMM, 1), 406 BPF_STMT(BPF_LD | BPF_IMM, 2),
403 BPF_STMT(BPF_LDX | BPF_IMM, 3), 407 BPF_STMT(BPF_LDX | BPF_IMM, 3),
404 BPF_STMT(BPF_LD | BPF_W | BPF_ABS, 408 BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
405 SKF_AD_OFF + SKF_AD_NLATTR_NEST), 409 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
406 BPF_STMT(BPF_LD | BPF_IMM, 1), 410 BPF_STMT(BPF_LD | BPF_IMM, 2),
407 BPF_STMT(BPF_LD | BPF_W | BPF_ABS, 411 BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
408 SKF_AD_OFF + SKF_AD_NLATTR_NEST), 412 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
409 BPF_STMT(BPF_LD | BPF_IMM, 1), 413 BPF_STMT(BPF_LD | BPF_IMM, 2),
410 BPF_STMT(BPF_LD | BPF_W | BPF_ABS, 414 BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
411 SKF_AD_OFF + SKF_AD_NLATTR_NEST), 415 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
412 BPF_STMT(BPF_LD | BPF_IMM, 1), 416 BPF_STMT(BPF_LD | BPF_IMM, 2),
413 BPF_STMT(BPF_LD | BPF_W | BPF_ABS, 417 BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
414 SKF_AD_OFF + SKF_AD_NLATTR_NEST), 418 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
415 BPF_STMT(BPF_LD | BPF_IMM, 1), 419 BPF_STMT(BPF_LD | BPF_IMM, 2),
416 BPF_STMT(BPF_LD | BPF_W | BPF_ABS, 420 BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
417 SKF_AD_OFF + SKF_AD_NLATTR_NEST), 421 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
418 BPF_STMT(BPF_LD | BPF_IMM, 1), 422 BPF_STMT(BPF_LD | BPF_IMM, 2),
419 BPF_STMT(BPF_LD | BPF_W | BPF_ABS, 423 BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
420 SKF_AD_OFF + SKF_AD_NLATTR_NEST), 424 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
421 BPF_STMT(BPF_LD | BPF_IMM, 1), 425 BPF_STMT(BPF_LD | BPF_IMM, 2),
422 BPF_STMT(BPF_LD | BPF_W | BPF_ABS, 426 BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
423 SKF_AD_OFF + SKF_AD_NLATTR_NEST), 427 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
424 BPF_STMT(BPF_LD | BPF_IMM, 1), 428 BPF_STMT(BPF_LD | BPF_IMM, 2),
425 BPF_STMT(BPF_LD | BPF_W | BPF_ABS, 429 BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
426 SKF_AD_OFF + SKF_AD_NLATTR_NEST), 430 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
427 BPF_STMT(BPF_RET | BPF_A, 0) 431 BPF_STMT(BPF_RET | BPF_A, 0)
428 }, 432 },
429 CLASSIC, 433 CLASSIC,
430 { 0xff, 12, 0, 1, 0, 4, 0, 2, 0, 4, 0, 3, 0 }, 434#ifdef __BIG_ENDIAN
431 { { 4, 0 }, { 20, 9 } }, 435 { 0xff, 0xff, 0, 12, 0, 1, 0, 4, 0, 2, 0, 4, 0, 3 },
436#else
437 { 0xff, 0xff, 12, 0, 1, 0, 4, 0, 2, 0, 4, 0, 3, 0 },
438#endif
439 { { 4, 0 }, { 20, 10 } },
432 }, 440 },
433 { 441 {
434 "LD_PAYLOAD_OFF", 442 "LD_PAYLOAD_OFF",