mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 20:54:10 +08:00
cifs: use the correct max-length for dentry_path_raw()
RHBZ: 1972502 PATH_MAX is 4096 but PAGE_SIZE can be >4096 on some architectures such as ppc and would thus write beyond the end of the actual object. Cc: <stable@vger.kernel.org> Reported-by: Xiaoli Feng <xifeng@redhat.com> Suggested-by: Brian foster <bfoster@redhat.com> Reviewed-by: Paulo Alcantara (SUSE) <pc@cjr.nz> Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
7d3fc01796
commit
981567bd96
@ -100,7 +100,7 @@ build_path_from_dentry_optional_prefix(struct dentry *direntry, void *page,
|
|||||||
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_USE_PREFIX_PATH)
|
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_USE_PREFIX_PATH)
|
||||||
pplen = cifs_sb->prepath ? strlen(cifs_sb->prepath) + 1 : 0;
|
pplen = cifs_sb->prepath ? strlen(cifs_sb->prepath) + 1 : 0;
|
||||||
|
|
||||||
s = dentry_path_raw(direntry, page, PAGE_SIZE);
|
s = dentry_path_raw(direntry, page, PATH_MAX);
|
||||||
if (IS_ERR(s))
|
if (IS_ERR(s))
|
||||||
return s;
|
return s;
|
||||||
if (!s[1]) // for root we want "", not "/"
|
if (!s[1]) // for root we want "", not "/"
|
||||||
|
Loading…
Reference in New Issue
Block a user