From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x444.google.com (mail-pf1-x444.google.com [IPv6:2607:f8b0:4864:20::444]) by sourceware.org (Postfix) with ESMTPS id E55903857C40 for ; Sat, 11 Jul 2020 15:58:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E55903857C40 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=twiddle.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rth7680@gmail.com Received: by mail-pf1-x444.google.com with SMTP id 1so3880420pfn.9 for ; Sat, 11 Jul 2020 08:58:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:autocrypt:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=7y999T8U05y+/2quJgMCq60mhjuQYULGqiLnJTcDT3w=; b=XyjxGiotwXIWve0AskiVut7tOPZ0E38L2ZPh7LT+4deor8wFTKb8BlFdgAWHp9+Gq7 EQzvfdIAtumHA7fLdKAkIwzOojLfA8uSf9uKGVMazkTM5pJy2q56Vr/9sLIf222OA3I3 Z1CG69HL+MbTY8qL3EZWSorQP15n+pci9/16BSeoUMyyDvfmxN2KDK9gcFKTodITL9Qt 3U3bmQZ0KUOIm2RiaS0RfuX1AZ5GDjDN+EeR45QnuPESvNRxWiEIEBZ5Mqsbid+Hwol7 P3hBGU9FsjBIPaiCcHZFdc6E9LBA1uES/ld7g4kmwP9esF0qdjEcAWu2zyXFrKjVxa0N eeXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=7y999T8U05y+/2quJgMCq60mhjuQYULGqiLnJTcDT3w=; b=Dn6xHYsSIM81G9Jz5KR11ar8g6180NaY/mFLuTkzdHo7lXKxHkEwaByfPzBUtrtLCb XGiskGUFFQxnJdX7TsMV7Jf20ewpvaPW1U9VKK09lSv8TvQFdmkPZ538IRLftXU6BhT6 TMrhoyEle0j9X7ozxG5Ry+Ycn3QecCt/A3e1BG+OWR5AbF6MtY9fUAfHERQHV9oeN1hN 0pxqj03eW5qbU+oREMBoJuyatQ9zIJRCBSgv4H+YIUTBv2rcnZIJuQjyz0b2Tq277FJv IqXmIh+mHwnfU7mc3WrdRVGVlhIjh0VtI9RgizBoP3Hi+u1t0Olwf+Ky9d0pGKQnmNVM uHOQ== X-Gm-Message-State: AOAM531QubH6gVp1kmLr0HquwZ0XCY+iXxL0rLDSWhGNpL/mFLj9Q1G/ 0G3kz98/iYihWYd+wxlpr3mrlct0jtw= X-Google-Smtp-Source: ABdhPJwjqNj33m3yTJCdXxtEwcrVo1ymv0MTpNG9dfZv+gVu1SZiPS+zVL1eynwsB2HEFJaNIixUMg== X-Received: by 2002:a62:ceca:: with SMTP id y193mr34681932pfg.11.1594483109276; Sat, 11 Jul 2020 08:58:29 -0700 (PDT) Received: from [192.168.1.11] (174-21-143-238.tukw.qwest.net. [174.21.143.238]) by smtp.googlemail.com with ESMTPSA id t126sm9810893pfd.214.2020.07.11.08.58.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 11 Jul 2020 08:58:28 -0700 (PDT) Sender: Richard Henderson Subject: Re: [PATCH v6 08/14] aarch64: enable BTI at runtime To: Szabolcs Nagy , libc-alpha@sourceware.org Cc: Sudakshina Das References: From: Richard Henderson Autocrypt: addr=rth@twiddle.net; prefer-encrypt=mutual; keydata= mQENBFGuLC8BCADcAoWcnW9lTsDMzbO3MBU+KbiGaj5JPatEUscRDkQYM2fyNjJp2tIWDK5a n4yngeXB3eX61WbYR3QraRK8mlYLGxyAdHMEQfPipbqf3TmN043fssT2bc82ApJcs1zvLYgI rhMht7Dck7A0wNC1jo+ZjVVFig5gDTN7gOzaAdBtV8tVNUddwkLzzaGpfihhSD6U46NdqKOG Wlnn6TrkMy0QGdQ5NaXHkRlUjnnUTSW/nKfoxD+EI+A9V4sYOd8mc/TL4aJh/i/AiU57eLbo n17uQI6/VTWDUWl8USiz4x9c8vmqlywLx00tAFxxoRWqk4KVJlj+Sh0up/D/sJ+vPpgBABEB AAG0I1JpY2hhcmQgSGVuZGVyc29uIDxydGhAdHdpZGRsZS5uZXQ+iQFYBBMBAgBCAhsDBgsJ CAcDAgYVCAIJCgsEFgIDAQIeAQIXgAIZARYhBJyxjdr46EmtKvwWpK0ScMxN0CebBQJdweUY BQkP1h/pAAoJEK0ScMxN0CebqDsH/0YyfnXk+Dc++H37VCEKgRet2i1ATFzxRnifkvmdxha0 V+PVptQ2fwSe+w3KxoFecD8W75nysmUjrU/FicW9yU5YRlGONPZjruG02/KzmhA5PzWJdYO3 i/t0qRayvWIcX2qA/flsXEbmb/BbAFM05LQIdcOu74eiBFe5CBCOWBDJeneE1urIE0hSYxoh nCcG60ULrNj13ohZ4zAEluoY32qIo7/OPWmtR88cPrEbZT8k+RqgZbsotzaPT1/RlL74fL8k ofYfTgKAFH7eEy6fF2nzDp2GThVn+3sA62xtpSXUf/X1m75B40KOcq1EQbHypNTmBc1wt13e ibhPNEVX2am5AQ0EUa4sLwEIALITHfH3gciRNfQIe7awDTDvn6H3C6gDyCAnv5LiuLTLZiyK NZp3lNO3rPowyKrGT2RIDlumlqPgdeHzqEEX91YK0yk2vdFvwU04rJ4D+qRgdUPoeICLD1zo PwOv2FaY6Tf8dKYas1RHF5QU5yQNey8j7IYYoE2yGPn2PtBmvtmK4iLataUEvx0U385Zr+jf HscqwTiToryeDC8Io/9BsMvAssE5Yf5URS2nJ7LFOvc4njsQJPF1i9egBXaIloqv7p2hVCKJ Hl5UWIxitQ9QQIl6iU4LCpz8mVYTXwv48IAVpbUf7+ak9V9Kk3jCeQnlxCJBUHjUhoIzinbS JHPHtkkAEQEAAYkBPAQYAQIAJgIbDBYhBJyxjdr46EmtKvwWpK0ScMxN0CebBQJdweVIBQkP 1iAZAAoJEK0ScMxN0CebGHUH/RtouOlWl6To97tQsTJUq/2YwmRpFOsvV0/zCX4fKBGAbeZi VaELSt2+3UEErA+n8HwbQmjJ6IrdhA9GustOpOyCcbLVSMwql/OlAwBtDzCcC8dTU4zcuY2a rGG2A8i5krU85G9r1wowVcWZBsdmW7/dKiNoadLQiig4bHNiSaV4ograas5efyEjqTxiY+yG hzPw5DK2kbp2co8iDF1vW0LWPeLFBinCgItcI9LvgHWaB3rwjOfvNpMn5m64SoQYHB8wbnid erAjOzkBzmqnfS1tAUr8mtESStEwrEmNv0ZoA6S0Wt+c9pyTr+BpG4OFlhj7ZI+Eh7zOrr33 q9OBIdA= Message-ID: <7e566a26-dc20-876f-d639-97e1fd2ab191@twiddle.net> Date: Sat, 11 Jul 2020 08:58:26 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Jul 2020 15:58:32 -0000 On 7/1/20 7:39 AM, Szabolcs Nagy wrote: > + unsigned prot = PROT_READ | PROT_EXEC | PROT_BTI; > + > + for (phdr = map->l_phdr; phdr < &map->l_phdr[map->l_phnum]; ++phdr) > + if (phdr->p_type == PT_LOAD && (phdr->p_flags & PF_X)) > + { > + ElfW(Addr) start = phdr->p_vaddr + map->l_addr; > + ElfW(Addr) len = phdr->p_memsz; > + if (__mprotect ((void *) start, len, prot) < 0) Spend an extra cycle or two and honor the exact set of p_flags? If I construct an executable but non-readable PT_LOAD segment, that should be fine. RWX with BTI would undoubtedly be an unusual case, but perhaps not implausible in the context of a JIT with a statically allocated buffer. r~