lkml.org 
[lkml]   [2022]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 188/475] TOMOYO: fix __setup handlers return values
    Date
    From: Randy Dunlap <rdunlap@infradead.org>

    [ Upstream commit 39844b7e3084baecef52d1498b5fa81afa2cefa9 ]

    __setup() handlers should return 1 if the parameter is handled.
    Returning 0 causes the entire string to be added to init's
    environment strings (limited to 32 strings), unnecessarily polluting it.

    Using the documented strings "TOMOYO_loader=string1" and
    "TOMOYO_trigger=string2" causes an Unknown parameter message:
    Unknown kernel command line parameters
    "BOOT_IMAGE=/boot/bzImage-517rc5 TOMOYO_loader=string1 \
    TOMOYO_trigger=string2", will be passed to user space.

    and these strings are added to init's environment string space:
    Run /sbin/init as init process
    with arguments:
    /sbin/init
    with environment:
    HOME=/
    TERM=linux
    BOOT_IMAGE=/boot/bzImage-517rc5
    TOMOYO_loader=string1
    TOMOYO_trigger=string2

    With this change, these __setup handlers act as expected,
    and init's environment is not polluted with these strings.

    Fixes: 0e4ae0e0dec63 ("TOMOYO: Make several options configurable.")
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Reported-by: Igor Zhbanov <i.zhbanov@omprussia.ru>
    Link: https://lore.kernel.org/r/64644a2f-4a20-bab3-1e15-3b2cdd0defe3@omprussia.ru
    Cc: James Morris <jmorris@namei.org>
    Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
    Cc: tomoyo-dev-en@lists.osdn.me
    Cc: "Serge E. Hallyn" <serge@hallyn.com>
    Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    security/tomoyo/load_policy.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/security/tomoyo/load_policy.c b/security/tomoyo/load_policy.c
    index 3445ae6fd479..363b65be87ab 100644
    --- a/security/tomoyo/load_policy.c
    +++ b/security/tomoyo/load_policy.c
    @@ -24,7 +24,7 @@ static const char *tomoyo_loader;
    static int __init tomoyo_loader_setup(char *str)
    {
    tomoyo_loader = str;
    - return 0;
    + return 1;
    }

    __setup("TOMOYO_loader=", tomoyo_loader_setup);
    @@ -64,7 +64,7 @@ static const char *tomoyo_trigger;
    static int __init tomoyo_trigger_setup(char *str)
    {
    tomoyo_trigger = str;
    - return 0;
    + return 1;
    }

    __setup("TOMOYO_trigger=", tomoyo_trigger_setup);
    --
    2.34.1


    \
     
     \ /
      Last update: 2022-04-14 16:35    [W:4.153 / U:0.752 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site