git: libkvm: Make return value of kvm_getfiles(3) consistent.

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Wed Oct 14 05:10:19 PDT 2015


commit 0db87cb783123272bb50d1e8e94e4dbd1a35b998
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date:   Wed Oct 14 19:56:05 2015 +0800

    libkvm: Make return value of kvm_getfiles(3) consistent.
    
    The return value was inconsistent if this function is called on
    coredump and on live kernel:
    - The leading filehead will trash return value if it is called on
      live kernel.
    - Live kernel returns an array of kinfo_file but coredump returns
      an array of file.
    
    It probably only worked when KERN_FILE sysctl returned an array
    of files and when the filehead was just a file ptr; or it never
    worked (it reversed nfiles' and filehead's kernel address when
    reading from coredump).
    
    We now let it return an array of kinfo_file without any weird
    leading stuffs.
    
    While I'm here clean it up a little bit (mainly use NULL instead
    of 0).
    
    This also paves the way to split filehead.

Summary of changes:
 lib/libkvm/kvm.h                  |   4 +-
 lib/libkvm/kvm_file.c             | 244 ++++++++++++++++++++++++++------------
 lib/libkvm/kvm_getfiles.3         |   7 +-
 test/kvm/kvm_file/Makefile        |   7 ++
 test/kvm/kvm_file/test_kvm_file.c |  96 +++++++++++++++
 5 files changed, 277 insertions(+), 81 deletions(-)
 create mode 100644 test/kvm/kvm_file/Makefile
 create mode 100644 test/kvm/kvm_file/test_kvm_file.c

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0db87cb783123272bb50d1e8e94e4dbd1a35b998


-- 
DragonFly BSD source repository



More information about the Commits mailing list