#
1.68 |
|
29-Jul-2023 |
christos |
Add/fix statx, readahead, close_range. From GSoC 2023 by Theodore Preduta
|
Revision tags: netbsd-10-base bouyer-sunxi-drm-base
|
#
1.67 |
|
25-Nov-2021 |
ryo |
- Add compat_linux statx(2) syscall. - The AT_EMPTY_PATH processing from the modification of sys/compat/linux/common/linux_file64.c r1.63 has been separated, and made common to linux_statat(), so that it can be used not only by linux32_sys_fstatat64() but also by other *statat() variants.
|
#
1.66 |
|
25-Nov-2021 |
ryo |
rename bsd_to_linux_stat() to bsd_to_linux_stat64() to avoid confusion. There is a static function with the same name in linux/common/linux_file.c.
NFC.
|
#
1.65 |
|
25-Nov-2021 |
ryo |
rename bsd_to_linux_stat() to bsd_to_linux_stat64() to avoid confusion. There is a static function with the same name in linux/common/linux_file.c.
NFC.
|
#
1.64 |
|
23-Sep-2021 |
ryo |
add support COMPAT_LINUX for aarch64
|
#
1.63 |
|
21-Sep-2021 |
rin |
linux_sys_fstatat64: Add support for AT_EMPTY_PATH flag.
This is required for rtld shipped with glibc 2.33.
Now, userland of Fedora 34 is working fine on NetBSD/amd64.
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
|
#
1.62 |
|
23-Aug-2019 |
maxv |
Fix info leaks.
|
#
1.61 |
|
23-Aug-2019 |
maxv |
Fix info leak.
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
#
1.60 |
|
03-Sep-2018 |
riastradh |
branches: 1.60.4; Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825
|
#
1.59 |
|
28-Jul-2017 |
riastradh |
branches: 1.59.2; 1.59.4; Fail, don't panic, on bad dirents from file system.
Controllable via puffs from userland.
From Ilja Van Sprundel.
|
Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204
|
#
1.58 |
|
28-Jan-2017 |
christos |
branches: 1.58.6; copy the terminating NUL (njoly)
|
Revision tags: bouyer-socketcan-base
|
#
1.57 |
|
13-Jan-2017 |
christos |
branches: 1.57.2; fix typo
|
#
1.56 |
|
13-Jan-2017 |
christos |
convert strcpy to a bounded copy to avoid compiler warnings, although the reclen test prevents overflow.
|
Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.55 |
|
27-Dec-2013 |
njoly |
branches: 1.55.4; 1.55.6; 1.55.8; 1.55.10; 1.55.14; Add struct linux_stat64 definition for alpha, and enable syscalls that use it.
|
#
1.54 |
|
18-Nov-2013 |
chs |
implement the *at() syscalls. bring the unimplemented syscall list up to date.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.53 |
|
14-Oct-2011 |
hannken |
branches: 1.53.2; 1.53.8; 1.53.12; 1.53.14; 1.53.16; 1.53.22; Change the vnode locking protocol of VOP_GETATTR() to request at least a shared lock. Make all calls outside of file systems respect it.
The calls from file systems need review.
No objections from tech-kern.
|
#
1.52 |
|
01-Sep-2011 |
njoly |
Make linux_sys_getdents64 fails with ENOTDIR instead of EINVAL, when fd does not refer to a directory.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
#
1.51 |
|
24-Jun-2010 |
hannken |
Clean up vnode lock operations pass 2:
VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.
Welcome to 5.99.32.
Discussed on tech-kern.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.50 |
|
03-Mar-2010 |
he |
branches: 1.50.2; When implementing "read directory", when there are too many empty entries in a row, and we need to try to read the next block, and have passed a non-NULL cookie pointer to VOP_READDIR, ensure that we free the cookie buffer before re-doing VOP_READDIR, so that we don't leak memory. This fix is similar to nfs_serv.c revisions 1.115 + 1.124.
This should fix the long-standing problem observed by e.g. using Linux- emulated programs to take backup of servers, which is one of the problems which were reported in PR#42661.
Thanks to pooka@ for the hints for traversing the VOP* layer.
|
Revision tags: uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase
|
#
1.49 |
|
15-May-2009 |
pooka |
branches: 1.49.2; pad -> PAD
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
#
1.48 |
|
24-Jun-2008 |
ad |
branches: 1.48.6; 1.48.10; 1.48.14; Replace references to getsock/getvnode.
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.47 |
|
28-Apr-2008 |
martin |
branches: 1.47.2; 1.47.4; Remove clause 3 and 4 from TNF licenses
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14
|
#
1.46 |
|
21-Mar-2008 |
ad |
branches: 1.46.2; 1.46.4; Catch up with descriptor handling changes. See kern_descrip.c revision 1.173 for details.
|
Revision tags: keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.45 |
|
02-Feb-2008 |
dsl |
branches: 1.45.6; Extract the fcntl64() suppoort from linux_file64.c into linux_fcntl64.c Unravel some of the knots that caused linux_file64.c to be compiled twice for an amd64 kernel (once for linux and once for linux32) with different parts being skipped each time.
|
Revision tags: vmlocking2-base3 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.44 |
|
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.
|
Revision tags: yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base jmcneill-pm-base
|
#
1.43 |
|
08-Dec-2007 |
dsl |
branches: 1.43.4; ANSIfy most of the function definitions in sys/compat (but not ndis). All by the magic of sed ...
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base
|
#
1.42 |
|
04-Dec-2007 |
dsl |
Remove all the __P
|
Revision tags: vmlocking2-base1 vmlocking-nbase
|
#
1.41 |
|
26-Nov-2007 |
pooka |
branches: 1.41.2; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.40 |
|
19-Oct-2007 |
njoly |
branches: 1.40.2; Add compat_linux and exec_linux_elf lkm support for amd64: - Add needed COMPAT_OSSAUDIO to GENERIC. - Add missing includes needed by linux_syscallargs.h. - Add lkm building.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 mjf-ufs-trans-base vmlocking-base
|
#
1.39 |
|
12-May-2007 |
dsl |
branches: 1.39.6; 1.39.8; 1.39.12; Split the fcntl locking code out from its copyin/out. Use to avoid all the stackgap stuff in compat code.
|
#
1.38 |
|
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.
|
Revision tags: thorpej-atomic-base
|
#
1.37 |
|
10-Mar-2007 |
dsl |
branches: 1.37.2; 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.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.35 |
|
09-Feb-2007 |
ad |
branches: 1.35.2; Merge newlock2 to head.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
|
#
1.34 |
|
23-Jul-2006 |
ad |
branches: 1.34.4; 1.34.8; Use the LWP cached credentials where sane.
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base
|
#
1.33 |
|
14-May-2006 |
elad |
integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base
|
#
1.32 |
|
01-Mar-2006 |
yamt |
branches: 1.32.2; 1.32.4; 1.32.6; 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.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.31 |
|
09-Feb-2006 |
manu |
Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so that the i386 license manager part of amd64 version of Fluent works.
While I'm here, add SysV IPC to COMPAT_LINUX/amd64
|
#
1.30 |
|
11-Dec-2005 |
christos |
branches: 1.30.2; 1.30.4; 1.30.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.29 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.28 |
|
29-May-2005 |
christos |
branches: 1.28.2; - sprinkle const. - add XXXUNCONST to the emul_find() pbuf argument free'ing. XXX: this needs an api change. - avoid variable shadowing.
|
#
1.27 |
|
03-May-2005 |
manu |
First work on COMPAT_LINUX/amd64 Process startup and dynamiclinking work, but processes hang due to Linux arch_prctl(2) not being really supported yet.
|
Revision tags: kent-audio2-base
|
#
1.26 |
|
19-Apr-2005 |
christos |
PR/29696: Joel Carnat: NetBSD freezes when accessing smbfs mounted FS with firefox/linux due to compat getdents() call assumption that all filesystems support cookies.
|
Revision tags: yamt-km-base4 yamt-km-base3 netbsd-3-base
|
#
1.25 |
|
10-Mar-2005 |
christos |
branches: 1.25.2; Add nanosecond handling on the stat and stat64 code for the i386.
|
#
1.24 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.23 |
|
17-Sep-2004 |
skrll |
branches: 1.23.4; 1.23.6; There's no need to pass a proc value when using UIO_SYSSPACE with vn_rdwr(9) and uiomove(9).
OK'd by Jason Thorpe
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.22 |
|
10-Aug-2003 |
jdolecek |
add Linux compat arg wrapper for ftruncate64(), and change linux compat truncate64() wrapper to translate args structure NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have to do the argument translation
Problem found and patch supplied in PR kern/22360 by Ales Krenek
This is the last of syscalls with hidden 'pad' arg we didn't have wrapper for; all the others (lseek, mmap, pwrite, pread) already had wrapper before.
|
#
1.21 |
|
29-Jun-2003 |
fvdl |
branches: 1.21.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.20 |
|
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.19 |
|
18-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base kqueue-base
|
#
1.18 |
|
20-May-2002 |
jdolecek |
branches: 1.18.2; linux_sys_getdents64(): remove the oldcall bug workaround cruft, it's not needed for this call, and update comment accordingly
|
#
1.17 |
|
20-May-2002 |
jdolecek |
linux_sys_getdents64(): make the d_off member point to next entry, rather than current one; this is expected (even documented) behaviour of the new system call This fixes the endless loop when reading directories on NFS, though applications won't see all directory entries due to different problem. Fix by Matthias Scheler and Charles Hannum.
|
#
1.16 |
|
19-May-2002 |
jdolecek |
On archs with broken linux struct stat64 st_ino, rename linux_stat64's lst_ino to __lst_ino and lst_ino64 to lst_ino, and define LINUX_STAT64_HAS_BROKEN_ST_INO. Only assign __lst_ino if this define is present.
This fixes compile on powerpc archs, and hence port-powerpc/16893.
|
#
1.15 |
|
13-May-2002 |
matt |
branches: 1.15.2; Make COMPAT_LINUX compile again on Alpha. linux_getdents64 moved but files.linux_alpha wasn't updated. common/linux_file64.c contains a lot of syscalls which aren't on Linux/alpha so #ifdef them for alpha.
|
#
1.14 |
|
13-May-2002 |
simonb |
Remove an unreachable "return error;".
|
#
1.13 |
|
12-May-2002 |
jdolecek |
hook in remaining 64bit fs syscalls make most of stuff in linux_file64.c available unconditionally, with exception of fcntl64, which is not present on Linux m68k
|
#
1.12 |
|
10-May-2002 |
tron |
Remove check for size of field "d_off" in Linux "dirent" structure because this problem cannot happen with the 64Bit version of the getdents().
|
#
1.11 |
|
10-May-2002 |
tron |
Move implementation of linux_sys_getdents64() to source file for Linux 64bit filesystem calls.
|
#
1.10 |
|
22-Mar-2002 |
christos |
gc debugging printfs.
|
#
1.9 |
|
22-Mar-2002 |
christos |
implement the locking calls for linux_file64.
|
Revision tags: eeh-devprop-base
|
#
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.
|
Revision tags: newlock-base ifpoll-base
|
#
1.7 |
|
15-Feb-2002 |
christos |
- add a real linux_sys___sysctl because the mib numbers are different. implement only the kernel version getting entries. - make the signal conversion functions consistent; dest is arg 1. - make linux_fakedev deal with block and char devices differently. - add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so that they work properly. - add linux_mmap2 [untested]. - bump kernel to 2.4.18, and make the date be valentine's day :-) - linux_sys_*stat64 family was totally busted. Fix it.
tested only on i386.
Status: gdb, telnet, work jdk-1.4.0 extractor works, jdk still coredumps.
christos
|
#
1.6 |
|
13-Nov-2001 |
lukem |
add RCSIDs (including regeneration of files as appropriate)
|
Revision tags: thorpej-mips-cache-base
|
#
1.5 |
|
14-Oct-2001 |
manu |
Fixed a minor problem so that it builds
|
Revision tags: thorpej-devvp-base3
|
#
1.4 |
|
30-Sep-2001 |
manu |
Fixes my last commit: only mips really need fcntl64 to work now. i386 and powerpc could use it later if needed. m68k and alpha should never need it.
|
#
1.3 |
|
30-Sep-2001 |
manu |
Added initial support for fcntl64 system call (file locking is not implemented)
|
Revision tags: thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.2 |
|
12-Dec-2000 |
jdolecek |
branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; add linux_sys_truncate64()
|
#
1.1 |
|
12-Dec-2000 |
jdolecek |
add emulation of Linux truncate64(2), ftruncate64(2), *stat64(2)
|
#
1.67 |
|
25-Nov-2021 |
ryo |
- Add compat_linux statx(2) syscall. - The AT_EMPTY_PATH processing from the modification of sys/compat/linux/common/linux_file64.c r1.63 has been separated, and made common to linux_statat(), so that it can be used not only by linux32_sys_fstatat64() but also by other *statat() variants.
|
#
1.66 |
|
25-Nov-2021 |
ryo |
rename bsd_to_linux_stat() to bsd_to_linux_stat64() to avoid confusion. There is a static function with the same name in linux/common/linux_file.c.
NFC.
|
#
1.65 |
|
25-Nov-2021 |
ryo |
rename bsd_to_linux_stat() to bsd_to_linux_stat64() to avoid confusion. There is a static function with the same name in linux/common/linux_file.c.
NFC.
|
#
1.64 |
|
23-Sep-2021 |
ryo |
add support COMPAT_LINUX for aarch64
|
#
1.63 |
|
21-Sep-2021 |
rin |
linux_sys_fstatat64: Add support for AT_EMPTY_PATH flag.
This is required for rtld shipped with glibc 2.33.
Now, userland of Fedora 34 is working fine on NetBSD/amd64.
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
|
#
1.62 |
|
23-Aug-2019 |
maxv |
Fix info leaks.
|
#
1.61 |
|
23-Aug-2019 |
maxv |
Fix info leak.
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
#
1.60 |
|
03-Sep-2018 |
riastradh |
branches: 1.60.4; Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825
|
#
1.59 |
|
28-Jul-2017 |
riastradh |
branches: 1.59.2; 1.59.4; Fail, don't panic, on bad dirents from file system.
Controllable via puffs from userland.
From Ilja Van Sprundel.
|
Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204
|
#
1.58 |
|
28-Jan-2017 |
christos |
branches: 1.58.6; copy the terminating NUL (njoly)
|
Revision tags: bouyer-socketcan-base
|
#
1.57 |
|
13-Jan-2017 |
christos |
branches: 1.57.2; fix typo
|
#
1.56 |
|
13-Jan-2017 |
christos |
convert strcpy to a bounded copy to avoid compiler warnings, although the reclen test prevents overflow.
|
Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.55 |
|
27-Dec-2013 |
njoly |
branches: 1.55.4; 1.55.6; 1.55.8; 1.55.10; 1.55.14; Add struct linux_stat64 definition for alpha, and enable syscalls that use it.
|
#
1.54 |
|
18-Nov-2013 |
chs |
implement the *at() syscalls. bring the unimplemented syscall list up to date.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.53 |
|
14-Oct-2011 |
hannken |
branches: 1.53.2; 1.53.8; 1.53.12; 1.53.14; 1.53.16; 1.53.22; Change the vnode locking protocol of VOP_GETATTR() to request at least a shared lock. Make all calls outside of file systems respect it.
The calls from file systems need review.
No objections from tech-kern.
|
#
1.52 |
|
01-Sep-2011 |
njoly |
Make linux_sys_getdents64 fails with ENOTDIR instead of EINVAL, when fd does not refer to a directory.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
#
1.51 |
|
24-Jun-2010 |
hannken |
Clean up vnode lock operations pass 2:
VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.
Welcome to 5.99.32.
Discussed on tech-kern.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.50 |
|
03-Mar-2010 |
he |
branches: 1.50.2; When implementing "read directory", when there are too many empty entries in a row, and we need to try to read the next block, and have passed a non-NULL cookie pointer to VOP_READDIR, ensure that we free the cookie buffer before re-doing VOP_READDIR, so that we don't leak memory. This fix is similar to nfs_serv.c revisions 1.115 + 1.124.
This should fix the long-standing problem observed by e.g. using Linux- emulated programs to take backup of servers, which is one of the problems which were reported in PR#42661.
Thanks to pooka@ for the hints for traversing the VOP* layer.
|
Revision tags: uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase
|
#
1.49 |
|
15-May-2009 |
pooka |
branches: 1.49.2; pad -> PAD
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
#
1.48 |
|
24-Jun-2008 |
ad |
branches: 1.48.6; 1.48.10; 1.48.14; Replace references to getsock/getvnode.
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.47 |
|
28-Apr-2008 |
martin |
branches: 1.47.2; 1.47.4; Remove clause 3 and 4 from TNF licenses
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14
|
#
1.46 |
|
21-Mar-2008 |
ad |
branches: 1.46.2; 1.46.4; Catch up with descriptor handling changes. See kern_descrip.c revision 1.173 for details.
|
Revision tags: keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.45 |
|
02-Feb-2008 |
dsl |
branches: 1.45.6; Extract the fcntl64() suppoort from linux_file64.c into linux_fcntl64.c Unravel some of the knots that caused linux_file64.c to be compiled twice for an amd64 kernel (once for linux and once for linux32) with different parts being skipped each time.
|
Revision tags: vmlocking2-base3 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.44 |
|
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.
|
Revision tags: yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base jmcneill-pm-base
|
#
1.43 |
|
08-Dec-2007 |
dsl |
branches: 1.43.4; ANSIfy most of the function definitions in sys/compat (but not ndis). All by the magic of sed ...
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base
|
#
1.42 |
|
04-Dec-2007 |
dsl |
Remove all the __P
|
Revision tags: vmlocking2-base1 vmlocking-nbase
|
#
1.41 |
|
26-Nov-2007 |
pooka |
branches: 1.41.2; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.40 |
|
19-Oct-2007 |
njoly |
branches: 1.40.2; Add compat_linux and exec_linux_elf lkm support for amd64: - Add needed COMPAT_OSSAUDIO to GENERIC. - Add missing includes needed by linux_syscallargs.h. - Add lkm building.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 mjf-ufs-trans-base vmlocking-base
|
#
1.39 |
|
12-May-2007 |
dsl |
branches: 1.39.6; 1.39.8; 1.39.12; Split the fcntl locking code out from its copyin/out. Use to avoid all the stackgap stuff in compat code.
|
#
1.38 |
|
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.
|
Revision tags: thorpej-atomic-base
|
#
1.37 |
|
10-Mar-2007 |
dsl |
branches: 1.37.2; 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.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.35 |
|
09-Feb-2007 |
ad |
branches: 1.35.2; Merge newlock2 to head.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
|
#
1.34 |
|
23-Jul-2006 |
ad |
branches: 1.34.4; 1.34.8; Use the LWP cached credentials where sane.
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base
|
#
1.33 |
|
14-May-2006 |
elad |
integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base
|
#
1.32 |
|
01-Mar-2006 |
yamt |
branches: 1.32.2; 1.32.4; 1.32.6; 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.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.31 |
|
09-Feb-2006 |
manu |
Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so that the i386 license manager part of amd64 version of Fluent works.
While I'm here, add SysV IPC to COMPAT_LINUX/amd64
|
#
1.30 |
|
11-Dec-2005 |
christos |
branches: 1.30.2; 1.30.4; 1.30.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.29 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.28 |
|
29-May-2005 |
christos |
branches: 1.28.2; - sprinkle const. - add XXXUNCONST to the emul_find() pbuf argument free'ing. XXX: this needs an api change. - avoid variable shadowing.
|
#
1.27 |
|
03-May-2005 |
manu |
First work on COMPAT_LINUX/amd64 Process startup and dynamiclinking work, but processes hang due to Linux arch_prctl(2) not being really supported yet.
|
Revision tags: kent-audio2-base
|
#
1.26 |
|
19-Apr-2005 |
christos |
PR/29696: Joel Carnat: NetBSD freezes when accessing smbfs mounted FS with firefox/linux due to compat getdents() call assumption that all filesystems support cookies.
|
Revision tags: yamt-km-base4 yamt-km-base3 netbsd-3-base
|
#
1.25 |
|
10-Mar-2005 |
christos |
branches: 1.25.2; Add nanosecond handling on the stat and stat64 code for the i386.
|
#
1.24 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.23 |
|
17-Sep-2004 |
skrll |
branches: 1.23.4; 1.23.6; There's no need to pass a proc value when using UIO_SYSSPACE with vn_rdwr(9) and uiomove(9).
OK'd by Jason Thorpe
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.22 |
|
10-Aug-2003 |
jdolecek |
add Linux compat arg wrapper for ftruncate64(), and change linux compat truncate64() wrapper to translate args structure NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have to do the argument translation
Problem found and patch supplied in PR kern/22360 by Ales Krenek
This is the last of syscalls with hidden 'pad' arg we didn't have wrapper for; all the others (lseek, mmap, pwrite, pread) already had wrapper before.
|
#
1.21 |
|
29-Jun-2003 |
fvdl |
branches: 1.21.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.20 |
|
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.19 |
|
18-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base kqueue-base
|
#
1.18 |
|
20-May-2002 |
jdolecek |
branches: 1.18.2; linux_sys_getdents64(): remove the oldcall bug workaround cruft, it's not needed for this call, and update comment accordingly
|
#
1.17 |
|
20-May-2002 |
jdolecek |
linux_sys_getdents64(): make the d_off member point to next entry, rather than current one; this is expected (even documented) behaviour of the new system call This fixes the endless loop when reading directories on NFS, though applications won't see all directory entries due to different problem. Fix by Matthias Scheler and Charles Hannum.
|
#
1.16 |
|
19-May-2002 |
jdolecek |
On archs with broken linux struct stat64 st_ino, rename linux_stat64's lst_ino to __lst_ino and lst_ino64 to lst_ino, and define LINUX_STAT64_HAS_BROKEN_ST_INO. Only assign __lst_ino if this define is present.
This fixes compile on powerpc archs, and hence port-powerpc/16893.
|
#
1.15 |
|
13-May-2002 |
matt |
branches: 1.15.2; Make COMPAT_LINUX compile again on Alpha. linux_getdents64 moved but files.linux_alpha wasn't updated. common/linux_file64.c contains a lot of syscalls which aren't on Linux/alpha so #ifdef them for alpha.
|
#
1.14 |
|
13-May-2002 |
simonb |
Remove an unreachable "return error;".
|
#
1.13 |
|
12-May-2002 |
jdolecek |
hook in remaining 64bit fs syscalls make most of stuff in linux_file64.c available unconditionally, with exception of fcntl64, which is not present on Linux m68k
|
#
1.12 |
|
10-May-2002 |
tron |
Remove check for size of field "d_off" in Linux "dirent" structure because this problem cannot happen with the 64Bit version of the getdents().
|
#
1.11 |
|
10-May-2002 |
tron |
Move implementation of linux_sys_getdents64() to source file for Linux 64bit filesystem calls.
|
#
1.10 |
|
22-Mar-2002 |
christos |
gc debugging printfs.
|
#
1.9 |
|
22-Mar-2002 |
christos |
implement the locking calls for linux_file64.
|
Revision tags: eeh-devprop-base
|
#
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.
|
Revision tags: newlock-base ifpoll-base
|
#
1.7 |
|
15-Feb-2002 |
christos |
- add a real linux_sys___sysctl because the mib numbers are different. implement only the kernel version getting entries. - make the signal conversion functions consistent; dest is arg 1. - make linux_fakedev deal with block and char devices differently. - add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so that they work properly. - add linux_mmap2 [untested]. - bump kernel to 2.4.18, and make the date be valentine's day :-) - linux_sys_*stat64 family was totally busted. Fix it.
tested only on i386.
Status: gdb, telnet, work jdk-1.4.0 extractor works, jdk still coredumps.
christos
|
#
1.6 |
|
13-Nov-2001 |
lukem |
add RCSIDs (including regeneration of files as appropriate)
|
Revision tags: thorpej-mips-cache-base
|
#
1.5 |
|
14-Oct-2001 |
manu |
Fixed a minor problem so that it builds
|
Revision tags: thorpej-devvp-base3
|
#
1.4 |
|
30-Sep-2001 |
manu |
Fixes my last commit: only mips really need fcntl64 to work now. i386 and powerpc could use it later if needed. m68k and alpha should never need it.
|
#
1.3 |
|
30-Sep-2001 |
manu |
Added initial support for fcntl64 system call (file locking is not implemented)
|
Revision tags: thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.2 |
|
12-Dec-2000 |
jdolecek |
branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; add linux_sys_truncate64()
|
#
1.1 |
|
12-Dec-2000 |
jdolecek |
add emulation of Linux truncate64(2), ftruncate64(2), *stat64(2)
|
#
1.64 |
|
23-Sep-2021 |
ryo |
add support COMPAT_LINUX for aarch64
|
#
1.63 |
|
21-Sep-2021 |
rin |
linux_sys_fstatat64: Add support for AT_EMPTY_PATH flag.
This is required for rtld shipped with glibc 2.33.
Now, userland of Fedora 34 is working fine on NetBSD/amd64.
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
|
#
1.62 |
|
23-Aug-2019 |
maxv |
Fix info leaks.
|
#
1.61 |
|
23-Aug-2019 |
maxv |
Fix info leak.
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
#
1.60 |
|
03-Sep-2018 |
riastradh |
branches: 1.60.4; Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825
|
#
1.59 |
|
28-Jul-2017 |
riastradh |
branches: 1.59.2; 1.59.4; Fail, don't panic, on bad dirents from file system.
Controllable via puffs from userland.
From Ilja Van Sprundel.
|
Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204
|
#
1.58 |
|
28-Jan-2017 |
christos |
branches: 1.58.6; copy the terminating NUL (njoly)
|
Revision tags: bouyer-socketcan-base
|
#
1.57 |
|
13-Jan-2017 |
christos |
branches: 1.57.2; fix typo
|
#
1.56 |
|
13-Jan-2017 |
christos |
convert strcpy to a bounded copy to avoid compiler warnings, although the reclen test prevents overflow.
|
Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.55 |
|
27-Dec-2013 |
njoly |
branches: 1.55.4; 1.55.6; 1.55.8; 1.55.10; 1.55.14; Add struct linux_stat64 definition for alpha, and enable syscalls that use it.
|
#
1.54 |
|
18-Nov-2013 |
chs |
implement the *at() syscalls. bring the unimplemented syscall list up to date.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.53 |
|
14-Oct-2011 |
hannken |
branches: 1.53.2; 1.53.8; 1.53.12; 1.53.14; 1.53.16; 1.53.22; Change the vnode locking protocol of VOP_GETATTR() to request at least a shared lock. Make all calls outside of file systems respect it.
The calls from file systems need review.
No objections from tech-kern.
|
#
1.52 |
|
01-Sep-2011 |
njoly |
Make linux_sys_getdents64 fails with ENOTDIR instead of EINVAL, when fd does not refer to a directory.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
#
1.51 |
|
24-Jun-2010 |
hannken |
Clean up vnode lock operations pass 2:
VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.
Welcome to 5.99.32.
Discussed on tech-kern.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.50 |
|
03-Mar-2010 |
he |
branches: 1.50.2; When implementing "read directory", when there are too many empty entries in a row, and we need to try to read the next block, and have passed a non-NULL cookie pointer to VOP_READDIR, ensure that we free the cookie buffer before re-doing VOP_READDIR, so that we don't leak memory. This fix is similar to nfs_serv.c revisions 1.115 + 1.124.
This should fix the long-standing problem observed by e.g. using Linux- emulated programs to take backup of servers, which is one of the problems which were reported in PR#42661.
Thanks to pooka@ for the hints for traversing the VOP* layer.
|
Revision tags: uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase
|
#
1.49 |
|
15-May-2009 |
pooka |
branches: 1.49.2; pad -> PAD
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
#
1.48 |
|
24-Jun-2008 |
ad |
branches: 1.48.6; 1.48.10; 1.48.14; Replace references to getsock/getvnode.
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.47 |
|
28-Apr-2008 |
martin |
branches: 1.47.2; 1.47.4; Remove clause 3 and 4 from TNF licenses
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14
|
#
1.46 |
|
21-Mar-2008 |
ad |
branches: 1.46.2; 1.46.4; Catch up with descriptor handling changes. See kern_descrip.c revision 1.173 for details.
|
Revision tags: keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.45 |
|
02-Feb-2008 |
dsl |
branches: 1.45.6; Extract the fcntl64() suppoort from linux_file64.c into linux_fcntl64.c Unravel some of the knots that caused linux_file64.c to be compiled twice for an amd64 kernel (once for linux and once for linux32) with different parts being skipped each time.
|
Revision tags: vmlocking2-base3 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.44 |
|
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.
|
Revision tags: yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base jmcneill-pm-base
|
#
1.43 |
|
08-Dec-2007 |
dsl |
branches: 1.43.4; ANSIfy most of the function definitions in sys/compat (but not ndis). All by the magic of sed ...
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base
|
#
1.42 |
|
04-Dec-2007 |
dsl |
Remove all the __P
|
Revision tags: vmlocking2-base1 vmlocking-nbase
|
#
1.41 |
|
26-Nov-2007 |
pooka |
branches: 1.41.2; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.40 |
|
19-Oct-2007 |
njoly |
branches: 1.40.2; Add compat_linux and exec_linux_elf lkm support for amd64: - Add needed COMPAT_OSSAUDIO to GENERIC. - Add missing includes needed by linux_syscallargs.h. - Add lkm building.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 mjf-ufs-trans-base vmlocking-base
|
#
1.39 |
|
12-May-2007 |
dsl |
branches: 1.39.6; 1.39.8; 1.39.12; Split the fcntl locking code out from its copyin/out. Use to avoid all the stackgap stuff in compat code.
|
#
1.38 |
|
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.
|
Revision tags: thorpej-atomic-base
|
#
1.37 |
|
10-Mar-2007 |
dsl |
branches: 1.37.2; 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.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.35 |
|
09-Feb-2007 |
ad |
branches: 1.35.2; Merge newlock2 to head.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
|
#
1.34 |
|
23-Jul-2006 |
ad |
branches: 1.34.4; 1.34.8; Use the LWP cached credentials where sane.
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base
|
#
1.33 |
|
14-May-2006 |
elad |
integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base
|
#
1.32 |
|
01-Mar-2006 |
yamt |
branches: 1.32.2; 1.32.4; 1.32.6; 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.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.31 |
|
09-Feb-2006 |
manu |
Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so that the i386 license manager part of amd64 version of Fluent works.
While I'm here, add SysV IPC to COMPAT_LINUX/amd64
|
#
1.30 |
|
11-Dec-2005 |
christos |
branches: 1.30.2; 1.30.4; 1.30.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.29 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.28 |
|
29-May-2005 |
christos |
branches: 1.28.2; - sprinkle const. - add XXXUNCONST to the emul_find() pbuf argument free'ing. XXX: this needs an api change. - avoid variable shadowing.
|
#
1.27 |
|
03-May-2005 |
manu |
First work on COMPAT_LINUX/amd64 Process startup and dynamiclinking work, but processes hang due to Linux arch_prctl(2) not being really supported yet.
|
Revision tags: kent-audio2-base
|
#
1.26 |
|
19-Apr-2005 |
christos |
PR/29696: Joel Carnat: NetBSD freezes when accessing smbfs mounted FS with firefox/linux due to compat getdents() call assumption that all filesystems support cookies.
|
Revision tags: yamt-km-base4 yamt-km-base3 netbsd-3-base
|
#
1.25 |
|
10-Mar-2005 |
christos |
branches: 1.25.2; Add nanosecond handling on the stat and stat64 code for the i386.
|
#
1.24 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.23 |
|
17-Sep-2004 |
skrll |
branches: 1.23.4; 1.23.6; There's no need to pass a proc value when using UIO_SYSSPACE with vn_rdwr(9) and uiomove(9).
OK'd by Jason Thorpe
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.22 |
|
10-Aug-2003 |
jdolecek |
add Linux compat arg wrapper for ftruncate64(), and change linux compat truncate64() wrapper to translate args structure NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have to do the argument translation
Problem found and patch supplied in PR kern/22360 by Ales Krenek
This is the last of syscalls with hidden 'pad' arg we didn't have wrapper for; all the others (lseek, mmap, pwrite, pread) already had wrapper before.
|
#
1.21 |
|
29-Jun-2003 |
fvdl |
branches: 1.21.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.20 |
|
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.19 |
|
18-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base kqueue-base
|
#
1.18 |
|
20-May-2002 |
jdolecek |
branches: 1.18.2; linux_sys_getdents64(): remove the oldcall bug workaround cruft, it's not needed for this call, and update comment accordingly
|
#
1.17 |
|
20-May-2002 |
jdolecek |
linux_sys_getdents64(): make the d_off member point to next entry, rather than current one; this is expected (even documented) behaviour of the new system call This fixes the endless loop when reading directories on NFS, though applications won't see all directory entries due to different problem. Fix by Matthias Scheler and Charles Hannum.
|
#
1.16 |
|
19-May-2002 |
jdolecek |
On archs with broken linux struct stat64 st_ino, rename linux_stat64's lst_ino to __lst_ino and lst_ino64 to lst_ino, and define LINUX_STAT64_HAS_BROKEN_ST_INO. Only assign __lst_ino if this define is present.
This fixes compile on powerpc archs, and hence port-powerpc/16893.
|
#
1.15 |
|
13-May-2002 |
matt |
branches: 1.15.2; Make COMPAT_LINUX compile again on Alpha. linux_getdents64 moved but files.linux_alpha wasn't updated. common/linux_file64.c contains a lot of syscalls which aren't on Linux/alpha so #ifdef them for alpha.
|
#
1.14 |
|
13-May-2002 |
simonb |
Remove an unreachable "return error;".
|
#
1.13 |
|
12-May-2002 |
jdolecek |
hook in remaining 64bit fs syscalls make most of stuff in linux_file64.c available unconditionally, with exception of fcntl64, which is not present on Linux m68k
|
#
1.12 |
|
10-May-2002 |
tron |
Remove check for size of field "d_off" in Linux "dirent" structure because this problem cannot happen with the 64Bit version of the getdents().
|
#
1.11 |
|
10-May-2002 |
tron |
Move implementation of linux_sys_getdents64() to source file for Linux 64bit filesystem calls.
|
#
1.10 |
|
22-Mar-2002 |
christos |
gc debugging printfs.
|
#
1.9 |
|
22-Mar-2002 |
christos |
implement the locking calls for linux_file64.
|
Revision tags: eeh-devprop-base
|
#
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.
|
Revision tags: newlock-base ifpoll-base
|
#
1.7 |
|
15-Feb-2002 |
christos |
- add a real linux_sys___sysctl because the mib numbers are different. implement only the kernel version getting entries. - make the signal conversion functions consistent; dest is arg 1. - make linux_fakedev deal with block and char devices differently. - add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so that they work properly. - add linux_mmap2 [untested]. - bump kernel to 2.4.18, and make the date be valentine's day :-) - linux_sys_*stat64 family was totally busted. Fix it.
tested only on i386.
Status: gdb, telnet, work jdk-1.4.0 extractor works, jdk still coredumps.
christos
|
#
1.6 |
|
13-Nov-2001 |
lukem |
add RCSIDs (including regeneration of files as appropriate)
|
Revision tags: thorpej-mips-cache-base
|
#
1.5 |
|
14-Oct-2001 |
manu |
Fixed a minor problem so that it builds
|
Revision tags: thorpej-devvp-base3
|
#
1.4 |
|
30-Sep-2001 |
manu |
Fixes my last commit: only mips really need fcntl64 to work now. i386 and powerpc could use it later if needed. m68k and alpha should never need it.
|
#
1.3 |
|
30-Sep-2001 |
manu |
Added initial support for fcntl64 system call (file locking is not implemented)
|
Revision tags: thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.2 |
|
12-Dec-2000 |
jdolecek |
branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; add linux_sys_truncate64()
|
#
1.1 |
|
12-Dec-2000 |
jdolecek |
add emulation of Linux truncate64(2), ftruncate64(2), *stat64(2)
|
#
1.63 |
|
21-Sep-2021 |
rin |
linux_sys_fstatat64: Add support for AT_EMPTY_PATH flag.
This is required for rtld shipped with glibc 2.33.
Now, userland of Fedora 34 is working fine on NetBSD/amd64.
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
|
#
1.62 |
|
23-Aug-2019 |
maxv |
Fix info leaks.
|
#
1.61 |
|
23-Aug-2019 |
maxv |
Fix info leak.
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
#
1.60 |
|
03-Sep-2018 |
riastradh |
branches: 1.60.4; Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825
|
#
1.59 |
|
28-Jul-2017 |
riastradh |
branches: 1.59.2; 1.59.4; Fail, don't panic, on bad dirents from file system.
Controllable via puffs from userland.
From Ilja Van Sprundel.
|
Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204
|
#
1.58 |
|
28-Jan-2017 |
christos |
branches: 1.58.6; copy the terminating NUL (njoly)
|
Revision tags: bouyer-socketcan-base
|
#
1.57 |
|
13-Jan-2017 |
christos |
branches: 1.57.2; fix typo
|
#
1.56 |
|
13-Jan-2017 |
christos |
convert strcpy to a bounded copy to avoid compiler warnings, although the reclen test prevents overflow.
|
Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.55 |
|
27-Dec-2013 |
njoly |
branches: 1.55.4; 1.55.6; 1.55.8; 1.55.10; 1.55.14; Add struct linux_stat64 definition for alpha, and enable syscalls that use it.
|
#
1.54 |
|
18-Nov-2013 |
chs |
implement the *at() syscalls. bring the unimplemented syscall list up to date.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.53 |
|
14-Oct-2011 |
hannken |
branches: 1.53.2; 1.53.8; 1.53.12; 1.53.14; 1.53.16; 1.53.22; Change the vnode locking protocol of VOP_GETATTR() to request at least a shared lock. Make all calls outside of file systems respect it.
The calls from file systems need review.
No objections from tech-kern.
|
#
1.52 |
|
01-Sep-2011 |
njoly |
Make linux_sys_getdents64 fails with ENOTDIR instead of EINVAL, when fd does not refer to a directory.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
#
1.51 |
|
24-Jun-2010 |
hannken |
Clean up vnode lock operations pass 2:
VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.
Welcome to 5.99.32.
Discussed on tech-kern.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.50 |
|
03-Mar-2010 |
he |
branches: 1.50.2; When implementing "read directory", when there are too many empty entries in a row, and we need to try to read the next block, and have passed a non-NULL cookie pointer to VOP_READDIR, ensure that we free the cookie buffer before re-doing VOP_READDIR, so that we don't leak memory. This fix is similar to nfs_serv.c revisions 1.115 + 1.124.
This should fix the long-standing problem observed by e.g. using Linux- emulated programs to take backup of servers, which is one of the problems which were reported in PR#42661.
Thanks to pooka@ for the hints for traversing the VOP* layer.
|
Revision tags: uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase
|
#
1.49 |
|
15-May-2009 |
pooka |
branches: 1.49.2; pad -> PAD
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
#
1.48 |
|
24-Jun-2008 |
ad |
branches: 1.48.6; 1.48.10; 1.48.14; Replace references to getsock/getvnode.
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.47 |
|
28-Apr-2008 |
martin |
branches: 1.47.2; 1.47.4; Remove clause 3 and 4 from TNF licenses
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14
|
#
1.46 |
|
21-Mar-2008 |
ad |
branches: 1.46.2; 1.46.4; Catch up with descriptor handling changes. See kern_descrip.c revision 1.173 for details.
|
Revision tags: keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.45 |
|
02-Feb-2008 |
dsl |
branches: 1.45.6; Extract the fcntl64() suppoort from linux_file64.c into linux_fcntl64.c Unravel some of the knots that caused linux_file64.c to be compiled twice for an amd64 kernel (once for linux and once for linux32) with different parts being skipped each time.
|
Revision tags: vmlocking2-base3 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.44 |
|
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.
|
Revision tags: yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base jmcneill-pm-base
|
#
1.43 |
|
08-Dec-2007 |
dsl |
branches: 1.43.4; ANSIfy most of the function definitions in sys/compat (but not ndis). All by the magic of sed ...
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base
|
#
1.42 |
|
04-Dec-2007 |
dsl |
Remove all the __P
|
Revision tags: vmlocking2-base1 vmlocking-nbase
|
#
1.41 |
|
26-Nov-2007 |
pooka |
branches: 1.41.2; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.40 |
|
19-Oct-2007 |
njoly |
branches: 1.40.2; Add compat_linux and exec_linux_elf lkm support for amd64: - Add needed COMPAT_OSSAUDIO to GENERIC. - Add missing includes needed by linux_syscallargs.h. - Add lkm building.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 mjf-ufs-trans-base vmlocking-base
|
#
1.39 |
|
12-May-2007 |
dsl |
branches: 1.39.6; 1.39.8; 1.39.12; Split the fcntl locking code out from its copyin/out. Use to avoid all the stackgap stuff in compat code.
|
#
1.38 |
|
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.
|
Revision tags: thorpej-atomic-base
|
#
1.37 |
|
10-Mar-2007 |
dsl |
branches: 1.37.2; 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.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.35 |
|
09-Feb-2007 |
ad |
branches: 1.35.2; Merge newlock2 to head.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
|
#
1.34 |
|
23-Jul-2006 |
ad |
branches: 1.34.4; 1.34.8; Use the LWP cached credentials where sane.
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base
|
#
1.33 |
|
14-May-2006 |
elad |
integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base
|
#
1.32 |
|
01-Mar-2006 |
yamt |
branches: 1.32.2; 1.32.4; 1.32.6; 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.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.31 |
|
09-Feb-2006 |
manu |
Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so that the i386 license manager part of amd64 version of Fluent works.
While I'm here, add SysV IPC to COMPAT_LINUX/amd64
|
#
1.30 |
|
11-Dec-2005 |
christos |
branches: 1.30.2; 1.30.4; 1.30.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.29 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.28 |
|
29-May-2005 |
christos |
branches: 1.28.2; - sprinkle const. - add XXXUNCONST to the emul_find() pbuf argument free'ing. XXX: this needs an api change. - avoid variable shadowing.
|
#
1.27 |
|
03-May-2005 |
manu |
First work on COMPAT_LINUX/amd64 Process startup and dynamiclinking work, but processes hang due to Linux arch_prctl(2) not being really supported yet.
|
Revision tags: kent-audio2-base
|
#
1.26 |
|
19-Apr-2005 |
christos |
PR/29696: Joel Carnat: NetBSD freezes when accessing smbfs mounted FS with firefox/linux due to compat getdents() call assumption that all filesystems support cookies.
|
Revision tags: yamt-km-base4 yamt-km-base3 netbsd-3-base
|
#
1.25 |
|
10-Mar-2005 |
christos |
branches: 1.25.2; Add nanosecond handling on the stat and stat64 code for the i386.
|
#
1.24 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.23 |
|
17-Sep-2004 |
skrll |
branches: 1.23.4; 1.23.6; There's no need to pass a proc value when using UIO_SYSSPACE with vn_rdwr(9) and uiomove(9).
OK'd by Jason Thorpe
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.22 |
|
10-Aug-2003 |
jdolecek |
add Linux compat arg wrapper for ftruncate64(), and change linux compat truncate64() wrapper to translate args structure NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have to do the argument translation
Problem found and patch supplied in PR kern/22360 by Ales Krenek
This is the last of syscalls with hidden 'pad' arg we didn't have wrapper for; all the others (lseek, mmap, pwrite, pread) already had wrapper before.
|
#
1.21 |
|
29-Jun-2003 |
fvdl |
branches: 1.21.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.20 |
|
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.19 |
|
18-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base kqueue-base
|
#
1.18 |
|
20-May-2002 |
jdolecek |
branches: 1.18.2; linux_sys_getdents64(): remove the oldcall bug workaround cruft, it's not needed for this call, and update comment accordingly
|
#
1.17 |
|
20-May-2002 |
jdolecek |
linux_sys_getdents64(): make the d_off member point to next entry, rather than current one; this is expected (even documented) behaviour of the new system call This fixes the endless loop when reading directories on NFS, though applications won't see all directory entries due to different problem. Fix by Matthias Scheler and Charles Hannum.
|
#
1.16 |
|
19-May-2002 |
jdolecek |
On archs with broken linux struct stat64 st_ino, rename linux_stat64's lst_ino to __lst_ino and lst_ino64 to lst_ino, and define LINUX_STAT64_HAS_BROKEN_ST_INO. Only assign __lst_ino if this define is present.
This fixes compile on powerpc archs, and hence port-powerpc/16893.
|
#
1.15 |
|
13-May-2002 |
matt |
branches: 1.15.2; Make COMPAT_LINUX compile again on Alpha. linux_getdents64 moved but files.linux_alpha wasn't updated. common/linux_file64.c contains a lot of syscalls which aren't on Linux/alpha so #ifdef them for alpha.
|
#
1.14 |
|
13-May-2002 |
simonb |
Remove an unreachable "return error;".
|
#
1.13 |
|
12-May-2002 |
jdolecek |
hook in remaining 64bit fs syscalls make most of stuff in linux_file64.c available unconditionally, with exception of fcntl64, which is not present on Linux m68k
|
#
1.12 |
|
10-May-2002 |
tron |
Remove check for size of field "d_off" in Linux "dirent" structure because this problem cannot happen with the 64Bit version of the getdents().
|
#
1.11 |
|
10-May-2002 |
tron |
Move implementation of linux_sys_getdents64() to source file for Linux 64bit filesystem calls.
|
#
1.10 |
|
22-Mar-2002 |
christos |
gc debugging printfs.
|
#
1.9 |
|
22-Mar-2002 |
christos |
implement the locking calls for linux_file64.
|
Revision tags: eeh-devprop-base
|
#
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.
|
Revision tags: newlock-base ifpoll-base
|
#
1.7 |
|
15-Feb-2002 |
christos |
- add a real linux_sys___sysctl because the mib numbers are different. implement only the kernel version getting entries. - make the signal conversion functions consistent; dest is arg 1. - make linux_fakedev deal with block and char devices differently. - add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so that they work properly. - add linux_mmap2 [untested]. - bump kernel to 2.4.18, and make the date be valentine's day :-) - linux_sys_*stat64 family was totally busted. Fix it.
tested only on i386.
Status: gdb, telnet, work jdk-1.4.0 extractor works, jdk still coredumps.
christos
|
#
1.6 |
|
13-Nov-2001 |
lukem |
add RCSIDs (including regeneration of files as appropriate)
|
Revision tags: thorpej-mips-cache-base
|
#
1.5 |
|
14-Oct-2001 |
manu |
Fixed a minor problem so that it builds
|
Revision tags: thorpej-devvp-base3
|
#
1.4 |
|
30-Sep-2001 |
manu |
Fixes my last commit: only mips really need fcntl64 to work now. i386 and powerpc could use it later if needed. m68k and alpha should never need it.
|
#
1.3 |
|
30-Sep-2001 |
manu |
Added initial support for fcntl64 system call (file locking is not implemented)
|
Revision tags: thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.2 |
|
12-Dec-2000 |
jdolecek |
branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; add linux_sys_truncate64()
|
#
1.1 |
|
12-Dec-2000 |
jdolecek |
add emulation of Linux truncate64(2), ftruncate64(2), *stat64(2)
|
#
1.62 |
|
23-Aug-2019 |
maxv |
Fix info leaks.
|
#
1.61 |
|
23-Aug-2019 |
maxv |
Fix info leak.
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
#
1.60 |
|
03-Sep-2018 |
riastradh |
Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825
|
#
1.59 |
|
28-Jul-2017 |
riastradh |
branches: 1.59.2; 1.59.4; Fail, don't panic, on bad dirents from file system.
Controllable via puffs from userland.
From Ilja Van Sprundel.
|
Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204
|
#
1.58 |
|
28-Jan-2017 |
christos |
branches: 1.58.6; copy the terminating NUL (njoly)
|
Revision tags: bouyer-socketcan-base
|
#
1.57 |
|
13-Jan-2017 |
christos |
branches: 1.57.2; fix typo
|
#
1.56 |
|
13-Jan-2017 |
christos |
convert strcpy to a bounded copy to avoid compiler warnings, although the reclen test prevents overflow.
|
Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.55 |
|
27-Dec-2013 |
njoly |
branches: 1.55.4; 1.55.6; 1.55.8; 1.55.10; 1.55.14; Add struct linux_stat64 definition for alpha, and enable syscalls that use it.
|
#
1.54 |
|
18-Nov-2013 |
chs |
implement the *at() syscalls. bring the unimplemented syscall list up to date.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.53 |
|
14-Oct-2011 |
hannken |
branches: 1.53.2; 1.53.8; 1.53.12; 1.53.14; 1.53.16; 1.53.22; Change the vnode locking protocol of VOP_GETATTR() to request at least a shared lock. Make all calls outside of file systems respect it.
The calls from file systems need review.
No objections from tech-kern.
|
#
1.52 |
|
01-Sep-2011 |
njoly |
Make linux_sys_getdents64 fails with ENOTDIR instead of EINVAL, when fd does not refer to a directory.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
#
1.51 |
|
24-Jun-2010 |
hannken |
Clean up vnode lock operations pass 2:
VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.
Welcome to 5.99.32.
Discussed on tech-kern.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.50 |
|
03-Mar-2010 |
he |
branches: 1.50.2; When implementing "read directory", when there are too many empty entries in a row, and we need to try to read the next block, and have passed a non-NULL cookie pointer to VOP_READDIR, ensure that we free the cookie buffer before re-doing VOP_READDIR, so that we don't leak memory. This fix is similar to nfs_serv.c revisions 1.115 + 1.124.
This should fix the long-standing problem observed by e.g. using Linux- emulated programs to take backup of servers, which is one of the problems which were reported in PR#42661.
Thanks to pooka@ for the hints for traversing the VOP* layer.
|
Revision tags: uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase
|
#
1.49 |
|
15-May-2009 |
pooka |
branches: 1.49.2; pad -> PAD
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
#
1.48 |
|
24-Jun-2008 |
ad |
branches: 1.48.6; 1.48.10; 1.48.14; Replace references to getsock/getvnode.
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.47 |
|
28-Apr-2008 |
martin |
branches: 1.47.2; 1.47.4; Remove clause 3 and 4 from TNF licenses
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14
|
#
1.46 |
|
21-Mar-2008 |
ad |
branches: 1.46.2; 1.46.4; Catch up with descriptor handling changes. See kern_descrip.c revision 1.173 for details.
|
Revision tags: keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.45 |
|
02-Feb-2008 |
dsl |
branches: 1.45.6; Extract the fcntl64() suppoort from linux_file64.c into linux_fcntl64.c Unravel some of the knots that caused linux_file64.c to be compiled twice for an amd64 kernel (once for linux and once for linux32) with different parts being skipped each time.
|
Revision tags: vmlocking2-base3 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.44 |
|
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.
|
Revision tags: yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base jmcneill-pm-base
|
#
1.43 |
|
08-Dec-2007 |
dsl |
branches: 1.43.4; ANSIfy most of the function definitions in sys/compat (but not ndis). All by the magic of sed ...
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base
|
#
1.42 |
|
04-Dec-2007 |
dsl |
Remove all the __P
|
Revision tags: vmlocking2-base1 vmlocking-nbase
|
#
1.41 |
|
26-Nov-2007 |
pooka |
branches: 1.41.2; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.40 |
|
19-Oct-2007 |
njoly |
branches: 1.40.2; Add compat_linux and exec_linux_elf lkm support for amd64: - Add needed COMPAT_OSSAUDIO to GENERIC. - Add missing includes needed by linux_syscallargs.h. - Add lkm building.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 mjf-ufs-trans-base vmlocking-base
|
#
1.39 |
|
12-May-2007 |
dsl |
branches: 1.39.6; 1.39.8; 1.39.12; Split the fcntl locking code out from its copyin/out. Use to avoid all the stackgap stuff in compat code.
|
#
1.38 |
|
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.
|
Revision tags: thorpej-atomic-base
|
#
1.37 |
|
10-Mar-2007 |
dsl |
branches: 1.37.2; 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.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.35 |
|
09-Feb-2007 |
ad |
branches: 1.35.2; Merge newlock2 to head.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
|
#
1.34 |
|
23-Jul-2006 |
ad |
branches: 1.34.4; 1.34.8; Use the LWP cached credentials where sane.
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base
|
#
1.33 |
|
14-May-2006 |
elad |
integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base
|
#
1.32 |
|
01-Mar-2006 |
yamt |
branches: 1.32.2; 1.32.4; 1.32.6; 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.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.31 |
|
09-Feb-2006 |
manu |
Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so that the i386 license manager part of amd64 version of Fluent works.
While I'm here, add SysV IPC to COMPAT_LINUX/amd64
|
#
1.30 |
|
11-Dec-2005 |
christos |
branches: 1.30.2; 1.30.4; 1.30.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.29 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.28 |
|
29-May-2005 |
christos |
branches: 1.28.2; - sprinkle const. - add XXXUNCONST to the emul_find() pbuf argument free'ing. XXX: this needs an api change. - avoid variable shadowing.
|
#
1.27 |
|
03-May-2005 |
manu |
First work on COMPAT_LINUX/amd64 Process startup and dynamiclinking work, but processes hang due to Linux arch_prctl(2) not being really supported yet.
|
Revision tags: kent-audio2-base
|
#
1.26 |
|
19-Apr-2005 |
christos |
PR/29696: Joel Carnat: NetBSD freezes when accessing smbfs mounted FS with firefox/linux due to compat getdents() call assumption that all filesystems support cookies.
|
Revision tags: yamt-km-base4 yamt-km-base3 netbsd-3-base
|
#
1.25 |
|
10-Mar-2005 |
christos |
branches: 1.25.2; Add nanosecond handling on the stat and stat64 code for the i386.
|
#
1.24 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.23 |
|
17-Sep-2004 |
skrll |
branches: 1.23.4; 1.23.6; There's no need to pass a proc value when using UIO_SYSSPACE with vn_rdwr(9) and uiomove(9).
OK'd by Jason Thorpe
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.22 |
|
10-Aug-2003 |
jdolecek |
add Linux compat arg wrapper for ftruncate64(), and change linux compat truncate64() wrapper to translate args structure NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have to do the argument translation
Problem found and patch supplied in PR kern/22360 by Ales Krenek
This is the last of syscalls with hidden 'pad' arg we didn't have wrapper for; all the others (lseek, mmap, pwrite, pread) already had wrapper before.
|
#
1.21 |
|
29-Jun-2003 |
fvdl |
branches: 1.21.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.20 |
|
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.19 |
|
18-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base kqueue-base
|
#
1.18 |
|
20-May-2002 |
jdolecek |
branches: 1.18.2; linux_sys_getdents64(): remove the oldcall bug workaround cruft, it's not needed for this call, and update comment accordingly
|
#
1.17 |
|
20-May-2002 |
jdolecek |
linux_sys_getdents64(): make the d_off member point to next entry, rather than current one; this is expected (even documented) behaviour of the new system call This fixes the endless loop when reading directories on NFS, though applications won't see all directory entries due to different problem. Fix by Matthias Scheler and Charles Hannum.
|
#
1.16 |
|
19-May-2002 |
jdolecek |
On archs with broken linux struct stat64 st_ino, rename linux_stat64's lst_ino to __lst_ino and lst_ino64 to lst_ino, and define LINUX_STAT64_HAS_BROKEN_ST_INO. Only assign __lst_ino if this define is present.
This fixes compile on powerpc archs, and hence port-powerpc/16893.
|
#
1.15 |
|
13-May-2002 |
matt |
branches: 1.15.2; Make COMPAT_LINUX compile again on Alpha. linux_getdents64 moved but files.linux_alpha wasn't updated. common/linux_file64.c contains a lot of syscalls which aren't on Linux/alpha so #ifdef them for alpha.
|
#
1.14 |
|
13-May-2002 |
simonb |
Remove an unreachable "return error;".
|
#
1.13 |
|
12-May-2002 |
jdolecek |
hook in remaining 64bit fs syscalls make most of stuff in linux_file64.c available unconditionally, with exception of fcntl64, which is not present on Linux m68k
|
#
1.12 |
|
10-May-2002 |
tron |
Remove check for size of field "d_off" in Linux "dirent" structure because this problem cannot happen with the 64Bit version of the getdents().
|
#
1.11 |
|
10-May-2002 |
tron |
Move implementation of linux_sys_getdents64() to source file for Linux 64bit filesystem calls.
|
#
1.10 |
|
22-Mar-2002 |
christos |
gc debugging printfs.
|
#
1.9 |
|
22-Mar-2002 |
christos |
implement the locking calls for linux_file64.
|
Revision tags: eeh-devprop-base
|
#
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.
|
Revision tags: newlock-base ifpoll-base
|
#
1.7 |
|
15-Feb-2002 |
christos |
- add a real linux_sys___sysctl because the mib numbers are different. implement only the kernel version getting entries. - make the signal conversion functions consistent; dest is arg 1. - make linux_fakedev deal with block and char devices differently. - add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so that they work properly. - add linux_mmap2 [untested]. - bump kernel to 2.4.18, and make the date be valentine's day :-) - linux_sys_*stat64 family was totally busted. Fix it.
tested only on i386.
Status: gdb, telnet, work jdk-1.4.0 extractor works, jdk still coredumps.
christos
|
#
1.6 |
|
13-Nov-2001 |
lukem |
add RCSIDs (including regeneration of files as appropriate)
|
Revision tags: thorpej-mips-cache-base
|
#
1.5 |
|
14-Oct-2001 |
manu |
Fixed a minor problem so that it builds
|
Revision tags: thorpej-devvp-base3
|
#
1.4 |
|
30-Sep-2001 |
manu |
Fixes my last commit: only mips really need fcntl64 to work now. i386 and powerpc could use it later if needed. m68k and alpha should never need it.
|
#
1.3 |
|
30-Sep-2001 |
manu |
Added initial support for fcntl64 system call (file locking is not implemented)
|
Revision tags: thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.2 |
|
12-Dec-2000 |
jdolecek |
branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; add linux_sys_truncate64()
|
#
1.1 |
|
12-Dec-2000 |
jdolecek |
add emulation of Linux truncate64(2), ftruncate64(2), *stat64(2)
|
Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
#
1.60 |
|
03-Sep-2018 |
riastradh |
Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825
|
#
1.59 |
|
28-Jul-2017 |
riastradh |
branches: 1.59.2; Fail, don't panic, on bad dirents from file system.
Controllable via puffs from userland.
From Ilja Van Sprundel.
|
Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204
|
#
1.58 |
|
28-Jan-2017 |
christos |
branches: 1.58.6; copy the terminating NUL (njoly)
|
Revision tags: bouyer-socketcan-base
|
#
1.57 |
|
13-Jan-2017 |
christos |
branches: 1.57.2; fix typo
|
#
1.56 |
|
13-Jan-2017 |
christos |
convert strcpy to a bounded copy to avoid compiler warnings, although the reclen test prevents overflow.
|
Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.55 |
|
27-Dec-2013 |
njoly |
branches: 1.55.4; 1.55.6; 1.55.8; 1.55.10; 1.55.14; Add struct linux_stat64 definition for alpha, and enable syscalls that use it.
|
#
1.54 |
|
18-Nov-2013 |
chs |
implement the *at() syscalls. bring the unimplemented syscall list up to date.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.53 |
|
14-Oct-2011 |
hannken |
branches: 1.53.2; 1.53.8; 1.53.12; 1.53.14; 1.53.16; 1.53.22; Change the vnode locking protocol of VOP_GETATTR() to request at least a shared lock. Make all calls outside of file systems respect it.
The calls from file systems need review.
No objections from tech-kern.
|
#
1.52 |
|
01-Sep-2011 |
njoly |
Make linux_sys_getdents64 fails with ENOTDIR instead of EINVAL, when fd does not refer to a directory.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
#
1.51 |
|
24-Jun-2010 |
hannken |
Clean up vnode lock operations pass 2:
VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.
Welcome to 5.99.32.
Discussed on tech-kern.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.50 |
|
03-Mar-2010 |
he |
branches: 1.50.2; When implementing "read directory", when there are too many empty entries in a row, and we need to try to read the next block, and have passed a non-NULL cookie pointer to VOP_READDIR, ensure that we free the cookie buffer before re-doing VOP_READDIR, so that we don't leak memory. This fix is similar to nfs_serv.c revisions 1.115 + 1.124.
This should fix the long-standing problem observed by e.g. using Linux- emulated programs to take backup of servers, which is one of the problems which were reported in PR#42661.
Thanks to pooka@ for the hints for traversing the VOP* layer.
|
Revision tags: uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase
|
#
1.49 |
|
15-May-2009 |
pooka |
branches: 1.49.2; pad -> PAD
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
#
1.48 |
|
24-Jun-2008 |
ad |
branches: 1.48.6; 1.48.10; 1.48.14; Replace references to getsock/getvnode.
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.47 |
|
28-Apr-2008 |
martin |
branches: 1.47.2; 1.47.4; Remove clause 3 and 4 from TNF licenses
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14
|
#
1.46 |
|
21-Mar-2008 |
ad |
branches: 1.46.2; 1.46.4; Catch up with descriptor handling changes. See kern_descrip.c revision 1.173 for details.
|
Revision tags: keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.45 |
|
02-Feb-2008 |
dsl |
branches: 1.45.6; Extract the fcntl64() suppoort from linux_file64.c into linux_fcntl64.c Unravel some of the knots that caused linux_file64.c to be compiled twice for an amd64 kernel (once for linux and once for linux32) with different parts being skipped each time.
|
Revision tags: vmlocking2-base3 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.44 |
|
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.
|
Revision tags: yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base jmcneill-pm-base
|
#
1.43 |
|
08-Dec-2007 |
dsl |
branches: 1.43.4; ANSIfy most of the function definitions in sys/compat (but not ndis). All by the magic of sed ...
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base
|
#
1.42 |
|
04-Dec-2007 |
dsl |
Remove all the __P
|
Revision tags: vmlocking2-base1 vmlocking-nbase
|
#
1.41 |
|
26-Nov-2007 |
pooka |
branches: 1.41.2; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.40 |
|
19-Oct-2007 |
njoly |
branches: 1.40.2; Add compat_linux and exec_linux_elf lkm support for amd64: - Add needed COMPAT_OSSAUDIO to GENERIC. - Add missing includes needed by linux_syscallargs.h. - Add lkm building.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 mjf-ufs-trans-base vmlocking-base
|
#
1.39 |
|
12-May-2007 |
dsl |
branches: 1.39.6; 1.39.8; 1.39.12; Split the fcntl locking code out from its copyin/out. Use to avoid all the stackgap stuff in compat code.
|
#
1.38 |
|
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.
|
Revision tags: thorpej-atomic-base
|
#
1.37 |
|
10-Mar-2007 |
dsl |
branches: 1.37.2; 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.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.35 |
|
09-Feb-2007 |
ad |
branches: 1.35.2; Merge newlock2 to head.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
|
#
1.34 |
|
23-Jul-2006 |
ad |
branches: 1.34.4; 1.34.8; Use the LWP cached credentials where sane.
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base
|
#
1.33 |
|
14-May-2006 |
elad |
integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base
|
#
1.32 |
|
01-Mar-2006 |
yamt |
branches: 1.32.2; 1.32.4; 1.32.6; 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.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.31 |
|
09-Feb-2006 |
manu |
Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so that the i386 license manager part of amd64 version of Fluent works.
While I'm here, add SysV IPC to COMPAT_LINUX/amd64
|
#
1.30 |
|
11-Dec-2005 |
christos |
branches: 1.30.2; 1.30.4; 1.30.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.29 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.28 |
|
29-May-2005 |
christos |
branches: 1.28.2; - sprinkle const. - add XXXUNCONST to the emul_find() pbuf argument free'ing. XXX: this needs an api change. - avoid variable shadowing.
|
#
1.27 |
|
03-May-2005 |
manu |
First work on COMPAT_LINUX/amd64 Process startup and dynamiclinking work, but processes hang due to Linux arch_prctl(2) not being really supported yet.
|
Revision tags: kent-audio2-base
|
#
1.26 |
|
19-Apr-2005 |
christos |
PR/29696: Joel Carnat: NetBSD freezes when accessing smbfs mounted FS with firefox/linux due to compat getdents() call assumption that all filesystems support cookies.
|
Revision tags: yamt-km-base4 yamt-km-base3 netbsd-3-base
|
#
1.25 |
|
10-Mar-2005 |
christos |
branches: 1.25.2; Add nanosecond handling on the stat and stat64 code for the i386.
|
#
1.24 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.23 |
|
17-Sep-2004 |
skrll |
branches: 1.23.4; 1.23.6; There's no need to pass a proc value when using UIO_SYSSPACE with vn_rdwr(9) and uiomove(9).
OK'd by Jason Thorpe
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.22 |
|
10-Aug-2003 |
jdolecek |
add Linux compat arg wrapper for ftruncate64(), and change linux compat truncate64() wrapper to translate args structure NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have to do the argument translation
Problem found and patch supplied in PR kern/22360 by Ales Krenek
This is the last of syscalls with hidden 'pad' arg we didn't have wrapper for; all the others (lseek, mmap, pwrite, pread) already had wrapper before.
|
#
1.21 |
|
29-Jun-2003 |
fvdl |
branches: 1.21.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.20 |
|
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.19 |
|
18-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base kqueue-base
|
#
1.18 |
|
20-May-2002 |
jdolecek |
branches: 1.18.2; linux_sys_getdents64(): remove the oldcall bug workaround cruft, it's not needed for this call, and update comment accordingly
|
#
1.17 |
|
20-May-2002 |
jdolecek |
linux_sys_getdents64(): make the d_off member point to next entry, rather than current one; this is expected (even documented) behaviour of the new system call This fixes the endless loop when reading directories on NFS, though applications won't see all directory entries due to different problem. Fix by Matthias Scheler and Charles Hannum.
|
#
1.16 |
|
19-May-2002 |
jdolecek |
On archs with broken linux struct stat64 st_ino, rename linux_stat64's lst_ino to __lst_ino and lst_ino64 to lst_ino, and define LINUX_STAT64_HAS_BROKEN_ST_INO. Only assign __lst_ino if this define is present.
This fixes compile on powerpc archs, and hence port-powerpc/16893.
|
#
1.15 |
|
13-May-2002 |
matt |
branches: 1.15.2; Make COMPAT_LINUX compile again on Alpha. linux_getdents64 moved but files.linux_alpha wasn't updated. common/linux_file64.c contains a lot of syscalls which aren't on Linux/alpha so #ifdef them for alpha.
|
#
1.14 |
|
13-May-2002 |
simonb |
Remove an unreachable "return error;".
|
#
1.13 |
|
12-May-2002 |
jdolecek |
hook in remaining 64bit fs syscalls make most of stuff in linux_file64.c available unconditionally, with exception of fcntl64, which is not present on Linux m68k
|
#
1.12 |
|
10-May-2002 |
tron |
Remove check for size of field "d_off" in Linux "dirent" structure because this problem cannot happen with the 64Bit version of the getdents().
|
#
1.11 |
|
10-May-2002 |
tron |
Move implementation of linux_sys_getdents64() to source file for Linux 64bit filesystem calls.
|
#
1.10 |
|
22-Mar-2002 |
christos |
gc debugging printfs.
|
#
1.9 |
|
22-Mar-2002 |
christos |
implement the locking calls for linux_file64.
|
Revision tags: eeh-devprop-base
|
#
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.
|
Revision tags: newlock-base ifpoll-base
|
#
1.7 |
|
15-Feb-2002 |
christos |
- add a real linux_sys___sysctl because the mib numbers are different. implement only the kernel version getting entries. - make the signal conversion functions consistent; dest is arg 1. - make linux_fakedev deal with block and char devices differently. - add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so that they work properly. - add linux_mmap2 [untested]. - bump kernel to 2.4.18, and make the date be valentine's day :-) - linux_sys_*stat64 family was totally busted. Fix it.
tested only on i386.
Status: gdb, telnet, work jdk-1.4.0 extractor works, jdk still coredumps.
christos
|
#
1.6 |
|
13-Nov-2001 |
lukem |
add RCSIDs (including regeneration of files as appropriate)
|
Revision tags: thorpej-mips-cache-base
|
#
1.5 |
|
14-Oct-2001 |
manu |
Fixed a minor problem so that it builds
|
Revision tags: thorpej-devvp-base3
|
#
1.4 |
|
30-Sep-2001 |
manu |
Fixes my last commit: only mips really need fcntl64 to work now. i386 and powerpc could use it later if needed. m68k and alpha should never need it.
|
#
1.3 |
|
30-Sep-2001 |
manu |
Added initial support for fcntl64 system call (file locking is not implemented)
|
Revision tags: thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.2 |
|
12-Dec-2000 |
jdolecek |
branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; add linux_sys_truncate64()
|
#
1.1 |
|
12-Dec-2000 |
jdolecek |
add emulation of Linux truncate64(2), ftruncate64(2), *stat64(2)
|
#
1.59 |
|
28-Jul-2017 |
riastradh |
Fail, don't panic, on bad dirents from file system.
Controllable via puffs from userland.
From Ilja Van Sprundel.
|
Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204
|
#
1.58 |
|
28-Jan-2017 |
christos |
copy the terminating NUL (njoly)
|
Revision tags: bouyer-socketcan-base
|
#
1.57 |
|
13-Jan-2017 |
christos |
branches: 1.57.2; fix typo
|
#
1.56 |
|
13-Jan-2017 |
christos |
convert strcpy to a bounded copy to avoid compiler warnings, although the reclen test prevents overflow.
|
Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.55 |
|
27-Dec-2013 |
njoly |
branches: 1.55.6; 1.55.10; Add struct linux_stat64 definition for alpha, and enable syscalls that use it.
|
#
1.54 |
|
18-Nov-2013 |
chs |
implement the *at() syscalls. bring the unimplemented syscall list up to date.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.53 |
|
14-Oct-2011 |
hannken |
branches: 1.53.2; 1.53.12; 1.53.16; Change the vnode locking protocol of VOP_GETATTR() to request at least a shared lock. Make all calls outside of file systems respect it.
The calls from file systems need review.
No objections from tech-kern.
|
#
1.52 |
|
01-Sep-2011 |
njoly |
Make linux_sys_getdents64 fails with ENOTDIR instead of EINVAL, when fd does not refer to a directory.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
#
1.51 |
|
24-Jun-2010 |
hannken |
Clean up vnode lock operations pass 2:
VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.
Welcome to 5.99.32.
Discussed on tech-kern.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.50 |
|
03-Mar-2010 |
he |
branches: 1.50.2; When implementing "read directory", when there are too many empty entries in a row, and we need to try to read the next block, and have passed a non-NULL cookie pointer to VOP_READDIR, ensure that we free the cookie buffer before re-doing VOP_READDIR, so that we don't leak memory. This fix is similar to nfs_serv.c revisions 1.115 + 1.124.
This should fix the long-standing problem observed by e.g. using Linux- emulated programs to take backup of servers, which is one of the problems which were reported in PR#42661.
Thanks to pooka@ for the hints for traversing the VOP* layer.
|
Revision tags: uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase
|
#
1.49 |
|
15-May-2009 |
pooka |
branches: 1.49.2; pad -> PAD
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
#
1.48 |
|
24-Jun-2008 |
ad |
branches: 1.48.6; 1.48.10; 1.48.14; Replace references to getsock/getvnode.
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.47 |
|
28-Apr-2008 |
martin |
branches: 1.47.2; 1.47.4; Remove clause 3 and 4 from TNF licenses
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14
|
#
1.46 |
|
21-Mar-2008 |
ad |
branches: 1.46.2; 1.46.4; Catch up with descriptor handling changes. See kern_descrip.c revision 1.173 for details.
|
Revision tags: keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.45 |
|
02-Feb-2008 |
dsl |
branches: 1.45.6; Extract the fcntl64() suppoort from linux_file64.c into linux_fcntl64.c Unravel some of the knots that caused linux_file64.c to be compiled twice for an amd64 kernel (once for linux and once for linux32) with different parts being skipped each time.
|
Revision tags: vmlocking2-base3 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.44 |
|
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.
|
Revision tags: yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base jmcneill-pm-base
|
#
1.43 |
|
08-Dec-2007 |
dsl |
branches: 1.43.4; ANSIfy most of the function definitions in sys/compat (but not ndis). All by the magic of sed ...
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base
|
#
1.42 |
|
04-Dec-2007 |
dsl |
Remove all the __P
|
Revision tags: vmlocking2-base1 vmlocking-nbase
|
#
1.41 |
|
26-Nov-2007 |
pooka |
branches: 1.41.2; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.40 |
|
19-Oct-2007 |
njoly |
branches: 1.40.2; Add compat_linux and exec_linux_elf lkm support for amd64: - Add needed COMPAT_OSSAUDIO to GENERIC. - Add missing includes needed by linux_syscallargs.h. - Add lkm building.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 mjf-ufs-trans-base vmlocking-base
|
#
1.39 |
|
12-May-2007 |
dsl |
branches: 1.39.6; 1.39.8; 1.39.12; Split the fcntl locking code out from its copyin/out. Use to avoid all the stackgap stuff in compat code.
|
#
1.38 |
|
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.
|
Revision tags: thorpej-atomic-base
|
#
1.37 |
|
10-Mar-2007 |
dsl |
branches: 1.37.2; 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.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.35 |
|
09-Feb-2007 |
ad |
branches: 1.35.2; Merge newlock2 to head.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
|
#
1.34 |
|
23-Jul-2006 |
ad |
branches: 1.34.4; 1.34.8; Use the LWP cached credentials where sane.
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base
|
#
1.33 |
|
14-May-2006 |
elad |
integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base
|
#
1.32 |
|
01-Mar-2006 |
yamt |
branches: 1.32.2; 1.32.4; 1.32.6; 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.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.31 |
|
09-Feb-2006 |
manu |
Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so that the i386 license manager part of amd64 version of Fluent works.
While I'm here, add SysV IPC to COMPAT_LINUX/amd64
|
#
1.30 |
|
11-Dec-2005 |
christos |
branches: 1.30.2; 1.30.4; 1.30.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.29 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.28 |
|
29-May-2005 |
christos |
branches: 1.28.2; - sprinkle const. - add XXXUNCONST to the emul_find() pbuf argument free'ing. XXX: this needs an api change. - avoid variable shadowing.
|
#
1.27 |
|
03-May-2005 |
manu |
First work on COMPAT_LINUX/amd64 Process startup and dynamiclinking work, but processes hang due to Linux arch_prctl(2) not being really supported yet.
|
Revision tags: kent-audio2-base
|
#
1.26 |
|
19-Apr-2005 |
christos |
PR/29696: Joel Carnat: NetBSD freezes when accessing smbfs mounted FS with firefox/linux due to compat getdents() call assumption that all filesystems support cookies.
|
Revision tags: yamt-km-base4 yamt-km-base3 netbsd-3-base
|
#
1.25 |
|
10-Mar-2005 |
christos |
branches: 1.25.2; Add nanosecond handling on the stat and stat64 code for the i386.
|
#
1.24 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.23 |
|
17-Sep-2004 |
skrll |
branches: 1.23.4; 1.23.6; There's no need to pass a proc value when using UIO_SYSSPACE with vn_rdwr(9) and uiomove(9).
OK'd by Jason Thorpe
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.22 |
|
10-Aug-2003 |
jdolecek |
add Linux compat arg wrapper for ftruncate64(), and change linux compat truncate64() wrapper to translate args structure NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have to do the argument translation
Problem found and patch supplied in PR kern/22360 by Ales Krenek
This is the last of syscalls with hidden 'pad' arg we didn't have wrapper for; all the others (lseek, mmap, pwrite, pread) already had wrapper before.
|
#
1.21 |
|
29-Jun-2003 |
fvdl |
branches: 1.21.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.20 |
|
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.19 |
|
18-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base kqueue-base
|
#
1.18 |
|
20-May-2002 |
jdolecek |
branches: 1.18.2; linux_sys_getdents64(): remove the oldcall bug workaround cruft, it's not needed for this call, and update comment accordingly
|
#
1.17 |
|
20-May-2002 |
jdolecek |
linux_sys_getdents64(): make the d_off member point to next entry, rather than current one; this is expected (even documented) behaviour of the new system call This fixes the endless loop when reading directories on NFS, though applications won't see all directory entries due to different problem. Fix by Matthias Scheler and Charles Hannum.
|
#
1.16 |
|
19-May-2002 |
jdolecek |
On archs with broken linux struct stat64 st_ino, rename linux_stat64's lst_ino to __lst_ino and lst_ino64 to lst_ino, and define LINUX_STAT64_HAS_BROKEN_ST_INO. Only assign __lst_ino if this define is present.
This fixes compile on powerpc archs, and hence port-powerpc/16893.
|
#
1.15 |
|
13-May-2002 |
matt |
branches: 1.15.2; Make COMPAT_LINUX compile again on Alpha. linux_getdents64 moved but files.linux_alpha wasn't updated. common/linux_file64.c contains a lot of syscalls which aren't on Linux/alpha so #ifdef them for alpha.
|
#
1.14 |
|
13-May-2002 |
simonb |
Remove an unreachable "return error;".
|
#
1.13 |
|
12-May-2002 |
jdolecek |
hook in remaining 64bit fs syscalls make most of stuff in linux_file64.c available unconditionally, with exception of fcntl64, which is not present on Linux m68k
|
#
1.12 |
|
10-May-2002 |
tron |
Remove check for size of field "d_off" in Linux "dirent" structure because this problem cannot happen with the 64Bit version of the getdents().
|
#
1.11 |
|
10-May-2002 |
tron |
Move implementation of linux_sys_getdents64() to source file for Linux 64bit filesystem calls.
|
#
1.10 |
|
22-Mar-2002 |
christos |
gc debugging printfs.
|
#
1.9 |
|
22-Mar-2002 |
christos |
implement the locking calls for linux_file64.
|
Revision tags: eeh-devprop-base
|
#
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.
|
Revision tags: newlock-base ifpoll-base
|
#
1.7 |
|
15-Feb-2002 |
christos |
- add a real linux_sys___sysctl because the mib numbers are different. implement only the kernel version getting entries. - make the signal conversion functions consistent; dest is arg 1. - make linux_fakedev deal with block and char devices differently. - add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so that they work properly. - add linux_mmap2 [untested]. - bump kernel to 2.4.18, and make the date be valentine's day :-) - linux_sys_*stat64 family was totally busted. Fix it.
tested only on i386.
Status: gdb, telnet, work jdk-1.4.0 extractor works, jdk still coredumps.
christos
|
#
1.6 |
|
13-Nov-2001 |
lukem |
add RCSIDs (including regeneration of files as appropriate)
|
Revision tags: thorpej-mips-cache-base
|
#
1.5 |
|
14-Oct-2001 |
manu |
Fixed a minor problem so that it builds
|
Revision tags: thorpej-devvp-base3
|
#
1.4 |
|
30-Sep-2001 |
manu |
Fixes my last commit: only mips really need fcntl64 to work now. i386 and powerpc could use it later if needed. m68k and alpha should never need it.
|
#
1.3 |
|
30-Sep-2001 |
manu |
Added initial support for fcntl64 system call (file locking is not implemented)
|
Revision tags: thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.2 |
|
12-Dec-2000 |
jdolecek |
branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; add linux_sys_truncate64()
|
#
1.1 |
|
12-Dec-2000 |
jdolecek |
add emulation of Linux truncate64(2), ftruncate64(2), *stat64(2)
|
#
1.58 |
|
28-Jan-2017 |
christos |
copy the terminating NUL (njoly)
|
Revision tags: bouyer-socketcan-base
|
#
1.57 |
|
13-Jan-2017 |
christos |
fix typo
|
#
1.56 |
|
13-Jan-2017 |
christos |
convert strcpy to a bounded copy to avoid compiler warnings, although the reclen test prevents overflow.
|
Revision tags: netbsd-7-nhusb-base-20170116 pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.55 |
|
27-Dec-2013 |
njoly |
Add struct linux_stat64 definition for alpha, and enable syscalls that use it.
|
#
1.54 |
|
18-Nov-2013 |
chs |
implement the *at() syscalls. bring the unimplemented syscall list up to date.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.53 |
|
14-Oct-2011 |
hannken |
branches: 1.53.2; 1.53.12; 1.53.16; Change the vnode locking protocol of VOP_GETATTR() to request at least a shared lock. Make all calls outside of file systems respect it.
The calls from file systems need review.
No objections from tech-kern.
|
#
1.52 |
|
01-Sep-2011 |
njoly |
Make linux_sys_getdents64 fails with ENOTDIR instead of EINVAL, when fd does not refer to a directory.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
#
1.51 |
|
24-Jun-2010 |
hannken |
Clean up vnode lock operations pass 2:
VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.
Welcome to 5.99.32.
Discussed on tech-kern.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.50 |
|
03-Mar-2010 |
he |
branches: 1.50.2; When implementing "read directory", when there are too many empty entries in a row, and we need to try to read the next block, and have passed a non-NULL cookie pointer to VOP_READDIR, ensure that we free the cookie buffer before re-doing VOP_READDIR, so that we don't leak memory. This fix is similar to nfs_serv.c revisions 1.115 + 1.124.
This should fix the long-standing problem observed by e.g. using Linux- emulated programs to take backup of servers, which is one of the problems which were reported in PR#42661.
Thanks to pooka@ for the hints for traversing the VOP* layer.
|
Revision tags: uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase
|
#
1.49 |
|
15-May-2009 |
pooka |
branches: 1.49.2; pad -> PAD
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
#
1.48 |
|
24-Jun-2008 |
ad |
branches: 1.48.6; 1.48.10; 1.48.14; Replace references to getsock/getvnode.
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.47 |
|
28-Apr-2008 |
martin |
branches: 1.47.2; 1.47.4; Remove clause 3 and 4 from TNF licenses
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14
|
#
1.46 |
|
21-Mar-2008 |
ad |
branches: 1.46.2; 1.46.4; Catch up with descriptor handling changes. See kern_descrip.c revision 1.173 for details.
|
Revision tags: keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.45 |
|
02-Feb-2008 |
dsl |
branches: 1.45.6; Extract the fcntl64() suppoort from linux_file64.c into linux_fcntl64.c Unravel some of the knots that caused linux_file64.c to be compiled twice for an amd64 kernel (once for linux and once for linux32) with different parts being skipped each time.
|
Revision tags: vmlocking2-base3 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.44 |
|
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.
|
Revision tags: yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base jmcneill-pm-base
|
#
1.43 |
|
08-Dec-2007 |
dsl |
branches: 1.43.4; ANSIfy most of the function definitions in sys/compat (but not ndis). All by the magic of sed ...
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base
|
#
1.42 |
|
04-Dec-2007 |
dsl |
Remove all the __P
|
Revision tags: vmlocking2-base1 vmlocking-nbase
|
#
1.41 |
|
26-Nov-2007 |
pooka |
branches: 1.41.2; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.40 |
|
19-Oct-2007 |
njoly |
branches: 1.40.2; Add compat_linux and exec_linux_elf lkm support for amd64: - Add needed COMPAT_OSSAUDIO to GENERIC. - Add missing includes needed by linux_syscallargs.h. - Add lkm building.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 mjf-ufs-trans-base vmlocking-base
|
#
1.39 |
|
12-May-2007 |
dsl |
branches: 1.39.6; 1.39.8; 1.39.12; Split the fcntl locking code out from its copyin/out. Use to avoid all the stackgap stuff in compat code.
|
#
1.38 |
|
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.
|
Revision tags: thorpej-atomic-base
|
#
1.37 |
|
10-Mar-2007 |
dsl |
branches: 1.37.2; 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.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.35 |
|
09-Feb-2007 |
ad |
branches: 1.35.2; Merge newlock2 to head.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
|
#
1.34 |
|
23-Jul-2006 |
ad |
branches: 1.34.4; 1.34.8; Use the LWP cached credentials where sane.
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base
|
#
1.33 |
|
14-May-2006 |
elad |
integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base
|
#
1.32 |
|
01-Mar-2006 |
yamt |
branches: 1.32.2; 1.32.4; 1.32.6; 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.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.31 |
|
09-Feb-2006 |
manu |
Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so that the i386 license manager part of amd64 version of Fluent works.
While I'm here, add SysV IPC to COMPAT_LINUX/amd64
|
#
1.30 |
|
11-Dec-2005 |
christos |
branches: 1.30.2; 1.30.4; 1.30.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.29 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.28 |
|
29-May-2005 |
christos |
branches: 1.28.2; - sprinkle const. - add XXXUNCONST to the emul_find() pbuf argument free'ing. XXX: this needs an api change. - avoid variable shadowing.
|
#
1.27 |
|
03-May-2005 |
manu |
First work on COMPAT_LINUX/amd64 Process startup and dynamiclinking work, but processes hang due to Linux arch_prctl(2) not being really supported yet.
|
Revision tags: kent-audio2-base
|
#
1.26 |
|
19-Apr-2005 |
christos |
PR/29696: Joel Carnat: NetBSD freezes when accessing smbfs mounted FS with firefox/linux due to compat getdents() call assumption that all filesystems support cookies.
|
Revision tags: yamt-km-base4 yamt-km-base3 netbsd-3-base
|
#
1.25 |
|
10-Mar-2005 |
christos |
branches: 1.25.2; Add nanosecond handling on the stat and stat64 code for the i386.
|
#
1.24 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.23 |
|
17-Sep-2004 |
skrll |
branches: 1.23.4; 1.23.6; There's no need to pass a proc value when using UIO_SYSSPACE with vn_rdwr(9) and uiomove(9).
OK'd by Jason Thorpe
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.22 |
|
10-Aug-2003 |
jdolecek |
add Linux compat arg wrapper for ftruncate64(), and change linux compat truncate64() wrapper to translate args structure NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have to do the argument translation
Problem found and patch supplied in PR kern/22360 by Ales Krenek
This is the last of syscalls with hidden 'pad' arg we didn't have wrapper for; all the others (lseek, mmap, pwrite, pread) already had wrapper before.
|
#
1.21 |
|
29-Jun-2003 |
fvdl |
branches: 1.21.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.20 |
|
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.19 |
|
18-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base kqueue-base
|
#
1.18 |
|
20-May-2002 |
jdolecek |
branches: 1.18.2; linux_sys_getdents64(): remove the oldcall bug workaround cruft, it's not needed for this call, and update comment accordingly
|
#
1.17 |
|
20-May-2002 |
jdolecek |
linux_sys_getdents64(): make the d_off member point to next entry, rather than current one; this is expected (even documented) behaviour of the new system call This fixes the endless loop when reading directories on NFS, though applications won't see all directory entries due to different problem. Fix by Matthias Scheler and Charles Hannum.
|
#
1.16 |
|
19-May-2002 |
jdolecek |
On archs with broken linux struct stat64 st_ino, rename linux_stat64's lst_ino to __lst_ino and lst_ino64 to lst_ino, and define LINUX_STAT64_HAS_BROKEN_ST_INO. Only assign __lst_ino if this define is present.
This fixes compile on powerpc archs, and hence port-powerpc/16893.
|
#
1.15 |
|
13-May-2002 |
matt |
branches: 1.15.2; Make COMPAT_LINUX compile again on Alpha. linux_getdents64 moved but files.linux_alpha wasn't updated. common/linux_file64.c contains a lot of syscalls which aren't on Linux/alpha so #ifdef them for alpha.
|
#
1.14 |
|
13-May-2002 |
simonb |
Remove an unreachable "return error;".
|
#
1.13 |
|
12-May-2002 |
jdolecek |
hook in remaining 64bit fs syscalls make most of stuff in linux_file64.c available unconditionally, with exception of fcntl64, which is not present on Linux m68k
|
#
1.12 |
|
10-May-2002 |
tron |
Remove check for size of field "d_off" in Linux "dirent" structure because this problem cannot happen with the 64Bit version of the getdents().
|
#
1.11 |
|
10-May-2002 |
tron |
Move implementation of linux_sys_getdents64() to source file for Linux 64bit filesystem calls.
|
#
1.10 |
|
22-Mar-2002 |
christos |
gc debugging printfs.
|
#
1.9 |
|
22-Mar-2002 |
christos |
implement the locking calls for linux_file64.
|
Revision tags: eeh-devprop-base
|
#
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.
|
Revision tags: newlock-base ifpoll-base
|
#
1.7 |
|
15-Feb-2002 |
christos |
- add a real linux_sys___sysctl because the mib numbers are different. implement only the kernel version getting entries. - make the signal conversion functions consistent; dest is arg 1. - make linux_fakedev deal with block and char devices differently. - add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so that they work properly. - add linux_mmap2 [untested]. - bump kernel to 2.4.18, and make the date be valentine's day :-) - linux_sys_*stat64 family was totally busted. Fix it.
tested only on i386.
Status: gdb, telnet, work jdk-1.4.0 extractor works, jdk still coredumps.
christos
|
#
1.6 |
|
13-Nov-2001 |
lukem |
add RCSIDs (including regeneration of files as appropriate)
|
Revision tags: thorpej-mips-cache-base
|
#
1.5 |
|
14-Oct-2001 |
manu |
Fixed a minor problem so that it builds
|
Revision tags: thorpej-devvp-base3
|
#
1.4 |
|
30-Sep-2001 |
manu |
Fixes my last commit: only mips really need fcntl64 to work now. i386 and powerpc could use it later if needed. m68k and alpha should never need it.
|
#
1.3 |
|
30-Sep-2001 |
manu |
Added initial support for fcntl64 system call (file locking is not implemented)
|
Revision tags: thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.2 |
|
12-Dec-2000 |
jdolecek |
branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; add linux_sys_truncate64()
|
#
1.1 |
|
12-Dec-2000 |
jdolecek |
add emulation of Linux truncate64(2), ftruncate64(2), *stat64(2)
|
#
1.57 |
|
13-Jan-2017 |
christos |
fix typo
|
#
1.56 |
|
13-Jan-2017 |
christos |
convert strcpy to a bounded copy to avoid compiler warnings, although the reclen test prevents overflow.
|
Revision tags: pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.55 |
|
27-Dec-2013 |
njoly |
Add struct linux_stat64 definition for alpha, and enable syscalls that use it.
|
#
1.54 |
|
18-Nov-2013 |
chs |
implement the *at() syscalls. bring the unimplemented syscall list up to date.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.53 |
|
14-Oct-2011 |
hannken |
branches: 1.53.2; 1.53.12; 1.53.16; Change the vnode locking protocol of VOP_GETATTR() to request at least a shared lock. Make all calls outside of file systems respect it.
The calls from file systems need review.
No objections from tech-kern.
|
#
1.52 |
|
01-Sep-2011 |
njoly |
Make linux_sys_getdents64 fails with ENOTDIR instead of EINVAL, when fd does not refer to a directory.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
#
1.51 |
|
24-Jun-2010 |
hannken |
Clean up vnode lock operations pass 2:
VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.
Welcome to 5.99.32.
Discussed on tech-kern.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.50 |
|
03-Mar-2010 |
he |
branches: 1.50.2; When implementing "read directory", when there are too many empty entries in a row, and we need to try to read the next block, and have passed a non-NULL cookie pointer to VOP_READDIR, ensure that we free the cookie buffer before re-doing VOP_READDIR, so that we don't leak memory. This fix is similar to nfs_serv.c revisions 1.115 + 1.124.
This should fix the long-standing problem observed by e.g. using Linux- emulated programs to take backup of servers, which is one of the problems which were reported in PR#42661.
Thanks to pooka@ for the hints for traversing the VOP* layer.
|
Revision tags: uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase
|
#
1.49 |
|
15-May-2009 |
pooka |
branches: 1.49.2; pad -> PAD
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
#
1.48 |
|
24-Jun-2008 |
ad |
branches: 1.48.6; 1.48.10; 1.48.14; Replace references to getsock/getvnode.
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.47 |
|
28-Apr-2008 |
martin |
branches: 1.47.2; 1.47.4; Remove clause 3 and 4 from TNF licenses
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14
|
#
1.46 |
|
21-Mar-2008 |
ad |
branches: 1.46.2; 1.46.4; Catch up with descriptor handling changes. See kern_descrip.c revision 1.173 for details.
|
Revision tags: keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.45 |
|
02-Feb-2008 |
dsl |
branches: 1.45.6; Extract the fcntl64() suppoort from linux_file64.c into linux_fcntl64.c Unravel some of the knots that caused linux_file64.c to be compiled twice for an amd64 kernel (once for linux and once for linux32) with different parts being skipped each time.
|
Revision tags: vmlocking2-base3 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.44 |
|
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.
|
Revision tags: yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base jmcneill-pm-base
|
#
1.43 |
|
08-Dec-2007 |
dsl |
branches: 1.43.4; ANSIfy most of the function definitions in sys/compat (but not ndis). All by the magic of sed ...
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base
|
#
1.42 |
|
04-Dec-2007 |
dsl |
Remove all the __P
|
Revision tags: vmlocking2-base1 vmlocking-nbase
|
#
1.41 |
|
26-Nov-2007 |
pooka |
branches: 1.41.2; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 bouyer-xenamd64-base
|
#
1.40 |
|
19-Oct-2007 |
njoly |
branches: 1.40.2; Add compat_linux and exec_linux_elf lkm support for amd64: - Add needed COMPAT_OSSAUDIO to GENERIC. - Add missing includes needed by linux_syscallargs.h. - Add lkm building.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 mjf-ufs-trans-base vmlocking-base
|
#
1.39 |
|
12-May-2007 |
dsl |
branches: 1.39.6; 1.39.8; 1.39.12; Split the fcntl locking code out from its copyin/out. Use to avoid all the stackgap stuff in compat code.
|
#
1.38 |
|
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.
|
Revision tags: thorpej-atomic-base
|
#
1.37 |
|
10-Mar-2007 |
dsl |
branches: 1.37.2; 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.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.35 |
|
09-Feb-2007 |
ad |
branches: 1.35.2; Merge newlock2 to head.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
|
#
1.34 |
|
23-Jul-2006 |
ad |
branches: 1.34.4; 1.34.8; Use the LWP cached credentials where sane.
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base
|
#
1.33 |
|
14-May-2006 |
elad |
integrate kauth.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base
|
#
1.32 |
|
01-Mar-2006 |
yamt |
branches: 1.32.2; 1.32.4; 1.32.6; 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.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.31 |
|
09-Feb-2006 |
manu |
Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so that the i386 license manager part of amd64 version of Fluent works.
While I'm here, add SysV IPC to COMPAT_LINUX/amd64
|
#
1.30 |
|
11-Dec-2005 |
christos |
branches: 1.30.2; 1.30.4; 1.30.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.29 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.28 |
|
29-May-2005 |
christos |
branches: 1.28.2; - sprinkle const. - add XXXUNCONST to the emul_find() pbuf argument free'ing. XXX: this needs an api change. - avoid variable shadowing.
|
#
1.27 |
|
03-May-2005 |
manu |
First work on COMPAT_LINUX/amd64 Process startup and dynamiclinking work, but processes hang due to Linux arch_prctl(2) not being really supported yet.
|
Revision tags: kent-audio2-base
|
#
1.26 |
|
19-Apr-2005 |
christos |
PR/29696: Joel Carnat: NetBSD freezes when accessing smbfs mounted FS with firefox/linux due to compat getdents() call assumption that all filesystems support cookies.
|
Revision tags: yamt-km-base4 yamt-km-base3 netbsd-3-base
|
#
1.25 |
|
10-Mar-2005 |
christos |
branches: 1.25.2; Add nanosecond handling on the stat and stat64 code for the i386.
|
#
1.24 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.23 |
|
17-Sep-2004 |
skrll |
branches: 1.23.4; 1.23.6; There's no need to pass a proc value when using UIO_SYSSPACE with vn_rdwr(9) and uiomove(9).
OK'd by Jason Thorpe
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.22 |
|
10-Aug-2003 |
jdolecek |
add Linux compat arg wrapper for ftruncate64(), and change linux compat truncate64() wrapper to translate args structure NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have to do the argument translation
Problem found and patch supplied in PR kern/22360 by Ales Krenek
This is the last of syscalls with hidden 'pad' arg we didn't have wrapper for; all the others (lseek, mmap, pwrite, pread) already had wrapper before.
|
#
1.21 |
|
29-Jun-2003 |
fvdl |
branches: 1.21.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.20 |
|
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.19 |
|
18-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base kqueue-base
|
#
1.18 |
|
20-May-2002 |
jdolecek |
branches: 1.18.2; linux_sys_getdents64(): remove the oldcall bug workaround cruft, it's not needed for this call, and update comment accordingly
|
#
1.17 |
|
20-May-2002 |
jdolecek |
linux_sys_getdents64(): make the d_off member point to next entry, rather than current one; this is expected (even documented) behaviour of the new system call This fixes the endless loop when reading directories on NFS, though applications won't see all directory entries due to different problem. Fix by Matthias Scheler and Charles Hannum.
|
#
1.16 |
|
19-May-2002 |
jdolecek |
On archs with broken linux struct stat64 st_ino, rename linux_stat64's lst_ino to __lst_ino and lst_ino64 to lst_ino, and define LINUX_STAT64_HAS_BROKEN_ST_INO. Only assign __lst_ino if this define is present.
This fixes compile on powerpc archs, and hence port-powerpc/16893.
|
#
1.15 |
|
13-May-2002 |
matt |
branches: 1.15.2; Make COMPAT_LINUX compile again on Alpha. linux_getdents64 moved but files.linux_alpha wasn't updated. common/linux_file64.c contains a lot of syscalls which aren't on Linux/alpha so #ifdef them for alpha.
|
#
1.14 |
|
13-May-2002 |
simonb |
Remove an unreachable "return error;".
|
#
1.13 |
|
12-May-2002 |
jdolecek |
hook in remaining 64bit fs syscalls make most of stuff in linux_file64.c available unconditionally, with exception of fcntl64, which is not present on Linux m68k
|
#
1.12 |
|
10-May-2002 |
tron |
Remove check for size of field "d_off" in Linux "dirent" structure because this problem cannot happen with the 64Bit version of the getdents().
|
#
1.11 |
|
10-May-2002 |
tron |
Move implementation of linux_sys_getdents64() to source file for Linux 64bit filesystem calls.
|
#
1.10 |
|
22-Mar-2002 |
christos |
gc debugging printfs.
|
#
1.9 |
|
22-Mar-2002 |
christos |
implement the locking calls for linux_file64.
|
Revision tags: eeh-devprop-base
|
#
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.
|
Revision tags: newlock-base ifpoll-base
|
#
1.7 |
|
15-Feb-2002 |
christos |
- add a real linux_sys___sysctl because the mib numbers are different. implement only the kernel version getting entries. - make the signal conversion functions consistent; dest is arg 1. - make linux_fakedev deal with block and char devices differently. - add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so that they work properly. - add linux_mmap2 [untested]. - bump kernel to 2.4.18, and make the date be valentine's day :-) - linux_sys_*stat64 family was totally busted. Fix it.
tested only on i386.
Status: gdb, telnet, work jdk-1.4.0 extractor works, jdk still coredumps.
christos
|
#
1.6 |
|
13-Nov-2001 |
lukem |
add RCSIDs (including regeneration of files as appropriate)
|
Revision tags: thorpej-mips-cache-base
|
#
1.5 |
|
14-Oct-2001 |
manu |
Fixed a minor problem so that it builds
|
Revision tags: thorpej-devvp-base3
|
#
1.4 |
|
30-Sep-2001 |
manu |
Fixes my last commit: only mips really need fcntl64 to work now. i386 and powerpc could use it later if needed. m68k and alpha should never need it.
|
#
1.3 |
|
30-Sep-2001 |
manu |
Added initial support for fcntl64 system call (file locking is not implemented)
|
Revision tags: thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.2 |
|
12-Dec-2000 |
jdolecek |
branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; add linux_sys_truncate64()
|
#
1.1 |
|
12-Dec-2000 |
jdolecek |
add emulation of Linux truncate64(2), ftruncate64(2), *stat64(2)
|