From nobody Sun Feb 8 04:03:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1655180533; cv=none; d=zohomail.com; s=zohoarc; b=DQ/iclGS8L7/57E166ucnyjXHRD3fUf9G0IdslbP0+Pq/CopvYXQy4pHqfiNUSa+jsxJ5Mj5mUEcRofmBjtYYO3OMpV53pYxmn41b9GyHua9KA468BwYLcgnSZUOeQ/BOdmQ54fZywvTDP59eDsUCSGijTm9OCkCO8MWvmBFyIs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655180533; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Az+dT+4hpKTWFpzpvd6dSLcOyh/SnPbqA6UEA7oKevo=; b=OM1goYskazOwzoOcrQ3db5ukD/DZg9knKEMHcGyHgjoW5eExiXGN/Xrzn5fW17zyxnYosBTHdMenB1+yyyp4iprK4SEvX8fvnT2+6DtscI8hkTdtfXF0o+K3c3RaBrfpEj9c7T4/KbqqkAPXqbiwpdlnR+pEy0fHFo2mqBU3qLQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655180533276567.7776916308202; Mon, 13 Jun 2022 21:22:13 -0700 (PDT) Received: from localhost ([::1]:36106 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0y4C-0006Kv-79 for importer@patchew.org; Tue, 14 Jun 2022 00:22:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48942) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0y25-0003Qo-L3 for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:01 -0400 Received: from mail-io1-xd30.google.com ([2607:f8b0:4864:20::d30]:33579) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0y23-0001dG-QH for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:01 -0400 Received: by mail-io1-xd30.google.com with SMTP id p69so8279706iod.0 for ; Mon, 13 Jun 2022 21:19:59 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id a3-20020a5ec303000000b0066579afd3cbsm4803742iok.50.2022.06.13.21.19.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jun 2022 21:19:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Az+dT+4hpKTWFpzpvd6dSLcOyh/SnPbqA6UEA7oKevo=; b=1UP2Z2L0Yc75otrxndcwNVCwqvYN+3lXK9wBW3HfeEBRorFevvwgbl+RnEfuL8Am1z pQSfPQb+26cmwBEtPZAfkl7/ja5B9wYFzg1Xcj+XXVtOL+eOJOtXGcimrhZ3eHY6Sife TIAMD8jqcgDZdZS5r+FX+m97C5YPz1DJrU1ju8m4pJ3SKUptEyD0jXXURzvwJxRMPmRK DCcRa7gjPBhf1v2N15Z1t6UuV0M9OXXeqev1L41zpR3knUWyLeXF00121R/L7HjsFUYT z9oHhJ1iqskZexWZsvpC3YCi1u5qWQVal4GBcdGFNQH0uSdtUDipVm5JEDD2cnnBXUXh TsPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Az+dT+4hpKTWFpzpvd6dSLcOyh/SnPbqA6UEA7oKevo=; b=jfQFR3ci/wmBVatBxieKhA/I5mKc4bX4tYfuQHVZtuRQFG2JUwmCeHoyIym/HvgT6S 4X2AxcrB8YqLXlXQ6qmJF/5q3Csqg1MraVT+D02TCOBs0IDuLh+LMFAdGbdQxJdo+6ix TxabPZ/liSHnuqd0TNox7v8zOGVPDFymzdsUiXFTQUcEuH90l9uo3lXd+X4cSanWaX6G g2sCqEZ2IjKjRo4XpTyHqcaD/P8U1dquBhVaOqqsFBm5FEHUnUmRTMgWLASYftDUzCmj WEvkbvlouMmHocXgSVOsU/HBGvEaKSOrVaipg396nkxgxFmdTcCKfeTw4jVow2Gx3iED FfKA== X-Gm-Message-State: AOAM530vbA2hh06vbKBoFDmyhlJVG8krLM2laMSfe9+o6RmAhbNQyEaF Qub2DHw38IbXn9coKZrUiUPqnTslgPIBSg== X-Google-Smtp-Source: ABdhPJygxe1xB8dobK5Ak8hvlXA/GWNpFj0/fHB3cmOGGcdS7esrWOVrWLlonlGWR45wtFkGts1yWA== X-Received: by 2002:a02:2305:0:b0:331:a026:b650 with SMTP id u5-20020a022305000000b00331a026b650mr1764890jau.314.1655180397910; Mon, 13 Jun 2022 21:19:57 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Kyle Evans , arrowd@freebsd.org, Richard Henderson , jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, Stacey Son , Jung-uk Kim , Kyle Evans Subject: [PATCH v2 01/11] bsd-user: Implement open, openat and close Date: Mon, 13 Jun 2022 22:20:00 -0600 Message-Id: <20220614042010.40327-2-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220614042010.40327-1-imp@bsdimp.com> References: <20220614042010.40327-1-imp@bsdimp.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::d30; envelope-from=imp@bsdimp.com; helo=mail-io1-xd30.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-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655180536195100002 Content-Type: text/plain; charset="utf-8" Add the open, openat and close system calls. We need to lock paths, so implmenent that as well. Signed-off-by: Stacey Son Signed-off-by: Jung-uk Kim Signed-off-by: Kyle Evans Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 49 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 16 ++++++++++++ bsd-user/syscall_defs.h | 4 +++ 3 files changed, 69 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index e9e2c85eb67..2bd312f8e18 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -22,11 +22,25 @@ =20 #include "qemu/path.h" =20 +#define LOCK_PATH(p, arg) \ +do { \ + (p) =3D lock_user_string(arg); \ + if ((p) =3D=3D NULL) { \ + return -TARGET_EFAULT; \ + } \ +} while (0) + +#define UNLOCK_PATH(p, arg) unlock_user(p, arg, 0) + + extern struct iovec *lock_iovec(int type, abi_ulong target_addr, int count, int copy); extern void unlock_iovec(struct iovec *vec, abi_ulong target_addr, int cou= nt, int copy); =20 +int safe_open(const char *path, int flags, mode_t mode); +int safe_openat(int fd, const char *path, int flags, mode_t mode); + ssize_t safe_read(int fd, void *buf, size_t nbytes); ssize_t safe_pread(int fd, void *buf, size_t nbytes, off_t offset); ssize_t safe_readv(int fd, const struct iovec *iov, int iovcnt); @@ -190,4 +204,39 @@ static abi_long do_bsd_pwritev(void *cpu_env, abi_long= arg1, return ret; } =20 +/* open(2) */ +static abi_long do_bsd_open(abi_long arg1, abi_long arg2, abi_long arg3) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(safe_open(path(p), target_to_host_bitmask(arg2, + fcntl_flags_tbl), arg3)); + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* openat(2) */ +static abi_long do_bsd_openat(abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg2); + ret =3D get_errno(safe_openat(arg1, path(p), + target_to_host_bitmask(arg3, fcntl_flags_tbl), arg4)); + UNLOCK_PATH(p, arg2); + + return ret; +} + +/* close(2) */ +static inline abi_long do_bsd_close(abi_long arg1) +{ + return get_errno(close(arg1)); +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 71aa0d38e03..a824785fee8 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -44,6 +44,10 @@ #include "bsd-proc.h" =20 /* I/O */ +safe_syscall3(int, open, const char *, path, int, flags, mode_t, mode); +safe_syscall4(int, openat, int, fd, const char *, path, int, flags, mode_t, + mode); + safe_syscall3(ssize_t, read, int, fd, void *, buf, size_t, nbytes); safe_syscall4(ssize_t, pread, int, fd, void *, buf, size_t, nbytes, off_t, offset); @@ -257,6 +261,18 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_pwritev(cpu_env, arg1, arg2, arg3, arg4, arg5, arg6= ); break; =20 + case TARGET_FREEBSD_NR_open: /* open(2) */ + ret =3D do_bsd_open(arg1, arg2, arg3); + break; + + case TARGET_FREEBSD_NR_openat: /* openat(2) */ + ret =3D do_bsd_openat(arg1, arg2, arg3, arg4); + break; + + case TARGET_FREEBSD_NR_close: /* close(2) */ + ret =3D do_bsd_close(arg1); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; diff --git a/bsd-user/syscall_defs.h b/bsd-user/syscall_defs.h index f5797b28e39..b6d113d24a7 100644 --- a/bsd-user/syscall_defs.h +++ b/bsd-user/syscall_defs.h @@ -226,4 +226,8 @@ type safe_##name(type1 arg1, type2 arg2, type3 arg3, ty= pe4 arg4, \ return safe_syscall(SYS_##name, arg1, arg2, arg3, arg4, arg5, arg6); \ } =20 +/* So far all target and host bitmasks are the same */ +#define target_to_host_bitmask(x, tbl) (x) +#define host_to_target_bitmask(x, tbl) (x) + #endif /* SYSCALL_DEFS_H */ --=20 2.33.1 From nobody Sun Feb 8 04:03:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1655180534; cv=none; d=zohomail.com; s=zohoarc; b=CqhWT/vkfRRu1EM6av59ictPe3mNkgRHD5Yy1t9pWTfJn+dp71Itvdg9L+LWnRFGcT04/EPWCX6LdTs7xPOSf86ptzPIqDck1nzLH2mKwC+NvD0qzDGjZ7WnPyxXRRAddE0EqXej3CbolBhlHWKwiyBJIhZK33bdVCol8uasj7A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655180534; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hArKZ9FFGMf88kVfdfvsuQyXRHILT3Hqc9FQtOYlbzA=; b=mj1Xe94/5IF0IOtmLyw6bH2DB6zGqT+mAB2ReM4M1wzIq3NA5/ZXS9PJPkNoVMdEcLJyNLfi5TM1HrZgIFn+P6LTKa8vL7pefm5/ZUVQIqYGlwQpHD+oJXRZZhd65ZHm5wXR0FswGFG3liFbwDUoS5hm+pgQiRw7Q3+Nb2oyQ80= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655180533768480.3822568887563; Mon, 13 Jun 2022 21:22:13 -0700 (PDT) Received: from localhost ([::1]:35930 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0y4B-0006E2-Sk for importer@patchew.org; Tue, 14 Jun 2022 00:22:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48950) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0y26-0003Rd-65 for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:02 -0400 Received: from mail-il1-x12c.google.com ([2607:f8b0:4864:20::12c]:38575) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0y24-0001dK-MF for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:01 -0400 Received: by mail-il1-x12c.google.com with SMTP id f7so5761472ilr.5 for ; Mon, 13 Jun 2022 21:20:00 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id a3-20020a5ec303000000b0066579afd3cbsm4803742iok.50.2022.06.13.21.19.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jun 2022 21:19:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hArKZ9FFGMf88kVfdfvsuQyXRHILT3Hqc9FQtOYlbzA=; b=gzAY/em6B7QXT+P1qUduqrEVvPteFSLVjSYN3pd3FD5NsPEdnK74+ytGck6wrhrnjL UrzAkNS/rRXAdjsCLkCwGE/6PWugezpN2zCy+HpxOkJBnAFEipq1QT+WCwaiPhq00S0x KO/H1soVo3kQP9yS4JqSsRGNiIWU/h0RaP6sJLLa83D2FlJMs9cVI+9XomYw6B2gpjtg qixBiAu3l+SNYMIYxwbRv4Fb6WBw0Ucf0jKhFsAy8tUnfE0RRQoa/ahpYlRYlwzg31Pg 5bCwxkBJ7gwpcx9OUUvnafE3XHbRSz0rn/9v3e54rWVAmfHih+Y2N4h5Eo77a04ZM25k BjpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hArKZ9FFGMf88kVfdfvsuQyXRHILT3Hqc9FQtOYlbzA=; b=cU9NArC6uizV+PDRH2w2PTtgwVnCwewKe3//hRqdMprXjVyJ3eiC8ckmGi52BUjsxb FimhX701PFZ3gaoj+6tsrvgqmds6L065wfobfjKDjRX9LgLQGFw6s0HpOFa9vMEKaLV7 4Z5UAmpsgMMaFxUhlF1xF25OetLZa1W3FQtOAPQt5MaX1KaFuH9FugGDvUTqVKxoTYec jp++4DMr9gzD1vhikKsJO8xiFyZGf4kZ2cJtHaWRwW9eKCsolWZ6jNsVYMhXOmxJSXRk 9Z8d24e/6eWbkxVR6VVu7Nf3R4fl5fK16jecofXEz2nUoUkYueQyKWH/C4ZmM/zHNT8U H3Gg== X-Gm-Message-State: AJIora/ycnEl9rYWiOtf4UMuQU3eI0K7CKND7u+nNlHuqHHB/17/4kT9 YBpT7aEpDdARvoIVq+KZRBMHGBVVvYRJfQ== X-Google-Smtp-Source: AGRyM1tbKd4Yn9x8gCqzCx8nEFvoASb+THLlLq/D4CQ09RUdvV6WhRexBrikH1as8ae5ME1AF1PRlw== X-Received: by 2002:a05:6e02:18ce:b0:2d3:f970:fc8b with SMTP id s14-20020a056e0218ce00b002d3f970fc8bmr1815574ilu.285.1655180399174; Mon, 13 Jun 2022 21:19:59 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Kyle Evans , arrowd@freebsd.org, Richard Henderson , jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, Stacey Son , Jung-uk Kim Subject: [PATCH v2 02/11] bsd-user: Implement fdatasync, fsync and close_from Date: Mon, 13 Jun 2022 22:20:01 -0600 Message-Id: <20220614042010.40327-3-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220614042010.40327-1-imp@bsdimp.com> References: <20220614042010.40327-1-imp@bsdimp.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::12c; envelope-from=imp@bsdimp.com; helo=mail-il1-x12c.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-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655180536221100005 Content-Type: text/plain; charset="utf-8" Implement fdatasync(2), fsync(2) and close_from(2). Signed-off-by: Stacey Son Signed-off-by: Jung-uk Kim Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 19 +++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 12 ++++++++++++ 2 files changed, 31 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 2bd312f8e18..94eb03df62e 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -239,4 +239,23 @@ static inline abi_long do_bsd_close(abi_long arg1) return get_errno(close(arg1)); } =20 +/* fdatasync(2) */ +static abi_long do_bsd_fdatasync(abi_long arg1) +{ + return get_errno(fdatasync(arg1)); +} + +/* fsync(2) */ +static abi_long do_bsd_fsync(abi_long arg1) +{ + return get_errno(fsync(arg1)); +} + +/* closefrom(2) */ +static abi_long do_bsd_closefrom(abi_long arg1) +{ + closefrom(arg1); /* returns void */ + return get_errno(0); +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index a824785fee8..f7d09909925 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -273,6 +273,18 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_close(arg1); break; =20 + case TARGET_FREEBSD_NR_fdatasync: /* fdatasync(2) */ + ret =3D do_bsd_fdatasync(arg1); + break; + + case TARGET_FREEBSD_NR_fsync: /* fsync(2) */ + ret =3D do_bsd_fsync(arg1); + break; + + case TARGET_FREEBSD_NR_freebsd12_closefrom: /* closefrom(2) */ + ret =3D do_bsd_closefrom(arg1); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 04:03:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1655180533; cv=none; d=zohomail.com; s=zohoarc; b=QHSgcv/ZsSFHe6Hsgzq1qkSmDcnjPE9bdYj9UTx1RWTBEwlSvHI68iy+dMB+h8KYDNqQHJyTYtrSZpudcX/qAFYFqhAxNQHZ1gOfVJQ4oHB4qs0rcZr+2ZwrOdM+Y0/fv9RFmy9keK+4UmAK5emfyFhrjUR2NC5UqIcnTk1sF8A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655180533; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=uedUQ2KHIZe9tCAw1aTgfSJGduq3Rf0+S18JxCMy0Hg=; b=TQ9KI1s5O8MPiwuqkcnFEFq5CaxzeyeEOPS8b+V36ULB+r1E3umusB8G7YmV3RlLk15o4xYY1CP9z3FmMVsuIQYR9fcW7cFNjU2akpehQLoP/ZdTd0BCWkLcnQ9XxLz/EO1V+LLY+v6yZMK7TNsxSfJovlo9+YwyoYQaniqKhSM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655180533742490.6534596419622; Mon, 13 Jun 2022 21:22:13 -0700 (PDT) Received: from localhost ([::1]:36154 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0y4C-0006Mp-Dc for importer@patchew.org; Tue, 14 Jun 2022 00:22:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48968) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0y27-0003TR-9T for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:03 -0400 Received: from mail-il1-x136.google.com ([2607:f8b0:4864:20::136]:35468) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0y25-0001dU-Kl for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:03 -0400 Received: by mail-il1-x136.google.com with SMTP id u2so5764230iln.2 for ; Mon, 13 Jun 2022 21:20:01 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id a3-20020a5ec303000000b0066579afd3cbsm4803742iok.50.2022.06.13.21.19.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jun 2022 21:19:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=uedUQ2KHIZe9tCAw1aTgfSJGduq3Rf0+S18JxCMy0Hg=; b=0WS2XlJokgZPRu33CQBIT4WdUP2FVpAm5PpswM/4p1M5Kt+h5A4i9hwRCOaLVtplH+ LMyxbzjGVQoXQkvYhX6Ear4D74q8hwANjx9RpaCiMxk4eS5Q/8qLklIR9nhR3WInZHw/ ynXDqXLWiyF4PU2xdsvZtNppI037WYpN6qpO+KVFV3JYax/yzq15LZzycPemAWqTHjGC wDmj7tUz6XFA0sIIFhkyoS4+oW8oM/lLwb4ni42sTbVjuGBMMxv4mlXM1wkePLzsp+9h Jd+QlRg/I8fYfu3+X8C2jBD9kddEdnong7mZzUddpuBv7BzJLFJBZ6hoYybIAfL5Oyje 3FoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=uedUQ2KHIZe9tCAw1aTgfSJGduq3Rf0+S18JxCMy0Hg=; b=dz2TEJ5OUh15N+1ryapcnlAhST9X+X/Wt4qqXyPWgCib6GAA4CZUviPEmM3du+JOVZ r80hXMC4f+UgppzZ2lveyTW3xGMtNSnnJDXQKb8X/OjAIFs0dV6BnmlcomXvFvj/9ZNP Rcqm3a4gl6xsdFzYFmCeq9tgfgnNh4KUaPj+NEyoNf33JzXxdgYgIkvNEc2ZBSanDbPs UUMVfr8TYdzfAwue3ME1xZkRt4VWIzLbPrGlaFqDjXcxAhS0nG8ffhEs+TRyZUrnhBCE huOUF/Hd4Kgw9kQASweLDDW1s9RhvSspzHqzmsby4lx14fc6zLDv45CQ9JwtTrZDtqX7 aGpw== X-Gm-Message-State: AJIora9+BvqCwgeO7/iKGoZh9c915wY6a5NF667vlxtgkLULBJN/h7cb 3vrPeRn29y6EeaG5G8iwXAdgssDICweBWQ== X-Google-Smtp-Source: AGRyM1vpDR29inae6Y88v7lUvItLyVK/lbOCDI/tlcyhFU4LITSRh92TlWjqosJ89+UIcp+fUcQu0w== X-Received: by 2002:a05:6e02:1a0b:b0:2d3:d8b3:10c4 with SMTP id s11-20020a056e021a0b00b002d3d8b310c4mr1947209ild.164.1655180400303; Mon, 13 Jun 2022 21:20:00 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Kyle Evans , arrowd@freebsd.org, Richard Henderson , jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, Stacey Son Subject: [PATCH v2 03/11] bsd-user: Implement revoke, access, eaccess and faccessat Date: Mon, 13 Jun 2022 22:20:02 -0600 Message-Id: <20220614042010.40327-4-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220614042010.40327-1-imp@bsdimp.com> References: <20220614042010.40327-1-imp@bsdimp.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::136; envelope-from=imp@bsdimp.com; helo=mail-il1-x136.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-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655180536188100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stacey Son Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 53 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 16 +++++++++++ 2 files changed, 69 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 94eb03df62e..6ff2be24e30 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -258,4 +258,57 @@ static abi_long do_bsd_closefrom(abi_long arg1) return get_errno(0); } =20 +/* revoke(2) */ +static abi_long do_bsd_revoke(abi_long arg1) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(revoke(p)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* access(2) */ +static abi_long do_bsd_access(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(access(path(p), arg2)); + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* eaccess(2) */ +static abi_long do_bsd_eaccess(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(eaccess(path(p), arg2)); + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* faccessat(2) */ +static abi_long do_bsd_faccessat(abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg2); + ret =3D get_errno(faccessat(arg1, p, arg3, arg4)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg2); + + return ret; +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index f7d09909925..7b7af914e49 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -285,6 +285,22 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_closefrom(arg1); break; =20 + case TARGET_FREEBSD_NR_revoke: /* revoke(2) */ + ret =3D do_bsd_revoke(arg1); + break; + + case TARGET_FREEBSD_NR_access: /* access(2) */ + ret =3D do_bsd_access(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_eaccess: /* eaccess(2) */ + ret =3D do_bsd_eaccess(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_faccessat: /* faccessat(2) */ + ret =3D do_bsd_faccessat(arg1, arg2, arg3, arg4); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 04:03:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1655180714; cv=none; d=zohomail.com; s=zohoarc; b=aylZ2qCEIcdbEIoqZ2B8p8join203Yw28k9n0vmMb9TlE2rpNE/1C6VPjYbdlXew+8QaJcz+sv4F0Xo+vX0dWScgfcssyqmY5N36EAff9wmAox2B68w0pJo1Bbr1hYLz5c7ROaf3LIJk8vtKZOe6QnocoINNUufKy7ve2c67vWY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655180714; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=9QIqkwwLRQpn8xMyw5K6t843YHf8OffHXasVl+JrrV8=; b=jAp6E+mLXYYX5PiYZEUtsA0pCsRJA419O892OiUMF/vF2aHNhJUYcSJWX2HEroVCH0oV9maRhBtyiyVcLPM6Fg4byCmR6QrY+ErEoHCYzuMnRWsAmIk6es3h2N+Nf6rYT0LFRWunt0dloPy+8B4C3xlawx68nMhPvYSrp3HDklE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 165518071446383.5412045609446; Mon, 13 Jun 2022 21:25:14 -0700 (PDT) Received: from localhost ([::1]:43506 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0y77-0002qq-C3 for importer@patchew.org; Tue, 14 Jun 2022 00:25:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48988) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0y28-0003UV-5d for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:04 -0400 Received: from mail-il1-x130.google.com ([2607:f8b0:4864:20::130]:45825) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0y26-0001dr-Ki for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:03 -0400 Received: by mail-il1-x130.google.com with SMTP id a15so5728589ilq.12 for ; Mon, 13 Jun 2022 21:20:02 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id a3-20020a5ec303000000b0066579afd3cbsm4803742iok.50.2022.06.13.21.20.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jun 2022 21:20:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9QIqkwwLRQpn8xMyw5K6t843YHf8OffHXasVl+JrrV8=; b=fNwVpleXz1XLSy9/cYV+NDzdze2R59kcWPOKPDNk5LA6QZYn9baxSPTji47D4KGrss 6kr2QT223c/uZ99St0v1JlZef15j5Nb1DAkXIslP3mf3ThMYP1pkktqNd3NTyCo+0OCQ DfkHD4oh/Ta4oVTk4M6pn2x4Ey5Fy98JIjI9Sls4Xmo5AFBO4KkomOIEk2v5gNAYIDH1 C6qMScQhdTYs5OKejuIolplTOVUuoPTOjkshYJ3XSsbpjeuqRksN+K8sTtcckN7PFove oV4Q4INkgPDFeng0nghsLEHed4Y9YmvHVmC5GfziQ/2idzyKHW7IOcd4jkhi87ou6gdV mP8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9QIqkwwLRQpn8xMyw5K6t843YHf8OffHXasVl+JrrV8=; b=rYDnF74ZjPK6pTdcTNLMRlJTHVa333cQPTDr8CnifCDrYxMnTdOGFCnVHsLcrAEbCQ Rx/R50s/6BXRSJRbKmGzH7qWOONHBThqe7qCF4vgLweZMmUeet7akXa9NaTuNWQUYICi HPDt0sCl5nkobRsKQtY82Kr+WAhm6cMu2cXbXQSyfjjlJ27nAfl7NKy5SyKUuyRJyrCo yuTpMi3RHFgt/boG+wqmIl6ZKP5OUXMRL0WPA70PnnPa5yEsbVlROvTql4ejDzgz1xFE A3t4QElnl8mR/KBqMN1G29yIlN6Gab+IbP4CrhDOoZZRi3CCdnA3JCCT/SRHB1NEp6of 5Xfg== X-Gm-Message-State: AJIora+LBHmgVtV9+J9GG0nJUHHsMwo3LlUH0oBjBtTyhcQ8WiDV+bWS /gVUEYIlnbuCtnZdgIgVX7RvFXC7N/ExQA== X-Google-Smtp-Source: AGRyM1umOoDDTC+W4Nq+v8Ri7pg0TJ/WXXE1DwlMrxCrU/a0dNyDucDNgkyxirYWPBcZDUwN3djTMA== X-Received: by 2002:a05:6e02:1709:b0:2d1:a79b:3166 with SMTP id u9-20020a056e02170900b002d1a79b3166mr1864095ill.83.1655180401326; Mon, 13 Jun 2022 21:20:01 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Kyle Evans , arrowd@freebsd.org, Richard Henderson , jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, Stacey Son Subject: [PATCH v2 04/11] bsd-user: Implement chdir and fchdir Date: Mon, 13 Jun 2022 22:20:03 -0600 Message-Id: <20220614042010.40327-5-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220614042010.40327-1-imp@bsdimp.com> References: <20220614042010.40327-1-imp@bsdimp.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::130; envelope-from=imp@bsdimp.com; helo=mail-il1-x130.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-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655180715135100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stacey Son Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 19 +++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 ++++++++ 2 files changed, 27 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 6ff2be24e30..bc0a0c08d55 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -311,4 +311,23 @@ static abi_long do_bsd_faccessat(abi_long arg1, abi_lo= ng arg2, return ret; } =20 +/* chdir(2) */ +static abi_long do_bsd_chdir(abi_long arg1) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(chdir(p)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* fchdir(2) */ +static abi_long do_bsd_fchdir(abi_long arg1) +{ + return get_errno(fchdir(arg1)); +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 7b7af914e49..8698db358c1 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -301,6 +301,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_faccessat(arg1, arg2, arg3, arg4); break; =20 + case TARGET_FREEBSD_NR_chdir: /* chdir(2) */ + ret =3D do_bsd_chdir(arg1); + break; + + case TARGET_FREEBSD_NR_fchdir: /* fchdir(2) */ + ret =3D do_bsd_fchdir(arg1); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 04:03:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1655180946; cv=none; d=zohomail.com; s=zohoarc; b=Xlj0+KwZQfqlhD4po7VZrtVsBrjq/8vWOZqYfMGUIbnXP9GLc81H3PGznGjWGlapwnax5UEEJIEutHl6myz869HynQrIuG48tA6JxoekbDG0H+Ev4KSyJh5PxchmlYJPSav/MMkWplIYvrmM/gPlpB9T3ridQ2cXHClAp7DoAcI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655180946; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=S40P6qQAunc27gypcFnqBEY9H0MtkqO3VN60QRRCW2w=; b=MWiWWbHXwF9SG2MAw+0mT1JYgMbopuHrDXSthI4bECzX1rxTKMiAEM5+8RnnnrDpybEdIlDmdnbweReV+C7IqZkGYt1V/UAQ5ECtTaQU843Tgk0QH7ePr6qqKwwYNzMd45Tq98T4Pj7trLb+r1kWan1eY323CUfygK/WOf0JCKo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655180946742819.8855286666183; Mon, 13 Jun 2022 21:29:06 -0700 (PDT) Received: from localhost ([::1]:49964 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0yAr-0007gU-NF for importer@patchew.org; Tue, 14 Jun 2022 00:29:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49012) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0y29-0003XG-FW for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:05 -0400 Received: from mail-io1-xd36.google.com ([2607:f8b0:4864:20::d36]:45628) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0y27-0001eO-Mc for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:05 -0400 Received: by mail-io1-xd36.google.com with SMTP id 19so8209079iou.12 for ; Mon, 13 Jun 2022 21:20:03 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id a3-20020a5ec303000000b0066579afd3cbsm4803742iok.50.2022.06.13.21.20.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jun 2022 21:20:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=S40P6qQAunc27gypcFnqBEY9H0MtkqO3VN60QRRCW2w=; b=Od3N1XbEHDzMeWSg5bvzwwtVu/yBVPGq88F+/vplNUh1xuOtzAE7wcMReLpBLFg7c/ 1W2zY/TOqLeNS74HuUcON86Js2aAY5cTkyN0JoQjIjDGChdkmRzImSQMyB1gQ1EYaJBx GdEYW5RIpuVAtl7QEfK8McSgY8f+SP2LT+WhoQhzB/QFh0YO7uZ8J5xdN6LJYGpIK8Q1 tDORrk23BeoEkD5fIrkUhsGwy9s3cvHYKgscr5bpYww4ZwfbVzFXbPWvFVf4uoRANqhz e6s7qWmlWZYS2YAtjA85su7sRusRfOd6aC0KJ87F1iLeIr9C28qK1u4a6bCtQ6OHcO3d KkPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=S40P6qQAunc27gypcFnqBEY9H0MtkqO3VN60QRRCW2w=; b=1GFheJ94503V3RedsbqLr/kqiSvAFOUx+YodW1c3SWh1Atm83xug1Ifscw9YCD61ZK 8bn+Vlt8sVNC84JxL+eYstx1qIFbJVZSqSVAtjrBP8HANeiAt8TglnvTQRvfu8qbUk3t kUJVoYt+bByw3EZslmvSvNMlNbAVkEIpCOixUc9ObRGmF8dVNSeNxIpqENLUIj0W4/j6 AYlWWWlsU63wworx1howD3bA8QoOJtz3ryaYdpLYPl0LuVVudSxyzzz8v9twRMLoAP15 lhGnZlKUwDIllFBdsVHDmoA81+WcwkBnMYlFi0pgK5NUWylh1FRDy0gjTv9G/XApP/V8 pGew== X-Gm-Message-State: AOAM533b9G7EXceSUHAPL5X3oq9azVM3yKV0aeAdMpO+GLcMJbuG5S4D it20AtQWe/rnPmMTRJn9OE5qRidez1AHmA== X-Google-Smtp-Source: ABdhPJzXJwffNz5cx+kLtcLgYj5P/kxhMTKihihQMKPBGfGzQ81ymPTL32YbvqU7I7OUTCRCccoaQQ== X-Received: by 2002:a05:6638:2692:b0:331:fcfd:adf5 with SMTP id o18-20020a056638269200b00331fcfdadf5mr1799656jat.166.1655180402154; Mon, 13 Jun 2022 21:20:02 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Kyle Evans , arrowd@freebsd.org, Richard Henderson , jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, Stacey Son , Jung-uk Kim Subject: [PATCH v2 05/11] bsd-user: Implement rename and renameat Date: Mon, 13 Jun 2022 22:20:04 -0600 Message-Id: <20220614042010.40327-6-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220614042010.40327-1-imp@bsdimp.com> References: <20220614042010.40327-1-imp@bsdimp.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::d36; envelope-from=imp@bsdimp.com; helo=mail-io1-xd36.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-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655180948545100001 Content-Type: text/plain; charset="utf-8" Plus the helper LOCK_PATH2 and UNLOCK_PATH2 macros. Signed-off-by: Stacey Son Signed-off-by: Jung-uk Kim Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 45 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 +++++++ 2 files changed, 53 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index bc0a0c08d55..fd8aba96180 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -32,6 +32,24 @@ do { \ =20 #define UNLOCK_PATH(p, arg) unlock_user(p, arg, 0) =20 +#define LOCK_PATH2(p1, arg1, p2, arg2) \ +do { \ + (p1) =3D lock_user_string(arg1); \ + if ((p1) =3D=3D NULL) { \ + return -TARGET_EFAULT; \ + } \ + (p2) =3D lock_user_string(arg2); \ + if ((p2) =3D=3D NULL) { \ + unlock_user(p1, arg1, 0); \ + return -TARGET_EFAULT; \ + } \ +} while (0) + +#define UNLOCK_PATH2(p1, arg1, p2, arg2) \ +do { \ + unlock_user(p2, arg2, 0); \ + unlock_user(p1, arg1, 0); \ +} while (0) =20 extern struct iovec *lock_iovec(int type, abi_ulong target_addr, int count, int copy); @@ -330,4 +348,31 @@ static abi_long do_bsd_fchdir(abi_long arg1) return get_errno(fchdir(arg1)); } =20 +/* rename(2) */ +static abi_long do_bsd_rename(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p1, *p2; + + LOCK_PATH2(p1, arg1, p2, arg2); + ret =3D get_errno(rename(p1, p2)); /* XXX path(p1), path(p2) */ + UNLOCK_PATH2(p1, arg1, p2, arg2); + + return ret; +} + +/* renameat(2) */ +static abi_long do_bsd_renameat(abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4) +{ + abi_long ret; + void *p1, *p2; + + LOCK_PATH2(p1, arg2, p2, arg4); + ret =3D get_errno(renameat(arg1, p1, arg3, p2)); + UNLOCK_PATH2(p1, arg2, p2, arg4); + + return ret; +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 8698db358c1..2d62a546328 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -309,6 +309,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_fchdir(arg1); break; =20 + case TARGET_FREEBSD_NR_rename: /* rename(2) */ + ret =3D do_bsd_rename(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_renameat: /* renameat(2) */ + ret =3D do_bsd_renameat(arg1, arg2, arg3, arg4); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 04:03:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1655181066; cv=none; d=zohomail.com; s=zohoarc; b=DsaSSxZi/Tjv1dx8/MW2ogqMqwLnv8yiSo1mURulvbRRiG0Y6SLGMfMvvgyvJjKp+eUUJWbED/hFX/KchWT5q/2i4L9KFVkJZhDuwaZSLKAX6wwqa2wQtsfevBibkJNsK2udvJAqTMm3XK6nVHNxeILDxMFqT4pux/KuJn7KTVc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655181066; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=4lp3jEo9v2BadFnXv+3JFzH727s9UtBSFIowCjnWXXo=; b=n2DWMuMivsJa8N/lu7Vq7egz6UmuhclAR+luoY21NQ9uFn17PqVNHps1ciyf8z4NjUioQSJkO/7MtOgALuZDokcRQeYqx3ccZbfkYvXBgrcossyUdeEDJlCA9EX5itfEGe3gQOPutgv+MjS5PAcYoQA3DaC0fFAWB3oP90rOUcA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655181066296466.09929283196334; Mon, 13 Jun 2022 21:31:06 -0700 (PDT) Received: from localhost ([::1]:54598 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0yCm-0002m3-QN for importer@patchew.org; Tue, 14 Jun 2022 00:31:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49112) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0y2D-0003hj-HJ for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:09 -0400 Received: from mail-il1-x12e.google.com ([2607:f8b0:4864:20::12e]:39548) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0y28-0001ox-Tj for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:09 -0400 Received: by mail-il1-x12e.google.com with SMTP id z11so5752334ilq.6 for ; Mon, 13 Jun 2022 21:20:04 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id a3-20020a5ec303000000b0066579afd3cbsm4803742iok.50.2022.06.13.21.20.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jun 2022 21:20:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=4lp3jEo9v2BadFnXv+3JFzH727s9UtBSFIowCjnWXXo=; b=5w8411/+3AGpx/MOxJgYiXpoFlrwo5MNIDFiYwxdhV/X2W9sA2kHAakUOaMV2w4w0W a8oZvVySV8nllcD0rVtOcjQE4xza6asEjBTNVg4HmRe0dcCGq+j0nny+KcZpSn9ZdTEe AvbrarUQ47cT1H0BulyfnCVd6u2J/n17L74DxQCJeqHRbj8x+dd3qFlY+MmfmOhUJSeV 6se9tkWhTOASQZ+a5DRjoTHPbEnljuToN9UqnXmB43ZDoG4ikjhd3o2/yDg2XhaBjvbS dAEO+hLhtMR5Og60TWX40/0zGdsgTve/GenJpvWhVMFH+CP361BQBZ3TtpRyvN3j0GPT qc6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=4lp3jEo9v2BadFnXv+3JFzH727s9UtBSFIowCjnWXXo=; b=KXZpIj/PSWAdUTvQG1swsq/rRKxHCIsO4idu6yRpSVt6IqJMwLt1Z208FIGFCTCfH6 +ipPJ4RVNSNLuPIsMaeAYT2GLyLxvf7UiS3jo4KW064ia4h3CClgRAFVa1BagUZD0coJ D04EUMf+TNqqmQ+qwYwFE7oXXg9cdPEZu6Mefz3T54rhcITw8soJ6Kgj6ACXORMhZUqg MzntNLB6oAjVZfQPfANBcLu/QMmJYnKsNCDePgoa4plT5W2ms/642sGEDMXxpCkudVW/ OXAIz+57lTcR+g42nLhkS4OybgVzyJhtiWfL/m0HMrmW786quPepDr2nD5chcsFHmmR/ BM8A== X-Gm-Message-State: AJIora8xvJDOWlTaQ5eCw17PqPjaxa0N3dhyPlHMvTtnCYhUZZb0epRd WGr/X+ZMLPo0EoXfnxJNT/rfA1N4ZghNGw== X-Google-Smtp-Source: AGRyM1soOtC1HFxqigoEhpKsM8Af0+ncX+aBV1lSIvS/MEJw9tcEQbLXAVtXx7NH9fON9c+PwkQ1PQ== X-Received: by 2002:a05:6e02:1bc8:b0:2d4:342:9c68 with SMTP id x8-20020a056e021bc800b002d403429c68mr2004643ilv.254.1655180403339; Mon, 13 Jun 2022 21:20:03 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Kyle Evans , arrowd@freebsd.org, Richard Henderson , jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, Stacey Son , Jung-uk Kim Subject: [PATCH v2 06/11] bsd-user: Implement link, linkat, unlink and unlinkat Date: Mon, 13 Jun 2022 22:20:05 -0600 Message-Id: <20220614042010.40327-7-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220614042010.40327-1-imp@bsdimp.com> References: <20220614042010.40327-1-imp@bsdimp.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::12e; envelope-from=imp@bsdimp.com; helo=mail-il1-x12e.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=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=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655181067202100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stacey Son Signed-off-by: Jung-uk Kim Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 54 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 16 +++++++++++ 2 files changed, 70 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index fd8aba96180..93e142d46e7 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -375,4 +375,58 @@ static abi_long do_bsd_renameat(abi_long arg1, abi_lon= g arg2, return ret; } =20 +/* link(2) */ +static abi_long do_bsd_link(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p1, *p2; + + LOCK_PATH2(p1, arg1, p2, arg2); + ret =3D get_errno(link(p1, p2)); /* XXX path(p1), path(p2) */ + UNLOCK_PATH2(p1, arg1, p2, arg2); + + return ret; +} + +/* linkat(2) */ +static abi_long do_bsd_linkat(abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4, abi_long arg5) +{ + abi_long ret; + void *p1, *p2; + + LOCK_PATH2(p1, arg2, p2, arg4); + ret =3D get_errno(linkat(arg1, p1, arg3, p2, arg5)); + UNLOCK_PATH2(p1, arg2, p2, arg4); + + return ret; +} + +/* unlink(2) */ +static abi_long do_bsd_unlink(abi_long arg1) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(unlink(p)); /* XXX path(p) */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* unlinkat(2) */ +static abi_long do_bsd_unlinkat(abi_long arg1, abi_long arg2, + abi_long arg3) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg2); + ret =3D get_errno(unlinkat(arg1, p, arg3)); /* XXX path(p) */ + UNLOCK_PATH(p, arg2); + + return ret; +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 2d62a546328..c847e4d20c6 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -317,6 +317,22 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_renameat(arg1, arg2, arg3, arg4); break; =20 + case TARGET_FREEBSD_NR_link: /* link(2) */ + ret =3D do_bsd_link(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_linkat: /* linkat(2) */ + ret =3D do_bsd_linkat(arg1, arg2, arg3, arg4, arg5); + break; + + case TARGET_FREEBSD_NR_unlink: /* unlink(2) */ + ret =3D do_bsd_unlink(arg1); + break; + + case TARGET_FREEBSD_NR_unlinkat: /* unlinkat(2) */ + ret =3D do_bsd_unlinkat(arg1, arg2, arg3); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 04:03:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1655181153; cv=none; d=zohomail.com; s=zohoarc; b=ghbshBHyrAHhaUs91lYDeYRJ8lCYbQltO0OAi7nrB6VwQeAQWd4ldiL9uQ4nXW/BGCHj/2NCMowQT/v0MsSa728dofbk7Tvrxo6mzA1S8AlvqzYglryO0/HVML/+/ReaGxM2PwQLLZFrYiwkEvrH4xBGo9CFYEfMIPrjqmPm09Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655181153; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=DDt4lR7a0j8LSpHDvGx01/LeHWwn1L1uADG9APhxRcg=; b=eiK8mfWZS4Z22LpGT9s/P8ZdmSBQcgJrIUmA8z1eUov/v9bo268QA+12EzqVV35x5LHUmZFO3691wWeTA39+iTTM7drBXQYzr99Nqrqml7D4wzFhZdcSMk8p9fTg8yF/HMvMc8zoAF3SiF/ZfD2zLuQTruhJgMoQKNXjA+FYZc4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655181153905715.8995685363377; Mon, 13 Jun 2022 21:32:33 -0700 (PDT) Received: from localhost ([::1]:56418 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0yEB-0003z7-9w for importer@patchew.org; Tue, 14 Jun 2022 00:32:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49072) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0y2C-0003fB-DY for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:08 -0400 Received: from mail-io1-xd35.google.com ([2607:f8b0:4864:20::d35]:35459) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0y29-0001pn-Mp for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:08 -0400 Received: by mail-io1-xd35.google.com with SMTP id y79so8242377iof.2 for ; Mon, 13 Jun 2022 21:20:05 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id a3-20020a5ec303000000b0066579afd3cbsm4803742iok.50.2022.06.13.21.20.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jun 2022 21:20:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=DDt4lR7a0j8LSpHDvGx01/LeHWwn1L1uADG9APhxRcg=; b=nzgHstqdbAy9ZErsUi3E2V2lWA1Z6PTpCBFg0YV+E5Jua949vbL7Jts6ZyEG9Mz3lc +aEHNcgLELlvxCXLPlzHlzu1JhwcvAoRfP2yGxQehRPsntdL///Y+Sbzb1f+nfaHQZTH MwpejFFUwfoijZGWQOT0AlY8Lxuw5OOuV8Mq3Ytk9txa8mdGpNVMjKZxEv1LMqQmor2K V+FAYFCl465FsUZ8wO+QN+8GqViHwoVucggeukQnEBk+6S6F7T/eQHDVxFlO2aTY3oBh mdaxBBFACv+KZF7KujIWBW20Jy0Kd8LbyuE2XWeovIMKXPyqqjhRqj2nnlnkd8UcJJt1 8zXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DDt4lR7a0j8LSpHDvGx01/LeHWwn1L1uADG9APhxRcg=; b=I0asTYpHGw0fWmkixl2wdFALN1QO8KvONVYIvGM+CjbfbV0aGKQbjYWFHvZvkMMyGE sgloVhLZz6cDcwJi33K5SUIKXzsVvFcrznUpYqIWwUqJtoUDjpRGisCD4vDh30gyj0vB OarZeGuqhsQE1Gz3vx6pHl2x0QGY3EL74P1yDbvNDt4TrUpAwZ4ExB0dom+YsafzoBIk y3EMymHNsJah632/ix/whZMlSmZXL44aYkecagLB+2+FjZCVhMsVLOGQk8/CHTld7b50 geH8sMU/7+geMOJFDonzMezMwD+UbF2E2/6WtOl1ZfX/FjIAQ05MLl1E8RdCWRwXslKv oaFA== X-Gm-Message-State: AOAM532r+g20PxaS9WoHbQZn6ghkdJFapEtQOczi7sutYIuOxq9HtCNA NEDSEytsoB1pzTrBZOj7xsFdjiUQsc5zdw== X-Google-Smtp-Source: ABdhPJwO+oJNtJbcFlQsOFqvYMB067VZMvxqVKPswQw55wIVpviLn/u22AG7ec/Hu2bHVrUCb2gb1g== X-Received: by 2002:a02:9002:0:b0:332:e11:bf87 with SMTP id w2-20020a029002000000b003320e11bf87mr1704473jaf.91.1655180404414; Mon, 13 Jun 2022 21:20:04 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Kyle Evans , arrowd@freebsd.org, Richard Henderson , jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, Stacey Son Subject: [PATCH v2 07/11] bsd-user: Implement mkdir and mkdirat Date: Mon, 13 Jun 2022 22:20:06 -0600 Message-Id: <20220614042010.40327-8-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220614042010.40327-1-imp@bsdimp.com> References: <20220614042010.40327-1-imp@bsdimp.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::d35; envelope-from=imp@bsdimp.com; helo=mail-io1-xd35.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-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655181155686100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stacey Son Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 27 +++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 ++++++++ 2 files changed, 35 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 93e142d46e7..a4c6dd52a20 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -429,4 +429,31 @@ static abi_long do_bsd_unlinkat(abi_long arg1, abi_lon= g arg2, return ret; } =20 +/* mkdir(2) */ +static abi_long do_bsd_mkdir(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(mkdir(p, arg2)); /* XXX path(p) */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* mkdirat(2) */ +static abi_long do_bsd_mkdirat(abi_long arg1, abi_long arg2, + abi_long arg3) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg2); + ret =3D get_errno(mkdirat(arg1, p, arg3)); + UNLOCK_PATH(p, arg2); + + return ret; +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index c847e4d20c6..9381ddb5be1 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -333,6 +333,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_unlinkat(arg1, arg2, arg3); break; =20 + case TARGET_FREEBSD_NR_mkdir: /* mkdir(2) */ + ret =3D do_bsd_mkdir(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_mkdirat: /* mkdirat(2) */ + ret =3D do_bsd_mkdirat(arg1, arg2, arg3); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 04:03:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1655180718; cv=none; d=zohomail.com; s=zohoarc; b=J+k+vBcdLzKuUNxErjKb8+aO2+VqQP7ozZuh5TJNktE9JVJNl+J0AuONQeAn2L+9ZgZ1oyc2Yt8U6FMRsmjqgNqb4ds32a0h0lP5rORETCu14vT3JtxmcINdwmVsPofiXRJvAR1ghTJcSCWmFGduvoFfxuy+xJeRlX6BU+b5fpk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655180718; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=olw8ZOCD+M4kjdGJCkv/JFL+kzJiB7ue2OVvnPf2GEI=; b=H1/H6BXne7TBe0AU1WDyCgIvCsPChtg8KzxUBMGuZJbKq9L40RG///+rAt7/JA8jOTdxpfRFgU6rlWgaR2ivwcoozAlUchH/r3IOqykMng4I0RGeQ8JlAOlCysD6Q+b18dVUxthFhVOaE5EcayHJ0kE7kepUzH/kxMJu/1VESck= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655180718415798.7522833364077; Mon, 13 Jun 2022 21:25:18 -0700 (PDT) Received: from localhost ([::1]:43724 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0y7A-0002yo-Q4 for importer@patchew.org; Tue, 14 Jun 2022 00:25:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49090) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0y2C-0003g1-Od for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:08 -0400 Received: from mail-il1-x12b.google.com ([2607:f8b0:4864:20::12b]:40457) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0y2B-0001qG-6I for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:08 -0400 Received: by mail-il1-x12b.google.com with SMTP id h18so5744925ilj.7 for ; Mon, 13 Jun 2022 21:20:06 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id a3-20020a5ec303000000b0066579afd3cbsm4803742iok.50.2022.06.13.21.20.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jun 2022 21:20:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=olw8ZOCD+M4kjdGJCkv/JFL+kzJiB7ue2OVvnPf2GEI=; b=8BKKZoWSzcvmhB3klyS1JoIiwz2jmItK+VxS7T1bcf3Z6G6TF6A7raXt6q9GRXXljH lwmhS/7ZKnsnyTVdnGSNPruKmUJRyYsryr1ix6Lb4rYXbtr5Twc7JYhienHEQMJP+WnN I2/cTiZODnu+UjmWyZfx+MicoP7iLdw2Ch1Bz7OBIp2QSj9WwLrnFQ8CpMSbU79IMtuh WKzeRes59SVsqKEovL0c1WP3TOUUYW5oSFBKHp68euN2/K4DsIUkuq2agOJK1kBWn5Fs yHogmgnHLxNJ6uHHqtQ6ijuclZQqvuyGeZWvjaW6eHiObwzoTj+A6sN5AT30Gx0CMw9K vRMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=olw8ZOCD+M4kjdGJCkv/JFL+kzJiB7ue2OVvnPf2GEI=; b=U62nIxuiIKHvi1SDJb09ff79Uedy2K8ZtCmvS5voD2NOmeQZwQxMzGYTnB8O9hv+mY Smp0qhZqck78pNUQTinH1AWUL+AK38pjIvAYZawkers8f8xw1OZKMRo7PEDpl0EY/GVh jnxyg3CG2s1hExk1rNUzoPiOFevPlAUjFVJ7YUaUvcUeEz68Au14hbcVoz8othSKXsJF S0kOkIsLH18dE+6WNE34QLsUkPQ77fWUc1vDzKUugQOXs4Ro/ixzxBSAXOXss/2IuFMl thMQVb9nnx8obF4RThksUWM13lf9heR5MfaC/klAByGAi04fjRyoBwtMZtoLfSVMNC0S DmfQ== X-Gm-Message-State: AJIora+P+n53Kv5wxgN4yBB3RTATbXrf4MES/BSfAo3UrqgqCRyfBqdl 5cg8PHpJNqc6BAgNqtxO3u8lWuf87+GtfQ== X-Google-Smtp-Source: AGRyM1sNNPC4y6JyfFI2BL8EGSwzTbQpjqocM9T5t7dOfV5RoSTgpO4StvANh6A6rbpcGKP/zrMvfA== X-Received: by 2002:a05:6e02:1b0c:b0:2d3:bfdf:e3c5 with SMTP id i12-20020a056e021b0c00b002d3bfdfe3c5mr1920473ilv.138.1655180405614; Mon, 13 Jun 2022 21:20:05 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Kyle Evans , arrowd@freebsd.org, Richard Henderson , jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, Stacey Son , Jung-uk Kim Subject: [PATCH v2 08/11] bsd-user: Implement rmdir and undocumented __getcwd Date: Mon, 13 Jun 2022 22:20:07 -0600 Message-Id: <20220614042010.40327-9-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220614042010.40327-1-imp@bsdimp.com> References: <20220614042010.40327-1-imp@bsdimp.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::12b; envelope-from=imp@bsdimp.com; helo=mail-il1-x12b.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-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655180719116100001 Content-Type: text/plain; charset="utf-8" Implemenet rmdir and __getcwd. __getcwd is the undocumented back end to getcwd(3). Signed-off-by: Stacey Son Signed-off-by: Jung-uk Kim Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 29 +++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 ++++++++ 2 files changed, 37 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index a4c6dd52a20..8ec53145894 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -456,4 +456,33 @@ static abi_long do_bsd_mkdirat(abi_long arg1, abi_long= arg2, return ret; } =20 +/* rmdir(2) */ +static abi_long do_bsd_rmdir(abi_long arg1) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(rmdir(p)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* undocumented __getcwd(char *buf, size_t len) system call */ +static abi_long do_bsd___getcwd(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + p =3D lock_user(VERIFY_WRITE, arg1, arg2, 0); + if (p =3D=3D NULL) { + return -TARGET_EFAULT; + } + ret =3D safe_syscall(SYS___getcwd, p, arg2); + unlock_user(p, arg1, ret =3D=3D 0 ? strlen(p) + 1 : 0); + + return get_errno(ret); +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 9381ddb5be1..e28a566d6c3 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -341,6 +341,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_mkdirat(arg1, arg2, arg3); break; =20 + case TARGET_FREEBSD_NR_rmdir: /* rmdir(2) (XXX no rmdirat()?) */ + ret =3D do_bsd_rmdir(arg1); + break; + + case TARGET_FREEBSD_NR___getcwd: /* undocumented __getcwd() */ + ret =3D do_bsd___getcwd(arg1, arg2); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 04:03:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1655181245; cv=none; d=zohomail.com; s=zohoarc; b=JUXi2bPxaDwTYyej+S82djllBuHF4ZuUxwAYDf12X+lTMYBh/3p6ocgx4N0YjVfk1S485Z3DpHMVUoPASfnQt1WJ8tDFyn/M24l3i23/6/OFJ2gZVIjYyVYP32pXuCy0+NoAbeCCjK3KTaFZM9Kqt+I0Iqrn+qPfKRVRxgu3fTo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655181245; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=slM5mo+lyEYK7BDCjCyKBMpfdnmv0SN6/iCP+sM1rKE=; b=JghmMQ3A9MDJVPXQ6fKFNK67BhfisUAxm6jNUBMAbguhYofrY290KN0dpSIRdoZueoD/DPPpqtMsC8YQsB3eFdUyjA6+RtPisk5KJy3dBVU74d6GnMyFyOt6YR/8z2P1R2LbeQncfB2PxEnOT4m8uyvf/n55nJOfkY/t4gcyQFk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655181245070963.1327761352369; Mon, 13 Jun 2022 21:34:05 -0700 (PDT) Received: from localhost ([::1]:60302 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0yFf-0007B4-H1 for importer@patchew.org; Tue, 14 Jun 2022 00:34:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49114) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0y2D-0003ix-TT for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:09 -0400 Received: from mail-io1-xd35.google.com ([2607:f8b0:4864:20::d35]:43662) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0y2C-0001qT-CT for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:09 -0400 Received: by mail-io1-xd35.google.com with SMTP id d123so8216301iof.10 for ; Mon, 13 Jun 2022 21:20:08 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id a3-20020a5ec303000000b0066579afd3cbsm4803742iok.50.2022.06.13.21.20.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jun 2022 21:20:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=slM5mo+lyEYK7BDCjCyKBMpfdnmv0SN6/iCP+sM1rKE=; b=afAzmoN0Ktm7JxfI1yQT0yS+toFTAyhg/GSpJxW2J3/QAUlmIdl+MMKfxj/RxzYSNP XKkM/oMRbX6uLtvjrPQWrc5oejHhS5y9mQEp1ISsGq4SC1UGVDoyODf6U4quKLWHH8fa O5a/YY15pAFlI2VGyg/oo3GBJN9W4tJWMFEZVz4ZHmtF07H9BWMV2WJlVCHlY5Jmlcwz Yz9YXVo7IVQNuCCfySNv3ylo7IKHTUAHeFSemRlD2Png8jWxr1q8wwoq28r8pZp7SmRr hMRTJl2QXa0FqwH7hYJn+ZEEf6TdM5wkZ65lSSgJUxCMivUcBc8UFgdqYNUEdVUJLXkH mlng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=slM5mo+lyEYK7BDCjCyKBMpfdnmv0SN6/iCP+sM1rKE=; b=Isex5z3yyS5Qxq+2slPPc/ea9LS2MlujsekQTs3Py2TW/jqFSWZV9Domh4FxlnfXUM bcx01cotzyopaNHgixy6gGM9D9BiQ+XK9M9j9hXEstXrLKGQFdDAOGS7+SQMuZqpwTEK KkYj8V78+OID+j/UYLIw/BvTP4XJSv9YJlaQqygwjJhkWjXMuFZh4a+nV4uWME66dHqK F8idQDo7obfpPepXCeJzbuHpRAPmdO7/C1IcJnCH2ceSiHaiz/3pEFqkaC45wnjJRblv OgzRZGGeUvEdhidaZfvO3pr5101XSGGZZIsaxsluAm5a4KQEAje5+qCNyZIWxFtDm5TK zy6w== X-Gm-Message-State: AOAM530aXbz7yQwoktKn1Azs7TLOwecMesqKavkI4LhmO/fRo1TKnPo2 Cam42ABfImoWPZmvnjLP4NbosLkrJu9bqw== X-Google-Smtp-Source: ABdhPJyUzF/q2I7/jbHiaZ3kZoat/EHxfO47yT0QFbd7RIbsSs6YW/c0n64Vu41Cwf5qNjAdRptcow== X-Received: by 2002:a05:6602:2b0b:b0:64f:acc1:52c3 with SMTP id p11-20020a0566022b0b00b0064facc152c3mr1520854iov.38.1655180406725; Mon, 13 Jun 2022 21:20:06 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Kyle Evans , arrowd@freebsd.org, Richard Henderson , jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, Stacey Son Subject: [PATCH v2 09/11] bsd-user: Implement dup and dup2 Date: Mon, 13 Jun 2022 22:20:08 -0600 Message-Id: <20220614042010.40327-10-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220614042010.40327-1-imp@bsdimp.com> References: <20220614042010.40327-1-imp@bsdimp.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::d35; envelope-from=imp@bsdimp.com; helo=mail-io1-xd35.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-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655181246184100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stacey Son Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 12 ++++++++++++ bsd-user/freebsd/os-syscall.c | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 8ec53145894..021541ad2e0 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -485,4 +485,16 @@ static abi_long do_bsd___getcwd(abi_long arg1, abi_lon= g arg2) return get_errno(ret); } =20 +/* dup(2) */ +static abi_long do_bsd_dup(abi_long arg1) +{ + return get_errno(dup(arg1)); +} + +/* dup2(2) */ +static abi_long do_bsd_dup2(abi_long arg1, abi_long arg2) +{ + return get_errno(dup2(arg1, arg2)); +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index e28a566d6c3..d9ebb9d50d6 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -349,6 +349,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd___getcwd(arg1, arg2); break; =20 + case TARGET_FREEBSD_NR_dup: /* dup(2) */ + ret =3D do_bsd_dup(arg1); + break; + + case TARGET_FREEBSD_NR_dup2: /* dup2(2) */ + ret =3D do_bsd_dup2(arg1, arg2); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 04:03:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1655180949; cv=none; d=zohomail.com; s=zohoarc; b=KevFl6VzAWSP9lcN3uG2POWnZjZWKYNYdGqnhOcm4WwFNmTg48kHJHzFvfG3IoEhuLaa01iswpfxBa0ChlxmhwQpMs6059YZmgidy31c50Yk4TZZfth/t8akB5ZFy0cheh8R9vFelAoIZAYNKcx88D8Zg+cK/NTdFe1lPpStd/U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655180949; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=wJEGbDyUIR4TgYHaYi6XpxnqSx1t+dwpAGBFG5Z8F5Q=; b=ZsMsnWB+vPX4LEOcyG2f1V4S2QWXvpKTkB/LkvVySFyX9yCv+20jRFb0fzNzc0wcNHS4yTTmFjnM/OEEur6dFQfO/1JPB47I+gFQILuFrEKRcUHo74/r1eVXiqthmZ+PMC2RAz+0X7xn+EJaBw9ZnoFIQ8KMTOv8gMnF6O3mOec= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 165518094914795.04155082651141; Mon, 13 Jun 2022 21:29:09 -0700 (PDT) Received: from localhost ([::1]:50096 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0yAt-0007oO-SU for importer@patchew.org; Tue, 14 Jun 2022 00:29:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49120) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0y2E-0003js-5N for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:10 -0400 Received: from mail-il1-x130.google.com ([2607:f8b0:4864:20::130]:44989) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0y2C-0001qY-LT for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:09 -0400 Received: by mail-il1-x130.google.com with SMTP id y17so5735494ilj.11 for ; Mon, 13 Jun 2022 21:20:08 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id a3-20020a5ec303000000b0066579afd3cbsm4803742iok.50.2022.06.13.21.20.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jun 2022 21:20:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wJEGbDyUIR4TgYHaYi6XpxnqSx1t+dwpAGBFG5Z8F5Q=; b=mdKMSmITyKIZszHugUUg77IaBGAjt+A/alOG63l+gf7qagzfd2xNkPkpfHZHuFrUjA esY809lTS3+5qlBdtKKMaEEneDIuV3FNUJ2VEMrxLiGu3osGutQOBH61B1US9DUuI+AS sFxYc8lXQMbfgEmwaHdqGUbp0nL9u3tcZeTrzEF0e4vqoAu6YVEnmV0+5iJXIq1GPgFC xUAmjJb47DQo78GkgbBBhdEsIY0oTmb8mhl862R3H9W6WttKkxmd8vl7DSOIZA2OBrfR +j2+X2Fk8CRSshutB3USHWbyoTBdf5mOvZ+nNqhIqkL4pkklcMGiLkVCozD6LiBKorXu Ov4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wJEGbDyUIR4TgYHaYi6XpxnqSx1t+dwpAGBFG5Z8F5Q=; b=mEVKwwo03QMp1e2ZZxgMIKlCnz7XQxx42T/Uefy0BnbaIKq4Z3kFF3xY+eNte0tbgY ATzf7GnH0VRS2yDOAWBVDWxTov1PyHDCc0k7OuAzJuv0gLWjGM02qZkWKRdv0FtcxMiP 7i77Q2371O88CeeRmPYNXluALTGkoojJhPEj1VXIP1uIb7ToT3TRaW+FZIOt9vtC6h/D gs7DAtiGLSJqbGu1KLCOjJ4YnV7tzToTLVJsZxFAnpJyGzIgT+mASHtPYK4Oj/RvssJL Ov2JxEcdtK64rtb6+6Eco8mPqOq6Sw/JWBOhK1GJcsbiiiQ9mGs3Nx9iatxicsZiulay 3l5Q== X-Gm-Message-State: AJIora9e+29eQ5VPID5zywYMo8ZxvXLU/0nfO0OXf5VRGbcYhVXhm+5U ezq/qaOqVITNQC7ArOXz0JFrL/CEv53hNA== X-Google-Smtp-Source: AGRyM1tHBPoYcb9nBGqBDzSisJ2TcN4Fdctazy2LjKOvqrG4HW39dxnEuu+/L4kj9EqqBMP8EGztBQ== X-Received: by 2002:a05:6e02:168a:b0:2d3:c56d:8042 with SMTP id f10-20020a056e02168a00b002d3c56d8042mr1917273ila.236.1655180407472; Mon, 13 Jun 2022 21:20:07 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Kyle Evans , arrowd@freebsd.org, Richard Henderson , jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, Stacey Son Subject: [PATCH v2 10/11] bsd-user: Implement trunctate and ftruncate Date: Mon, 13 Jun 2022 22:20:09 -0600 Message-Id: <20220614042010.40327-11-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220614042010.40327-1-imp@bsdimp.com> References: <20220614042010.40327-1-imp@bsdimp.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::130; envelope-from=imp@bsdimp.com; helo=mail-il1-x130.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-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655180950479100003 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stacey Son Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 29 +++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 ++++++++ 2 files changed, 37 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 021541ad2e0..fda36894605 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -497,4 +497,33 @@ static abi_long do_bsd_dup2(abi_long arg1, abi_long ar= g2) return get_errno(dup2(arg1, arg2)); } =20 +/* truncate(2) */ +static abi_long do_bsd_truncate(void *cpu_env, abi_long arg1, + abi_long arg2, abi_long arg3, abi_long arg4) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + if (regpairs_aligned(cpu_env) !=3D 0) { + arg2 =3D arg3; + arg3 =3D arg4; + } + ret =3D get_errno(truncate(p, target_arg64(arg2, arg3))); + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* ftruncate(2) */ +static abi_long do_bsd_ftruncate(void *cpu_env, abi_long arg1, + abi_long arg2, abi_long arg3, abi_long arg4) +{ + if (regpairs_aligned(cpu_env) !=3D 0) { + arg2 =3D arg3; + arg3 =3D arg4; + } + return get_errno(ftruncate(arg1, target_arg64(arg2, arg3))); +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index d9ebb9d50d6..3c8f6cad0e8 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -357,6 +357,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_dup2(arg1, arg2); break; =20 + case TARGET_FREEBSD_NR_truncate: /* truncate(2) */ + ret =3D do_bsd_truncate(cpu_env, arg1, arg2, arg3, arg4); + break; + + case TARGET_FREEBSD_NR_ftruncate: /* ftruncate(2) */ + ret =3D do_bsd_ftruncate(cpu_env, arg1, arg2, arg3, arg4); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Sun Feb 8 04:03:08 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1655181163; cv=none; d=zohomail.com; s=zohoarc; b=PkL+O4n9QqhopE/KRiRQOGiqfRlCFEihLXo4nl835jXAiyu2N/fLMsfQAq2wEmEZw8SqmDmfRlZtWt8DbdJV+gSfKiOyMa6z8nu3OQbQYID50jEeQpReERl1mnjjABaj6dYY31kcaxkz7NKmZLxu3N1UCwDNCzA2V5aDCZIrZ84= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655181163; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=gMytXGUn22yDNlAtdSy95841H0sZIx/2Jw4ZsIHWhmc=; b=A8AcWSw0ANhK4ads5WrZVll4b3oYotEywqEuiYYRkiLfwAa1X96VHHePjyZc0EPAemoFjSxMSBeIHISQxz9Uq4LuM1JQDN/K9W9Jg8tzaDNTXc5iLlMhwIJPQHmTXsKMVAsOPcEXii3yVOp4WADjO2lUGFOJVDwpeHIB2tdYisM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1655181163054398.9641513408917; Mon, 13 Jun 2022 21:32:43 -0700 (PDT) Received: from localhost ([::1]:56446 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0yEL-00040Q-9F for importer@patchew.org; Tue, 14 Jun 2022 00:32:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49130) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0y2F-0003nQ-A3 for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:11 -0400 Received: from mail-il1-x12b.google.com ([2607:f8b0:4864:20::12b]:40457) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0y2D-0001qG-Py for qemu-devel@nongnu.org; Tue, 14 Jun 2022 00:20:11 -0400 Received: by mail-il1-x12b.google.com with SMTP id h18so5744925ilj.7 for ; Mon, 13 Jun 2022 21:20:09 -0700 (PDT) Received: from dune.bsdimp.com (50-253-99-174-static.hfc.comcastbusiness.net. [50.253.99.174]) by smtp.gmail.com with ESMTPSA id a3-20020a5ec303000000b0066579afd3cbsm4803742iok.50.2022.06.13.21.20.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jun 2022 21:20:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gMytXGUn22yDNlAtdSy95841H0sZIx/2Jw4ZsIHWhmc=; b=Aj1Dm1+luIwjri50wRxnVB/xZXdUHWjVJWaH7EkWNnC2BVk7jA/frd8TK4lLat37Q1 BsZv/huXhQvB0nMmdpXCTpdUiB5GnEOMnd0tdd8xDvzwNaw0uOMHHldsSjlADRBweU+9 BW4xaFrJh3/wZPb6vBvgg0V/QrNlpG4c+t5rv3At98xccdb6CQGouTLFdjtkSP/RtYLr HCX5odHejE8+LJ6onUw17GigU1ytwyunrMOkYUvUXcynKqmLN9mUjE/yNm1B7lYlwDsB PnziYCZ8HzdEJKTFt8kPUAvPk8AuDIRfcdqLot8NDwATyeMKnDv4iYI5H4HFKNYBbyR7 ebVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=gMytXGUn22yDNlAtdSy95841H0sZIx/2Jw4ZsIHWhmc=; b=OhfksUWxK/9jsCfwPQDLWCeoHdqSQZ8h63XzbTmwakGljawUNdUN96wInEiBTEmfH3 tl+V4nE7vVT4bG9XxOli9emDXyep0IaQN2bqZEwzbaq6Dm/b27BtHlSaOFLrnNsxUKD3 Ng2GEgwjLV61zFh5FlNFqtvfmk8ofJkCfdbtL2U6NNj/bjGK/y3VncB6iE3HmMUU64cY J1fWK1fmoQlICt44XdtdOyiYF0DAXsx6WIC9rVFgwIwmMbJNMFKJMQyhJk/Hl5/JuMyc tiDOfGY2Oc9iznnrPg0coHeZg11S+GiDqHhnEgegsgf3rtLxerIUqoyXonTkXGHMIsaz BHeg== X-Gm-Message-State: AJIora/+CvaTdP+FQEDwjplswsz8rZQD1/FvU4olT5MZQOxnCeiyjXCB mORcmi4Fg2z9+cfmdCB3VXIlMZPm94K1tg== X-Google-Smtp-Source: AGRyM1uPkZtHwBrBtgKoRroICLm/WILBsUYwqLtwSgcS5XYUPhADuKBs+Ul7hViTMMowgtdiLoUBXA== X-Received: by 2002:a92:c54a:0:b0:2d3:b2ac:eb with SMTP id a10-20020a92c54a000000b002d3b2ac00ebmr1773510ilj.323.1655180408630; Mon, 13 Jun 2022 21:20:08 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Kyle Evans , arrowd@freebsd.org, Richard Henderson , jrtc27@FreeBSD.org, Warner Losh , def@FreeBSD.org, Stacey Son Subject: [PATCH v2 11/11] bsd-user: Implement acct and sync Date: Mon, 13 Jun 2022 22:20:10 -0600 Message-Id: <20220614042010.40327-12-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220614042010.40327-1-imp@bsdimp.com> References: <20220614042010.40327-1-imp@bsdimp.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::12b; envelope-from=imp@bsdimp.com; helo=mail-il1-x12b.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-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @bsdimp-com.20210112.gappssmtp.com) X-ZM-MESSAGEID: 1655181163737100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stacey Son Signed-off-by: Warner Losh Reviewed-by: Richard Henderson --- bsd-user/bsd-file.h | 23 +++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 8 ++++++++ 2 files changed, 31 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index fda36894605..b2dca586129 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -526,4 +526,27 @@ static abi_long do_bsd_ftruncate(void *cpu_env, abi_lo= ng arg1, return get_errno(ftruncate(arg1, target_arg64(arg2, arg3))); } =20 +/* acct(2) */ +static abi_long do_bsd_acct(abi_long arg1) +{ + abi_long ret; + void *p; + + if (arg1 =3D=3D 0) { + ret =3D get_errno(acct(NULL)); + } else { + LOCK_PATH(p, arg1); + ret =3D get_errno(acct(path(p))); + UNLOCK_PATH(p, arg1); + } + return ret; +} + +/* sync(2) */ +static abi_long do_bsd_sync(void) +{ + sync(); + return 0; +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 3c8f6cad0e8..2623caf8007 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -365,6 +365,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_ftruncate(cpu_env, arg1, arg2, arg3, arg4); break; =20 + case TARGET_FREEBSD_NR_acct: /* acct(2) */ + ret =3D do_bsd_acct(arg1); + break; + + case TARGET_FREEBSD_NR_sync: /* sync(2) */ + ret =3D do_bsd_sync(); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1