@@ -198,23 +198,24 @@ void trace_mmap_lock_unreg(void)
*/
static const char *get_mm_memcg_path(struct mm_struct *mm)
{
- char *buf = NULL;
+ char *buf;
struct mem_cgroup *memcg = get_mem_cgroup_from_mm(mm);
if (memcg == NULL)
- goto out;
- if (unlikely(memcg->css.cgroup == NULL))
- goto out_put;
+ return NULL;
+ if (unlikely(memcg->css.cgroup == NULL)) {
+ css_put(&memcg->css);
+ return NULL;
+ }
buf = get_memcg_path_buf();
- if (buf == NULL)
- goto out_put;
+ if (buf == NULL) {
+ css_put(&memcg->css);
+ return NULL;
+ }
cgroup_path(memcg->css.cgroup, buf, MEMCG_PATH_BUF_SIZE);
-out_put:
- css_put(&memcg->css);
-out:
return buf;
}
Pointer variables allocate memory first, and then judge. There is no need to initialize the assignment. Signed-off-by: XU pengfei <xupengfei@nfschina.com> Reported-by: kernel test robot <lkp@intel.com> --- V2: Remove goto statement mm/mmap_lock.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-)