get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.2/patches/2224286/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2224286,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/2224286/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/ltp/patch/20260417084758.329107-2-pvorel@suse.cz/",
    "project": {
        "id": 59,
        "url": "http://patchwork.ozlabs.org/api/1.2/projects/59/?format=api",
        "name": "Linux Test Project development",
        "link_name": "ltp",
        "list_id": "ltp.lists.linux.it",
        "list_email": "ltp@lists.linux.it",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260417084758.329107-2-pvorel@suse.cz>",
    "list_archive_url": null,
    "date": "2026-04-17T08:47:58",
    "name": "[2/2] lib: Be pedantic on invalid comparison check",
    "commit_ref": null,
    "pull_url": null,
    "state": "needs-review-ack",
    "archived": false,
    "hash": "f82bcc9fee60b1e4593695f25a2d7652a7549422",
    "submitter": {
        "id": 70792,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/70792/?format=api",
        "name": "Petr Vorel",
        "email": "pvorel@suse.cz"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/ltp/patch/20260417084758.329107-2-pvorel@suse.cz/mbox/",
    "series": [
        {
            "id": 500278,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/500278/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/ltp/list/?series=500278",
            "date": "2026-04-17T08:47:58",
            "name": "[1/2] safe_stdio: More checks for invalid function return values",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/500278/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2224286/comments/",
    "check": "warning",
    "checks": "http://patchwork.ozlabs.org/api/patches/2224286/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "ltp@lists.linux.it"
        ],
        "Delivered-To": [
            "patchwork-incoming@legolas.ozlabs.org",
            "ltp@picard.linux.it"
        ],
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n unprotected) header.d=suse.cz header.i=@suse.cz header.a=rsa-sha256\n header.s=susede2_rsa header.b=wbJLdSIS;\n\tdkim=fail reason=\"signature verification failed\" header.d=suse.cz\n header.i=@suse.cz header.a=ed25519-sha256 header.s=susede2_ed25519\n header.b=z4w+RFkg;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key)\n header.d=suse.cz header.i=@suse.cz header.a=rsa-sha256 header.s=susede2_rsa\n header.b=v20GVU3v;\n\tdkim=neutral header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=G0TIF4p0;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.linux.it\n (client-ip=213.254.12.146; helo=picard.linux.it;\n envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it;\n receiver=patchwork.ozlabs.org)",
            "smtp-out1.suse.de;\n\tnone"
        ],
        "Received": [
            "from picard.linux.it (picard.linux.it [213.254.12.146])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fxpSL6ns0z1yD3\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 18:48:18 +1000 (AEST)",
            "from picard.linux.it (localhost [IPv6:::1])\n\tby picard.linux.it (Postfix) with ESMTP id 51CAE3E291F\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 10:48:16 +0200 (CEST)",
            "from in-5.smtp.seeweb.it (in-5.smtp.seeweb.it\n [IPv6:2001:4b78:1:20::5])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature ECDSA (secp384r1))\n (No client certificate requested)\n by picard.linux.it (Postfix) with ESMTPS id 88B193E2627\n for <ltp@lists.linux.it>; Fri, 17 Apr 2026 10:48:12 +0200 (CEST)",
            "from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by in-5.smtp.seeweb.it (Postfix) with ESMTPS id 02052600B2B\n for <ltp@lists.linux.it>; Fri, 17 Apr 2026 10:48:10 +0200 (CEST)",
            "from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n (No client certificate requested)\n by smtp-out1.suse.de (Postfix) with ESMTPS id 12FE26A869;\n Fri, 17 Apr 2026 08:48:06 +0000 (UTC)",
            "from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n (No client certificate requested)\n by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id EB060593AF;\n Fri, 17 Apr 2026 08:48:05 +0000 (UTC)",
            "from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])\n by imap1.dmz-prg2.suse.org with ESMTPSA id oMRxOMXz4WmUUAAAD6G6ig\n (envelope-from <pvorel@suse.cz>); Fri, 17 Apr 2026 08:48:05 +0000"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz;\n s=susede2_rsa;\n t=1776415690;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=mnn54T+JcoPAUZcr9+j97ooam/LQDn34ym6lS4lS4PM=;\n b=wbJLdSISidImbocpwLOr9V6CzbfE8DwTK7Mwe1C/U9WABhr6FEjiyCOqO+Ax8yKPL3jSFC\n W9QruBHXuQPGeoQS97XQpp3gYeSCTAe94fYjEYK4uCDriaaimn2WwXjpeFl+Dpoe1jCDzZ\n oOuKL+2zmT7GM5ZC43Qo8A+QT34ld7o=",
            "v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;\n s=susede2_ed25519; t=1776415690;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=mnn54T+JcoPAUZcr9+j97ooam/LQDn34ym6lS4lS4PM=;\n b=z4w+RFkgCw+kLzpBn/YVwUnaX0CLnXxf490KthbM1vHnG0804PhiKD8f19/85jXGKPZoia\n 9qW2xuzxdT6o4KCw==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz;\n s=susede2_rsa;\n t=1776415686;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=mnn54T+JcoPAUZcr9+j97ooam/LQDn34ym6lS4lS4PM=;\n b=v20GVU3vNd6EDw7opH6VKZD7Iiiy7TInmnI9AK8t5f/k0YgBhR1yL/mFj4nFq4z7Ca41Ne\n 14WqJwBkN1OQeUGQUilIExP317fP19gbf+whDLu3nJUjP4Tnko1FZlbjkNB874SWguSRuy\n f98ueOdLDUqINksFEcFlkq/QuN3RD6M=",
            "v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;\n s=susede2_ed25519; t=1776415686;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=mnn54T+JcoPAUZcr9+j97ooam/LQDn34ym6lS4lS4PM=;\n b=G0TIF4p0vh1SV9TxjMvfG6ud09cps2iOgm/9ydqq8WBpcEKHaO0HVRLFhyq4FeICWrYiaz\n ZcGYKkL3jdMVEJAw=="
        ],
        "From": "Petr Vorel <pvorel@suse.cz>",
        "To": "ltp@lists.linux.it",
        "Date": "Fri, 17 Apr 2026 10:47:58 +0200",
        "Message-ID": "<20260417084758.329107-2-pvorel@suse.cz>",
        "X-Mailer": "git-send-email 2.53.0",
        "In-Reply-To": "<20260417084758.329107-1-pvorel@suse.cz>",
        "References": "<20260417084758.329107-1-pvorel@suse.cz>",
        "MIME-Version": "1.0",
        "X-Spam-Score": "-6.80",
        "X-Spam-Level": "",
        "X-Spamd-Result": "default: False [-6.80 / 50.00]; REPLY(-4.00)[];\n BAYES_HAM(-3.00)[100.00%]; NEURAL_HAM_LONG(-1.00)[-1.000];\n MID_CONTAINS_FROM(1.00)[]; R_MISSING_CHARSET(0.50)[];\n NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain];\n RCVD_COUNT_TWO(0.00)[2]; ARC_NA(0.00)[];\n RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[];\n MIME_TRACE(0.00)[0:+]; TO_MATCH_ENVRCPT_ALL(0.00)[];\n FUZZY_RATELIMITED(0.00)[rspamd.com];\n DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo];\n DKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];\n FROM_EQ_ENVFROM(0.00)[]; TO_DN_SOME(0.00)[];\n RCPT_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]",
        "X-Spam-Status": "No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID,\n DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS shortcircuit=no\n autolearn=disabled version=4.0.1",
        "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on in-5.smtp.seeweb.it",
        "X-Virus-Scanned": "clamav-milter 1.0.9 at in-5.smtp.seeweb.it",
        "X-Virus-Status": "Clean",
        "Subject": "[LTP] [PATCH 2/2] lib: Be pedantic on invalid comparison check",
        "X-BeenThere": "ltp@lists.linux.it",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "Linux Test Project <ltp.lists.linux.it>",
        "List-Unsubscribe": "<https://lists.linux.it/options/ltp>,\n <mailto:ltp-request@lists.linux.it?subject=unsubscribe>",
        "List-Archive": "<http://lists.linux.it/pipermail/ltp/>",
        "List-Post": "<mailto:ltp@lists.linux.it>",
        "List-Help": "<mailto:ltp-request@lists.linux.it?subject=help>",
        "List-Subscribe": "<https://lists.linux.it/listinfo/ltp>,\n <mailto:ltp-request@lists.linux.it?subject=subscribe>",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it",
        "Sender": "\"ltp\" <ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it>"
    },
    "content": "Invalid return values are when \"ret < -1\". While \"ret < 0\" mostly works\ndue previous check \"ret == -1\" it can have misleading message when after\ncode refactoring.\n\nSigned-off-by: Petr Vorel <pvorel@suse.cz>\n---\n lib/safe_file_ops.c     |  2 +-\n lib/safe_macros.c       | 16 ++++++++--------\n lib/safe_net.c          | 14 +++++++-------\n lib/safe_stdio.c        |  4 ++--\n lib/tst_safe_io_uring.c |  4 ++--\n lib/tst_safe_macros.c   | 16 ++++++++--------\n lib/tst_safe_sysv_ipc.c | 10 +++++-----\n lib/tst_safe_timerfd.c  |  2 +-\n lib/tst_security.c      |  2 +-\n 9 files changed, 35 insertions(+), 35 deletions(-)",
    "diff": "diff --git a/lib/safe_file_ops.c b/lib/safe_file_ops.c\nindex 8314c4b1bb..0982274120 100644\n--- a/lib/safe_file_ops.c\n+++ b/lib/safe_file_ops.c\n@@ -361,7 +361,7 @@ int safe_touch(const char *file, const int lineno,\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"Failed to open file '%s'\", pathname);\n \t\treturn ret;\n-\t} else if (ret < 0) {\n+\t} else if (ret < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"Invalid open(%s) return value %d\", pathname, ret);\n \t\treturn ret;\ndiff --git a/lib/safe_macros.c b/lib/safe_macros.c\nindex 68b8747b4d..22b321fc45 100644\n--- a/lib/safe_macros.c\n+++ b/lib/safe_macros.c\n@@ -89,7 +89,7 @@ safe_creat(const char *file, const int lineno, void (*cleanup_fn) (void),\n \tif (rval == -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"creat(%s,%04o) failed\", pathname, mode);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"Invalid creat(%s,%04o) return value %d\", pathname,\n \t\t\tmode, rval);\n@@ -258,7 +258,7 @@ int safe_open(const char *file, const int lineno, void (*cleanup_fn) (void),\n \tif (rval == -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"open(%s,%d,%04o) failed\", pathname, oflags, mode);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"Invalid open(%s,%d,%04o) return value %d\", pathname,\n \t\t\toflags, mode, rval);\n@@ -297,7 +297,7 @@ ssize_t safe_read(const char *file, const int lineno, void (*cleanup_fn) (void),\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"read(%d,%p,%zu) failed, returned %zd\", fildes, buf,\n \t\t\tnbyte, rval);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"Invalid read(%d,%p,%zu) return value %zd\", fildes,\n \t\t\tbuf, nbyte, rval);\n@@ -495,7 +495,7 @@ ssize_t safe_readlink(const char *file, const int lineno,\n \tif (rval == -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"readlink(%s,%p,%zu) failed\", path, buf, bufsize);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"Invalid readlink(%s,%p,%zu) return value %zd\", path,\n \t\t\tbuf, bufsize, rval);\n@@ -554,7 +554,7 @@ ssize_t safe_write(const char *file, const int lineno, void (cleanup_fn) (void),\n \t\t\treturn rval;\n \t\t}\n \n-\t\tif (rval < 0) {\n+\t\tif (rval < -1) {\n \t\t\ttst_brkm_(file, lineno, TBROK, cleanup_fn,\n \t\t\t          \"invalid write() return value %zi\",\n \t\t\t\t  rval);\n@@ -804,7 +804,7 @@ pid_t safe_wait(const char *file, const int lineno, void (cleanup_fn)(void),\n \tif (rval == -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"wait(%p) failed\", status);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"Invalid wait(%p) return value %d\", status, rval);\n \t}\n@@ -822,7 +822,7 @@ pid_t safe_waitpid(const char *file, const int lineno, void (cleanup_fn)(void),\n \tif (rval == -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"waitpid(%d,%p,%d) failed\", pid, status, opts);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"Invalid waitpid(%d,%p,%d) return value %d\", pid,\n \t\t\tstatus, opts, rval);\n@@ -1116,7 +1116,7 @@ ssize_t safe_getxattr(const char *file, const int lineno, const char *path,\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, NULL,\n \t\t\t\"getxattr(%s, %s, %p, %zu) failed\",\n \t\t\tpath, name, value, size);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, NULL,\n \t\t\t\"Invalid getxattr(%s, %s, %p, %zu) return value %zd\",\n \t\t\tpath, name, value, size, rval);\ndiff --git a/lib/safe_net.c b/lib/safe_net.c\nindex 5dec0de113..37a980fae9 100644\n--- a/lib/safe_net.c\n+++ b/lib/safe_net.c\n@@ -127,7 +127,7 @@ int safe_socket(const char *file, const int lineno, void (cleanup_fn)(void),\n \n \t\ttst_brkm_(file, lineno, ttype | TERRNO, cleanup_fn,\n \t\t\t\"socket(%d, %d, %d) failed\", domain, type, protocol);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"Invalid socket(%d, %d, %d) return value %d\", domain,\n \t\t\ttype, protocol, rval);\n@@ -215,7 +215,7 @@ ssize_t safe_send(const char *file, const int lineno, char len_strict,\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, NULL,\n \t\t\t\"send(%d, %p, %zu, %d) failed\", sockfd, buf, len,\n \t\t\tflags);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, NULL,\n \t\t\t\"Invalid send(%d, %p, %zu, %d) return value %zd\",\n \t\t\tsockfd, buf, len, flags, rval);\n@@ -239,7 +239,7 @@ ssize_t safe_sendto(const char *file, const int lineno, char len_strict,\n \t\t\tsockfd, buf, len, flags,\n \t\t\ttst_sock_addr(dest_addr, addrlen, res, sizeof(res)),\n \t\t\taddrlen);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, NULL,\n \t\t\t\"Invalid sendto(%d, %p, %zu, %d, %s, %d) return value %zd\",\n \t\t\tsockfd, buf, len, flags,\n@@ -260,7 +260,7 @@ ssize_t safe_sendmsg(const char *file, const int lineno, size_t len,\n \tif (rval == -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, NULL,\n \t\t\t\"sendmsg(%d, %p, %d) failed\", sockfd, msg, flags);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, NULL,\n \t\t\t\"Invalid sendmsg(%d, %p, %d) return value %zd\",\n \t\t\tsockfd, msg, flags, rval);\n@@ -284,7 +284,7 @@ ssize_t safe_recv(const char *file, const int lineno, size_t len,\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, NULL,\n \t\t\t\"recv(%d, %p, %zu, %d) failed\", sockfd, buf, size,\n \t\t\tflags);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, NULL,\n \t\t\t\"Invalid recv(%d, %p, %zu, %d) return value %zd\",\n \t\t\tsockfd, buf, size, flags, rval);\n@@ -308,7 +308,7 @@ ssize_t safe_recvmsg(const char *file, const int lineno, size_t len,\n \tif (rval == -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, NULL,\n \t\t\t\"recvmsg(%d, %p, %d) failed\", sockfd, msg, flags);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, NULL,\n \t\t\t\"Invalid recvmsg(%d, %p, %d) return value %zd\",\n \t\t\tsockfd, msg, flags, rval);\n@@ -396,7 +396,7 @@ int safe_accept(const char *file, const int lineno, void (cleanup_fn)(void),\n \tif (rval == -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"accept(%d, %p, %d) failed\", sockfd, addr, *addrlen);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"Invalid accept(%d, %p, %d) return value %d\", sockfd,\n \t\t\taddr, *addrlen, rval);\ndiff --git a/lib/safe_stdio.c b/lib/safe_stdio.c\nindex ed5bca0072..27b38aadcc 100644\n--- a/lib/safe_stdio.c\n+++ b/lib/safe_stdio.c\n@@ -67,7 +67,7 @@ int safe_asprintf(const char *file, const int lineno, void (cleanup_fn)(void),\n \tif (ret == -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"asprintf(%s,...) failed\", fmt);\n-\t} else if (ret < 0) {\n+\t} else if (ret < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,\n \t\t\t\"Invalid asprintf(%s,...) return value %d\", fmt, ret);\n \t}\n@@ -154,7 +154,7 @@ int safe_fseek(const char *file, const int lineno,\n \tif (ret == -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, NULL,\n \t\t\t\"fseek(%p, %ld, %d) failed\", f, offset, whence);\n-\t} else if (ret < 0) {\n+\t} else if (ret < -1) {\n \t\ttst_brkm_(file, lineno, TBROK | TERRNO, NULL,\n \t\t\t\"Invalid fseek(%p, %ld, %d) return value %d\",\n \t\t\tf, offset, whence, ret);\ndiff --git a/lib/tst_safe_io_uring.c b/lib/tst_safe_io_uring.c\nindex de6869f501..627cedfe02 100644\n--- a/lib/tst_safe_io_uring.c\n+++ b/lib/tst_safe_io_uring.c\n@@ -21,7 +21,7 @@ int safe_io_uring_init(const char *file, const int lineno,\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"io_uring_setup() failed\");\n \t\treturn uring->fd;\n-\t} else if (uring->fd < 0) {\n+\t} else if (uring->fd < -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"io_uring_setup() returned invalid value %d\",\n \t\t\turing->fd);\n@@ -98,7 +98,7 @@ int safe_io_uring_enter(const char *file, const int lineno, int strict,\n \tif (ret == -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"io_uring_enter() failed\");\n-\t} else if (ret < 0) {\n+\t} else if (ret < -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"Invalid io_uring_enter() return value %d\", ret);\n \t} else if (strict && to_submit != (unsigned int)ret) {\ndiff --git a/lib/tst_safe_macros.c b/lib/tst_safe_macros.c\nindex cdc8c7dd33..a893f73231 100644\n--- a/lib/tst_safe_macros.c\n+++ b/lib/tst_safe_macros.c\n@@ -68,7 +68,7 @@ pid_t safe_getpgid(const char *file, const int lineno, pid_t pid)\n \tif (pgid == -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO, \"getpgid(%i) failed\",\n \t\t\tpid);\n-\t} else if (pgid < 0) {\n+\t} else if (pgid < -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"Invalid getpgid(%i) return value %d\", pid, pgid);\n \t}\n@@ -103,7 +103,7 @@ int safe_getgroups(const char *file, const int lineno, int size, gid_t list[])\n \tif (rval == -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"getgroups(%i, %p)\", size, list);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"Invalid getgroups(%i, %p) return value %d\", size,\n \t\t\tlist, rval);\n@@ -120,7 +120,7 @@ int safe_personality(const char *filename, unsigned int lineno,\n \tif (prev_persona == -1) {\n \t\ttst_brk_(filename, lineno, TBROK | TERRNO,\n \t\t\t \"persona(%ld) failed\", persona);\n-\t} else if (prev_persona < 0) {\n+\t} else if (prev_persona < -1) {\n \t\ttst_brk_(filename, lineno, TBROK | TERRNO,\n \t\t\t \"Invalid persona(%ld) return value %d\", persona,\n \t\t\t prev_persona);\n@@ -139,7 +139,7 @@ int safe_pidfd_open(const char *file, const int lineno, pid_t pid,\n \tif (rval == -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t \"pidfd_open(%i, %i) failed\", pid, flags);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t \"Invalid pidfd_open(%i, %i) return value %d\",\n \t\t\t pid, flags, rval);\n@@ -521,7 +521,7 @@ int safe_dup(const char *file, const int lineno, int oldfd)\n \tif (rval == -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"dup(%i) failed\", oldfd);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"Invalid dup(%i) return value %d\", oldfd, rval);\n \t}\n@@ -723,7 +723,7 @@ int safe_prctl(const char *file, const int lineno,\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"prctl(%d, %lu, %lu, %lu, %lu)\",\n \t\t\toption, arg2, arg3, arg4, arg5);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"Invalid prctl(%d, %lu, %lu, %lu, %lu) return value %d\",\n \t\t\toption, arg2, arg3, arg4, arg5, rval);\n@@ -746,7 +746,7 @@ ssize_t safe_readv(const char *file, const int lineno, char len_strict,\n \tif (rval == -1 || (len_strict && rval != nbyte)) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"readv(%d,%p,%d) failed\", fildes, iov, iovcnt);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"Invalid readv(%d,%p,%d) return value %zd\",\n \t\t\tfildes, iov, iovcnt, rval);\n@@ -788,7 +788,7 @@ ssize_t safe_writev(const char *file, const int lineno, char len_strict,\n \tif (rval == -1 || (len_strict && rval != nbyte)) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"writev(%d,%p,%d) failed\", fildes, iov, iovcnt);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"Invalid writev(%d,%p,%d) return value %zd\",\n \t\t\tfildes, iov, iovcnt, rval);\ndiff --git a/lib/tst_safe_sysv_ipc.c b/lib/tst_safe_sysv_ipc.c\nindex a196fc9ce4..4a16a86e12 100644\n--- a/lib/tst_safe_sysv_ipc.c\n+++ b/lib/tst_safe_sysv_ipc.c\n@@ -70,7 +70,7 @@ int safe_msgget(const char *file, const int lineno, key_t key, int msgflg)\n \tif (rval == -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO, \"msgget(%i, %x) failed\",\n \t\t\t(int)key, msgflg);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"Invalid msgget(%i, %x) return value %d\", (int)key,\n \t\t\tmsgflg, rval);\n@@ -110,7 +110,7 @@ ssize_t safe_msgrcv(const char *file, const int lineno, int msqid, void *msgp,\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"msgrcv(%i, %p, %zu, %li, %x) failed\",\n \t\t\tmsqid, msgp, msgsz, msgtyp, msgflg);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"Invalid msgrcv(%i, %p, %zu, %li, %x) return value %ld\",\n \t\t\tmsqid, msgp, msgsz, msgtyp, msgflg, rval);\n@@ -148,7 +148,7 @@ int safe_shmget(const char *file, const int lineno, key_t key, size_t size,\n \tif (rval == -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"shmget(%i, %zu, %x) failed\", (int)key, size, shmflg);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"Invalid shmget(%i, %zu, %x) return value %d\",\n \t\t\t(int)key, size, shmflg, rval);\n@@ -218,7 +218,7 @@ int safe_semget(const char *file, const int lineno, key_t key, int nsems,\n \tif (rval == -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"semget(%i, %i, %x) failed\", (int)key, nsems, semflg);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"Invalid semget(%i, %i, %x) return value %d\",\n \t\t\t(int)key, nsems, semflg, rval);\n@@ -272,7 +272,7 @@ int safe_semop(const char *file, const int lineno, int semid, struct sembuf *sop\n \tif (rval == -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"semop(%d, %p, %zu) failed\", semid, sops, nsops);\n-\t} else if (rval < 0) {\n+\t} else if (rval < -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"Invalid semop(%d, %p, %zu) return value %d\",\n \t\t\tsemid, sops, nsops, rval);\ndiff --git a/lib/tst_safe_timerfd.c b/lib/tst_safe_timerfd.c\nindex d31f6e35e5..c08b468fce 100644\n--- a/lib/tst_safe_timerfd.c\n+++ b/lib/tst_safe_timerfd.c\n@@ -21,7 +21,7 @@ int safe_timerfd_create(const char *file, const int lineno,\n \tif (fd == -1) {\n \t\ttst_brk_(file, lineno, TTYPE | TERRNO,\n \t\t\t\"timerfd_create(%s) failed\", tst_clock_name(clockid));\n-\t} else if (fd < 0) {\n+\t} else if (fd < -1) {\n \t\ttst_brk_(file, lineno, TBROK | TERRNO,\n \t\t\t\"Invalid timerfd_create(%s) return value %d\",\n \t\t\ttst_clock_name(clockid), fd);\ndiff --git a/lib/tst_security.c b/lib/tst_security.c\nindex 00be4d72e2..b25605377c 100644\n--- a/lib/tst_security.c\n+++ b/lib/tst_security.c\n@@ -122,7 +122,7 @@ int tst_secureboot_enabled(void)\n \t\ttst_res(TINFO | TERRNO,\n \t\t\t\"Cannot open SecureBoot file\");\n \t\treturn -1;\n-\t} else if (fd < 0) {\n+\t} else if (fd < -1) {\n \t\ttst_brk(TBROK | TERRNO, \"Invalid open() return value %d\", fd);\n \t\treturn -1;\n \t}\n",
    "prefixes": [
        "2/2"
    ]
}