Message ID | 20210810023609.710993-1-lsahlber@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | cifs: use the correct max-length for dentry_path_raw() | expand |
tentatively merged into cifs-2.6.git for-next pending testing http://smb3-test-rhel-75.southcentralus.cloudapp.azure.com/#/builders/2/builds/765 On Mon, Aug 9, 2021 at 9:36 PM Ronnie Sahlberg <lsahlber@redhat.com> wrote: > > 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 <stable@vger.kernel.org> > Suggested-by: Brian foster <bfoster@redhat.com> > Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com> > --- > fs/cifs/dir.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c > index 79402ca0ddfa..5f8a302ffcb2 100644 > --- a/fs/cifs/dir.c > +++ b/fs/cifs/dir.c > @@ -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) > 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)) > return s; > if (!s[1]) // for root we want "", not "/" > -- > 2.30.2 >
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index 79402ca0ddfa..5f8a302ffcb2 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c @@ -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) 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)) return s; if (!s[1]) // for root we want "", not "/"
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 <stable@vger.kernel.org> Suggested-by: Brian foster <bfoster@redhat.com> Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com> --- fs/cifs/dir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)