History log of /src/sys/rump/librump/rumpkern/rumpcopy.c |
Revision | | Date | Author | Comments |
1.25 |
| 01-Jul-2020 |
riastradh | copystr is now in libkern; don't redefine it in rumpcopy.c.
Should fix build breakage from the copystr changes.
|
1.24 |
| 05-Apr-2020 |
kamil | Return early on 0-sized transfers (usually to/from NULL-objects)
This logic is already present in subr_copy.c:copyin_vmspace() and rumpcopy.c:copyinstr().
This avoids memcpy() calls for NULL objects that is Undefined Behavior, allowed in the kernel space (-fno-delete-null-pointer-checks), but not in userland.
Reported by UBSan.
|
1.23 |
| 06-Apr-2019 |
thorpej | Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
1.22 |
| 25-May-2016 |
christos | branches: 1.22.18; Introduce security.pax.mprotect.ptrace sysctl which can be used to bypass mprotect settings so that debuggers can write to the text segment of traced processes so that they can insert breakpoints. Turned off by default. Ok: chuq (for now)
|
1.21 |
| 26-Jan-2016 |
pooka | Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.20 |
| 18-Apr-2015 |
pooka | Give remote clients struct pmap storage. Although the pmap is unused, that way we can sure that the pmap macro framework doesn't access all the wrong places.
|
1.19 |
| 03-Jan-2015 |
pooka | Put all sysproxy routines to their own C module, sysproxy.c
|
1.18 |
| 26-Jul-2013 |
njoly | branches: 1.18.6; Make copyinstr/copyoutstr return EFAULT for special NULL "user" address. Ok pooka@.
|
1.17 |
| 18-Jan-2011 |
haad | branches: 1.17.6; 1.17.16; 1.17.20; Add support for compiling ZFS and Solaris modules as RUMP libraries. Add some locking and rumpcopy primitives and refactor module building Makefiles to work with both RUMP and kernel modules. This is first part of adding support for regular test of zfs on NetBSD to hunt some bugs and make it stable.
Ok by pooka@.
|
1.16 |
| 13-Jan-2011 |
pooka | branches: 1.16.2; Introduce RUMP_LOCALPROC_P() macro and use it.
|
1.15 |
| 09-Jan-2011 |
pooka | Shortcircuit remote 0-len copyin/out already in the kernel.
|
1.14 |
| 09-Jan-2011 |
pooka | accept '\0' as a valid string
|
1.13 |
| 25-Nov-2010 |
pooka | *facepalm*, adjust remote copyinstr to work in cases where the end of the max copyin extends to an unmapped page.
Noticed, as usual, by tests.
|
1.12 |
| 22-Nov-2010 |
pooka | the usual wuninit stuff
|
1.11 |
| 22-Nov-2010 |
pooka | Support physio for remote processes. ==> add support for remote vmspace vmapbuf/vunmapbuf ==> add proper support for copyin/out_vmspace ==> add support for remote vmspace uvm_io ==> add support for non-curproc rumpuser_sp_copyin/out ==> store remote context in vm_map->pmap instead of pthread_specificdata
In short, makes read/write of most (all?) block devices work from a remote rump client via rump syscalls.
|
1.10 |
| 17-Nov-2010 |
pooka | cleanup some old garbage
|
1.9 |
| 09-Nov-2010 |
pooka | Fix off-by-one in the rpc path of copyinstr()
|
1.8 |
| 09-Nov-2010 |
pooka | fix copystr/copyinstr/copyoutstr to return ENAMETOOLONG where appropriate
|
1.7 |
| 29-Oct-2010 |
pooka | minor knf
|
1.6 |
| 27-Oct-2010 |
pooka | Start rework of system call proxying over socket ("sysproxy"). This incarnation is written in the user namespace as opposed to the previous one which was done in kernel namespace. Also, rump does all the handshaking now instead of excepting an application to come up with the user namespace socket.
There's still a lot to do, including making code "a bit" more robust, actually running different clients in a different process inside the kernel and splitting the client side library from librump. I'm committing this now so that I don't lose it, plus it generally works as long as you don't use it in unexcepted ways: i've tested ifconfig(8), route(8), envstat(8) and sysctl(8).
|
1.5 |
| 18-Jul-2010 |
pooka | Ignore errors when copyin/out len == 0.
|
1.4 |
| 12-Jul-2010 |
pooka | Implement poor man's (or woman's) fault handler (or handlim).
from Stan (or Loretta)
|
1.3 |
| 10-Jun-2010 |
pooka | Use kern_proc.c instead of a collection of stubs. But what we really wanted from this commit was the support for proc_specificdata.
TODO: make creating a new process actually use kern_proc and maybe even add an interface which starts a process with "any pid you don't like"
|
1.2 |
| 04-Nov-2009 |
pooka | branches: 1.2.2; 1.2.4; 1.2.6; trim trailing whitespace
|
1.1 |
| 04-Nov-2009 |
pooka | move copy-related routines to their own module
|
1.2.6.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.2.6.1 |
| 03-Jul-2010 |
rmind | sync with head
|
1.2.4.3 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.2.4.2 |
| 11-Mar-2010 |
yamt | sync with head
|
1.2.4.1 |
| 04-Nov-2009 |
yamt | file rumpcopy.c was added on branch yamt-nfs-mp on 2010-03-11 15:04:38 +0000
|
1.2.2.2 |
| 06-Nov-2010 |
uebayasi | Sync with HEAD.
|
1.2.2.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.16.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.17.20.1 |
| 28-Aug-2013 |
rmind | sync with head
|
1.17.16.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.17.16.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.17.6.1 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.18.6.4 |
| 29-May-2016 |
skrll | Sync with HEAD
|
1.18.6.3 |
| 19-Mar-2016 |
skrll | Sync with HEAD
|
1.18.6.2 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.18.6.1 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.22.18.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.22.18.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|