mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 00:32:25 -04:00
OpenZFS: Ensure that zfs_getattr() initializes the va_rdev field
Otherwise the field is left uninitialized, leading to a possible kernel
memory disclosure to userspace or to the network. Use the same
initialization value we use in zfsctl_common_getattr().
Reported-by: KMSAN
Sponsored-by: The FreeBSD Foundation
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Ed Maste <emaste@FreeBSD.org>
Signed-off-by: Mark Johnston <markj@FreeBSD.org>
(cherry picked from commit 11656234b5)
This commit is contained in:
parent
29553f9e8c
commit
c2b39a756f
1 changed files with 2 additions and 0 deletions
|
|
@ -2007,6 +2007,8 @@ zfs_getattr(vnode_t *vp, vattr_t *vap, int flags, cred_t *cr)
|
|||
vap->va_size = zp->z_size;
|
||||
if (vp->v_type == VBLK || vp->v_type == VCHR)
|
||||
vap->va_rdev = zfs_cmpldev(rdev);
|
||||
else
|
||||
vap->va_rdev = 0;
|
||||
vap->va_gen = zp->z_gen;
|
||||
vap->va_flags = 0; /* FreeBSD: Reset chflags(2) flags. */
|
||||
vap->va_filerev = zp->z_seq;
|
||||
|
|
|
|||
Loading…
Reference in a new issue