From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oa1-x2c.google.com (mail-oa1-x2c.google.com [IPv6:2001:4860:4864:20::2c]) by sourceware.org (Postfix) with ESMTPS id 43B1B3858281 for ; Wed, 2 Aug 2023 13:08:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 43B1B3858281 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-oa1-x2c.google.com with SMTP id 586e51a60fabf-1bb69c0070dso5267234fac.1 for ; Wed, 02 Aug 2023 06:08:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1690981719; x=1691586519; h=content-transfer-encoding:in-reply-to:organization:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=1wv9bmd9dx5FidnEJYhRusc/oBAagBbz0iG5HQe+Ghk=; b=U7E7TFmWr6bSdDKNG+zqNlIJs2t428w9ZSzz1cjDeaDtUwPAnbZy7Cq7Ac4s+UDBpz 11IIt2+8O385LgdqjXLQmJ4JB64CZeAVM4fTuuMlOAT11lB/WWwrvw+5o5mR6c8QFSaP ouCUFgwUuU3Bj/vd5IKgTxO/mJaFsrX6tUmQGXr1DLCSlFSsjsopvcy8N3rViDeVnirp E+mHe3c2mztsz4xSTGEqBywqKogOZXxn/QS4a1cz3H366iCjpaPrUU+dx+sKMBRU5u3b zPEDhpXQl8RY5mO5q5zK+khvZE34huO+Pi3bV9DLcEP1yoFV32FgH6WwLLajypu8cg66 iM4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690981719; x=1691586519; h=content-transfer-encoding:in-reply-to:organization:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=1wv9bmd9dx5FidnEJYhRusc/oBAagBbz0iG5HQe+Ghk=; b=ZNBj0py+mWMxN/YI2KSFvHtanZG7Tc0mAuB9tr2QfQR+3NqcL7papRTytIrPsOT2F5 acGtJVeE0Q6IGiY5f4iHLtbPvui+RKyWfZAuDT4dbl+3g0IKBx85uJ+EGND+W5L/3iE7 fLgzdD99rhIO+DjYZHuSMclHe+ZUnfDDtrnmkp+eNHdyUZgL64eRi3dwKTXeEHPvVEST kPOtAbiV9bBPhVGpGbdk2hc1xuoej5/miWeWS7xKAZjH7lEd7z0H2JS/GofEi492d3R/ iGC8MOlIv3oRKrimcut0GUnmfZBJuZlxLvuBme/4hRRNi0oYKykG+v6AdcmSZayyAQtZ ha8g== X-Gm-Message-State: ABy/qLaSat1Ck9uQPjjMiHRtKosv2oW3QZyIi+qqFG/g+Eb5HRbnaoKV rtGgybkj1DgVtl8EPpbozV2Ahg== X-Google-Smtp-Source: APBJJlHc83CqHs1jB2+quKXi3wWfkuOY1CRepEyKqjgEm+pt2Q8UxE8kz13wYgUgk3Lbk1Yi2PZq2Q== X-Received: by 2002:a05:6870:d110:b0:1bb:c50d:7437 with SMTP id e16-20020a056870d11000b001bbc50d7437mr18470982oac.53.1690981719601; Wed, 02 Aug 2023 06:08:39 -0700 (PDT) Received: from ?IPV6:2804:1b3:a7c1:9aa9:84f6:53b3:4cd0:ffe6? ([2804:1b3:a7c1:9aa9:84f6:53b3:4cd0:ffe6]) by smtp.gmail.com with ESMTPSA id b23-20020a056830105700b006b8c6eb962esm5897301otp.52.2023.08.02.06.08.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 02 Aug 2023 06:08:38 -0700 (PDT) Message-ID: <3db369f1-6edd-f876-b9ac-a78f0c51cc82@linaro.org> Date: Wed, 2 Aug 2023 10:08:36 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH 2/2] stdlib: Make abort AS-safe (BZ 26275) Content-Language: en-US To: Florian Weimer , Adhemerval Zanella via Libc-alpha Cc: Carlos O'Donell References: <20230731171900.4065501-1-adhemerval.zanella@linaro.org> <20230731171900.4065501-3-adhemerval.zanella@linaro.org> <87v8dxsjow.fsf@oldenburg.str.redhat.com> From: Adhemerval Zanella Netto Organization: Linaro In-Reply-To: <87v8dxsjow.fsf@oldenburg.str.redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-11.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,T_SCC_BODY_TEXT_LINE 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 02/08/23 09:38, Florian Weimer wrote: > * Adhemerval Zanella via Libc-alpha: > >> diff --git a/nptl/pthread_kill.c b/nptl/pthread_kill.c >> index 44e45a4e23..e3364fb5d1 100644 >> --- a/nptl/pthread_kill.c >> +++ b/nptl/pthread_kill.c >> @@ -69,6 +69,17 @@ __pthread_kill_implementation (pthread_t threadid, int signo, int no_tid) >> return ret; >> } >> >> +/* Send the signal SIGNO to the caller. Used by abort and called where the >> + signals are being already blocked and there is no need to synchronize with >> + exit_lock. */ >> +int >> +__pthread_raise_internal (int signo) >> +{ >> + struct pthread *pd = THREAD_SELF; >> + int ret = INTERNAL_SYSCALL_CALL (tgkill, __getpid (), pd->tid, signo); >> + return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0; >> +} > > This needs to use gettid (the system call) so that it works after vfork, > which may have an incorrect pd->tid. > > There should be a comment to this effect in pthread_kill implementation > already. > Ack.