On Thu, Sep 12, 2019 at 8:02 AM Amir Goldstein <amir73il@xxxxxxxxx> wrote: > > On Thu, Sep 12, 2019 at 8:24 AM Ding Xiang > <dingxiang@xxxxxxxxxxxxxxxxxxxx> wrote: > > > > if ovl_encode_real_fh() fails, no memory was allocated > > and the error in the error-valued pointer should be returned. > > > > V1->V2: fix SHA1 length problem > > > > Fixes: 9b6faee07470 ("ovl: check ERR_PTR() return value from ovl_encode_fh()") > > Signed-off-by: Ding Xiang <dingxiang@xxxxxxxxxxxxxxxxxxxx> > > --- > > fs/overlayfs/export.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/fs/overlayfs/export.c b/fs/overlayfs/export.c > > index cb8ec1f..50ade19 100644 > > --- a/fs/overlayfs/export.c > > +++ b/fs/overlayfs/export.c > > @@ -229,7 +229,7 @@ static int ovl_d_to_fh(struct dentry *dentry, char *buf, int buflen) > > ovl_dentry_upper(dentry), !enc_lower); > > err = PTR_ERR(fh); > > if (IS_ERR(fh)) > > - goto fail; > > + return err; > > > > Please fix the code in warning message instead of skipping the warning. Not sure that makes sense. ovl_encode_real_fh() will either return -EIO in case of an internal error with WARN_ON() or it will return -ENOMEM on memory allocation failure, which doesn't warrant a debug message. Thanks, Miklos