Page MenuHomeFreeBSD

Fix error handling for vmspace_rwmem() consumers
Needs ReviewPublic

Authored by kib on Fri, Aug 14, 5:50 AM.

Details

Reviewers
markj
jhb
Summary
kern/kern_proc.c: do not throw out read data in get_ps_strings()

Since vmspace_iop()/proc_readmem() might return -1 on error from
vmspace_rwmem(), account for this and stop reading but return already
accumulated data if any, instead of returning an error.

PR:     297512
Fixes:  e1b0d051bbf7 ("proc: Allow to make proc_rwmem() operate on a consistent address space")


kern/sys_process.c: make vmspace_rwmem() similar to io functions

In particular, if there were any bytes moved, and then vm_fault()
faulted, do not return an error, but report the short io instead.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped