From unknown Sat Jun 14 19:46:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64540: [PATCH] od: exit out on failure to write to stdout Resent-From: Josef Bacik Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sun, 09 Jul 2023 09:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 64540 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: patch To: 64540@debbugs.gnu.org X-Debbugs-Original-To: bug-coreutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.168889368411989 (code B ref -1); Sun, 09 Jul 2023 09:09:02 +0000 Received: (at submit) by debbugs.gnu.org; 9 Jul 2023 09:08:04 +0000 Received: from localhost ([127.0.0.1]:45835 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIQOe-00036P-EI for submit@debbugs.gnu.org; Sun, 09 Jul 2023 05:08:04 -0400 Received: from lists.gnu.org ([209.51.188.17]:59582) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIGf0-0001H7-J1 for submit@debbugs.gnu.org; Sat, 08 Jul 2023 18:44:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qIGf0-0003WB-C1 for bug-coreutils@gnu.org; Sat, 08 Jul 2023 18:44:14 -0400 Received: from mail-yw1-x112b.google.com ([2607:f8b0:4864:20::112b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qIGey-0005Tn-K6 for bug-coreutils@gnu.org; Sat, 08 Jul 2023 18:44:14 -0400 Received: by mail-yw1-x112b.google.com with SMTP id 00721157ae682-57a6df91b1eso10616457b3.1 for ; Sat, 08 Jul 2023 15:44:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=toxicpanda-com.20221208.gappssmtp.com; s=20221208; t=1688856251; x=1691448251; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=AUAF26+xvMf/stgsQi1a/Wn/MSOgBQ5MvuNmMpTikU8=; b=BAURND6vWc8WBprpcmXTZ/M0V4+ARizf2+UcKyV/Z4VLfDxOigiiexEAPdPWeaUWSB QlEzytSOk625KjQDmpBQI08sgke1CBJRpo6N04TJ4yPgIYVyXEyUVzfJEU4orqbONrLZ pZZIvx+H3mRYFDwMPE2yqz+lSFQrQwqQ5VJeXQTQbG9Ja1c3fmD0OeQ5EH1o0g8kcsTE Eoiwk8MnosNNH29Fj0Zos7EdrVr+xNRGNYeQwtR76m54P940bkyrvgkd187p3UIBEEH3 fk73a1rvcQ/k3Oq/7R93McQVLslissEIbJOgu+DTY8x68usckZqXjlP1GG9dwj6Pb0cq F2sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688856251; x=1691448251; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=AUAF26+xvMf/stgsQi1a/Wn/MSOgBQ5MvuNmMpTikU8=; b=IZVEP4U5OrKP3nL0UNJ/D3p4Eonimsq1Dt15dkVakRtV74vjpf1Cg7L46a6jQ055gx TzAbtqF7BsYOefRc6eL48znLakYuUTmPGZa+HCEDUIS8cwE4IIXu+1z8EnZt9sXz4PSQ TPrpO+f3oN3fcAT8fSOzCJbOiDsilk1uLG9JjZgOoXtaY/40o+wUjkQqB7cg34CWNz3n qzLjdLrcRh4V5LcScSA4mwNpLRmJiLkRRq22E62LlufooD2pKW8uiaxoNqrW9mj+jV8b pZzLk6sPSR8o/lWbfQW1IE/97OU3YQ8aft6HUZxV4rz92X5dmPJA/535uLnCePRzm67H iJ2A== X-Gm-Message-State: ABy/qLYG5rkmN9j2Wde663SB1ahCVPHBqzh9+5X80OrDtrSNgbd2CZjC PaAQ4ZPe24/1/0wrf3u9+Ps9VmCCxZzVJNM39/K0Ew== X-Google-Smtp-Source: APBJJlE4VD3bV2B+WCJsnL1d6cTn8PXzn+jHdxUAy/uH/aLh08/PSCkzWEgTmeAIul7IjTrkEUDZpw== X-Received: by 2002:a81:8401:0:b0:561:cb45:d7de with SMTP id u1-20020a818401000000b00561cb45d7demr10132489ywf.31.1688856250789; Sat, 08 Jul 2023 15:44:10 -0700 (PDT) Received: from localhost (cpe-76-182-20-124.nc.res.rr.com. [76.182.20.124]) by smtp.gmail.com with ESMTPSA id x142-20020a81a094000000b00565de196516sm2084057ywg.32.2023.07.08.15.44.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Jul 2023 15:44:10 -0700 (PDT) From: Josef Bacik Date: Sat, 8 Jul 2023 18:43:54 -0400 Message-ID: <90d10d0cdadb2a485c3391cc9f2a78fb59b27cd8.1688856226.git.josef@toxicpanda.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: none client-ip=2607:f8b0:4864:20::112b; envelope-from=josef@toxicpanda.com; helo=mail-yw1-x112b.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.3 (--) X-Mailman-Approved-At: Sun, 09 Jul 2023 05:07:54 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) A very weird bug was uncovered when using fstests with github actions. In fstests we are doing something like this od /dev/urandom | dd of=somefile bs=1M count=10 The above works fine, except in the case of github actions which runs this script remotely, capturing the output in a pipe to print on their console. Somehow od ends up writing forever into the stdout pipe without exiting in this scenario, normally it doesn't do this. strace'ing the process we can see it getting SIGPIPE and simply ignoring the error. This is because when we don't provide a limit we never actually check if there was an error on the stdout fd. Fix this by adjusting the logic to check if there was an error on every loop, and break out if appropriate. With this patch applied this configuration no longer results in a hang. --- src/od.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/od.c b/src/od.c index 6b66ceb4f..a07b4de03 100644 --- a/src/od.c +++ b/src/od.c @@ -1380,7 +1380,7 @@ dump (void) if (limit_bytes_to_format) { - while (true) + while (ok) { size_t n_needed; if (current_offset >= end_offset) @@ -1396,13 +1396,14 @@ dump (void) affirm (n_bytes_read == bytes_per_block); write_block (current_offset, n_bytes_read, block[!idx], block[idx]); + ok &= check_and_close(0); current_offset += n_bytes_read; idx = !idx; } } else { - while (true) + while (ok) { ok &= read_block (bytes_per_block, block[idx], &n_bytes_read); if (n_bytes_read < bytes_per_block) @@ -1410,6 +1411,7 @@ dump (void) affirm (n_bytes_read == bytes_per_block); write_block (current_offset, n_bytes_read, block[!idx], block[idx]); + ok &= check_and_close(0); current_offset += n_bytes_read; idx = !idx; } -- 2.41.0 From unknown Sat Jun 14 19:46:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64540: [PATCH] od: exit out on failure to write to stdout Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sun, 09 Jul 2023 09:31:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64540 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: patch To: Josef Bacik , 64540@debbugs.gnu.org Received: via spool by 64540-submit@debbugs.gnu.org id=B64540.168889500213948 (code B ref 64540); Sun, 09 Jul 2023 09:31:01 +0000 Received: (at 64540) by debbugs.gnu.org; 9 Jul 2023 09:30:02 +0000 Received: from localhost ([127.0.0.1]:45855 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIQjx-0003ce-MD for submit@debbugs.gnu.org; Sun, 09 Jul 2023 05:30:02 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:34234) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIQjv-0003c1-WB for 64540@debbugs.gnu.org; Sun, 09 Jul 2023 05:30:00 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id D1C093C011BD4; Sun, 9 Jul 2023 02:29:53 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id BVtoLyxDHr0Z; Sun, 9 Jul 2023 02:29:53 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 4A8A83C011BD6; Sun, 9 Jul 2023 02:29:53 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 4A8A83C011BD6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1688894993; bh=qYa27zy9aXWMOQdRJjXShKt8uxlnXQS+xWkM006syqs=; h=Message-ID:Date:MIME-Version:To:From; b=HZt2HpZZIN/JpD4ELRHDxhJ0/ksdNS5hZxU79pwHl50iA/fWDyuuoa1NYX7NmxlFr NDqDY8R4nSQ4itmb4xfNG+yVQzEO1XAEUoJS3IygxHEt9gD5iKzgNCUrSPPcKc6eME JzTIb7u3fJM+QezMTIGBfocjSmMD0b+v921TKjNzKsPLKzesYnrdMJpfBN/i+Yn3wK +BcHqSC5zs1bQF22XT2hFrAMsi3xsXMhR+NxkRsxfJA9fy9uVpYEn68uZrdpshv4Z2 x4NBcO/H/1ejsoef2ta+ZDaDOsI+/3i4QixCundDLCcijtoxHYD+mE2qeQLvrVFmbu BaDvJaWbCPe2g== X-Virus-Scanned: amavisd-new at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id LNTKo5n-_ekJ; Sun, 9 Jul 2023 02:29:53 -0700 (PDT) Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 28B153C011BD4; Sun, 9 Jul 2023 02:29:53 -0700 (PDT) Message-ID: <8c348408-b53e-c970-0e82-35ac41cebd57@cs.ucla.edu> Date: Sun, 9 Jul 2023 02:29:52 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Content-Language: en-US References: <90d10d0cdadb2a485c3391cc9f2a78fb59b27cd8.1688856226.git.josef@toxicpanda.com> From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <90d10d0cdadb2a485c3391cc9f2a78fb59b27cd8.1688856226.git.josef@toxicpanda.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -1.1 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) On 2023-07-08 15:43, Josef Bacik wrote: > A very weird bug was uncovered when using fstests with github actions. > In fstests we are doing something like this > > od /dev/urandom | dd of=somefile bs=1M count=10 > > The above works fine, except in the case of github actions which runs > this script remotely, capturing the output in a pipe to print on their > console. Somehow od ends up writing forever into the stdout pipe > without exiting in this scenario, normally it doesn't do this. Do you see the same problem if you use 'cat' rather than 'od'? If so, the problem isn't with 'od'; it's with the environment, which is somehow set up to ignore SIGPIPE. It shouldn't do that, as ignoring SIGPIPE breaks a lot of programs, and 'od' would be just one of them. Although the patch you sent is probably harmless, it's not clear that we should go through all the GNU utilities and make them check for I/O errors on every output, as that'd be a maintenance hassle and in some cases would hurt performance significantly. From unknown Sat Jun 14 19:46:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64540: [PATCH] od: exit out on failure to write to stdout Resent-From: Andreas Schwab Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sun, 09 Jul 2023 10:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64540 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: patch To: Paul Eggert Cc: 64540@debbugs.gnu.org, Josef Bacik Received: via spool by 64540-submit@debbugs.gnu.org id=B64540.168889768318315 (code B ref 64540); Sun, 09 Jul 2023 10:15:02 +0000 Received: (at 64540) by debbugs.gnu.org; 9 Jul 2023 10:14:43 +0000 Received: from localhost ([127.0.0.1]:45868 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIRRD-0004lL-BZ for submit@debbugs.gnu.org; Sun, 09 Jul 2023 06:14:43 -0400 Received: from mail-out.m-online.net ([212.18.0.9]:39492) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIRRB-0004lC-DT for 64540@debbugs.gnu.org; Sun, 09 Jul 2023 06:14:42 -0400 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4QzNKW4yp2z1r6R5; Sun, 9 Jul 2023 12:14:39 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.68]) by mail.m-online.net (Postfix) with ESMTP id 4QzNKW0FHGz1qqlS; Sun, 9 Jul 2023 12:14:39 +0200 (CEST) X-Virus-Scanned: amavis at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.68]) (amavis, port 10024) with ESMTP id nbsVg3G3fGST; Sun, 9 Jul 2023 12:14:38 +0200 (CEST) X-Auth-Info: FAn8Cu+xzy4mfD16BIvPWWCcv83eR7x/e0ZtA1qtTDdWB3CAnanmNzpk/u74MoxW Received: from tiger.home (aftr-62-216-205-115.dynamic.mnet-online.de [62.216.205.115]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Sun, 9 Jul 2023 12:14:38 +0200 (CEST) Received: by tiger.home (Postfix, from userid 1000) id E1D7A1C60E0; Sun, 9 Jul 2023 12:14:37 +0200 (CEST) From: Andreas Schwab In-Reply-To: <8c348408-b53e-c970-0e82-35ac41cebd57@cs.ucla.edu> (Paul Eggert's message of "Sun, 9 Jul 2023 02:29:52 -0700") References: <90d10d0cdadb2a485c3391cc9f2a78fb59b27cd8.1688856226.git.josef@toxicpanda.com> <8c348408-b53e-c970-0e82-35ac41cebd57@cs.ucla.edu> X-Yow: I have seen these EGG EXTENDERS in my Supermarket.. .. I have read the INSTRUCTIONS... Date: Sun, 09 Jul 2023 12:14:37 +0200 Message-ID: <87jzv9qtma.fsf@linux-m68k.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.4 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) On Jul 09 2023, Paul Eggert wrote: > Do you see the same problem if you use 'cat' rather than 'od'? If so, the > problem isn't with 'od'; it's with the environment, which is somehow set > up to ignore SIGPIPE. It shouldn't do that, as ignoring SIGPIPE breaks a > lot of programs, and 'od' would be just one of them. All other utilities (including cat) handle ignored SIGPIPE correctly. $ (trap '' PIPE; cat /dev/zero | :) cat: write error: Broken pipe -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From unknown Sat Jun 14 19:46:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64540: [PATCH] od: exit out on failure to write to stdout Resent-From: =?UTF-8?Q?P=C3=A1draig?= Brady Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sun, 09 Jul 2023 14:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64540 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: patch To: Paul Eggert , Josef Bacik , 64540@debbugs.gnu.org Received: via spool by 64540-submit@debbugs.gnu.org id=B64540.16889119182711 (code B ref 64540); Sun, 09 Jul 2023 14:12:01 +0000 Received: (at 64540) by debbugs.gnu.org; 9 Jul 2023 14:11:58 +0000 Received: from localhost ([127.0.0.1]:46951 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIV8n-0000hd-JG for submit@debbugs.gnu.org; Sun, 09 Jul 2023 10:11:57 -0400 Received: from mail-wm1-f42.google.com ([209.85.128.42]:53282) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIV8l-0000hM-Fk for 64540@debbugs.gnu.org; Sun, 09 Jul 2023 10:11:56 -0400 Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-3fbc12181b6so40210135e9.2 for <64540@debbugs.gnu.org>; Sun, 09 Jul 2023 07:11:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1688911909; x=1691503909; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=whhWqIE3vN+alyxikBsGXbjwZ7e2c6m5KMFyEqGQhNM=; b=Es33lvnlp5St5mhbnYvnLrbNeZ5YmcK1vwIlBeNzrze4UAIk9lHpZIXxxPY/TGlJJE VNS4DLdzfGuRXH/2bq0uOmuhYrXkSfSy/UrKl7wBgz0KF9Ey19tcDeWbuCcNNUbJhV/v lhZLS+Ac8Zcu5ACDveFqmzoIRXiT6uXkQ0xjtOVmW1xMqJVi9aiD+HpI7pxUvG5r7ZkN Er5v9AydzxXa1xUKDXbNz9PGVYykFWorFVt4MBFR781FZy/XnScV2myWzaa8hLnVszBU rLWCDz2fzg/j9620FFlwT9dG/5b7qWOr9BGaI/b97krXDxy1gg1wc6j7PHWEmU8TPb9+ 2lzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688911909; x=1691503909; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=whhWqIE3vN+alyxikBsGXbjwZ7e2c6m5KMFyEqGQhNM=; b=N3edx7ZiOB0eRikQOKi1ndJ+mCqUsTVj66KUn5w+2Ju6d3Y5WMaUHbqbJ48/DMIHuY EydU9Un2sUDcwWMfqtvcALZu9/CTUHNxG4g7s2nevH0W2RnY/ChDfskagNAFAyizWNGe ZU+eW0s2GgJj3p1q5UnvtjkQx0Ns87M+zem/1MeQ6lljl5LEDR5O3P3/Sf2YGXtD3N6a e7IChTlL4YV0kdNTYmrRWiboISRxpaEcUHExZMuCACjfU5yuTvEPX57tSpU00fOykjzY tUsktA7N5VTgbzFqn2AGPGRYyWAlqQ4foU2VcLt38KZ6cTMKfC5iaPfoEUlgI2qtENW5 mntg== X-Gm-Message-State: ABy/qLbZduLkDUWUoXEKenSUddY0ZsXraYzfQRz4HKqbQrInlnTIHvKb Y0JcCJ0Jd1R1C27tmo0jPvo= X-Google-Smtp-Source: APBJJlGiauXY2QFuHJmb6f+2WYBztksjkd/L9F6y22GSpp96hhIF/ABJQJl3rKg8dW5ZR8lDcdcdqA== X-Received: by 2002:a7b:cc84:0:b0:3fc:a5:2c3a with SMTP id p4-20020a7bcc84000000b003fc00a52c3amr5516521wma.41.1688911909353; Sun, 09 Jul 2023 07:11:49 -0700 (PDT) Received: from [192.168.1.20] (95-44-90-175-dynamic.agg2.lod.rsl-rtd.eircom.net. [95.44.90.175]) by smtp.googlemail.com with ESMTPSA id m22-20020a7bca56000000b003fb41491670sm7672541wml.24.2023.07.09.07.11.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 09 Jul 2023 07:11:48 -0700 (PDT) Message-ID: Date: Sun, 9 Jul 2023 15:11:47 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US References: <90d10d0cdadb2a485c3391cc9f2a78fb59b27cd8.1688856226.git.josef@toxicpanda.com> <8c348408-b53e-c970-0e82-35ac41cebd57@cs.ucla.edu> From: =?UTF-8?Q?P=C3=A1draig?= Brady In-Reply-To: <8c348408-b53e-c970-0e82-35ac41cebd57@cs.ucla.edu> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.2 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 09/07/2023 10:29, Paul Eggert wrote: > On 2023-07-08 15:43, Josef Bacik wrote: >> A very weird bug was uncovered when using fstests with github actions. >> In fstests we are doing something like this >> >> od /dev/urandom | dd of=somefile bs=1M count=10 >> >> The above works fine, except in the case of github actions which runs >> this script remotely, capturing the output in a pipe to print on their >> console. Somehow od ends up writing forever into the stdout pipe >> without exiting in this scenario, normally it doesn't do this. > > Do you see the same problem if you use 'cat' rather than 'od'? If so, > the problem isn't with 'od'; it's with the environment, which is somehow > set up to ignore SIGPIPE. It shouldn't do that, as ignoring SIGPIPE > breaks a lot of programs, and 'od' would be just one of them. > > Although the patch you sent is probably harmless, it's not clear that we > should go through all the GNU utilities and make them check for I/O > errors on every output, as that'd be a maintenance hassle and in some > cases would hurt performance significantly. Note the patch looks wrong as it would close the input always. We can fix that up easily enough anyway. RE the general point about handling write errors in coreutils, many other cases are handled implicitly or explicitly, but some are not. For example these will inf loop: pr /dev/urandom > /dev/full od /dev/urandom > /dev/full It shouldn't be too onerous to handle these cases explicitly. An example where we explicitly handled it for seq was: https://github.com/coreutils/coreutils/commit/c92585b10 I'll create patches to handle the above, and any others I notice. For my reference a short list of utils to check (that might inf loop) are: cat comm cp cut dd dirname expand factor fmt fold head join ls nl numfmt od paste pr printf ptx readlink realpath seq shuf sort stat tac tail tee tr tsort unexpand uniq wc yes Note we had a similar issue recently on the read side, where all read errors were not diagnosed, which we checked with: https://github.com/coreutils/coreutils/commit/7ea7c020e I'll come up with a similar test to diagnose write errors for the shortlist of utils above. cheers, Pádraig From unknown Sat Jun 14 19:46:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64540: [PATCH] od: exit out on failure to write to stdout Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sun, 09 Jul 2023 19:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64540 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: patch To: =?UTF-8?Q?P=C3=A1draig?= Brady , Josef Bacik , 64540@debbugs.gnu.org Received: via spool by 64540-submit@debbugs.gnu.org id=B64540.1688929916421 (code B ref 64540); Sun, 09 Jul 2023 19:12:02 +0000 Received: (at 64540) by debbugs.gnu.org; 9 Jul 2023 19:11:56 +0000 Received: from localhost ([127.0.0.1]:47182 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIZp5-00006g-KI for submit@debbugs.gnu.org; Sun, 09 Jul 2023 15:11:55 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:45558) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIZp0-00006L-TT for 64540@debbugs.gnu.org; Sun, 09 Jul 2023 15:11:53 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 4DCEF3C011BD4; Sun, 9 Jul 2023 12:11:44 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id Iw-dDNGh-PU9; Sun, 9 Jul 2023 12:11:44 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id E9C4E3C011BD5; Sun, 9 Jul 2023 12:11:43 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu E9C4E3C011BD5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1688929904; bh=a99oN4kW/76I5CQ2gwxG/3qyxAw3bKHvF+fVkvmzUGc=; h=Message-ID:Date:MIME-Version:To:From; b=lsUiBfQHJiJKBCJ/316nInLoKMdIjatgSh/lXRgpRqOzyLlqrxsD+le/WOt/Lgpr8 9BYLFNHR/l5QlWAS8qZeLUKNvRzzv5wAVaIxfjwzrMQM9sqK8O4CVF1P+xJS3WH9z0 Wlj5MGM5jFppnZIHotebagZnAJbOxW2tiEsrHnjbZVVpWIz4izRoeNRTmYdJB7J4TC PSwOIeW/yerXmT5tznmMl5ToHEm59XBLdskE4PzqNcEmHv4TkvaNso/7Lx5aFq7x+c aBfkEjWgqXvwe7k2SvZDAi4Fx+zXKTPZ4fPo6OxCrRcDSuFC4YHFL6Ycgc6qdI/Elt AuUBfx4WMBt/g== X-Virus-Scanned: amavisd-new at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 6gKxyjcbYWNa; Sun, 9 Jul 2023 12:11:43 -0700 (PDT) Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id C347B3C011BD4; Sun, 9 Jul 2023 12:11:43 -0700 (PDT) Message-ID: Date: Sun, 9 Jul 2023 12:11:43 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Content-Language: en-US References: <90d10d0cdadb2a485c3391cc9f2a78fb59b27cd8.1688856226.git.josef@toxicpanda.com> <8c348408-b53e-c970-0e82-35ac41cebd57@cs.ucla.edu> From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Spam-Score: -1.1 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) On 2023-07-09 07:11, P=C3=A1draig Brady wrote: > Note the patch looks wrong as it would close the input always. > We can fix that up easily enough anyway. If it's easy and doesn't hurt performance in the usual case, that's of=20 course fine. > For my reference a short list of utils to check (that might inf loop) a= re: > =C2=A0 cat comm cp cut dd dirname expand factor fmt fold head join ls = nl numfmt > =C2=A0 od paste pr printf ptx readlink realpath seq shuf sort stat tac= tail > =C2=A0 tee tr tsort unexpand uniq wc yes There's no point to complicating programs that have bounded input for=20 other reasons, as they'll report errors soon enough for those other=20 reasons. The main problem comes from programs like 'cat' and 'od' that=20 can read from "infinite" input like /dev/urandom and can write indefinite= ly. So I think we needn't worry about dirname, ptx, readlink, realpath,=20 sort, stat, tac, tsort, wc. For example, we needn't worry about 'sort'=20 because it needs to read all its input before outputting anything, and=20 it cannot read all of /dev/urandom. As long as these programs eventually=20 check for write errors, which I expect they all do, that should be good=20 enough. Even for programs like 'od' there is no need to check every output=20 function; just check occasionally, when it's convenient. From unknown Sat Jun 14 19:46:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64540: [PATCH] od: exit out on failure to write to stdout Resent-From: =?UTF-8?Q?P=C3=A1draig?= Brady Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sun, 09 Jul 2023 22:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64540 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: patch To: Paul Eggert , Josef Bacik , 64540@debbugs.gnu.org Received: via spool by 64540-submit@debbugs.gnu.org id=B64540.168894330525588 (code B ref 64540); Sun, 09 Jul 2023 22:56:01 +0000 Received: (at 64540) by debbugs.gnu.org; 9 Jul 2023 22:55:05 +0000 Received: from localhost ([127.0.0.1]:47276 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIdJ2-0006ee-Jg for submit@debbugs.gnu.org; Sun, 09 Jul 2023 18:55:04 -0400 Received: from mail-wm1-f46.google.com ([209.85.128.46]:49203) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIdIx-0006dx-Ey for 64540@debbugs.gnu.org; Sun, 09 Jul 2023 18:55:02 -0400 Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-3fc03aa6e04so17688615e9.2 for <64540@debbugs.gnu.org>; Sun, 09 Jul 2023 15:54:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1688943293; x=1691535293; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=6u5bd/+ysPGOf3m4uDe5y70q0QpLO/yEj/wDRdbR6VU=; b=NzqCWptWml69GrLEe+xhnyMpkDT6lTZ2gfm1CAAbh1AO3vEzU1KlpZwSyhe2KcXJAC rQ3gg9uAQF9/ZiCpBZgY5R8+1kSmMr0bNBUriRtC0kv7uys0ttQWcTHic5xxQ6hY3Uos 9y1jte1QrJ8U3bjX2Auih8kX20pB1tyqxsKh4Ro+u+qtKhRqrX7Piyazl6+64Uy+aiuD YTUsuLGH+ZvurY3vvp6ziLmqFZZ0Rz7aMwfo4uPRWDat5C4Avb3EOlOb6w/KM07oioPU Wua0Pm48iBAUjv2nmnaFXbzk5CDFeFw6hzySnTMfi+lJdzKzwJIzMaVzldMfqyt2ONAS catQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688943293; x=1691535293; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=6u5bd/+ysPGOf3m4uDe5y70q0QpLO/yEj/wDRdbR6VU=; b=GktRX0GpCiVddzMjcqnqD8QbRl4pgwHIBCYIYG77GwEtOjFngm0JAkayfrm9n/t9JA bGYPAZceWAocb0V9L9T+6kqtfDBAi+KB93UiKDs0NcLv/39tToGtvQGOp/rsrZpxGpm8 iy90J9pds3uqfWzL2cvtDyCmgdlUMgmUws4YXiwPeIls8Op4giFE0B8n/fRGUNBeXjef 6dL9Ro/WOXAlkFJ5VsiJ5XLs1B7c/EXXZnKlNzV37orYVAMZH2gU6Vh3vEqMJcdKvCGN qkvn369CvPOQJnDtUFaLyAOXrBzi856+ZjalCbqNoZo+YGEhaWY+3s8uhZ+HyaI8nThH oXsw== X-Gm-Message-State: ABy/qLYeakFYoUkoO73bfYItySRrZZ8pzcZsFt6uQuKWDWW0NwAjsfVW fqilT9lrF3OsBn/K13aA6cg= X-Google-Smtp-Source: APBJJlFSiUGUzM7TPpNTaHTocJtawhN1qVdSuUA/xOfGtE1wpoKKIikhgPNQzOAUWk5L2j3Zx8WQ0A== X-Received: by 2002:a7b:c409:0:b0:3fb:b34f:6cd4 with SMTP id k9-20020a7bc409000000b003fbb34f6cd4mr3951758wmi.36.1688943293318; Sun, 09 Jul 2023 15:54:53 -0700 (PDT) Received: from [192.168.1.20] (95-44-90-175-dynamic.agg2.lod.rsl-rtd.eircom.net. [95.44.90.175]) by smtp.googlemail.com with ESMTPSA id v6-20020a05600c444600b003fbb1ce274fsm17687456wmn.0.2023.07.09.15.54.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 09 Jul 2023 15:54:52 -0700 (PDT) Message-ID: <7b988b6f-a78d-b910-41cb-e35352383f5a@draigBrady.com> Date: Sun, 9 Jul 2023 23:54:52 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US References: <90d10d0cdadb2a485c3391cc9f2a78fb59b27cd8.1688856226.git.josef@toxicpanda.com> <8c348408-b53e-c970-0e82-35ac41cebd57@cs.ucla.edu> From: =?UTF-8?Q?P=C3=A1draig?= Brady In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.2 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 09/07/2023 20:11, Paul Eggert wrote: > On 2023-07-09 07:11, Pádraig Brady wrote: > >> Note the patch looks wrong as it would close the input always. >> We can fix that up easily enough anyway. > > If it's easy and doesn't hurt performance in the usual case, that's of > course fine. > > >> For my reference a short list of utils to check (that might inf loop) are: >>   cat comm cp cut dd dirname expand factor fmt fold head join ls nl numfmt >>   od paste pr printf ptx readlink realpath seq shuf sort stat tac tail >>   tee tr tsort unexpand uniq wc yes > > There's no point to complicating programs that have bounded input for > other reasons, as they'll report errors soon enough for those other > reasons. The main problem comes from programs like 'cat' and 'od' that > can read from "infinite" input like /dev/urandom and can write indefinitely. > > So I think we needn't worry about dirname, ptx, readlink, realpath, > sort, stat, tac, tsort, wc. For example, we needn't worry about 'sort' > because it needs to read all its input before outputting anything, and > it cannot read all of /dev/urandom. As long as these programs eventually > check for write errors, which I expect they all do, that should be good > enough. > > Even for programs like 'od' there is no need to check every output > function; just check occasionally, when it's convenient. Yes completely agreed. The shortlist above is for my reference for commands to review, not for commands to adjust. cheers, Pádraig From unknown Sat Jun 14 19:46:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64540: [PATCH] od: exit out on failure to write to stdout Resent-From: =?UTF-8?Q?P=C3=A1draig?= Brady Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sat, 15 Jul 2023 21:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64540 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: patch To: Paul Eggert , Josef Bacik , 64540@debbugs.gnu.org Received: via spool by 64540-submit@debbugs.gnu.org id=B64540.168945533215832 (code B ref 64540); Sat, 15 Jul 2023 21:09:02 +0000 Received: (at 64540) by debbugs.gnu.org; 15 Jul 2023 21:08:52 +0000 Received: from localhost ([127.0.0.1]:46192 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qKmVW-00047G-Or for submit@debbugs.gnu.org; Sat, 15 Jul 2023 17:08:52 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:47233) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qKmVS-00046z-Tx for 64540@debbugs.gnu.org; Sat, 15 Jul 2023 17:08:49 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-3fbc5d5742bso29579415e9.2 for <64540@debbugs.gnu.org>; Sat, 15 Jul 2023 14:08:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689455320; x=1692047320; h=in-reply-to:references:to:from:content-language:subject:user-agent :mime-version:date:message-id:sender:from:to:cc:subject:date :message-id:reply-to; bh=m9T8gHBBgZyLC+JZn75Ss3Sg6tmFoqJNQUjwaWSGaPo=; b=h3nG4/vUb2oza+CuzqLxqQkJ0ANKPaecMFBtXd5OPwEOb4q7qoaz1EhPo9aXlcpAaE Kq05/VTxfXN5KntEp0HKSjfkaA6EvDqog8caEvsB8M7TWMJSzCAGYAK6e+CYobDKkz8z +bz+yUnzgY3ryP6EtKzSjfJHQR3aP8FBZ9sq11GcS/oh+Lav5z97EuS8e5Sz6Q+yOMw2 X+QNJ25imAt898QFvBgjFhmgvogloFK3tU38Edzw1WjLqDDYBq47WSLDt+ZTGEU9xXY5 hRFeHcdIlGygbDl1q6bGB9bVM3gxhZKF8/ecQQcvCBrKMcg8d7iY9solQlmsEVxfn3BH JEeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689455320; x=1692047320; h=in-reply-to:references:to:from:content-language:subject:user-agent :mime-version:date:message-id:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=m9T8gHBBgZyLC+JZn75Ss3Sg6tmFoqJNQUjwaWSGaPo=; b=fgfNNziOejfOYcyc7tE06UL/8Keg5VU8rhzg0Hldmziy5jIlv9A4tkqzPNolbt/o+G 3yy0OJ1H7vLjoQ/EwkIsWHtJLlWZ78Nw4afYazIVQcYofKoj+BZ50mBCGTqj6V0qPCcM XfkHIQyp8l3d6kIJpgOwuNpQQq215KU8QaD4XHbVwCj4KUxNMrnJBrat36Ch4GaFOH6U m/7uEBrnVkzA1UplFbLqCnFrSS6lBITbotbPEGV5z4pkDca0PNRvub/mJvkYwpZEkq7c sZW7v1zGbD5IZd5a8BxHnv9yF1Bj86H+kq9DPU6dRyFfCWoR1BpVwlUGQ1+IGD9gMxiC pY+A== X-Gm-Message-State: ABy/qLY18N5x3qZDMgSZoOIpDP4JfmyGdcGryl9gED2Jx27T886i6J6H SLeJGHqg+XXLxT/f92Pmjr0= X-Google-Smtp-Source: APBJJlFsiq3Ab9wicNzcylg6rpB06/jVQbbjK9rz1W2Nb1kzjd+kqpOWYlbghIoBSAaCbjhf1/l8Qw== X-Received: by 2002:a7b:ce87:0:b0:3f8:f663:921d with SMTP id q7-20020a7bce87000000b003f8f663921dmr7717765wmj.41.1689455320199; Sat, 15 Jul 2023 14:08:40 -0700 (PDT) Received: from [192.168.1.20] (95-44-90-175-dynamic.agg2.lod.rsl-rtd.eircom.net. [95.44.90.175]) by smtp.googlemail.com with ESMTPSA id v7-20020a05600c214700b003fbc681c8d1sm4370741wml.36.2023.07.15.14.08.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 15 Jul 2023 14:08:39 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------LXN2xV1suROVkR5byxa0ft7y" Message-ID: Date: Sat, 15 Jul 2023 22:08:38 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: =?UTF-8?Q?P=C3=A1draig?= Brady References: <90d10d0cdadb2a485c3391cc9f2a78fb59b27cd8.1688856226.git.josef@toxicpanda.com> <8c348408-b53e-c970-0e82-35ac41cebd57@cs.ucla.edu> <7b988b6f-a78d-b910-41cb-e35352383f5a@draigBrady.com> In-Reply-To: <7b988b6f-a78d-b910-41cb-e35352383f5a@draigBrady.com> X-Spam-Score: 0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) This is a multi-part message in MIME format. --------------LXN2xV1suROVkR5byxa0ft7y Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 09/07/2023 23:54, Pádraig Brady wrote: > On 09/07/2023 20:11, Paul Eggert wrote: >> On 2023-07-09 07:11, Pádraig Brady wrote: >> >>> Note the patch looks wrong as it would close the input always. >>> We can fix that up easily enough anyway. >> >> If it's easy and doesn't hurt performance in the usual case, that's of >> course fine. >> >> >>> For my reference a short list of utils to check (that might inf loop) are: >>>   cat comm cp cut dd dirname expand factor fmt fold head join ls nl numfmt >>>   od paste pr printf ptx readlink realpath seq shuf sort stat tac tail >>>   tee tr tsort unexpand uniq wc yes >> >> There's no point to complicating programs that have bounded input for >> other reasons, as they'll report errors soon enough for those other >> reasons. The main problem comes from programs like 'cat' and 'od' that >> can read from "infinite" input like /dev/urandom and can write indefinitely. >> >> So I think we needn't worry about dirname, ptx, readlink, realpath, >> sort, stat, tac, tsort, wc. For example, we needn't worry about 'sort' >> because it needs to read all its input before outputting anything, and >> it cannot read all of /dev/urandom. As long as these programs eventually >> check for write errors, which I expect they all do, that should be good >> enough. >> >> Even for programs like 'od' there is no need to check every output >> function; just check occasionally, when it's convenient. > > Yes completely agreed. > The shortlist above is for my reference for commands to review, > not for commands to adjust. The attached patch-set addresses two classes of issue: 1. Doubled error messages upon write errors 2. Continued processing upon write errors (the orig problem reported). For class 1, we include fixes for: expand, factor, paste, shuf, tr, unexpand For class 2, we include fixes for: od, uniq, cut, comm, join For class 2, we do _not_ include fixes for these utils which are more awkward / less important in this context: fmt, fold, nl, numfmt, pr I'll update NEWS with this info before pushing. cheers, Pádraig --------------LXN2xV1suROVkR5byxa0ft7y Content-Type: text/x-patch; charset=UTF-8; name="0001-tests-ensure-utilties-exit-promptly-upon-write-error.patch" Content-Disposition: attachment; filename*0="0001-tests-ensure-utilties-exit-promptly-upon-write-error.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBiMDljYWFkMmYxMWRkNmI0ZWU0MzRjNzBlMDdjMjJiYjgzNDY3OWVlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/UD1DMz1BMWRyYWlnPTIwQnJhZHk/ PSA8UEBkcmFpZ0JyYWR5LmNvbT4KRGF0ZTogVHVlLCAxMSBKdWwgMjAyMyAxMzoyODo1MyAr MDEwMApTdWJqZWN0OiBbUEFUQ0ggMS83XSB0ZXN0czogZW5zdXJlIHV0aWx0aWVzIGV4aXQg cHJvbXB0bHkgdXBvbiB3cml0ZSBlcnJvcgoKKiB0ZXN0cy9sb2NhbC5tazogUmVmZXJlbmNl IHRoZSBuZXcgdGVzdC4KKiB0ZXN0cy9taXNjL3dyaXRlLWVycm9ycy5zaDogQSBuZXcgdGVz dCB0byBlbnN1cmUgdXRpbGl0aWVzCmV4aXQgcHJvbXB0bHkgdXBvbiB3cml0aW5nIHRvIC9k ZXYvZnVsbC4KLS0tCiB0ZXN0cy9sb2NhbC5tayAgICAgICAgICAgICB8ICAxICsKIHRlc3Rz L21pc2Mvd3JpdGUtZXJyb3JzLnNoIHwgNzAgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKQogY3JlYXRl IG1vZGUgMTAwNzU1IHRlc3RzL21pc2Mvd3JpdGUtZXJyb3JzLnNoCgpkaWZmIC0tZ2l0IGEv dGVzdHMvbG9jYWwubWsgYi90ZXN0cy9sb2NhbC5tawppbmRleCBjYzY1ZmU2NTYuLmYzNTcy ODIyOSAxMDA2NDQKLS0tIGEvdGVzdHMvbG9jYWwubWsKKysrIGIvdGVzdHMvbG9jYWwubWsK QEAgLTE3NCw2ICsxNzQsNyBAQCBhbGxfdGVzdHMgPQkJCQkJXAogICB0ZXN0cy9jcC9uby1j dHguc2gJCQkJXAogICB0ZXN0cy90dHkvdHR5LWVvZi5wbAkJCQlcCiAgIHRlc3RzL21pc2Mv cmVhZC1lcnJvcnMuc2gJCQlcCisgIHRlc3RzL21pc2Mvd3JpdGUtZXJyb3JzLnNoCQkJXAog ICB0ZXN0cy90YWlsL2lub3RpZnktaGFzaC1hYnVzZS5zaAkJXAogICB0ZXN0cy90YWlsL2lu b3RpZnktaGFzaC1hYnVzZTIuc2gJCVwKICAgdGVzdHMvdGFpbC9GLXZzLW1pc3Npbmcuc2gJ CQlcCmRpZmYgLS1naXQgYS90ZXN0cy9taXNjL3dyaXRlLWVycm9ycy5zaCBiL3Rlc3RzL21p c2Mvd3JpdGUtZXJyb3JzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAw MC4uZjNiMmY2Yzc1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWlzYy93cml0ZS1lcnJv cnMuc2gKQEAgLTAsMCArMSw3MCBAQAorIyEvYmluL3NoCisjIE1ha2Ugc3VyZSBhbGwgb2Yg dGhlc2UgcHJvZ3JhbXMgcHJvbXB0bHkgZGlhZ25vc2Ugd3JpdGUgZXJyb3JzLgorCisjIENv cHlyaWdodCAoQykgMjAyMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworIyBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisjIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCisKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0u ICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisuICIk e3NyY2Rpcj0ufS90ZXN0cy9pbml0LnNoIjsgcGF0aF9wcmVwZW5kXyAuL3NyYworcHJpbnRf dmVyXyB0aW1lb3V0CisKK2lmICEgdGVzdCAtdyAvZGV2L2Z1bGwgfHwgISB0ZXN0IC1jIC9k ZXYvZnVsbDsgdGhlbgorICBza2lwXyAnTmVlZCAvZGV2L2Z1bGwnCitmaQorCisjIFdyaXRl cnMgdGhhdCBtYXkgb3V0cHV0IGRhdGEgaW5kZWZpbml0ZWx5CisjIEZpcnN0IHdvcmQgaW4g Y29tbWFuZCBsaW5lIGlzIGNoZWNrZWQgYWdhaW5zdCBidWlsdCBwcm9ncmFtcworZWNobyAi XAorY2F0IC9kZXYvemVybworIyBUT0RPOiBjb21tIC16IC9kZXYvemVybyAvZGV2L3plcm8K KyMgVE9ETzogY3V0IC16IC1jMS0gL2Rldi96ZXJvCitkZCBpZj0vZGV2L3plcm8KK2V4cGFu ZCAvZGV2L3plcm8KKyMgVE9ETzogYXZvaWQgZG91YmxlIGVycm9yIGZyb20gZXhwYW5kCitm YWN0b3IgLS12ZXJzaW9uOyB5ZXMgMSB8IGZhY3RvcgorIyBUT0RPOiBhdm9pZCBkb3VibGUg ZXJyb3IgZnJvbSBmYWN0b3IKKyMgVE9ETzogZm10IC9kZXYvemVybworIyBUT0RPOiBmb2xk IC1iIC9kZXYvemVybworaGVhZCAteiAtbi0xIC9kZXYvemVybworIyBUT0RPOiBqb2luIC1h IDEgLXogL2Rldi96ZXJvIC9kZXYvbnVsbAorIyBUT0RPOiBubCAtLXZlcnNpb247IHllcyB8 IG5sCisjIFRPRE86IG51bWZtdCAtLXZlcnNpb247IHllcyAxIHwgbnVtZm10CisjIFRPRE86 IG9kIC12IC9kZXYvemVybworcGFzdGUgL2Rldi96ZXJvCisjIFRPRE86IGF2b2lkIGRvdWJs ZSBlcnJvciBmcm9tIHBhc3RlCisjIFRPRE86IHByIC9kZXYvemVybworc2VxIGluZgorIyBU T0RPOiBhdm9pZCBkb3VibGUgZXJyb3IgZnJvbSBzaHVmCit0YWlsIC1uKzEgLXogL2Rldi96 ZXJvCit0ZWUgPCAvZGV2L3plcm8KK3RyIC4gLiA8IC9kZXYvemVybworIyBUT0RPOiBhdm9p ZCBkb3VibGUgZXJyb3IgZnJvbSB0cgordW5leHBhbmQgL2Rldi96ZXJvCisjIFRPRE86IGF2 b2lkIGRvdWJsZSBlcnJvciBmcm9tIHVuZXhwYW5kCisjIFRPRE86IHVuaXEgLXogLUQgL2Rl di96ZXJvCit5ZXMKKyIgfAorc29ydCAtayAxYiwxID4gYWxsX3dyaXRlcnMgfHwgZnJhbWV3 b3JrX2ZhaWx1cmVfCisKK3ByaW50ZiAnJXNcbicgJGJ1aWx0X3Byb2dyYW1zIHwKK3NvcnQg LWsgMWIsMSA+IGJ1aWx0X3Byb2dyYW1zIHx8IGZyYW1ld29ya19mYWlsdXJlXworCitqb2lu IGFsbF93cml0ZXJzIGJ1aWx0X3Byb2dyYW1zID4gYnVpbHRfd3JpdGVycyB8fCBmcmFtZXdv cmtfZmFpbHVyZV8KKword2hpbGUgcmVhZCB3cml0ZXI7IGRvCisgIHRpbWVvdXQgMTAgJFNI RUxMIC1jICIkd3JpdGVyID4gL2Rldi9mdWxsIgorICB0ZXN0ICQ/ID0gMTI0ICYmIHsgZmFp bD0xOyBlY2hvICIkd3JpdGVyOiBmYWlsZWQgdG8gZXhpdCIgPiYyOyB9Citkb25lIDwgYnVp bHRfd3JpdGVycworCitFeGl0ICRmYWlsCi0tIAoyLjQxLjAKCg== --------------LXN2xV1suROVkR5byxa0ft7y Content-Type: text/x-patch; charset=UTF-8; name="0002-all-avoid-repeated-diagnostic-upon-write-error.patch" Content-Disposition: attachment; filename*0="0002-all-avoid-repeated-diagnostic-upon-write-error.patch" Content-Transfer-Encoding: base64 RnJvbSA4MDA0ZGNkN2FkZWM5OTM4ZGUyZGNkOWZjY2JkMjY5ZGNkZDkyNmIxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/UD1DMz1BMWRyYWlnPTIwQnJhZHk/ PSA8UEBkcmFpZ0JyYWR5LmNvbT4KRGF0ZTogU2F0LCAxNSBKdWwgMjAyMyAyMDo0MTo0NCAr MDEwMApTdWJqZWN0OiBbUEFUQ0ggMi83XSBhbGw6IGF2b2lkIHJlcGVhdGVkIGRpYWdub3N0 aWMgdXBvbiB3cml0ZSBlcnJvcgoKKiBjZmcubWsgKHNjX3NvbWVfcHJvZ3JhbXNfbXVzdF9h dm9pZF9leGl0X2ZhaWx1cmUpOiBBZGp1c3QgdG8KYXZvaWQgZmFsc2UgcG9zaXRpdmUuCihz Y19wcm9oaWJpdF9leGl0X3dyaXRlX2Vycm9yKTogQSBuZXcgc3ludGF4IGNoZWNrIHRvIHBy b2hpYml0Cm9wZW4gY29kaW5nIGVycm9yKC4uLiwgIndyaXRlIGVycm9yIik7IGluc3RlYWQg ZGlyZWN0aWluZyB0byB1c2UuLi4KKiBzcmMvc3lzdGVtLmggKHdyaXRlX2Vycm9yKTogLi4u IGEgbmV3IGZ1bmN0aW9uIHRvIGNsZWFyIHN0ZG91dCBlcnJvcnMKYmVmb3JlIHdlIGV4cGxp Y2l0bHkgZGlhZ25vc2UgYSB3cml0ZSBlcnJvciBhbmQgZXhpdC4KKiBzcmMvYmFzZW5jLmM6 IFVzZSB3cml0ZV9lcnJvcigpIHRvIGVuc3VyZSBubyByZXBlYXRlZCBkaWFnbm9zdGljcy4K KiBzcmMvY2F0LmM6IExpa2V3aXNlLgoqIHNyYy9leHBhbmQuYzogTGlrZXdpc2UuCiogc3Jj L2ZhY3Rvci5jOiBMaWtld2lzZS4KKiBzcmMvcGFzdGUuYzogTGlrZXdpc2UuCiogc3JjL3Nl cS5jOiBMaWtld2lzZS4KKiBzcmMvc2h1Zi5jOiBMaWtld2lzZS4KKiBzcmMvc3BsaXQuYzog TGlrZXdpc2UuCiogc3JjL3RhaWwuYzogTGlrZXdpc2UuCiogc3JjL3RyLmM6IExpa2V3aXNl LgoqIHNyYy91bmV4cGFuZC5jOiBMaWtld2lzZS4KKiB0ZXN0cy9taXNjL3dyaXRlLWVycm9y cy5zaDogUmVtb3ZlIFRPRE9zIGZvciB0aGUgZml4ZWQgdXRpbGl0aWVzOgpleHBhbmQsIGZh Y3RvciwgcGFzdGUsIHNodWYsIHRyLCB1bmV4cGFuZC4KLS0tCiBjZmcubWsgICAgICAgICAg ICAgICAgICAgICB8ICA5ICsrKysrKysrLQogc3JjL2Jhc2VuYy5jICAgICAgICAgICAgICAg fCAxMCArKysrKy0tLS0tCiBzcmMvY2F0LmMgICAgICAgICAgICAgICAgICB8ICA4ICsrKyst LS0tCiBzcmMvZXhwYW5kLmMgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9mYWN0b3Iu YyAgICAgICAgICAgICAgIHwgIDIgKy0KIHNyYy9wYXN0ZS5jICAgICAgICAgICAgICAgIHwg IDggLS0tLS0tLS0KIHNyYy9zZXEuYyAgICAgICAgICAgICAgICAgIHwgMTggKysrKystLS0t LS0tLS0tLS0tCiBzcmMvc2h1Zi5jICAgICAgICAgICAgICAgICB8ICAyICstCiBzcmMvc3Bs aXQuYyAgICAgICAgICAgICAgICB8ICA3ICsrKy0tLS0KIHNyYy9zeXN0ZW0uaCAgICAgICAg ICAgICAgIHwgIDggKysrKysrKysKIHNyYy90YWlsLmMgICAgICAgICAgICAgICAgIHwgIDYg KysrLS0tCiBzcmMvdHIuYyAgICAgICAgICAgICAgICAgICB8ICA2ICsrKy0tLQogc3JjL3Vu ZXhwYW5kLmMgICAgICAgICAgICAgfCAgNCArKy0tCiB0ZXN0cy9taXNjL3dyaXRlLWVycm9y cy5zaCB8ICA2IC0tLS0tLQogMTQgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwg NTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY2ZnLm1rIGIvY2ZnLm1rCmluZGV4IGU3 YjA1MTljNC4uMmQ2ODU2ZTE1IDEwMDY0NAotLS0gYS9jZmcubWsKKysrIGIvY2ZnLm1rCkBA IC01MDMsNiArNTAzLDEyIEBAIHNjX3Byb2hpYml0X21hbl9zZWVfYWxzb19wZXJpb2Q6CiAJ ICB7IGVjaG8gJyQoTUUpOiBkbyBub3QgZW5kICJTRUUgQUxTTyIgc2VjdGlvbiB3aXRoIGEg cGVyaW9kJwlcCiAJICAgICAgMT4mMjsgZXhpdCAxOyB9IHx8IDoKIAorc2NfcHJvaGliaXRf ZXhpdF93cml0ZV9lcnJvcjoKKwlAcHJvaGliaXQ9J2Vycm9yLipFWElUX0ZBSUxVUkUuKndy aXRlIGVycm9yJyBcCisJaW5fdmNfZmlsZXM9J1wuYyQkJyBcCisJaGFsdD0nVXNlIHdyaXRl X2Vycm9yKCkgaW5zdGVhZCcgXAorCSAgJChfc2Nfc2VhcmNoX3JlZ2V4cCkKKwogIyBEb24n dCB1c2UgImluZGVudC10YWJzLW1vZGU6IG5pbCIgYW55bW9yZS4gIE5vIGxvbmdlciBuZWVk ZWQuCiBzY19wcm9oaWJpdF9lbWFjc19faW5kZW50X3RhYnNfbW9kZV9fc2V0dGluZzoKIAlA cHJvaGliaXQ9J14oICpbKiNdICopP2luZGVudC10YWJzLW1vZGU6JwkJCVwKQEAgLTYyMCw3 ICs2MjYsOCBAQCBzY19wcm9oaWJpdF90ZXN0X2VtcHR5Ogogc2Nfc29tZV9wcm9ncmFtc19t dXN0X2F2b2lkX2V4aXRfZmFpbHVyZToKIAlAY2QgJChzcmNkaXIpCQkJCQkJCVwKIAkmJiBn cmVwIC1udyBFWElUX0ZBSUxVUkUJCQkJCVwKLQkgICAgJCQoZ2l0IGdyZXAgLUVsICdbXlRd X0ZBSUxVUkV8RVhJVF9DQU5DRUxFRCcgJChzcmNkaXIpL3NyYykJXAorCSAgICAkJChnaXQg Z3JlcCAtRWwgJ1teVF1fRkFJTFVSRXxFWElUX0NBTkNFTEVEJyBzcmMvKQkJXAorCSAgfCBn cmVwIC12ICdec3JjL3N5c3RlbVwuaDonCQkJCQlcCiAJICB8IGdyZXAgLXZFICc9IEVYSVRf RkFJTFVSRXxyZXR1cm4gLiogXD8nIHwgZ3JlcCAuCQlcCiAJICAgICYmIHsgZWNobyAnJChN RSk6IGRvIG5vdCB1c2UgRVhJVF9GQUlMVVJFIGluIHRoZSBhYm92ZScJXAogCQkgIDE+JjI7 IGV4aXQgMTsgfSB8fCA6CmRpZmYgLS1naXQgYS9zcmMvYmFzZW5jLmMgYi9zcmMvYmFzZW5j LmMKaW5kZXggOTE1MmFkMGRlLi5iZTdhNjE2NDEgMTAwNjQ0Ci0tLSBhL3NyYy9iYXNlbmMu YworKysgYi9zcmMvYmFzZW5jLmMKQEAgLTkyNCw3ICs5MjQsNyBAQCB3cmFwX3dyaXRlIChj aGFyIGNvbnN0ICpidWZmZXIsIGlkeF90IGxlbiwKICAgICB7CiAgICAgICAvKiBTaW1wbGUg d3JpdGUuICovCiAgICAgICBpZiAoZndyaXRlIChidWZmZXIsIDEsIGxlbiwgc3Rkb3V0KSA8 IGxlbikKLSAgICAgICAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgZXJybm8sIF8oIndyaXRlIGVy cm9yIikpOworICAgICAgICB3cml0ZV9lcnJvciAoKTsKICAgICB9CiAgIGVsc2UKICAgICBm b3IgKGlkeF90IHdyaXR0ZW4gPSAwOyB3cml0dGVuIDwgbGVuOyApCkBAIC05MzQsMTMgKzkz NCwxMyBAQCB3cmFwX3dyaXRlIChjaGFyIGNvbnN0ICpidWZmZXIsIGlkeF90IGxlbiwKICAg ICAgICAgaWYgKHRvX3dyaXRlID09IDApCiAgICAgICAgICAgewogICAgICAgICAgICAgaWYg KGZwdXRjICgnXG4nLCBvdXQpID09IEVPRikKLSAgICAgICAgICAgICAgZXJyb3IgKEVYSVRf RkFJTFVSRSwgZXJybm8sIF8oIndyaXRlIGVycm9yIikpOworICAgICAgICAgICAgICB3cml0 ZV9lcnJvciAoKTsKICAgICAgICAgICAgICpjdXJyZW50X2NvbHVtbiA9IDA7CiAgICAgICAg ICAgfQogICAgICAgICBlbHNlCiAgICAgICAgICAgewogICAgICAgICAgICAgaWYgKGZ3cml0 ZSAoYnVmZmVyICsgd3JpdHRlbiwgMSwgdG9fd3JpdGUsIHN0ZG91dCkgPCB0b193cml0ZSkK LSAgICAgICAgICAgICAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgZXJybm8sIF8oIndyaXRlIGVy cm9yIikpOworICAgICAgICAgICAgICB3cml0ZV9lcnJvciAoKTsKICAgICAgICAgICAgICpj dXJyZW50X2NvbHVtbiArPSB0b193cml0ZTsKICAgICAgICAgICAgIHdyaXR0ZW4gKz0gdG9f d3JpdGU7CiAgICAgICAgICAgfQpAQCAtOTk3LDcgKzk5Nyw3IEBAIGRvX2VuY29kZSAoRklM RSAqaW4sIGNoYXIgY29uc3QgKmluZmlsZSwgRklMRSAqb3V0LCBpZHhfdCB3cmFwX2NvbHVt bikKIAogICAvKiBXaGVuIHdyYXBwaW5nLCB0ZXJtaW5hdGUgbGFzdCBsaW5lLiAqLwogICBp ZiAod3JhcF9jb2x1bW4gJiYgY3VycmVudF9jb2x1bW4gPiAwICYmIGZwdXRjICgnXG4nLCBv dXQpID09IEVPRikKLSAgICBlcnJvciAoRVhJVF9GQUlMVVJFLCBlcnJubywgXygid3JpdGUg ZXJyb3IiKSk7CisgICAgd3JpdGVfZXJyb3IgKCk7CiAKICAgaWYgKGZlcnJvciAoaW4pKQog ICAgIGVycm9yIChFWElUX0ZBSUxVUkUsIGVycm5vLCBfKCJyZWFkIGVycm9yIikpOwpAQCAt MTA2MCw3ICsxMDYwLDcgQEAgZG9fZGVjb2RlIChGSUxFICppbiwgY2hhciBjb25zdCAqaW5m aWxlLCBGSUxFICpvdXQsIGJvb2wgaWdub3JlX2dhcmJhZ2UpCiAgICAgICAgICAgb2sgPSBi YXNlX2RlY29kZV9jdHggKCZjdHgsIGluYnVmLCAoayA9PSAwID8gc3VtIDogMCksIG91dGJ1 ZiwgJm4pOwogCiAgICAgICAgICAgaWYgKGZ3cml0ZSAob3V0YnVmLCAxLCBuLCBvdXQpIDwg bikKLSAgICAgICAgICAgIGVycm9yIChFWElUX0ZBSUxVUkUsIGVycm5vLCBfKCJ3cml0ZSBl cnJvciIpKTsKKyAgICAgICAgICAgIHdyaXRlX2Vycm9yICgpOwogCiAgICAgICAgICAgaWYg KCFvaykKICAgICAgICAgICAgIGVycm9yIChFWElUX0ZBSUxVUkUsIDAsIF8oImludmFsaWQg aW5wdXQiKSk7CmRpZmYgLS1naXQgYS9zcmMvY2F0LmMgYi9zcmMvY2F0LmMKaW5kZXggODgw ZmNmMmU3Li5iMTA5OTk4YmYgMTAwNjQ0Ci0tLSBhL3NyYy9jYXQuYworKysgYi9zcmMvY2F0 LmMKQEAgLTE3OCw3ICsxNzgsNyBAQCBzaW1wbGVfY2F0IChjaGFyICpidWYsIGlkeF90IGJ1 ZnNpemUpCiAgICAgICAvKiBXcml0ZSB0aGlzIGJsb2NrIG91dC4gICovCiAKICAgICAgIGlm IChmdWxsX3dyaXRlIChTVERPVVRfRklMRU5PLCBidWYsIG5fcmVhZCkgIT0gbl9yZWFkKQot ICAgICAgICBlcnJvciAoRVhJVF9GQUlMVVJFLCBlcnJubywgXygid3JpdGUgZXJyb3IiKSk7 CisgICAgICAgIHdyaXRlX2Vycm9yICgpOwogICAgIH0KIH0KIApAQCAtMTkzLDcgKzE5Myw3 IEBAIHdyaXRlX3BlbmRpbmcgKGNoYXIgKm91dGJ1ZiwgY2hhciAqKmJwb3V0KQogICBpZiAo MCA8IG5fd3JpdGUpCiAgICAgewogICAgICAgaWYgKGZ1bGxfd3JpdGUgKFNURE9VVF9GSUxF Tk8sIG91dGJ1Ziwgbl93cml0ZSkgIT0gbl93cml0ZSkKLSAgICAgICAgZXJyb3IgKEVYSVRf RkFJTFVSRSwgZXJybm8sIF8oIndyaXRlIGVycm9yIikpOworICAgICAgICB3cml0ZV9lcnJv ciAoKTsKICAgICAgICpicG91dCA9IG91dGJ1ZjsKICAgICB9CiB9CkBAIC0yNTcsNyArMjU3 LDcgQEAgY2F0IChjaGFyICppbmJ1ZiwgaWR4X3QgaW5zaXplLCBjaGFyICpvdXRidWYsIGlk eF90IG91dHNpemUsCiAgICAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgaWYgKGZ1bGxfd3JpdGUgKFNURE9VVF9GSUxFTk8sIHdwLCBvdXRz aXplKSAhPSBvdXRzaXplKQotICAgICAgICAgICAgICAgICAgICBlcnJvciAoRVhJVF9GQUlM VVJFLCBlcnJubywgXygid3JpdGUgZXJyb3IiKSk7CisgICAgICAgICAgICAgICAgICAgIHdy aXRlX2Vycm9yICgpOwogICAgICAgICAgICAgICAgICAgd3AgKz0gb3V0c2l6ZTsKICAgICAg ICAgICAgICAgICAgIHJlbWFpbmluZ19ieXRlcyA9IGJwb3V0IC0gd3A7CiAgICAgICAgICAg ICAgICAgfQpAQCAtNzk0LDcgKzc5NCw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJn dikKICAgaWYgKHBlbmRpbmdfY3IpCiAgICAgewogICAgICAgaWYgKGZ1bGxfd3JpdGUgKFNU RE9VVF9GSUxFTk8sICJcciIsIDEpICE9IDEpCi0gICAgICAgIGVycm9yIChFWElUX0ZBSUxV UkUsIGVycm5vLCBfKCJ3cml0ZSBlcnJvciIpKTsKKyAgICAgICAgd3JpdGVfZXJyb3IgKCk7 CiAgICAgfQogCiAgIGlmIChoYXZlX3JlYWRfc3RkaW4gJiYgY2xvc2UgKFNURElOX0ZJTEVO TykgPCAwKQpkaWZmIC0tZ2l0IGEvc3JjL2V4cGFuZC5jIGIvc3JjL2V4cGFuZC5jCmluZGV4 IGFkYWQ5ZDlkOC4uMGU3NGQwY2Y2IDEwMDY0NAotLS0gYS9zcmMvZXhwYW5kLmMKKysrIGIv c3JjL2V4cGFuZC5jCkBAIC0xNDQsNyArMTQ0LDcgQEAgZXhwYW5kICh2b2lkKQogCiAgICAg ICAgICAgICAgICAgICB3aGlsZSAoKytjb2x1bW4gPCBuZXh0X3RhYl9jb2x1bW4pCiAgICAg ICAgICAgICAgICAgICAgIGlmIChwdXRjaGFyICgnICcpIDwgMCkKLSAgICAgICAgICAgICAg ICAgICAgICBlcnJvciAoRVhJVF9GQUlMVVJFLCBlcnJubywgXygid3JpdGUgZXJyb3IiKSk7 CisgICAgICAgICAgICAgICAgICAgICAgd3JpdGVfZXJyb3IgKCk7CiAKICAgICAgICAgICAg ICAgICAgIGMgPSAnICc7CiAgICAgICAgICAgICAgICAgfQpAQCAtMTY5LDcgKzE2OSw3IEBA IGV4cGFuZCAodm9pZCkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAgIGlmIChw dXRjaGFyIChjKSA8IDApCi0gICAgICAgICAgICBlcnJvciAoRVhJVF9GQUlMVVJFLCBlcnJu bywgXygid3JpdGUgZXJyb3IiKSk7CisgICAgICAgICAgICB3cml0ZV9lcnJvciAoKTsKICAg ICAgICAgfQogICAgICAgd2hpbGUgKGMgIT0gJ1xuJyk7CiAgICAgfQpkaWZmIC0tZ2l0IGEv c3JjL2ZhY3Rvci5jIGIvc3JjL2ZhY3Rvci5jCmluZGV4IDhlYTAwYTEzZS4uZTBhOTgxNTJj IDEwMDY0NAotLS0gYS9zcmMvZmFjdG9yLmMKKysrIGIvc3JjL2ZhY3Rvci5jCkBAIC0yMzYx LDcgKzIzNjEsNyBAQCBsYnVmX2ZsdXNoICh2b2lkKQogewogICBzaXplX3Qgc2l6ZSA9IGxi dWYuZW5kIC0gbGJ1Zi5idWY7CiAgIGlmIChmdWxsX3dyaXRlIChTVERPVVRfRklMRU5PLCBs YnVmLmJ1Ziwgc2l6ZSkgIT0gc2l6ZSkKLSAgICBlcnJvciAoRVhJVF9GQUlMVVJFLCBlcnJu bywgIiVzIiwgXygid3JpdGUgZXJyb3IiKSk7CisgICAgd3JpdGVfZXJyb3IgKCk7CiAgIGxi dWYuZW5kID0gbGJ1Zi5idWY7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9wYXN0ZS5jIGIvc3Jj L3Bhc3RlLmMKaW5kZXggNzNkZGQxZGU2Li42OGY4YTM2ZWYgMTAwNjQ0Ci0tLSBhL3NyYy9w YXN0ZS5jCisrKyBiL3NyYy9wYXN0ZS5jCkBAIC0xNTIsMTQgKzE1Miw2IEBAIGNvbGxhcHNl X2VzY2FwZXMgKGNoYXIgY29uc3QgKnN0cnB0cikKICAgcmV0dXJuIGJhY2tzbGFzaF9hdF9l bmQgPyAxIDogMDsKIH0KIAotLyogUmVwb3J0IGEgd3JpdGUgZXJyb3IgYW5kIGV4aXQuICAq LwotCi1zdGF0aWMgdm9pZAotd3JpdGVfZXJyb3IgKHZvaWQpCi17Ci0gIGVycm9yIChFWElU X0ZBSUxVUkUsIGVycm5vLCBfKCJ3cml0ZSBlcnJvciIpKTsKLX0KLQogLyogT3V0cHV0IGEg c2luZ2xlIGJ5dGUsIHJlcG9ydGluZyBhbnkgd3JpdGUgZXJyb3JzLiAgKi8KIAogc3RhdGlj IGlubGluZSB2b2lkCmRpZmYgLS1naXQgYS9zcmMvc2VxLmMgYi9zcmMvc2VxLmMKaW5kZXgg NjMzMTg5YzQwLi45Nzc3MDJiYjUgMTAwNjQ0Ci0tLSBhL3NyYy9zZXEuYworKysgYi9zcmMv c2VxLmMKQEAgLTI4NSwxNCArMjg1LDYgQEAgbG9uZ19kb3VibGVfZm9ybWF0IChjaGFyIGNv bnN0ICpmbXQsIHN0cnVjdCBsYXlvdXQgKmxheW91dCkKICAgICAgIH0KIH0KIAotc3RhdGlj IHZvaWQKLWlvX2Vycm9yICh2b2lkKQotewotICAvKiBGSVhNRTogY29uc2lkZXIgb3B0aW9u IHRvIHNpbGVudGx5IGlnbm9yZSBlcnJubz1FUElQRSAqLwotICBjbGVhcmVyciAoc3Rkb3V0 KTsKLSAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgZXJybm8sIF8oIndyaXRlIGVycm9yIikpOwot fQotCiAvKiBBY3R1YWxseSBwcmludCB0aGUgc2VxdWVuY2Ugb2YgbnVtYmVycyBpbiB0aGUg c3BlY2lmaWVkIHJhbmdlLCB3aXRoIHRoZQogICAgZ2l2ZW4gb3IgZGVmYXVsdCBzdGVwcGlu ZyBhbmQgZm9ybWF0LiAgKi8KIApAQCAtMzExLDcgKzMwMyw3IEBAIHByaW50X251bWJlcnMg KGNoYXIgY29uc3QgKmZtdCwgc3RydWN0IGxheW91dCBsYXlvdXQsCiAgICAgICAgIHsKICAg ICAgICAgICBsb25nIGRvdWJsZSB4MCA9IHg7CiAgICAgICAgICAgaWYgKHByaW50ZiAoZm10 LCB4KSA8IDApCi0gICAgICAgICAgICBpb19lcnJvciAoKTsKKyAgICAgICAgICAgIHdyaXRl X2Vycm9yICgpOwogICAgICAgICAgIGlmIChvdXRfb2ZfcmFuZ2UpCiAgICAgICAgICAgICBi cmVhazsKICAgICAgICAgICB4ID0gZmlyc3QgKyBpICogc3RlcDsKQEAgLTM1OCwxMSArMzUw LDExIEBAIHByaW50X251bWJlcnMgKGNoYXIgY29uc3QgKmZtdCwgc3RydWN0IGxheW91dCBs YXlvdXQsCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICBpZiAoZnB1dHMgKHNlcGFyYXRv ciwgc3Rkb3V0KSA9PSBFT0YpCi0gICAgICAgICAgICBpb19lcnJvciAoKTsKKyAgICAgICAg ICAgIHdyaXRlX2Vycm9yICgpOwogICAgICAgICB9CiAKICAgICAgIGlmIChmcHV0cyAodGVy bWluYXRvciwgc3Rkb3V0KSA9PSBFT0YpCi0gICAgICAgIGlvX2Vycm9yICgpOworICAgICAg ICB3cml0ZV9lcnJvciAoKTsKICAgICB9CiB9CiAKQEAgLTUzOSw3ICs1MzEsNyBAQCBzZXFf ZmFzdCAoY2hhciBjb25zdCAqYSwgY2hhciBjb25zdCAqYiwgdWludG1heF90IHN0ZXApCiAg ICAgICAgICAgaWYgKGJ1Zl9lbmQgLSAocF9sZW4gKyAxKSA8IGJ1ZnApCiAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgIGlmIChmd3JpdGUgKGJ1ZiwgYnVmcCAtIGJ1ZiwgMSwgc3Rk b3V0KSAhPSAxKQotICAgICAgICAgICAgICAgIGlvX2Vycm9yICgpOworICAgICAgICAgICAg ICAgIHdyaXRlX2Vycm9yICgpOwogICAgICAgICAgICAgICBidWZwID0gYnVmOwogICAgICAg ICAgICAgfQogICAgICAgICB9CkBAIC01NDcsNyArNTM5LDcgQEAgc2VxX2Zhc3QgKGNoYXIg Y29uc3QgKmEsIGNoYXIgY29uc3QgKmIsIHVpbnRtYXhfdCBzdGVwKQogICAgICAgLyogV3Jp dGUgYW55IHJlbWFpbmluZyBidWZmZXJlZCBvdXRwdXQsIGFuZCB0aGUgdGVybWluYXRvci4g ICovCiAgICAgICAqYnVmcCsrID0gKnRlcm1pbmF0b3I7CiAgICAgICBpZiAoZndyaXRlIChi dWYsIGJ1ZnAgLSBidWYsIDEsIHN0ZG91dCkgIT0gMSkKLSAgICAgICAgaW9fZXJyb3IgKCk7 CisgICAgICAgIHdyaXRlX2Vycm9yICgpOwogICAgIH0KIAogICBpZiAob2spCmRpZmYgLS1n aXQgYS9zcmMvc2h1Zi5jIGIvc3JjL3NodWYuYwppbmRleCA0MzZmMzI3ZTEuLmJlMDdjNGE0 NyAxMDA2NDQKLS0tIGEvc3JjL3NodWYuYworKysgYi9zcmMvc2h1Zi5jCkBAIC01OTcsNyAr NTk3LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgIH0KIAogICBpZiAo aSAhPSAwKQotICAgIGVycm9yIChFWElUX0ZBSUxVUkUsIGVycm5vLCBfKCJ3cml0ZSBlcnJv ciIpKTsKKyAgICB3cml0ZV9lcnJvciAoKTsKIAogICBtYWluX2V4aXQgKEVYSVRfU1VDQ0VT Uyk7CiB9CmRpZmYgLS1naXQgYS9zcmMvc3BsaXQuYyBiL3NyYy9zcGxpdC5jCmluZGV4IGEz YWI4ZDg4Yi4uYmZlMzkxNzI4IDEwMDY0NAotLS0gYS9zcmMvc3BsaXQuYworKysgYi9zcmMv c3BsaXQuYwpAQCAtOTU3LDcgKzk1Nyw3IEBAIGxpbmVzX2NodW5rX3NwbGl0IChpbnRtYXhf dCBrLCBpbnRtYXhfdCBuLCBjaGFyICpidWYsIGlkeF90IGJ1ZnNpemUsCiAgICAgICAgICAg ICAgICAgIGxhcmdlIGNodW5rcyBmcm9tIGFuIGV4aXN0aW5nIGZpbGUsIHNvIGl0J3MgbW9y ZSBlZmZpY2llbnQKICAgICAgICAgICAgICAgICAgdG8gd3JpdGUgb3V0IGRpcmVjdGx5LiAg Ki8KICAgICAgICAgICAgICAgaWYgKGZ1bGxfd3JpdGUgKFNURE9VVF9GSUxFTk8sIGJwLCB0 b193cml0ZSkgIT0gdG9fd3JpdGUpCi0gICAgICAgICAgICAgICAgZXJyb3IgKEVYSVRfRkFJ TFVSRSwgZXJybm8sICIlcyIsIF8oIndyaXRlIGVycm9yIikpOworICAgICAgICAgICAgICAg IHdyaXRlX2Vycm9yICgpOwogICAgICAgICAgICAgfQogICAgICAgICAgIGVsc2UgaWYgKCEg aykKICAgICAgICAgICAgIGN3cml0ZSAobmV3X2ZpbGVfZmxhZywgYnAsIHRvX3dyaXRlKTsK QEAgLTEyMTQsMTIgKzEyMTQsMTEgQEAgbGluZXNfcnIgKGludG1heF90IGssIGludG1heF90 IG4sIGNoYXIgKmJ1ZiwgaWR4X3QgYnVmc2l6ZSwgb2ZfdCAqKmZpbGVzcCkKICAgICAgICAg ICAgICAgaWYgKGxpbmVfbm8gPT0gayAmJiB1bmJ1ZmZlcmVkKQogICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgIGlmIChmdWxsX3dyaXRlIChTVERPVVRfRklMRU5PLCBi cCwgdG9fd3JpdGUpICE9IHRvX3dyaXRlKQotICAgICAgICAgICAgICAgICAgICBlcnJvciAo RVhJVF9GQUlMVVJFLCBlcnJubywgIiVzIiwgXygid3JpdGUgZXJyb3IiKSk7CisgICAgICAg ICAgICAgICAgICAgIHdyaXRlX2Vycm9yICgpOwogICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgZWxzZSBpZiAobGluZV9ubyA9PSBrICYmIGZ3cml0ZSAoYnAsIHRvX3dyaXRl LCAxLCBzdGRvdXQpICE9IDEpCiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg ICAgY2xlYXJlcnIgKHN0ZG91dCk7IC8qIFRvIHNpbGVuY2UgY2xvc2Vfc3Rkb3V0KCkuICAq LwotICAgICAgICAgICAgICAgICAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgZXJybm8sICIlcyIs IF8oIndyaXRlIGVycm9yIikpOworICAgICAgICAgICAgICAgICAgd3JpdGVfZXJyb3IgKCk7 CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICBpZiAobmV4dCkKICAgICAgICAg ICAgICAgICBsaW5lX25vID0gKGxpbmVfbm8gPT0gbikgPyAxIDogbGluZV9ubyArIDE7CmRp ZmYgLS1naXQgYS9zcmMvc3lzdGVtLmggYi9zcmMvc3lzdGVtLmgKaW5kZXggYzhjOGQ1MmYy Li42YzA4ODNmNGQgMTAwNjQ0Ci0tLSBhL3NyYy9zeXN0ZW0uaAorKysgYi9zcmMvc3lzdGVt LmgKQEAgLTc2Miw2ICs3NjIsMTQgQEAgVGhlIGZvbGxvd2luZyBkaXJlY3RvcnkgaXMgcGFy dCBvZiB0aGUgY3ljbGU6XG4gICVzXG4iKSwgXAogICAgIH0JCQkJCVwKICAgd2hpbGUgKDAp CiAKK3N0YXRpYyBpbmxpbmUgdm9pZAord3JpdGVfZXJyb3IgKHZvaWQpCit7CisgIGZmbHVz aCAoc3Rkb3V0KTsgICAgLyogRW5zdXJlIG5vdGhpbmcgYnVmZmVyZWQgdGhhdCBtaWdodCBp bmR1Y2UgYW4gZXJyb3IuICovCisgIGNsZWFyZXJyIChzdGRvdXQpOyAgLyogVG8gYXZvaWQg ZXh0cmFuZW91cyBkaWFnbm9zdGljIGZyb20gY2xvc2Vfc3Rkb3V0LiAgKi8KKyAgZXJyb3Ig KEVYSVRfRkFJTFVSRSwgZXJybm8sIF8oIndyaXRlIGVycm9yIikpOworfQorCiAvKiBMaWtl IHN0cG5jcHksIGJ1dCBkbyBlbnN1cmUgdGhhdCB0aGUgcmVzdWx0IGlzIE5VTC10ZXJtaW5h dGVkLAogICAgYW5kIGRvIG5vdCBOVUwtcGFkIG91dCB0byBMRU4uICBJLmUuLCB3aGVuIHN0 cm5sZW4gKHNyYywgbGVuKSA9PSBsZW4sCiAgICB0aGlzIGZ1bmN0aW9uIHdyaXRlcyBhIE5V TCBieXRlIGludG8gZGVzdFtsZW5dLiAgVGh1cywgdGhlIGxlbmd0aApkaWZmIC0tZ2l0IGEv c3JjL3RhaWwuYyBiL3NyYy90YWlsLmMKaW5kZXggZGIwOTEzNjUyLi5hN2U2ODFmOGUgMTAw NjQ0Ci0tLSBhL3NyYy90YWlsLmMKKysrIGIvc3JjL3RhaWwuYwpAQCAtMTI2Myw3ICsxMjYz LDcgQEAgdGFpbF9mb3JldmVyIChzdHJ1Y3QgRmlsZV9zcGVjICpmLCBzaXplX3Qgbl9maWxl cywgZG91YmxlIHNsZWVwX2ludGVydmFsKQogICAgICAgICB9CiAKICAgICAgIGlmICgoIWFu eV9pbnB1dCB8fCBibG9ja2luZykgJiYgZmZsdXNoIChzdGRvdXQpICE9IDApCi0gICAgICAg IGVycm9yIChFWElUX0ZBSUxVUkUsIGVycm5vLCBfKCJ3cml0ZSBlcnJvciIpKTsKKyAgICAg ICAgd3JpdGVfZXJyb3IgKCk7CiAKICAgICAgIGNoZWNrX291dHB1dF9hbGl2ZSAoKTsKIApA QCAtMTQxNyw3ICsxNDE3LDcgQEAgY2hlY2tfZnNwZWMgKHN0cnVjdCBGaWxlX3NwZWMgKmZz cGVjLCBzdHJ1Y3QgRmlsZV9zcGVjICoqcHJldl9mc3BlYykKICAgICB7CiAgICAgICAqcHJl dl9mc3BlYyA9IGZzcGVjOwogICAgICAgaWYgKGZmbHVzaCAoc3Rkb3V0KSAhPSAwKQotICAg ICAgICBlcnJvciAoRVhJVF9GQUlMVVJFLCBlcnJubywgXygid3JpdGUgZXJyb3IiKSk7Cisg ICAgICAgIHdyaXRlX2Vycm9yICgpOwogICAgIH0KIH0KIApAQCAtMjQ1NCw3ICsyNDU0LDcg QEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgICAgICB0YWls X2ZvcmV2ZXJfaW5vdGlmeSBmbHVzaGVzIG9ubHkgYWZ0ZXIgd3JpdGluZywKICAgICAgICAg ICAgICAgICAgbm90IGJlZm9yZSByZWFkaW5nLiAgKi8KICAgICAgICAgICAgICAgaWYgKGZm bHVzaCAoc3Rkb3V0KSAhPSAwKQotICAgICAgICAgICAgICAgIGVycm9yIChFWElUX0ZBSUxV UkUsIGVycm5vLCBfKCJ3cml0ZSBlcnJvciIpKTsKKyAgICAgICAgICAgICAgICB3cml0ZV9l cnJvciAoKTsKIAogICAgICAgICAgICAgICBIYXNoX3RhYmxlICpodDsKICAgICAgICAgICAg ICAgdGFpbF9mb3JldmVyX2lub3RpZnkgKHdkLCBGLCBuX2ZpbGVzLCBzbGVlcF9pbnRlcnZh bCwgJmh0KTsKZGlmZiAtLWdpdCBhL3NyYy90ci5jIGIvc3JjL3RyLmMKaW5kZXggYWY0NzAy MWRjLi43OTllMTYwOWUgMTAwNjQ0Ci0tLSBhL3NyYy90ci5jCisrKyBiL3NyYy90ci5jCkBA IC0xNTcxLDcgKzE1NzEsNyBAQCBzcXVlZXplX2ZpbHRlciAoY2hhciAqYnVmLCBzaXplX3Qg c2l6ZSwgc2l6ZV90ICgqcmVhZGVyKSAoY2hhciAqLCBzaXplX3QpKQogICAgICAgICAgICAg fQogICAgICAgICAgIGlmIChvdXRfbGVuID4gMAogICAgICAgICAgICAgICAmJiBmd3JpdGUg KCZidWZbYmVnaW5dLCAxLCBvdXRfbGVuLCBzdGRvdXQpICE9IG91dF9sZW4pCi0gICAgICAg ICAgICBlcnJvciAoRVhJVF9GQUlMVVJFLCBlcnJubywgXygid3JpdGUgZXJyb3IiKSk7Cisg ICAgICAgICAgICB3cml0ZV9lcnJvciAoKTsKICAgICAgICAgfQogCiAgICAgICBpZiAoY2hh cl90b19zcXVlZXplICE9IE5PVF9BX0NIQVIpCkBAIC0xNzk3LDcgKzE3OTcsNyBAQCBtYWlu IChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICAgaWYgKG5yID09IDApCiAgICAg ICAgICAgICBicmVhazsKICAgICAgICAgICBpZiAoZndyaXRlIChpb19idWYsIDEsIG5yLCBz dGRvdXQpICE9IG5yKQotICAgICAgICAgICAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgZXJybm8s IF8oIndyaXRlIGVycm9yIikpOworICAgICAgICAgICAgd3JpdGVfZXJyb3IgKCk7CiAgICAg ICAgIH0KICAgICB9CiAgIGVsc2UgaWYgKHNxdWVlemVfcmVwZWF0cyAmJiBkZWxldGUgJiYg bm9uX29wdGlvbl9hcmdzID09IDIpCkBAIC0xODg5LDcgKzE4ODksNyBAQCBtYWluIChpbnQg YXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICAgICAgIGlmIChieXRlc19yZWFkID09IDAp CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgIGlmIChmd3JpdGUgKGlv X2J1ZiwgMSwgYnl0ZXNfcmVhZCwgc3Rkb3V0KSAhPSBieXRlc19yZWFkKQotICAgICAgICAg ICAgICAgIGVycm9yIChFWElUX0ZBSUxVUkUsIGVycm5vLCBfKCJ3cml0ZSBlcnJvciIpKTsK KyAgICAgICAgICAgICAgICB3cml0ZV9lcnJvciAoKTsKICAgICAgICAgICAgIH0KICAgICAg ICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL3NyYy91bmV4cGFuZC5jIGIvc3JjL3VuZXhwYW5k LmMKaW5kZXggODUwNWEwNzYxLi41YTIyODNmZGQgMTAwNjQ0Ci0tLSBhL3NyYy91bmV4cGFu ZC5jCisrKyBiL3NyYy91bmV4cGFuZC5jCkBAIC0yMjgsNyArMjI4LDcgQEAgdW5leHBhbmQg KHZvaWQpCiAgICAgICAgICAgICAgICAgICBpZiAocGVuZGluZyA+IDEgJiYgb25lX2JsYW5r X2JlZm9yZV90YWJfc3RvcCkKICAgICAgICAgICAgICAgICAgICAgcGVuZGluZ19ibGFua1sw XSA9ICdcdCc7CiAgICAgICAgICAgICAgICAgICBpZiAoZndyaXRlIChwZW5kaW5nX2JsYW5r LCAxLCBwZW5kaW5nLCBzdGRvdXQpICE9IHBlbmRpbmcpCi0gICAgICAgICAgICAgICAgICAg IGVycm9yIChFWElUX0ZBSUxVUkUsIGVycm5vLCBfKCJ3cml0ZSBlcnJvciIpKTsKKyAgICAg ICAgICAgICAgICAgICAgd3JpdGVfZXJyb3IgKCk7CiAgICAgICAgICAgICAgICAgICBwZW5k aW5nID0gMDsKICAgICAgICAgICAgICAgICAgIG9uZV9ibGFua19iZWZvcmVfdGFiX3N0b3Ag PSBmYWxzZTsKICAgICAgICAgICAgICAgICB9CkBAIC0yNDQsNyArMjQ0LDcgQEAgdW5leHBh bmQgKHZvaWQpCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICBpZiAocHV0Y2hhciAoYykg PCAwKQotICAgICAgICAgICAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgZXJybm8sIF8oIndyaXRl IGVycm9yIikpOworICAgICAgICAgICAgd3JpdGVfZXJyb3IgKCk7CiAgICAgICAgIH0KICAg ICAgIHdoaWxlIChjICE9ICdcbicpOwogICAgIH0KZGlmZiAtLWdpdCBhL3Rlc3RzL21pc2Mv d3JpdGUtZXJyb3JzLnNoIGIvdGVzdHMvbWlzYy93cml0ZS1lcnJvcnMuc2gKaW5kZXggZjNi MmY2Yzc1Li4zMjA1MTUwOGIgMTAwNzU1Ci0tLSBhL3Rlc3RzL21pc2Mvd3JpdGUtZXJyb3Jz LnNoCisrKyBiL3Rlc3RzL21pc2Mvd3JpdGUtZXJyb3JzLnNoCkBAIC0zMSw5ICszMSw3IEBA IGNhdCAvZGV2L3plcm8KICMgVE9ETzogY3V0IC16IC1jMS0gL2Rldi96ZXJvCiBkZCBpZj0v ZGV2L3plcm8KIGV4cGFuZCAvZGV2L3plcm8KLSMgVE9ETzogYXZvaWQgZG91YmxlIGVycm9y IGZyb20gZXhwYW5kCiBmYWN0b3IgLS12ZXJzaW9uOyB5ZXMgMSB8IGZhY3RvcgotIyBUT0RP OiBhdm9pZCBkb3VibGUgZXJyb3IgZnJvbSBmYWN0b3IKICMgVE9ETzogZm10IC9kZXYvemVy bwogIyBUT0RPOiBmb2xkIC1iIC9kZXYvemVybwogaGVhZCAteiAtbi0xIC9kZXYvemVybwpA QCAtNDIsMTYgKzQwLDEyIEBAIGhlYWQgLXogLW4tMSAvZGV2L3plcm8KICMgVE9ETzogbnVt Zm10IC0tdmVyc2lvbjsgeWVzIDEgfCBudW1mbXQKICMgVE9ETzogb2QgLXYgL2Rldi96ZXJv CiBwYXN0ZSAvZGV2L3plcm8KLSMgVE9ETzogYXZvaWQgZG91YmxlIGVycm9yIGZyb20gcGFz dGUKICMgVE9ETzogcHIgL2Rldi96ZXJvCiBzZXEgaW5mCi0jIFRPRE86IGF2b2lkIGRvdWJs ZSBlcnJvciBmcm9tIHNodWYKIHRhaWwgLW4rMSAteiAvZGV2L3plcm8KIHRlZSA8IC9kZXYv emVybwogdHIgLiAuIDwgL2Rldi96ZXJvCi0jIFRPRE86IGF2b2lkIGRvdWJsZSBlcnJvciBm cm9tIHRyCiB1bmV4cGFuZCAvZGV2L3plcm8KLSMgVE9ETzogYXZvaWQgZG91YmxlIGVycm9y IGZyb20gdW5leHBhbmQKICMgVE9ETzogdW5pcSAteiAtRCAvZGV2L3plcm8KIHllcwogIiB8 Ci0tIAoyLjQxLjAKCg== --------------LXN2xV1suROVkR5byxa0ft7y Content-Type: text/x-patch; charset=UTF-8; name="0003-od-promptly-diagnose-write-errors.patch" Content-Disposition: attachment; filename="0003-od-promptly-diagnose-write-errors.patch" Content-Transfer-Encoding: base64 RnJvbSBlNDMzN2Q5ZjNkZDQzZmRjY2Q4NTM4NDYzNTdlYWM1NzgzN2QwMzM0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/UD1DMz1BMWRyYWlnPTIwQnJhZHk/ PSA8UEBkcmFpZ0JyYWR5LmNvbT4KRGF0ZTogVHVlLCAxMSBKdWwgMjAyMyAxMjo0Njo1MCAr MDEwMApTdWJqZWN0OiBbUEFUQ0ggMy83XSBvZDogcHJvbXB0bHkgZGlhZ25vc2Ugd3JpdGUg ZXJyb3JzCgoqIHNyYy9vZC5jIChkdW1wKTogQ2hlY2sgZm9yIHdyaXRlIGVycm9ycyBhZnRl ciBlYWNoIGJsb2NrIHdyaXR0ZW4sCnRvIGV4aXQgZWFybHkgZXZlbiB3aXRoIGxhcmdlIC8g dW5ib3VuZGVkIGlucHV0cy4KKiB0ZXN0cy9taXNjL3dyaXRlLWVycm9ycy5zaDogZW5hYmxl IG9kIGNoZWNrLgoqIE5FV1M6IE1lbnRpb24gdGhlIGltcHJvdmVtZW50LgpGaXhlcyBodHRw czovL2J1Z3MuZ251Lm9yZy82NDU0MAotLS0KIE5FV1MgICAgICAgICAgICAgICAgICAgICAg IHwgMyArKysKIHNyYy9vZC5jICAgICAgICAgICAgICAgICAgIHwgOCArKysrKystLQogdGVz dHMvbWlzYy93cml0ZS1lcnJvcnMuc2ggfCAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDEwIGlu c2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvTkVXUyBiL05FV1MK aW5kZXggMzVhZTAyYThlLi44OTJkYjI3YjggMTAwNjQ0Ci0tLSBhL05FV1MKKysrIGIvTkVX UwpAQCAtNjIsNiArNjIsOSBAQCBHTlUgY29yZXV0aWxzIE5FV1MgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtKi0gb3V0bGluZSAtKi0KICAgaXJyZXNwZWN0aXZlIG9m IHdoaWNoIGtlcm5lbCB2ZXJzaW9uIGNvcmV1dGlscyBpcyBidWlsdCBhZ2FpbnN0LAogICBy ZWluc3RhdGluZyB0aGF0IGJlaGF2aW91ciBmcm9tIGNvcmV1dGlscy05LjAuCiAKKyAgb2Qg d2lsbCBub3cgZXhpdCBpbW1lZGlhdGVseSB1cG9uIHJlY2VpdmluZyBhIHdyaXRlIGVycm9y LCB3aGljaCBpcworICBzaWduaWZpY2FudCB3aGVuIHJlYWRpbmcgbGFyZ2UgLyB1bmJvdW5k ZWQgaW5wdXRzLgorCiAgIHNwbGl0IG5vdyB1c2VzIG1vcmUgdHVuZWQgYWNjZXNzIHBhdHRl cm5zIGZvciBpdHMgcG90ZW50aWFsbHkgbGFyZ2UgaW5wdXQuCiAgIFRoaXMgd2FzIHNlZW4g dG8gaW1wcm92ZSB0aHJvdWdocHV0IGJ5IDUlIHdoZW4gcmVhZGluZyBmcm9tIFNTRC4KIApk aWZmIC0tZ2l0IGEvc3JjL29kLmMgYi9zcmMvb2QuYwppbmRleCA2YjY2Y2ViNGYuLmNkZTQ4 M2M5OCAxMDA2NDQKLS0tIGEvc3JjL29kLmMKKysrIGIvc3JjL29kLmMKQEAgLTEzODAsNyAr MTM4MCw3IEBAIGR1bXAgKHZvaWQpCiAKICAgaWYgKGxpbWl0X2J5dGVzX3RvX2Zvcm1hdCkK ICAgICB7Ci0gICAgICB3aGlsZSAodHJ1ZSkKKyAgICAgIHdoaWxlIChvaykKICAgICAgICAg ewogICAgICAgICAgIHNpemVfdCBuX25lZWRlZDsKICAgICAgICAgICBpZiAoY3VycmVudF9v ZmZzZXQgPj0gZW5kX29mZnNldCkKQEAgLTEzOTYsMTMgKzEzOTYsMTUgQEAgZHVtcCAodm9p ZCkKICAgICAgICAgICBhZmZpcm0gKG5fYnl0ZXNfcmVhZCA9PSBieXRlc19wZXJfYmxvY2sp OwogICAgICAgICAgIHdyaXRlX2Jsb2NrIChjdXJyZW50X29mZnNldCwgbl9ieXRlc19yZWFk LAogICAgICAgICAgICAgICAgICAgICAgICBibG9ja1shaWR4XSwgYmxvY2tbaWR4XSk7Cisg ICAgICAgICAgaWYgKGZlcnJvciAoc3Rkb3V0KSkKKyAgICAgICAgICAgIG9rID0gZmFsc2U7 CiAgICAgICAgICAgY3VycmVudF9vZmZzZXQgKz0gbl9ieXRlc19yZWFkOwogICAgICAgICAg IGlkeCA9ICFpZHg7CiAgICAgICAgIH0KICAgICB9CiAgIGVsc2UKICAgICB7Ci0gICAgICB3 aGlsZSAodHJ1ZSkKKyAgICAgIHdoaWxlIChvaykKICAgICAgICAgewogICAgICAgICAgIG9r ICY9IHJlYWRfYmxvY2sgKGJ5dGVzX3Blcl9ibG9jaywgYmxvY2tbaWR4XSwgJm5fYnl0ZXNf cmVhZCk7CiAgICAgICAgICAgaWYgKG5fYnl0ZXNfcmVhZCA8IGJ5dGVzX3Blcl9ibG9jaykK QEAgLTE0MTAsNiArMTQxMiw4IEBAIGR1bXAgKHZvaWQpCiAgICAgICAgICAgYWZmaXJtIChu X2J5dGVzX3JlYWQgPT0gYnl0ZXNfcGVyX2Jsb2NrKTsKICAgICAgICAgICB3cml0ZV9ibG9j ayAoY3VycmVudF9vZmZzZXQsIG5fYnl0ZXNfcmVhZCwKICAgICAgICAgICAgICAgICAgICAg ICAgYmxvY2tbIWlkeF0sIGJsb2NrW2lkeF0pOworICAgICAgICAgIGlmIChmZXJyb3IgKHN0 ZG91dCkpCisgICAgICAgICAgICBvayA9IGZhbHNlOwogICAgICAgICAgIGN1cnJlbnRfb2Zm c2V0ICs9IG5fYnl0ZXNfcmVhZDsKICAgICAgICAgICBpZHggPSAhaWR4OwogICAgICAgICB9 CmRpZmYgLS1naXQgYS90ZXN0cy9taXNjL3dyaXRlLWVycm9ycy5zaCBiL3Rlc3RzL21pc2Mv d3JpdGUtZXJyb3JzLnNoCmluZGV4IDMyMDUxNTA4Yi4uOGNmOWRiODhkIDEwMDc1NQotLS0g YS90ZXN0cy9taXNjL3dyaXRlLWVycm9ycy5zaAorKysgYi90ZXN0cy9taXNjL3dyaXRlLWVy cm9ycy5zaApAQCAtMzgsNyArMzgsNyBAQCBoZWFkIC16IC1uLTEgL2Rldi96ZXJvCiAjIFRP RE86IGpvaW4gLWEgMSAteiAvZGV2L3plcm8gL2Rldi9udWxsCiAjIFRPRE86IG5sIC0tdmVy c2lvbjsgeWVzIHwgbmwKICMgVE9ETzogbnVtZm10IC0tdmVyc2lvbjsgeWVzIDEgfCBudW1m bXQKLSMgVE9ETzogb2QgLXYgL2Rldi96ZXJvCitvZCAtdiAvZGV2L3plcm8KIHBhc3RlIC9k ZXYvemVybwogIyBUT0RPOiBwciAvZGV2L3plcm8KIHNlcSBpbmYKLS0gCjIuNDEuMAoK --------------LXN2xV1suROVkR5byxa0ft7y Content-Type: text/x-patch; charset=UTF-8; name="0004-uniq-promptly-diagnose-write-errors.patch" Content-Disposition: attachment; filename="0004-uniq-promptly-diagnose-write-errors.patch" Content-Transfer-Encoding: base64 RnJvbSA4ODZmYTE4MTUzOTc3ZWYzNGVjMDZhODExZjlhNTE3ZGVmNmQ0MGRiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/UD1DMz1BMWRyYWlnPTIwQnJhZHk/ PSA8UEBkcmFpZ0JyYWR5LmNvbT4KRGF0ZTogU2F0LCAxNSBKdWwgMjAyMyAyMToxMDozOCAr MDEwMApTdWJqZWN0OiBbUEFUQ0ggNC83XSB1bmlxOiBwcm9tcHRseSBkaWFnbm9zZSB3cml0 ZSBlcnJvcnMKCiogc3JjL3VuaXEuYyAod3JpdGVfbGluZSk6IENoZWNrIHRoZSBvdXRwdXQg ZnJvbSBmd3JpdGUoKSBpbW1lZGlhdGVseS4KKGNoZWNrX2ZpbGUpOiBMaWtld2lzZS4KKiB0 ZXN0cy9taXNjL3dyaXRlLWVycm9ycy5zaDogRW5hYmxlIHRoZSB0ZXN0IGNhc2UuCi0tLQog c3JjL3VuaXEuYyAgICAgICAgICAgICAgICAgfCA5ICsrKysrKy0tLQogdGVzdHMvbWlzYy93 cml0ZS1lcnJvcnMuc2ggfCAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygr KSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvdW5pcS5jIGIvc3JjL3VuaXEu YwppbmRleCAxNTYxMTU0MGIuLjJkYmVjOWZjZCAxMDA2NDQKLS0tIGEvc3JjL3VuaXEuYwor KysgYi9zcmMvdW5pcS5jCkBAIC0zMDksNyArMzA5LDkgQEAgd3JpdGVsaW5lIChzdHJ1Y3Qg bGluZWJ1ZmZlciBjb25zdCAqbGluZSwKICAgaWYgKGNvdW50bW9kZSA9PSBjb3VudF9vY2N1 cnJlbmNlcykKICAgICBwcmludGYgKCIlNyIgUFJJdU1BWCAiICIsIGxpbmVjb3VudCArIDEp OwogCi0gIGZ3cml0ZSAobGluZS0+YnVmZmVyLCBzaXplb2YgKGNoYXIpLCBsaW5lLT5sZW5n dGgsIHN0ZG91dCk7CisgIGlmIChmd3JpdGUgKGxpbmUtPmJ1ZmZlciwgc2l6ZW9mIChjaGFy KSwgbGluZS0+bGVuZ3RoLCBzdGRvdXQpCisgICAgICAhPSBsaW5lLT5sZW5ndGgpCisgICAg d3JpdGVfZXJyb3IgKCk7CiB9CiAKIC8qIFByb2Nlc3MgaW5wdXQgZmlsZSBJTkZJTEUgd2l0 aCBvdXRwdXQgdG8gT1VURklMRS4KQEAgLTM3OCw4ICszODAsOSBAQCBjaGVja19maWxlIChj aGFyIGNvbnN0ICppbmZpbGUsIGNoYXIgY29uc3QgKm91dGZpbGUsIGNoYXIgZGVsaW1pdGVy KQogCiAgICAgICAgICAgaWYgKG5ld19ncm91cCB8fCBncm91cGluZyAhPSBHTV9OT05FKQog ICAgICAgICAgICAgewotICAgICAgICAgICAgICBmd3JpdGUgKHRoaXNsaW5lLT5idWZmZXIs IHNpemVvZiAoY2hhciksCi0gICAgICAgICAgICAgICAgICAgICAgdGhpc2xpbmUtPmxlbmd0 aCwgc3Rkb3V0KTsKKyAgICAgICAgICAgICAgaWYgKGZ3cml0ZSAodGhpc2xpbmUtPmJ1ZmZl ciwgc2l6ZW9mIChjaGFyKSwgdGhpc2xpbmUtPmxlbmd0aCwKKyAgICAgICAgICAgICAgICAg IHN0ZG91dCkgIT0gdGhpc2xpbmUtPmxlbmd0aCkKKyAgICAgICAgICAgICAgICB3cml0ZV9l cnJvciAoKTsKIAogICAgICAgICAgICAgICBTV0FQX0xJTkVTIChwcmV2bGluZSwgdGhpc2xp bmUpOwogICAgICAgICAgICAgICBwcmV2ZmllbGQgPSB0aGlzZmllbGQ7CmRpZmYgLS1naXQg YS90ZXN0cy9taXNjL3dyaXRlLWVycm9ycy5zaCBiL3Rlc3RzL21pc2Mvd3JpdGUtZXJyb3Jz LnNoCmluZGV4IDhjZjlkYjg4ZC4uNjA4MTdiZDNkIDEwMDc1NQotLS0gYS90ZXN0cy9taXNj L3dyaXRlLWVycm9ycy5zaAorKysgYi90ZXN0cy9taXNjL3dyaXRlLWVycm9ycy5zaApAQCAt NDYsNyArNDYsNyBAQCB0YWlsIC1uKzEgLXogL2Rldi96ZXJvCiB0ZWUgPCAvZGV2L3plcm8K IHRyIC4gLiA8IC9kZXYvemVybwogdW5leHBhbmQgL2Rldi96ZXJvCi0jIFRPRE86IHVuaXEg LXogLUQgL2Rldi96ZXJvCit1bmlxIC16IC1EIC9kZXYvemVybwogeWVzCiAiIHwKIHNvcnQg LWsgMWIsMSA+IGFsbF93cml0ZXJzIHx8IGZyYW1ld29ya19mYWlsdXJlXwotLSAKMi40MS4w Cgo= --------------LXN2xV1suROVkR5byxa0ft7y Content-Type: text/x-patch; charset=UTF-8; name="0005-cut-promptly-diagnose-write-errors.patch" Content-Disposition: attachment; filename="0005-cut-promptly-diagnose-write-errors.patch" Content-Transfer-Encoding: base64 RnJvbSBkMWJhYzUwZTI3MDIwOTU4MTNlZmUzMjRiMDQ4OTBhYWIxODM3ZmRmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/UD1DMz1BMWRyYWlnPTIwQnJhZHk/ PSA8UEBkcmFpZ0JyYWR5LmNvbT4KRGF0ZTogU2F0LCAxNSBKdWwgMjAyMyAyMToyMzo1NSAr MDEwMApTdWJqZWN0OiBbUEFUQ0ggNS83XSBjdXQ6IHByb21wdGx5IGRpYWdub3NlIHdyaXRl IGVycm9ycwoKKiBzcmMvY3V0LmMgKGN1dF9ieXRlcyk6IERpYWdub3NlIGVycm9ycyBmcm9t IGZ3cml0ZSgpIGFuZCBwdXRjaGFyKCkuCihjdXRfZmllbGRzKTogTGlrZXdpc2UuCiogdGVz dHMvbWlzYy93cml0ZS1lcnJvcnMuc2g6IEVuYWJsZSB0aGUgdGVzdCBmb3IgY3V0LAphbmQg YXVnbWVudCB0byBjb3ZlciBib3RoIGN1dF9ieXRlcygpIGFuZCBjdXRfZmllbGRzKCkuCi0t LQogc3JjL2N1dC5jICAgICAgICAgICAgICAgICAgfCAzMiArKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLQogdGVzdHMvbWlzYy93cml0ZS1lcnJvcnMuc2ggfCAgMyArKy0KIDIg ZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvc3JjL2N1dC5jIGIvc3JjL2N1dC5jCmluZGV4IDEyZGZkMjI5OS4uNDc2ZGYw OTQzIDEwMDY0NAotLS0gYS9zcmMvY3V0LmMKKysrIGIvc3JjL2N1dC5jCkBAIC0yMzIsNyAr MjMyLDggQEAgY3V0X2J5dGVzIChGSUxFICpzdHJlYW0pCiAKICAgICAgIGlmIChjID09IGxp bmVfZGVsaW0pCiAgICAgICAgIHsKLSAgICAgICAgICBwdXRjaGFyIChjKTsKKyAgICAgICAg ICBpZiAocHV0Y2hhciAoYykgPCAwKQorICAgICAgICAgICAgd3JpdGVfZXJyb3IgKCk7CiAg ICAgICAgICAgYnl0ZV9pZHggPSAwOwogICAgICAgICAgIHByaW50X2RlbGltaXRlciA9IGZh bHNlOwogICAgICAgICAgIGN1cnJlbnRfcnAgPSBmcnA7CkBAIC0yNTIsMTMgKzI1MywxNiBA QCBjdXRfYnl0ZXMgKEZJTEUgKnN0cmVhbSkKICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICBpZiAocHJpbnRfZGVsaW1pdGVyICYmIGlzX3JhbmdlX3N0YXJ0X2luZGV4 IChieXRlX2lkeCkpCiAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg ICAgICBmd3JpdGUgKG91dHB1dF9kZWxpbWl0ZXJfc3RyaW5nLCBzaXplb2YgKGNoYXIpLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0X2RlbGltaXRlcl9sZW5ndGgs IHN0ZG91dCk7CisgICAgICAgICAgICAgICAgICAgICAgaWYgKGZ3cml0ZSAob3V0cHV0X2Rl bGltaXRlcl9zdHJpbmcsIHNpemVvZiAoY2hhciksCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgb3V0cHV0X2RlbGltaXRlcl9sZW5ndGgsIHN0ZG91dCkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIT0gb3V0cHV0X2RlbGltaXRlcl9sZW5ndGgpCisgICAgICAg ICAgICAgICAgICAgICAgICB3cml0ZV9lcnJvciAoKTsKICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgcHJpbnRfZGVsaW1pdGVyID0gdHJ1ZTsKICAgICAgICAg ICAgICAgICB9CiAKLSAgICAgICAgICAgICAgcHV0Y2hhciAoYyk7CisgICAgICAgICAgICAg IGlmIChwdXRjaGFyIChjKSA8IDApCisgICAgICAgICAgICAgICAgd3JpdGVfZXJyb3IgKCk7 CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkBAIC0zMjUsNyArMzI5LDkgQEAg Y3V0X2ZpZWxkcyAoRklMRSAqc3RyZWFtKQogICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgIGZ3cml0 ZSAoZmllbGRfMV9idWZmZXIsIHNpemVvZiAoY2hhciksIG5fYnl0ZXMsIHN0ZG91dCk7Cisg ICAgICAgICAgICAgICAgICBpZiAoZndyaXRlIChmaWVsZF8xX2J1ZmZlciwgc2l6ZW9mIChj aGFyKSwgbl9ieXRlcywgc3Rkb3V0KQorICAgICAgICAgICAgICAgICAgICAgICE9IG5fYnl0 ZXMpCisgICAgICAgICAgICAgICAgICAgIHdyaXRlX2Vycm9yICgpOwogICAgICAgICAgICAg ICAgICAgLyogTWFrZSBzdXJlIHRoZSBvdXRwdXQgbGluZSBpcyBuZXdsaW5lIHRlcm1pbmF0 ZWQuICAqLwogICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkXzFfYnVmZmVyW25fYnl0ZXMg LSAxXSAhPSBsaW5lX2RlbGltKQogICAgICAgICAgICAgICAgICAgICBwdXRjaGFyIChsaW5l X2RlbGltKTsKQEAgLTMzNiw3ICszNDIsOSBAQCBjdXRfZmllbGRzIChGSUxFICpzdHJlYW0p CiAgICAgICAgICAgaWYgKHByaW50X2t0aCAoMSkpCiAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgIC8qIFByaW50IHRoZSBmaWVsZCwgYnV0IG5vdCB0aGUgdHJhaWxpbmcgZGVsaW1p dGVyLiAgKi8KLSAgICAgICAgICAgICAgZndyaXRlIChmaWVsZF8xX2J1ZmZlciwgc2l6ZW9m IChjaGFyKSwgbl9ieXRlcyAtIDEsIHN0ZG91dCk7CisgICAgICAgICAgICAgIGlmIChmd3Jp dGUgKGZpZWxkXzFfYnVmZmVyLCBzaXplb2YgKGNoYXIpLCBuX2J5dGVzIC0gMSwgc3Rkb3V0 KQorICAgICAgICAgICAgICAgICAgIT0gbl9ieXRlcyAtIDEpCisgICAgICAgICAgICAgICAg d3JpdGVfZXJyb3IgKCk7CiAKICAgICAgICAgICAgICAgLyogV2l0aCAtZCQnXG4nIGRvbid0 IHRyZWF0IHRoZSBsYXN0ICdcbicgYXMgYSBkZWxpbWl0ZXIuICAqLwogICAgICAgICAgICAg ICBpZiAoZGVsaW0gPT0gbGluZV9kZWxpbSkKQEAgLTM2MCwxNCArMzY4LDE3IEBAIGN1dF9m aWVsZHMgKEZJTEUgKnN0cmVhbSkKICAgICAgICAgewogICAgICAgICAgIGlmIChmb3VuZF9h bnlfc2VsZWN0ZWRfZmllbGQpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgIGZ3cml0 ZSAob3V0cHV0X2RlbGltaXRlcl9zdHJpbmcsIHNpemVvZiAoY2hhciksCi0gICAgICAgICAg ICAgICAgICAgICAgb3V0cHV0X2RlbGltaXRlcl9sZW5ndGgsIHN0ZG91dCk7CisgICAgICAg ICAgICAgIGlmIChmd3JpdGUgKG91dHB1dF9kZWxpbWl0ZXJfc3RyaW5nLCBzaXplb2YgKGNo YXIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfZGVsaW1pdGVyX2xlbmd0 aCwgc3Rkb3V0KQorICAgICAgICAgICAgICAgICAgIT0gb3V0cHV0X2RlbGltaXRlcl9sZW5n dGgpCisgICAgICAgICAgICAgICAgd3JpdGVfZXJyb3IgKCk7CiAgICAgICAgICAgICB9CiAg ICAgICAgICAgZm91bmRfYW55X3NlbGVjdGVkX2ZpZWxkID0gdHJ1ZTsKIAogICAgICAgICAg IHdoaWxlICgoYyA9IGdldGMgKHN0cmVhbSkpICE9IGRlbGltICYmIGMgIT0gbGluZV9kZWxp bSAmJiBjICE9IEVPRikKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgcHV0Y2hhciAo Yyk7CisgICAgICAgICAgICAgIGlmIChwdXRjaGFyIChjKSA8IDApCisgICAgICAgICAgICAg ICAgd3JpdGVfZXJyb3IgKCk7CiAgICAgICAgICAgICAgIHByZXZfYyA9IGM7CiAgICAgICAg ICAgICB9CiAgICAgICAgIH0KQEAgLTM5OCw3ICs0MDksOCBAQCBjdXRfZmllbGRzIChGSUxF ICpzdHJlYW0pCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgIGlmIChjID09IGxpbmVf ZGVsaW0gfHwgcHJldl9jICE9IGxpbmVfZGVsaW0KICAgICAgICAgICAgICAgICAgIHx8IGRl bGltID09IGxpbmVfZGVsaW0pCi0gICAgICAgICAgICAgICAgcHV0Y2hhciAobGluZV9kZWxp bSk7CisgICAgICAgICAgICAgICAgaWYgKHB1dGNoYXIgKGxpbmVfZGVsaW0pIDwgMCkKKyAg ICAgICAgICAgICAgICAgIHdyaXRlX2Vycm9yICgpOwogICAgICAgICAgICAgfQogICAgICAg ICAgIGlmIChjID09IEVPRikKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvdGVz dHMvbWlzYy93cml0ZS1lcnJvcnMuc2ggYi90ZXN0cy9taXNjL3dyaXRlLWVycm9ycy5zaApp bmRleCA2MDgxN2JkM2QuLmQyNzk3MGUyYyAxMDA3NTUKLS0tIGEvdGVzdHMvbWlzYy93cml0 ZS1lcnJvcnMuc2gKKysrIGIvdGVzdHMvbWlzYy93cml0ZS1lcnJvcnMuc2gKQEAgLTI4LDcg KzI4LDggQEAgZmkKIGVjaG8gIlwKIGNhdCAvZGV2L3plcm8KICMgVE9ETzogY29tbSAteiAv ZGV2L3plcm8gL2Rldi96ZXJvCi0jIFRPRE86IGN1dCAteiAtYzEtIC9kZXYvemVybworY3V0 IC16IC1jMS0gL2Rldi96ZXJvCitjdXQgLXogLWYxLSAvZGV2L3plcm8KIGRkIGlmPS9kZXYv emVybwogZXhwYW5kIC9kZXYvemVybwogZmFjdG9yIC0tdmVyc2lvbjsgeWVzIDEgfCBmYWN0 b3IKLS0gCjIuNDEuMAoK --------------LXN2xV1suROVkR5byxa0ft7y Content-Type: text/x-patch; charset=UTF-8; name="0006-comm-promptly-diagnose-write-errors.patch" Content-Disposition: attachment; filename="0006-comm-promptly-diagnose-write-errors.patch" Content-Transfer-Encoding: base64 RnJvbSBmNjdhNjc3MGIwYzA5MDdlZmRmNWI1ODJhZGI4YzFiMmY3YzA4MjRhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/UD1DMz1BMWRyYWlnPTIwQnJhZHk/ PSA8UEBkcmFpZ0JyYWR5LmNvbT4KRGF0ZTogU2F0LCAxNSBKdWwgMjAyMyAyMTo0MzowNyAr MDEwMApTdWJqZWN0OiBbUEFUQ0ggNi83XSBjb21tOiBwcm9tcHRseSBkaWFnbm9zZSB3cml0 ZSBlcnJvcnMKCiogc3JjL2NvbW0uYyAod3JpdGVfbGluZSk6IENhbGwgd3JpdGVfZXJyb3Io KSB1cG9uIGZlcnJvcigpLgoqIHRlc3RzL21pc2Mvd3JpdGUtZXJyb3JzLnNoOiBFbmFibGUg Y29tbSB0ZXN0LgotLS0KIHNyYy9jb21tLmMgICAgICAgICAgICAgICAgIHwgMjEgKysrKysr KysrKysrLS0tLS0tLS0tCiB0ZXN0cy9taXNjL3dyaXRlLWVycm9ycy5zaCB8ICAyICstCiAy IGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3NyYy9jb21tLmMgYi9zcmMvY29tbS5jCmluZGV4IDEyZmE5YzllYS4uNWNi MjQxMGU1IDEwMDY0NAotLS0gYS9zcmMvY29tbS5jCisrKyBiL3NyYy9jb21tLmMKQEAgLTE2 MywxMyArMTYzLDEzIEBAIEV4YW1wbGVzOlxuXAogICBleGl0IChzdGF0dXMpOwogfQogCi0v KiBPdXRwdXQgdGhlIGxpbmUgaW4gbGluZWJ1ZmZlciBMSU5FIHRvIHN0cmVhbSBTVFJFQU0K Ky8qIE91dHB1dCB0aGUgbGluZSBpbiBsaW5lYnVmZmVyIExJTkUgdG8gc3Rkb3V0CiAgICBw cm92aWRlZCB0aGUgc3dpdGNoZXMgc2F5IGl0IHNob3VsZCBiZSBvdXRwdXQuCiAgICBDTEFT UyBpcyAxIGZvciBhIGxpbmUgZm91bmQgb25seSBpbiBmaWxlIDEsCiAgICAyIGZvciBhIGxp bmUgb25seSBpbiBmaWxlIDIsIDMgZm9yIGEgbGluZSBpbiBib3RoLiAqLwogCiBzdGF0aWMg dm9pZAotd3JpdGVsaW5lIChzdHJ1Y3QgbGluZWJ1ZmZlciBjb25zdCAqbGluZSwgRklMRSAq c3RyZWFtLCBpbnQgY2xhc3MpCit3cml0ZWxpbmUgKHN0cnVjdCBsaW5lYnVmZmVyIGNvbnN0 ICpsaW5lLCBpbnQgY2xhc3MpCiB7CiAgIHN3aXRjaCAoY2xhc3MpCiAgICAgewpAQCAtMTgy LDIwICsxODIsMjMgQEAgd3JpdGVsaW5lIChzdHJ1Y3QgbGluZWJ1ZmZlciBjb25zdCAqbGlu ZSwgRklMRSAqc3RyZWFtLCBpbnQgY2xhc3MpCiAgICAgICBpZiAoIW9ubHlfZmlsZV8yKQog ICAgICAgICByZXR1cm47CiAgICAgICBpZiAob25seV9maWxlXzEpCi0gICAgICAgIGZ3cml0 ZSAoY29sX3NlcCwgMSwgY29sX3NlcF9sZW4sIHN0cmVhbSk7CisgICAgICAgIGZ3cml0ZSAo Y29sX3NlcCwgMSwgY29sX3NlcF9sZW4sIHN0ZG91dCk7CiAgICAgICBicmVhazsKIAogICAg IGNhc2UgMzoKICAgICAgIGlmICghYm90aCkKICAgICAgICAgcmV0dXJuOwogICAgICAgaWYg KG9ubHlfZmlsZV8xKQotICAgICAgICBmd3JpdGUgKGNvbF9zZXAsIDEsIGNvbF9zZXBfbGVu LCBzdHJlYW0pOworICAgICAgICBmd3JpdGUgKGNvbF9zZXAsIDEsIGNvbF9zZXBfbGVuLCBz dGRvdXQpOwogICAgICAgaWYgKG9ubHlfZmlsZV8yKQotICAgICAgICBmd3JpdGUgKGNvbF9z ZXAsIDEsIGNvbF9zZXBfbGVuLCBzdHJlYW0pOworICAgICAgICBmd3JpdGUgKGNvbF9zZXAs IDEsIGNvbF9zZXBfbGVuLCBzdGRvdXQpOwogICAgICAgYnJlYWs7CiAgICAgfQogCi0gIGZ3 cml0ZSAobGluZS0+YnVmZmVyLCBzaXplb2YgKGNoYXIpLCBsaW5lLT5sZW5ndGgsIHN0cmVh bSk7CisgIGZ3cml0ZSAobGluZS0+YnVmZmVyLCBzaXplb2YgKGNoYXIpLCBsaW5lLT5sZW5n dGgsIHN0ZG91dCk7CisKKyAgaWYgKGZlcnJvciAoc3Rkb3V0KSkKKyAgICB3cml0ZV9lcnJv ciAoKTsKIH0KIAogLyogQ2hlY2sgdGhhdCBzdWNjZXNzaXZlIGlucHV0IGxpbmVzIFBSRVYg YW5kIENVUlJFTlQgZnJvbSBpbnB1dCBmaWxlCkBAIC0zMjksNyArMzMyLDcgQEAgY29tcGFy ZV9maWxlcyAoY2hhciAqKmluZmlsZXMpCiAgICAgICAgIHsKICAgICAgICAgICAvKiBMaW5l IGlzIHNlZW4gaW4gYm90aCBmaWxlcy4gICovCiAgICAgICAgICAgdG90YWxbMl0rKzsKLSAg ICAgICAgICB3cml0ZWxpbmUgKHRoaXNsaW5lWzFdLCBzdGRvdXQsIDMpOworICAgICAgICAg IHdyaXRlbGluZSAodGhpc2xpbmVbMV0sIDMpOwogICAgICAgICB9CiAgICAgICBlbHNlCiAg ICAgICAgIHsKQEAgLTMzOCwxMyArMzQxLDEzIEBAIGNvbXBhcmVfZmlsZXMgKGNoYXIgKipp bmZpbGVzKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAvKiBMaW5lIGlzIHNlZW4g aW4gZmlsZSAxIG9ubHkuICAqLwogICAgICAgICAgICAgICB0b3RhbFswXSsrOwotICAgICAg ICAgICAgICB3cml0ZWxpbmUgKHRoaXNsaW5lWzBdLCBzdGRvdXQsIDEpOworICAgICAgICAg ICAgICB3cml0ZWxpbmUgKHRoaXNsaW5lWzBdLCAxKTsKICAgICAgICAgICAgIH0KICAgICAg ICAgICBlbHNlCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgIC8qIExpbmUgaXMgc2Vl biBpbiBmaWxlIDIgb25seS4gICovCiAgICAgICAgICAgICAgIHRvdGFsWzFdKys7Ci0gICAg ICAgICAgICAgIHdyaXRlbGluZSAodGhpc2xpbmVbMV0sIHN0ZG91dCwgMik7CisgICAgICAg ICAgICAgIHdyaXRlbGluZSAodGhpc2xpbmVbMV0sIDIpOwogICAgICAgICAgICAgfQogICAg ICAgICB9CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL21pc2Mvd3JpdGUtZXJyb3JzLnNoIGIvdGVz dHMvbWlzYy93cml0ZS1lcnJvcnMuc2gKaW5kZXggZDI3OTcwZTJjLi42NWMyY2VjMmIgMTAw NzU1Ci0tLSBhL3Rlc3RzL21pc2Mvd3JpdGUtZXJyb3JzLnNoCisrKyBiL3Rlc3RzL21pc2Mv d3JpdGUtZXJyb3JzLnNoCkBAIC0yNyw3ICsyNyw3IEBAIGZpCiAjIEZpcnN0IHdvcmQgaW4g Y29tbWFuZCBsaW5lIGlzIGNoZWNrZWQgYWdhaW5zdCBidWlsdCBwcm9ncmFtcwogZWNobyAi XAogY2F0IC9kZXYvemVybwotIyBUT0RPOiBjb21tIC16IC9kZXYvemVybyAvZGV2L3plcm8K K2NvbW0gLXogL2Rldi96ZXJvIC9kZXYvemVybwogY3V0IC16IC1jMS0gL2Rldi96ZXJvCiBj dXQgLXogLWYxLSAvZGV2L3plcm8KIGRkIGlmPS9kZXYvemVybwotLSAKMi40MS4wCgo= --------------LXN2xV1suROVkR5byxa0ft7y Content-Type: text/x-patch; charset=UTF-8; name="0007-join-promptly-diagnose-write-errors.patch" Content-Disposition: attachment; filename="0007-join-promptly-diagnose-write-errors.patch" Content-Transfer-Encoding: base64 RnJvbSBkZjFjMWU0ZDg2M2JjMDJiYmU5ZDM1ODg0MjRiMTJhMGUyZmM2ZWZlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/UD1DMz1BMWRyYWlnPTIwQnJhZHk/ PSA8UEBkcmFpZ0JyYWR5LmNvbT4KRGF0ZTogU2F0LCAxNSBKdWwgMjAyMyAyMTo1NToyMyAr MDEwMApTdWJqZWN0OiBbUEFUQ0ggNy83XSBqb2luOiBwcm9tcHRseSBkaWFnbm9zZSB3cml0 ZSBlcnJvcnMKCiogc3JjL2pvaW4uYyAocHJqb2luKTogQ2hlY2sgZm9yIHdyaXRlIGVycm9y cyBhZnRlciBlYWNoIGxpbmUuCiogdGVzdHMvbWlzYy93cml0ZS1lcnJvcnMuc2g6IGVuYWJs ZSB0aGUgdGVzdCBmb3Igam9pbi4KLS0tCiBzcmMvam9pbi5jICAgICAgICAgICAgICAgICB8 IDMgKysrCiB0ZXN0cy9taXNjL3dyaXRlLWVycm9ycy5zaCB8IDIgKy0KIDIgZmlsZXMgY2hh bmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj L2pvaW4uYyBiL3NyYy9qb2luLmMKaW5kZXggNWI1OGVkNGQ1Li5hZmJmMDMwN2UgMTAwNjQ0 Ci0tLSBhL3NyYy9qb2luLmMKKysrIGIvc3JjL2pvaW4uYwpAQCAtNjUwLDYgKzY1MCw5IEBA IHByam9pbiAoc3RydWN0IGxpbmUgY29uc3QgKmxpbmUxLCBzdHJ1Y3QgbGluZSBjb25zdCAq bGluZTIpCiAKICAgICAgIHB1dGNoYXIgKGVvbGNoYXIpOwogICAgIH0KKworICBpZiAoZmVy cm9yIChzdGRvdXQpKQorICAgIHdyaXRlX2Vycm9yICgpOwogfQogCiAvKiBQcmludCB0aGUg am9pbiBvZiB0aGUgZmlsZXMgaW4gRlAxIGFuZCBGUDIuICAqLwpkaWZmIC0tZ2l0IGEvdGVz dHMvbWlzYy93cml0ZS1lcnJvcnMuc2ggYi90ZXN0cy9taXNjL3dyaXRlLWVycm9ycy5zaApp bmRleCA2NWMyY2VjMmIuLmI1Y2QyNDA1MyAxMDA3NTUKLS0tIGEvdGVzdHMvbWlzYy93cml0 ZS1lcnJvcnMuc2gKKysrIGIvdGVzdHMvbWlzYy93cml0ZS1lcnJvcnMuc2gKQEAgLTM2LDcg KzM2LDcgQEAgZmFjdG9yIC0tdmVyc2lvbjsgeWVzIDEgfCBmYWN0b3IKICMgVE9ETzogZm10 IC9kZXYvemVybwogIyBUT0RPOiBmb2xkIC1iIC9kZXYvemVybwogaGVhZCAteiAtbi0xIC9k ZXYvemVybwotIyBUT0RPOiBqb2luIC1hIDEgLXogL2Rldi96ZXJvIC9kZXYvbnVsbAoram9p biAtYSAxIC16IC9kZXYvemVybyAvZGV2L251bGwKICMgVE9ETzogbmwgLS12ZXJzaW9uOyB5 ZXMgfCBubAogIyBUT0RPOiBudW1mbXQgLS12ZXJzaW9uOyB5ZXMgMSB8IG51bWZtdAogb2Qg LXYgL2Rldi96ZXJvCi0tIAoyLjQxLjAKCg== --------------LXN2xV1suROVkR5byxa0ft7y-- From unknown Sat Jun 14 19:46:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64540: [PATCH] od: exit out on failure to write to stdout Resent-From: Bernhard Voelker Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Mon, 17 Jul 2023 06:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64540 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: patch To: =?UTF-8?Q?P=C3=A1draig?= Brady , Paul Eggert , Josef Bacik , 64540@debbugs.gnu.org Received: via spool by 64540-submit@debbugs.gnu.org id=B64540.168957577211043 (code B ref 64540); Mon, 17 Jul 2023 06:37:02 +0000 Received: (at 64540) by debbugs.gnu.org; 17 Jul 2023 06:36:12 +0000 Received: from localhost ([127.0.0.1]:48889 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qLHq7-0002s2-Jy for submit@debbugs.gnu.org; Mon, 17 Jul 2023 02:36:11 -0400 Received: from mout.kundenserver.de ([212.227.126.134]:42787) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qLHq5-0002rp-TU for 64540@debbugs.gnu.org; Mon, 17 Jul 2023 02:36:11 -0400 Received: from [192.168.101.10] ([91.1.218.49]) by mrelayeu.kundenserver.de (mreue009 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MVvCn-1qTA3831IT-00Rp2m; Mon, 17 Jul 2023 08:35:51 +0200 Message-ID: Date: Mon, 17 Jul 2023 08:35:49 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <90d10d0cdadb2a485c3391cc9f2a78fb59b27cd8.1688856226.git.josef@toxicpanda.com> <8c348408-b53e-c970-0e82-35ac41cebd57@cs.ucla.edu> <7b988b6f-a78d-b910-41cb-e35352383f5a@draigBrady.com> From: Bernhard Voelker In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K1:synvyAzc3vQ5Rp+OwfYTLg0cHpwvQulJ52BBDqLqlw+d+YD5ngh Sg3DT3k+tM391ZU1oNUXLoAkMYLnEndSsy1GWk9lukK7opWe2VZir9VsSMOcP5XRwW6JTGa 1iBvBbE6fON/BehBd6kBROPJ5pGMeXPQq95ncdNeB66qjduNV0eYNFmqDB8zp4GiFvKFbQN kRsdALZaW1GDEuROjjjlQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:dh7iC+/AaxI=;Wzkro2OtHCBVgDW/VuKe/JZ7Ic5 2s8A0vScPLdoUt5fBmacW8JX6GjCHeVpExL4wsuK0HmEEZs/UtcqRn2fwrabvxfSr4Lfhnmpk pihh/eX95Q0OKfcPy/EujZ7Gloa/MRVMPQCO4qSnco0R3nNiqiv6BJvN6ijIj68W9/V4QB+GC hoUlAbZhvo1/J5xIW25m8RwQH5SBxXdWKoigoNVcKohJqqdQd7W3M/O4KS0GXWIkZR+DnCxeB LW2p90a3EyiA37Q+vKfcXyrckUYF1WdFJJ9c8w72bB92qtxykK3a4GNgRGtara00hBqCfJWX5 2xybalQwhFG3lHZlFxvVkzLuj+R0LN3K1pFQ/hzPIdNVD4klGb7tVX3DIMlAFxNP29k53sZRv znQdnBcLzUPRUpAuhGiRrVwNpUNQa9UuNPumjCRV2pGIFw7a2tinRh5IO1GDoFi7f/NLxd/2S W1DmIxT9jDBQZcdg8EZE7oASmEzbEQB6fTBWD9QixfM0aXW1LGM0n0q0p0zGtr3XeICY1I6t4 B4JdnPExQP+BL9ylnyFFBABR3xP9I4SR9fymHb5giYoRgS7p3jOIj8Qba05mfuiYsv3iLHV2D eZrNEir1OVrEWKYT8mjgofDbHlTNcJZLIxtQ4w2XMMd6WVfESK2r5u1PBy9iR+YgJOF42SfnP 7aBD/yni4KPc1vBqkdZN/m70Z8imemXKfsc3xuuiDw== X-Spam-Score: -0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.1 (-) On 7/15/23 23:08, Pádraig Brady wrote: > The attached patch-set addresses two classes of issue: > 1. Doubled error messages upon write errors > 2. Continued processing upon write errors (the orig problem reported). Nice work! Patch 1: > --- /dev/null > +++ b/tests/misc/write-errors.sh > @@ -0,0 +1,70 @@ > +if ! test -w /dev/full || ! test -c /dev/full; then > + skip_ 'Need /dev/full' Other tests use a slightly different skip message: skip_ '/dev/full is required' I'd favor the latter, so that we don't miss it once we'd like to factor it out to a require_dev_full in init.cfg. Re. patch 002: > all: avoid repeated diagnostic upon write error > > * cfg.mk (sc_some_programs_must_avoid_exit_failure): Adjust to > avoid false positive. > (sc_prohibit_exit_write_error): A new syntax check to prohibit > open coding error(..., "write error"); instead directiing to use... s/ii/i/ > --- a/src/system.h > +++ b/src/system.h > @@ -762,6 +762,14 @@ The following directory is part of the cycle:\n %s\n"), \ > } \ > while (0) > > +static inline void > +write_error (void) > +{ > + fflush (stdout); /* Ensure nothing buffered that might induce an error. */ > + clearerr (stdout); /* To avoid extraneous diagnostic from close_stdout. */ > + error (EXIT_FAILURE, errno, _("write error")); > +} Hmm, fflush could theoretically change errno, couldn't it? In that case, error() would give a wrong diagnostic. FWIW: `man clearerr` states that this function doesn't touch errno. Thanks & have a nice day, Berny From unknown Sat Jun 14 19:46:38 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Josef Bacik Subject: bug#64540: closed (Re: bug#64540: [PATCH] od: exit out on failure to write to stdout) Message-ID: References: <90d10d0cdadb2a485c3391cc9f2a78fb59b27cd8.1688856226.git.josef@toxicpanda.com> X-Gnu-PR-Message: they-closed 64540 X-Gnu-PR-Package: coreutils X-Gnu-PR-Keywords: patch Reply-To: 64540@debbugs.gnu.org Date: Mon, 17 Jul 2023 10:32:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1689589922-14088-1" This is a multi-part message in MIME format... ------------=_1689589922-14088-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #64540: [PATCH] od: exit out on failure to write to stdout which was filed against the coreutils package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 64540@debbugs.gnu.org. --=20 64540: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D64540 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1689589922-14088-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 64540-done) by debbugs.gnu.org; 17 Jul 2023 10:31:51 +0000 Received: from localhost ([127.0.0.1]:49107 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qLLWB-0003em-Cg for submit@debbugs.gnu.org; Mon, 17 Jul 2023 06:31:51 -0400 Received: from mail-lj1-x231.google.com ([2a00:1450:4864:20::231]:50567) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qLLW8-0003eV-1d for 64540-done@debbugs.gnu.org; Mon, 17 Jul 2023 06:31:49 -0400 Received: by mail-lj1-x231.google.com with SMTP id 38308e7fff4ca-2b701e1ca63so63800951fa.1 for <64540-done@debbugs.gnu.org>; Mon, 17 Jul 2023 03:31:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689589902; x=1692181902; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=dzxuCvrcmoUGPV/nb+cyotbPWH54WOSLCPhsdyHyVco=; b=NMhC8+hEtbacoITj+qWLisVFpJWONts7kqQN9mlWr3TPJAg5NRfz5BMJN1UMz5D6Ns X6pME43dFRPsDhdbhdbq0h1KtqOBFIfHtLhHhwRNXTzpkjC5FfZ65PVKwHLPEJrgEmUT qxB5HVOiz76sOgrQ5Em3VQeZKYUz9ddaZF6Ei4Nn2gkD6qZh/6IW+DrCf/HE1+fKWg87 yyuoK8zqZO6qiYu4ceh676VlVJSRaG5CKpgwaJ2uOsy15pmsim8SGk44TPb3IfQL2EGY Q7GuTZy1+vjVQsuOIkrRnJgDYmPtjyFgGRgeTNPRMm+ZHeIb6uMRMtu7JBJncvDMJby7 P1qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689589902; x=1692181902; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=dzxuCvrcmoUGPV/nb+cyotbPWH54WOSLCPhsdyHyVco=; b=gTyHI6is+VF8Mh5OcbPkT1dOd+ag6PZOYES2aPgdwac6n94gsp6kkZRloDs3en8DIF hU89QpyKCBPlikLyaN40gB+QCsSsbq3BgXNqO1IKUe3w8X0BK7Y8oBTCKBP4WYLmmpFG AskEI3HoQMbvLiFYiNw047wMHb22FtRJuzlsjfPlUaoHOIu+fARew7AJXVoMGM7YnV0Y OQWcjf5ITYQO+TlK/XR2yhL4yBMJRNC0M6oQ2MMo46PFvewHf/r6raHIXiC3nQFPS9Gb tc+4/dR9QhYl5ykiy+jnU9z57dxvi9LupiBkiVPFaw06XQ6cgA4cNmMPDK7gjMzWpknw 6u3g== X-Gm-Message-State: ABy/qLZVBRPNcdSYz0t5wd78osuGYhVRnzHVEieDMn7OUBYF93e88PAg jRkxhjXpnbvH0EZaO80uiCU= X-Google-Smtp-Source: APBJJlFT3GAScsosXAr71d26zDoQf/7s4deG+dcPtm3FSrCmc4SUdDGyKtSc+fwN3IXyg2LG56syZw== X-Received: by 2002:a2e:910e:0:b0:2b6:a5df:c7fb with SMTP id m14-20020a2e910e000000b002b6a5dfc7fbmr7355150ljg.26.1689589901302; Mon, 17 Jul 2023 03:31:41 -0700 (PDT) Received: from [192.168.1.20] (95-44-90-175-dynamic.agg2.lod.rsl-rtd.eircom.net. [95.44.90.175]) by smtp.googlemail.com with ESMTPSA id x11-20020a1c7c0b000000b003fbcf032c55sm7626343wmc.7.2023.07.17.03.31.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Jul 2023 03:31:40 -0700 (PDT) Message-ID: Date: Mon, 17 Jul 2023 11:31:39 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#64540: [PATCH] od: exit out on failure to write to stdout Content-Language: en-US To: Bernhard Voelker , Paul Eggert , Josef Bacik , 64540-done@debbugs.gnu.org References: <90d10d0cdadb2a485c3391cc9f2a78fb59b27cd8.1688856226.git.josef@toxicpanda.com> <8c348408-b53e-c970-0e82-35ac41cebd57@cs.ucla.edu> <7b988b6f-a78d-b910-41cb-e35352383f5a@draigBrady.com> From: =?UTF-8?Q?P=C3=A1draig_Brady?= In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 64540-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) On 17/07/2023 07:35, Bernhard Voelker wrote: > On 7/15/23 23:08, Pádraig Brady wrote: >> The attached patch-set addresses two classes of issue: >> 1. Doubled error messages upon write errors >> 2. Continued processing upon write errors (the orig problem reported). > > Nice work! > > Patch 1: > > > --- /dev/null > > +++ b/tests/misc/write-errors.sh > > @@ -0,0 +1,70 @@ > > > +if ! test -w /dev/full || ! test -c /dev/full; then > > + skip_ 'Need /dev/full' > > Other tests use a slightly different skip message: > skip_ '/dev/full is required' > > I'd favor the latter, so that we don't miss it once we'd like > to factor it out to a require_dev_full in init.cfg. > > Re. patch 002: > > > all: avoid repeated diagnostic upon write error > > > > * cfg.mk (sc_some_programs_must_avoid_exit_failure): Adjust to > > avoid false positive. > > (sc_prohibit_exit_write_error): A new syntax check to prohibit > > open coding error(..., "write error"); instead directiing to use... > > s/ii/i/ > > > --- a/src/system.h > > +++ b/src/system.h > > @@ -762,6 +762,14 @@ The following directory is part of the cycle:\n %s\n"), \ > > } \ > > while (0) > > > > +static inline void > > +write_error (void) > > +{ > > + fflush (stdout); /* Ensure nothing buffered that might induce an error. */ > > + clearerr (stdout); /* To avoid extraneous diagnostic from close_stdout. */ > > + error (EXIT_FAILURE, errno, _("write error")); > > +} > > Hmm, fflush could theoretically change errno, couldn't it? > In that case, error() would give a wrong diagnostic. > FWIW: `man clearerr` states that this function doesn't touch errno. Yes good call. Current version is: /* exit with a _single_ "write error" diagnostic. */ static inline void write_error (void) { int saved_errno = errno; fflush (stdout); /* Ensure nothing buffered that might induce an error. */ clearerr (stdout); /* To avoid extraneous diagnostic from close_stdout. */ error (EXIT_FAILURE, saved_errno, _("write error")); } I'll push later. Marking this as done. Thanks for the review. Pádraig ------------=_1689589922-14088-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 9 Jul 2023 09:08:04 +0000 Received: from localhost ([127.0.0.1]:45835 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIQOe-00036P-EI for submit@debbugs.gnu.org; Sun, 09 Jul 2023 05:08:04 -0400 Received: from lists.gnu.org ([209.51.188.17]:59582) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIGf0-0001H7-J1 for submit@debbugs.gnu.org; Sat, 08 Jul 2023 18:44:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qIGf0-0003WB-C1 for bug-coreutils@gnu.org; Sat, 08 Jul 2023 18:44:14 -0400 Received: from mail-yw1-x112b.google.com ([2607:f8b0:4864:20::112b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qIGey-0005Tn-K6 for bug-coreutils@gnu.org; Sat, 08 Jul 2023 18:44:14 -0400 Received: by mail-yw1-x112b.google.com with SMTP id 00721157ae682-57a6df91b1eso10616457b3.1 for ; Sat, 08 Jul 2023 15:44:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=toxicpanda-com.20221208.gappssmtp.com; s=20221208; t=1688856251; x=1691448251; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=AUAF26+xvMf/stgsQi1a/Wn/MSOgBQ5MvuNmMpTikU8=; b=BAURND6vWc8WBprpcmXTZ/M0V4+ARizf2+UcKyV/Z4VLfDxOigiiexEAPdPWeaUWSB QlEzytSOk625KjQDmpBQI08sgke1CBJRpo6N04TJ4yPgIYVyXEyUVzfJEU4orqbONrLZ pZZIvx+H3mRYFDwMPE2yqz+lSFQrQwqQ5VJeXQTQbG9Ja1c3fmD0OeQ5EH1o0g8kcsTE Eoiwk8MnosNNH29Fj0Zos7EdrVr+xNRGNYeQwtR76m54P940bkyrvgkd187p3UIBEEH3 fk73a1rvcQ/k3Oq/7R93McQVLslissEIbJOgu+DTY8x68usckZqXjlP1GG9dwj6Pb0cq F2sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688856251; x=1691448251; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=AUAF26+xvMf/stgsQi1a/Wn/MSOgBQ5MvuNmMpTikU8=; b=IZVEP4U5OrKP3nL0UNJ/D3p4Eonimsq1Dt15dkVakRtV74vjpf1Cg7L46a6jQ055gx TzAbtqF7BsYOefRc6eL48znLakYuUTmPGZa+HCEDUIS8cwE4IIXu+1z8EnZt9sXz4PSQ TPrpO+f3oN3fcAT8fSOzCJbOiDsilk1uLG9JjZgOoXtaY/40o+wUjkQqB7cg34CWNz3n qzLjdLrcRh4V5LcScSA4mwNpLRmJiLkRRq22E62LlufooD2pKW8uiaxoNqrW9mj+jV8b pZzLk6sPSR8o/lWbfQW1IE/97OU3YQ8aft6HUZxV4rz92X5dmPJA/535uLnCePRzm67H iJ2A== X-Gm-Message-State: ABy/qLYG5rkmN9j2Wde663SB1ahCVPHBqzh9+5X80OrDtrSNgbd2CZjC PaAQ4ZPe24/1/0wrf3u9+Ps9VmCCxZzVJNM39/K0Ew== X-Google-Smtp-Source: APBJJlE4VD3bV2B+WCJsnL1d6cTn8PXzn+jHdxUAy/uH/aLh08/PSCkzWEgTmeAIul7IjTrkEUDZpw== X-Received: by 2002:a81:8401:0:b0:561:cb45:d7de with SMTP id u1-20020a818401000000b00561cb45d7demr10132489ywf.31.1688856250789; Sat, 08 Jul 2023 15:44:10 -0700 (PDT) Received: from localhost (cpe-76-182-20-124.nc.res.rr.com. [76.182.20.124]) by smtp.gmail.com with ESMTPSA id x142-20020a81a094000000b00565de196516sm2084057ywg.32.2023.07.08.15.44.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Jul 2023 15:44:10 -0700 (PDT) From: Josef Bacik To: bug-coreutils@gnu.org Subject: [PATCH] od: exit out on failure to write to stdout Date: Sat, 8 Jul 2023 18:43:54 -0400 Message-ID: <90d10d0cdadb2a485c3391cc9f2a78fb59b27cd8.1688856226.git.josef@toxicpanda.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: none client-ip=2607:f8b0:4864:20::112b; envelope-from=josef@toxicpanda.com; helo=mail-yw1-x112b.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sun, 09 Jul 2023 05:07:54 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) A very weird bug was uncovered when using fstests with github actions. In fstests we are doing something like this od /dev/urandom | dd of=somefile bs=1M count=10 The above works fine, except in the case of github actions which runs this script remotely, capturing the output in a pipe to print on their console. Somehow od ends up writing forever into the stdout pipe without exiting in this scenario, normally it doesn't do this. strace'ing the process we can see it getting SIGPIPE and simply ignoring the error. This is because when we don't provide a limit we never actually check if there was an error on the stdout fd. Fix this by adjusting the logic to check if there was an error on every loop, and break out if appropriate. With this patch applied this configuration no longer results in a hang. --- src/od.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/od.c b/src/od.c index 6b66ceb4f..a07b4de03 100644 --- a/src/od.c +++ b/src/od.c @@ -1380,7 +1380,7 @@ dump (void) if (limit_bytes_to_format) { - while (true) + while (ok) { size_t n_needed; if (current_offset >= end_offset) @@ -1396,13 +1396,14 @@ dump (void) affirm (n_bytes_read == bytes_per_block); write_block (current_offset, n_bytes_read, block[!idx], block[idx]); + ok &= check_and_close(0); current_offset += n_bytes_read; idx = !idx; } } else { - while (true) + while (ok) { ok &= read_block (bytes_per_block, block[idx], &n_bytes_read); if (n_bytes_read < bytes_per_block) @@ -1410,6 +1411,7 @@ dump (void) affirm (n_bytes_read == bytes_per_block); write_block (current_offset, n_bytes_read, block[!idx], block[idx]); + ok &= check_and_close(0); current_offset += n_bytes_read; idx = !idx; } -- 2.41.0 ------------=_1689589922-14088-1-- From unknown Sat Jun 14 19:46:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64540: [PATCH] od: exit out on failure to write to stdout Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Mon, 17 Jul 2023 17:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64540 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: patch To: =?UTF-8?Q?P=C3=A1draig?= Brady , Bernhard Voelker , Josef Bacik , 64540-done@debbugs.gnu.org Received: via spool by 64540-done@debbugs.gnu.org id=D64540.168961346110608 (code D ref 64540); Mon, 17 Jul 2023 17:05:02 +0000 Received: (at 64540-done) by debbugs.gnu.org; 17 Jul 2023 17:04:21 +0000 Received: from localhost ([127.0.0.1]:50842 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qLRe0-0002l2-Mu for submit@debbugs.gnu.org; Mon, 17 Jul 2023 13:04:20 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:40462) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qLRdw-0002kh-UO for 64540-done@debbugs.gnu.org; Mon, 17 Jul 2023 13:04:19 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id A5F403C011BD4; Mon, 17 Jul 2023 10:04:10 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id G3Kr6xN_71OA; Mon, 17 Jul 2023 10:04:10 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 57A873C011BD5; Mon, 17 Jul 2023 10:04:10 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 57A873C011BD5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1689613450; bh=xRZqMaa2GYNihkYqWFwGIuuvIcQ/bg6gz9in92f3yS0=; h=Message-ID:Date:MIME-Version:To:From; b=cU11pMcslItoCHDIzsdDJpSg2ay+zXkAN0e9Qgvg4mNvLtC50bNEobDc4Mtxx6QeN 9F3en45Ehxl/GvyYTHsRsrg0GCp1cQG25O8UdZCvkABOUopr92GmRZrFbPcajwLAL4 aHQ0SgVFgiHXLr0xqg/8J9ry4DEd6IUb2n6UnA/H/Th2/AUzbdjvayQWCfDP6mjKwS dZn00O4ncWUC3SQMMaVjchQ40rAPNFFLhaPEj1Z6X9ubG5e5ZbvbP9EtpziwBSvtAn eQb4fs1JMZdymPbUy7NF8gTGQBdnGxEFlMS+BgMqFHuKY3pQNJII0GgelG6AtcYWd3 L6g6OaUTaCtwQ== X-Virus-Scanned: amavisd-new at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id JmVLVDUoLLFj; Mon, 17 Jul 2023 10:04:10 -0700 (PDT) Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 2CB833C011BD4; Mon, 17 Jul 2023 10:04:10 -0700 (PDT) Message-ID: Date: Mon, 17 Jul 2023 10:04:09 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <90d10d0cdadb2a485c3391cc9f2a78fb59b27cd8.1688856226.git.josef@toxicpanda.com> <8c348408-b53e-c970-0e82-35ac41cebd57@cs.ucla.edu> <7b988b6f-a78d-b910-41cb-e35352383f5a@draigBrady.com> From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.1 (-) On 2023-07-17 03:31, P=C3=A1draig Brady wrote: > static inline void As a general rule, there's no need for 'static inline' in C, as nowadays=20 compilers figure out inlining just fine for static functions and plain=20 'static' should be good enough. There are exceptions but 'write_error'=20 doesn't look like it's one of them. From unknown Sat Jun 14 19:46:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64540: [PATCH] od: exit out on failure to write to stdout Resent-From: =?UTF-8?Q?P=C3=A1draig?= Brady Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Mon, 17 Jul 2023 17:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64540 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: patch To: Paul Eggert , Bernhard Voelker , Josef Bacik , 64540-done@debbugs.gnu.org Received: via spool by 64540-done@debbugs.gnu.org id=D64540.168961396611402 (code D ref 64540); Mon, 17 Jul 2023 17:13:02 +0000 Received: (at 64540-done) by debbugs.gnu.org; 17 Jul 2023 17:12:46 +0000 Received: from localhost ([127.0.0.1]:50847 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qLRm9-0002xq-L8 for submit@debbugs.gnu.org; Mon, 17 Jul 2023 13:12:45 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:51218) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qLRm6-0002xV-BV for 64540-done@debbugs.gnu.org; Mon, 17 Jul 2023 13:12:44 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-3141c3a7547so4525359f8f.2 for <64540-done@debbugs.gnu.org>; Mon, 17 Jul 2023 10:12:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689613956; x=1692205956; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=bVbQAfEbSQlhjC6QJP+aCOzZdjHJHQVu/HD85nHRE1Y=; b=oghwbZNpWkVoCV7awPeVeLTIajILipsp1aU+t19jRbjC1sfjLqLu9KZPjRF/NgrO96 RvYXpPpc9bp5MPr98Yh0O3VHM5uQhM957QFRQDjDxADfTkuRijMvT2+MZrixr2QND2MV 7mn2btr2L5Cy55kMPh/MI1FOmhNWbMRP5vt23p2JaI7bZciRVHhF/no4lPrWHo07ny7Y FDf6wt3SyzUymEqpuFIygu/PlY1wwmdEPDDEOJc4wmWgs4/RozlhT6Zo2oao45mZ4hVe zvMK8l2WNkLGoC7pjtBg8hJxoNNRs4cxl8PQMb1UNrozuIH+Nz+PfxxC/mjUmcrdTB7Z V84w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689613956; x=1692205956; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=bVbQAfEbSQlhjC6QJP+aCOzZdjHJHQVu/HD85nHRE1Y=; b=b9YmKfSqUMtyLrBSsyuKrtZOy7rFGmG5KDSAM72a4ZYDtGfBlr9vpN1GYV8rsG3LKT nnJvnsW/z1ssj4gn4pxxnbH1+4uUhcWmd+/FoqF+SKYsR7XOvPrIrWxbrmkfFcLfvoJI cVVnajEY2gy2n7wRH0Xti7MKoBpoFKRvJHOHMKOjj7WhnOYaJlXEmr4Oo8bGEkVdk3s4 LrHnEr0viumEye9XJOCrjyRDURXBxdkjWWOHOVMjriaa4xI0NbV93PJnwy4PrIjsE/wO 65Y/TRCV39ozw9RDnJpoE7XTioiOhCQVPbQVPVO6K4K8xdPEJwj22mARZdfv+Lzq9+lN 00VQ== X-Gm-Message-State: ABy/qLYkTLKRKJl7p7EEuLu93j4Q3NdFvpFUcRyfOHIFVC3G2OZhwEgF 3/6GL0eaZcGSejILixhJ/Dk= X-Google-Smtp-Source: APBJJlELn9c2FKKNXf5CybnvsGhgTkWpT2wS3+szb7P4ANRmHOT5M7GE0y5OnUf2NqkIzwHF6yXlOw== X-Received: by 2002:a5d:4bc7:0:b0:313:f862:6e3e with SMTP id l7-20020a5d4bc7000000b00313f8626e3emr9501037wrt.40.1689613956175; Mon, 17 Jul 2023 10:12:36 -0700 (PDT) Received: from [192.168.1.20] (95-44-90-175-dynamic.agg2.lod.rsl-rtd.eircom.net. [95.44.90.175]) by smtp.googlemail.com with ESMTPSA id d12-20020a5d4f8c000000b003141a3c4353sm6632wru.30.2023.07.17.10.12.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Jul 2023 10:12:35 -0700 (PDT) Message-ID: <571177ad-d71e-483d-209d-ffb8f25135f2@draigBrady.com> Date: Mon, 17 Jul 2023 18:12:34 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US References: <90d10d0cdadb2a485c3391cc9f2a78fb59b27cd8.1688856226.git.josef@toxicpanda.com> <8c348408-b53e-c970-0e82-35ac41cebd57@cs.ucla.edu> <7b988b6f-a78d-b910-41cb-e35352383f5a@draigBrady.com> From: =?UTF-8?Q?P=C3=A1draig?= Brady In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) On 17/07/2023 18:04, Paul Eggert wrote: > On 2023-07-17 03:31, Pádraig Brady wrote: >> static inline void > > As a general rule, there's no need for 'static inline' in C, as nowadays > compilers figure out inlining just fine for static functions and plain > 'static' should be good enough. There are exceptions but 'write_error' > doesn't look like it's one of them. Right. In headers though, the traditional "static inline" idiom indicates to the compiler that this function is a small utility function that may not be used in all translation units that the header is included in. I.e. without the inline, in some translation units you'd get: error: 'write_error' defined but not used [-Werror=unused-function] cheers, Pádraig. From unknown Sat Jun 14 19:46:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64540: [PATCH] od: exit out on failure to write to stdout Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Mon, 17 Jul 2023 17:37:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64540 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: patch To: =?UTF-8?Q?P=C3=A1draig?= Brady , Bernhard Voelker , Josef Bacik , 64540-done@debbugs.gnu.org Received: via spool by 64540-done@debbugs.gnu.org id=D64540.168961540013873 (code D ref 64540); Mon, 17 Jul 2023 17:37:01 +0000 Received: (at 64540-done) by debbugs.gnu.org; 17 Jul 2023 17:36:40 +0000 Received: from localhost ([127.0.0.1]:50854 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qLS9H-0003bg-Uv for submit@debbugs.gnu.org; Mon, 17 Jul 2023 13:36:40 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:54996) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qLS9D-0003bO-4W for 64540-done@debbugs.gnu.org; Mon, 17 Jul 2023 13:36:38 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id E80303C011BD4; Mon, 17 Jul 2023 10:36:28 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id UV5qb_ffdlvf; Mon, 17 Jul 2023 10:36:28 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id AD8B13C011BD5; Mon, 17 Jul 2023 10:36:28 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu AD8B13C011BD5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1689615388; bh=5YVKdnWEwVDXzCjL7WrSiDwg9b2Lur+nTOKlYmOTPxo=; h=Message-ID:Date:MIME-Version:To:From; b=dF1OiGCdVblPd2wnZG7Q2D5D+SV/0eF7xFo/zAtsEPOKtoZWeZY+eDNuJmfh5gzK9 Z2rwaspDFzl03TdiP1RXZnJ2+KnC/39KhpHk9Uxhub4AhUajADROSfqUy5lZg8fH2Z CVtxhodlqHTAbAJyhIe9jpyr28LBDPvGskyaMCVzcjh172fVdeZv74lTe36UGosHxe bO7P11jsRZXvaO8QFypxeboBdsb9vP22jriPxKhSBWZwspQIhso1Ql2/PJpLPjmh0g 5gcJ7Z8M+wQRBAW6vdo3kat+0dprvE5E5FC72EH77GvZBeNJbHf6lvMhvyxQFBlh5x KI9TtwcIsVdHQ== X-Virus-Scanned: amavisd-new at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id qyjVUkMmMFnH; Mon, 17 Jul 2023 10:36:28 -0700 (PDT) Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 8404B3C011BD4; Mon, 17 Jul 2023 10:36:28 -0700 (PDT) Message-ID: Date: Mon, 17 Jul 2023 10:36:28 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <90d10d0cdadb2a485c3391cc9f2a78fb59b27cd8.1688856226.git.josef@toxicpanda.com> <8c348408-b53e-c970-0e82-35ac41cebd57@cs.ucla.edu> <7b988b6f-a78d-b910-41cb-e35352383f5a@draigBrady.com> <571177ad-d71e-483d-209d-ffb8f25135f2@draigBrady.com> From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <571177ad-d71e-483d-209d-ffb8f25135f2@draigBrady.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.1 (-) On 2023-07-17 10:12, P=C3=A1draig Brady wrote: > Right. In headers though, the traditional "static inline" idiom Ah, I forgot that it was in system.h. At some point we should have=20 system.h use _GL_INLINE but that can wait.