Deleted Added
full compact
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 ---