[{"id":1761400,"web_url":"http://patchwork.ozlabs.org/comment/1761400/","msgid":"<4e67b95d-4d6c-23da-9ef3-768de153e128@redhat.com>","list_archive_url":null,"date":"2017-09-01T00:28:13","subject":"Re: [PATCH] linux: Implement tmpfile with O_TMPFILE (BZ#21530)","submitter":{"id":22438,"url":"http://patchwork.ozlabs.org/api/people/22438/","name":"Carlos O'Donell","email":"carlos@redhat.com"},"content":"On 08/31/2017 03:34 PM, Adhemerval Zanella wrote:\n> This patch adds support to use O_TMPFILE on tmpfile on Linux.  This is\n> similar previous suggestion by Andreas Schwab [1] with the difference\n> the file descriptor creation is parameterized to compartmentalize Linux\n> only open flags (O_TMPFILE) on sysdep folder.\n> \n> Checked on x86_64-linux-gnu.\n> \n> \tAdhemerval Zanella  <adhemerval.zanella@linaro.org>\n> \tAndreas Schwab  <schwab@suse.de>\n> \n> \t[BZ #21530]\n> \t* include/stdio.h (__gen_tempfd): New function.\n> \t* stdio-common/Makefile (routines): Add gentempfd.\n> \t* stdio-common/gentempfd.c: New file.\n> \t* sysdeps/unix/sysv/linux/gentempfd.c: Likewise.\n> \t* stdio-common/tmpfile.c (tmpfile): First try to use a system specific\n> \tunnamed file first.\n\nLooks good to me.\n\n> [1] https://sourceware.org/ml/libc-alpha/2017-06/msg01293.html\n> ---\n>  ChangeLog                           | 11 +++++++++++\n>  include/stdio.h                     |  3 +++\n>  stdio-common/Makefile               |  2 +-\n>  stdio-common/gentempfd.c            | 26 ++++++++++++++++++++++++++\n>  stdio-common/tmpfile.c              | 29 ++++++++++++++++++++---------\n>  sysdeps/unix/sysv/linux/gentempfd.c | 34 ++++++++++++++++++++++++++++++++++\n>  6 files changed, 95 insertions(+), 10 deletions(-)\n>  create mode 100644 stdio-common/gentempfd.c\n>  create mode 100644 sysdeps/unix/sysv/linux/gentempfd.c\n> \n> diff --git a/include/stdio.h b/include/stdio.h\n> index 509447c..87e0e10 100644\n> --- a/include/stdio.h\n> +++ b/include/stdio.h\n> @@ -191,5 +191,8 @@ libc_hidden_proto (__obstack_vprintf_chk)\n>  extern FILE * __fmemopen (void *buf, size_t len, const char *mode);\n>  libc_hidden_proto (__fmemopen)\n>  \n> +extern int __gen_tempfd (int flags);\n> +libc_hidden_proto (__gen_tempfd)\n\nOK.\n\n> +\n>  # endif /* not _ISOMAC */\n>  #endif /* stdio.h */\n> diff --git a/stdio-common/Makefile b/stdio-common/Makefile\n> index 397e0c2..2c3c2e5 100644\n> --- a/stdio-common/Makefile\n> +++ b/stdio-common/Makefile\n> @@ -39,7 +39,7 @@ routines\t:=\t\t\t\t\t\t\t      \\\n>  \tflockfile ftrylockfile funlockfile\t\t\t\t      \\\n>  \tisoc99_scanf isoc99_vscanf isoc99_fscanf isoc99_vfscanf isoc99_sscanf \\\n>  \tisoc99_vsscanf\t\t\t\t\t\t\t      \\\n> -\tpsiginfo\n> +\tpsiginfo gentempfd\n\nOK.\n\n>  \n>  aux\t:= errlist siglist printf-parsemb printf-parsewc fxprintf\n>  \n> diff --git a/stdio-common/gentempfd.c b/stdio-common/gentempfd.c\n> new file mode 100644\n> index 0000000..d40c57d\n> --- /dev/null\n> +++ b/stdio-common/gentempfd.c\n> @@ -0,0 +1,26 @@\n> +/* Generate a temporary file descriptor.  Generic/POSIX version.\n> +   Copyright (C) 2017 Free Software Foundation, Inc.\n> +   This file is part of the GNU C Library.\n> +\n> +   The GNU C Library is free software; you can redistribute it and/or\n> +   modify it under the terms of the GNU Lesser General Public\n> +   License as published by the Free Software Foundation; either\n> +   version 2.1 of the License, or (at your option) any later version.\n> +\n> +   The GNU C Library is distributed in the hope that it will be useful,\n> +   but WITHOUT ANY WARRANTY; without even the implied warranty of\n> +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n> +   Lesser General Public License for more details.\n> +\n> +   You should have received a copy of the GNU Lesser General Public\n> +   License along with the GNU C Library; if not, see\n> +   <http://www.gnu.org/licenses/>.  */\n> +\n> +#include <stdio.h>\n> +\n> +int\n> +__gen_tempfd (int flags)\n> +{\n> +  return -1;\n> +}\n\nOK.\n\n> +libc_hidden_def (__gen_tempfd)\n> diff --git a/stdio-common/tmpfile.c b/stdio-common/tmpfile.c\n> index e6030be..3e35345 100644\n> --- a/stdio-common/tmpfile.c\n> +++ b/stdio-common/tmpfile.c\n> @@ -34,23 +34,34 @@\n>  FILE *\n>  tmpfile (void)\n>  {\n> -  char buf[FILENAME_MAX];\n>    int fd;\n>    FILE *f;\n> -\n> -  if (__path_search (buf, FILENAME_MAX, NULL, \"tmpf\", 0))\n> -    return NULL;\n>    int flags = 0;\n>  #ifdef FLAGS\n>    flags = FLAGS;\n>  #endif\n> -  fd = __gen_tempname (buf, 0, flags, __GT_FILE);\n> +\n> +  /* First try a system specific method.  */\n> +  fd = __gen_tempfd (flags);\n> +\n\nOK.\n\n>    if (fd < 0)\n> -    return NULL;\n> +    {\n> +      char buf[FILENAME_MAX];\n>  \n> -  /* Note that this relies on the Unix semantics that\n> -     a file is not really removed until it is closed.  */\n> -  (void) __unlink (buf);\n> +      if (__path_search (buf, sizeof buf, NULL, \"tmpf\", 0))\n> +\treturn NULL;\n> +\n> +      fd = __gen_tempname (buf, 0, flags, __GT_FILE);\n> +      if (fd < 0)\n> +\treturn NULL;\n> +\n> +      /* Note that this relies on the Unix semantics that\n> +\t a file is not really removed until it is closed.  */\n> +      (void) __unlink (buf);\n\nOK.\n\n> +    }\n> +\n> +  if (fd < 0)\n> +    return NULL;\n>  \n>    if ((f = __fdopen (fd, \"w+b\")) == NULL)\n>      __close (fd);\n> diff --git a/sysdeps/unix/sysv/linux/gentempfd.c b/sysdeps/unix/sysv/linux/gentempfd.c\n> new file mode 100644\n> index 0000000..902cbe2\n> --- /dev/null\n> +++ b/sysdeps/unix/sysv/linux/gentempfd.c\n> @@ -0,0 +1,34 @@\n> +/* Generate a temporary file descriptor.  Linux version.\n> +   Copyright (C) 2017 Free Software Foundation, Inc.\n> +   This file is part of the GNU C Library.\n> +\n> +   The GNU C Library is free software; you can redistribute it and/or\n> +   modify it under the terms of the GNU Lesser General Public\n> +   License as published by the Free Software Foundation; either\n> +   version 2.1 of the License, or (at your option) any later version.\n> +\n> +   The GNU C Library is distributed in the hope that it will be useful,\n> +   but WITHOUT ANY WARRANTY; without even the implied warranty of\n> +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n> +   Lesser General Public License for more details.\n> +\n> +   You should have received a copy of the GNU Lesser General Public\n> +   License along with the GNU C Library; if not, see\n> +   <http://www.gnu.org/licenses/>.  */\n> +\n> +#include <stdio.h>\n> +#include <fcntl.h>\n> +#include <errno.h>\n> +\n> +int\n> +__gen_tempfd (int flags)\n> +{\n> +  int fd = __open (P_tmpdir, O_RDWR | O_TMPFILE | O_EXCL | flags,\n\nOK.\n\nI assume we don't care that on < 3.11 this will consistently fail,\nor < 3.15 (XFS) or < 3.16 (BTRFS).\n\nWe might have remembered that failure and avoided the open(), but\nthen again one open() is not that costly in a long sequence of syscalls\nthat are going to create a temporary file.\n\n> +\t\t   S_IRUSR | S_IWUSR);\n> +  if (fd < 0 && errno == ENOENT && strcmp (P_tmpdir, \"/tmp\") != 0)\n> +    fd = __open (\"/tmp\", O_RDWR | O_TMPFILE | O_EXCL | flags,\n> +\t\t S_IRUSR | S_IWUSR);\n> +\n> +  return fd;\n> +}\n> +libc_hidden_def (__gen_tempfd)\n>","headers":{"Return-Path":"<libc-alpha-return-84002-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84002-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"WNaCs258\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xk0TQ6Qb3z9s81\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  1 Sep 2017 10:28:26 +1000 (AEST)","(qmail 63793 invoked by alias); 1 Sep 2017 00:28:20 -0000","(qmail 63702 invoked by uid 89); 1 Sep 2017 00:28:20 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=Pd7vjXqgE31Msc6X\n\teiue7J+38h0HZW/dO6iuUHKBYfmCUYgp4jD/FwK2qr2ZJ7GaVsbSxywdTXyyA7TK\n\tcP6J9FpWNWHrzYgLxucrmDxVmb1kbbM9LoIXmiLdhZz9t19QxLdmhZoYELBfA8V5\n\tGL65fJAvKxSDvaSx7GynPQ6KUjo=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=hWuuRpOspFmJR+ne0EWfdp\n\tKdlQc=; b=WNaCs258OPeogCNAOKPThke7zBpRmmNulEfeYNhoD0hjjq/4bBKqXs\n\tKqqzmuu60VwTsazsuPiG+TKtCkZhp5dYQbQsNszRe2FNt4DUuVgu3bufzQv9n+By\n\tOPPIt2zx9yASlkAGEgc74ulxASvCyMoPbcRyGmx5wdOZ43NPHnS64=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-23.2 required=5.0 tests=AWL, BAYES_00,\n\tGIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3,\n\tKAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_NONE,\n\tRCVD_IN_SORBS_SPAM autolearn=ham version=3.3.2 spammy=3.11,\n\tH*M:23da, remembered","X-HELO":"mail-qk0-f170.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:references:from:organization\n\t:message-id:date:user-agent:mime-version:in-reply-to\n\t:content-language:content-transfer-encoding;\n\tbh=PBS/XO3vJCaB/CvE9PdLCfdyUGVCOM8Kcu365e9V/Gc=;\n\tb=XZbADUFK7X6XZLG7RtP5YuqojH/7X8Ot7/Jgbvwd6EaZu8s4JTFePiVi4XqGKMEpMu\n\t07Hi8PvUwxmAbWwD1CbWgn3ArSCLSDcKTs3Hwnrg1eN51NlS3ADHFOQKYLSiHI7efCRL\n\txOrcuFMoumSG8IFWcQDVVLkMgfv+WlRQ6PnXYpgolbRdwgTB4PEow9hzfJMeG/RIVApw\n\tcVcXav9WYqBD0Pig/YR+1SN/q1jwT2mdaw6BI3oIE1WNhq1/VuocxnVlavKCHSlTYJmX\n\t5gsj0qng5TrStxQSglw+tuwg9tGJD/VmhPIASmklQe+2q1mGF+ajw9gVYLGEH/pUEem6\n\tSdpQ==","X-Gm-Message-State":"AHPjjUh0ZoESX0YSUeyjDR9dG9J0dkNByMmmMWeUaWbku22xNZ8gG8Pm\n\tuZxNWTACkweJ7BVtvSlOig==","X-Google-Smtp-Source":"ADKCNb69FXyPckOC9M5d5rtldwl70Eexv95wOFIeadKW490w3dLWBigx8LDBRt6ap/8ng4YMP76tZg==","X-Received":"by 10.55.18.67 with SMTP id c64mr326054qkh.10.1504225696241;\n\tThu, 31 Aug 2017 17:28:16 -0700 (PDT)","Subject":"Re: [PATCH] linux: Implement tmpfile with O_TMPFILE (BZ#21530)","To":"Adhemerval Zanella <adhemerval.zanella@linaro.org>,\n\tlibc-alpha@sourceware.org","References":"<1504211656-9263-1-git-send-email-adhemerval.zanella@linaro.org>","From":"Carlos O'Donell <carlos@redhat.com>","Message-ID":"<4e67b95d-4d6c-23da-9ef3-768de153e128@redhat.com>","Date":"Thu, 31 Aug 2017 19:28:13 -0500","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<1504211656-9263-1-git-send-email-adhemerval.zanella@linaro.org>","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"7bit"}},{"id":1761411,"web_url":"http://patchwork.ozlabs.org/comment/1761411/","msgid":"<20170901003910.GA24513@altlinux.org>","list_archive_url":null,"date":"2017-09-01T00:39:10","subject":"Re: [PATCH] linux: Implement tmpfile with O_TMPFILE (BZ#21530)","submitter":{"id":16038,"url":"http://patchwork.ozlabs.org/api/people/16038/","name":"Dmitry V. Levin","email":"ldv@altlinux.org"},"content":"On Thu, Aug 31, 2017 at 05:34:16PM -0300, Adhemerval Zanella wrote:\n> This patch adds support to use O_TMPFILE on tmpfile on Linux.  This is\n\n... adds O_TMPFILE support to tmpfile on Linux.\n\n> similar previous suggestion by Andreas Schwab [1] with the difference\n\nsimilar to the previous ... with the difference that\n\n> the file descriptor creation is parameterized to compartmentalize Linux\n> only open flags (O_TMPFILE) on sysdep folder.\n\n... into sysdeps.\n\n[...]\n> diff --git a/stdio-common/tmpfile.c b/stdio-common/tmpfile.c\n> index e6030be..3e35345 100644\n> --- a/stdio-common/tmpfile.c\n> +++ b/stdio-common/tmpfile.c\n> @@ -34,23 +34,34 @@\n>  FILE *\n>  tmpfile (void)\n>  {\n> -  char buf[FILENAME_MAX];\n>    int fd;\n>    FILE *f;\n> -\n> -  if (__path_search (buf, FILENAME_MAX, NULL, \"tmpf\", 0))\n> -    return NULL;\n>    int flags = 0;\n>  #ifdef FLAGS\n>    flags = FLAGS;\n>  #endif\n> -  fd = __gen_tempname (buf, 0, flags, __GT_FILE);\n> +\n> +  /* First try a system specific method.  */\n> +  fd = __gen_tempfd (flags);\n> +\n>    if (fd < 0)\n> -    return NULL;\n> +    {\n> +      char buf[FILENAME_MAX];\n>  \n> -  /* Note that this relies on the Unix semantics that\n> -     a file is not really removed until it is closed.  */\n> -  (void) __unlink (buf);\n> +      if (__path_search (buf, sizeof buf, NULL, \"tmpf\", 0))\n> +\treturn NULL;\n> +\n> +      fd = __gen_tempname (buf, 0, flags, __GT_FILE);\n> +      if (fd < 0)\n> +\treturn NULL;\n> +\n> +      /* Note that this relies on the Unix semantics that\n> +\t a file is not really removed until it is closed.  */\n> +      (void) __unlink (buf);\n> +    }\n> +\n> +  if (fd < 0)\n> +    return NULL;\n\nThe last \"if (fd < 0)\" check is redundant.","headers":{"Return-Path":"<libc-alpha-return-84003-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84003-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"Af7CfeG0\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xk0k044SDz9s7F\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  1 Sep 2017 10:39:20 +1000 (AEST)","(qmail 18934 invoked by alias); 1 Sep 2017 00:39:15 -0000","(qmail 18884 invoked by uid 89); 1 Sep 2017 00:39:14 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:subject:message-id:references\n\t:mime-version:content-type:in-reply-to; q=dns; s=default; b=qULb\n\tTZlQFgzKggmLKQHwJdgkdyM/el5hDpR+C29CYRvLpFRG1iFJaN9B/6M8ol0iqy26\n\txy8hJwqU+wThsLOnead/8hG392FKdvUCW6r0Vqn/eKF2YwNu1ksQ9fY7ZSFxMol6\n\tC4TS59RmXUbD3KsdjUOuVIHuq4b7zv5whWb7SYo=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:subject:message-id:references\n\t:mime-version:content-type:in-reply-to; s=default; bh=WqaILpfIqs\n\toHZc2Y38f9yaoJxIY=; b=Af7CfeG0ZNy2G8HUbFGGe1R05MiKgERnzfQ7FpkzqA\n\tFDzW5ENjVoc0qsRQp5Uz5Ooq3KOUX08GJ5P0Nro0MpGsqVho5gkOAsV6Ly3AeQ76\n\t3IfF20IPLNkDwvGruHaEqATy2fYe+C8owNK+2zCshi8Uu8NCy6J2cCecmbUF0ksH\n\to=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-24.7 required=5.0 tests=AWL, BAYES_00,\n\tGIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3,\n\tRP_MATCHES_RCVD,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=H*r:508,\n\tHx-languages-length:1671, H*c:application","X-HELO":"vmicros1.altlinux.org","Date":"Fri, 1 Sep 2017 03:39:10 +0300","From":"\"Dmitry V. Levin\" <ldv@altlinux.org>","To":"libc-alpha@sourceware.org","Subject":"Re: [PATCH] linux: Implement tmpfile with O_TMPFILE (BZ#21530)","Message-ID":"<20170901003910.GA24513@altlinux.org>","Mail-Followup-To":"libc-alpha@sourceware.org","References":"<1504211656-9263-1-git-send-email-adhemerval.zanella@linaro.org>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha256;\n\tprotocol=\"application/pgp-signature\"; boundary=\"gKMricLos+KVdGMg\"","Content-Disposition":"inline","In-Reply-To":"<1504211656-9263-1-git-send-email-adhemerval.zanella@linaro.org>"}},{"id":1761657,"web_url":"http://patchwork.ozlabs.org/comment/1761657/","msgid":"<173b62ac-d9aa-b594-3ffb-7f64bcd86d51@linaro.org>","list_archive_url":null,"date":"2017-09-01T12:53:53","subject":"Re: [PATCH] linux: Implement tmpfile with O_TMPFILE (BZ#21530)","submitter":{"id":66065,"url":"http://patchwork.ozlabs.org/api/people/66065/","name":"Adhemerval Zanella Netto","email":"adhemerval.zanella@linaro.org"},"content":"On 31/08/2017 21:39, Dmitry V. Levin wrote:\n> On Thu, Aug 31, 2017 at 05:34:16PM -0300, Adhemerval Zanella wrote:\n>> This patch adds support to use O_TMPFILE on tmpfile on Linux.  This is\n> \n> ... adds O_TMPFILE support to tmpfile on Linux.\n\nAck.\n\n> \n>> similar previous suggestion by Andreas Schwab [1] with the difference\n> \n> similar to the previous ... with the difference that\n\nAck.\n\n> \n>> the file descriptor creation is parameterized to compartmentalize Linux\n>> only open flags (O_TMPFILE) on sysdep folder.\n> \n> ... into sysdeps.\n\nAck.\n\n> \n> [...]\n>> diff --git a/stdio-common/tmpfile.c b/stdio-common/tmpfile.c\n>> index e6030be..3e35345 100644\n>> --- a/stdio-common/tmpfile.c\n>> +++ b/stdio-common/tmpfile.c\n>> @@ -34,23 +34,34 @@\n>>  FILE *\n>>  tmpfile (void)\n>>  {\n>> -  char buf[FILENAME_MAX];\n>>    int fd;\n>>    FILE *f;\n>> -\n>> -  if (__path_search (buf, FILENAME_MAX, NULL, \"tmpf\", 0))\n>> -    return NULL;\n>>    int flags = 0;\n>>  #ifdef FLAGS\n>>    flags = FLAGS;\n>>  #endif\n>> -  fd = __gen_tempname (buf, 0, flags, __GT_FILE);\n>> +\n>> +  /* First try a system specific method.  */\n>> +  fd = __gen_tempfd (flags);\n>> +\n>>    if (fd < 0)\n>> -    return NULL;\n>> +    {\n>> +      char buf[FILENAME_MAX];\n>>  \n>> -  /* Note that this relies on the Unix semantics that\n>> -     a file is not really removed until it is closed.  */\n>> -  (void) __unlink (buf);\n>> +      if (__path_search (buf, sizeof buf, NULL, \"tmpf\", 0))\n>> +\treturn NULL;\n>> +\n>> +      fd = __gen_tempname (buf, 0, flags, __GT_FILE);\n>> +      if (fd < 0)\n>> +\treturn NULL;\n>> +\n>> +      /* Note that this relies on the Unix semantics that\n>> +\t a file is not really removed until it is closed.  */\n>> +      (void) __unlink (buf);\n>> +    }\n>> +\n>> +  if (fd < 0)\n>> +    return NULL;\n> \n> The last \"if (fd < 0)\" check is redundant.\n\nAck.  I fixed the commit wording and removed the redundant tests, thanks.","headers":{"Return-Path":"<libc-alpha-return-84013-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84013-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"KcJsoe1X\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xkK1s3474z9s7c\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  1 Sep 2017 22:54:09 +1000 (AEST)","(qmail 47268 invoked by alias); 1 Sep 2017 12:54:03 -0000","(qmail 46170 invoked by uid 89); 1 Sep 2017 12:54:02 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=XTNdSdCw+svFssEt\n\tWdpGIcw+Je0RffeWUaVhsTKgPNdk3Hdru4wsSySkjmTyfof8qJgh1Fo/3rmWrMTT\n\ti5vJD1RZ6UIuM3poUErhJbWZRwXDXG0t6CoL9q+YiXMHVfdASxZsPC1DawZ5EdMf\n\tQh496RDtuPyYbSFi7jD8wsT0FQA=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=XqPFuDE++X6TO7JULXdMbC\n\terX4o=; b=KcJsoe1XEar+6N/J5AFdcfA6dAvqjn1VQjCDFiX+pHdJ0tStx1MKg8\n\tO2jiJy0jhTh/TNKuNQiWDcXl580zwj77ab3MISCk4KgI1eJ9bohxanEH/OBPTNO+\n\tcTVsWLgxKox+pSbtS718pQQtr4SnPHLKLZVn04Kse6AyxM+/vX1P8=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-27.1 required=5.0 tests=BAYES_00, GIT_PATCH_0,\n\tGIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_LOW,\n\tRCVD_IN_SORBS_SPAM,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=","X-HELO":"mail-qt0-f182.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=XSr3WQsQyba3kqZ5pxb5UbVk3fV1+dxkmPHPk2wAabM=;\n\tb=kXyFGd8Cje0gAflmphxw5D7kKokW7vD9m/ql9JJ2vdneYJ1qNYlj8KJnB+V3pmS8jA\n\thIXrNf/2aUc3G8EbQEgJiBOZ9x/JDNJHChJU0L3zyhbDgNWs09AQ1Dg9T/FLDmntmDzU\n\tto++eB7SzOQmkb5DR9aljMeS0klLDtTJW5By7i9AQV+ezPKS6A21fvAdrAxGTvO1DKKf\n\t6P/rN8iO/KzFtO50+HOoXlvRQeU9PUuX/2d9k3joAC8gU0ijd/JnQFToVYoHnArD19Yd\n\tbK9hlOY+LDdjK9noYKtjhlZsxGxMD+qkiXGe5Fx23IufJx1XTPtbG94y6SNmmwyzBgbE\n\tomMQ==","X-Gm-Message-State":"AHPjjUhzbzQVyTS0t2spa/G8aVGI/X/Qi+ygy10yxX/nF75XNRwNB20m\n\tab7UExt5azQVBGi/pkCgoA==","X-Google-Smtp-Source":"ADKCNb4D473ZtZv4qVjjDxVtKAyxZQtbvek9tnB2KYWjbBg/dV2xkUMqH/xNs5+6ecLvfLhwgDUnAA==","X-Received":"by 10.237.35.170 with SMTP id j39mr2639214qtc.118.1504270438687; \n\tFri, 01 Sep 2017 05:53:58 -0700 (PDT)","Subject":"Re: [PATCH] linux: Implement tmpfile with O_TMPFILE (BZ#21530)","To":"libc-alpha@sourceware.org","References":"<1504211656-9263-1-git-send-email-adhemerval.zanella@linaro.org>\n\t<20170901003910.GA24513@altlinux.org>","From":"Adhemerval Zanella <adhemerval.zanella@linaro.org>","Message-ID":"<173b62ac-d9aa-b594-3ffb-7f64bcd86d51@linaro.org>","Date":"Fri, 1 Sep 2017 09:53:53 -0300","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<20170901003910.GA24513@altlinux.org>","Content-Type":"text/plain; charset=windows-1252","Content-Transfer-Encoding":"8bit"}},{"id":1761849,"web_url":"http://patchwork.ozlabs.org/comment/1761849/","msgid":"<alpine.DEB.2.20.1709011715210.25426@digraph.polyomino.org.uk>","list_archive_url":null,"date":"2017-09-01T17:16:15","subject":"Re: [PATCH] linux: Implement tmpfile with O_TMPFILE (BZ#21530)","submitter":{"id":4349,"url":"http://patchwork.ozlabs.org/api/people/4349/","name":"Joseph Myers","email":"joseph@codesourcery.com"},"content":"Fix committed for build breakage this caused on many architectures \n(\"implicit declaration of function 'strcmp'\").\n\nhttps://sourceware.org/ml/libc-testresults/2017-q3/msg00372.html\n\ndiff --git a/ChangeLog b/ChangeLog\nindex fccac95..5c5dd35 100644\n--- a/ChangeLog\n+++ b/ChangeLog\n@@ -1,3 +1,7 @@\n+2017-09-01  Joseph Myers  <joseph@codesourcery.com>\n+\n+\t* sysdeps/unix/sysv/linux/gentempfd.c: Include <string.h>.\n+\n 2017-09-01  H.J. Lu  <hongjiu.lu@intel.com>\n \n \t* csu/version.c (banner): Remove \"by Roland McGrath et al.\".\ndiff --git a/sysdeps/unix/sysv/linux/gentempfd.c b/sysdeps/unix/sysv/linux/gentempfd.c\nindex 902cbe2..ff3a649 100644\n--- a/sysdeps/unix/sysv/linux/gentempfd.c\n+++ b/sysdeps/unix/sysv/linux/gentempfd.c\n@@ -19,6 +19,7 @@\n #include <stdio.h>\n #include <fcntl.h>\n #include <errno.h>\n+#include <string.h>\n \n int\n __gen_tempfd (int flags)","headers":{"Return-Path":"<libc-alpha-return-84035-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84035-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"ZYCWpNqo\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xkQrh62H1z9t2x\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat,  2 Sep 2017 03:16:36 +1000 (AEST)","(qmail 116049 invoked by alias); 1 Sep 2017 17:16:30 -0000","(qmail 116019 invoked by uid 89); 1 Sep 2017 17:16:30 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:in-reply-to:message-id\n\t:references:mime-version:content-type; q=dns; s=default; b=sPE4a\n\tOGfo12rEMEFNIvTl+DPGcN8qo5b6CjFW+1UNwONbgybXYrQfduj6eYs6t/Lw9y02\n\teIPkq+qCaot+1NNpjyj6m0a9Q4bM18PGfVwtaYcA93ss5cl6cgUmc1vR9qfnE2rA\n\tIk6IssuBPjcAXpjIw9ognOz4nTAMpH43+C0iGE=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:in-reply-to:message-id\n\t:references:mime-version:content-type; s=default; bh=VeplpCPy03R\n\tHePec4zRHPptmQhM=; b=ZYCWpNqo5CrDhmDY117877iXZiXzf9z+VoZCz7cyBHe\n\t1KcYA463n1MmYaFxl1I/N3SUMEer91UDoP0x1ts8o1TrvXAHZC0waYsktEx3Jak+\n\tT/djt8eOWi3G5viPovigzsrIvxBbF6iN/k2d0bnHqev7IsarsHiHnmEItqnMjl1U\n\t=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-24.5 required=5.0 tests=AWL, BAYES_00,\n\tGIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3,\n\tRCVD_IN_DNSWL_NONE, SPF_PASS,\n\tURIBL_RED autolearn=ham version=3.3.2 spammy=","X-HELO":"relay1.mentorg.com","Date":"Fri, 1 Sep 2017 17:16:15 +0000","From":"Joseph Myers <joseph@codesourcery.com>","To":"Adhemerval Zanella <adhemerval.zanella@linaro.org>","CC":"<libc-alpha@sourceware.org>","Subject":"Re: [PATCH] linux: Implement tmpfile with O_TMPFILE (BZ#21530)","In-Reply-To":"<173b62ac-d9aa-b594-3ffb-7f64bcd86d51@linaro.org>","Message-ID":"<alpine.DEB.2.20.1709011715210.25426@digraph.polyomino.org.uk>","References":"<1504211656-9263-1-git-send-email-adhemerval.zanella@linaro.org>\n\t<20170901003910.GA24513@altlinux.org>\n\t<173b62ac-d9aa-b594-3ffb-7f64bcd86d51@linaro.org>","User-Agent":"Alpine 2.20 (DEB 67 2015-01-07)","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"US-ASCII\"","X-ClientProxiedBy":"svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To\n\tsvr-ies-mbx-01.mgc.mentorg.com (139.181.222.1)"}},{"id":1761874,"web_url":"http://patchwork.ozlabs.org/comment/1761874/","msgid":"<88f4c771-d331-04f4-1d73-fc9798770c65@linaro.org>","list_archive_url":null,"date":"2017-09-01T17:42:06","subject":"Re: [PATCH] linux: Implement tmpfile with O_TMPFILE (BZ#21530)","submitter":{"id":66065,"url":"http://patchwork.ozlabs.org/api/people/66065/","name":"Adhemerval Zanella Netto","email":"adhemerval.zanella@linaro.org"},"content":"Thanks for catching it.\n\nOn 01/09/2017 14:16, Joseph Myers wrote:\n> Fix committed for build breakage this caused on many architectures \n> (\"implicit declaration of function 'strcmp'\").\n> \n> https://sourceware.org/ml/libc-testresults/2017-q3/msg00372.html\n> \n> diff --git a/ChangeLog b/ChangeLog\n> index fccac95..5c5dd35 100644\n> --- a/ChangeLog\n> +++ b/ChangeLog\n> @@ -1,3 +1,7 @@\n> +2017-09-01  Joseph Myers  <joseph@codesourcery.com>\n> +\n> +\t* sysdeps/unix/sysv/linux/gentempfd.c: Include <string.h>.\n> +\n>  2017-09-01  H.J. Lu  <hongjiu.lu@intel.com>\n>  \n>  \t* csu/version.c (banner): Remove \"by Roland McGrath et al.\".\n> diff --git a/sysdeps/unix/sysv/linux/gentempfd.c b/sysdeps/unix/sysv/linux/gentempfd.c\n> index 902cbe2..ff3a649 100644\n> --- a/sysdeps/unix/sysv/linux/gentempfd.c\n> +++ b/sysdeps/unix/sysv/linux/gentempfd.c\n> @@ -19,6 +19,7 @@\n>  #include <stdio.h>\n>  #include <fcntl.h>\n>  #include <errno.h>\n> +#include <string.h>\n>  \n>  int\n>  __gen_tempfd (int flags)\n>","headers":{"Return-Path":"<libc-alpha-return-84042-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84042-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"uNViD+Gd\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xkRQN60m7z9t2x\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat,  2 Sep 2017 03:42:20 +1000 (AEST)","(qmail 60518 invoked by alias); 1 Sep 2017 17:42:15 -0000","(qmail 60509 invoked by uid 89); 1 Sep 2017 17:42:15 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:cc:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=gRqSu70hitflaboE\n\toQReaXyAgvP3QJnI6ATsLXykObUvei4RjKQiozFDCeweP5EH/bJNqYA21ltqvME2\n\trqfsHghuPTJqGxt6h0caHyABEfpYc5f0hSS8EcSPyMDIv5xbYnP1ZCPGBh9bBpAU\n\tusq11mIGpUcetNX5DiYqX3BSzwU=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:cc:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=NlJPXXWl25RJ8R7RhFM7Bw\n\tPxjZY=; b=uNViD+GdG6mnlU62aETo9VCrEYFPFzyfJmPaAUqr2ycCoGwsMao/8I\n\t85sFmwEc3f00nViGeKOI44UT6tIBUWRPXtG+K2z9PJrKnht/dGbndifQxeCwl47V\n\tAfh/XDfDLUiTGZArA+uTQ3OLFF647RizEIDyyEJQoOZVnXKEMKXv8=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-26.4 required=5.0 tests=BAYES_00, GIT_PATCH_0,\n\tGIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE,\n\tRCVD_IN_SORBS_SPAM, SPF_PASS,\n\tURIBL_RED autolearn=ham version=3.3.2\n\tspammy=Hx-spam-relays-external:209.85.216.170,\n\tH*RU:209.85.216.170","X-HELO":"mail-qt0-f170.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:cc:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=LwVPevX6T2W0qQ9CC90Y9Iu1Fr2BdN+YUFmxUhOQMhM=;\n\tb=Oz4IdMubs7n1DJb3m5K0FFCm8EzKDdrITWqqrxl5jN6nu1ibpYuVtp2526zPM0YUuD\n\tvTM1TAYeYYhU6GsHqN+PHrRdoq8EsxzKjpSvQkm9lXPhJTAnybZPdV3y9YVF3ORGhqOH\n\tgwN2AW/5wXApbKPJX2xZqHKvMBuGS4vtDVl30EQxIh+CMtWfyv/LXFyZUJZq6oFmHMH+\n\tLNDkzV9cTkcJFQOZ6kvlu9oj//DBL8hnh8GGYEmq6gMa7GfXSglELJSeopF+h+jOur/8\n\t8b3y5n4s4IJMRXO2RVR+McyBfQXBh9fmkvukwHt8nfuiNSiWgvQiinws2H1hGSpjpiQa\n\tYhFQ==","X-Gm-Message-State":"AHPjjUhjSOhYAtc9nPm9rzjhHPLBUnAR5Y7bhK9sK7QskMrKU6i4a++f\n\t8Hl3mjo4R61iIdNrDXYs2A==","X-Google-Smtp-Source":"ADKCNb59rVzCHPEpfvPWk5+F7Me1n3+znUCAmh93QfHSpgSRh+abU0ITWiO0OOLkD+U1DnPQTocMog==","X-Received":"by 10.237.48.241 with SMTP id 104mr3779238qtf.210.1504287731126; \n\tFri, 01 Sep 2017 10:42:11 -0700 (PDT)","Subject":"Re: [PATCH] linux: Implement tmpfile with O_TMPFILE (BZ#21530)","To":"Joseph Myers <joseph@codesourcery.com>","Cc":"libc-alpha@sourceware.org","References":"<1504211656-9263-1-git-send-email-adhemerval.zanella@linaro.org>\n\t<20170901003910.GA24513@altlinux.org>\n\t<173b62ac-d9aa-b594-3ffb-7f64bcd86d51@linaro.org>\n\t<alpine.DEB.2.20.1709011715210.25426@digraph.polyomino.org.uk>","From":"Adhemerval Zanella <adhemerval.zanella@linaro.org>","Message-ID":"<88f4c771-d331-04f4-1d73-fc9798770c65@linaro.org>","Date":"Fri, 1 Sep 2017 14:42:06 -0300","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<alpine.DEB.2.20.1709011715210.25426@digraph.polyomino.org.uk>","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"7bit"}}]