Deleted Added
full compact
kern_linker.c (179238) kern_linker.c (182371)
1/*-
2 * Copyright (c) 1997-2000 Doug Rabson
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

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

20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 */
26
27#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 1997-2000 Doug Rabson
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

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

20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 */
26
27#include <sys/cdefs.h>
28__FBSDID("$FreeBSD: head/sys/kern/kern_linker.c 179238 2008-05-23 07:08:59Z jb $");
28__FBSDID("$FreeBSD: head/sys/kern/kern_linker.c 182371 2008-08-28 15:23:18Z attilio $");
29
30#include "opt_ddb.h"
31#include "opt_hwpmc_hooks.h"
32#include "opt_mac.h"
33
34#include <sys/param.h>
35#include <sys/kernel.h>
36#include <sys/systm.h>

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

1633 NDINIT(&nd, LOOKUP, FOLLOW | MPSAFE, UIO_SYSSPACE, result, td);
1634 flags = FREAD;
1635 error = vn_open(&nd, &flags, 0, NULL);
1636 if (error == 0) {
1637 vfslocked = NDHASGIANT(&nd);
1638 NDFREE(&nd, NDF_ONLY_PNBUF);
1639 type = nd.ni_vp->v_type;
1640 if (vap)
29
30#include "opt_ddb.h"
31#include "opt_hwpmc_hooks.h"
32#include "opt_mac.h"
33
34#include <sys/param.h>
35#include <sys/kernel.h>
36#include <sys/systm.h>

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

1633 NDINIT(&nd, LOOKUP, FOLLOW | MPSAFE, UIO_SYSSPACE, result, td);
1634 flags = FREAD;
1635 error = vn_open(&nd, &flags, 0, NULL);
1636 if (error == 0) {
1637 vfslocked = NDHASGIANT(&nd);
1638 NDFREE(&nd, NDF_ONLY_PNBUF);
1639 type = nd.ni_vp->v_type;
1640 if (vap)
1641 VOP_GETATTR(nd.ni_vp, vap, td->td_ucred, td);
1641 VOP_GETATTR(nd.ni_vp, vap, td->td_ucred);
1642 VOP_UNLOCK(nd.ni_vp, 0);
1643 vn_close(nd.ni_vp, FREAD, td->td_ucred, td);
1644 VFS_UNLOCK_GIANT(vfslocked);
1645 if (type == VREG)
1646 return (result);
1647 }
1648 }
1649 free(result, M_LINKER);

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

1686 error = vn_open(&nd, &flags, 0, NULL);
1687 if (error)
1688 goto bad;
1689 vfslocked = NDHASGIANT(&nd);
1690 NDFREE(&nd, NDF_ONLY_PNBUF);
1691 if (nd.ni_vp->v_type != VREG)
1692 goto bad;
1693 best = cp = NULL;
1642 VOP_UNLOCK(nd.ni_vp, 0);
1643 vn_close(nd.ni_vp, FREAD, td->td_ucred, td);
1644 VFS_UNLOCK_GIANT(vfslocked);
1645 if (type == VREG)
1646 return (result);
1647 }
1648 }
1649 free(result, M_LINKER);

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

1686 error = vn_open(&nd, &flags, 0, NULL);
1687 if (error)
1688 goto bad;
1689 vfslocked = NDHASGIANT(&nd);
1690 NDFREE(&nd, NDF_ONLY_PNBUF);
1691 if (nd.ni_vp->v_type != VREG)
1692 goto bad;
1693 best = cp = NULL;
1694 error = VOP_GETATTR(nd.ni_vp, &vattr, cred, td);
1694 error = VOP_GETATTR(nd.ni_vp, &vattr, cred);
1695 if (error)
1696 goto bad;
1697 /*
1698 * XXX: we need to limit this number to some reasonable value
1699 */
1700 if (vattr.va_size > 100 * 1024) {
1701 printf("hints file too large %ld\n", (long)vattr.va_size);
1702 goto bad;

--- 410 unchanged lines hidden ---
1695 if (error)
1696 goto bad;
1697 /*
1698 * XXX: we need to limit this number to some reasonable value
1699 */
1700 if (vattr.va_size > 100 * 1024) {
1701 printf("hints file too large %ld\n", (long)vattr.va_size);
1702 goto bad;

--- 410 unchanged lines hidden ---