lkml.org 
[lkml]   [2020]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 270/717] net: sunrpc: Fix snprintf return value check in do_xprt_debugfs
    Date
    From: Fedor Tokarev <ftokarev@gmail.com>

    [ Upstream commit 35a6d396721e28ba161595b0fc9e8896c00399bb ]

    'snprintf' returns the number of characters which would have been written
    if enough space had been available, excluding the terminating null byte.
    Thus, the return value of 'sizeof(buf)' means that the last character
    has been dropped.

    Signed-off-by: Fedor Tokarev <ftokarev@gmail.com>
    Fixes: 2f34b8bfae19 ("SUNRPC: add links for all client xprts to debugfs")
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    net/sunrpc/debugfs.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/net/sunrpc/debugfs.c b/net/sunrpc/debugfs.c
    index fd9bca2427242..56029e3af6ff0 100644
    --- a/net/sunrpc/debugfs.c
    +++ b/net/sunrpc/debugfs.c
    @@ -128,13 +128,13 @@ static int do_xprt_debugfs(struct rpc_clnt *clnt, struct rpc_xprt *xprt, void *n
    return 0;
    len = snprintf(name, sizeof(name), "../../rpc_xprt/%s",
    xprt->debugfs->d_name.name);
    - if (len > sizeof(name))
    + if (len >= sizeof(name))
    return -1;
    if (*nump == 0)
    strcpy(link, "xprt");
    else {
    len = snprintf(link, sizeof(link), "xprt%d", *nump);
    - if (len > sizeof(link))
    + if (len >= sizeof(link))
    return -1;
    }
    debugfs_create_symlink(link, clnt->cl_debugfs, name);
    --
    2.27.0


    \
     
     \ /
      Last update: 2020-12-28 16:04    [W:3.490 / U:0.264 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site