Messages in this thread | | | Subject | Re: [PATCH] ceph: fix memory leak in mount error path when using test_dummy_encryption | From | Xiubo Li <> | Date | Mon, 7 Nov 2022 15:47:23 +0800 |
| |
On 03/11/2022 23:36, Luís Henriques wrote: > Because ceph_init_fs_context() will never be invoced in case we get a > mount error, destroy_mount_options() won't be releasing fscrypt resources > with fscrypt_free_dummy_policy(). This will result in a memory leak. Add > an invocation to this function in the mount error path. > > Signed-off-by: Luís Henriques <lhenriques@suse.de> > --- > fs/ceph/super.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/fs/ceph/super.c b/fs/ceph/super.c > index 2224d44d21c0..6b9fd04b25cd 100644 > --- a/fs/ceph/super.c > +++ b/fs/ceph/super.c > @@ -1362,6 +1362,7 @@ static int ceph_get_tree(struct fs_context *fc) > > ceph_mdsc_close_sessions(fsc->mdsc); > deactivate_locked_super(sb); > + fscrypt_free_dummy_policy(&fsc->fsc_dummy_enc_policy);
Hi Luis,
BTW, any reason the following code won't be triggered ?
deactivate_locked_super(sb);
--> fs->kill_sb(s);
--> ceph_kill_sb()
--> kill_anon_super()
--> generic_shutdown_super()
--> sop->put_super()
--> ceph_put_super()
--> ceph_fscrypt_free_dummy_policy()
--> fscrypt_free_dummy_policy(
Thanks!
- Xiubo
> goto out_final; > > out: >
| |