lkml.org 
[lkml]   [2023]   [Jan]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH/RFC] module: replace module_layout with module_memory
    + Christoph

    Hi folks,

    Could you please share your comments on this work? If there isn't
    major issue with it, maybe we can ship it in 6.3? (so we don't pile
    too many changes in one big set).

    Thanks,
    Song

    On Fri, Jan 6, 2023 at 2:10 PM Song Liu <song@kernel.org> wrote:
    >
    > module_layout manages different types of memory (text, data, rodata, etc.)
    > in one allocation, which is problematic for some reasons:
    >
    > 1. It is hard to enable CONFIG_STRICT_MODULE_RWX.
    > 2. It is hard to use huge pages in modules (and not break strict rwx).
    > 3. Many archs uses module_layout for arch-specific data, but it is not
    > obvious how these data are used (are they RO, RX, or RW?)
    >
    > Improve the scenario by replacing 2 (or 3) module_layout per module with
    > up to 7 module_memory per module:
    >
    > MOD_MEM_TYPE_TEXT,
    > MOD_MEM_TYPE_DATA,
    > MOD_MEM_TYPE_RODATA,
    > MOD_MEM_TYPE_RO_AFTER_INIT,
    > MOD_MEM_TYPE_INIT_TEXT,
    > MOD_MEM_TYPE_INIT_DATA,
    > MOD_MEM_TYPE_INIT_RODATA,
    >
    > and allocating them separately.
    >
    > Various archs use module_layout for different data. These data are put
    > into different module_memory based on their location in module_layout.
    > IOW, data that used to go with text is allocated with MOD_MEM_TYPE_TEXT;
    > data that used to go with data is allocated with MOD_MEM_TYPE_DATA, etc.
    >
    > Signed-off-by: Song Liu <song@kernel.org>
    > Cc: Luis Chamberlain <mcgrof@kernel.org>
    > Cc: Thomas Gleixner <tglx@linutronix.de>
    > Cc: Peter Zijlstra <peterz@infradead.org>

    [...]

    \
     
     \ /
      Last update: 2023-03-26 23:35    [W:7.678 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site