History log of /netbsd-src/lib/libkvm/kvm_proc.c (Results 1 – 25 of 100)
Revision Date Author Comments
# 7b725419 15-Dec-2024 christos <christos@NetBSD.org>

remove unused.


# aec4d439 10-Aug-2023 mrg <mrg@NetBSD.org>

avoid various use-after-free issues.

create a ptrdiff_t offset between the start of an allocation region and
some interesting pointer, so it can be adjusted with this offset after
realloc() returns.

avoid various use-after-free issues.

create a ptrdiff_t offset between the start of an allocation region and
some interesting pointer, so it can be adjusted with this offset after
realloc() returns.

found by GCC 12.

show more ...


# 388550b0 19-Apr-2022 rillig <rillig@NetBSD.org>

lib: remove CONSTCOND comment

Since 2021-01-31, lint doesn't need it anymore for the common pattern of
'do ... while (0)'.


# 68f6d395 10-Jan-2022 christos <christos@NetBSD.org>

read the ps arguments from the correct place.


# 104ea677 10-Jan-2022 christos <christos@NetBSD.org>

Get rid of usrstack/USRSTACK. Document that the old version of getargv is
broken because of ASLR.


# 9aa2b027 19-Jul-2021 christos <christos@NetBSD.org>

Match the declaration in <sys/kauth.h>


# 5f087b6f 11-Dec-2019 ad <ad@NetBSD.org>

Redo previous more conventionally. Requested by kre@.


# c4704966 10-Dec-2019 ad <ad@NetBSD.org>

Mask out always zero bits off pg->phys_addr.


# d6b67564 04-Apr-2016 christos <christos@NetBSD.org>

some ports need <sys/wait.h>


# cacc57bf 04-Apr-2016 christos <christos@NetBSD.org>

catch up with p_xstat split.


# 7c166415 19-Feb-2014 dsl <dsl@NetBSD.org>

Remove the #include <sys/user.h> from all of libkvm.
sys/user.h is a stub that just #includes sys/pcb.h.
There are no 'struct pcb' anywhere in here, so I'm extremely doubtful
any of the builds will f

Remove the #include <sys/user.h> from all of libkvm.
sys/user.h is a stub that just #includes sys/pcb.h.
There are no 'struct pcb' anywhere in here, so I'm extremely doubtful
any of the builds will fail.
OTOH it might be relying on a header that pcb.h includes.
In any case i386 and amd64 build.

show more ...


# f8fdd418 05-Jun-2012 martin <martin@NetBSD.org>

Measure kinfo_proc2::p_vm_vsize in pages, as it was always documented.
This value seems to never have been used anywhere.
This makes it consistent with it's cousin p_vm_msize (which is in pages as
we

Measure kinfo_proc2::p_vm_vsize in pages, as it was always documented.
This value seems to never have been used anywhere.
This makes it consistent with it's cousin p_vm_msize (which is in pages as
well and has several uses).

show more ...


# 9a0d0def 12-Nov-2010 uebayasi <uebayasi@NetBSD.org>

Fix build.


# 8bb0c87c 26-Sep-2010 jym <jym@NetBSD.org>

Define KREAD() inside kvm_private.h, for reusability.


# 962a341d 20-Sep-2010 jym <jym@NetBSD.org>

Change kvm_pa2off() and kvm_kvatop() prototypes (private to kvm(3)):

