[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZVys11ToRj+oo75s@nanopsycho>
Date: Tue, 21 Nov 2023 14:12:55 +0100
From: Jiri Pirko <jiri@...nulli.us>
To: Jakub Kicinski <kuba@...nel.org>
Cc: netdev@...r.kernel.org, pabeni@...hat.com, davem@...emloft.net,
edumazet@...gle.com, jacob.e.keller@...el.com, jhs@...atatu.com,
johannes@...solutions.net, andriy.shevchenko@...ux.intel.com,
amritha.nambiar@...el.com, sdf@...gle.com, horms@...nel.org
Subject: Re: [patch net-next v3 5/9] genetlink: implement release callback
and free sk_user_data there
Tue, Nov 21, 2023 at 03:50:22AM CET, kuba@...nel.org wrote:
>On Mon, 20 Nov 2023 09:46:53 +0100 Jiri Pirko wrote:
>> If any generic netlink family would like to allocate data store the
>> pointer to sk_user_data, there is no way to do cleanup in the family
>> code.
>
>How is this supposed to work?
>
>genetlink sockets are not bound to a family. User can use a single
>socket to subscribe to notifications from all families and presumably
>each one of the would interpret sk->sk_user_data as their own state?
>
>You need to store the state locally in the family, keyed
>on pid, and free it using the NETLINK_URELEASE notifier...
Well, pin can have 2 sockets of different config. I think that sk/family
tuple is needed. I'm exploring a possibility to have genetlink
sk->sk_user_data used to store the hashlist keyed by the sk/family tuple.
Powered by blists - more mailing lists