mirror_zfs/module/zfs
Brian Behlendorf 4fd762f8ad Fix zfsdev_ioctl() kmem leak warning
Due to an asymmetry in the kmem accounting a memory leak was being
reported when it was only an accounting issue.  All memory allocated
with kmem_alloc() must be released with kmem_free() or it will not
be properly accounted for.

In this case the code used strfree() to release the memory allocated
by kmem_alloc().  Presumably this was done because the size of the
memory region wasn't available when the memory needed to be freed.

To resolve this issue the code has been updated to use strdup() instead
of kmem_alloc() to allocate the memory.  Like strfree(), strdup() is
not integrated with the memory accounting.  This means we can use
strfree() to release it like Illumos.

  SPL: kmem leaked 10/4368729 bytes
  address          size  data             func:line
  ffff880067e9aa40 10    ZZZZZZZZZZ       zfsdev_ioctl:5655

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tim Chase <tim@chase2k.com>
Signed-off-by: Chunwei Chen <tuxoko@gmail.com>
Closes #2262
2014-04-18 13:30:15 -07:00
..
arc.c Use ddi_time_after and friends to compare time 2014-04-14 13:27:56 -07:00
bplist.c Illumos #3464 2013-09-04 16:01:24 -07:00
bpobj.c Illumos #3603, #3604: bobj improvements 2013-10-31 14:57:51 -07:00
bptree.c 26126 panic system rather than corrupting pool if we hit bug 26100 2013-11-05 13:18:26 -08:00
dbuf_stats.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
dbuf.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
ddt_zap.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
ddt.c Add ddt, ddt_entry, and l2arc_hdr caches 2014-01-07 10:33:11 -08:00
dmu_diff.c Illumos #3598 2013-10-31 14:58:04 -07:00
dmu_object.c Illumos #3598 2013-10-31 14:58:04 -07:00
dmu_objset.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
dmu_send.c Add zfs_send_corrupt_data module option 2013-12-18 16:46:35 -08:00
dmu_traverse.c Illumos 4504 traverse_visitbp: visit group before user 2014-01-29 15:50:49 -08:00
dmu_tx.c Improve reporting of tx assignment wait times 2014-03-04 12:22:24 -08:00
dmu_zfetch.c Use enum type(zfetch_dirn_t) instead 2014-01-23 12:56:33 -08:00
dmu.c Linux 3.14 compat: rq_for_each_segment in dmu_req_copy 2014-04-10 14:28:51 -07:00
dnode_sync.c Illumos #3742 2013-11-04 10:55:25 -08:00
dnode.c Illumos #4045 write throttle & i/o scheduler performance work 2013-12-06 09:32:43 -08:00
dsl_dataset.c Illumos #4574 get_clones_stat does not call zap_count in non-debug kernel 2014-03-04 11:50:13 -08:00
dsl_deadlist.c Illumos #3104: eliminate empty bpobjs 2013-01-08 10:35:43 -08:00
dsl_deleg.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
dsl_destroy.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
dsl_dir.c dmu_tx kstat cleanup 2014-03-04 12:22:24 -08:00
dsl_pool.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
dsl_prop.c Illumos #3742 2013-11-04 10:55:25 -08:00
dsl_scan.c Add erratum for issue #2094 2014-02-21 12:10:40 -08:00
dsl_synctask.c Export symbols dsl_sync_task{_nowait} 2014-03-07 10:01:36 -08:00
dsl_userhold.c Some nvlist allocations in hold processing need to use KM_PUSHPAGE. 2013-12-02 14:02:46 -08:00
fm.c Add zpool_events_seek() functionality 2014-03-31 16:10:57 -07:00
gzip.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
lz4.c Force LZ4_FORCE_SW_BITCOUNT for Sparc 2014-01-09 15:54:03 -08:00
lzjb.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
Makefile.in Add visibility in to cached dbufs 2013-10-25 13:59:40 -07:00
metaslab.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
refcount.c Illumos #3464 2013-09-04 16:01:24 -07:00
rrwlock.c Fix several new KM_SLEEP warnings 2013-09-25 15:44:22 -07:00
sa.c Properly handle updates of variably-sized SA entries. 2013-12-20 13:52:33 -08:00
sha256.c Add linux sha2 support 2010-08-31 13:41:59 -07:00
spa_boot.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
spa_config.c Implement -t option to zpool import for temporary pool names 2014-03-20 12:05:30 -07:00
spa_errlog.c Illumos #3743 2013-11-04 10:55:25 -08:00
spa_history.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
spa_misc.c Use KM_PUSHPAGE in spa_add() for spa_label_features. 2014-03-10 09:09:30 -07:00
spa_stats.c replace nreserved with ndirty in txgs kstat 2014-03-04 12:22:24 -08:00
spa.c Uninitialized variable spa_autoreplace used 2014-04-16 10:59:24 -07:00
space_map.c Illumos #3464 2013-09-04 16:01:24 -07:00
txg.c Use ddi_time_after and friends to compare time 2014-04-14 13:27:56 -07:00
uberblock.c Illumos #3598 2013-10-31 14:58:04 -07:00
unique.c Switch KM_SLEEP to KM_PUSHPAGE 2012-08-27 12:01:37 -07:00
vdev_cache.c Use ddi_time_after and friends to compare time 2014-04-14 13:27:56 -07:00
vdev_disk.c Linux 3.14 compat: Immutable biovec changes in vdev_disk.c 2014-04-10 14:28:38 -07:00
vdev_file.c vdev_file_io_start() to use taskq_dispatch(TQ_PUSHPAGE) 2014-01-23 09:58:07 -08:00
vdev_label.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
vdev_mirror.c Illumos #4045 write throttle & i/o scheduler performance work 2013-12-06 09:32:43 -08:00
vdev_missing.c Illumos #3598 2013-10-31 14:58:04 -07:00
vdev_queue.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
vdev_raidz.c Illumos #4045 write throttle & i/o scheduler performance work 2013-12-06 09:32:43 -08:00
vdev_root.c Illumos #3598 2013-10-31 14:58:04 -07:00
vdev.c Illumos #4045 write throttle & i/o scheduler performance work 2013-12-06 09:32:43 -08:00
zap_leaf.c Illumos #3598 2013-10-31 14:58:04 -07:00
zap_micro.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zap.c Illumos #3743 2013-11-04 10:55:25 -08:00
zfeature_common.c Illumos #3035 LZ4 compression support in ZFS and GRUB 2013-01-29 09:28:20 -08:00
zfeature.c Fix zap_lookup() in feature_is_supported(). 2014-03-04 11:44:44 -08:00
zfs_acl.c Allow chown/chgrp when no ACL SAs exist. 2014-01-23 11:07:29 -08:00
zfs_byteswap.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
zfs_ctldir.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zfs_debug.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zfs_dir.c Illumos #4347 ZPL can use dmu_tx_assign(TXG_WAIT) 2013-12-06 09:30:51 -08:00
zfs_fm.c Add automatic hot spare functionality 2014-04-02 13:10:08 -07:00
zfs_fuid.c Illumos #3522 2013-10-30 14:51:27 -07:00
zfs_ioctl.c Fix zfsdev_ioctl() kmem leak warning 2014-04-18 13:30:15 -07:00
zfs_log.c Only commit the ZIL once in zpl_writepages() (msync() case). 2013-11-23 15:08:29 -08:00
zfs_onexit.c Illumos #3598 2013-10-31 14:58:04 -07:00
zfs_replay.c Illumos #3598 2013-10-31 14:58:04 -07:00
zfs_rlock.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zfs_sa.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zfs_vfsops.c Propagate errors when registering "relatime" property callback. 2014-02-12 09:38:28 -08:00
zfs_vnops.c Fix zfs_getattr_fast types 2014-01-09 15:50:23 -08:00
zfs_znode.c Fix locking order in zfs_zget() 2014-04-04 09:12:47 -07:00
zil.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zio_checksum.c Illumos #3598 2013-10-31 14:58:04 -07:00
zio_compress.c Illumos #3598 2013-10-31 14:58:04 -07:00
zio_inject.c Use ddi_time_after and friends to compare time 2014-04-14 13:27:56 -07:00
zio.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zle.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
zpl_ctldir.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zpl_export.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zpl_file.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zpl_inode.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zpl_super.c Prune metadata from ghost lists in arc_adjust_meta 2014-02-21 16:10:49 -08:00
zpl_xattr.c Linux 3.14 compat: posix_acl_{create,chmod} 2014-04-10 14:27:03 -07:00
zrlock.c Export ZFS symbols needed by Lustre. 2010-09-17 16:24:15 -07:00
zvol.c Use long holds in zvol_set_volsize() 2014-01-14 14:46:12 -08:00