[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANBPYPj4VCYuhOTxPSHBGNtpRyG5wRzuMxRB49eSDXXjrxb7TA@mail.gmail.com>
Date: Sun, 3 Nov 2024 22:25:44 -0800
From: Li Li <dualli@...omium.org>
To: Jakub Kicinski <kuba@...nel.org>
Cc: dualli@...gle.com, corbet@....net, davem@...emloft.net,
edumazet@...gle.com, pabeni@...hat.com, donald.hunter@...il.com,
gregkh@...uxfoundation.org, arve@...roid.com, tkjos@...roid.com,
maco@...roid.com, joel@...lfernandes.org, brauner@...nel.org,
cmllamas@...gle.com, surenb@...gle.com, arnd@...db.de, masahiroy@...nel.org,
bagasdotme@...il.com, horms@...nel.org, linux-kernel@...r.kernel.org,
linux-doc@...r.kernel.org, netdev@...r.kernel.org, hridya@...gle.com,
smoreland@...gle.com, kernel-team@...roid.com
Subject: Re: [PATCH net-next v7 2/2] binder: report txn errors via generic netlink
> > +/**
> > + * binder_genl_init() - initialize binder generic netlink
> > + * @family: the generic netlink family
> > + * @name: the binder device name
> > + *
> > + * Registers the binder generic netlink family.
> > + */
> > +int binder_genl_init(struct genl_family *family, const char *name)
> > +{
> > + int ret;
> > +
> > + memcpy(family, &binder_genl_nl_family, sizeof(*family));
> > + strscpy(family->name, name, GENL_NAMSIZ);
>
> You're trying to register multiple families with different names?
> The family defines the language / protocol. If you have multiple
> entities to multiplex you should do that based on attributes inside
> the messages.
>
My initial plan was to use a single "binder" family, which was more
straightforward and cleaner. As Android uses multiple binder contexts
to isolate system framework and vendor domains[1], Grek KH suggested
the netlink messages from different binder contexts should also be
isolated for security reason[2]. Personally I'm fine with either
approach. Please kindly advice which implementation is better.
And I'll fix other issues you mentioned above.
[1]
https://source.android.com/docs/core/architecture/hidl/binder-ipc
[2]
https://lore.kernel.org/lkml/2024081350-establish-direness-38ee@gregkh/
> > + ret = genl_register_family(family);
> > + if (ret) {
> > + pr_err("Failed to register binder genl: %s\n", name);
> > + return ret;
> > + }
> > +
> > + return 0;
> > +}
>
Powered by blists - more mailing lists