Deleted Added
full compact
null_subr.c (229428) null_subr.c (229431)
1/*-
2 * Copyright (c) 1992, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software donated to Berkeley by
6 * Jan-Simon Pendry.
7 *
8 * Redistribution and use in source and binary forms, with or without

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

26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 * SUCH DAMAGE.
31 *
32 * @(#)null_subr.c 8.7 (Berkeley) 5/14/95
33 *
1/*-
2 * Copyright (c) 1992, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software donated to Berkeley by
6 * Jan-Simon Pendry.
7 *
8 * Redistribution and use in source and binary forms, with or without

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

26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 * SUCH DAMAGE.
31 *
32 * @(#)null_subr.c 8.7 (Berkeley) 5/14/95
33 *
34 * $FreeBSD: head/sys/fs/nullfs/null_subr.c 229428 2012-01-03 21:03:20Z kib $
34 * $FreeBSD: head/sys/fs/nullfs/null_subr.c 229431 2012-01-03 21:09:07Z kib $
35 */
36
37#include <sys/param.h>
38#include <sys/systm.h>
39#include <sys/kernel.h>
40#include <sys/lock.h>
41#include <sys/mutex.h>
42#include <sys/malloc.h>

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

166 LIST_INSERT_HEAD(hd, xp, null_hash);
167 mtx_unlock(&null_hashmtx);
168 return (NULLVP);
169}
170
171static void
172null_insmntque_dtr(struct vnode *vp, void *xp)
173{
35 */
36
37#include <sys/param.h>
38#include <sys/systm.h>
39#include <sys/kernel.h>
40#include <sys/lock.h>
41#include <sys/mutex.h>
42#include <sys/malloc.h>

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

166 LIST_INSERT_HEAD(hd, xp, null_hash);
167 mtx_unlock(&null_hashmtx);
168 return (NULLVP);
169}
170
171static void
172null_insmntque_dtr(struct vnode *vp, void *xp)
173{
174
175 vput(((struct null_node *)xp)->null_lowervp);
174 vp->v_data = NULL;
175 vp->v_vnlock = &vp->v_lock;
176 free(xp, M_NULLFSNODE);
177 vp->v_op = &dead_vnodeops;
178 (void) vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
179 vgone(vp);
180 vput(vp);
181}

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

221 * might cause a bogus v_data pointer to get dereferenced
222 * elsewhere if MALLOC should block.
223 */
224 xp = malloc(sizeof(struct null_node),
225 M_NULLFSNODE, M_WAITOK);
226
227 error = getnewvnode("null", mp, &null_vnodeops, &vp);
228 if (error) {
176 vp->v_data = NULL;
177 vp->v_vnlock = &vp->v_lock;
178 free(xp, M_NULLFSNODE);
179 vp->v_op = &dead_vnodeops;
180 (void) vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
181 vgone(vp);
182 vput(vp);
183}

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

223 * might cause a bogus v_data pointer to get dereferenced
224 * elsewhere if MALLOC should block.
225 */
226 xp = malloc(sizeof(struct null_node),
227 M_NULLFSNODE, M_WAITOK);
228
229 error = getnewvnode("null", mp, &null_vnodeops, &vp);
230 if (error) {
231 vput(lowervp);
229 free(xp, M_NULLFSNODE);
230 return (error);
231 }
232
233 xp->null_vnode = vp;
234 xp->null_lowervp = lowervp;
235 vp->v_type = lowervp->v_type;
236 vp->v_data = xp;

--- 74 unchanged lines hidden ---
232 free(xp, M_NULLFSNODE);
233 return (error);
234 }
235
236 xp->null_vnode = vp;
237 xp->null_lowervp = lowervp;
238 vp->v_type = lowervp->v_type;
239 vp->v_data = xp;

--- 74 unchanged lines hidden ---