This is a latent bug. xdr_stream_pos works by subtracting
xdr_stream::nwords from xdr_buf::len. But xdr_stream::nwords is not
initialized by xdr_init_encode().
It works today only because all fields in rpcrdma_req::rl_stream
are initialized to zero by rpcrdma_req_create, making the
subtraction in xdr_stream_pos always a no-op.
I found this issue via code inspection. It was introduced by commit
|
||
---|---|---|
.. | ||
events | ||
bpf_probe.h | ||
define_trace.h | ||
perf.h | ||
syscall.h | ||
trace_events.h |