Skip site navigation (1)Skip section navigation (2)
Date:      06 Aug 1999 09:52:14 -0400
From:      Robert Sanders <rsanders@mindspring.net>
To:        hackers@freebsd.org
Subject:   Re: Jail syscalls
Message-ID:  <knemhh3tkh.fsf@xena.mindspring.com>
In-Reply-To: Matthew Dillon's message of "Wed, 4 Aug 1999 11:04:06 -0700 (PDT)"
References:  <Pine.BSF.4.10.9908040949300.385-100000@salmon.nlsystems.com> <199908041804.LAA31039@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Matthew Dillon <dillon@apollo.backplane.com> writes:

>     I think we basically have two choices:
> 
>     * Pass the sizeof(struct) as part of the system call.  Please, not as 
>       part of the structure!  That would make this syscall the odd-man-out
>       compared to all the other syscalls that take size arguments.
> 
>     * Make the first field of the structure a real version id, one that is
>       taken from the same include file that the structure was defined in,
>       and require that the field be filled in.

And, of course, passing the version number as an argument to the
syscall*.  That has the advantage of not having to initialize the
structure version field, not having to worry about incompatible
structures of equal size, and not unnecessarily enlarging the
structure with version information.

Embedded version numbers would win in situations wherein modules
compiled with old header files were passing structures to modules that
were compiled with new header files, and that such structures were
given as arguments to syscalls invoked in the new module.  That seems
pretty unlikely.

regards,
  -- Robert

* The really perverse might suggest that this versioning be hidden
from the user via macro/inline procedure trickery.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




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