devfs_vnops.c (105988) | devfs_vnops.c (107698) |
---|---|
1/* 2 * Copyright (c) 1992, 1993 3 * The Regents of the University of California. All rights reserved. 4 * Copyright (c) 2000 5 * Poul-Henning Kamp. All rights reserved. 6 * 7 * This code is derived from software donated to Berkeley by 8 * Jan-Simon Pendry. --- 17 unchanged lines hidden (view full) --- 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 * 31 * @(#)kernfs_vnops.c 8.15 (Berkeley) 5/21/95 32 * From: FreeBSD: src/sys/miscfs/kernfs/kernfs_vnops.c 1.43 33 * | 1/* 2 * Copyright (c) 1992, 1993 3 * The Regents of the University of California. All rights reserved. 4 * Copyright (c) 2000 5 * Poul-Henning Kamp. All rights reserved. 6 * 7 * This code is derived from software donated to Berkeley by 8 * Jan-Simon Pendry. --- 17 unchanged lines hidden (view full) --- 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 * 31 * @(#)kernfs_vnops.c 8.15 (Berkeley) 5/21/95 32 * From: FreeBSD: src/sys/miscfs/kernfs/kernfs_vnops.c 1.43 33 * |
34 * $FreeBSD: head/sys/fs/devfs/devfs_vnops.c 105988 2002-10-26 14:38:24Z rwatson $ | 34 * $FreeBSD: head/sys/fs/devfs/devfs_vnops.c 107698 2002-12-09 03:44:28Z rwatson $ |
35 */ 36 37/* 38 * TODO: 39 * remove empty directories 40 * mknod: hunt down DE_DELETED, compare name, reinstantiate. 41 * mkdir: want it ? 42 */ --- 784 unchanged lines hidden (view full) --- 827{ 828 struct vnode *vp; 829 struct devfs_dirent *de; 830 831 vp = ap->a_vp; 832 de = vp->v_data; 833 834 mac_relabel_vnode(ap->a_cred, vp, ap->a_label); | 35 */ 36 37/* 38 * TODO: 39 * remove empty directories 40 * mknod: hunt down DE_DELETED, compare name, reinstantiate. 41 * mkdir: want it ? 42 */ --- 784 unchanged lines hidden (view full) --- 827{ 828 struct vnode *vp; 829 struct devfs_dirent *de; 830 831 vp = ap->a_vp; 832 de = vp->v_data; 833 834 mac_relabel_vnode(ap->a_cred, vp, ap->a_label); |
835 mac_update_devfsdirent(de, vp); | 835 mac_update_devfsdirent(vp->v_mount, de, vp); |
836 837 return (0); 838} 839#endif 840 841static int 842devfs_symlink(ap) 843 struct vop_symlink_args /* { --- 20 unchanged lines hidden (view full) --- 864 de->de_mode = 0755; 865 de->de_inode = dmp->dm_inode++; 866 de->de_dirent->d_type = DT_LNK; 867 i = strlen(ap->a_target) + 1; 868 MALLOC(de->de_symlink, char *, i, M_DEVFS, M_WAITOK); 869 bcopy(ap->a_target, de->de_symlink, i); 870 lockmgr(&dmp->dm_lock, LK_EXCLUSIVE, 0, curthread); 871#ifdef MAC | 836 837 return (0); 838} 839#endif 840 841static int 842devfs_symlink(ap) 843 struct vop_symlink_args /* { --- 20 unchanged lines hidden (view full) --- 864 de->de_mode = 0755; 865 de->de_inode = dmp->dm_inode++; 866 de->de_dirent->d_type = DT_LNK; 867 i = strlen(ap->a_target) + 1; 868 MALLOC(de->de_symlink, char *, i, M_DEVFS, M_WAITOK); 869 bcopy(ap->a_target, de->de_symlink, i); 870 lockmgr(&dmp->dm_lock, LK_EXCLUSIVE, 0, curthread); 871#ifdef MAC |
872 mac_create_devfs_symlink(ap->a_cnp->cn_cred, dd, de); | 872 mac_create_devfs_symlink(ap->a_cnp->cn_cred, dmp->dm_mount, dd, de); |
873#endif 874 TAILQ_INSERT_TAIL(&dd->de_dlist, de, de_list); 875 devfs_allocv(de, ap->a_dvp->v_mount, ap->a_vpp, 0); 876 lockmgr(&dmp->dm_lock, LK_RELEASE, 0, curthread); 877 return (0); 878} 879 880static struct vnodeopv_entry_desc devfs_vnodeop_entries[] = { --- 58 unchanged lines hidden --- | 873#endif 874 TAILQ_INSERT_TAIL(&dd->de_dlist, de, de_list); 875 devfs_allocv(de, ap->a_dvp->v_mount, ap->a_vpp, 0); 876 lockmgr(&dmp->dm_lock, LK_RELEASE, 0, curthread); 877 return (0); 878} 879 880static struct vnodeopv_entry_desc devfs_vnodeop_entries[] = { --- 58 unchanged lines hidden --- |