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).

kre

Reply via email to