Home | History | Annotate | Download | only in netbsd32
History log of /src/sys/compat/netbsd32/netbsd32_fs.c
RevisionDateAuthorComments
 1.95  23-Apr-2022  reinoud Implement support for mounting UDF in compat32
Fixes PR#56801
 1.94  11-Sep-2021  riastradh sys/kern: Allow custom fileops to specify fo_seek method.

Previously only vnodes allowed lseek/pread[v]/pwrite[v], which meant
converting a regular device to a cloning device doesn't always work.

Semantics is:

(*fp->f_ops->fo_seek)(fp, delta, whence, newoffp, flags)

1. Compute a new offset according to whence + delta -- that is, if
whence is SEEK_CUR, add delta to fp->f_offset; if whence is
SEEK_END, add delta to end of file; if whence is SEEK_CUR, use delta
as is.

2. If newoffp is nonnull, return the new offset in *newoffp.

3. If flags & FOF_UPDATE_OFFSET, set fp->f_offset to the new offset.

Access to fp->f_offset, and *newoffp if newoffp = &fp->f_offset, must
happen under the object lock (e.g., vnode lock), in order to
synchronize fp->f_offset reads and writes.

This change has the side effect that every call to VOP_SEEK happens
under the vnode lock now, when previously it didn't. However, from a
review of all the VOP_SEEK implementations, it does not appear that
any file system even examines the vnode, let alone locks it. So I
think this is safe -- and essentially the only reasonable way to do
things, given that it is used to validate a change from oldoff to
newoff, and oldoff becomes stale the moment we unlock the vnode.

No kernel bump because this reuses a spare entry in struct fileops,
and it is safe for the entry to be null, so all existing fileops will
continue to work as before (rejecting seek).
 1.93  16-Feb-2021  simonb In netbsd32___mount50() zero out the native fs_args union before use so
we don't pass stack garbage to the lower layers in the MNT_GETARGS case.

Fixes random errors like "Bad address" from "mount -vv" with nfs mounts.
 1.92  19-Jan-2021  simonb The read/write/send/recv system calls return ssize_t because -1 is
returned on error. Therefore we must restrict the lengths of any
buffers to NETBSD32_SSIZE_MAX with compat32 to avoid garbage return
values.

Fixes ATF lib/libc/sys/t_write:write_err.
 1.91  19-Jan-2021  simonb KNF consistency: No parentheses are needed around the return value.
 1.90  23-May-2020  ad branches: 1.90.2;
Move proc_lock into the data segment. It was dynamically allocated because
at the time we had mutex_obj_alloc() but not __cacheline_aligned.
 1.89  27-Apr-2020  christos data_len == 0 on mount means "the kernel knows". Fixes amd on compat32.
 1.88  21-Apr-2020  ad Revert the changes made in February to make cwdinfo use mostly lockless,
which relied on taking extra vnode refs.

Having benchmarked various experimental changes over the past few months it
seems that it's better to avoid vnode refs as much as possible. cwdi_lock
as a RW lock already did that to some extent for getcwd() and will permit
the same for namei() too.
 1.87  23-Feb-2020  ad branches: 1.87.4;
Merge from ad-namecache:

- Have a stab at clustering the members of vnode_t and vnode_impl_t in a
more cache-conscious way. With that done, go back to adjusting v_usecount
with atomics and keep vi_lock directly in vnode_impl_t (saves KVA).

- Allow VOP_LOCK(LK_NONE) for the benefit of VFS_VGET() and VFS_ROOT().
Make sure LK_UPGRADE always comes with LK_NOWAIT.

- Make cwdinfo use mostly lockless.
 1.86  31-Jan-2020  maxv Fix copyout overflows in fhstat, found by the LGTM bot. Not a big problem
since this syscall is privileged.
 1.85  26-Sep-2019  christos branches: 1.85.2;
use size_t for counters (which are compared and set with unsigneds)
 1.84  22-Sep-2019  christos Add a new member to struct vfsstat and grow the unused members
The new member is caled f_mntfromlabel and it is the dkw_wname
of the corresponding wedge. This is now used by df -W to display
the mountpoint name as NAME=
 1.83  21-Sep-2019  maxv Fix netbsd32___mount50():

