On Tue, Aug 01, 2023 at 03:41:36PM +0100, Luís Henriques wrote: > If casefolding the filename fails, we'll be leaking fscrypt_buf name. > Make sure we free it in the error path. > > Signed-off-by: Luís Henriques <lhenriques@xxxxxxx> > --- > fs/ext4/crypto.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/fs/ext4/crypto.c b/fs/ext4/crypto.c > index e20ac0654b3f..9e4503b051c4 100644 > --- a/fs/ext4/crypto.c > +++ b/fs/ext4/crypto.c > @@ -33,6 +33,8 @@ int ext4_fname_setup_filename(struct inode *dir, const struct qstr *iname, > > #if IS_ENABLED(CONFIG_UNICODE) > err = ext4_fname_setup_ci_filename(dir, iname, fname); > + if (err) > + fscrypt_free_filename(&name); > #endif > return err; > } Doesn't ext4_fname_prepare_lookup() have the same bug? Also, please include a Fixes tag. - Eric