Deleted Added
full compact
vfs_vnops.c (102003) vfs_vnops.c (102112)
1/*
2 * Copyright (c) 1982, 1986, 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 * (c) UNIX System Laboratories, Inc.
5 * All or some portions of this file are derived from material licensed
6 * to the University of California by American Telephone and Telegraph
7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
8 * the permission of UNIX System Laboratories, Inc.

--- 22 unchanged lines hidden (view full) ---

31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 * SUCH DAMAGE.
37 *
38 * @(#)vfs_vnops.c 8.2 (Berkeley) 1/21/94
1/*
2 * Copyright (c) 1982, 1986, 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 * (c) UNIX System Laboratories, Inc.
5 * All or some portions of this file are derived from material licensed
6 * to the University of California by American Telephone and Telegraph
7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
8 * the permission of UNIX System Laboratories, Inc.

--- 22 unchanged lines hidden (view full) ---

31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 * SUCH DAMAGE.
37 *
38 * @(#)vfs_vnops.c 8.2 (Berkeley) 1/21/94
39 * $FreeBSD: head/sys/kern/vfs_vnops.c 102003 2002-08-17 02:36:16Z rwatson $
39 * $FreeBSD: head/sys/kern/vfs_vnops.c 102112 2002-08-19 16:43:25Z rwatson $
40 */
41
42#include "opt_mac.h"
43
44#include <sys/param.h>
45#include <sys/systm.h>
46#include <sys/fcntl.h>
47#include <sys/file.h>

--- 349 unchanged lines hidden (view full) ---

397 auio.uio_offset = offset;
398 auio.uio_segflg = segflg;
399 auio.uio_rw = rw;
400 auio.uio_td = td;
401 error = 0;
402#ifdef MAC
403 if ((ioflg & IO_NOMACCHECK) == 0) {
404 if (rw == UIO_READ)
40 */
41
42#include "opt_mac.h"
43
44#include <sys/param.h>
45#include <sys/systm.h>
46#include <sys/fcntl.h>
47#include <sys/file.h>

--- 349 unchanged lines hidden (view full) ---

397 auio.uio_offset = offset;
398 auio.uio_segflg = segflg;
399 auio.uio_rw = rw;
400 auio.uio_td = td;
401 error = 0;
402#ifdef MAC
403 if ((ioflg & IO_NOMACCHECK) == 0) {
404 if (rw == UIO_READ)
405 error = mac_check_vnode_op(active_cred, vp,
406 MAC_OP_VNODE_READ);
405 error = mac_check_vnode_read(active_cred, vp);
407 else
406 else
408 error = mac_check_vnode_op(active_cred, vp,
409 MAC_OP_VNODE_WRITE);
407 error = mac_check_vnode_write(active_cred, vp);
410 }
411#endif
412 if (error == 0) {
413 if (file_cred)
414 cred = file_cred;
415 else
416 cred = active_cred;
417 if (rw == UIO_READ)

--- 84 unchanged lines hidden (view full) ---

502 VOP_LEASE(vp, td, fp->f_cred, LEASE_READ);
503 vn_lock(vp, LK_SHARED | LK_NOPAUSE | LK_RETRY, td);
504 if ((flags & FOF_OFFSET) == 0)
505 uio->uio_offset = fp->f_offset;
506
507 ioflag |= sequential_heuristic(uio, fp);
508
509#ifdef MAC
408 }
409#endif
410 if (error == 0) {
411 if (file_cred)
412 cred = file_cred;
413 else
414 cred = active_cred;
415 if (rw == UIO_READ)

--- 84 unchanged lines hidden (view full) ---

500 VOP_LEASE(vp, td, fp->f_cred, LEASE_READ);
501 vn_lock(vp, LK_SHARED | LK_NOPAUSE | LK_RETRY, td);
502 if ((flags & FOF_OFFSET) == 0)
503 uio->uio_offset = fp->f_offset;
504
505 ioflag |= sequential_heuristic(uio, fp);
506
507#ifdef MAC
510 error = mac_check_vnode_op(active_cred, vp, MAC_OP_VNODE_READ);
508 error = mac_check_vnode_read(active_cred, vp);
511 if (error == 0)
512#endif
513 error = VOP_READ(vp, uio, ioflag, fp->f_cred);
514 if ((flags & FOF_OFFSET) == 0)
515 fp->f_offset = uio->uio_offset;
516 fp->f_nextoff = uio->uio_offset;
517 VOP_UNLOCK(vp, 0, td);
518 mtx_unlock(&Giant);

--- 38 unchanged lines hidden (view full) ---

557 return (error);
558 }
559 VOP_LEASE(vp, td, fp->f_cred, LEASE_WRITE);
560 vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
561 if ((flags & FOF_OFFSET) == 0)
562 uio->uio_offset = fp->f_offset;
563 ioflag |= sequential_heuristic(uio, fp);
564#ifdef MAC
509 if (error == 0)
510#endif
511 error = VOP_READ(vp, uio, ioflag, fp->f_cred);
512 if ((flags & FOF_OFFSET) == 0)
513 fp->f_offset = uio->uio_offset;
514 fp->f_nextoff = uio->uio_offset;
515 VOP_UNLOCK(vp, 0, td);
516 mtx_unlock(&Giant);

--- 38 unchanged lines hidden (view full) ---

555 return (error);
556 }
557 VOP_LEASE(vp, td, fp->f_cred, LEASE_WRITE);
558 vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
559 if ((flags & FOF_OFFSET) == 0)
560 uio->uio_offset = fp->f_offset;
561 ioflag |= sequential_heuristic(uio, fp);
562#ifdef MAC
565 error = mac_check_vnode_op(active_cred, vp, MAC_OP_VNODE_WRITE);
563 error = mac_check_vnode_write(active_cred, vp);
566 if (error == 0)
567#endif
568 error = VOP_WRITE(vp, uio, ioflag, fp->f_cred);
569 if ((flags & FOF_OFFSET) == 0)
570 fp->f_offset = uio->uio_offset;
571 fp->f_nextoff = uio->uio_offset;
572 VOP_UNLOCK(vp, 0, td);
573 vn_finished_write(mp);

--- 228 unchanged lines hidden (view full) ---

802 struct vnode *vp;
803#ifdef MAC
804 int error;
805#endif
806
807 vp = (struct vnode *)fp->f_data;
808#ifdef MAC
809 vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
564 if (error == 0)
565#endif
566 error = VOP_WRITE(vp, uio, ioflag, fp->f_cred);
567 if ((flags & FOF_OFFSET) == 0)
568 fp->f_offset = uio->uio_offset;
569 fp->f_nextoff = uio->uio_offset;
570 VOP_UNLOCK(vp, 0, td);
571 vn_finished_write(mp);

--- 228 unchanged lines hidden (view full) ---

800 struct vnode *vp;
801#ifdef MAC
802 int error;
803#endif
804
805 vp = (struct vnode *)fp->f_data;
806#ifdef MAC
807 vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
810 error = mac_check_vnode_op(active_cred, vp, MAC_OP_VNODE_POLL);
808 error = mac_check_vnode_poll(active_cred, vp);
811 VOP_UNLOCK(vp, 0, td);
812 if (error)
813 return (error);
814#endif
815
816 return (VOP_POLL(vp, events, fp->f_cred, td));
817}
818

--- 312 unchanged lines hidden ---
809 VOP_UNLOCK(vp, 0, td);
810 if (error)
811 return (error);
812#endif
813
814 return (VOP_POLL(vp, events, fp->f_cred, td));
815}
816

--- 312 unchanged lines hidden ---