SUNRPC: Fix sockaddr handling in svcsock_accept_class trace points
[ Upstream commit 16720861675393a35974532b3c837d9fd7bfe08c ] Avoid potentially hazardous memory copying and the needless use of "%pIS" -- in the kernel, an RPC service listener is always bound to ANYADDR. Having the network namespace is helpful when recording errors, though. Fixes: a0469f46faab ("SUNRPC: Replace dprintk call sites in TCP state change callouts") Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
bdaa8c7b71
commit
e209742c13
@ -2112,17 +2112,17 @@ DECLARE_EVENT_CLASS(svcsock_accept_class,
|
||||
TP_STRUCT__entry(
|
||||
__field(long, status)
|
||||
__string(service, service)
|
||||
__array(unsigned char, addr, sizeof(struct sockaddr_in6))
|
||||
__field(unsigned int, netns_ino)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->status = status;
|
||||
__assign_str(service, service);
|
||||
memcpy(__entry->addr, &xprt->xpt_local, sizeof(__entry->addr));
|
||||
__entry->netns_ino = xprt->xpt_net->ns.inum;
|
||||
),
|
||||
|
||||
TP_printk("listener=%pISpc service=%s status=%ld",
|
||||
__entry->addr, __get_str(service), __entry->status
|
||||
TP_printk("addr=listener service=%s status=%ld",
|
||||
__get_str(service), __entry->status
|
||||
)
|
||||
);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user