From nobody Fri Jun 17 19:31:59 2022 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 065EC85353E; Fri, 17 Jun 2022 19:32:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4LPq1C3zkkz3K9N; Fri, 17 Jun 2022 19:31:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1655494319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/yoIWgEHBNFmfHUILoofE/rPy+C9QXM7gVIHda4Ua08=; b=Jf1SOQv5StfWSWBjS9FdPUAscHfBKEorzmpyS3YVHoKggJiUprwATLlGZExJxb2lGBV8V0 pNRuMw4kYzR3GyYiv/KxvlnvgvB7Vo/kTTPQCELemS/Rdvyntqzh/7usuY11pkIRYOfexT qNb3xdauwu/UjRgUid29vSh/K+FZ05Nyu69unXuFvPI4zCmTiFp9dNd52oOxYg0/kPO3BB wVt6B49PGQ15ehitFQ/9dY6o8kSWV82QIkDpBiJ50OtYy9JTiRPMxrlWlalZSjLKNXjYsD 0uTVLWBWKvh38dmWd4ZtQ7icgRm5jgZs1N7I6X3OmbmX2m0NsSlNRErFeo1/QA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4062D257BE; Fri, 17 Jun 2022 19:31:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 25HJVxNn007859; Fri, 17 Jun 2022 19:31:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 25HJVx4o007858; Fri, 17 Jun 2022 19:31:59 GMT (envelope-from git) Date: Fri, 17 Jun 2022 19:31:59 GMT Message-Id: <202206171931.25HJVx4o007858@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: b27865547aea - stable/13 - linux: improve reporting for unsupported syscall flags List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b27865547aeac03deacf3015f6033cd091b282c5 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1655494319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/yoIWgEHBNFmfHUILoofE/rPy+C9QXM7gVIHda4Ua08=; b=svP8Ak6FeBWEl7Zbjwy3WJmcjE2FlV0XoTvZXTzm2o39haLPqyEzyhmZtQlK9Y9cdm0gCQ WKQAHVWoHM+3J5kuHXxx46qYG8+OaC5Mk3/f0aEPr8RY+xp1ro4mNOI20d4LUxbihud/qR TFvAHhTptJjU1DoWRseUUT+jFd8KQBOXBw1E1vV4bB285BXkyUsL9Y5WY7OPYcufONxY9D eNzfl09vmTuidYBjXnF+nh3OKo5o2qsn+BLl4o4/wbAoxoIvuC/TtEdQdXUCpmihWgIuJJ TTtoTMU1cTVpNRVOC9lbnS5z8Su6H2IY1XTcUjyckwYj68IhNUVSQNZU7vZQdg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1655494319; a=rsa-sha256; cv=none; b=gQxhmxI2SLOWAbIGBFuPrTRxoJ9ToNXE7FkEdvzs5NlKC4FLqY1Eo1n7oT9zqPbUOcy3kr KJF9Dvq3uE9EcgDbY6F7wO3DaqfjIMiZVu5izqiRfYWPVUkJUnVd3pGfFQRR+szb/AN6W/ yMh+VNZ6WDlhf+pFvWPdzXe0lcz0JPSatfNVicKisSaPz531Fi5Oq6duWQarteHMfp0+Cu J8GWfC7fTowc1qnA1543ICkV3NWDfzNMswq5N91pCpeQiz5UunuUTsEsJxbbIuRViWlIN3 GuSoUkWay0KuiE9gaKY5vcn8YF7HGyQDtsX1S04KMLocJLuZ+5ibjzVNr6IscA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=b27865547aeac03deacf3015f6033cd091b282c5 commit b27865547aeac03deacf3015f6033cd091b282c5 Author: Edward Tomasz Napierala AuthorDate: 2021-06-15 09:18:04 +0000 Commit: Dmitry Chagin CommitDate: 2022-06-17 19:30:18 +0000 linux: improve reporting for unsupported syscall flags Filter out the flags we do support; previously we would print out the flag value verbatim. Reviewed By: dchagin Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D30693 (cherry picked from commit 9d167945e8409c739442a02e3fbacb3bcdcc3306) --- sys/compat/linux/linux_file.c | 7 ++++--- sys/compat/linux/linux_stats.c | 21 ++++++++++++--------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c index a5ab3506767e..013c435756fb 100644 --- a/sys/compat/linux/linux_file.c +++ b/sys/compat/linux/linux_file.c @@ -1757,10 +1757,11 @@ int linux_fchownat(struct thread *td, struct linux_fchownat_args *args) { char *path; - int error, dfd, flag; + int error, dfd, flag, unsupported; - if (args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH)) { - linux_msg(td, "fchownat unsupported flag 0x%x", args->flag); + unsupported = args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH); + if (unsupported != 0) { + linux_msg(td, "fchownat unsupported flag 0x%x", unsupported); return (EINVAL); } diff --git a/sys/compat/linux/linux_stats.c b/sys/compat/linux/linux_stats.c index 4e6304500a8b..97bace941943 100644 --- a/sys/compat/linux/linux_stats.c +++ b/sys/compat/linux/linux_stats.c @@ -663,11 +663,12 @@ int linux_fstatat64(struct thread *td, struct linux_fstatat64_args *args) { char *path; - int error, dfd, flag; + int error, dfd, flag, unsupported; struct stat buf; - if (args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH)) { - linux_msg(td, "fstatat64 unsupported flag 0x%x", args->flag); + unsupported = args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH); + if (unsupported != 0) { + linux_msg(td, "fstatat64 unsupported flag 0x%x", unsupported); return (EINVAL); } flag = (args->flag & LINUX_AT_SYMLINK_NOFOLLOW) ? @@ -696,11 +697,12 @@ int linux_newfstatat(struct thread *td, struct linux_newfstatat_args *args) { char *path; - int error, dfd, flag; + int error, dfd, flag, unsupported; struct stat buf; - if (args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH)) { - linux_msg(td, "fstatat unsupported flag 0x%x", args->flag); + unsupported = args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH); + if (unsupported != 0) { + linux_msg(td, "fstatat unsupported flag 0x%x", unsupported); return (EINVAL); } @@ -769,11 +771,12 @@ int linux_statx(struct thread *td, struct linux_statx_args *args) { char *path; - int error, dirfd, flags; + int error, dirfd, flags, unsupported; struct stat buf; - if (args->flags & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH)) { - linux_msg(td, "statx unsupported flags 0x%x", args->flags); + unsupported = args->flags & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH); + if (unsupported != 0) { + linux_msg(td, "statx unsupported flags 0x%x", unsupported); return (EINVAL); }