aboutsummaryrefslogtreecommitdiff
path: root/sys/miscfs
Commit message (Collapse)AuthorAgeFilesLines
* Removed unused #includes.Bruce Evans1997-09-026-28/+6
| | | | Notes: svn path=/head/; revision=29041
* Include "opt_ddb.h" only when NULLFS_DIAGNOSTIC is defined.KATO Takenori1997-08-281-3/+3
| | | | Notes: svn path=/head/; revision=28844
* Fixed NULLFS_DIAGNOSTIC stuff.KATO Takenori1997-08-271-2/+11
| | | | Notes: svn path=/head/; revision=28832
* remove un-needed if statement (now the poul removed the 'then' clause)Julian Elischer1997-08-271-8/+1
| | | | Notes: svn path=/head/; revision=28818
* two fixes submitted by Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>Julian Elischer1997-08-261-3/+4
| | | | | | | fixes problems in unmounting and propogation. Notes: svn path=/head/; revision=28807
* Copy&Paste considered harmful:Poul-Henning Kamp1997-08-251-67/+1
| | | | | | | | Remove all traces of the name_cache from devfs. It is hardly sensible to use the namecache for an all-RAM filesystem. Notes: svn path=/head/; revision=28733
* Fix all areas of the system (or at least all those in LINT) to avoid storingGarrett Wollman1997-08-1610-29/+30
| | | | | | | | | | | socket addresses in mbufs. (Socket buffers are the one exception.) A number of kernel APIs needed to get fixed in order to make this happen. Also, fix three protocol families which kept PCBs in mbufs to not malloc them instead. Delete some old compatibility cruft while we're at it, and add some new routines in the in_cksum family. Notes: svn path=/head/; revision=28270
* Added DIAGNOSTIC routine to test inconsistency of vnode when cnpKATO Takenori1997-08-151-1/+9
| | | | | | | | | points `.'. Obtained from: NetBSD Notes: svn path=/head/; revision=28233
* Deleted unused code which adjust UN_UNLOCK flag.KATO Takenori1997-08-151-17/+5
| | | | Notes: svn path=/head/; revision=28232
* If the user doesn't have read permission, union_copyup should not copyKATO Takenori1997-08-141-1/+11
| | | | | | | | | a file to upper layer. Reviewed by: Naofumi Honda <honda@Kururu.math.sci.hokudai.ac.jp> Notes: svn path=/head/; revision=28189
* Backed out part of previous change. The example of -b mount inKATO Takenori1997-08-141-4/+2
| | | | | | | manpage works again. Notes: svn path=/head/; revision=28188
* Fixed vnode corruption by undefined case in union_lookup(). WhenKATO Takenori1997-08-121-3/+7
| | | | | | | | | | | | | | uerror == 0 && lerror == EACCES, lowervp == NULLVP and union_allocvp doesn't find existing union node and new union node is created. Sicne it is dificult to cover all the case, union_lookup always returns when union_lookup1() returns EACCES. Submitted by: Naofumi Honda <honda@Kururu.math.sci.hokudai.ac.jp> Obtained from: NetBSD/pc98 Notes: svn path=/head/; revision=28101
* Check permissions for fp regs as well as normal regs.Sean Eric Fagan1997-08-121-1/+3
| | | | Notes: svn path=/head/; revision=28089
* Fix procfs security hole -- check permissions on meaningful I/Os (namely,Sean Eric Fagan1997-08-124-8/+43
| | | | | | | | | | reading/writing of mem and regs). Also have to check for the requesting process being group KMEM -- this is a bit of a hack, but ps et al need it. Reviewed by: davidg Notes: svn path=/head/; revision=28086
* Removed unused #includes.Bruce Evans1997-08-0224-115/+25
| | | | Notes: svn path=/head/; revision=27845
* two tiny typo'sJulian Elischer1997-07-141-3/+3
| | | | Notes: svn path=/head/; revision=27389
* remove annoying debug messageJulian Elischer1997-07-141-2/+1
| | | | Notes: svn path=/head/; revision=27387
* More comment cleanup.Alexander Langer1997-06-261-5/+5
| | | | Notes: svn path=/head/; revision=26964
* Typo police.Alexander Langer1997-06-261-3/+3
| | | | Notes: svn path=/head/; revision=26963
* Style fix my previous commit.Alexander Langer1997-06-261-2/+2
| | | | Notes: svn path=/head/; revision=26962
* Block all write operations to /proc/1/* when securelevel > 0.Alexander Langer1997-06-211-1/+3
| | | | | | | | | | The additional check in procfs_ctl.c could be backed out, but I'm leaving it in for good measure. Reviewed by: Theo de Raadt <deraadt@OpenBSD.org> Notes: svn path=/head/; revision=26769
* Don't remove the controlling tty from the session if the vnode is beingTor Egge1997-05-291-1/+2
| | | | | | | cleaned. This should help for PR kern/3581. Notes: svn path=/head/; revision=26271
* Fix some warnings (missing prototypes, wrong "generic" args etc)Peter Wemm1997-05-253-9/+11
| | | | | | | umapfs uses one of nullfs's functions... Notes: svn path=/head/; revision=26111
* 1. Added cast and parenthesis in block size calculaion inKATO Takenori1997-05-072-78/+78
| | | | | | | | | | union_statfs(). 2. staticized union vops. Submitted by: Doug Rabson <dfr@nlsystems.com> Notes: svn path=/head/; revision=25535
* Fix the umount problems for DEVFS.Joerg Wunsch1997-05-032-4/+17
| | | | | | | | PR: 3276 & 3469 (the fixes), 2738, 2033 (reports) Submitted by: Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru> Notes: svn path=/head/; revision=25436
* Fixed panic message in union_lock(): union_link --> union_lock.KATO Takenori1997-05-031-2/+2
| | | | Notes: svn path=/head/; revision=25397
* Access correct union mount point in union_access. Old vnode is savedKATO Takenori1997-05-021-2/+4
| | | | | | | | | in savedvp variable and it is used for the argument of MOUNTTOUNIONMOUNT(). I didn't realize ap->a_vp is modified before MOUNTTOUNIONMOUNT(), so the change by revision 1.22 is incorrect. Notes: svn path=/head/; revision=25379
* Remove the dependancy on DEV_BSIZE, now specfs works on != 512byteSøren Schmidt1997-05-011-3/+10
| | | | | | | | sector devices given that the fs uses a blocksize of at least a physical sector size. Notes: svn path=/head/; revision=25358
* Revised fix for locking violation when unionfs calls vput withKATO Takenori1997-04-291-32/+36
| | | | | | | | | | | | | | | | | | | | UN_KLOCK flag. When UN_KLOCK is set, VOP_UNLOCK should keep uppervp locked and clear UN_ULOCK flag. To do this, when UN_KLOCK is set, (1) union_unlock clears UN_ULOCK and does not clear UN_KLOCK, (2) union_lock() does not access uppervp and does not clear UN_KLOCK, and (3) callers of vput/VOP_UNLOCK should clear UN_KLOCK. For example, vput becomes: SETKLOCK(union_node); vput(vnode); CLEARKLOCK(union_node); where SETKLOCK macro sets UN_KLOCK and CLEARKLOCK macro clears UN_KLOCK. Notes: svn path=/head/; revision=25261
* Removed bogon from previous commit: doubly included sys/systm.h.Alexander Langer1997-04-271-2/+1
| | | | Notes: svn path=/head/; revision=25207
* Prevent debugger attachment to init when securelevel > 0.Alexander Langer1997-04-271-1/+6
| | | | | | | Noticed by: Brian Buchanan <brian@wasteland.calbbs.com> Notes: svn path=/head/; revision=25200
* Undo 1.29.KATO Takenori1997-04-271-2/+2
| | | | Notes: svn path=/head/; revision=25192
* Do nothing instead of adjusting un_flags when (uppervp is locked) &&KATO Takenori1997-04-261-11/+3
| | | | | | | | (UN_ULOCK is not set) in union_lock. This condition may indicate race. DIAGNOSTIC kernel still panic here. Notes: svn path=/head/; revision=25167
* Do not clear UN_ULOCK in certain case.KATO Takenori1997-04-261-2/+12
| | | | | | | | | | | | Our vput calls vm_object_deallocate() --> vm_object_terminate(). The vm_object_terminate() calls vn_lock(), since UN_LOCKED has been already cleared in union_unlock(). Then, union_lock locks upper vnode when UN_ULOCK is not set. The upper vnode is not unlocked when UN_KLOCK is set in union_unlock(), thus, union_lock tries to lock locked vnode and we get panic. Notes: svn path=/head/; revision=25160
* Dirty change in union_lock(). Sometimes upper vnode is locked withoutKATO Takenori1997-04-211-5/+23
| | | | | | | | | | | UN_ULOCK flag. This shows a locking violation but I couldn't find the reason UN_ULOCK is not set or upper vnode is not unlocked. I added the code that detect this case and adjust un_flags. DIAGNOSTIC kernel doesn't adjust un_flags, but just panic here to help debug by kernel hackers. Notes: svn path=/head/; revision=25079
* Replace VOP_LOCK with vn_lock.KATO Takenori1997-04-211-2/+2
| | | | Notes: svn path=/head/; revision=25070
* Fix both a problem with accessing backing objects, and also releaseJohn Dyson1997-04-201-1/+14
| | | | | | | | | the process map on nonexistant pages. PR: kern/3327 Submitted by: Tor Egge <Tor.Egge@idi.ntnu.no> Notes: svn path=/head/; revision=25055
* Avoid `lock against myself' panic by following operation:KATO Takenori1997-04-192-6/+33
| | | | | | | | | | | | | # mount -t union (or null) dir1 dir2 # mount -t union (or null) dir2 dir1 The function namei in union_mount calls union_root. The upper vnode has been already locked and vn_lock in union_root causes above panic. Add printf's included in `#ifdef DIAGNOSTIC' for EDEADLK cases. Notes: svn path=/head/; revision=25016
* Fix `locking against myself' panic by multi nullfs mount of sameKATO Takenori1997-04-171-1/+25
| | | | | | | directory pair. Notes: svn path=/head/; revision=24988
* Use NULLVP instead of NULL.KATO Takenori1997-04-173-11/+11
| | | | Notes: svn path=/head/; revision=24987
* Do not set the uppervp to NULLVP in union_removed_upper. If lowervpKATO Takenori1997-04-161-1/+16
| | | | | | | | | | | | | | | is NULLVP, union node will have neither uppervp nor lowervp. This causes page fault trap. The union_removed_upper just remove union node from cache and it doesn't set uppervp to NULLVP. Since union node is removed from cache, it will not be referenced. The code that remove union node from cache was copied from union_inactive. Notes: svn path=/head/; revision=24985
* Undo previous commit to avoid panic, and fix order of argument ofKATO Takenori1997-04-161-15/+2
| | | | | | | | | | | | | | | | | | VOP_LINK(). The reason of strange behavior was wrong order of the argument, that is, the operation # ln foo bar in a union fs tried to do # ln bar foo in ufs layer. Now we can make a link in a union fs. Notes: svn path=/head/; revision=24974
* Quick-hack to avoid `lock against myself' panic. It is not the realKATO Takenori1997-04-151-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | fix! The ufs_link() assumes that vnode is not unlocked and tries to lock it in certain case. Because union_link calls VOP_LINK after locking vnode, vn_lock in ufs_link causes above panic. Currently, I don't know the real fix for a locking violation in union_link, but I think it is important to avoid panic. A vnode is unlocked before calling VOP_LINK and is locked after it if the vnode is not union fs. Even though panic went away, the process that access the union fs in which link was made will hang-up. Hang-up can be easily reproduced by following operation: mount -t union a b cd b ln foo bar ls Notes: svn path=/head/; revision=24963
* Fix `lockmgr: locking against myself' panic by multi union mount ofKATO Takenori1997-04-141-1/+25
| | | | | | | | | | | | | | | | same directory pair. If we do: mount -t union a b mount -t union a b then, (1) namei tries to lock fs which has been already locked by first union mount and (2) union_root() tries to lock locked fs. To avoid first deadlock condition, unlock vnode if lowerrootvp is union node, and to avoid second case, union_mount returns EDEADLK when multi union mount is detected. Notes: svn path=/head/; revision=24921
* Fix locking violation when accessing `..'.KATO Takenori1997-04-141-1/+39
| | | | | | | Obtained from: NetBSD Notes: svn path=/head/; revision=24918
* Access correct union mount point in union_access.KATO Takenori1997-04-131-2/+2
| | | | Notes: svn path=/head/; revision=24875
* The function union_fsync tries to lock overlaying vnode object whenPoul-Henning Kamp1997-04-131-3/+14
| | | | | | | | | | | | | dolock is not set (that is, targetvp == overlaying vnode object). Current code use FIXUP macro to do this, and never unlocks overlaying vnode object in union_fsync. So, the vnode object will be locked twice and never unlocked. PR: 3271 Submitted by: kato Notes: svn path=/head/; revision=24858
* The path name buffer, cn->cn_pnbuf, is FREEed by VOP_MKDIR whenPoul-Henning Kamp1997-04-131-1/+5
| | | | | | | | | | | | | relookup() in union_relookup() is succeeded. However, if relookup() returns non-zero value, that is relookup fails, VOP_MKDIR is never called (c.f. union_mkshadow). Thus, pathname buffer is never FREEed. Reviewed by: phk Submitted by: kato PR: 3262 Notes: svn path=/head/; revision=24857
* Though malloc allocates only cn.cn_namelen bytes for cn.cn_pnbuf inPoul-Henning Kamp1997-04-131-2/+2
| | | | | | | | | | | | union_vn_create(), following bcopy copies cn.cn_namlen + 1 bytes to cn.cn_pnbuf PR: 3255 Reviewed by: phk Submitted by: kato Notes: svn path=/head/; revision=24856
* Removed libc stuffs. Lite/2 merged libc contains unionfs support, andKATO Takenori1997-04-134-1300/+0
| | | | | | | | we don't have to use the libc related files in sys/misc/unionfs directory. Notes: svn path=/head/; revision=24855