On Tue, 2016-08-30 at 23:14 +0200, Samuel Thibault wrote: > Hello, > > Svante Signell, on Tue 30 Aug 2016 14:32:32 +0200, wrote: > > > > The gnumach patch, 80_mach_clock.patch sets the old_adjustment to oadj only > > if > > old_adjustment is non-null. This patch is probably redundant but included > > here > > anyway. > It's not only redundant, but actually useless (and thus not fixing > anything). See the RPC server stub in ./kern/mach_host.server.c: > > OutP->RetCode = > host_adjust_time((host_t)convert_port_to_host_priv((ipc_port_t) In0P- > >Head.msgh_request_port), In0P->new_adjustment, &OutP->old_adjustment); > > i.e. on the server side, mig always provides a room for the RPC to > provide the result, so the pointer is never NULL.
That's what I assumed. Now confirmed by you (and the code). Thanks, good to know :) > > > > TODO: EINVAL should also be returned if the supplied delta is too large, as > > described in adjtime(3). > This manual talks about the Linux kernel limitation. There is no reason > to introduce the same limitation. OK, your choice.