Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Mar 2020 22:55:33 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 244899] ZFS symlink xattr panic
Message-ID:  <bug-244899-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D244899

            Bug ID: 244899
           Summary: ZFS symlink xattr panic
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: y.freebsd@paritcher.com

on ZFS, if a symlink target has more than 136 characters setting a xattr on=
 the
symlink is broken.=20

on 12.1 this causes that on the next mount of the dataset (or after not
`stat`ing the file for a while) the symlink returns "bad file descriptor".

on 13 CURRENT the call to `setextattr` causes a kernel panic.

Steps to Reproduce:

root@freebsd:~ # zpool create tester /dev/ada1
root@freebsd:~ # zfs create tester/test
root@freebsd:~ # ln -s
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
/tester/test/A
root@freebsd:~ # setextattr -h user A A /tester/test/A


on CURRENT this will cause a panic.
for 12.1:

root@freebsd:~ # zfs unmount tester/test
root@freebsd:~ # zfs mount tester/test
root@freebsd:~ # ls -l /tester/test/=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20
                                      ls: A: Bad file descriptor
total 0

kernel traceback:

panic: solaris assert: IS_SA_BONUSTYPE(bonustype) &&
SA_HDR_SIZE_MATCH_LAYOUT(hdr, tb) || !IS_SA_BONUSTYPE(bonustype) ||
(IS_SA_BONUSTYPE(bonustype) && hdr->sa_layout_info =3D=3D 0), file:
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c, line: 1512
cpuid =3D 0
time =3D 1584572024
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0025270=
530
vpanic() at vpanic+0x182/frame 0xfffffe0025270580
panic() at panic+0x43/frame 0xfffffe00252705e0
assfail() at assfail+0x1a/frame 0xfffffe00252705f0
sa_build_index() at sa_build_index+0x170/frame 0xfffffe0025270700
sa_build_layouts() at sa_build_layouts+0xc22/frame 0xfffffe0025270810
sa_modify_attrs() at sa_modify_attrs+0x4db/frame 0xfffffe0025270910
sa_attr_op() at sa_attr_op+0x4e2/frame 0xfffffe00252709b0
sa_bulk_update_impl() at sa_bulk_update_impl+0xa5/frame 0xfffffe00252709f0
sa_update() at sa_update+0x55/frame 0xfffffe0025270a40
zfs_make_xattrdir() at zfs_make_xattrdir+0x20a/frame 0xfffffe0025270ae0
zfs_get_xattrdir() at zfs_get_xattrdir+0xc1/frame 0xfffffe0025270bf0
zfs_lookup() at zfs_lookup+0x15b/frame 0xfffffe0025270cd0
zfs_setextattr() at zfs_setextattr+0x1ca/frame 0xfffffe0025271000
VOP_SETEXTATTR_APV() at VOP_SETEXTATTR_APV+0x38/frame 0xfffffe0025271020
extattr_set_vp() at extattr_set_vp+0x11d/frame 0xfffffe00252710f0
kern_extattr_set_path() at kern_extattr_set_path+0x10c/frame 0xfffffe002527=
1330
sys_extattr_set_link() at sys_extattr_set_link+0x29/frame 0xfffffe0025271350
amd64_syscall() at amd64_syscall+0x16d/frame 0xfffffe0025271470
fast_syscall_common() at fast_syscall_common+0x101/frame 0xfffffe0025271470
--- syscall (412, FreeBSD ELF64, sys_extattr_set_link), rip =3D 0x8002e4eea=
, rsp
=3D 0x7fffffffd9e8, rbp =3D 0x7fffffffea90 ---
KDB: enter: panic
[ thread pid 690 tid 100429 ]
Stopped at      kdb_enter+0x37: movq    $0,0x10928e6(%rip)
db>=20


if there is any other information i can provide please let me know

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-244899-227>