9p/RDMA for syzkaller (Was: BUG: corrupted list in p9_read_work)

Dominique Martinet
2018-10-11T14:28:27Z

Dmitry Vyukov wrote on Thu, Oct 11, 2018:
> > Now we are talking!
> > We generally assume that all modules are simply compiled into kernel.
> > At least that's we have on syzbot. If somebody can't compile them in,
> > we can suggest to add modprobe into init.
> > So this boils down to just writing to /sys/module/rdma_rxe/parameters/add.
>
> This fails for me:
>
> root@syzkaller:~# echo -n syz1 > /sys/module/rdma_rxe/parameters/add
> [20992.905406] rdma_rxe: interface syz1 not found
> bash: echo: write error: Invalid argument

Works here, I just did:

[root@f2 ~]# modprobe rdma_rxe
[root@f2 ~]# echo -n ens3 > /sys/module/rdma_rxe/parameters/add

dmesg says:
[ 35.595534] rdma_rxe: set rxe0 active
[ 35.595541] rdma_rxe: added rxe0 to ens3

Actually for a dummy interface if I try the echo directly the echo
works, and a verb device is created, and I just confirmed I can use
it... so not sure why rxe_cfg said EINVAL earlier...

[root@f2 ~]# ip link add dummy0 type dummy
[root@f2 ~]# ip link set dummy0 up
[root@f2 ~]# ip addr add 10.1.1.1/24 dev dummy0
[root@f2 ~]# modprobe rdma_rxe
[root@f2 ~]# echo -n dummy0 > /sys/module/rdma_rxe/parameters/add

(then using my test client:
[root@f2 src]# ./rcat -s
INFO: trans_rdma.c (879), msk_cma_event_handler: CONNECT_REQUEST
INFO: trans_rdma.c (862), msk_cma_event_handler: ESTABLISHED
INFO: trans_rdma.c (917), msk_cma_event_handler: DISCONNECT EVENT...

[root@f2 src]# ./rcat -c 10.1.1.1
INFO: trans_rdma.c (862), msk_cma_event_handler: ESTABLISHED
^C
)

I assume your syz1 interface is a tap device as you were saying earlier?
Got anything in dmesg?

--
Dominique