History log of /src/sys/fs/sysvbfs/sysvbfs_vfsops.c |
Revision | | Date | Author | Comments |
1.48 |
| 03-May-2022 |
hannken | Lock devvp for kauth KAUTH_REQ_SYSTEM_MOUNT_DEVICE.
|
1.47 |
| 17-Jan-2020 |
ad | VFS_VGET(), VFS_ROOT(), VFS_FHTOVP(): give them a "int lktype" argument, to allow us to get shared locks (or no lock) on the returned vnode. Matches FreeBSD.
|
1.46 |
| 02-Jan-2015 |
hannken | branches: 1.46.2; 1.46.8; 1.46.18; 1.46.24; Add forgotten memset() to clear sysvbfs nodes before setting them up.
|
1.45 |
| 26-Dec-2014 |
hannken | Change sysvbfs to vcache.
|
1.44 |
| 07-Dec-2014 |
justin | Simplify control flow
Removes a variable and compiler warnings in some cases.
|
1.43 |
| 16-Apr-2014 |
maxv | branches: 1.43.4; An (un)privileged user can easily make the kernel dereference a NULL pointer.
The kernel allows 'data' to be NULL; it's the fs's responsibility to ensure that it isn't NULL (if the fs actually needs data).
ok christos@
|
1.42 |
| 25-Dec-2013 |
mlelstv | branches: 1.42.2; At least fetch mount data pointer before using it. Coverity CID 274767
|
1.41 |
| 14-Jun-2012 |
agc | branches: 1.41.2; 1.41.4; calculate inode capacities using the correct values
|
1.40 |
| 13-Jun-2012 |
joerg | Ensure that error is initialized in all code paths.
|
1.39 |
| 13-Mar-2012 |
elad | Replace the remaining KAUTH_GENERIC_ISSUSER authorization calls with something meaningful. All relevant documentation has been updated or written.
Most of these changes were brought up in the following messages:
http://mail-index.netbsd.org/tech-kern/2012/01/18/msg012490.html http://mail-index.netbsd.org/tech-kern/2012/01/19/msg012502.html http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012728.html
Thanks to christos, manu, njoly, and jmmv for input.
Huge thanks to pgoyette for spinning these changes through some build cycles and ATF.
|
1.38 |
| 13-Nov-2011 |
christos | branches: 1.38.4; 1.38.6; remove unused call to DIOCGPART that was only used for debugging. malloc M_WAITOK, does not fail.
|
1.37 |
| 13-Jul-2011 |
njoly | branches: 1.37.2; Add function name to a few debug messages.
|
1.36 |
| 12-Jun-2011 |
rmind | Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
1.35 |
| 25-Jul-2010 |
hannken | branches: 1.35.6; It makes no sense to call vget() with LK_RETRY.
|
1.34 |
| 21-Jul-2010 |
hannken | Make holding v_interlock mandatory for callers of vget().
Announced some time ago on tech-kern.
|
1.33 |
| 07-Jul-2010 |
njoly | Do set f_namemax at mount, to provide sensible value for statvfs(2) calls.
|
1.32 |
| 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.
|
1.31 |
| 01-Dec-2009 |
pooka | branches: 1.31.2; 1.31.4; Call VOP_CLOSE() in mount error branch with the device locked to prevent crash when specfs attempts to unlock the vnode.
|
1.30 |
| 29-Jun-2009 |
dholland | Convert 67 namei call sites to use namei_simple, in these functions:
check_console, veriexecclose, veriexec_delete, veriexec_file_add, emul_find_root, coff_load_shlib (sh3 version), coff_load_shlib, compat_20_sys_statfs, compat_20_netbsd32_statfs, ELFNAME2(netbsd32,probe_noteless), darwin_sys_statfs, ibcs2_sys_statfs, ibcs2_sys_statvfs, linux_sys_uselib, osf1_sys_statfs, sunos_sys_statfs, sunos32_sys_statfs, ultrix_sys_statfs, do_sys_mount, fss_create_files (3 of 4), adosfs_mount, cd9660_mount, coda_ioctl, coda_mount, ext2fs_mount, ffs_mount, filecore_mount, hfs_mount, lfs_mount, msdosfs_mount, ntfs_mount, sysvbfs_mount, udf_mount, union_mount, sys_chflags, sys_lchflags, sys_chmod, sys_lchmod, sys_chown, sys_lchown, sys___posix_chown, sys___posix_lchown, sys_link, do_sys_pstatvfs, sys_quotactl, sys_revoke, sys_truncate, do_sys_utimes, sys_extattrctl, sys_extattr_set_file, sys_extattr_set_link, sys_extattr_get_file, sys_extattr_get_link, sys_extattr_delete_file, sys_extattr_delete_link, sys_extattr_list_file, sys_extattr_list_link, sys_setxattr, sys_lsetxattr, sys_getxattr, sys_lgetxattr, sys_listxattr, sys_llistxattr, sys_removexattr, sys_lremovexattr
All have been scrutinized (several times, in fact) and compile-tested, but not all have been explicitly tested in action.
XXX: While I haven't (intentionally) changed the use or nonuse of XXX: TRYEMULROOT in any of these places, I'm not convinced all the XXX: uses are correct; an audit might be desirable.
|
1.29 |
| 25-Apr-2009 |
elad | Add genfs_can_mount() and use it to prevent some more code duplication of the security checks when mounting a device (VOP_ACCESS() + kauth(9) call)).
Proposed with no objections on tech-kern@:
http://mail-index.netbsd.org/tech-kern/2009/04/20/msg004859.html
The vnode is always expected to be locked, so no locking is done outside the file-system code.
|
1.28 |
| 09-Apr-2009 |
pooka | * create only one vnode per inode * add locking
|
1.27 |
| 09-Apr-2009 |
pooka | VOP_CLOSE in error branches
|
1.26 |
| 04-Sep-2008 |
pooka | branches: 1.26.2; 1.26.4; 1.26.8; 1.26.14; 1.26.18; Actually, use FWRITE for device open only if we aren't doing MNT_RDONLY. This still allows to mount read-only images with -o ro.
|
1.25 |
| 04-Sep-2008 |
pooka | Open devvp for both reading and writing.
|
1.24 |
| 30-Apr-2008 |
ad | branches: 1.24.2; 1.24.6; Make various bits of debug code compile again.
|
1.23 |
| 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
1.22 |
| 24-Jan-2008 |
ad | branches: 1.22.6; 1.22.8; 1.22.10; specfs changes for PR kern/37717 (raidclose() is no longer called on shutdown). There are still problems with device access and a PR will be filed.
- Kill checkalias(). Allow multiple vnodes to reference a single device.
- Don't play dangerous tricks with block vnodes to ensure that only one vnode can describe a block device. Instead, prohibit concurrent opens of block devices. As a bonus remove the unreliable code that prevents multiple file system mounts on the same device. It's no longer needed.
- Track opens by vnode and by device. Issue cdev_close() when the last open goes away, instead of abusing vnode::v_usecount to tell if the device is open.
|
1.21 |
| 02-Jan-2008 |
ad | Merge vmlocking2 to head.
|
1.20 |
| 15-Dec-2007 |
perry | __FUNCTION__ -> __func__
|
1.19 |
| 08-Dec-2007 |
pooka | branches: 1.19.4; Remove cn_lwp from struct componentname. curlwp should be used from on. The NDINIT() macro no longer takes the lwp parameter and associates the credentials of the calling thread with the namei structure.
|
1.18 |
| 26-Nov-2007 |
pooka | branches: 1.18.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
|
1.17 |
| 10-Oct-2007 |
ad | branches: 1.17.4; Merge from vmlocking:
- Split vnode::v_flag into three fields, depending on field locking. - simple_lock -> kmutex in a few places. - Fix some simple locking problems.
|
1.16 |
| 08-Sep-2007 |
rumble | branches: 1.16.2; Don't explicitly set vp->v_size and then call uvm_vnp_setsize(). This is not only unnecessary, but trips a kernel assertion introduced in r1.85 of uvm/uvm_vnode.c.
|
1.15 |
| 31-Jul-2007 |
pooka | branches: 1.15.2; 1.15.4; 1.15.6; * nuke the nameidata parameter from VFS_MOUNT(). Nobody on tech-kern knew what it was supposed to be used for and wrstuden gave a go-ahead * while rototilling, convert file systems which went easily to use VFS_PROTOS() instead of manually prototyping the methods
|
1.14 |
| 21-Jul-2007 |
ad | Don't depend on uvm_extern.h pulling in proc.h.
|
1.13 |
| 17-Jul-2007 |
pooka | branches: 1.13.2; Make set_statvfs_info() take a parameter for the vfs name instead of always retrieving it from mp->mnt_op->vfs_name
christos ok
|
1.12 |
| 12-Jul-2007 |
dsl | Change the VFS_MOUNT() interface so that the 'data' buffer passed to the fs code is a kernel buffer, pass though the length of the buffer as well. Since the length of the userspace buffer isn'it (yet) passed through the mount system call, add a field to the vfsops structure containing the default length. Split sys_mount() for calls from compat code. Ride one of the recent kernel version changes - old fs LKMs will load, but sys_mount() will reject any attempt to use them.
|
1.11 |
| 30-Jun-2007 |
pooka | Using POOL_INIT here makes no sense, since file systems always have an init method. So get rid of it and #ifdef _LKM and just always init in the init method. Give malloc types the same treatment. Makes file systems nicer to work with in linksetless environments and fixes a few LKM discrepancies.
|
1.10 |
| 28-Jun-2007 |
tsutsui | Fix mnt_dev_bshift value. Pointed out by rumble@.
I'm not sure how mnt_dev_bshift is used and whether BFS_BSHIFT is correct for it, but as rumble said shifting BFS_BSIZE (==512) seems completly wrong.
|
1.9 |
| 20-Mar-2007 |
tsutsui | Pass an ipl argument to pool_init/POOL_INIT to be used when initializing the pool's lock.
|
1.8 |
| 21-Feb-2007 |
thorpej | branches: 1.8.4; 1.8.6; 1.8.8; Replace the Mach-derived boolean_t type with the C99 bool type. A future commit will replace use of TRUE and FALSE with true and false.
|
1.7 |
| 04-Jan-2007 |
elad | branches: 1.7.2; Consistent usage of KAUTH_GENERIC_ISSUSER.
|
1.6 |
| 23-Jul-2006 |
ad | branches: 1.6.4; Use the LWP cached credentials where sane.
|
1.5 |
| 13-Jul-2006 |
martin | Fix alignement problems for fhandle_t, exposed by gcc4.1.
While touching all vptofh/fhtovp functions, get rid of VFS_MAXFIDSIZ, version the getfh(2) syscall and explicitly pass the size available in the filehandle from userland.
Discussed on tech-kern, with lots of help from yamt (thanks!).
|
1.4 |
| 15-May-2006 |
yamt | branches: 1.4.4; 1.4.6; include kauth.h for NOCRED.
|
1.3 |
| 14-May-2006 |
elad | integrate kauth.
|
1.2 |
| 25-Feb-2006 |
wiz | branches: 1.2.2; 1.2.4; 1.2.6; Fix some typos.
|
1.1 |
| 29-Dec-2005 |
tsutsui | branches: 1.1.2; 1.1.4; 1.1.6; Add preliminary support for System V Boot File System. Written by UCHIYAMA Yasushi <uch@netbsd>.
|
1.1.6.2 |
| 01-Jun-2006 |
kardel | Sync with head.
|
1.1.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.1.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.1.2.1 |
| 01-Mar-2006 |
yamt | sync with head.
|
1.2.6.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.2.4.1 |
| 08-Mar-2006 |
elad | Adapt to kernel authorization KPI.
|
1.2.2.2 |
| 11-Aug-2006 |
yamt | sync with head
|
1.2.2.1 |
| 24-May-2006 |
yamt | sync with head.
|
1.4.6.9 |
| 04-Feb-2008 |
yamt | sync with head.
|
1.4.6.8 |
| 21-Jan-2008 |
yamt | sync with head
|
1.4.6.7 |
| 07-Dec-2007 |
yamt | sync with head
|
1.4.6.6 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.4.6.5 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.4.6.4 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.4.6.3 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.4.6.2 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.4.6.1 |
| 15-May-2006 |
yamt | file sysvbfs_vfsops.c was added on branch yamt-lazymbuf on 2006-06-21 15:09:30 +0000
|
1.4.4.1 |
| 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.6.4.1 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.7.2.2 |
| 24-Mar-2007 |
yamt | sync with head.
|
1.7.2.1 |
| 27-Feb-2007 |
yamt | - sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
|
1.8.8.1 |
| 29-Mar-2007 |
reinoud | Pullup to -current
|
1.8.6.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.8.4.6 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.8.4.5 |
| 20-Aug-2007 |
ad | Sync with HEAD.
|
1.8.4.4 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.8.4.3 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.8.4.2 |
| 17-Jun-2007 |
ad | - Increase the number of thread priorities from 128 to 256. How the space is set up is to be revisited. - Implement soft interrupts as kernel threads. A generic implementation is provided, with hooks for fast-path MD code that can run the interrupt threads over the top of other threads executing in the kernel. - Split vnode::v_flag into three fields, depending on how the flag is locked (by the interlock, by the vnode lock, by the file system). - Miscellaneous locking fixes and improvements.
|
1.8.4.1 |
| 10-Apr-2007 |
ad | Sync with head.
|
1.13.2.2 |
| 10-Sep-2007 |
skrll | Sync with HEAD.
|
1.13.2.1 |
| 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.15.6.2 |
| 31-Jul-2007 |
pooka | * nuke the nameidata parameter from VFS_MOUNT(). Nobody on tech-kern knew what it was supposed to be used for and wrstuden gave a go-ahead * while rototilling, convert file systems which went easily to use VFS_PROTOS() instead of manually prototyping the methods
|
1.15.6.1 |
| 31-Jul-2007 |
pooka | file sysvbfs_vfsops.c was added on branch matt-mips64 on 2007-07-31 21:14:19 +0000
|
1.15.4.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.15.4.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.15.4.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.15.2.4 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.15.2.3 |
| 27-Nov-2007 |
joerg | Sync with HEAD. amd64 Xen support needs testing.
|
1.15.2.2 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.15.2.1 |
| 02-Oct-2007 |
joerg | Sync with HEAD.
|
1.16.2.1 |
| 14-Oct-2007 |
yamt | sync with head.
|
1.17.4.3 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.17.4.2 |
| 27-Dec-2007 |
mjf | Sync with HEAD.
|
1.17.4.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.18.2.2 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.18.2.1 |
| 04-Dec-2007 |
ad | Pull the vmlocking changes into a new branch.
|
1.19.4.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.22.10.5 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.22.10.4 |
| 11-Mar-2010 |
yamt | sync with head
|
1.22.10.3 |
| 18-Jul-2009 |
yamt | sync with head.
|
1.22.10.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.22.10.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.22.8.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.22.6.2 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.22.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.24.6.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.24.2.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.26.18.1 |
| 28-Apr-2014 |
sborrill | Pull up the following revisions(s) (requested by maxv in ticket #1901): sys/kern/vfs_syscalls.c: revision 1.478, 1.480 via patch sys/coda/coda_vfsops.c: revision 1.81 sys/fs/adosfs/advfsops.c: revision 1.70 sys/fs/cd9660/cd9660_vfsops.c: revision 1.84 sys/fs/efs/efs_vfsops.c: revision 1.25 sys/fs/filecorefs/filecore_vfsops.c: revision 1.76 sys/fs/hfs/hfs_vfsops.c: revision 1.31 sys/fs/msdosfs/msdosfs_vfsops.c: revision 1.107 sys/fs/ntfs/ntfs_vfsops.c: revision 1.94 sys/fs/ptyfs/ptyfs_vfsops.c: revision 1.50 via patch sys/fs/puffs/puffs_vfsops.c: revision 1.110 via patch sys/fs/smbfs/smbfs_vfsops.c: revision 1.100 sys/fs/sysvbfs/sysvbfs_vfsops.c: revision 1.43 sys/fs/tmpfs/tmpfs_vfsops.c: revision 1.59 via patch sys/fs/udf/udf_vfsops.c: revision 1.67 sys/fs/union/union_vfsops.c: revision 1.72 sys/fs/unionfs/unionfs_vfsops.c: revision 1.13 sys/kern/vfs_syscalls.c: revision 1.479 sys/miscfs/nullfs/null_vfsops.c: revision 1.88 via patch sys/miscfs/overlay/overlay_vfsops.c: revision 1.61 sys/miscfs/procfs/procfs_vfsops.c: revision 1.91 sys/miscfs/umapfs/umap_vfsops.c: revision 1.92 sys/nfs/nfs_vfsops.c: revision 1.227 sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.180 sys/ufs/ffs/ffs_vfsops.c: revision 1.297 sys/ufs/lfs/lfs_vfsops.c: revision 1.321 sys/ufs/mfs/mfs_vfsops.c: revision 1.107
Due to missing checks in the mount syscall, and a wrong assumption on the file systems side, the kernel could allocate an unbounded or zero-sized memory buffer, and could dereference a NULL pointer when particular arguments are given by a user.
|
1.26.14.1 |
| 28-Apr-2014 |
sborrill | Pull up the following revisions(s) (requested by maxv in ticket #1901): sys/kern/vfs_syscalls.c: revision 1.478, 1.480 via patch sys/coda/coda_vfsops.c: revision 1.81 sys/fs/adosfs/advfsops.c: revision 1.70 sys/fs/cd9660/cd9660_vfsops.c: revision 1.84 sys/fs/efs/efs_vfsops.c: revision 1.25 sys/fs/filecorefs/filecore_vfsops.c: revision 1.76 sys/fs/hfs/hfs_vfsops.c: revision 1.31 sys/fs/msdosfs/msdosfs_vfsops.c: revision 1.107 sys/fs/ntfs/ntfs_vfsops.c: revision 1.94 sys/fs/ptyfs/ptyfs_vfsops.c: revision 1.50 via patch sys/fs/puffs/puffs_vfsops.c: revision 1.110 via patch sys/fs/smbfs/smbfs_vfsops.c: revision 1.100 sys/fs/sysvbfs/sysvbfs_vfsops.c: revision 1.43 sys/fs/tmpfs/tmpfs_vfsops.c: revision 1.59 via patch sys/fs/udf/udf_vfsops.c: revision 1.67 sys/fs/union/union_vfsops.c: revision 1.72 sys/fs/unionfs/unionfs_vfsops.c: revision 1.13 sys/kern/vfs_syscalls.c: revision 1.479 sys/miscfs/nullfs/null_vfsops.c: revision 1.88 via patch sys/miscfs/overlay/overlay_vfsops.c: revision 1.61 sys/miscfs/procfs/procfs_vfsops.c: revision 1.91 sys/miscfs/umapfs/umap_vfsops.c: revision 1.92 sys/nfs/nfs_vfsops.c: revision 1.227 sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.180 sys/ufs/ffs/ffs_vfsops.c: revision 1.297 sys/ufs/lfs/lfs_vfsops.c: revision 1.321 sys/ufs/mfs/mfs_vfsops.c: revision 1.107
Due to missing checks in the mount syscall, and a wrong assumption on the file systems side, the kernel could allocate an unbounded or zero-sized memory buffer, and could dereference a NULL pointer when particular arguments are given by a user.
|
1.26.8.2 |
| 23-Jul-2009 |
jym | Sync with HEAD.
|
1.26.8.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.26.4.1 |
| 25-Apr-2014 |
sborrill | Pull up the following revisions(s) (requested by maxv in ticket #1901): sys/kern/vfs_syscalls.c: revision 1.478, 1.480 via patch sys/coda/coda_vfsops.c: revision 1.81 sys/fs/adosfs/advfsops.c: revision 1.70 sys/fs/cd9660/cd9660_vfsops.c: revision 1.84 sys/fs/efs/efs_vfsops.c: revision 1.25 sys/fs/filecorefs/filecore_vfsops.c: revision 1.76 sys/fs/hfs/hfs_vfsops.c: revision 1.31 sys/fs/msdosfs/msdosfs_vfsops.c: revision 1.107 sys/fs/ntfs/ntfs_vfsops.c: revision 1.94 sys/fs/ptyfs/ptyfs_vfsops.c: revision 1.50 via patch sys/fs/puffs/puffs_vfsops.c: revision 1.110 via patch sys/fs/smbfs/smbfs_vfsops.c: revision 1.100 sys/fs/sysvbfs/sysvbfs_vfsops.c: revision 1.43 sys/fs/tmpfs/tmpfs_vfsops.c: revision 1.59 via patch sys/fs/udf/udf_vfsops.c: revision 1.67 sys/fs/union/union_vfsops.c: revision 1.72 sys/fs/unionfs/unionfs_vfsops.c: revision 1.13 sys/kern/vfs_syscalls.c: revision 1.479 sys/miscfs/nullfs/null_vfsops.c: revision 1.88 via patch sys/miscfs/overlay/overlay_vfsops.c: revision 1.61 sys/miscfs/procfs/procfs_vfsops.c: revision 1.91 sys/miscfs/umapfs/umap_vfsops.c: revision 1.92 sys/nfs/nfs_vfsops.c: revision 1.227 sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.180 sys/ufs/ffs/ffs_vfsops.c: revision 1.297 sys/ufs/lfs/lfs_vfsops.c: revision 1.321 sys/ufs/mfs/mfs_vfsops.c: revision 1.107
Due to missing checks in the mount syscall, and a wrong assumption on the file systems side, the kernel could allocate an unbounded or zero-sized memory buffer, and could dereference a NULL pointer when particular arguments are given by a user.
|
1.26.2.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.31.4.4 |
| 19-May-2011 |
rmind | Implement sharing of vnode_t::v_interlock amongst vnodes: - Lock is shared amongst UVM objects using uvm_obj_setlock() or getnewvnode(). - Adjust vnode cache to handle unsharing, add VI_LOCKSHARE flag for that. - Use sharing in tmpfs and layerfs for underlying object. - Simplify locking in ubc_fault(). - Sprinkle some asserts.
Discussed with ad@.
|
1.31.4.3 |
| 05-Mar-2011 |
rmind | sync with head
|
1.31.4.2 |
| 03-Jul-2010 |
rmind | sync with head
|
1.31.4.1 |
| 16-Mar-2010 |
rmind | Change struct uvm_object::vmobjlock to be dynamically allocated with mutex_obj_alloc(). It allows us to share the locks among UVM objects.
|
1.31.2.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.35.6.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.37.2.3 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.37.2.2 |
| 30-Oct-2012 |
yamt | sync with head
|
1.37.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.38.6.2 |
| 21-Apr-2014 |
bouyer | Pull up following revision(s) (requested by maxv in ticket #1050): sys/ufs/chfs/chfs_vfsops.c: revision 1.11 sys/fs/unionfs/unionfs_vfsops.c: revision 1.13 sys/fs/nilfs/nilfs_vfsops.c: revision 1.16 sys/ufs/mfs/mfs_vfsops.c: revision 1.107 sys/fs/sysvbfs/sysvbfs_vfsops.c: revision 1.43 sys/ufs/ffs/ffs_vfsops.c: revision 1.297 sys/kern/vfs_syscalls.c: revision 1.478 sys/kern/vfs_syscalls.c: revision 1.479 sys/fs/puffs/puffs_vfsops.c: revision 1.110 sys/fs/cd9660/cd9660_vfsops.c: revision 1.84 sys/nfs/nfs_vfsops.c: revision 1.227 sys/fs/v7fs/v7fs_vfsops.c: revision 1.10 sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.180 sys/miscfs/umapfs/umap_vfsops.c: revision 1.92 sys/fs/filecorefs/filecore_vfsops.c: revision 1.76 sys/miscfs/nullfs/null_vfsops.c: revision 1.88 sys/fs/ptyfs/ptyfs_vfsops.c: revision 1.50 sys/coda/coda_vfsops.c: revision 1.81 sys/ufs/lfs/lfs_vfsops.c: revision 1.321 sys/fs/tmpfs/tmpfs_vfsops.c: revision 1.59 sys/fs/hfs/hfs_vfsops.c: revision 1.31 sys/miscfs/overlay/overlay_vfsops.c: revision 1.61 sys/fs/union/union_vfsops.c: revision 1.72 sys/fs/ntfs/ntfs_vfsops.c: revision 1.94 sys/kern/vfs_syscalls.c: revision 1.480 sys/fs/efs/efs_vfsops.c: revision 1.25 sys/kern/vfs_syscalls.c: revision 1.482 sys/fs/msdosfs/msdosfs_vfsops.c: revision 1.107 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.12 sys/miscfs/procfs/procfs_vfsops.c: revision 1.91 sys/fs/smbfs/smbfs_vfsops.c: revision 1.100 sys/fs/adosfs/advfsops.c: revision 1.70 sys/fs/udf/udf_vfsops.c: revision 1.67 Limit check for 'data_len'. Otherwise a (un)privileged user can easily panic the system by passing a huge size. ok christos@ An (un)privileged user can easily make the kernel dereference a NULL pointer. The kernel allows 'data' to be NULL; it's the fs's responsibility to ensure that it isn't NULL (if the fs actually needs data). ok christos@ Some fs's - like kernfs - set their vfs_min_mount_data to zero. Add a check to prevent an (un)privileged user from requesting a zero-sized allocation (and thus a panic). This thing is totally buggy: 'data_len' is modified by the fs, so calling kmem_free with it while its value has changed since the kmem_alloc is far from being a good idea. If the kernel figures out that something mismatches, it will panic (typically with kernfs).
|
1.38.6.1 |
| 24-Jun-2012 |
jdc | branches: 1.38.6.1.4; 1.38.6.1.6; Pull up revisions: src/sys/fs/hfs/hfs_vfsops.c revision 1.29 src/sys/fs/sysvbfs/sysvbfs_vfsops.c revision 1.40 src/sys/fs/v7fs/v7fs_vfsops.c revision 1.7 (requested by joerg in ticket #344).
|
1.38.6.1.6.1 |
| 21-Apr-2014 |
bouyer | Pull up following revision(s) (requested by maxv in ticket #1050): sys/ufs/chfs/chfs_vfsops.c: revision 1.11 sys/fs/unionfs/unionfs_vfsops.c: revision 1.13 sys/fs/nilfs/nilfs_vfsops.c: revision 1.16 sys/ufs/mfs/mfs_vfsops.c: revision 1.107 sys/fs/sysvbfs/sysvbfs_vfsops.c: revision 1.43 sys/ufs/ffs/ffs_vfsops.c: revision 1.297 sys/kern/vfs_syscalls.c: revision 1.478 sys/kern/vfs_syscalls.c: revision 1.479 sys/fs/puffs/puffs_vfsops.c: revision 1.110 sys/fs/cd9660/cd9660_vfsops.c: revision 1.84 sys/nfs/nfs_vfsops.c: revision 1.227 sys/fs/v7fs/v7fs_vfsops.c: revision 1.10 sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.180 sys/miscfs/umapfs/umap_vfsops.c: revision 1.92 sys/fs/filecorefs/filecore_vfsops.c: revision 1.76 sys/miscfs/nullfs/null_vfsops.c: revision 1.88 sys/fs/ptyfs/ptyfs_vfsops.c: revision 1.50 sys/coda/coda_vfsops.c: revision 1.81 sys/ufs/lfs/lfs_vfsops.c: revision 1.321 sys/fs/tmpfs/tmpfs_vfsops.c: revision 1.59 sys/fs/hfs/hfs_vfsops.c: revision 1.31 sys/miscfs/overlay/overlay_vfsops.c: revision 1.61 sys/fs/union/union_vfsops.c: revision 1.72 sys/fs/ntfs/ntfs_vfsops.c: revision 1.94 sys/kern/vfs_syscalls.c: revision 1.480 sys/fs/efs/efs_vfsops.c: revision 1.25 sys/kern/vfs_syscalls.c: revision 1.482 sys/fs/msdosfs/msdosfs_vfsops.c: revision 1.107 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.12 sys/miscfs/procfs/procfs_vfsops.c: revision 1.91 sys/fs/smbfs/smbfs_vfsops.c: revision 1.100 sys/fs/adosfs/advfsops.c: revision 1.70 sys/fs/udf/udf_vfsops.c: revision 1.67 Limit check for 'data_len'. Otherwise a (un)privileged user can easily panic the system by passing a huge size. ok christos@ An (un)privileged user can easily make the kernel dereference a NULL pointer. The kernel allows 'data' to be NULL; it's the fs's responsibility to ensure that it isn't NULL (if the fs actually needs data). ok christos@ Some fs's - like kernfs - set their vfs_min_mount_data to zero. Add a check to prevent an (un)privileged user from requesting a zero-sized allocation (and thus a panic). This thing is totally buggy: 'data_len' is modified by the fs, so calling kmem_free with it while its value has changed since the kmem_alloc is far from being a good idea. If the kernel figures out that something mismatches, it will panic (typically with kernfs).
|
1.38.6.1.4.1 |
| 21-Apr-2014 |
bouyer | Pull up following revision(s) (requested by maxv in ticket #1050): sys/ufs/chfs/chfs_vfsops.c: revision 1.11 sys/fs/unionfs/unionfs_vfsops.c: revision 1.13 sys/fs/nilfs/nilfs_vfsops.c: revision 1.16 sys/ufs/mfs/mfs_vfsops.c: revision 1.107 sys/fs/sysvbfs/sysvbfs_vfsops.c: revision 1.43 sys/ufs/ffs/ffs_vfsops.c: revision 1.297 sys/kern/vfs_syscalls.c: revision 1.478 sys/kern/vfs_syscalls.c: revision 1.479 sys/fs/puffs/puffs_vfsops.c: revision 1.110 sys/fs/cd9660/cd9660_vfsops.c: revision 1.84 sys/nfs/nfs_vfsops.c: revision 1.227 sys/fs/v7fs/v7fs_vfsops.c: revision 1.10 sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.180 sys/miscfs/umapfs/umap_vfsops.c: revision 1.92 sys/fs/filecorefs/filecore_vfsops.c: revision 1.76 sys/miscfs/nullfs/null_vfsops.c: revision 1.88 sys/fs/ptyfs/ptyfs_vfsops.c: revision 1.50 sys/coda/coda_vfsops.c: revision 1.81 sys/ufs/lfs/lfs_vfsops.c: revision 1.321 sys/fs/tmpfs/tmpfs_vfsops.c: revision 1.59 sys/fs/hfs/hfs_vfsops.c: revision 1.31 sys/miscfs/overlay/overlay_vfsops.c: revision 1.61 sys/fs/union/union_vfsops.c: revision 1.72 sys/fs/ntfs/ntfs_vfsops.c: revision 1.94 sys/kern/vfs_syscalls.c: revision 1.480 sys/fs/efs/efs_vfsops.c: revision 1.25 sys/kern/vfs_syscalls.c: revision 1.482 sys/fs/msdosfs/msdosfs_vfsops.c: revision 1.107 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.12 sys/miscfs/procfs/procfs_vfsops.c: revision 1.91 sys/fs/smbfs/smbfs_vfsops.c: revision 1.100 sys/fs/adosfs/advfsops.c: revision 1.70 sys/fs/udf/udf_vfsops.c: revision 1.67 Limit check for 'data_len'. Otherwise a (un)privileged user can easily panic the system by passing a huge size. ok christos@ An (un)privileged user can easily make the kernel dereference a NULL pointer. The kernel allows 'data' to be NULL; it's the fs's responsibility to ensure that it isn't NULL (if the fs actually needs data). ok christos@ Some fs's - like kernfs - set their vfs_min_mount_data to zero. Add a check to prevent an (un)privileged user from requesting a zero-sized allocation (and thus a panic). This thing is totally buggy: 'data_len' is modified by the fs, so calling kmem_free with it while its value has changed since the kmem_alloc is far from being a good idea. If the kernel figures out that something mismatches, it will panic (typically with kernfs).
|
1.38.4.1 |
| 05-Apr-2012 |
mrg | sync to latest -current.
|
1.41.4.1 |
| 18-May-2014 |
rmind | sync with head
|
1.41.2.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.41.2.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.42.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.43.4.1 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.46.24.1 |
| 17-Jan-2020 |
ad | Sync with head.
|
1.46.18.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.46.8.1 |
| 27-Apr-2017 |
pgoyette | Restore all work from the former pgoyette-localcount branch (which is now abandoned doe to cvs merge botch).
The branch now builds, and installs via anita. There are still some problems (cgd is non-functional and all atf tests time-out) but they will get resolved soon.
|
1.46.2.1 |
| 20-Jul-2016 |
pgoyette | Adapt machine-independant code to the new {b,c}devsw reference-counting (using localcount(9)). All callers of {b,c}devsw_lookup() now call {b,c}devsw_lookup_acquire() which retains a reference on the 'struct {b,c}devsw'. This reference must be released by the caller once it is finished with the structure's content (or other data that would disappear if the 'struct {b,c}devsw' were to disappear).
|