diff options
Diffstat (limited to 'share/security/patches/EN-10:01')
-rw-r--r-- | share/security/patches/EN-10:01/mcinit.patch | 20 | ||||
-rw-r--r-- | share/security/patches/EN-10:01/mcinit.patch.asc | 7 | ||||
-rw-r--r-- | share/security/patches/EN-10:01/multicast.patch | 100 | ||||
-rw-r--r-- | share/security/patches/EN-10:01/multicast.patch.asc | 7 | ||||
-rw-r--r-- | share/security/patches/EN-10:01/nfsreconnect.patch | 27 | ||||
-rw-r--r-- | share/security/patches/EN-10:01/nfsreconnect.patch.asc | 7 | ||||
-rw-r--r-- | share/security/patches/EN-10:01/rename.patch | 17 | ||||
-rw-r--r-- | share/security/patches/EN-10:01/rename.patch.asc | 7 | ||||
-rw-r--r-- | share/security/patches/EN-10:01/sctp.patch | 14 | ||||
-rw-r--r-- | share/security/patches/EN-10:01/sctp.patch.asc | 7 | ||||
-rw-r--r-- | share/security/patches/EN-10:01/zfsmac.patch | 78 | ||||
-rw-r--r-- | share/security/patches/EN-10:01/zfsmac.patch.asc | 7 | ||||
-rw-r--r-- | share/security/patches/EN-10:01/zfsvaccess.patch | 72 | ||||
-rw-r--r-- | share/security/patches/EN-10:01/zfsvaccess.patch.asc | 7 |
14 files changed, 0 insertions, 377 deletions
diff --git a/share/security/patches/EN-10:01/mcinit.patch b/share/security/patches/EN-10:01/mcinit.patch deleted file mode 100644 index d559e080fd..0000000000 --- a/share/security/patches/EN-10:01/mcinit.patch +++ /dev/null @@ -1,20 +0,0 @@ -Index: sys/netinet/ip_mroute.c -=================================================================== ---- sys/netinet/ip_mroute.c (revision 201431) -+++ sys/netinet/ip_mroute.c (working copy) -@@ -1384,6 +1384,15 @@ fail: - rt->mfc_rp.s_addr = INADDR_ANY; - rt->mfc_bw_meter = NULL; - -+ /* initialize pkt counters per src-grp */ -+ rt->mfc_pkt_cnt = 0; -+ rt->mfc_byte_cnt = 0; -+ rt->mfc_wrong_if = 0; -+ timevalclear(&rt->mfc_last_assert); -+ -+ TAILQ_INIT(&rt->mfc_stall); -+ rt->mfc_nstall = 0; -+ - /* link into table */ - LIST_INSERT_HEAD(&mfchashtbl[hash], rt, mfc_hash); - TAILQ_INSERT_HEAD(&rt->mfc_stall, rte, rte_link); diff --git a/share/security/patches/EN-10:01/mcinit.patch.asc b/share/security/patches/EN-10:01/mcinit.patch.asc deleted file mode 100644 index 7aef3ada9a..0000000000 --- a/share/security/patches/EN-10:01/mcinit.patch.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.10 (FreeBSD) - -iD8DBQBLRQ97FdaIBMps37IRAiZJAJ9Py2iMOvav27vV5asuH/0hBYRVogCePJ/r -K03edeiH7Tql3ZHfeRo8yko= -=aa1V ------END PGP SIGNATURE----- diff --git a/share/security/patches/EN-10:01/multicast.patch b/share/security/patches/EN-10:01/multicast.patch deleted file mode 100644 index 1ca1de6c52..0000000000 --- a/share/security/patches/EN-10:01/multicast.patch +++ /dev/null @@ -1,100 +0,0 @@ -Index: sys/netinet/raw_ip.c -=================================================================== ---- sys/netinet/raw_ip.c (revision 200583) -+++ sys/netinet/raw_ip.c (working copy) -@@ -343,17 +343,35 @@ rip_input(struct mbuf *m, int off) - */ - if (inp->inp_moptions != NULL && - IN_MULTICAST(ntohl(ip->ip_dst.s_addr))) { -- struct sockaddr_in group; -+ /* -+ * If the incoming datagram is for IGMP, allow it -+ * through unconditionally to the raw socket. -+ * -+ * In the case of IGMPv2, we may not have explicitly -+ * joined the group, and may have set IFF_ALLMULTI -+ * on the interface. imo_multi_filter() may discard -+ * control traffic we actually need to see. -+ * -+ * Userland multicast routing daemons should continue -+ * filter the control traffic appropriately. -+ */ - int blocked; - -- bzero(&group, sizeof(struct sockaddr_in)); -- group.sin_len = sizeof(struct sockaddr_in); -- group.sin_family = AF_INET; -- group.sin_addr = ip->ip_dst; -+ blocked = MCAST_PASS; -+ if (proto != IPPROTO_IGMP) { -+ struct sockaddr_in group; - -- blocked = imo_multi_filter(inp->inp_moptions, ifp, -- (struct sockaddr *)&group, -- (struct sockaddr *)&ripsrc); -+ bzero(&group, sizeof(struct sockaddr_in)); -+ group.sin_len = sizeof(struct sockaddr_in); -+ group.sin_family = AF_INET; -+ group.sin_addr = ip->ip_dst; -+ -+ blocked = imo_multi_filter(inp->inp_moptions, -+ ifp, -+ (struct sockaddr *)&group, -+ (struct sockaddr *)&ripsrc); -+ } -+ - if (blocked != MCAST_PASS) { - IPSTAT_INC(ips_notmember); - continue; -Index: sys/netinet6/raw_ip6.c -=================================================================== ---- sys/netinet6/raw_ip6.c (revision 200583) -+++ sys/netinet6/raw_ip6.c (working copy) -@@ -213,17 +213,39 @@ rip6_input(struct mbuf **mp, int *offp, int proto) - */ - if (in6p->in6p_moptions && - IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst)) { -- struct sockaddr_in6 mcaddr; -+ /* -+ * If the incoming datagram is for MLD, allow it -+ * through unconditionally to the raw socket. -+ * -+ * Use the M_RTALERT_MLD flag to check for MLD -+ * traffic without having to inspect the mbuf chain -+ * more deeply, as all MLDv1/v2 host messages MUST -+ * contain the Router Alert option. -+ * -+ * In the case of MLDv1, we may not have explicitly -+ * joined the group, and may have set IFF_ALLMULTI -+ * on the interface. im6o_mc_filter() may discard -+ * control traffic we actually need to see. -+ * -+ * Userland multicast routing daemons should continue -+ * filter the control traffic appropriately. -+ */ - int blocked; - -- bzero(&mcaddr, sizeof(struct sockaddr_in6)); -- mcaddr.sin6_len = sizeof(struct sockaddr_in6); -- mcaddr.sin6_family = AF_INET6; -- mcaddr.sin6_addr = ip6->ip6_dst; -+ blocked = MCAST_PASS; -+ if ((m->m_flags & M_RTALERT_MLD) == 0) { -+ struct sockaddr_in6 mcaddr; - -- blocked = im6o_mc_filter(in6p->in6p_moptions, ifp, -- (struct sockaddr *)&mcaddr, -- (struct sockaddr *)&fromsa); -+ bzero(&mcaddr, sizeof(struct sockaddr_in6)); -+ mcaddr.sin6_len = sizeof(struct sockaddr_in6); -+ mcaddr.sin6_family = AF_INET6; -+ mcaddr.sin6_addr = ip6->ip6_dst; -+ -+ blocked = im6o_mc_filter(in6p->in6p_moptions, -+ ifp, -+ (struct sockaddr *)&mcaddr, -+ (struct sockaddr *)&fromsa); -+ } - if (blocked != MCAST_PASS) { - IP6STAT_INC(ip6s_notmember); - continue; diff --git a/share/security/patches/EN-10:01/multicast.patch.asc b/share/security/patches/EN-10:01/multicast.patch.asc deleted file mode 100644 index 5c465c38e2..0000000000 --- a/share/security/patches/EN-10:01/multicast.patch.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.10 (FreeBSD) - -iD8DBQBLRQ9/FdaIBMps37IRAuT6AJ49tONO/rrRaYM2zCY309CdPW3GNwCgnxls -mSkLO892pvQKqaFTgjFof0w= -=e/N4 ------END PGP SIGNATURE----- diff --git a/share/security/patches/EN-10:01/nfsreconnect.patch b/share/security/patches/EN-10:01/nfsreconnect.patch deleted file mode 100644 index 61dfbb2cfb..0000000000 --- a/share/security/patches/EN-10:01/nfsreconnect.patch +++ /dev/null @@ -1,27 +0,0 @@ -Index: sys/rpc/clnt_vc.c -=================================================================== ---- sys/rpc/clnt_vc.c (revision 200583) -+++ sys/rpc/clnt_vc.c (working copy) -@@ -413,6 +413,22 @@ call_again: - - cr->cr_xid = xid; - mtx_lock(&ct->ct_lock); -+ /* -+ * Check to see if the other end has already started to close down -+ * the connection. The upcall will have set ct_error.re_status -+ * to RPC_CANTRECV if this is the case. -+ * If the other end starts to close down the connection after this -+ * point, it will be detected later when cr_error is checked, -+ * since the request is in the ct_pending queue. -+ */ -+ if (ct->ct_error.re_status == RPC_CANTRECV) { -+ if (errp != &ct->ct_error) { -+ errp->re_errno = ct->ct_error.re_errno; -+ errp->re_status = RPC_CANTRECV; -+ } -+ stat = RPC_CANTRECV; -+ goto out; -+ } - TAILQ_INSERT_TAIL(&ct->ct_pending, cr, cr_link); - mtx_unlock(&ct->ct_lock); - diff --git a/share/security/patches/EN-10:01/nfsreconnect.patch.asc b/share/security/patches/EN-10:01/nfsreconnect.patch.asc deleted file mode 100644 index 66509664a5..0000000000 --- a/share/security/patches/EN-10:01/nfsreconnect.patch.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.10 (FreeBSD) - -iD8DBQBLRQ+CFdaIBMps37IRAgxzAJ9whBL/OL5Iz3q5VxVFYSYtPh8INgCfVup2 -Vcul/i1E5SPCyfjeu11LWSI= -=T7Kh ------END PGP SIGNATURE----- diff --git a/share/security/patches/EN-10:01/rename.patch b/share/security/patches/EN-10:01/rename.patch deleted file mode 100644 index ef70801f8b..0000000000 --- a/share/security/patches/EN-10:01/rename.patch +++ /dev/null @@ -1,17 +0,0 @@ -Index: sys/kern/vfs_lookup.c -=================================================================== ---- sys/kern/vfs_lookup.c (revision 200583) -+++ sys/kern/vfs_lookup.c (working copy) -@@ -552,6 +552,12 @@ dirloop: - else - cnp->cn_flags &= ~ISLASTCN; - -+ if ((cnp->cn_flags & ISLASTCN) != 0 && -+ cnp->cn_namelen == 1 && cnp->cn_nameptr[0] == '.' && -+ (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) { -+ error = EINVAL; -+ goto bad; -+ } - - /* - * Check for degenerate name (e.g. / or "") diff --git a/share/security/patches/EN-10:01/rename.patch.asc b/share/security/patches/EN-10:01/rename.patch.asc deleted file mode 100644 index f7bf8d9e29..0000000000 --- a/share/security/patches/EN-10:01/rename.patch.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.10 (FreeBSD) - -iD8DBQBLRQ+GFdaIBMps37IRAsHrAJ9g66jI3fSGB4fINVFNE0snEzke8ACcDN0B -181UsnOfrdrQVLHJiytzX2E= -=LxDa ------END PGP SIGNATURE----- diff --git a/share/security/patches/EN-10:01/sctp.patch b/share/security/patches/EN-10:01/sctp.patch deleted file mode 100644 index 7543c42d2b..0000000000 --- a/share/security/patches/EN-10:01/sctp.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: sys/netinet/sctp_input.c -=================================================================== ---- sys/netinet/sctp_input.c (revision 200583) -+++ sys/netinet/sctp_input.c (working copy) -@@ -834,6 +834,9 @@ sctp_handle_shutdown(struct sctp_shutdown_chunk *c - return; - } else { - sctp_update_acked(stcb, cp, net, abort_flag); -+ if (*abort_flag) { -+ return; -+ } - } - if (asoc->control_pdapi) { - /* diff --git a/share/security/patches/EN-10:01/sctp.patch.asc b/share/security/patches/EN-10:01/sctp.patch.asc deleted file mode 100644 index 3ea667c7fa..0000000000 --- a/share/security/patches/EN-10:01/sctp.patch.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.10 (FreeBSD) - -iD8DBQBLRQ+KFdaIBMps37IRAucUAJ9tjhRHdgEPJCzgo+RqqbByqdnHBQCeIMX0 -ASUbaYhkffhO7sAJONHEg68= -=GJHF ------END PGP SIGNATURE----- diff --git a/share/security/patches/EN-10:01/zfsmac.patch b/share/security/patches/EN-10:01/zfsmac.patch deleted file mode 100644 index 286e3959fe..0000000000 --- a/share/security/patches/EN-10:01/zfsmac.patch +++ /dev/null @@ -1,78 +0,0 @@ -Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c -=================================================================== ---- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c (revision 200583) -+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c (working copy) -@@ -143,16 +143,19 @@ zfs_znode_cache_constructor(void *buf, void *arg, - - POINTER_INVALIDATE(&zp->z_zfsvfs); - ASSERT(!POINTER_IS_VALID(zp->z_zfsvfs)); -- ASSERT(vfsp != NULL); - -- error = getnewvnode("zfs", vfsp, &zfs_vnodeops, &vp); -- if (error != 0 && (kmflags & KM_NOSLEEP)) -- return (-1); -- ASSERT(error == 0); -- vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); -- zp->z_vnode = vp; -- vp->v_data = (caddr_t)zp; -- VN_LOCK_AREC(vp); -+ if (vfsp != NULL) { -+ error = getnewvnode("zfs", vfsp, &zfs_vnodeops, &vp); -+ if (error != 0 && (kmflags & KM_NOSLEEP)) -+ return (-1); -+ ASSERT(error == 0); -+ vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); -+ zp->z_vnode = vp; -+ vp->v_data = (caddr_t)zp; -+ VN_LOCK_AREC(vp); -+ } else { -+ zp->z_vnode = NULL; -+ } - - list_link_init(&zp->z_link_node); - -@@ -1435,7 +1438,7 @@ zfs_create_fs(objset_t *os, cred_t *cr, nvlist_t * - nvpair_t *elem; - int error; - znode_t *rootzp = NULL; -- vnode_t *vp; -+ vnode_t vnode; - vattr_t vattr; - znode_t *zp; - -@@ -1504,13 +1507,13 @@ zfs_create_fs(objset_t *os, cred_t *cr, nvlist_t * - vattr.va_gid = crgetgid(cr); - - rootzp = kmem_cache_alloc(znode_cache, KM_SLEEP); -- zfs_znode_cache_constructor(rootzp, &zfsvfs, 0); -+ zfs_znode_cache_constructor(rootzp, NULL, 0); - rootzp->z_unlinked = 0; - rootzp->z_atime_dirty = 0; - -- vp = ZTOV(rootzp); -- vp->v_type = VDIR; -- VN_LOCK_ASHARE(vp); -+ vnode.v_type = VDIR; -+ vnode.v_data = rootzp; -+ rootzp->z_vnode = &vnode; - - bzero(&zfsvfs, sizeof (zfsvfs_t)); - -@@ -1539,16 +1542,10 @@ zfs_create_fs(objset_t *os, cred_t *cr, nvlist_t * - ASSERT(error == 0); - POINTER_INVALIDATE(&rootzp->z_zfsvfs); - -- VI_LOCK(vp); -- ZTOV(rootzp)->v_data = NULL; -- ZTOV(rootzp)->v_count = 0; -- ZTOV(rootzp)->v_holdcnt = 0; -- rootzp->z_vnode = NULL; -- VOP_UNLOCK(vp, 0); -- vdestroy(vp); - dmu_buf_rele(rootzp->z_dbuf, NULL); - rootzp->z_dbuf = NULL; - mutex_destroy(&zfsvfs.z_znodes_lock); -+ rootzp->z_vnode = NULL; - kmem_cache_free(znode_cache, rootzp); - } - diff --git a/share/security/patches/EN-10:01/zfsmac.patch.asc b/share/security/patches/EN-10:01/zfsmac.patch.asc deleted file mode 100644 index ff2d98cb29..0000000000 --- a/share/security/patches/EN-10:01/zfsmac.patch.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.10 (FreeBSD) - -iD8DBQBLRQ+OFdaIBMps37IRAoKrAJ96Nx1lSfC0pQG6vXgBP15kl13VOwCfVnT4 -GDh8Jy+GHTH56I82n4SgoaA= -=DMKc ------END PGP SIGNATURE----- diff --git a/share/security/patches/EN-10:01/zfsvaccess.patch b/share/security/patches/EN-10:01/zfsvaccess.patch deleted file mode 100644 index 4a47391171..0000000000 --- a/share/security/patches/EN-10:01/zfsvaccess.patch +++ /dev/null @@ -1,72 +0,0 @@ -Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c -=================================================================== ---- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c (revision 200583) -+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c (working copy) -@@ -3981,21 +3981,33 @@ zfs_freebsd_access(ap) - struct thread *a_td; - } */ *ap; - { -+ accmode_t accmode; -+ int error = 0; - - /* -- * ZFS itself only knowns about VREAD, VWRITE and VEXEC, the rest -- * we have to handle by calling vaccess(). -+ * ZFS itself only knowns about VREAD, VWRITE, VEXEC and VAPPEND, - */ -- if ((ap->a_accmode & ~(VREAD|VWRITE|VEXEC)) != 0) { -- vnode_t *vp = ap->a_vp; -- znode_t *zp = VTOZ(vp); -- znode_phys_t *zphys = zp->z_phys; -+ accmode = ap->a_accmode & (VREAD|VWRITE|VEXEC|VAPPEND); -+ if (accmode != 0) -+ error = zfs_access(ap->a_vp, accmode, 0, ap->a_cred, NULL); - -- return (vaccess(vp->v_type, zphys->zp_mode, zphys->zp_uid, -- zphys->zp_gid, ap->a_accmode, ap->a_cred, NULL)); -+ /* -+ * VADMIN has to be handled by vaccess(). -+ */ -+ if (error == 0) { -+ accmode = ap->a_accmode & ~(VREAD|VWRITE|VEXEC|VAPPEND); -+ if (accmode != 0) { -+ vnode_t *vp = ap->a_vp; -+ znode_t *zp = VTOZ(vp); -+ znode_phys_t *zphys = zp->z_phys; -+ -+ error = vaccess(vp->v_type, zphys->zp_mode, -+ zphys->zp_uid, zphys->zp_gid, accmode, ap->a_cred, -+ NULL); -+ } - } - -- return (zfs_access(ap->a_vp, ap->a_accmode, 0, ap->a_cred, NULL)); -+ return (error); - } - - static int -Index: sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h -=================================================================== ---- sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h (revision 200583) -+++ sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h (working copy) -@@ -304,7 +304,6 @@ typedef struct xvattr { - * VOP_ACCESS flags - */ - #define V_ACE_MASK 0x1 /* mask represents NFSv4 ACE permissions */ --#define V_APPEND 0x2 /* want to do append only check */ - - /* - * Flags for vnode operations. -Index: sys/cddl/compat/opensolaris/sys/vnode.h -=================================================================== ---- sys/cddl/compat/opensolaris/sys/vnode.h (revision 200583) -+++ sys/cddl/compat/opensolaris/sys/vnode.h (working copy) -@@ -57,6 +57,8 @@ typedef struct vop_vector vnodeops_t; - - #define v_count v_usecount - -+#define V_APPEND VAPPEND -+ - static __inline int - vn_is_readonly(vnode_t *vp) - { diff --git a/share/security/patches/EN-10:01/zfsvaccess.patch.asc b/share/security/patches/EN-10:01/zfsvaccess.patch.asc deleted file mode 100644 index 3d295b1d99..0000000000 --- a/share/security/patches/EN-10:01/zfsvaccess.patch.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.10 (FreeBSD) - -iD8DBQBLRQ+RFdaIBMps37IRAutJAJ9kWtj/5fk1Ng6qmDRdb2qbX00/RwCgg631 -+1Gsl+PGrFamz+iU2fTcfFA= -=IAmh ------END PGP SIGNATURE----- |