lkml.org 
[lkml]   [2020]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 122/128] sunrpc: svcauth_gss_register_pseudoflavor must reject duplicate registrations.
    Date
    From: NeilBrown <neilb@suse.de>

    commit d47a5dc2888fd1b94adf1553068b8dad76cec96c upstream.

    There is no valid case for supporting duplicate pseudoflavor
    registrations.
    Currently the silent acceptance of such registrations is hiding a bug.
    The rpcsec_gss_krb5 module registers 2 flavours but does not unregister
    them, so if you load, unload, reload the module, it will happily
    continue to use the old registration which now has pointers to the
    memory were the module was originally loaded. This could lead to
    unexpected results.

    So disallow duplicate registrations.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=206651
    Cc: stable@vger.kernel.org (v2.6.12+)
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    net/sunrpc/auth_gss/svcauth_gss.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    --- a/net/sunrpc/auth_gss/svcauth_gss.c
    +++ b/net/sunrpc/auth_gss/svcauth_gss.c
    @@ -796,9 +796,11 @@ svcauth_gss_register_pseudoflavor(u32 ps
    new->h.flavour = &svcauthops_gss;
    new->pseudoflavor = pseudoflavor;

    - stat = 0;
    test = auth_domain_lookup(name, &new->h);
    - if (test != &new->h) { /* Duplicate registration */
    + if (test != &new->h) {
    + pr_warn("svc: duplicate registration of gss pseudo flavour %s.\n",
    + name);
    + stat = -EADDRINUSE;
    auth_domain_put(test);
    kfree(new->h.name);
    goto out_free_dom;

    \
     
     \ /
      Last update: 2020-06-19 18:41    [W:4.035 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site