rust-for-linux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Willy Tarreau <w@1wt.eu>
To: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Cc: Hans Verkuil <hverkuil@xs4all.nl>,
	Daniel Almeida <daniel.almeida@collabora.com>,
	wedsonaf@gmail.com, ojeda@kernel.org, mchehab@kernel.org,
	rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-media@vger.kernel.org, kernel@collabora.com
Subject: Re: [PATCH 0/6] Initial Rust V4L2 support
Date: Tue, 11 Apr 2023 22:26:32 +0200	[thread overview]
Message-ID: <ZDXCeKkbPoZi5k6t@1wt.eu> (raw)
In-Reply-To: <CANiq72n=s23naD4-UkmuLesekDTf4b5bsmWc+fYANYPq+X1R9w@mail.gmail.com>

On Tue, Apr 11, 2023 at 09:27:35PM +0200, Miguel Ojeda wrote:
> On Tue, Apr 11, 2023 at 6:52 PM Willy Tarreau <w@1wt.eu> wrote:
> >
> > But if that code is only under a module, there's no need to turn all
> > that code off if it's sufficient to be certain the module was no loaded.
> > Plus it's more friendly to the user who doesn't have to rebuild a kernel,
> > just blacklist a module and check that the kernel doesn't get tainted
> > again.
> 
> That could apply to any foreign-to-us subsystems, including C code
> too. Should we taint per subsystem so that we can easily check for
> those that we may not trust?

I don't know, maybe that would be a bit too fine. But at least a tainted
flag is much less intrusive than forcing a user to rebuild and disable
possibly important features that they would only be willing to disable
for just a test.

> I see one could argue for an experimental taint or making it depend on
> something like `STAGING`, i.e. based on grounds of being new code.

It could also be an idea.

> But
> I don't see why that should be grounded on just being a different
> language or not being able to read the code.

Because being a different language means some maintainers will always
have a hard time understanding that code that interacts with their
subsystems, even if they try hard. It's exactly the same reason why
25 years ago Linus asked to stop abusing assembly code. If a language
is only understood by a subset of developers, by nature it becomes
more difficult to maintain in some areas.

> > It could depend on the layer where it plugs and the level of intimacy
> > with the core. Sometimes you need a deep understanding of all interactions
> > between elements to imagine possible scenarios.
> 
> Please note that the policy for submitting new Rust code is that the
> respective kernel maintainers and their lists are contacted. We also
> request that maintainers take the code through their tree if they can,
> rather than going through the Rust tree, precisely so that maintainers
> are aware of these potential interactions. See
> https://rust-for-linux.com/contributing#the-rust-subsystem for
> details.

Sure, but as you said, "if they can". I thought that it could be both
elegant, lightweight and convenient. But I'm not trying to sell this
idea, just sharing it.

Cheers,
Willy

  reply	other threads:[~2023-04-11 20:27 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-06 21:56 [PATCH 0/6] Initial Rust V4L2 support Daniel Almeida
2023-04-06 21:56 ` [PATCH 1/6] rust: media: add the media module Daniel Almeida
2023-04-06 21:56 ` [PATCH 2/6] rust: media: add initial videodev2.h abstractions Daniel Almeida
2023-04-06 21:56 ` [PATCH 3/6] rust: sync: introduce FfiMutex Daniel Almeida
2023-04-06 21:56 ` [PATCH 4/6] rust: media: videobuf2: add a videobuf2 abstraction Daniel Almeida
2023-04-06 21:56 ` [PATCH 5/6] rust: media: add {video|v4l2}_device_register support Daniel Almeida
2023-04-06 21:56 ` [PATCH 6/6] rust: media: add v4l2 rust sample Daniel Almeida
2023-04-08 19:06 ` [PATCH 0/6] Initial Rust V4L2 support Daniel Almeida
2023-04-08 19:43 ` Hans Petter Selasky
2023-04-09 14:10   ` Daniel Almeida
2023-04-10 18:59     ` Hans Petter Selasky
2023-04-10 23:41       ` Miguel Ojeda
2023-04-11  9:52         ` Hans Petter Selasky
2023-04-11 12:36           ` Miguel Ojeda
2023-04-11 13:15             ` Hans Petter Selasky
2023-04-11 14:19               ` Miguel Ojeda
2023-04-11 15:33                 ` Hans Petter Selasky
2023-04-11 19:22                   ` Miguel Ojeda
2023-04-12 10:00                     ` Hans Petter Selasky
2023-04-12 10:13                       ` Greg KH
2023-04-12 10:23                         ` Hans Petter Selasky
2023-04-10 23:40     ` Miguel Ojeda
2023-04-26 14:31   ` Enrico Weigelt, metux IT consult
2023-04-10 22:46 ` Deborah Brouwer
2023-04-11 14:22   ` Miguel Ojeda
2023-04-12  2:58     ` Theodore Ts'o
2023-04-12 12:21       ` Miguel Ojeda
2023-04-12 12:38       ` Morten Linderud
2023-04-12 18:44       ` Nicolas Dufresne
     [not found]       ` <aae753d6-6874-4f91-e7ba-bd6c77f07b62@metux.net>
2023-04-26 15:33         ` Miguel Ojeda
2023-04-11  7:51 ` Hans Verkuil
2023-04-11 12:02   ` Miguel Ojeda
2023-04-11 12:49     ` Willy Tarreau
2023-04-11 14:01       ` Daniel Almeida
2023-04-11 14:13       ` Miguel Ojeda
2023-04-11 16:52         ` Willy Tarreau
2023-04-11 19:27           ` Miguel Ojeda
2023-04-11 20:26             ` Willy Tarreau [this message]
2023-04-11 22:14               ` Miguel Ojeda
     [not found]                 ` <0da49a77-14d8-cb9d-e36d-985699746b6b@metux.net>
2023-04-26 16:05                   ` Miguel Ojeda
2023-04-26  0:32     ` Laurent Pinchart
     [not found]       ` <57ec90ad-8535-fa7d-d6de-d5c1d06f37d3@metux.net>
2023-04-26 13:29         ` Laurent Pinchart
2023-04-26 16:18       ` Miguel Ojeda
2023-04-26 16:35         ` Laurent Pinchart
2023-04-26 17:14           ` Daniel Almeida
2023-04-26 17:25             ` Laurent Pinchart
2023-05-01 20:10               ` Nicolas Dufresne
2023-05-01 20:17                 ` Asahi Lina
2023-05-01 20:19                   ` Nicolas Dufresne
2023-05-02 19:13                   ` Miguel Ojeda
2023-05-03 11:00                     ` Daniel Almeida
2023-04-26 19:58           ` Sakari Ailus
2023-07-05  6:40 ` Hans Verkuil

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=ZDXCeKkbPoZi5k6t@1wt.eu \
    --to=w@1wt.eu \
    --cc=daniel.almeida@collabora.com \
    --cc=hverkuil@xs4all.nl \
    --cc=kernel@collabora.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=miguel.ojeda.sandonis@gmail.com \
    --cc=ojeda@kernel.org \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=wedsonaf@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
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;
as well as URLs for NNTP newsgroup(s).