lprof->lp_profile = kzalloc(proflen, GFP_NOFS);
if (lprof->lp_profile == NULL) {
err = -ENOMEM;
- goto out;
+ goto free_lprof;
}
memcpy(lprof->lp_profile, prof, proflen);
lprof->lp_dt = kzalloc(osclen, GFP_NOFS);
if (lprof->lp_dt == NULL) {
err = -ENOMEM;
- goto out;
+ goto free_lp_profile;
}
memcpy(lprof->lp_dt, osc, osclen);
lprof->lp_md = kzalloc(mdclen, GFP_NOFS);
if (lprof->lp_md == NULL) {
err = -ENOMEM;
- goto out;
+ goto free_lp_dt;
}
memcpy(lprof->lp_md, mdc, mdclen);
}
list_add(&lprof->lp_list, &lustre_profile_list);
return err;
-out:
- if (lprof->lp_md)
- kfree(lprof->lp_md);
- if (lprof->lp_dt)
- kfree(lprof->lp_dt);
- if (lprof->lp_profile)
- kfree(lprof->lp_profile);
+free_lp_dt:
+ kfree(lprof->lp_dt);
+free_lp_profile:
+ kfree(lprof->lp_profile);
+free_lprof:
kfree(lprof);
return err;
}
list_del(&lprof->lp_list);
kfree(lprof->lp_profile);
kfree(lprof->lp_dt);
- if (lprof->lp_md)
- kfree(lprof->lp_md);
+ kfree(lprof->lp_md);
kfree(lprof);
}
}
list_del(&lprof->lp_list);
kfree(lprof->lp_profile);
kfree(lprof->lp_dt);
- if (lprof->lp_md)
- kfree(lprof->lp_md);
+ kfree(lprof->lp_md);
kfree(lprof);
}
}