Date: Wed, 19 Oct 2011 23:40:37 +0000 (UTC) From: Pawel Jakub Dawidek <pjd@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r226552 - head/sys/boot/zfs Message-ID: <201110192340.p9JNebOH047566@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: pjd Date: Wed Oct 19 23:40:37 2011 New Revision: 226552 URL: http://svn.freebsd.org/changeset/base/226552 Log: Never pass NULL block pointer when reading. This is neither expected nor handled by lower layers like vdev_raidz, which uses bp for checksum verification. This bug could lead to NULL pointer reference and resets during boot. MFC after: 3 days Modified: head/sys/boot/zfs/zfsimpl.c Modified: head/sys/boot/zfs/zfsimpl.c ============================================================================== --- head/sys/boot/zfs/zfsimpl.c Wed Oct 19 23:37:30 2011 (r226551) +++ head/sys/boot/zfs/zfsimpl.c Wed Oct 19 23:40:37 2011 (r226552) @@ -988,7 +988,8 @@ zio_read_gang(spa_t *spa, const blkptr_t break; if (!vdev || !vdev->v_read) return (EIO); - if (vdev->v_read(vdev, NULL, &zio_gb, offset, SPA_GANGBLOCKSIZE)) + + if (vdev->v_read(vdev, bp, &zio_gb, offset, SPA_GANGBLOCKSIZE)) return (EIO); for (i = 0; i < SPA_GBH_NBLKPTRS; i++) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201110192340.p9JNebOH047566>