- zero out fs_args32 to prevent info leaks
- remove unused and non-functional copyin in NFS (lgtm bot)
- declare udata, and don't pass kernel pointers to copyout (lgtm bot)
- make sure data_len is just big enough, to mimic the native behavior
- don't forget to update *retval with the 32bit value
- add an XXX for NFS
 1.82  26-Dec-2018  mrg branches: 1.82.4;
remove duplicated prototypes and dated XXX comments.
 1.81  11-Aug-2018  mrg support nullfs in netbsd32.
 1.80  01-Jun-2017  chs branches: 1.80.2; 1.80.8; 1.80.10;
remove checks for failure after memory allocation calls that cannot fail:

kmem_alloc() with KM_SLEEP
kmem_zalloc() with KM_SLEEP
percpu_alloc()
pserialize_create()
psref_class_create()

all of these paths include an assertion that the allocation has not failed,
so callers should not assert that again.
 1.79  01-Dec-2016  mrg s/netbds32_copyout_statvfs/netbsd32_copyout_statvfs/
 1.78  21-Oct-2016  mrg add a ktrgenio() call to netbsd32___getdents30().
from dholland, tested by me.
 1.77  19-Oct-2016  skrll Oops... unintended commit - one day maybe.
 1.76  19-Oct-2016  skrll PR kern/51514: ptrace(2) fails for 32-bit process on 64-bit kernel

Updated from the original patch in the PR by me.
 1.75  16-Oct-2016  dholland Use ktrgeniov, not ktrgenio, in writev.
 1.74  21-Mar-2016  mrg branches: 1.74.2;
avoid some stupid GCC errors seen only with -Os and -O3.
 1.73  23-Oct-2015  maxv Change do_sys_mount() so that it only takes as argument the type of the
drive instead of its associated vfsops. Makes it more friendly, and allows
compat binaries to autoload VFS modules if needed.

sent on tech-kern@, ok christos@
 1.72  05-Oct-2014  christos branches: 1.72.2;
add tmpfs.
 1.71  05-Sep-2014  matt Try not to use f_data, use f_{vnode,socket,pipe,mqueue,kqueue,ksem} to get
a correctly typed pointer.
 1.70  30-Apr-2014  njoly Do not use native off_t type under compat netbsd32, but a new
netbsd32_off_t that provide the expected alignment for 64bit types.
 1.69  17-Oct-2013  njoly branches: 1.69.2;
Change mknodat(2) device argument type from uint32_t to dev_t.
Adds needed extra PAD argument for 64bit alignment, and libc wrapper.
 1.68  30-Jul-2013  njoly Add a new get_utimens32() helper function that fetch struct timespec
data if not NULL, to be used by netbsd32_utimensat() and
netbsd32_futimens().
 1.67  18-Jul-2013  matt futimens uses two timespec as well.
 1.66  18-Jul-2013  matt Deal with timespecs properly in futimens and utimensat.
PR/48060
 1.65  18-Jul-2013  matt Move *at syscall handlers to netbsd32_fs.c from netbsd32_netbsd.c
Fix netbsd32_fstatat to emit a 32bit stat structure.
 1.64  13-Dec-2012  matt branches: 1.64.2; 1.64.8;
Fix inverted error check.
 1.63  06-Mar-2012  macallan branches: 1.63.2;
allow mounting ext2fs and msdosfs
while there also enable lfs but that's untested
 1.62  25-Jan-2012  christos branches: 1.62.2; 1.62.6;
Add FNOSIGPIPE for compat32; noted by yamt.
 1.61  05-Jun-2011  dsl branches: 1.61.2; 1.61.6;
Delete some splurious commas and very unexpected trailing space
 1.60  22-Jan-2011  matt branches: 1.60.2;
Add the ability to mount NFS filesystems in COMPAT_NETBSD32
If in the kernel and NFS_ARGS_ONLY, just export struct nfs_args and its flags.
 1.59  23-Apr-2010  rmind branches: 1.59.2; 1.59.4;
Replace M_IOV and some malloc(9)s with kmem(9), and while there:
- Fix invalid free (M_TEMP vs M_IOV) in do_sys_recvmsg(), spotted by jakllsch@.
Also, same fix in osf1_sys_sendmsg_xopen().
- Fix attempt to free non-allocated memory in error path in netbsd32___getfh30().
- Plug a memory leak in compat_43_netbsd32_orecvmsg().
 1.58  14-Dec-2009  matt branches: 1.58.2; 1.58.4;
Merge from matt-nb5-mips64
 1.57  26-Jan-2009  njoly Make all fstat(2) compat syscalls consistently use do_sys_fstat(),
