Re: [PATCH] hugetlbfs: initialize shared policy as part of inode allocation

From: Tetsuo Handa
Date: Fri Mar 24 2017 - 20:54:33 EST


Mike Kravetz wrote:
> Any time after inode allocation, destroy_inode can be called. The
> hugetlbfs inode contains a shared_policy structure, and
> mpol_free_shared_policy is unconditionally called as part of
> hugetlbfs_destroy_inode. Initialize the policy as part of inode
> allocation so that any quick (error path) calls to destroy_inode
> will be handed an initialized policy.

I think you can as well do

- struct hugetlbfs_inode_info *info;
- info = HUGETLBFS_I(inode);
- mpol_shared_policy_init(&info->policy, NULL);

in hugetlbfs_get_root().