Commit 1bd0a3ae authored by lijiazi's avatar lijiazi Committed by Miklos Szeredi

ovl: use pr_fmt auto generate prefix

Use pr_fmt auto generate "overlayfs: " prefix.
Signed-off-by: default avatarlijiazi <lijiazi@xiaomi.com>
Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
parent 4c37e71b
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
static int ovl_ccup_set(const char *buf, const struct kernel_param *param) static int ovl_ccup_set(const char *buf, const struct kernel_param *param)
{ {
pr_warn("overlayfs: \"check_copy_up\" module option is obsolete\n"); pr_warn("\"check_copy_up\" module option is obsolete\n");
return 0; return 0;
} }
......
...@@ -35,7 +35,7 @@ int ovl_cleanup(struct inode *wdir, struct dentry *wdentry) ...@@ -35,7 +35,7 @@ int ovl_cleanup(struct inode *wdir, struct dentry *wdentry)
dput(wdentry); dput(wdentry);
if (err) { if (err) {
pr_err("overlayfs: cleanup of '%pd2' failed (%i)\n", pr_err("cleanup of '%pd2' failed (%i)\n",
wdentry, err); wdentry, err);
} }
...@@ -53,7 +53,7 @@ static struct dentry *ovl_lookup_temp(struct dentry *workdir) ...@@ -53,7 +53,7 @@ static struct dentry *ovl_lookup_temp(struct dentry *workdir)
temp = lookup_one_len(name, workdir, strlen(name)); temp = lookup_one_len(name, workdir, strlen(name));
if (!IS_ERR(temp) && temp->d_inode) { if (!IS_ERR(temp) && temp->d_inode) {
pr_err("overlayfs: workdir/%s already exists\n", name); pr_err("workdir/%s already exists\n", name);
dput(temp); dput(temp);
temp = ERR_PTR(-EIO); temp = ERR_PTR(-EIO);
} }
...@@ -134,7 +134,7 @@ static int ovl_mkdir_real(struct inode *dir, struct dentry **newdentry, ...@@ -134,7 +134,7 @@ static int ovl_mkdir_real(struct inode *dir, struct dentry **newdentry,
d = lookup_one_len(dentry->d_name.name, dentry->d_parent, d = lookup_one_len(dentry->d_name.name, dentry->d_parent,
dentry->d_name.len); dentry->d_name.len);
if (IS_ERR(d)) { if (IS_ERR(d)) {
pr_warn("overlayfs: failed lookup after mkdir (%pd2, err=%i).\n", pr_warn("failed lookup after mkdir (%pd2, err=%i).\n",
dentry, err); dentry, err);
return PTR_ERR(d); return PTR_ERR(d);
} }
...@@ -267,7 +267,7 @@ static int ovl_instantiate(struct dentry *dentry, struct inode *inode, ...@@ -267,7 +267,7 @@ static int ovl_instantiate(struct dentry *dentry, struct inode *inode,
d_instantiate(dentry, inode); d_instantiate(dentry, inode);
if (inode != oip.newinode) { if (inode != oip.newinode) {
pr_warn_ratelimited("overlayfs: newly created inode found in cache (%pd2)\n", pr_warn_ratelimited("newly created inode found in cache (%pd2)\n",
dentry); dentry);
} }
...@@ -1009,7 +1009,7 @@ static int ovl_set_redirect(struct dentry *dentry, bool samedir) ...@@ -1009,7 +1009,7 @@ static int ovl_set_redirect(struct dentry *dentry, bool samedir)
spin_unlock(&dentry->d_lock); spin_unlock(&dentry->d_lock);
} else { } else {
kfree(redirect); kfree(redirect);
pr_warn_ratelimited("overlayfs: failed to set redirect (%i)\n", pr_warn_ratelimited("failed to set redirect (%i)\n",
err); err);
/* Fall back to userspace copy-up */ /* Fall back to userspace copy-up */
err = -EXDEV; err = -EXDEV;
......
...@@ -30,7 +30,7 @@ static int ovl_encode_maybe_copy_up(struct dentry *dentry) ...@@ -30,7 +30,7 @@ static int ovl_encode_maybe_copy_up(struct dentry *dentry)
} }
if (err) { if (err) {
pr_warn_ratelimited("overlayfs: failed to copy up on encode (%pd2, err=%i)\n", pr_warn_ratelimited("failed to copy up on encode (%pd2, err=%i)\n",
dentry, err); dentry, err);
} }
...@@ -244,7 +244,7 @@ static int ovl_dentry_to_fid(struct dentry *dentry, u32 *fid, int buflen) ...@@ -244,7 +244,7 @@ static int ovl_dentry_to_fid(struct dentry *dentry, u32 *fid, int buflen)
return err; return err;
fail: fail:
pr_warn_ratelimited("overlayfs: failed to encode file handle (%pd2, err=%i, buflen=%d, len=%d, type=%d)\n", pr_warn_ratelimited("failed to encode file handle (%pd2, err=%i, buflen=%d, len=%d, type=%d)\n",
dentry, err, buflen, fh ? (int)fh->fb.len : 0, dentry, err, buflen, fh ? (int)fh->fb.len : 0,
fh ? fh->fb.type : 0); fh ? fh->fb.type : 0);
goto out; goto out;
...@@ -406,7 +406,7 @@ static struct dentry *ovl_lookup_real_one(struct dentry *connected, ...@@ -406,7 +406,7 @@ static struct dentry *ovl_lookup_real_one(struct dentry *connected,
return this; return this;
fail: fail:
pr_warn_ratelimited("overlayfs: failed to lookup one by real (%pd2, layer=%d, connected=%pd2, err=%i)\n", pr_warn_ratelimited("failed to lookup one by real (%pd2, layer=%d, connected=%pd2, err=%i)\n",
real, layer->idx, connected, err); real, layer->idx, connected, err);
this = ERR_PTR(err); this = ERR_PTR(err);
goto out; goto out;
...@@ -631,7 +631,7 @@ static struct dentry *ovl_lookup_real(struct super_block *sb, ...@@ -631,7 +631,7 @@ static struct dentry *ovl_lookup_real(struct super_block *sb,
return connected; return connected;
fail: fail:
pr_warn_ratelimited("overlayfs: failed to lookup by real (%pd2, layer=%d, connected=%pd2, err=%i)\n", pr_warn_ratelimited("failed to lookup by real (%pd2, layer=%d, connected=%pd2, err=%i)\n",
real, layer->idx, connected, err); real, layer->idx, connected, err);
dput(connected); dput(connected);
return ERR_PTR(err); return ERR_PTR(err);
...@@ -822,7 +822,7 @@ static struct dentry *ovl_fh_to_dentry(struct super_block *sb, struct fid *fid, ...@@ -822,7 +822,7 @@ static struct dentry *ovl_fh_to_dentry(struct super_block *sb, struct fid *fid,
return dentry; return dentry;
out_err: out_err:
pr_warn_ratelimited("overlayfs: failed to decode file handle (len=%d, type=%d, flags=%x, err=%i)\n", pr_warn_ratelimited("failed to decode file handle (len=%d, type=%d, flags=%x, err=%i)\n",
fh_len, fh_type, flags, err); fh_len, fh_type, flags, err);
dentry = ERR_PTR(err); dentry = ERR_PTR(err);
goto out; goto out;
...@@ -831,7 +831,7 @@ static struct dentry *ovl_fh_to_dentry(struct super_block *sb, struct fid *fid, ...@@ -831,7 +831,7 @@ static struct dentry *ovl_fh_to_dentry(struct super_block *sb, struct fid *fid,
static struct dentry *ovl_fh_to_parent(struct super_block *sb, struct fid *fid, static struct dentry *ovl_fh_to_parent(struct super_block *sb, struct fid *fid,
int fh_len, int fh_type) int fh_len, int fh_type)
{ {
pr_warn_ratelimited("overlayfs: connectable file handles not supported; use 'no_subtree_check' exportfs option.\n"); pr_warn_ratelimited("connectable file handles not supported; use 'no_subtree_check' exportfs option.\n");
return ERR_PTR(-EACCES); return ERR_PTR(-EACCES);
} }
......
...@@ -100,7 +100,7 @@ static int ovl_map_dev_ino(struct dentry *dentry, struct kstat *stat, ...@@ -100,7 +100,7 @@ static int ovl_map_dev_ino(struct dentry *dentry, struct kstat *stat,
* persistent for a given layer configuration. * persistent for a given layer configuration.
*/ */
if (stat->ino >> shift) { if (stat->ino >> shift) {
pr_warn_ratelimited("overlayfs: inode number too big (%pd2, ino=%llu, xinobits=%d)\n", pr_warn_ratelimited("inode number too big (%pd2, ino=%llu, xinobits=%d)\n",
dentry, stat->ino, xinobits); dentry, stat->ino, xinobits);
} else { } else {
if (lower_layer) if (lower_layer)
...@@ -698,7 +698,7 @@ unsigned int ovl_get_nlink(struct dentry *lowerdentry, ...@@ -698,7 +698,7 @@ unsigned int ovl_get_nlink(struct dentry *lowerdentry,
return nlink; return nlink;
fail: fail:
pr_warn_ratelimited("overlayfs: failed to get index nlink (%pd2, err=%i)\n", pr_warn_ratelimited("failed to get index nlink (%pd2, err=%i)\n",
upperdentry, err); upperdentry, err);
return fallback; return fallback;
} }
...@@ -969,7 +969,7 @@ struct inode *ovl_get_inode(struct super_block *sb, ...@@ -969,7 +969,7 @@ struct inode *ovl_get_inode(struct super_block *sb,
return inode; return inode;
out_err: out_err:
pr_warn_ratelimited("overlayfs: failed to get inode (%i)\n", err); pr_warn_ratelimited("failed to get inode (%i)\n", err);
inode = ERR_PTR(err); inode = ERR_PTR(err);
goto out; goto out;
} }
...@@ -141,10 +141,10 @@ static struct ovl_fh *ovl_get_fh(struct dentry *dentry, const char *name) ...@@ -141,10 +141,10 @@ static struct ovl_fh *ovl_get_fh(struct dentry *dentry, const char *name)
return NULL; return NULL;
fail: fail:
pr_warn_ratelimited("overlayfs: failed to get origin (%i)\n", res); pr_warn_ratelimited("failed to get origin (%i)\n", res);
goto out; goto out;
invalid: invalid:
pr_warn_ratelimited("overlayfs: invalid origin (%*phN)\n", res, fh); pr_warn_ratelimited("invalid origin (%*phN)\n", res, fh);
goto out; goto out;
} }
...@@ -360,7 +360,7 @@ int ovl_check_origin_fh(struct ovl_fs *ofs, struct ovl_fh *fh, bool connected, ...@@ -360,7 +360,7 @@ int ovl_check_origin_fh(struct ovl_fs *ofs, struct ovl_fh *fh, bool connected,
return 0; return 0;
invalid: invalid:
pr_warn_ratelimited("overlayfs: invalid origin (%pd2, ftype=%x, origin ftype=%x).\n", pr_warn_ratelimited("invalid origin (%pd2, ftype=%x, origin ftype=%x).\n",
upperdentry, d_inode(upperdentry)->i_mode & S_IFMT, upperdentry, d_inode(upperdentry)->i_mode & S_IFMT,
d_inode(origin)->i_mode & S_IFMT); d_inode(origin)->i_mode & S_IFMT);
dput(origin); dput(origin);
...@@ -449,7 +449,7 @@ int ovl_verify_set_fh(struct dentry *dentry, const char *name, ...@@ -449,7 +449,7 @@ int ovl_verify_set_fh(struct dentry *dentry, const char *name,
fail: fail:
inode = d_inode(real); inode = d_inode(real);
pr_warn_ratelimited("overlayfs: failed to verify %s (%pd2, ino=%lu, err=%i)\n", pr_warn_ratelimited("failed to verify %s (%pd2, ino=%lu, err=%i)\n",
is_upper ? "upper" : "origin", real, is_upper ? "upper" : "origin", real,
inode ? inode->i_ino : 0, err); inode ? inode->i_ino : 0, err);
goto out; goto out;
...@@ -475,7 +475,7 @@ struct dentry *ovl_index_upper(struct ovl_fs *ofs, struct dentry *index) ...@@ -475,7 +475,7 @@ struct dentry *ovl_index_upper(struct ovl_fs *ofs, struct dentry *index)
return upper ?: ERR_PTR(-ESTALE); return upper ?: ERR_PTR(-ESTALE);
if (!d_is_dir(upper)) { if (!d_is_dir(upper)) {
pr_warn_ratelimited("overlayfs: invalid index upper (%pd2, upper=%pd2).\n", pr_warn_ratelimited("invalid index upper (%pd2, upper=%pd2).\n",
index, upper); index, upper);
dput(upper); dput(upper);
return ERR_PTR(-EIO); return ERR_PTR(-EIO);
...@@ -589,12 +589,12 @@ int ovl_verify_index(struct ovl_fs *ofs, struct dentry *index) ...@@ -589,12 +589,12 @@ int ovl_verify_index(struct ovl_fs *ofs, struct dentry *index)
return err; return err;
fail: fail:
pr_warn_ratelimited("overlayfs: failed to verify index (%pd2, ftype=%x, err=%i)\n", pr_warn_ratelimited("failed to verify index (%pd2, ftype=%x, err=%i)\n",
index, d_inode(index)->i_mode & S_IFMT, err); index, d_inode(index)->i_mode & S_IFMT, err);
goto out; goto out;
orphan: orphan:
pr_warn_ratelimited("overlayfs: orphan index entry (%pd2, ftype=%x, nlink=%u)\n", pr_warn_ratelimited("orphan index entry (%pd2, ftype=%x, nlink=%u)\n",
index, d_inode(index)->i_mode & S_IFMT, index, d_inode(index)->i_mode & S_IFMT,
d_inode(index)->i_nlink); d_inode(index)->i_nlink);
err = -ENOENT; err = -ENOENT;
...@@ -696,7 +696,7 @@ struct dentry *ovl_lookup_index(struct ovl_fs *ofs, struct dentry *upper, ...@@ -696,7 +696,7 @@ struct dentry *ovl_lookup_index(struct ovl_fs *ofs, struct dentry *upper,
index = NULL; index = NULL;
goto out; goto out;
} }
pr_warn_ratelimited("overlayfs: failed inode index lookup (ino=%lu, key=%.*s, err=%i);\n" pr_warn_ratelimited("failed inode index lookup (ino=%lu, key=%.*s, err=%i);\n"
"overlayfs: mount with '-o index=off' to disable inodes index.\n", "overlayfs: mount with '-o index=off' to disable inodes index.\n",
d_inode(origin)->i_ino, name.len, name.name, d_inode(origin)->i_ino, name.len, name.name,
err); err);
...@@ -723,13 +723,13 @@ struct dentry *ovl_lookup_index(struct ovl_fs *ofs, struct dentry *upper, ...@@ -723,13 +723,13 @@ struct dentry *ovl_lookup_index(struct ovl_fs *ofs, struct dentry *upper,
* unlinked, which means that finding a lower origin on lookup * unlinked, which means that finding a lower origin on lookup
* whose index is a whiteout should be treated as an error. * whose index is a whiteout should be treated as an error.
*/ */
pr_warn_ratelimited("overlayfs: bad index found (index=%pd2, ftype=%x, origin ftype=%x).\n", pr_warn_ratelimited("bad index found (index=%pd2, ftype=%x, origin ftype=%x).\n",
index, d_inode(index)->i_mode & S_IFMT, index, d_inode(index)->i_mode & S_IFMT,
d_inode(origin)->i_mode & S_IFMT); d_inode(origin)->i_mode & S_IFMT);
goto fail; goto fail;
} else if (is_dir && verify) { } else if (is_dir && verify) {
if (!upper) { if (!upper) {
pr_warn_ratelimited("overlayfs: suspected uncovered redirected dir found (origin=%pd2, index=%pd2).\n", pr_warn_ratelimited("suspected uncovered redirected dir found (origin=%pd2, index=%pd2).\n",
origin, index); origin, index);
goto fail; goto fail;
} }
...@@ -738,7 +738,7 @@ struct dentry *ovl_lookup_index(struct ovl_fs *ofs, struct dentry *upper, ...@@ -738,7 +738,7 @@ struct dentry *ovl_lookup_index(struct ovl_fs *ofs, struct dentry *upper,
err = ovl_verify_upper(index, upper, false); err = ovl_verify_upper(index, upper, false);
if (err) { if (err) {
if (err == -ESTALE) { if (err == -ESTALE) {
pr_warn_ratelimited("overlayfs: suspected multiply redirected dir found (upper=%pd2, origin=%pd2, index=%pd2).\n", pr_warn_ratelimited("suspected multiply redirected dir found (upper=%pd2, origin=%pd2, index=%pd2).\n",
upper, origin, index); upper, origin, index);
} }
goto fail; goto fail;
...@@ -967,7 +967,7 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry, ...@@ -967,7 +967,7 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
*/ */
err = -EPERM; err = -EPERM;
if (d.redirect && !ofs->config.redirect_follow) { if (d.redirect && !ofs->config.redirect_follow) {
pr_warn_ratelimited("overlayfs: refusing to follow redirect for (%pd2)\n", pr_warn_ratelimited("refusing to follow redirect for (%pd2)\n",
dentry); dentry);
goto out_put; goto out_put;
} }
...@@ -994,7 +994,7 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry, ...@@ -994,7 +994,7 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
err = -EPERM; err = -EPERM;
if (!ofs->config.metacopy) { if (!ofs->config.metacopy) {
pr_warn_ratelimited("overlay: refusing to follow metacopy origin for (%pd2)\n", pr_warn_ratelimited("refusing to follow metacopy origin for (%pd2)\n",
dentry); dentry);
goto out_put; goto out_put;
} }
......
...@@ -9,6 +9,9 @@ ...@@ -9,6 +9,9 @@
#include <linux/fs.h> #include <linux/fs.h>
#include "ovl_entry.h" #include "ovl_entry.h"
#undef pr_fmt
#define pr_fmt(fmt) "overlayfs: " fmt
enum ovl_path_type { enum ovl_path_type {
__OVL_PATH_UPPER = (1 << 0), __OVL_PATH_UPPER = (1 << 0),
__OVL_PATH_MERGE = (1 << 1), __OVL_PATH_MERGE = (1 << 1),
......
...@@ -441,7 +441,7 @@ static u64 ovl_remap_lower_ino(u64 ino, int xinobits, int fsid, ...@@ -441,7 +441,7 @@ static u64 ovl_remap_lower_ino(u64 ino, int xinobits, int fsid,
const char *name, int namelen) const char *name, int namelen)
{ {
if (ino >> (64 - xinobits)) { if (ino >> (64 - xinobits)) {
pr_warn_ratelimited("overlayfs: d_ino too big (%.*s, ino=%llu, xinobits=%d)\n", pr_warn_ratelimited("d_ino too big (%.*s, ino=%llu, xinobits=%d)\n",
namelen, name, ino, xinobits); namelen, name, ino, xinobits);
return ino; return ino;
} }
...@@ -524,7 +524,7 @@ static int ovl_cache_update_ino(struct path *path, struct ovl_cache_entry *p) ...@@ -524,7 +524,7 @@ static int ovl_cache_update_ino(struct path *path, struct ovl_cache_entry *p)
return err; return err;
fail: fail:
pr_warn_ratelimited("overlayfs: failed to look up (%s) for ino (%i)\n", pr_warn_ratelimited("failed to look up (%s) for ino (%i)\n",
p->name, err); p->name, err);
goto out; goto out;
} }
...@@ -971,7 +971,7 @@ void ovl_cleanup_whiteouts(struct dentry *upper, struct list_head *list) ...@@ -971,7 +971,7 @@ void ovl_cleanup_whiteouts(struct dentry *upper, struct list_head *list)
dentry = lookup_one_len(p->name, upper, p->len); dentry = lookup_one_len(p->name, upper, p->len);
if (IS_ERR(dentry)) { if (IS_ERR(dentry)) {
pr_err("overlayfs: lookup '%s/%.*s' failed (%i)\n", pr_err("lookup '%s/%.*s' failed (%i)\n",
upper->d_name.name, p->len, p->name, upper->d_name.name, p->len, p->name,
(int) PTR_ERR(dentry)); (int) PTR_ERR(dentry));
continue; continue;
...@@ -1153,6 +1153,6 @@ int ovl_indexdir_cleanup(struct ovl_fs *ofs) ...@@ -1153,6 +1153,6 @@ int ovl_indexdir_cleanup(struct ovl_fs *ofs)
out: out:
ovl_cache_free(&list); ovl_cache_free(&list);
if (err) if (err)
pr_err("overlayfs: failed index dir cleanup (%i)\n", err); pr_err("failed index dir cleanup (%i)\n", err);
return err; return err;
} }
This diff is collapsed.
...@@ -576,7 +576,7 @@ int ovl_check_setxattr(struct dentry *dentry, struct dentry *upperdentry, ...@@ -576,7 +576,7 @@ int ovl_check_setxattr(struct dentry *dentry, struct dentry *upperdentry,
err = ovl_do_setxattr(upperdentry, name, value, size, 0); err = ovl_do_setxattr(upperdentry, name, value, size, 0);
if (err == -EOPNOTSUPP) { if (err == -EOPNOTSUPP) {
pr_warn("overlayfs: cannot set %s xattr on upper\n", name); pr_warn("cannot set %s xattr on upper\n", name);
ofs->noxattr = true; ofs->noxattr = true;
return xerr; return xerr;
} }
...@@ -700,7 +700,7 @@ static void ovl_cleanup_index(struct dentry *dentry) ...@@ -700,7 +700,7 @@ static void ovl_cleanup_index(struct dentry *dentry)
inode = d_inode(upperdentry); inode = d_inode(upperdentry);
if (!S_ISDIR(inode->i_mode) && inode->i_nlink != 1) { if (!S_ISDIR(inode->i_mode) && inode->i_nlink != 1) {
pr_warn_ratelimited("overlayfs: cleanup linked index (%pd2, ino=%lu, nlink=%u)\n", pr_warn_ratelimited("cleanup linked index (%pd2, ino=%lu, nlink=%u)\n",
upperdentry, inode->i_ino, inode->i_nlink); upperdentry, inode->i_ino, inode->i_nlink);
/* /*
* We either have a bug with persistent union nlink or a lower * We either have a bug with persistent union nlink or a lower
...@@ -739,7 +739,7 @@ static void ovl_cleanup_index(struct dentry *dentry) ...@@ -739,7 +739,7 @@ static void ovl_cleanup_index(struct dentry *dentry)
return; return;
fail: fail:
pr_err("overlayfs: cleanup index of '%pd2' failed (%i)\n", dentry, err); pr_err("cleanup index of '%pd2' failed (%i)\n", dentry, err);
goto out; goto out;
} }
...@@ -830,7 +830,7 @@ int ovl_lock_rename_workdir(struct dentry *workdir, struct dentry *upperdir) ...@@ -830,7 +830,7 @@ int ovl_lock_rename_workdir(struct dentry *workdir, struct dentry *upperdir)
err_unlock: err_unlock:
unlock_rename(workdir, upperdir); unlock_rename(workdir, upperdir);
err: err:
pr_err("overlayfs: failed to lock workdir+upperdir\n"); pr_err("failed to lock workdir+upperdir\n");
return -EIO; return -EIO;
} }
...@@ -852,7 +852,7 @@ int ovl_check_metacopy_xattr(struct dentry *dentry) ...@@ -852,7 +852,7 @@ int ovl_check_metacopy_xattr(struct dentry *dentry)
return 1; return 1;
out: out:
pr_warn_ratelimited("overlayfs: failed to get metacopy (%i)\n", res); pr_warn_ratelimited("failed to get metacopy (%i)\n", res);
return res; return res;
} }
...@@ -899,7 +899,7 @@ ssize_t ovl_getxattr(struct dentry *dentry, char *name, char **value, ...@@ -899,7 +899,7 @@ ssize_t ovl_getxattr(struct dentry *dentry, char *name, char **value,
return res; return res;
fail: fail:
pr_warn_ratelimited("overlayfs: failed to get xattr %s: err=%zi)\n", pr_warn_ratelimited("failed to get xattr %s: err=%zi)\n",
name, res); name, res);
kfree(buf); kfree(buf);
return res; return res;
...@@ -931,7 +931,7 @@ char *ovl_get_redirect_xattr(struct dentry *dentry, int padding) ...@@ -931,7 +931,7 @@ char *ovl_get_redirect_xattr(struct dentry *dentry, int padding)
return buf; return buf;
invalid: invalid:
pr_warn_ratelimited("overlayfs: invalid redirect (%s)\n", buf); pr_warn_ratelimited("invalid redirect (%s)\n", buf);
res = -EINVAL; res = -EINVAL;
kfree(buf); kfree(buf);
return ERR_PTR(res); return ERR_PTR(res);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment