From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 018B4C433DF for ; Tue, 19 May 2020 13:29:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CDE1320825 for ; Tue, 19 May 2020 13:29:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727904AbgESN3x (ORCPT ); Tue, 19 May 2020 09:29:53 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:47777 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727057AbgESN3x (ORCPT ); Tue, 19 May 2020 09:29:53 -0400 Received: from ip5f5af183.dynamic.kabel-deutschland.de ([95.90.241.131] helo=wittgenstein) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jb2JJ-0001zu-98; Tue, 19 May 2020 13:29:33 +0000 Date: Tue, 19 May 2020 15:29:31 +0200 From: Christian Brauner To: "Eric W. Biederman" Cc: Andreas Schwab , Jann Horn , Kees Cook , Al Viro , Andrew Morton , Tetsuo Handa , Eric Biggers , Dmitry Vyukov , linux-fsdevel , linux-security-module , Linux API , kernel list Subject: Re: [PATCH 1/4] exec: Change uselib(2) IS_SREG() failure to EACCES Message-ID: <20200519132931.3b7yugfv2ajry6y7@wittgenstein> References: <20200518055457.12302-1-keescook@chromium.org> <20200518055457.12302-2-keescook@chromium.org> <20200518130251.zih2s32q2rxhxg6f@wittgenstein> <20200518144627.sv5nesysvtgxwkp7@wittgenstein> <87blmk3ig4.fsf@x220.int.ebiederm.org> <87mu64uxq1.fsf@igel.home> <87sgfwuoi3.fsf@x220.int.ebiederm.org> <87eergunqs.fsf@igel.home> <87ftbwun0h.fsf@x220.int.ebiederm.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <87ftbwun0h.fsf@x220.int.ebiederm.org> Sender: owner-linux-security-module@vger.kernel.org Precedence: bulk List-ID: On Tue, May 19, 2020 at 07:28:46AM -0500, Eric W. Biederman wrote: > Andreas Schwab writes: > > > On Mai 19 2020, Eric W. Biederman wrote: > > > >> I am wondering if there are source trees for libc4 or libc5 around > >> anywhere that we can look at to see how usage of uselib evolved. > > > > libc5 is available from archive.debian.org. > > > > http://archive.debian.org/debian-archive/debian/pool/main/libc/libc/libc_5.4.46.orig.tar.gz > > Interesting. > > It appears that the old a.out code to make use of uselib remained in > the libc5 sources but it was all conditional on the being compiled not > to use ELF. > > libc5 did provide a wrapper for the uselib system call. > > It appears glibc also provides a wrapper for the uselib system call > named: uselib@GLIBC_2.2.5. > > I don't see a glibc header file that provides a declaration for uselib > though. > > So the question becomes did anyone use those glibc wrappers. The only software I could find was ski, the ia64 instruction set emulator, which apparently used to make use of this and when glibc removed they did: #define uselib(libname) syscall(__NR_uselib, libname) but they only define it for the sake of the internal syscall list they maintain so not actively using it. I just checked, ski is available on Fedora 31 and Fedora has USELIB disabled. Codesearch on Debian yields no users that actively use the syscall for anything. Christian