From: Jakub Kicinski <kuba@kernel•org>
To: Jiri Pirko <jiri@resnulli•us>
Cc: netdev@vger•kernel.org, pabeni@redhat•com, davem@davemloft•net,
edumazet@google•com, jacob.e.keller@intel•com, jhs@mojatatu•com,
johannes@sipsolutions•net, andriy.shevchenko@linux•intel.com,
amritha.nambiar@intel•com, sdf@google•com, horms@kernel•org
Subject: Re: [patch net-next v3 5/9] genetlink: implement release callback and free sk_user_data there
Date: Thu, 23 Nov 2023 08:24:08 -0800 [thread overview]
Message-ID: <20231123082408.0c038f30@kernel.org> (raw)
In-Reply-To: <ZV8qJ1QX9vz3mfpT@nanopsycho>
On Thu, 23 Nov 2023 11:32:07 +0100 Jiri Pirko wrote:
> In this case, the socket is not opened by kernel, but it is opened by
> the userspace app.
>
> I basically need to have per-user-sk pointer somewhere I'm not clear why
> to put it in struct netlink_sock when I can use sk_user_data which is
> already there. From the usage of this pointer in kernel, I understand
> this is exactly the reason to have it.
Various people stuck various things in that pointer just because,
it's a mess. IIUC the initial motivation for it is that someone
like NFS opens a kernel socket and needs to put private data
somewhere. A kernel user gets a callback for a socket, like data
ready, and needs to find their private state.
> Are you afraid of a collision of sk_user_data use with somebody else
> here? I don't see how that could happen for netlink socket.
Normally upper layer wraps the socket struct in its own struct.
Look at the struct nesting for TCP or any other bona fide protocol.
genetlink will benefit from having socket state, I bet it wasn't done
that way from the start because Jamal/Thomas were told to start small.
Please add a properly typed field to the netlink struct, unless you
have technical reasons not to.
next prev parent reply other threads:[~2023-11-23 16:24 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-20 8:46 [patch net-next v3 0/9] devlink: introduce notifications filtering Jiri Pirko
2023-11-20 8:46 ` [patch net-next v3 1/9] devlink: use devl_is_registered() helper instead xa_get_mark() Jiri Pirko
2023-11-20 8:46 ` [patch net-next v3 2/9] devlink: introduce __devl_is_registered() helper and use it instead of xa_get_mark() Jiri Pirko
2023-11-20 8:46 ` [patch net-next v3 3/9] devlink: send notifications only if there are listeners Jiri Pirko
2023-11-20 8:46 ` [patch net-next v3 4/9] devlink: introduce a helper for netlink multicast send Jiri Pirko
2023-11-20 8:46 ` [patch net-next v3 5/9] genetlink: implement release callback and free sk_user_data there Jiri Pirko
2023-11-21 2:50 ` Jakub Kicinski
2023-11-21 7:36 ` Jiri Pirko
2023-11-21 13:12 ` Jiri Pirko
2023-11-21 17:55 ` Jakub Kicinski
2023-11-22 9:29 ` Jiri Pirko
2023-11-22 17:08 ` Jakub Kicinski
2023-11-22 18:20 ` Jiri Pirko
2023-11-22 19:50 ` Jakub Kicinski
2023-11-23 6:37 ` Jiri Pirko
2023-11-23 10:32 ` Jiri Pirko
2023-11-23 16:24 ` Jakub Kicinski [this message]
2023-11-23 16:53 ` Jiri Pirko
2023-11-20 8:46 ` [patch net-next v3 6/9] netlink: introduce typedef for filter function Jiri Pirko
2023-11-20 8:46 ` [patch net-next v3 7/9] genetlink: introduce helpers to do filtered multicast Jiri Pirko
2023-11-20 8:46 ` [patch net-next v3 8/9] devlink: add a command to set notification filter and use it for multicasts Jiri Pirko
2023-11-21 2:51 ` Jakub Kicinski
2023-11-21 7:35 ` Jiri Pirko
2023-11-20 8:46 ` [patch net-next v3 9/9] devlink: extend multicast filtering by port index Jiri Pirko
2023-11-21 2:29 ` [patch net-next v3 0/9] devlink: introduce notifications filtering Jakub Kicinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231123082408.0c038f30@kernel.org \
--to=kuba@kernel$(echo .)org \
--cc=amritha.nambiar@intel$(echo .)com \
--cc=andriy.shevchenko@linux$(echo .)intel.com \
--cc=davem@davemloft$(echo .)net \
--cc=edumazet@google$(echo .)com \
--cc=horms@kernel$(echo .)org \
--cc=jacob.e.keller@intel$(echo .)com \
--cc=jhs@mojatatu$(echo .)com \
--cc=jiri@resnulli$(echo .)us \
--cc=johannes@sipsolutions$(echo .)net \
--cc=netdev@vger$(echo .)kernel.org \
--cc=pabeni@redhat$(echo .)com \
--cc=sdf@google$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox