From: Joel Granados <j.granados@samsung.com>
To: "Thomas Weißschuh" <thomas@t-8ch.de>
Cc: Luis Chamberlain <mcgrof@kernel.org>,
<linux-kernel@vger.kernel.org>, Kees Cook <keescook@chromium.org>
Subject: Re: Current state of the sysctl constification effort
Date: Mon, 10 Jun 2024 10:10:36 +0200 [thread overview]
Message-ID: <20240610081036.bugf62o3y2wh2ugu@joelS2.panther.com> (raw)
In-Reply-To: <37d5fd30-9327-4b57-8e4d-22af929d3fc4@t-8ch.de>
On Fri, Jun 07, 2024 at 03:54:01PM +0200, Thomas Weißschuh wrote:
> On 2024-06-07 11:40:53+0000, Joel Granados wrote:
> > On Fri, May 31, 2024 at 12:50:32PM +0200, Thomas Weißschuh wrote:
...
> > Is there anything left to do besides
> > what is being discussed in this mail, to start changing the ctl_tables
> > to `static const`?
>
> The changes to the tables also need (as per [0] and [1]):
>
> * sysctl: move internal interfaces to const struct ctl_table
> * sysctl: allow registration of const struct ctl_table
>
> I think we do the handlers for v6.11, the rest of [0] and [1] for v6.12
> and then we can go through the rest of the trees ctl_tables.
LGTM. Once you send "sysctl: move internal interfaces to const struct ctl_table" and
"sysctl: allow registration of const struct ctl_table", I'll put them
into sysctl-testing and have them there until they can go into sysctl-next
(after the end of the next merge window). Please send both of them in one
series and remember to work on the "what" and the "why" for the commit
messages and cover letter.
You can be inspired by this
"""
# Motivation
The reason we are constifying is:
1. It provides increased safety: Having things in .rodata section reduces the
attack surface. This is especially relevant for structures that have function
pointers (like ctl_table); having these in .rodata means that these pointers
always point to the "intended" function and cannot be changed.
2. Readability: because it is easier to know up-front that data is not supposed
to change or its obvious that a function is re-entrant. Actually a lot of the
readability reasons is about knowing things "up-front".
As we move forward with the constification in sysctl, please include a more
detailed motivation in all your cover letters. This helps maintainers (that
don't have the context) understand what you are trying to do.
"""
Best
--
Joel Granados
next prev parent reply other threads:[~2024-06-10 8:10 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20240531105042eucas1p1bcf3ee22d224c8d88aca633e5f01e0d2@eucas1p1.samsung.com>
2024-05-31 10:50 ` Thomas Weißschuh
2024-05-31 16:31 ` Kees Cook
2024-06-03 7:22 ` Joel Granados
2024-06-05 8:26 ` Joel Granados
2024-06-06 18:52 ` Kees Cook
2024-06-07 9:30 ` Joel Granados
2024-06-07 13:48 ` Thomas Weißschuh
2024-06-10 8:52 ` Joel Granados
2024-06-03 7:21 ` Joel Granados
2024-06-07 9:40 ` Joel Granados
2024-06-07 13:54 ` Thomas Weißschuh
2024-06-10 8:10 ` Joel Granados [this message]
2024-06-15 20:18 ` Thomas Weißschuh
2024-06-19 9:25 ` Joel Granados
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=20240610081036.bugf62o3y2wh2ugu@joelS2.panther.com \
--to=j.granados@samsung.com \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mcgrof@kernel.org \
--cc=thomas@t-8ch.de \
/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
all inboxes | Powered by JetHome®