mausezahn-libs = -lcli \
-lnet \
-lpcap \
-lrt \
-lpthread \
-lm
mausezahn-objs = str.o \
die.o \
xmalloc.o \
staging/layer1.o \
staging/layer2.o \
staging/layer3.o \
staging/layer4.o \
staging/hextools.o \
staging/tools.o \
staging/lookupdev.o \
staging/time.o \
staging/modifications.o \
staging/send_eth.o \
staging/send.o \
staging/cdp.o \
staging/rtp.o \
staging/dns.o \
staging/rcv_rtp.o \
staging/syslog.o \
staging/cli.o \
staging/cli_cmds.o \
staging/cli_launch.o \
staging/cli_legacy.o \
staging/cli_packet.o \
staging/cli_interface.o \
staging/cli_set.o \
staging/cli_dns.o \
staging/cli_arp.o \
staging/cli_bpdu.o \
staging/cli_eth.o \
staging/cli_ip.o \
staging/cli_udp.o \
staging/cli_tcp.o \
staging/cli_rtp.o \
staging/cli_tools.o \
staging/cli_igmp.o \
staging/cli_lldp.o \
staging/cli_sequence.o \
staging/mops.o \
staging/mops_update.o \
staging/mops_tools.o \
staging/mops_checksums.o \
staging/mops_threads.o \
staging/mops_dot1Q.o \
staging/mops_mpls.o \
staging/mops_ip.o \
staging/mops_tcp.o \
staging/mops_ext.o \
staging/mops_ext_arp.o \
staging/mops_ext_bpdu.o \
staging/mops_ext_rtp.o \
staging/mopsrx_arp.o \
staging/mops_ext_igmp.o \
staging/mops_ext_lldp.o \
staging/mops_sequence.o \
staging/automops.o \
staging/parse_xml.o \
staging/tx_switch.o \
staging/llist.o \
staging/directmops.o \
staging/mausezahn.o
mausezahn-eflags = -O2 -I. -I.. \
-DVERSION_STRING=\"$(VERSION_STRING)\" \
-DVERSION_LONG=\"$(VERSION_LONG)\"
mausezahn-confs =
href='/cgit.cgi/linux/net-next.git/log/tools/testing'>logtreecommitdiff
crypto: testmgr - Use heap buffer for acomp test input
Christopher Covington reported a crash on aarch64 on recent Fedora
kernels:
kernel BUG at ./include/linux/scatterlist.h:140!
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
Modules linked in:
CPU: 2 PID: 752 Comm: cryptomgr_test Not tainted 4.9.0-11815-ge93b1cc #162
Hardware name: linux,dummy-virt (DT)
task: ffff80007c650080 task.stack: ffff800008910000
PC is at sg_init_one+0xa0/0xb8
LR is at sg_init_one+0x24/0xb8
...
[<ffff000008398db8>] sg_init_one+0xa0/0xb8
[<ffff000008350a44>] test_acomp+0x10c/0x438
[<ffff000008350e20>] alg_test_comp+0xb0/0x118
[<ffff00000834f28c>] alg_test+0x17c/0x2f0
[<ffff00000834c6a4>] cryptomgr_test+0x44/0x50
[<ffff0000080dac70>] kthread+0xf8/0x128
[<ffff000008082ec0>] ret_from_fork+0x10/0x50
The test vectors used for input are part of the kernel image. These
inputs are passed as a buffer to sg_init_one which eventually blows up
with BUG_ON(!virt_addr_valid(buf)). On arm64, virt_addr_valid returns
false for the kernel image since virt_to_page will not return the
correct page. Fix this by copying the input vectors to heap buffer
before setting up the scatterlist.
Reported-by: Christopher Covington <cov@codeaurora.org>
Fixes: d7db7a882deb ("crypto: acomp - update testmgr with support for acomp")
Signed-off-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>