Date: Thu, 24 Mar 2011 14:37:52 +0100 From: Martin Matuska <mm@FreeBSD.org> To: Marius Strobl <marius@alchemy.franken.de> Cc: Roger Hammerstein <cheeky.m@live.com>, pjd@FreeBSD.org, freebsd-sparc64@FreeBSD.org Subject: Re: sparc64 hang with zfs v28 Message-ID: <4D8B4930.7080106@FreeBSD.org> In-Reply-To: <20110324111628.GO15528@alchemy.franken.de> References: <20110307192239.GA31314@alchemy.franken.de> <BAY147-w5926709E28BF613C663D48F9C90@phx.gbl> <20110310185423.GA50419@alchemy.franken.de> <20110319152838.GA8594@alchemy.franken.de> <20110321175632.GA19345@darkthrone.kvedulv.de> <20110321175933.GD2086@garage.freebsd.pl> <BAY147-w266A8BF89A940BDD569D2EF9B40@phx.gbl> <20110322191117.GH15528@alchemy.franken.de> <20110323232411.GC82490@darkthrone.kvedulv.de> <4D8B08E1.5060008@FreeBSD.org> <20110324111628.GO15528@alchemy.franken.de>
next in thread | previous in thread | raw e-mail | index | archive | help
I agree to the patch, that is exactly what I was missing in the v15 compat code. Too bad that I don't have a sparc64 to test these things out and get smarter. I am investigating now if its possible to emulate it with qemu. Dňa 24.03.2011 12:16, Marius Strobl wrote / napísal(a): > On Thu, Mar 24, 2011 at 10:03:29AM +0100, Martin Matuska wrote: >> zfs_ioctl_compat_post() calls depending on the ioctl >> zfs_ioctl_compat_fix_stats() or zfs_ioctl_compat_pool_get_props() >> >> Both functions unpack the "zc->zc_nvlist_dst" into "nv" at the very >> beginning and I might be missing something here (works very well on >> i386/amd64) or there might be a problem elsewhere. >> >> nvlist_unpack() from libnvpair (nvpair.c) calls nvlist_xunpack(), >> issuing a nvlist_xalloc(), followerd by a nvlist_common() in >> NVS_OP_DECODE mode - that's where it dies. >> nvlist_common() deals directly with endianess. >> >> sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c >> sys/cddl/contrib/opensolaris/common/nvpair/nvpair.c >> > > The code in zfs_ioctl_compat.c just completely misses the copyin()/ > copyout() dance. The following patch should fix this, but is compile- > tested only so far: > http://people.freebsd.org/~marius/zfs_ioctl_compat.c.diff > Which still is to be used together with: > http://people.freebsd.org/~marius/sunddi.h.diff > > I'm puzzled as to why these bugs don't cause havoc on x86 ... > > Marius >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D8B4930.7080106>