4.18-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Miklos Szeredi <[email protected]>

commit 1a8f8d2a443ef9ad9a3065ba8c8119df714240fa upstream.

Format has a typo: it was meant to be "%.*s", not "%*s".  But at some point
callers grew nonprintable values as well, so use "%*pE" instead with a
maximized length.

Reported-by: Amir Goldstein <[email protected]>
Signed-off-by: Miklos Szeredi <[email protected]>
Fixes: 3a1e819b4e80 ("ovl: store file handle of lower inode on copy up")
Cc: <[email protected]> # v4.12
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 fs/overlayfs/overlayfs.h |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/fs/overlayfs/overlayfs.h
+++ b/fs/overlayfs/overlayfs.h
@@ -147,8 +147,8 @@ static inline int ovl_do_setxattr(struct
                                  const void *value, size_t size, int flags)
 {
        int err = vfs_setxattr(dentry, name, value, size, flags);
-       pr_debug("setxattr(%pd2, \"%s\", \"%*s\", 0x%x) = %i\n",
-                dentry, name, (int) size, (char *) value, flags, err);
+       pr_debug("setxattr(%pd2, \"%s\", \"%*pE\", %zu, 0x%x) = %i\n",
+                dentry, name, min((int)size, 48), value, size, flags, err);
        return err;
 }
 


Reply via email to