Re: [PATCH ovpn net v5 3/6] ovpn: initialize TCP state before registering UAPI

Sabrina Dubroca <[email protected]>
Newsgroups gmane.network.openvpn.devel
Message-ID <akzdRR4C9dzJ05la@krikkit>
This fix looks good, just a few small comments:

2026-07-06, 13:34:01 +0200, Ralf Lici wrote:
> ovpn_tcp_init initializes the TCP proto and proto_ops templates used
> when a TCP socket is attached to an ovpn peer but ovpn_init registers
> the rtnl link ops and generic netlink family before initializing those
> templates. Once either interface is visible, userspace can create an

If only the rtnl part is registered, we can create a netdevice but not
attach a socket to it, so the ovpn_tcp_* ops should not be reachable.

> ovpn device and configure a TCP socket while the TCP templates are still
> zero-initialized.
> 
> Initialize the TCP templates before publishing the rtnl and netlink
> interfaces, so externally reachable setup paths can only observe
> initialized TCP state.
> 
> Fixes: 11851cbd60ea ("ovpn: implement TCP transport")
> Signed-off-by: Ralf Lici <[email protected]>
> ---
> New patch added in v5.
> 
>  drivers/net/ovpn/main.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/ovpn/main.c b/drivers/net/ovpn/main.c
> index 9993c1dfe471..c2c3af0c3c55 100644
> --- a/drivers/net/ovpn/main.c
> +++ b/drivers/net/ovpn/main.c
> @@ -233,8 +233,14 @@ static struct rtnl_link_ops ovpn_link_ops = {
>  
>  static int __init ovpn_init(void)
>  {
> -	int err = rtnl_link_register(&ovpn_link_ops);
> +	int err;
>  
> +	/* initialize the TCP protos before the module is exposed through rtnl
> +	 * or netlink
> +	 */

I don't think that comment adds much. The commit message explains why
this needs to be moved (and why this had to be moved, if someone
touches this later)

> +	ovpn_tcp_init();
> +
> +	err = rtnl_link_register(&ovpn_link_ops);

-- 
Sabrina
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.