Page MenuHomeFreeBSD

Fix error handling for vmspace_rwmem() consumers
ClosedPublic

Authored by kib on Fri, Aug 14, 5:50 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Sep 10, 10:42 AM
Unknown Object (File)
Mon, Sep 7, 10:14 PM
Unknown Object (File)
Sat, Sep 5, 5:08 AM
Unknown Object (File)
Thu, Sep 3, 10:33 PM
Unknown Object (File)
Thu, Sep 3, 4:49 PM
Unknown Object (File)
Thu, Sep 3, 2:21 PM
Unknown Object (File)
Fri, Aug 28, 7:29 PM
Unknown Object (File)
Fri, Aug 28, 3:28 PM
Subscribers

Details

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 Not Applicable
Unit
Tests Not Applicable