> On Jun 28, 2020, at 10:24 AM, Robert Elz <k...@munnari.oz.au> wrote: > > Date: Sat, 27 Jun 2020 11:49:30 -0400 > From: "Christos Zoulas" <chris...@netbsd.org> > Message-ID: <20200627154930.84e22f...@cvs.netbsd.org> > > | Modified Files: > | src/sys/compat/sys: mount.h > | > | Log Message: > | Ignore the supplied size, and always use the argument size that we know. > > Is this fix correct? Certainly looks more reasonable than > what was there before, as the supplied size (for no seemingly > good reason) is often 0, but in compat_20_sys_getfsstat() (in > sys/compat/common/vfs_syscalls_20.c) statvfs_to_statfs12_copy() > is called, via do_sys_getvfsstat() with a size of > sizeof(struct statvfs90) and a statvfs90 (compat/sys/statvfs.h) > is certainly not the same size as a statfs12 (compat/sys/mount.h) > > Or perhaps (probably more likely) compat_20_sys_getfsstat() should > be passing sizeof(struct statfs12) instead ? (And now may as well > just pass 0).
No, it has to be sizeof(struct statfs12) because the function fills an array of struct statfs12 and needs to know how much to increment. Thanks, christos
Description: Message signed with OpenPGP