From 24cc9156fe9b5c2e779cc33134e9821873057333 Mon Sep 17 00:00:00 2001 From: phk Date: Sun, 15 Jun 2003 18:53:00 +0000 Subject: Add the same KASSERT to all VOP_STRATEGY and VOP_SPECSTRATEGY implementations to check that the buffer points to the correct vnode. --- sys/fs/cd9660/cd9660_vnops.c | 2 ++ sys/fs/hpfs/hpfs_vnops.c | 2 ++ sys/fs/msdosfs/msdosfs_vnops.c | 2 ++ sys/fs/ntfs/ntfs_vnops.c | 2 ++ sys/fs/nwfs/nwfs_vnops.c | 2 ++ sys/fs/smbfs/smbfs_vnops.c | 2 ++ sys/fs/specfs/spec_vnops.c | 4 ++++ sys/fs/udf/udf_vnops.c | 2 ++ sys/fs/unionfs/union_vnops.c | 2 ++ 9 files changed, 20 insertions(+) (limited to 'sys/fs') diff --git a/sys/fs/cd9660/cd9660_vnops.c b/sys/fs/cd9660/cd9660_vnops.c index 69b41a9..bf95bf7 100644 --- a/sys/fs/cd9660/cd9660_vnops.c +++ b/sys/fs/cd9660/cd9660_vnops.c @@ -718,6 +718,8 @@ cd9660_strategy(ap) struct vnode *vp = bp->b_vp; struct iso_node *ip; + KASSERT(ap->a_vp == ap->a_bp->b_vp, ("%s(%p != %p)", + __func__, ap->a_vp, ap->a_bp->b_vp)); ip = VTOI(vp); if (vp->v_type == VBLK || vp->v_type == VCHR) panic("cd9660_strategy: spec"); diff --git a/sys/fs/hpfs/hpfs_vnops.c b/sys/fs/hpfs/hpfs_vnops.c index 51d445d..c517000 100644 --- a/sys/fs/hpfs/hpfs_vnops.c +++ b/sys/fs/hpfs/hpfs_vnops.c @@ -651,6 +651,8 @@ hpfs_strategy(ap) daddr_t blkno; int error; + KASSERT(ap->a_vp == ap->a_bp->b_vp, ("%s(%p != %p)", + __func__, ap->a_vp, ap->a_bp->b_vp)); dprintf(("hpfs_strategy(): \n")); if (vp->v_type == VBLK || vp->v_type == VCHR) diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index 1dba6bb..6a83414 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -1749,6 +1749,8 @@ msdosfs_strategy(ap) int error = 0; daddr_t blkno; + KASSERT(ap->a_vp == ap->a_bp->b_vp, ("%s(%p != %p)", + __func__, ap->a_vp, ap->a_bp->b_vp)); if (bp->b_vp->v_type == VBLK || bp->b_vp->v_type == VCHR) panic("msdosfs_strategy: spec"); /* diff --git a/sys/fs/ntfs/ntfs_vnops.c b/sys/fs/ntfs/ntfs_vnops.c index 9f86f1e..c24c9bf 100644 --- a/sys/fs/ntfs/ntfs_vnops.c +++ b/sys/fs/ntfs/ntfs_vnops.c @@ -282,6 +282,8 @@ ntfs_strategy(ap) struct ntfsmount *ntmp = ip->i_mp; int error; + KASSERT(ap->a_vp == ap->a_bp->b_vp, ("%s(%p != %p)", + __func__, ap->a_vp, ap->a_bp->b_vp)); dprintf(("ntfs_strategy: offset: %d, blkno: %d, lblkno: %d\n", (u_int32_t)bp->b_offset,(u_int32_t)bp->b_blkno, (u_int32_t)bp->b_lblkno)); diff --git a/sys/fs/nwfs/nwfs_vnops.c b/sys/fs/nwfs/nwfs_vnops.c index a026eae..7dcc48a 100644 --- a/sys/fs/nwfs/nwfs_vnops.c +++ b/sys/fs/nwfs/nwfs_vnops.c @@ -796,6 +796,8 @@ static int nwfs_strategy (ap) struct thread *td; int error = 0; + KASSERT(ap->a_vp == ap->a_bp->b_vp, ("%s(%p != %p)", + __func__, ap->a_vp, ap->a_bp->b_vp)); NCPVNDEBUG("\n"); if (bp->b_flags & B_PHYS) panic("nwfs physio"); diff --git a/sys/fs/smbfs/smbfs_vnops.c b/sys/fs/smbfs/smbfs_vnops.c index 20bd9c6..7ee89a62 100644 --- a/sys/fs/smbfs/smbfs_vnops.c +++ b/sys/fs/smbfs/smbfs_vnops.c @@ -886,6 +886,8 @@ smbfs_strategy (ap) struct thread *td; int error = 0; + KASSERT(ap->a_vp == ap->a_bp->b_vp, ("%s(%p != %p)", + __func__, ap->a_vp, ap->a_bp->b_vp)); SMBVDEBUG("\n"); if (bp->b_flags & B_PHYS) panic("smbfs physio"); diff --git a/sys/fs/specfs/spec_vnops.c b/sys/fs/specfs/spec_vnops.c index b53c819..89e6af2 100644 --- a/sys/fs/specfs/spec_vnops.c +++ b/sys/fs/specfs/spec_vnops.c @@ -531,6 +531,8 @@ spec_strategy(ap) { static int once; + KASSERT(ap->a_vp == ap->a_bp->b_vp, ("%s(%p != %p)", + __func__, ap->a_vp, ap->a_bp->b_vp)); if (!once) { vprint("VOP_STRATEGY on VCHR", ap->a_vp); backtrace(); @@ -547,6 +549,8 @@ spec_specstrategy(ap) } */ *ap; { + KASSERT(ap->a_vp == ap->a_bp->b_vp, ("%s(%p != %p)", + __func__, ap->a_vp, ap->a_bp->b_vp)); return spec_xstrategy(ap->a_vp, ap->a_bp); } diff --git a/sys/fs/udf/udf_vnops.c b/sys/fs/udf/udf_vnops.c index 5827483..046d83e 100644 --- a/sys/fs/udf/udf_vnops.c +++ b/sys/fs/udf/udf_vnops.c @@ -819,6 +819,8 @@ udf_strategy(struct vop_strategy_args *a) vp = bp->b_vp; node = VTON(vp); + KASSERT(a->a_vp == a->a_bp->b_vp, ("%s(%p != %p)", + __func__, a->a_vp, a->a_bp->b_vp)); /* cd9660 has this test reversed, but it seems more logical this way */ if (bp->b_blkno != bp->b_lblkno) { /* diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c index 4862642..401567d 100644 --- a/sys/fs/unionfs/union_vnops.c +++ b/sys/fs/unionfs/union_vnops.c @@ -1830,6 +1830,8 @@ union_strategy(ap) struct buf *bp = ap->a_bp; struct vnode *othervp = OTHERVP(bp->b_vp); + KASSERT(ap->a_vp == ap->a_bp->b_vp, ("%s(%p != %p)", + __func__, ap->a_vp, ap->a_bp->b_vp)); #ifdef DIAGNOSTIC if (othervp == NULLVP) panic("union_strategy: nil vp"); -- cgit v1.1