instead of fd_getfile()/fd_putfile() dance.

ok by christos.
 1.56  11-Jan-2009  christos merge christos-time_t
 1.55  24-Jun-2008  ad branches: 1.55.4; 1.55.6; 1.55.10; 1.55.14;
Replace references to getsock/getvnode.
 1.54  29-May-2008  mrg branches: 1.54.2;
remove clause #3 from my license where there are no other
copyright holders involved.
 1.53  24-Apr-2008  ad branches: 1.53.2; 1.53.4;
Network protocol interrupts can now block on locks, so merge the globals
proclist_mutex and proclist_lock into a single adaptive mutex (proc_lock).
Implications:

- Inspecting process state requires thread context, so signals can no longer
be sent from a hardware interrupt handler. Signal activity must be
deferred to a soft interrupt or kthread.

- As the proc state locking is simplified, it's now safe to take exit()
and wait() out from under kernel_lock.

- The system spends less time at IPL_SCHED, and there is less lock activity.
 1.52  23-Apr-2008  ad Fix locking.
 1.51  21-Mar-2008  ad branches: 1.51.2;
Catch up with descriptor handling changes. See kern_descrip.c revision
1.173 for details.
 1.50  05-Jan-2008  dsl branches: 1.50.6;
Use FILE_LOCK() and FILE_UNLOCK().
Attempt to fix all the code paths so that the 'fp' returned by fd_getfile()
isn't left locked, and is always unlocked (and ref-counted) before
doing anything that might sleep.
 1.49  20-Dec-2007  dsl Convert all the system call entry points from:
int foo(struct lwp *l, void *v, register_t *retval)
to:
int foo(struct lwp *l, const struct foo_args *uap, register_t *retval)
Fixup compat code to not write into 'uap' and (in some cases) to actually
pass a correctly formatted 'uap' structure with the right name to the
next routine.
A few 'compat' routines that just call standard ones have been deleted.
All the 'compat' code compiles (along with the kernels required to test
build it).
98% done by automated scripts.
 1.48  08-Dec-2007  dsl branches: 1.48.4;
ANSIfy most of the function definitions in sys/compat (but not ndis).
All by the magic of sed ...
 1.47  04-Dec-2007  dsl Remove all the __P
 1.46  15-Aug-2007  ad branches: 1.46.2; 1.46.8; 1.46.10;
Changes to make ktrace LKM friendly and reduce ifdef KTRACE. Proposed
on tech-kern.
 1.45  30-Jun-2007  dsl branches: 1.45.2; 1.45.6;
Changes to sompat socket function to avoid the dreaded stackgap.
 1.44  09-Jun-2007  ad Acquire proclist_mutex before sending signals. XXX irix emul needs a bit
of work.
 1.43  12-May-2007  dsl Change the compat sys_[fl]utime code to not use the stackgap.
 1.42  30-Apr-2007  dsl Split the statvfs functions so that the 'work' is done to a kernel buffer
which can either be copied directly to userspace, or converted then copied.
Saves replicating a lot of code in the compat functions (esp. for
getvfsstat) at a cast of an extra function call in the non-emulated case -
which is unlikely to be measurable given the other costs of the actions
involved (even on vax).
Remove dofhstat() and dofhstatvfs() (and the last caller).
Remove some redundant stackgap_init() calls.
 1.41  22-Apr-2007  dsl Actually report an error when sys__stat30() fails.
 1.40  22-Apr-2007  dsl Change the way that emulations locate files within the emulation root to
avoid having to allocate space in the 'stackgap'
- which is very LWP unfriendly.
The additional code for non-emulation namei() is trivial, the reduction for
the emulations is massive.
The vnode for a processes emulation root is saved in the cwdi structure
during process exec.
If the emulation root the TRYEMULROOT flag are set, namei() will do an initial
search for absolute pathnames in the emulation root, if that fails it will
retry from the normal root.
".." at the emulation root will always go to the real root, even in the middle
of paths and when expanding symlinks.
Absolute symlinks found using absolute paths in the emulation root will be
relative to the emulation root (so /usr/lib/xxx.so -> /lib/xxx.so links
inside the emulation root don't need changing).
If the root of the emulation would be returned (for an emulation lookup), then
the real root is returned instead (matching the behaviour of emul_lookup,
but being a cheap comparison here) so that programs that scan "../.."
looking for the root dircetory don't loop forever.
The target for symbolic links is no longer mangled (it used to get the
CHECK_ALT_xxx() treatment, so could get /emul/xxx prepended).
CHECK_ALT_xxx() are no more. Most of the change is deleting them, and adding
TRYEMULROOT to the flags to NDINIT().
A lot of the emulation system call stubs could now be deleted.
 1.39  18-Mar-2007  dsl Change all the NETBSD32PTR64(SCARG(uap, xxx))) to SCARG_P32(uap, xxx).
 1.38  16-Mar-2007  dsl remove all the double (and triple) casts used to convert 32bit userspace
