From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 1EB1238485BF for ; Mon, 16 May 2022 21:12:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1EB1238485BF Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-593-EoqopaZTMDu5KE-4g82JzQ-1; Mon, 16 May 2022 17:12:38 -0400 X-MC-Unique: EoqopaZTMDu5KE-4g82JzQ-1 Received: by mail-qt1-f199.google.com with SMTP id d4-20020a05622a15c400b002f3bd4b80f7so12451073qty.3 for ; Mon, 16 May 2022 14:12:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:references:from:organization:in-reply-to :content-transfer-encoding; bh=56yyundH+gUWQfsEIhym3OzE1PePbaaW7VWHC68ZAtI=; b=yAovv/LNZBauAUL+gmjDCBz5vwgHxe3sfvd8QkV75BfRa7NBM0cRwooifoEq35ESM5 cfAh9sUlJa9mRop4H3EHIq90PKlz5SlP04/WnjGvDia2M89fMKykBlTgOAX9T7h4lqH8 1SKjALJW001sfVoTOtef+SSYwxb98/eE7BqAVIKszsFIL+H3JKP4s09LQVOtVyG++I22 8nYHEf603ohBDh9Kd2KlrX1aEq9507GCcJenWV3czR38h84SVvwwgBjnyEUJm8Br0dbq uYCwJmgWQjkzt3lfBfldn7p7CgAxuQ6R7bppa1MUIJwYYxJVx9OEPuJQ4cGXR8ixXdLJ PCWg== X-Gm-Message-State: AOAM531Cj4+pDLqJbjz/Ox15qooS4SMdJC4E9kmhBjpZCimEZPpoP5jA dGLUU3elWlYoG1rp0d4Q/vSZ+IyTEo8Y30Rdh/ERvB89R6Vqt1mR6c6eduzbP8o595hnGkgBK6w q+KEcxfV/BOeBYJWUtuKK X-Received: by 2002:a05:6214:2a8a:b0:45c:64df:5e14 with SMTP id jr10-20020a0562142a8a00b0045c64df5e14mr17564999qvb.13.1652735557043; Mon, 16 May 2022 14:12:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxhCNWT1eVLn/5djdarYtgxMn29fptRzXhORHem8H6jw1b1mB4Jvau1HvKKgyH3decQp7V1bw== X-Received: by 2002:a05:6214:2a8a:b0:45c:64df:5e14 with SMTP id jr10-20020a0562142a8a00b0045c64df5e14mr17564969qvb.13.1652735556592; Mon, 16 May 2022 14:12:36 -0700 (PDT) Received: from [192.168.0.241] (135-23-175-80.cpe.pppoe.ca. [135.23.175.80]) by smtp.gmail.com with ESMTPSA id k67-20020a378846000000b006a00fabde68sm6413440qkd.10.2022.05.16.14.12.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 16 May 2022 14:12:36 -0700 (PDT) Message-ID: <32ab6325-fe91-701d-ef43-f49b94946d25@redhat.com> Date: Mon, 16 May 2022 17:12:35 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 Subject: Re: [PATCH v2 03/15] linux: Add pidfd_send_signal To: Adhemerval Zanella , libc-alpha@sourceware.org References: <20220207174431.360355-1-adhemerval.zanella@linaro.org> <20220207174431.360355-4-adhemerval.zanella@linaro.org> From: Carlos O'Donell Organization: Red Hat In-Reply-To: <20220207174431.360355-4-adhemerval.zanella@linaro.org> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, 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 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: Mon, 16 May 2022 21:12:50 -0000 On 2/7/22 12:44, Adhemerval Zanella via Libc-alpha wrote: > This was added on Linux 5.1 (3eb39f47934f9d5a3027fe00d906a45fe3a15fad) > as a way to avoid the race condition of using kill (where PID might be > reused by the kernel between between obtaining the pid and sending the > signal). The only ABI parts are: the name of the function and the arguments. No new structures are defined that would have further ABI impact across 32/64-bit (or x32). OK modulo NEWS change from patch 1. Reviewed-by: Carlos O'Donell Tested-by: Carlos O'Donell > If the siginfo_t argument is NULL then pidfd_send_signal is equivalent > to kill. If it is not NULL pidfd_send_signal is equivalent to > rt_sigqueueinfo. > --- > NEWS | 6 +++--- > sysdeps/unix/sysv/linux/Versions | 1 + > sysdeps/unix/sysv/linux/aarch64/libc.abilist | 1 + > sysdeps/unix/sysv/linux/alpha/libc.abilist | 1 + > sysdeps/unix/sysv/linux/arc/libc.abilist | 1 + > sysdeps/unix/sysv/linux/arm/be/libc.abilist | 1 + > sysdeps/unix/sysv/linux/arm/le/libc.abilist | 1 + > sysdeps/unix/sysv/linux/csky/libc.abilist | 1 + > sysdeps/unix/sysv/linux/hppa/libc.abilist | 1 + > sysdeps/unix/sysv/linux/i386/libc.abilist | 1 + > sysdeps/unix/sysv/linux/ia64/libc.abilist | 1 + > sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist | 1 + > sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist | 1 + > sysdeps/unix/sysv/linux/microblaze/be/libc.abilist | 1 + > sysdeps/unix/sysv/linux/microblaze/le/libc.abilist | 1 + > sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist | 1 + > sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist | 1 + > sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist | 1 + > sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist | 1 + > sysdeps/unix/sysv/linux/nios2/libc.abilist | 1 + > sysdeps/unix/sysv/linux/or1k/libc.abilist | 1 + > .../unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 1 + > .../unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist | 1 + > sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist | 1 + > sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist | 1 + > sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist | 1 + > sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist | 1 + > sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist | 1 + > sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist | 1 + > sysdeps/unix/sysv/linux/sh/be/libc.abilist | 1 + > sysdeps/unix/sysv/linux/sh/le/libc.abilist | 1 + > sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist | 1 + > sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist | 1 + > sysdeps/unix/sysv/linux/sys/pidfd.h | 8 ++++++++ > sysdeps/unix/sysv/linux/syscalls.list | 1 + > sysdeps/unix/sysv/linux/x86_64/64/libc.abilist | 1 + > sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist | 1 + > 37 files changed, 46 insertions(+), 3 deletions(-) > > diff --git a/NEWS b/NEWS > index c28cc28b52..d882d46842 100644 > --- a/NEWS > +++ b/NEWS > @@ -9,9 +9,9 @@ Version 2.36 > > Major new features: > > -* On Linux, the pidfd_open and pidfd_getfd functions have been added. > - The pidfd functionality help to solve the issue of PID reuse in Unix > - systems. > +* On Linux, the pidfd_open, pidfd_getfd, and pidfd_send_signal functions > + have been added. The pidfd functionality help to solve the issue of PID > + reuse in Unix systems. OK. Modulo patch 1 suggestion. > > Deprecated and removed features, and other changes affecting compatibility: > > diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions > index 78912c0484..694c64a5bc 100644 > --- a/sysdeps/unix/sysv/linux/Versions > +++ b/sysdeps/unix/sysv/linux/Versions > @@ -302,6 +302,7 @@ libc { > GLIBC_2.36 { > pidfd_open; > pidfd_getfd; > + pidfd_send_signal; OK. > } > GLIBC_PRIVATE { > # functions used in other libraries > diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist > index 1acaa31519..7602129631 100644 > --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist > @@ -2618,3 +2618,4 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist > index fa2018b88a..5b39d6023c 100644 > --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist > +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist > @@ -2715,6 +2715,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 _IO_fprintf F > GLIBC_2.4 _IO_printf F > GLIBC_2.4 _IO_sprintf F > diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist > index 4ed3f76c4f..e413302f2e 100644 > --- a/sysdeps/unix/sysv/linux/arc/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist > @@ -2379,3 +2379,4 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > index edc7cf524e..ade1b93d13 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > @@ -498,6 +498,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 _Exit F > GLIBC_2.4 _IO_2_1_stderr_ D 0xa0 > GLIBC_2.4 _IO_2_1_stdin_ D 0xa0 > diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > index 6554476cd2..10e91537fa 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > @@ -495,6 +495,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 _Exit F > GLIBC_2.4 _IO_2_1_stderr_ D 0xa0 > GLIBC_2.4 _IO_2_1_stdin_ D 0xa0 > diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist > index 201ec9a966..22618c7aaa 100644 > --- a/sysdeps/unix/sysv/linux/csky/libc.abilist > +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist > @@ -2654,3 +2654,4 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist > index 116369f238..e2aea90c74 100644 > --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist > @@ -2603,6 +2603,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist > index 2c5aea2d0d..29ecca26bb 100644 > --- a/sysdeps/unix/sysv/linux/i386/libc.abilist > +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist > @@ -2787,6 +2787,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist > index 4bb67cc684..69a2ca2391 100644 > --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist > @@ -2553,6 +2553,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > index dbe82628b0..23cc4ddd8a 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > @@ -499,6 +499,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 _Exit F > GLIBC_2.4 _IO_2_1_stderr_ D 0x98 > GLIBC_2.4 _IO_2_1_stdin_ D 0x98 > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > index e42d47632e..2d1d8a3d0c 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > @@ -2730,6 +2730,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > index 0b79ff3a37..7b6e88bdb9 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > @@ -2703,3 +2703,4 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > index d2f0713d1f..155c974790 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > @@ -2700,3 +2700,4 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > index 382852234f..7a811120ea 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > @@ -2695,6 +2695,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > index cb02b6df77..7d28dca5c1 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > @@ -2693,6 +2693,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > index 7e62a8b7fc..41790f0d63 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > @@ -2701,6 +2701,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > index 63840726fe..9c15006c12 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > @@ -2604,6 +2604,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist > index e4608208a8..27c0498b60 100644 > --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist > @@ -2742,3 +2742,4 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > diff --git a/sysdeps/unix/sysv/linux/or1k/libc.abilist b/sysdeps/unix/sysv/linux/or1k/libc.abilist > index 97c37b3f52..e500d4756f 100644 > --- a/sysdeps/unix/sysv/linux/or1k/libc.abilist > +++ b/sysdeps/unix/sysv/linux/or1k/libc.abilist > @@ -2125,3 +2125,4 @@ GLIBC_2.35 writev F > GLIBC_2.35 wscanf F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > index 0d017c3119..adb21db204 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > @@ -2757,6 +2757,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 _IO_fprintf F > GLIBC_2.4 _IO_printf F > GLIBC_2.4 _IO_sprintf F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > index 5e61dfbd78..28a08c4afb 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > @@ -2790,6 +2790,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 _IO_fprintf F > GLIBC_2.4 _IO_printf F > GLIBC_2.4 _IO_sprintf F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > index a7ddc5022e..98c5f3e61c 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > @@ -2512,6 +2512,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 _IO_fprintf F > GLIBC_2.4 _IO_printf F > GLIBC_2.4 _IO_sprintf F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > index 78117f1dea..31e5aa90cd 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > @@ -2814,3 +2814,4 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > index 8d935d09aa..87d90bf668 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > @@ -2381,3 +2381,4 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > index f373fa0e25..b4a8f56aa2 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > @@ -2581,3 +2581,4 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > index 33a00c0a03..e4a58cc145 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > @@ -2755,6 +2755,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 _IO_fprintf F > GLIBC_2.4 _IO_printf F > GLIBC_2.4 _IO_sprintf F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > index 32c3e171ad..ef0f0c3fa1 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > @@ -2549,6 +2549,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 _IO_fprintf F > GLIBC_2.4 _IO_printf F > GLIBC_2.4 _IO_sprintf F > diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > index acc7b4a3b7..603d50668f 100644 > --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > @@ -2610,6 +2610,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > index 10c0727830..078cdf05a7 100644 > --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > @@ -2607,6 +2607,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > index 1c389b2fa9..735505ac51 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > @@ -2750,6 +2750,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 _IO_fprintf F > GLIBC_2.4 _IO_printf F > GLIBC_2.4 _IO_sprintf F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > index 4c49c781e0..48df7952cd 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > @@ -2576,6 +2576,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/sys/pidfd.h b/sysdeps/unix/sysv/linux/sys/pidfd.h > index 7194fc2a14..7bbc5e4863 100644 > --- a/sysdeps/unix/sysv/linux/sys/pidfd.h > +++ b/sysdeps/unix/sysv/linux/sys/pidfd.h > @@ -38,4 +38,12 @@ extern int pidfd_open (__pid_t __pid, unsigned int __flags) __THROW; > extern int pidfd_getfd (int __pidfd, int __targetfd, > unsigned int __flags) __THROW; > > +/* Sends the signal SIG to the target process referred by the PIDFD. If > + INFO points to a siginfo_t buffer, it will be populated. > + > + The FLAGS argument is reserved for future use, it must be specified > + as 0. */ > +extern int pidfd_send_signal (int __pidfd, int __sig, siginfo_t *__info, > + unsigned int __flags) __THROW; OK. > + > #endif /* _PIDFD_H */ > diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list > index 5dd7a12b76..d9653bb433 100644 > --- a/sysdeps/unix/sysv/linux/syscalls.list > +++ b/sysdeps/unix/sysv/linux/syscalls.list > @@ -42,6 +42,7 @@ pipe2 - pipe2 i:fi __pipe2 pipe2 > pidfd_open EXTRA pidfd_open i:iU pidfd_open > pidfd_getfd EXTRA pidfd_getfd i:iiU pidfd_getfd > pivot_root EXTRA pivot_root i:ss pivot_root > +pidfd_send_signal EXTRA pidfd_send_signal i:iiPU pidfd_send_signal OK. > query_module EXTRA query_module i:sipip __compat_query_module query_module@GLIBC_2.0:GLIBC_2.23 > quotactl EXTRA quotactl i:isip quotactl > remap_file_pages - remap_file_pages i:pUiUi __remap_file_pages remap_file_pages > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > index cef6e65933..1629fb7762 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > @@ -2527,6 +2527,7 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > index 4ac98b6823..ee9674ff75 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > @@ -2633,3 +2633,4 @@ GLIBC_2.35 epoll_pwait2 F > GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F > GLIBC_2.36 pidfd_getfd F > GLIBC_2.36 pidfd_open F > +GLIBC_2.36 pidfd_send_signal F -- Cheers, Carlos.