This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Requiring Linux 3.2, again


On 05/04/2017 01:00 PM, Joseph Myers wrote:
> On Thu, 4 May 2017, Carlos O'Donell wrote:
> 
>> Now that the minimum kernel version is moving forward smoothly and we all
>> like the cleanups. Perhaps it's time to question the "FATAL: too old" warning
>> and remove it?
> 
> I think that would be a reasonable approach (so --enable-kernel affects 
> the notes in binaries indicating the required kernel version, and disables 
> runtime fallback code, but doesn't stop programs running).  There might be 
> a risk of security issues from code that doesn't expect or allow for 
> affected interfaces to fail, however.
 
Correct, the NT_GNU_ABI_TAG would clearly specify that the application has
a compatibility requirement with the newer kernel, even if this is a loose
bound.

Then, rather than being prescriptive, the dynamic loader allows the 
application to run, and the user is responsible for ensuring they only use
those interfaces present in the kernel they are running on.

>From a security perspective I think we can have __glibc_unlikely paths
that abort if critical syscalls fail, and those paths will be on cold
branches, optimized far away from the hot path. We would still obviously
have a check on the hot path for failure.

Making this decision to remove the fatal abort will change some of our 
day-to-day practice in this regard, but I think it's a change we need
to make to better support the more flexible interaction between container 
guests and the host kernel.

I'll do some testing and propose the change.

-- 
Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]