pointers to and from 64bit kernel pointers. Instead use the defines
NETBSD32PTR64(p32) to read a 32bit pointer and (the new) NETBSD32PTR32(p32,p64)
to write a 32bit pointer throughout.
The 32bit pointer is now a struct to enforce the above.
amd64 (with linux emul) and sparc64 will both compile (when the arch stuff
goes in soon), and amd64 still runs some i386 binaries.
 1.37  10-Mar-2007  dsl branches: 1.37.2; 1.37.4;
Update all the compat stuff to not use the 'stackgap' for processing
sys_stat() and friends, instead use do_sys_stat() and do_sys_fstat()
that write the answer into a kernel buffer (on stack) that can be
converted to the correct form and written the userspace.
I've test compiled a few kernels, and tested i386 netbsd1.6 ls.
Given I think I've fixed some bugs, it might be 50-50 with new ones.
 1.36  04-Mar-2007  christos branches: 1.36.2;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.35  09-Feb-2007  ad branches: 1.35.2;
Merge newlock2 to head.
 1.34  14-Nov-2006  elad Clean some KAUTH_GENERIC_ISSUSER usage in compat code.
 1.33  04-Aug-2006  yamt branches: 1.33.4; 1.33.6;
some filehandle syscall related changes.

- remove the support of variable-sized filehandle from compat version of
syscalls. (strictly speaking, it breaks abi. i don't think it's a problem
because this feature is short-lived and there are no affected in-tree
filesystems.)
- unify vfs_copyinfh_alloc and vfs_copyinfh_alloc_size.
- vfs_copyinfh_alloc_size: check fhsize strictly.
- reduce code duplication between compat and current syscalls.
 1.32  31-Jul-2006  martin Make filehandles opaque to userland
 1.31  23-Jul-2006  ad Use the LWP cached credentials where sane.
 1.30  16-Jul-2006  yamt adapt to vfs_copyinfh -> vfs_copyinfh_alloc rename.
 1.29  14-Jul-2006  martin netbsd32_sys___fhstat30 and netbsd32_sys___fhstatvfs have nothing to do
with compat_30 - so use full/variable sized filehandles here too.
Fixes PR kern/34004.
 1.28  13-Jul-2006  martin Fix alignement problems for fhandle_t, exposed by gcc4.1.

While touching all vptofh/fhtovp functions, get rid of VFS_MAXFIDSIZ,
version the getfh(2) syscall and explicitly pass the size available in
the filehandle from userland.

Discussed on tech-kern, with lots of help from yamt (thanks!).
 1.27  14-May-2006  elad branches: 1.27.4;
integrate kauth.
 1.26  05-May-2006  cube Move fhstat as sys___fhstat30 in netbsd32_fs.c because it doesn't belong
to netbsd32_netbsd.c (which incidentally means it had been broken for a
while I guess). Add compat_30 version.
 1.25  15-Mar-2006  cube branches: 1.25.2;
Move malloc calls outside of the block where a lock is held.
 1.24  01-Mar-2006  yamt branches: 1.24.2; 1.24.4;
merge yamt-uio_vmspace branch.

- use vmspace rather than proc or lwp where appropriate.
the latter is more natural to specify an address space.
(and less likely to be abused for random purposes.)
- fix a swdmover race.
 1.23  11-Dec-2005  christos branches: 1.23.2; 1.23.4; 1.23.6;
merge ktrace-lwp.
 1.22  19-Aug-2005  christos Fix lossage I created with the 64 bit ino_t change.
 1.21  19-Aug-2005  christos 64 bit inode changes.
 1.20  10-Jul-2005  cube NOFOLLOW should be passed to NDINIT() instead of FOLLOW for lstat(2).
Reported by Martin Husemann.
 1.19  26-Feb-2005  perry branches: 1.19.4;
