[PATCH 01/12] linux: Fix vDSO macros build with time64 interfaces

Florian Weimer fweimer@redhat.com
Fri Dec 13 14:49:00 GMT 2019


* Adhemerval Zanella:

> But I think essentially what you are suggesting is an optimization to a
> scenario that in practice should be unusual: a glibc build with a v5.1+
> kernel headers, but deployed in a older kernel without time64 support.

I don't think that's quite right.  It will affect any future Fedora
release that is deployed on current container environments, irrespective
of container technology.  In the past, vendors were really slow to
rebase kernels.

Furthermore, I think we have tentative agreement that we want to move to
built-in system call tables to make it clearer what functionality we
support.  In particular, we viewed this as a requirement for rseq
support.  While it seems unlikely at this point that rseq support will
make it into the upcoming release, I still hope to contribute my syscall
tables patch next week.  (The patch is done, but the auto-updating of
the tables doesn't quite work yet the way Joseph would like it.)

It's also not just an optimization because the selection logic should be
generic and could be written once because it does not depend on the
function pointer.

But unfortunately, probing the way I suggested will not work.  It's
incompatible with existing seccomp filters running on newer kernels
because they will cause the syscall in the vDSO to fail with ENOSYS.  So
we still need a fallback path unfortunately.  If I'm right, this
invalidates a previous review comment of mine regarding the fallback
path after INLINE_VSYSCALL.

Thanks,
Florian



More information about the Libc-alpha mailing list