From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vs1-xe2f.google.com (mail-vs1-xe2f.google.com [IPv6:2607:f8b0:4864:20::e2f]) by sourceware.org (Postfix) with ESMTPS id 4F5953857351 for ; Thu, 29 Sep 2022 17:49:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4F5953857351 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-vs1-xe2f.google.com with SMTP id a129so2378473vsc.0 for ; Thu, 29 Sep 2022 10:49:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:in-reply-to:organization:from:references :to:content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date; bh=kRvs21ip+q7wyLzOUhzI0vg6dgqUd2Esqwz1eQU8/Yo=; b=ZRSaVjoZnagJFdtmR3B1rd+tTHywGf5KMHQg0vEsBsE/HXhaoXvvb25z/Qe+nuCiBl SmKpmTfEJ37MBYi0utUY6GSIK+6sso6ssJ9JC38AEtajfnM9ErKj1C3cM8+2LFbB2ybY dvOu6XvPPpNCvdBg+OwuZqCsWpBlWt3Gg4KDK2mN7arhu0JKm1s2+0vxofMOLrYVJiYI vKiXgsTf3siCFPF9mUz13ezLBtht7SbaZ0j2A09vqN9heMyMq9tDNS3PJ6wJiDJQ2HRw n2EIrkEgkGFPc1gvh44YMtRj9lpE1fNo0JdQ/6TWKiBBmfhY2NIvwkxyShnWSg71t7uD FTOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:organization:from:references :to:content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date; bh=kRvs21ip+q7wyLzOUhzI0vg6dgqUd2Esqwz1eQU8/Yo=; b=zRd17ShVxjnA59XxO/ZeOE9/Ys11Pw3D173MAmbcbHnsVcB+PvuOCc0e1fXSDVRJv1 QJuCut+FWsXJT1lSI1+M9Pd0iFYkacwvIB7LVnI3NcG8wjHTiodRRG4zOU4hyoFBUyRm su0JVmBmEQHXPGYPjurWo3Cx4i7uta6dyZNVblVc4eZ7RvvUHfwqera/e5GMaT73EgBE ezk9/OjHupxXGTvGdeutSjGNndN5YuiAqqtVK0lXQbluqna90K9MMEI7tOmZea4FDjcY C3nlV7DVT1UB0gSZKuzvfl5O+Hr1V6v2LdhG46rnpRJPlecKc+gm/MKvq9UGDx8mkXdO +ckQ== X-Gm-Message-State: ACrzQf13K3qTCL9HMW0IQCE10A5Hvs0Mlfp+0EYq+3sqVBbFFHRaSxJJ HXCHrQK21Vvhx+AQPsIToR7XCL4Bjmwx3d4K X-Google-Smtp-Source: AMsMyM7Pj+GafQepRwp9SgzDNiCigddGjxW4/5s8ez3kMBGmdpwOcp+JXmTCzKl0hVYhCb2rJRghyw== X-Received: by 2002:a67:f5c2:0:b0:398:75dc:bb13 with SMTP id t2-20020a67f5c2000000b0039875dcbb13mr2170700vso.81.1664473762634; Thu, 29 Sep 2022 10:49:22 -0700 (PDT) Received: from ?IPV6:2804:1b3:a7c2:3736:1cf0:b6ef:db77:c498? ([2804:1b3:a7c2:3736:1cf0:b6ef:db77:c498]) by smtp.gmail.com with ESMTPSA id o17-20020a056122179100b003a267957ab5sm323493vkf.20.2022.09.29.10.49.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 29 Sep 2022 10:49:22 -0700 (PDT) Message-ID: <24841f93-2247-e46d-82a1-e0c35c1d3958@linaro.org> Date: Thu, 29 Sep 2022 14:49:20 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.3.1 Subject: Re: [PATCH] malloc: Do not clobber errno on __getrandom_nocancel (BZ#29624) Content-Language: en-US To: Yann Droneaud , libc-alpha@sourceware.org References: <20220929164510.3454281-1-adhemerval.zanella@linaro.org> From: Adhemerval Zanella Netto Organization: Linaro In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-14.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 29/09/22 14:46, Yann Droneaud wrote: > Hi, > > 29 septembre 2022 à 18:45 "Adhemerval Zanella via Libc-alpha" a écrit: > >> Use INTERNAL_SYSCALL_CALL instead of INLINE_SYSCALL_CALL. This >> requires emulate the semantic for hurd call (so __arc4random_buf >> uses the fallback). >> >> Checked on x86_64-linux-gnu. >> --- >> stdlib/arc4random.c | 4 ++-- >> sysdeps/mach/hurd/not-cancel.h | 11 +++++++++-- >> sysdeps/unix/sysv/linux/not-cancel.h | 2 +- >> 3 files changed, 12 insertions(+), 5 deletions(-) > > [...] > >> diff --git a/sysdeps/mach/hurd/not-cancel.h b/sysdeps/mach/hurd/not-cancel.h >> index ae58b734e3..f2cb9b60ba 100644 >> --- a/sysdeps/mach/hurd/not-cancel.h >> +++ b/sysdeps/mach/hurd/not-cancel.h >> @@ -75,8 +76,14 @@ __typeof (__fcntl) __fcntl_nocancel; >> #define __fcntl64_nocancel(...) \ >> __fcntl_nocancel (__VA_ARGS__) >> >> -#define __getrandom_nocancel(buf, size, flags) \ >> - __getrandom (buf, size, flags) >> +static inline int >> +__getrandom_nocancel (void *buf, size_t buflen, unsigned int flags) >> +{ >> + int save_errno = errno; >> + int r = __getrandom (buf, buflen, flags); >> + __set_errno (save_errno); >> + return r == -1 ? -save_errno : r; >> +} >> > > I don't get why the saved errno value is returned. Oops, because it is wrong. > > > Regards. >