nuke trailing whitespace
 1.18  17-Jun-2004  cube branches: 1.18.4; 1.18.6;
o Add support for the statvfs family of syscalls (statvfs1, fstatvfs1,
fhstatvfs1 and getvfsstat)
o Move the statfs family out of netbsd32_fs.c and netbsd32_netbsd.c to
netbsd_compat_20.c, compiled with COMPAT_20

Reviewed by christos@.
 1.17  22-Apr-2004  hannken Fix statfs->statvfs fallout.
 1.16  21-Apr-2004  christos Replace the statfs() family of system calls with statvfs().
Retain binary compatibility.
 1.15  21-Oct-2003  fvdl Don't compare an integer value against 0.
 1.14  29-Jun-2003  fvdl branches: 1.14.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.13  29-Jun-2003  martin struct proc * -> struct lwp *
 1.12  28-Jun-2003  darrenr Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records. The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
 1.11  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.10  23-Oct-2002  scw In preparation for COMPAT_NETBSD32 on SH-5:

- The MD netbsd32_machdep.h header now defines the 32-bit pointer type
instead of using u_int32_t everywhere,
- The MD netbsd32_machdep.h header now defines a macro (at least on
current implementations) which converts a 32-bit pointer to its 64-bit
equivalent,
- Change the MI code to utilise the above two items in all the right places,
- Implement netbsd32___sigaction_sigtramp().

Tested on Sparc64 by Matt Green.
 1.9  24-Mar-2002  jdolecek use FILE_USE()/FILE_UNUSE() as appropriate, use malloc()/free()
instead of MALLOC()/FREE() for variable-size allocations (sync
with kern/sys_generic.c)
XXX not tested
 1.8  16-Mar-2002  christos make the stackgap_{init,alloc} functions MP friendly (i.e. pass struct proc *
in, instead of using curproc). While there add an optional size argument to
stackgap_init.
 1.7  13-Nov-2001  lukem add RCSIDs (including regeneration of files as appropriate)
 1.6  14-Jun-2001  thorpej branches: 1.6.2;
Fix a partial construction problem that can cause race conditions
between creation of a file descriptor and close(2) when using kernel
assisted threads. What we do is stick descriptors in the table, but
mark them as "larval". This causes essentially everything to treat
it as a non-existent descriptor, except for fdalloc(), which sees a
filled slot so that it won't (incorrectly) allocate it again. When
a descriptor is fully constructed, the code that has constructed it
marks it as "mature" (which actually clears the "larval" flag), and
things continue to work as normal.

While here, gather all the code that gets a descriptor from the table
into a fd_getfile() function, and call it, rather than having the
same (sometimes incorrect) code copied all over the place.
 1.5  30-May-2001  mrg use _KERNEL_OPT.
 1.4  09-Apr-2001  jdolecek Change the first arg to fileops fo_stat routine to struct file *, adjust
callers and appropriate routines to cope. This makes fo_stat more
consistent with rest of fileops routines and also makes the fo_stat
match FreeBSD as an added bonus.
Discussed with Luke Mewburn on tech-kern@.
 1.3  09-Apr-2001  jdolecek Call file descriptor stat function via (*fp->f_ops->fo_stat) instead
of a switch statement and explicit call.
Sprinkle some FILE_USE()/FILE_UNUSE() as appropriate.
 1.2  08-Apr-2001  ross Fix soo_stat() calls for the new parameter, even if the direct call is
now obsolete, so that kernels will at least compile. I guess it was too
much trouble to change all 10 call sites, or perhaps, these days, only
things that build on i386 are important. Maybe it's the full moon tonight.
 1.1  08-Feb-2001  mrg branches: 1.1.2; 1.1.4;
split up netbsd32_netbsd.c into 9 new files, leaving only those syscalls that
have no special interpretations besides simple syscall args conversion.
 1.1.4.7  11-Nov-2002  nathanw Catch up to -current
 1.1.4.6  23-Aug-2002  petrov lwpification.
 1.1.4.5  29-May-2002  nathanw #include <sys/sa.h> before <sys/syscallargs.h>, to provide sa_upcall_t
now that <sys/param.h> doesn't include <sys/sa.h>.

