Page MenuHomeFreeBSD

Fix error handling for vmspace_rwmem() consumers
ClosedPublic

Authored by kib on Fri, Aug 14, 5:50 AM.
Tags
None
Referenced Files
F167081747: D58838.id.diff
Tue, Aug 18, 10:30 PM
F167025940: D58838.id184036.diff
Tue, Aug 18, 3:58 PM
F167012810: D58838.id184049.diff
Tue, Aug 18, 2:18 PM
Unknown Object (File)
Mon, Aug 17, 3:49 PM
Unknown Object (File)
Sun, Aug 16, 8:14 AM
Unknown Object (File)
Fri, Aug 14, 7:31 PM
Unknown Object (File)
Fri, Aug 14, 7:30 PM
Unknown Object (File)
Fri, Aug 14, 7:27 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 Skipped
Unit
Tests Skipped