lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <B5B46BE2-C4D8-4AB8-BEBC-E0887C9B175D@fb.com>
Date: Thu, 17 Apr 2025 20:00:13 +0000
From: Song Liu <songliubraving@...a.com>
To: Willem de Bruijn <willemdebruijn.kernel@...il.com>
CC: Song Liu <songliubraving@...a.com>, Paolo Abeni <pabeni@...hat.com>,
        Breno
 Leitao <leitao@...ian.org>,
        Steven Rostedt <rostedt@...dmis.org>,
        Masami
 Hiramatsu <mhiramat@...nel.org>,
        Mathieu Desnoyers
	<mathieu.desnoyers@...icios.com>,
        "David S. Miller" <davem@...emloft.net>,
        David Ahern <dsahern@...nel.org>, Eric Dumazet <edumazet@...gle.com>,
        "kuba@...nel.org" <kuba@...nel.org>, Simon Horman <horms@...nel.org>,
        "kuniyu@...zon.com" <kuniyu@...zon.com>,
        "netdev@...r.kernel.org"
	<netdev@...r.kernel.org>,
        "linux-kernel@...r.kernel.org"
	<linux-kernel@...r.kernel.org>,
        "linux-trace-kernel@...r.kernel.org"
	<linux-trace-kernel@...r.kernel.org>,
        "yonghong.song@...ux.dev"
	<yonghong.song@...ux.dev>,
        "song@...nel.org" <song@...nel.org>,
        Kernel Team
	<kernel-team@...a.com>
Subject: Re: [PATCH net-next] udp: Add tracepoint for udp_sendmsg()



> On Apr 17, 2025, at 8:48 AM, Willem de Bruijn <willemdebruijn.kernel@...il.com> wrote:
> 
> Song Liu wrote:
>> Hi Paolo, 
>> 
>>> On Apr 17, 2025, at 6:17 AM, Paolo Abeni <pabeni@...hat.com> wrote:
>>> 
>>> On 4/17/25 1:34 PM, Breno Leitao wrote:
>>>> On Thu, Apr 17, 2025 at 08:57:24AM +0200, Paolo Abeni wrote:
>>>>> On 4/16/25 9:23 PM, Breno Leitao wrote:
>>>>>> Add a lightweight tracepoint to monitor UDP send message operations,
>>>>>> similar to the recently introduced tcp_sendmsg_locked() trace event in
>>>>>> commit 0f08335ade712 ("trace: tcp: Add tracepoint for
>>>>>> tcp_sendmsg_locked()")
>>>>> 
>>>>> Why is it needed? what would add on top of a plain perf probe, which
>>>>> will be always available for such function with such argument, as the
>>>>> function can't be inlined?
>>>> 
>>>> Why this function can't be inlined?
>>> 
>>> Because the kernel need to be able find a pointer to it:
>>> 
>>> .sendmsg = udp_sendmsg,
>>> 
>>> I'll be really curious to learn how the compiler could inline that.
>> 
>> It is true that functions that are only used via function pointers
>> will not be inlined by compilers (at least for those we have tested).
>> For this reason, we do not worry about functions in various
>> tcp_congestion_ops. However, udp_sendmsg is also called directly
>> by udpv6_sendmsg, so it can still get inlined by LTO. 
>> 
>> Thanks,
>> Song
>> 
> 
> I would think that hitting this tracepoint for ipv6_addr_v4mapped
> addresses is unintentional and surprising, as those would already
> hit udpv6_sendmsg.

It is up to the user to decide how these tracepoints should be 
used. For example, the user may only be interested in 
udpv6_sendmsg => udp_sendmsg case. Without a tracepoint, the user
has to understand whether the compiler inlined this function. 

> 
> On which note, any IPv4 change to UDP needs an equivalent IPv6 one.

Do you mean we need to also add tracepoints for udpv6_sendmsg?

Thanks,
Song


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