lkml.org 
[lkml]   [2018]   [May]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH] xfs: mark sb_fname as nonstring
    On Fri, May 25, 2018 at 6:52 PM, Christoph Hellwig <hch@infradead.org> wrote:
    >> diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c
    >> index 84fbf164cbc3..eb79f2bc4dcc 100644
    >> --- a/fs/xfs/xfs_ioctl.c
    >> +++ b/fs/xfs/xfs_ioctl.c
    >> @@ -1819,12 +1819,12 @@ xfs_ioc_getlabel(
    >> BUILD_BUG_ON(sizeof(sbp->sb_fname) > FSLABEL_MAX);
    >>
    >> spin_lock(&mp->m_sb_lock);
    >> - strncpy(label, sbp->sb_fname, sizeof(sbp->sb_fname));
    >> + strncpy(label, sbp->sb_fname, XFSLABEL_MAX);
    >> spin_unlock(&mp->m_sb_lock);
    >
    > Hmm, shouldn't we just do a memcpy here?

    I thought about that as well, but decided that strncpy()'s zero-padding
    is better here than padding with potentially random contents of the user
    space stack.

    > Also given that the kernel never even looks at sb_fname maybe
    > we can turn into an array of unsigned chars to escape those string
    > warnings?

    I don't think that makes a difference to gcc.

    Arnd

    \
     
     \ /
      Last update: 2018-05-25 22:19    [W:3.012 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site