[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <mmmu2glg4cmopjfixz6e54fxnj5ylro7szyo3czn6dwqie2vdj@by2mk2ftgprp>
Date: Mon, 28 Oct 2024 15:46:25 +0100
From: Joel Granados <joel.granados@...nel.org>
To: Wen Yang <wen.yang@...ux.dev>
Cc: "Eric W . Biederman" <ebiederm@...ssion.com>,
Luis Chamberlain <mcgrof@...nel.org>, Kees Cook <keescook@...omium.org>,
Joel Granados <j.granados@...sung.com>, Christian Brauner <brauner@...nel.org>,
Thomas Weißschuh <thomas@...ch.de>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 0/5] sysctl: encode the min/max values directly in the
table entry
On Sat, Sep 21, 2024 at 05:28:59PM +0800, Wen Yang wrote:
Just FYI. I'm waiting on an answer from
https://lore.kernel.org/all/5yfnu64fqsuahcmifvqdaynvdesqvaehhikhjff46ndoaacxyd@jvjrd3ivdpyz/
as that one has to go in first. Right?
Best
> Many modules use these additional static/global variables (such as
> two_five_five, n_65535, ue_int_max, etc.) in the boundary checking of
> sysctl, and they are read-only and never changed.
>
> Eric points out: "by turning .extra1 and .extra2 into longs instead of
> keeping them as pointers and needing constants to be pointed at somewhere
> .. The only people I can see who find a significant benefit by
> consolidating all of the constants into one place are people who know how
> to stomp kernel memory."
>
> This patch series achieves direct encoding values in table entries and still
> maintains compatibility with existing extra1/extra2 pointers.
> Afterwards, we can remove these unnecessary static variables progressively and
> also gradually kill the shared const array.
>
> v3: https://lore.kernel.org/all/cover.1726365007.git.wen.yang@linux.dev/
> v2: https://lore.kernel.org/all/tencent_143077FB953D8B549153BB07F54C5AA4870A@qq.com/
> v1: https://lore.kernel.org/all/tencent_95D22FF919A42A99DA3C886B322CBD983905@qq.com/
>
> Wen Yang (5):
> sysctl: add helper functions to extract table->extra1/extra2
> sysctl: support encoding values directly in the table entry
> sysctl: add kunit test code to check the min/max encoding of sysctl
> table entries
> sysctl: delete mmap_rnd_bits_{min/max} and
> mmap_rnd_compat_bits_{min/max} to save 16 bytes
> sysctl: delete six_hundred_forty_kb to save 4 bytes
>
> fs/proc/proc_sysctl.c | 29 +-
> include/linux/mm.h | 4 -
> include/linux/sysctl.h | 64 ++++-
> kernel/sysctl-test.c | 581 +++++++++++++++++++++++++++++++++++++++++
> kernel/sysctl.c | 45 ++--
> mm/mmap.c | 4 -
> 6 files changed, 677 insertions(+), 50 deletions(-)
>
> --
> 2.25.1
>
--
Joel Granados
Powered by blists - more mailing lists