Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Apr 2017 18:13:33 +0000 (UTC)
From:      Andriy Gapon <avg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r316901 - vendor/illumos/dist/lib/libzfs/common
Message-ID:  <201704141813.v3EIDXiI066124@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: avg
Date: Fri Apr 14 18:13:33 2017
New Revision: 316901
URL: https://svnweb.freebsd.org/changeset/base/316901

Log:
  7730 libzfs`add_config() leaks config nvl when reading spare/l2cache devices
  
  illumos/illumos-gate@105686550ee9cbf5d033166a8a2a5a763667d436
  https://github.com/illumos/illumos-gate/commit/105686550ee9cbf5d033166a8a2a5a763667d436
  
  https://www.illumos.org/issues/7730
    antares:root:~# mdb /usr/sbin/zpool
    > ::sysbp _exit
    > ::run import
       pool: data
         id: 2093977168778024605
      state: ONLINE
     action: The pool can be imported using its name or numeric identifier.
     config:
  
            data        ONLINE
              c6t0d0    ONLINE
              c6t1d0    ONLINE
            cache
              c6t2d0
    mdb: stop on entry to _exit
    mdb: target stopped at:
    0xfee556ba:     nop
    mdb: You've got symbols!
    Loading modules: [ ld.so.1 libumem.so.1 libc.so.1 libtopo.so.1 libavl.so.1
    libnvpair.so.1 ]
    > ::findleaks -d
    BYTES             LEAKED VMEM_SEG CALLER
    4096                  10 fda7b000 MMAP
    8192                   1 fea8d000 MMAP
    8192                   1 fe76d000 MMAP
    8192                   1 fe66e000 MMAP
    4096                   1 fe570000 MMAP
    8192                   1 fe470000 MMAP
    4096                   1 fe372000 MMAP
    4096                   1 fe273000 MMAP
  
  Reviewed by: Matthew Ahrens <mahrens@delphix.com>
  Reviewed by: Serapheim Dimitropoulos <serapheim@delphix.com>
  Approved by: Robert Mustacchi <rm@joyent.com>
  Author: Yuri Pankov <yuri.pankov@nexenta.com>

Modified:
  vendor/illumos/dist/lib/libzfs/common/libzfs_import.c

Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_import.c
==============================================================================
--- vendor/illumos/dist/lib/libzfs/common/libzfs_import.c	Fri Apr 14 18:13:06 2017	(r316900)
+++ vendor/illumos/dist/lib/libzfs/common/libzfs_import.c	Fri Apr 14 18:13:33 2017	(r316901)
@@ -237,9 +237,12 @@ add_config(libzfs_handle_t *hdl, pool_li
 			free(ne);
 			return (-1);
 		}
+
 		ne->ne_guid = vdev_guid;
 		ne->ne_next = pl->names;
 		pl->names = ne;
+
+		nvlist_free(config);
 		return (0);
 	}
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201704141813.v3EIDXiI066124>