-int _kvm_kvatop(kvm_t *, u_long, u_long *);
-off_t _kvm_pa2off(kvm_t *, u_long);
+int _kvm_kvatop(kvm_t *, vaddr_t, pa

Change kvm_pa2off() and kvm_kvatop() prototypes (private to kvm(3)):

-int _kvm_kvatop(kvm_t *, u_long, u_long *);
-off_t _kvm_pa2off(kvm_t *, u_long);
+int _kvm_kvatop(kvm_t *, vaddr_t, paddr_t *);
+off_t _kvm_pa2off(kvm_t *, paddr_t);

Basically, use vaddr_t for VA and paddr_t for PA. In addition, for variables
representing addresses, use paddr_t or vaddr_t, depending on the context.

For most arches, vaddr_t and paddr_t are equivalent to unsigned long. However,
the change was needed for exotic situations, like i386 PAE, were unsigned long
is not suitable for PA which are 64 bits long. As this required a complete
change of the function prototypes, all arches had to be adapted accordingly.

Core files from before this commit should still work with the new code; I did
not see any direct dependency between core's structure and kvatop/pa2off.

The change was compile tested for all arches, as it impacts all of them.

See also:

http://mail-index.netbsd.org/current-users/2010/09/07/msg014249.html

show more ...


# 6dc46b92 19-Sep-2010 jym <jym@NetBSD.org>

Ansify and KNF all functions within kvm(3). No objection on current-users@.

Used as ground for u_long => vaddr_t/paddr_t replacements in kvm(3)
private functions.

Compile tested for all arches. See

Ansify and KNF all functions within kvm(3). No objection on current-users@.

Used as ground for u_long => vaddr_t/paddr_t replacements in kvm(3)
private functions.

Compile tested for all arches. See also:

http://mail-index.netbsd.org/current-users/2010/09/07/msg014249.html

show more ...


# 40cf6f36 21-Oct-2009 rmind <rmind@NetBSD.org>

Remove uarea swap-out functionality:

- Addresses the issue described in PR/38828.
- Some simplification in threading and sleepq subsystems.
- Eliminates pmap_collect() and, as a side note, allows pm

Remove uarea swap-out functionality:

- Addresses the issue described in PR/38828.
- Some simplification in threading and sleepq subsystems.
- Eliminates pmap_collect() and, as a side note, allows pmap optimisations.
- Eliminates XS_CTL_DATA_ONSTACK in scsipi code.
- Avoids few scans on LWP list and thus potentially long holds of proc_lock.
- Cuts ~1.5k lines of code. Reduces amd64 kernel size by ~4k.
- Removes __SWAP_BROKEN cases.

Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on
acorn26 (thanks to <bjh21>).

Discussed on <tech-kern>, reviewed by <ad>.

show more ...


# edde2bdd 16-May-2009 yamt <yamt@NetBSD.org>

kvm_getprocs actually works with KVM_NO_FILES.


# fcc02354 29-Mar-2009 mrg <mrg@NetBSD.org>

- add new RLIMIT_AS (aka RLIMIT_VMEM) resource that limits the total
address space available to processes. this limit exists in most other
modern unix variants, and like most of them, our defaults a

- add new RLIMIT_AS (aka RLIMIT_VMEM) resource that limits the total
address space available to processes. this limit exists in most other
modern unix variants, and like most of them, our defaults are unlimited.
remove the old mmap / rlimit.datasize hack.

- adds the VMCMD_STACK flag to all the stack-creation vmcmd callers.
it is currently unused, but was added a few years ago.

- add a pair of new process size values to kinfo_proc2{}. one is the
total size of the process memory map, and the other is the total size
adjusted for unused stack space (since most processes have a lot of
this...)

- patch sh, and csh to notice RLIMIT_AS. (in some cases, the alias
RLIMIT_VMEM was already present and used if availble.)

- patch ps, top and systat to notice the new k_vm_vsize member of
kinfo_proc2{}.

- update irix, svr4, svr4_32, linux and osf1 emulations to support
this information. (freebsd could be done, but that it's best left
as part of the full-update of compat/freebsd.)


this addresses PR 7897. it also gives correct memory usage values,
which have never been entirely correct (since mmap), and have been
very incorrect since jemalloc() was enabled.

tested on i386 and sparc64, build tested on several other platforms.

thanks to many folks for feedback and testing but most espcially
chuq and yamt for critical suggestions that lead to this patch not
having a special ugliness i wasn't happy with anyway :-)

show more ...


# 7bf2b3b4 28-Dec-2008 christos <christos@NetBSD.org>

tdev is unsigned


# 6127c68e 28-Dec-2008 christos <christos@NetBSD.org>

cast dev_t's to int32_t because XXX: sysctl can't change size. This should
be not a problem since tty's live in the low part of the dev range.


# 83776b8e 29-Nov-2008 cegger <cegger@NetBSD.org>

check error case for kvm_getlwps or SIGSEGV occurs due to dereferecing a NULL pointer.
return NULL if there are no threads or proceed further through all loops.
Fixes PR 40004. Ok rmind@


# ce099b40 28-Apr-2008 martin <martin@NetBSD.org>

Remove clause 3 and 4 from TNF licenses


# 5c80416b 05-Feb-2008 elad <elad@NetBSD.org>

PR/37962: Andrew Doran: libkvm is busted due to kauth_cred redefinition

Sync structure with kernel version.


# a7a2d171 15-Jan-2008 ad <ad@NetBSD.org>

Handle reading from raw disk devices.


1234