Date: Tue, 30 Jul 2002 17:57:34 -0700 (PDT) From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 15256 for review Message-ID: <200207310057.g6V0vYQT009501@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://people.freebsd.org/~peter/p4db/chv.cgi?CH=15256 Change 15256 by rwatson@rwatson_tislabs on 2002/07/30 17:57:23 Trickle IFC MAC changes back into the MAC tree. Preserve the policy count of 8 in the MAC tree, whereas the main tree uses 4. Fix one cosmetic #ifdef bug in the process. Affected files ... .. //depot/projects/trustedbsd/mac/sys/fs/ntfs/ntfs_vnops.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/kern/init_main.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/kern/init_sysent.c#23 edit .. //depot/projects/trustedbsd/mac/sys/kern/kern_prot.c#27 integrate .. //depot/projects/trustedbsd/mac/sys/kern/syscalls.c#23 edit .. //depot/projects/trustedbsd/mac/sys/sys/mac.h#140 integrate .. //depot/projects/trustedbsd/mac/sys/sys/syscall.h#24 edit .. //depot/projects/trustedbsd/mac/sys/sys/syscall.mk#24 edit .. //depot/projects/trustedbsd/mac/sys/sys/sysproto.h#25 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/fs/ntfs/ntfs_vnops.c#7 (text+ko) ==== @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/fs/ntfs/ntfs_vnops.c,v 1.30 2002/05/16 21:25:39 trhodes Exp $ + * $FreeBSD: src/sys/fs/ntfs/ntfs_vnops.c,v 1.31 2002/07/31 00:42:57 semenu Exp $ * */ @@ -101,7 +101,9 @@ register struct ntnode *ip = FTONT(fp); struct uio *uio = ap->a_uio; struct ntfsmount *ntmp = ip->i_mp; - u_int64_t toread; + struct buf *bp; + daddr_t cn; + int resid, off, toread; int error; dprintf(("ntfs_read: ino: %d, off: %d resid: %d, segflg: %d\n",ip->i_number,(u_int32_t)uio->uio_offset,uio->uio_resid,uio->uio_segflg)); @@ -110,23 +112,36 @@ /* don't allow reading after end of file */ if (uio->uio_offset > fp->f_size) - toread = 0; - else - toread = min( uio->uio_resid, fp->f_size - uio->uio_offset ); + return (0); + + resid = min(uio->uio_resid, fp->f_size - uio->uio_offset); + + dprintf((", resid: %d\n", resid)); + + error = 0; + while (resid) { + cn = ntfs_btocn(uio->uio_offset); + off = ntfs_btocnoff(uio->uio_offset); + + toread = min(off + resid, ntfs_cntob(1)); - dprintf((", toread: %d\n",(u_int32_t)toread)); + error = bread(vp, cn, ntfs_cntob(1), NOCRED, &bp); + if (error) { + brelse(bp); + break; + } - if (toread == 0) - return (0); + error = uiomove(bp->b_data + off, toread - off, uio); + if(error) { + brelse(bp); + break; + } + brelse(bp); - error = ntfs_readattr(ntmp, ip, fp->f_attrtype, - fp->f_attrname, uio->uio_offset, toread, NULL, uio); - if (error) { - printf("ntfs_read: ntfs_readattr failed: %d\n",error); - return (error); + resid -= toread - off; } - return (0); + return (error); } static int ==== //depot/projects/trustedbsd/mac/sys/kern/init_main.c#24 (text+ko) ==== @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * @(#)init_main.c 8.9 (Berkeley) 1/21/94 - * $FreeBSD: src/sys/kern/init_main.c,v 1.199 2002/07/20 02:56:11 peter Exp $ + * $FreeBSD: src/sys/kern/init_main.c,v 1.200 2002/07/31 00:39:19 rwatson Exp $ */ #include "opt_init_path.h" @@ -51,6 +51,7 @@ #include <sys/filedesc.h> #include <sys/ktr.h> #include <sys/lock.h> +#include <sys/mac.h> #include <sys/mount.h> #include <sys/mutex.h> #include <sys/sysctl.h> @@ -369,6 +370,9 @@ p->p_ucred->cr_uidinfo = uifind(0); p->p_ucred->cr_ruidinfo = uifind(0); p->p_ucred->cr_prison = NULL; /* Don't jail it. */ +#ifdef MAC + mac_create_proc0(p->p_ucred); +#endif td->td_ucred = crhold(p->p_ucred); /* Create procsig. */ @@ -667,6 +671,9 @@ initproc->p_flag |= P_SYSTEM; oldcred = initproc->p_ucred; crcopy(newcred, oldcred); +#ifdef MAC + mac_create_proc1(newcred); +#endif initproc->p_ucred = newcred; PROC_UNLOCK(initproc); crfree(oldcred); ==== //depot/projects/trustedbsd/mac/sys/kern/init_sysent.c#23 (text+ko) ==== @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.118 2002/07/30 16:50:25 rwatson Exp + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.119 2002/07/30 22:43:20 rwatson Exp */ #include "opt_compat.h" ==== //depot/projects/trustedbsd/mac/sys/kern/kern_prot.c#27 (text+ko) ==== @@ -37,7 +37,7 @@ * SUCH DAMAGE. * * @(#)kern_prot.c 8.6 (Berkeley) 1/21/94 - * $FreeBSD: src/sys/kern/kern_prot.c,v 1.161 2002/07/11 02:18:33 mini Exp $ + * $FreeBSD: src/sys/kern/kern_prot.c,v 1.162 2002/07/31 00:39:19 rwatson Exp $ */ /* @@ -1695,7 +1695,7 @@ cr->cr_mtxp = mtx_pool_find(cr); #ifdef MAC mac_init_cred(cr); -#endif /* MAC */ +#endif return (cr); } @@ -1742,7 +1742,7 @@ prison_free(cr->cr_prison); #ifdef MAC mac_destroy_cred(cr); -#endif /* MAC */ +#endif FREE(cr, M_CRED); mtx_unlock(&Giant); } else { @@ -1779,7 +1779,7 @@ uihold(dest->cr_ruidinfo); if (jailed(dest)) prison_hold(dest->cr_prison); -#if MAC +#ifdef MAC mac_create_cred(src, dest); #endif } ==== //depot/projects/trustedbsd/mac/sys/kern/syscalls.c#23 (text+ko) ==== @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.118 2002/07/30 16:50:25 rwatson Exp + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.119 2002/07/30 22:43:20 rwatson Exp */ char *syscallnames[] = { ==== //depot/projects/trustedbsd/mac/sys/sys/mac.h#140 (text+ko) ==== @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: $ + * $FreeBSD: src/sys/sys/mac.h,v 1.2 2002/07/31 00:03:26 rwatson Exp $ */ /* * Userland/kernel interface for Mandatory Access Control. ==== //depot/projects/trustedbsd/mac/sys/sys/syscall.h#24 (text+ko) ==== @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.118 2002/07/30 16:50:25 rwatson Exp + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.119 2002/07/30 22:43:20 rwatson Exp */ #define SYS_syscall 0 ==== //depot/projects/trustedbsd/mac/sys/sys/syscall.mk#24 (text+ko) ==== @@ -1,7 +1,7 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. # $FreeBSD$ -# created from FreeBSD: src/sys/kern/syscalls.master,v 1.118 2002/07/30 16:50:25 rwatson Exp +# created from FreeBSD: src/sys/kern/syscalls.master,v 1.119 2002/07/30 22:43:20 rwatson Exp MIASM = \ syscall.o \ exit.o \ ==== //depot/projects/trustedbsd/mac/sys/sys/sysproto.h#25 (text+ko) ==== @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.118 2002/07/30 16:50:25 rwatson Exp + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.119 2002/07/30 22:43:20 rwatson Exp */ #ifndef _SYS_SYSPROTO_H_ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207310057.g6V0vYQT009501>