On Fri, 2005-03-11 at 12:23, Sam Leffler wrote:
> Coverity's analysis tool claims there might be a null bp dereferenced in
> ufsdirhash_lookup. Attached is a patch to add a KASSERT but it'd be
> good for someone more familiar with the code to check if a change is
> required.
>
> Sam


In my opinion the change is not required.
Not knowing how the tool works my guess is that the function pointer
um_blkatoff used in UFS_BLKATOFF makes it impossible for the tool to
prove that bp will always be non-zero at this point.

Can you replace UFS_BLKATOFF(vp, (off_t)blkoff, NULL, &bp) with
ffs_blkatoff(vp, (off_t)blkoff, NULL, &bp) and rerun the test?

Stephan
>
> __________________________________________________ ____________________
> ==== //depot/projects/wifi/sys/ufs/ufs/ufs_dirhash.c#3 - /usr/sam/wifi/sys/ufs/ufs/ufs_dirhash.c ====
> @@ -420,6 +420,7 @@
> if (UFS_BLKATOFF(vp, (off_t)blkoff, NULL, &bp) != 0)
> return (EJUSTRETURN);
> }
> + KASSERT(bp != NULL, ("no buf?"));
> dp = (struct direct *)(bp->b_data + (offset & bmask));
> if (dp->d_reclen == 0 || dp->d_reclen >
> DIRBLKSIZ - (offset & (DIRBLKSIZ - 1))) {
>
>
> __________________________________________________ ____________________
> _______________________________________________
> freebsd-fs@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"


_______________________________________________
freebsd-fs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-fs
To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"