(Behold the Power of Ed)
 1.1.4.4  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.4.3  14-Nov-2001  nathanw Catch up to -current.
 1.1.4.2  21-Jun-2001  nathanw Catch up to -current.
 1.1.4.1  09-Apr-2001  nathanw Catch up with -current.
 1.1.2.3  21-Apr-2001  bouyer Sync with HEAD
 1.1.2.2  11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1  08-Feb-2001  bouyer file netbsd32_fs.c was added on branch thorpej_scsipi on 2001-02-11 19:14:13 +0000
 1.6.2.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.14.2.8  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.14.2.7  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.14.2.6  19-Feb-2005  skrll Make this compile for both KTRACE and !KTRACE builds.
 1.14.2.5  21-Sep-2004  skrll Fix the sync with head I botched.
 1.14.2.4  18-Sep-2004  skrll Sync with HEAD.
 1.14.2.3  26-Aug-2004  skrll Adapt to branch.

sparc64 GENERIC compiles.
 1.14.2.2  03-Aug-2004  skrll Sync with HEAD
 1.14.2.1  02-Jul-2003  darrenr Apply the aborted ktrace-lwp changes to a specific branch. This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it. This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.
 1.18.6.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.18.4.1  29-Apr-2005  kent sync with -current
 1.19.4.7  24-Mar-2008  yamt sync with head.
 1.19.4.6  21-Jan-2008  yamt sync with head
 1.19.4.5  07-Dec-2007  yamt sync with head
 1.19.4.4  03-Sep-2007  yamt sync with head.
 1.19.4.3  26-Feb-2007  yamt sync with head.
 1.19.4.2  30-Dec-2006  yamt sync with head.
 1.19.4.1  21-Jun-2006  yamt sync with head.
 1.23.6.2  01-Jun-2006  kardel Sync with head.
 1.23.6.1  22-Apr-2006  simonb Sync with head.
 1.23.4.1  09-Sep-2006  rpaulo sync with head
 1.23.2.1  18-Feb-2006  yamt adapt the rest of MI code.
 1.24.4.6  12-May-2006  elad adapt to kauth kpi, include sys/kauth.h where needed..
 1.24.4.5  12-May-2006  elad include sys/kauth.h where appropriate.
 1.24.4.4  11-May-2006  elad sync with head
 1.24.4.3  19-Apr-2006  elad sync with head.
 1.24.4.2  10-Mar-2006  elad generic_authorize() -> kauth_authorize_generic().
 1.24.4.1  08-Mar-2006  elad Adapt to kernel authorization KPI.
 1.24.2.3  11-Aug-2006  yamt sync with head
 1.24.2.2  24-May-2006  yamt sync with head.
 1.24.2.1  01-Apr-2006  yamt sync with head.
 1.25.2.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.27.4.1  13-Jul-2006  gdamore Merge from HEAD.
 1.33.6.1  10-Dec-2006  yamt sync with head.
 1.33.4.2  30-Jan-2007  ad Remove support for SA. Ok core@.
 1.33.4.1  18-Nov-2006  ad Sync with head.
 1.35.2.4  17-May-2007  yamt sync with head.
 1.35.2.3  07-May-2007  yamt sync with head.
 1.35.2.2  24-Mar-2007  yamt sync with head.
 1.35.2.1  12-Mar-2007  rmind Sync with HEAD.
 1.36.2.6  20-Aug-2007  ad Sync with HEAD.
 1.36.2.5  15-Jul-2007  ad Sync with head.
 1.36.2.4  27-May-2007  ad Sync with head.
 1.36.2.3  10-Apr-2007  ad Sync with head.
 1.36.2.2  13-Mar-2007  ad Pull in the initial set of changes for the vmlocking branch.
 1.36.2.1  13-Mar-2007  ad Sync with head.
 1.37.4.2  29-Mar-2007  reinoud Pullup to -current
 1.37.4.1  18-Mar-2007  reinoud First attempt to bring branch in sync with HEAD
 1.37.2.1  11-Jul-2007  mjf Sync with head.
 1.45.6.2  09-Dec-2007  jmcneill Sync with HEAD.
 1.45.6.1  16-Aug-2007  jmcneill Sync with HEAD.
 1.45.2.1  03-Sep-2007  skrll Sync with HEAD.
 1.46.10.2  26-Dec-2007  ad Sync with head.
 1.46.10.1  08-Dec-2007  ad Sync with head.
 1.46.8.3  18-Feb-2008  mjf Sync with HEAD.
 1.46.8.2  27-Dec-2007  mjf Sync with HEAD.
 1.46.8.1  08-Dec-2007  mjf Sync with HEAD.
 1.46.2.1  09-Jan-2008  matt sync with HEAD
 1.48.4.2  08-Jan-2008  bouyer Sync with HEAD
 1.48.4.1  02-Jan-2008  bouyer Sync with HEAD
 1.50.6.4  17-Jan-2009  mjf Sync with HEAD.
 1.50.6.3  29-Jun-2008  mjf Sync with HEAD.
 1.50.6.2  02-Jun-2008  mjf Sync with HEAD.
 1.50.6.1  03-Apr-2008  mjf Sync with HEAD.
 1.51.2.2  04-Jun-2008  yamt sync with head
 1.51.2.1  18-May-2008  yamt sync with head.
 1.53.4.4  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.53.4.3  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.53.4.2  14-May-2008  wrstuden Per discussion with ad, remove most of the #include <sys/sa.h> lines
