Reviewed by: George Wilson <[email protected]>
Reviewed by: Pavel Zakharov <[email protected]>
In usr/src/uts/common/disp/cpupart.c, cpupart_create() allocates a buffer and
assigns it to the
cp_lgrploads member of a cpupart_t struct:
pp->cp_nlgrploads = lgrp_plat_max_lgrps();
pp->cp_lgrploads = kmem_zalloc(sizeof (lpl_t) * pp->cp_nlgrploads,
KM_SLEEP);
The function then goes on to call cpupart_lpl_initialize(), which allocates an
identical buffer and
assigns it to the same field, leaking the original buffer:
sz = cp->cp_nlgrploads = lgrp_plat_max_lgrps();
cp->cp_lgrploads = kmem_zalloc(sizeof (lpl_t) * sz, KM_SLEEP);
We should be able to just remove the initial allocation.
Upstream bug: DLPX-56280
You can view, comment on, or merge this pull request online at:
https://github.com/openzfs/openzfs/pull/669
-- Commit Summary --
* 9675 memory leak from cpupart_create
-- File Changes --
M usr/src/uts/common/disp/cpupart.c (6)
-- Patch Links --
https://github.com/openzfs/openzfs/pull/669.patch
https://github.com/openzfs/openzfs/pull/669.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/669
------------------------------------------
openzfs: openzfs-developer
Permalink:
https://openzfs.topicbox.com/groups/developer/Tfd03570d1fb78266-M6cf08eec14de8974f9650461
Delivery options: https://openzfs.topicbox.com/groups/developer/subscription