as they were including sa.h just for the type(s) needed for syscallargs.h.

Instead, create a new file, sys/satypes.h, which contains just the
types needed for syscallargs.h. Yes, there's only one now, but that
may change and it's probably more likely to change if it'd be difficult
to handle. :-)

Per discussion with matt at n dot o, add an include of satypes.h to
sigtypes.h. Upcall handlers are kinda signal handlers, and signalling
is the header file that's already included for syscallargs.h that
closest matches SA.

This shaves about 3000 lines off of the diff of the branch relative
to the base. That also represents about 18% of the total before this
checkin.

I think this reduction is very good thing.
 1.53.4.1  10-May-2008  wrstuden Initial checkin of re-adding SA. Everything except kern_sa.c
compiles in GENERIC for i386. This is still a work-in-progress, but
this checkin covers most of the mechanical work (changing signalling
to be able to accomidate SA's process-wide signalling and re-adding
includes of sys/sa.h and savar.h). Subsequent changes will be much
more interesting.

Also, kern_sa.c has received partial cleanup. There's still more
to do, though.
 1.53.2.3  11-Aug-2010  yamt sync with head.
 1.53.2.2  11-Mar-2010  yamt sync with head
 1.53.2.1  04-May-2009  yamt sync with head.
 1.54.2.1  27-Jun-2008  simonb Sync with head.
 1.55.14.2  16-Nov-2009  matt remove debug printf
 1.55.14.1  13-Sep-2009  matt Move netbsd32___mount50 from netbsd32_netbsd.c to netbsd32_fs.c
 1.55.10.2  04-Jan-2009  christos add new syscalls.
 1.55.10.1  24-Jun-2008  christos file netbsd32_fs.c was added on branch christos-time_t on 2009-01-04 01:56:02 +0000
 1.55.6.1  13-Jan-2013  bouyer Pull up following revision(s) (requested by matt in ticket #1829):
sys/compat/netbsd32/netbsd32_fs.c: revision 1.64
Fix inverted error check.
 1.55.4.2  03-Mar-2009  skrll Sync with HEAD.
 1.55.4.1  19-Jan-2009  skrll Sync with HEAD.
 1.58.4.3  12-Jun-2011  rmind sync with head
 1.58.4.2  05-Mar-2011  rmind sync with head
 1.58.4.1  30-May-2010  rmind sync with head
 1.58.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.59.4.1  08-Feb-2011  bouyer Sync with HEAD
 1.59.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.60.2.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.61.6.2  06-Mar-2012  mrg sync to -current
 1.61.6.1  18-Feb-2012  mrg merge to -current.
 1.61.2.3  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.61.2.2  16-Jan-2013  yamt sync with (a bit old) head
 1.61.2.1  17-Apr-2012  yamt sync with head
 1.62.6.1  17-Dec-2012  riz Pull up following revision(s) (requested by matt in ticket #756):
sys/compat/netbsd32/netbsd32_fs.c: revision 1.64
Fix inverted error check.
 1.62.2.2  17-Dec-2012  riz Pull up following revision(s) (requested by matt in ticket #756):
sys/compat/netbsd32/netbsd32_fs.c: revision 1.64
Fix inverted error check.
 1.62.2.1  13-Dec-2012  riz Pull up following revision(s) (requested by bouyer in ticket #742):
sys/compat/netbsd32/netbsd32.h: revision 1.94
sys/compat/netbsd32/netbsd32_fs.c: revision 1.63
allow mounting ext2fs and msdosfs
while there also enable lfs but that's untested
 1.63.2.3  03-Dec-2017  jdolecek update from HEAD
 1.63.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.63.2.1  25-Feb-2013  tls resync with head
 1.64.8.1  23-Jul-2013  riastradh sync with HEAD
 1.64.2.2  18-May-2014  rmind sync with head
 1.64.2.1  28-Aug-2013  rmind sync with head
 1.69.2.1  10-Aug-2014  tls Rebase.
 1.72.2.4  28-Aug-2017  skrll Sync with HEAD
 1.72.2.3  05-Dec-2016  skrll Sync with HEAD
 1.72.2.2  22-Apr-2016  skrll Sync with HEAD
 1.72.2.1  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.74.2.2  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.74.2.1  04-Nov-2016  pgoyette Sync with HEAD
 1.80.10.3  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.80.10.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.80.10.1  10-Jun-2019  christos Sync with HEAD
 1.80.8.2  26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.80.8.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.80.2.2  21-Jun-2023  martin Pull up following revision(s) (requested by riastradh in ticket #1833):

sys/compat/netbsd32/netbsd32_netbsd.c: revision 1.232
sys/compat/netbsd32/netbsd32_socket.c: revision 1.56
sys/compat/netbsd32/netbsd32_conv.h: revision 1.45
sys/compat/netbsd32/netbsd32_fs.c: revision 1.92
sys/compat/netbsd32/netbsd32.h: revision 1.137

The read/write/send/recv system calls return ssize_t because -1 is
returned on error. Therefore we must restrict the lengths of any
buffers to NETBSD32_SSIZE_MAX with compat32 to avoid garbage return
values.

Fixes ATF lib/libc/sys/t_write:write_err.
 1.80.2.1  25-Aug-2018  martin Pull up following revision(s) (requested by mrg in ticket #977):

sys/compat/netbsd32/netbsd32_fs.c: revision 1.81
sys/compat/netbsd32/netbsd32.h: revision 1.119

support nullfs in netbsd32.
 1.82.4.4  01-Apr-2023  martin Pull up following revision(s) (requested by riastradh in ticket #1620):

sys/compat/netbsd32/netbsd32_fs.c: revision 1.89

data_len == 0 on mount means "the kernel knows". Fixes amd on compat32.
 1.82.4.3  03-Aug-2022  martin Pull up following revision(s), all via patch
(requested by riastradh in ticket #1489):

sys/compat/netbsd32/netbsd32_netbsd.c: revision 1.232
sys/compat/netbsd32/netbsd32_socket.c: revision 1.56
sys/compat/netbsd32/netbsd32_conv.h: revision 1.45
sys/compat/netbsd32/netbsd32_fs.c: revision 1.92
sys/compat/netbsd32/netbsd32.h: revision 1.137

The read/write/send/recv system calls return ssize_t because -1 is
returned on error. Therefore we must restrict the lengths of any
buffers to NETBSD32_SSIZE_MAX with compat32 to avoid garbage return
values.

Fixes ATF lib/libc/sys/t_write:write_err.
 1.82.4.2  24-Apr-2022  martin Pull up following revision(s) (requested by reinoud in ticket #1438):

sys/compat/netbsd32/netbsd32.h: revision 1.140
sys/compat/netbsd32/netbsd32_fs.c: revision 1.95
sys/fs/udf/udf_subr.c: revision 1.169

Fix endian issue with UDF extended attribute handling

Implement support for mounting UDF in compat32
Fixes PR#56801
 1.82.4.1  16-Oct-2019  martin Pull up following revision(s) (requested by maxv in ticket #337):

sys/compat/netbsd32/netbsd32_fs.c: revision 1.83

Fix netbsd32___mount50():
- zero out fs_args32 to prevent info leaks
- remove unused and non-functional copyin in NFS (lgtm bot)
- declare udata, and don't pass kernel pointers to copyout (lgtm bot)
- make sure data_len is just big enough, to mimic the native behavior
- don't forget to update *retval with the 32bit value
- add an XXX for NFS
 1.85.2.2  29-Feb-2020  ad Sync with head.
 1.85.2.1  25-Jan-2020  ad Make cwdinfo use mostly lockless, and largely hide the details in vfs_cwd.c.
 1.87.4.1  25-Apr-2020  bouyer Sync with bouyer-xenpvh-base2 (HEAD)
 1.90.2.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed