From nobody Tue May 21 22:50:03 2024 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=1655747150; cv=none; d=zohomail.com; s=zohoarc; b=gPyOU7VseiIPrhsYYb6dKaVdyB/9TUUQx4Ta5i//xRMnvuwu0Z+Gp1aFhbyNDiv9FkfK4lOpUjTeATYhsRV82Dnei8T116qCNLCKKs/PtL2P42HJ+op5Whw916fiqbMC1ezTEQN3VhKF32zvB/diaT8+3vV6GFhgIn5czpNWP08= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655747150; 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=IxN5+FtiUGJyc7XVu/a8YwMMoYC5uxl3zjuqzVgtANI=; b=Zc/9eZ3LZsRLaCuFP+626ZgFLsPttKbbPaORCvPpgRLrcybriMiREN6ZfLeGIzI6+JeMxQQ+MYBT2WI2bFaFPxnvkefX2eyNc11zMY3bu/ofytzKFHTcQdszbWUEu9O/1ikUVJCUblfSY5L07hZCdDTXtsiObE1C8xLLCR4oD+g= 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 1655747150533502.73579067518665; Mon, 20 Jun 2022 10:45:50 -0700 (PDT) Received: from localhost ([::1]:49792 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o3LTB-0007lX-5K for importer@patchew.org; Mon, 20 Jun 2022 13:45:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39120) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o3LPe-00055z-1S for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:10 -0400 Received: from mail-il1-x12f.google.com ([2607:f8b0:4864:20::12f]:44023) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o3LPb-00081a-Cd for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:09 -0400 Received: by mail-il1-x12f.google.com with SMTP id z16so64026ile.10 for ; Mon, 20 Jun 2022 10:42:07 -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 k19-20020a02c773000000b00331e4e4fac9sm6202953jao.47.2022.06.20.10.42.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jun 2022 10:42: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=IxN5+FtiUGJyc7XVu/a8YwMMoYC5uxl3zjuqzVgtANI=; b=0zQRB+qSt4k4VWKGeJYN/pCrhbSmpmFH3i0sV2803cWGNbps9CcjZkgtgdSWB5oRZe B8VaAn+w70pbAkFHTiazVowb6zvKp3S39H+fIORLjKAaJbiCka+F0VyYdpSCKksnNpGU TcTdO+4BiaYeI0z1UghOHmHmq5kq2yaTIwtPAaPDX801GKa0wn4pM71pGkHyBfcWMO5A H8rr7EhO4KA0WxEeH/8V8bpZPF+sBkHC6G0MU7aP2YmW5mxiNEv6/JEZHIWkLwPo8XUg mepjaBvJvwtBfQYu8QqSthnCbxOGeTXZ5gcZmJwUU1HMqyNaW8dFzk3hOmm8pVTX8h2f fZZw== 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=IxN5+FtiUGJyc7XVu/a8YwMMoYC5uxl3zjuqzVgtANI=; b=yvYD9oeqqe2PKVi75Fn2FRy0aIKFbPuvry71Nx6ZEBsefR5Na1J9tRDVJwNtEVQjPF XI/RLEWst51KISRIUsyu0bggUW1IlMm4nwn3zI9BiyZVi1Ejlc0q117DNJkrmIXvECvR 4c+WVvM2Agf0nLfzU6CcAem/ow39wSSho/gqgo1T7pdiN5nWT1qh+yP6liWhTDoAG1xG iKPL3Uxumil8jbG0Qo+BNsmobBc724E+IfJdkMXUiYRcEwsGrPeOG06keG6sTcIo+t8c fYnLFq6iOFjYC3pK+9biC/Ceot0vbMAd64FbVvwWx2mIM2Ut5yG+aVPkFBZhsiTAj5qB 24pg== X-Gm-Message-State: AJIora8GEFXZrP7/s5Nq8rqWHAlS7UkTftvLN4gjOjo3pS6PvUVl8ogZ b5lTfYuAgZxho5daE/v4rmXBGR7abHR+Kw== X-Google-Smtp-Source: AGRyM1tf5YB2YDM0a9S/bKyEX98Y9ckE3PIpWN11G04jQqozLvmvsXIDClICmg57InfF0AAjblwG5g== X-Received: by 2002:a05:6e02:1564:b0:2d6:5b63:80ec with SMTP id k4-20020a056e02156400b002d65b6380ecmr13759837ilu.46.1655746926025; Mon, 20 Jun 2022 10:42:06 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Warner Losh , Kyle Evans , Stacey Son , Jung-uk Kim Subject: [PATCH 01/10] bsd-user: Implement mount, umount and nmount Date: Mon, 20 Jun 2022 11:42:11 -0600 Message-Id: <20220620174220.22179-2-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220620174220.22179-1-imp@bsdimp.com> References: <20220620174220.22179-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::12f; envelope-from=imp@bsdimp.com; helo=mail-il1-x12f.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: 1655747153011100003 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 | 52 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 13 +++++++++ 2 files changed, 65 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index b2dca586129..4545df3a056 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -549,4 +549,56 @@ static abi_long do_bsd_sync(void) return 0; } =20 +/* mount(2) */ +static abi_long do_bsd_mount(abi_long arg1, abi_long arg2, abi_long arg3, + abi_long arg4) +{ + abi_long ret; + void *p1, *p2; + + LOCK_PATH2(p1, arg1, p2, arg2); + /* + * XXX arg4 should be locked, but it isn't clear how to do that + * since it's it may be not be a NULL-terminated string. + */ + if (arg4 =3D=3D 0) { + ret =3D get_errno(mount(p1, p2, arg3, NULL)); /* XXX path(p2)? */ + } else { + ret =3D get_errno(mount(p1, p2, arg3, g2h_untagged(arg4))); /* XXX= path(p2)? */ + } + UNLOCK_PATH2(p1, arg1, p2, arg2); + + return ret; +} + +/* unmount(2) */ +static abi_long do_bsd_unmount(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(unmount(p, arg2)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* nmount(2) */ +static abi_long do_bsd_nmount(abi_long arg1, abi_long count, + abi_long flags) +{ + abi_long ret; + struct iovec *vec =3D lock_iovec(VERIFY_READ, arg1, count, 1); + + if (vec !=3D NULL) { + ret =3D get_errno(nmount(vec, count, flags)); + unlock_iovec(vec, arg1, count, 0); + } else { + return -TARGET_EFAULT; + } + + return ret; +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 2623caf8007..bd4dfa6ddc7 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -33,6 +33,7 @@ #include "qemu/path.h" #include #include +#include #include #include =20 @@ -373,6 +374,18 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_sync(); break; =20 + case TARGET_FREEBSD_NR_mount: /* mount(2) */ + ret =3D do_bsd_mount(arg1, arg2, arg3, arg4); + break; + + case TARGET_FREEBSD_NR_unmount: /* unmount(2) */ + ret =3D do_bsd_unmount(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_nmount: /* nmount(2) */ + ret =3D do_bsd_nmount(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 Tue May 21 22:50:03 2024 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=1655747153; cv=none; d=zohomail.com; s=zohoarc; b=EP5FAdnuW+W7wE3Gor2f9is23XUOTrcqRq9ai6+ePRHMFotgROg4g/pgcWiyRejbrCnnHLeY5+vvTjFeusuuNhXG9ameWujjfPQsFHxeVC/D49EXrDIE3tUKcUMcqqJPqkJKBJCMGsYLQgliGtJVfRtDv0LfOvRk8nWKGKijfcM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655747153; 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=nW7mBBIc5zzP6+xjuSHv5mY+f3R/Ch0mpWQhcpFjbok=; b=ahdEiwdCBj2zwZ1tUdiZnlwHyZ7bUFH0H08f6LcruruKp9cZQ/3T3t0CdZZev+FLXZ2LAQI726mncMBFoFIBeZyoP/VqPL1hBmDuxD0jd5wq0L+Qb7ja2UpA4MdN1mrrnquV0+jNhbm8ObCqwgZxziMsPrvI5i4lL0sRD8hQR/M= 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 1655747153869908.5174337550386; Mon, 20 Jun 2022 10:45:53 -0700 (PDT) Received: from localhost ([::1]:49832 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o3LTE-0007n0-RV for importer@patchew.org; Mon, 20 Jun 2022 13:45:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39122) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o3LPe-00056E-8G for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:10 -0400 Received: from mail-io1-xd33.google.com ([2607:f8b0:4864:20::d33]:34316) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o3LPc-00081g-IR for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:09 -0400 Received: by mail-io1-xd33.google.com with SMTP id p128so11845481iof.1 for ; Mon, 20 Jun 2022 10:42: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 k19-20020a02c773000000b00331e4e4fac9sm6202953jao.47.2022.06.20.10.42.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jun 2022 10:42: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=nW7mBBIc5zzP6+xjuSHv5mY+f3R/Ch0mpWQhcpFjbok=; b=xcH/Ow3oLisdUbEPW1rwwNVz++smIaDrp1uxdHKpo8FQns226LeI3uNSVRoYOwng6k ZZ01n0RnbYos0ecu0jqJdavUc0nVardQXRFJvh1WXEHLa5d9S8EFX7LSXsPItaLlgMCo 0Q+zjnqauusDbM3+5t3ZP91LmJ8h1Jcgw2Ls7FtlNONADmBVb6jzjrDvcX8vxwu4D9Vp cypQiBJQQxFkhW9rzJEYg5XCBzdWEpfhEB+S/2U+cpMhm8qduyUV3MHfUVwCB4EgrXKe a1+RvK+IaWMfDgLTtQS7ucMj3GKkyJWnLNH72ugf6slJE4nPqWK57wjof3+2hrW/cv9Y T+Pg== 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=nW7mBBIc5zzP6+xjuSHv5mY+f3R/Ch0mpWQhcpFjbok=; b=uyPTKgqLEaFtzabK5H7q+4PXus3OEj+u3vq3RtHwzNUCiGmpHmt4U/9fOW8IcLRHtW rsW+RrNHFIWsaHn5ZVvQ+/dLjNYRvHO1OwTLmIfNYPRGIw/uKRmQLlkki7qW1pVf7rdt HVaUy5L494idPyplr26s1iREWOLb6nAoHYJsV3wwE5tI6JJur2lbTvy29qpcBaR2wNMR BqhsZCcVFbUNt94pAHFFBEhw9YW9t7G6WbMwQW7tmsxA4yPYRhS9SrGxAIHafzLrvtcK fYvC3zfrviRcyvqmJu1NHJiHPJi65LR+L/PLQPVYUsjASZqHI7JF1s9LG9mAf79thJne JyXQ== X-Gm-Message-State: AJIora9vpvlo8JvVKRY99G5uLXQzs1h0fJXz8XclKKYksJuYKWguDmH0 f4Wn6VxWv2LAYjgwvAgS3j8vr5I82Shhow== X-Google-Smtp-Source: AGRyM1sICQGzCgwtcohYXY9pqk85zSaF7j2dqQBUeRC43XdaeP7E2sXrb8wgOHekxqbvzNrwbw1t/w== X-Received: by 2002:a05:6638:220e:b0:335:b65b:6a7d with SMTP id l14-20020a056638220e00b00335b65b6a7dmr14024365jas.220.1655746927243; Mon, 20 Jun 2022 10:42:07 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Warner Losh , Kyle Evans , Stacey Son , Jung-uk Kim Subject: [PATCH 02/10] bsd-user: Implement symlink, symlinkat, readlink and readlinkat Date: Mon, 20 Jun 2022 11:42:12 -0600 Message-Id: <20220620174220.22179-3-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220620174220.22179-1-imp@bsdimp.com> References: <20220620174220.22179-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::d33; envelope-from=imp@bsdimp.com; helo=mail-io1-xd33.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: 1655747154836100005 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stacey Son Signed-off-by: Jung-uk Kim Signed-off-by: Warner Losh --- bsd-user/bsd-file.h | 75 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 16 ++++++++ 2 files changed, 91 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 4545df3a056..e5133268546 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -601,4 +601,79 @@ static abi_long do_bsd_nmount(abi_long arg1, abi_long = count, return ret; } =20 +/* symlink(2) */ +static abi_long do_bsd_symlink(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p1, *p2; + + LOCK_PATH2(p1, arg1, p2, arg2); + ret =3D get_errno(symlink(p1, p2)); /* XXX path(p1), path(p2) */ + UNLOCK_PATH2(p1, arg1, p2, arg2); + + return ret; +} + +/* symlinkat(2) */ +static abi_long do_bsd_symlinkat(abi_long arg1, abi_long arg2, + abi_long arg3) +{ + abi_long ret; + void *p1, *p2; + + LOCK_PATH2(p1, arg1, p2, arg3); + ret =3D get_errno(symlinkat(p1, arg2, p2)); /* XXX path(p1), path(p2) = */ + UNLOCK_PATH2(p1, arg1, p2, arg3); + + return ret; +} + +/* readlink(2) */ +static abi_long do_bsd_readlink(CPUArchState *env, abi_long arg1, + abi_long arg2, abi_long arg3) +{ + abi_long ret; + void *p1, *p2; + + LOCK_PATH(p1, arg1); + p2 =3D lock_user(VERIFY_WRITE, arg2, arg3, 0); + if (p2 =3D=3D NULL) { + UNLOCK_PATH(p1, arg1); + return -TARGET_EFAULT; + } +#ifdef __FreeBSD__ + if (strcmp(p1, "/proc/curproc/file") =3D=3D 0) { + CPUState *cpu =3D env_cpu(env); + TaskState *ts =3D (TaskState *)cpu->opaque; + strncpy(p2, ts->bprm->fullpath, arg3); + ret =3D MIN((abi_long)strlen(ts->bprm->fullpath), arg3); + } else +#endif + ret =3D get_errno(readlink(path(p1), p2, arg3)); + unlock_user(p2, arg2, ret); + UNLOCK_PATH(p1, arg1); + + return ret; +} + +/* readlinkat(2) */ +static abi_long do_bsd_readlinkat(abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4) +{ + abi_long ret; + void *p1, *p2; + + LOCK_PATH(p1, arg2); + p2 =3D lock_user(VERIFY_WRITE, arg3, arg4, 0); + if (p2 =3D=3D NULL) { + UNLOCK_PATH(p1, arg2); + return -TARGET_EFAULT; + } + ret =3D get_errno(readlinkat(arg1, p1, p2, arg4)); + unlock_user(p2, arg3, ret); + UNLOCK_PATH(p1, arg2); + + return ret; +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index bd4dfa6ddc7..80ec9dd4954 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -386,6 +386,22 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_nmount(arg1, arg2, arg3); break; =20 + case TARGET_FREEBSD_NR_symlink: /* symlink(2) */ + ret =3D do_bsd_symlink(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_symlinkat: /* symlinkat(2) */ + ret =3D do_bsd_symlinkat(arg1, arg2, arg3); + break; + + case TARGET_FREEBSD_NR_readlink: /* readlink(2) */ + ret =3D do_bsd_readlink(cpu_env, arg1, arg2, arg3); + break; + + case TARGET_FREEBSD_NR_readlinkat: /* readlinkat(2) */ + ret =3D do_bsd_readlinkat(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 Tue May 21 22:50:03 2024 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=1655747313; cv=none; d=zohomail.com; s=zohoarc; b=UHZCekyyj95/u2M8n0F66Gk2C7Vkk9fh30/NZBEv96mIeW3D70uDvoVU7ROT3Mzu9yx5DmipheDvd98FH+cMzb++pHOYgvp+dtfh0lnmYcpwpa/pJh6RzwdqN4Uu/cdgYE6bk8sMbljejWWTCwV/h8nZjQ0DkPj+TvvOJzDgI9Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655747313; 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=pFbmvEHAivgEtRGUWfo6E/E11O0d1kI4WUFngQaszpg=; b=BmiUz9yA7Oz++KYpkrY/vRR/ZKF/7s7PFcEEUBTeP8B209pu/eBbfmnDF4VGv3hwSVlbJf4qh8FLcEgJE5V7C5wWmWoei2+FX85DUW6WHtVWZdSon7/hDJ7JZB5f7IrsdLNpwXQlkF78uzu+4ZimPk0Kw8AXm1guwOei8NoH0tc= 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 1655747313387849.4261970351841; Mon, 20 Jun 2022 10:48:33 -0700 (PDT) Received: from localhost ([::1]:58208 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o3LVo-00058A-CH for importer@patchew.org; Mon, 20 Jun 2022 13:48:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39132) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o3LPf-00057X-Cc for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:11 -0400 Received: from mail-io1-xd30.google.com ([2607:f8b0:4864:20::d30]:39643) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o3LPd-00081s-Qm for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:11 -0400 Received: by mail-io1-xd30.google.com with SMTP id i16so11830566ioa.6 for ; Mon, 20 Jun 2022 10:42: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 k19-20020a02c773000000b00331e4e4fac9sm6202953jao.47.2022.06.20.10.42.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jun 2022 10:42: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=pFbmvEHAivgEtRGUWfo6E/E11O0d1kI4WUFngQaszpg=; b=JZLzNhHPo5gra7LseTfC743RWemXG/Z0YfBuV/i3bYH0WppvfsUAoNwB26OgKzXTeM m89BmFy8dysLk5EtArl+ShJ0kaxNhFFL13G+EaOyGWgIayr+Z6mEltGaAnJTZwg9UdXP PL1oagZApuf5u0Jxv0jB55+8ZLwyOuJmlphKVWEH14pkt+BBzBpojjMW8aYwBnkuO314 lE4NYAAkq+r2saMv17cP6rpKmowK9XKIyKOV8rgCMsg/ljc53S7mjRQs2EqYadGCgOzb DlA9OtuczMDiH6htDSrc8PLlnvsqa4+L8TvwgDcOpLrKHfTOhqDEJ4s2yaXeulPFfyiy zfEg== 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=pFbmvEHAivgEtRGUWfo6E/E11O0d1kI4WUFngQaszpg=; b=Ogj2T6TYPJuU+n+1v+z5ShlFofKNGmOrrtTiZu8b3UwamU9P3T3ktD4Xs+1ItwnJrp vxXPquWSYqaPzwigW/iKJ1dsNV/bShIEk91yfbvpsYtLc9uOShE6y8xbsUjzwqBANNpX zBAXgTllihm6Q0sl+zajLuMIRihSGWqeg3f0UtSxE7CqpKmYDseygzmknLTEgo6RsAGa qENFnfJW6Px/O/G7p/B6FCQTERLBsvMfUK3qhmpG38idqU1E0WP8HAOAFbUiGETQKc6A pC8giQo7Jf6+LvUJ6GKZmTI7kF8fRtACz9WRrdLF0bpaV102p8S4dAy+t1BJaUkzScjj YODg== X-Gm-Message-State: AJIora8ZSwwAkhVbkYRuYrfKX7eNzfiU/pY4WUhmZgQWwZ8w2+G/2oj/ oyvOw0+gpmA6HceiUxEewcQEk5kAd5klfg== X-Google-Smtp-Source: AGRyM1tS3/hlK2Xpf2ub4C5AcAEJwZFPXbMR1JdAylb7F7Bum9w/0T9vUyV8YcLdNYR8wstr/zHPtg== X-Received: by 2002:a6b:2c89:0:b0:669:aa1e:7790 with SMTP id s131-20020a6b2c89000000b00669aa1e7790mr12368245ios.49.1655746928509; Mon, 20 Jun 2022 10:42:08 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Warner Losh , Kyle Evans , Stacey Son Subject: [PATCH 03/10] bsd-user: implement chmod, fchmod, lchmod and fchmodat Date: Mon, 20 Jun 2022 11:42:13 -0600 Message-Id: <20220620174220.22179-4-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220620174220.22179-1-imp@bsdimp.com> References: <20220620174220.22179-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: 1655747314069100002 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 | 46 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 16 ++++++++++++ 2 files changed, 62 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index e5133268546..0585f6a2a40 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -676,4 +676,50 @@ static abi_long do_bsd_readlinkat(abi_long arg1, abi_l= ong arg2, return ret; } =20 +/* chmod(2) */ +static abi_long do_bsd_chmod(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(chmod(p, arg2)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* fchmod(2) */ +static abi_long do_bsd_fchmod(abi_long arg1, abi_long arg2) +{ + return get_errno(fchmod(arg1, arg2)); +} + +/* lchmod(2) */ +static abi_long do_bsd_lchmod(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(lchmod(p, arg2)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* fchmodat(2) */ +static abi_long do_bsd_fchmodat(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(fchmodat(arg1, p, arg3, arg4)); + 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 80ec9dd4954..b33d548a4b6 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -402,6 +402,22 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_readlinkat(arg1, arg2, arg3, arg4); break; =20 + case TARGET_FREEBSD_NR_chmod: /* chmod(2) */ + ret =3D do_bsd_chmod(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_fchmod: /* fchmod(2) */ + ret =3D do_bsd_fchmod(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_lchmod: /* lchmod(2) */ + ret =3D do_bsd_lchmod(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_fchmodat: /* fchmodat(2) */ + ret =3D do_bsd_fchmodat(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 Tue May 21 22:50:03 2024 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=1655747158; cv=none; d=zohomail.com; s=zohoarc; b=PL6XYREPMNe17uRRFJHQyMCncH0OQ4PEZ+hRhlABPMxqwGrk64GPFB7UzK1Q9qLT60gO87a84tH/rxk40KnitesGelE8pDgm+x2FtI5qkgapRCA/XJy6nEsEFncGIbpt5am6RGG2a5cCEhxnQ43g/S8J0VZ/piWlY7Fgm2S1Ijs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655747158; 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=qcJsu926ojREEMFrSsx5nEuKvNWjOE/4L6qk23IhBSw=; b=HAqG3fgbDpXV3dv46ZnNgXxfTYsus08iBT2/bo1uiBhpDBb/Qm+9itYA2hXCFOek8LyZmv6U6aWRkDuGy0WNiu1t0fGnO2OUWsK8GCc3pMxoE3oqBhyWNedLd/Cw+GtOpb77VLBkvrZOytpA1axI+YZ86/CAThIv80rB3OXB/8Q= 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 1655747158864932.0770624974955; Mon, 20 Jun 2022 10:45:58 -0700 (PDT) Received: from localhost ([::1]:50146 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o3LTJ-00080d-Qm for importer@patchew.org; Mon, 20 Jun 2022 13:45:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39150) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o3LPh-0005Cr-Ps for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:13 -0400 Received: from mail-il1-x12d.google.com ([2607:f8b0:4864:20::12d]:45761) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o3LPg-00082F-2X for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:13 -0400 Received: by mail-il1-x12d.google.com with SMTP id o13so2506609ilt.12 for ; Mon, 20 Jun 2022 10:42:11 -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 k19-20020a02c773000000b00331e4e4fac9sm6202953jao.47.2022.06.20.10.42.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jun 2022 10:42: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=qcJsu926ojREEMFrSsx5nEuKvNWjOE/4L6qk23IhBSw=; b=ph91WBEaadofKnwUdrXaSiJK6ZW5q3rSen/ExGRvyUU01NgJ35199V5LqDzHAb8aS9 AyWB99XrVXcg2+jYquLggIM4Us/B5SrNmgiCkeap8iLlXvj5CQMS/5//F8JRbr3vMRnk XEIQU+LGTIR1HRYmaUPqdlBfuj6WWfqGAcDwrvUBQw7jFGsMYA6JDzxdz4l1KOqtDK04 0tVsE7JAYnUwqLU/L7fgdGui01/Q3XXu99TxBKxiuoXCzJVeRLlu2JpIpH54jdQQYIez yuaOtoAxxtVRXJLGkFiJXZ0cl05vdkNkFOQ1+QTCj6Sv5ltdWeTK5kp9ijqbGk7FiBMH c/yQ== 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=qcJsu926ojREEMFrSsx5nEuKvNWjOE/4L6qk23IhBSw=; b=ORTBXMHTKVWVp4qraO3ncWDCO+aQv13rhwq8YRX5+r0z108dP0jXNcQeLCWxSAun81 1M1U2agp8z+IjcPhP/APr0umLfxwc9CQITHZzO/dW9v2wVQgXP7BWm8ft/pBB6UlCgyu xayjQbl/GykYmjJtYEumNf0iwmJHrkNr5Pu4Qjj/cG5Ta0X1QEh3Ncj5sUqK33TlCY/O wxWwH7Dxz5HgyJ0qFC9b4xgTU9QV7SDJVylBRTjLztyshRkUQEE7z2DPjmBsX4ifF987 z9F4+hb2JhAVMeL3+8iAOMI6h2U1Ppbt3sy47XLwZQuVjZQq+BYr3+9lBDZr+Lk5iZiq 3Dpw== X-Gm-Message-State: AJIora8t42QS+qos8ZFhYO7yhafO56/oXEdmiWL6cnNCe/QfKQP0grnu 6NOujEGkXwbu5SOs0BCPvbiDYxZ5PKeMYA== X-Google-Smtp-Source: AGRyM1s/Q9o0fwXrCqTXw9qzpXkc41uBZH6ErHbGwg+DKimPA9NQ0tu5DjhqxZMWcjiCyT0avKdA3g== X-Received: by 2002:a92:d309:0:b0:2d8:e639:4e02 with SMTP id x9-20020a92d309000000b002d8e6394e02mr9544749ila.313.1655746930663; Mon, 20 Jun 2022 10:42:10 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Warner Losh , Kyle Evans , Stacey Son , Michal Meloun Subject: [PATCH 04/10] bsd-user: Implement freebsd11_mknod, freebsd11_mknodat and mknodat Date: Mon, 20 Jun 2022 11:42:14 -0600 Message-Id: <20220620174220.22179-5-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220620174220.22179-1-imp@bsdimp.com> References: <20220620174220.22179-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::12d; envelope-from=imp@bsdimp.com; helo=mail-il1-x12d.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: 1655747161000100001 Content-Type: text/plain; charset="utf-8" These implement both the old-pre INO64 mknod variations, as well as the now current INO64 variant. To implement the old stuff, we use some linker magic to bind to the old versions of these functions. Signed-off-by: Stacey Son Signed-off-by: Michal Meloun Signed-off-by: Warner Losh --- bsd-user/bsd-file.h | 59 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 15 +++++++++ 2 files changed, 74 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 0585f6a2a40..3be832b2a74 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -51,6 +51,16 @@ do { \ unlock_user(p1, arg1, 0); \ } while (0) =20 +#ifndef BSD_HAVE_INO64 +#define freebsd11_mknod mknod +#define freebsd11_mknodat mknodat +#else +int freebsd11_mknod(char *path, mode_t mode, uint32_t dev); +__sym_compat(mknod, freebsd11_mknod, FBSD_1.0); +int freebsd11_mknodat(int fd, char *path, mode_t mode, uint32_t dev); +__sym_compat(mknodat, freebsd11_mknodat, FBSD_1.1); +#endif + 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, @@ -722,4 +732,53 @@ static abi_long do_bsd_fchmodat(abi_long arg1, abi_lon= g arg2, return ret; } =20 +/* pre-ino64 mknod(2) */ +static abi_long do_bsd_freebsd11_mknod(abi_long arg1, abi_long arg2, abi_l= ong arg3) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(freebsd11_mknod(p, arg2, arg3)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* pre-ino64 mknodat(2) */ +static abi_long do_bsd_freebsd11_mknodat(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(freebsd11_mknodat(arg1, p, arg3, arg4)); + UNLOCK_PATH(p, arg2); + + return ret; +} + +#ifdef BSD_HAVE_INO64 +/* post-ino64 mknodat(2) */ +static abi_long do_bsd_mknodat(void *cpu_env, abi_long arg1, + abi_long arg2, abi_long arg3, abi_long arg4, abi_long arg5, + abi_long arg6) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg2); + /* 32-bit arch's use two 32 registers for 64 bit return value */ + if (regpairs_aligned(cpu_env) !=3D 0) { + ret =3D get_errno(mknodat(arg1, p, arg3, target_arg64(arg5, arg6))= ); + } else { + ret =3D get_errno(mknodat(arg1, p, arg3, target_arg64(arg4, arg5))= ); + } + UNLOCK_PATH(p, arg2); + + return ret; +} +#endif + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index b33d548a4b6..fea6a857b78 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -32,6 +32,7 @@ #include "qemu/cutils.h" #include "qemu/path.h" #include +#include #include #include #include @@ -418,6 +419,20 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_fchmodat(arg1, arg2, arg3, arg4); break; =20 + case TARGET_FREEBSD_NR_freebsd11_mknod: /* mknod(2) */ + ret =3D do_bsd_freebsd11_mknod(arg1, arg2, arg3); + break; + + case TARGET_FREEBSD_NR_freebsd11_mknodat: /* mknodat(2) */ + ret =3D do_bsd_freebsd11_mknodat(arg1, arg2, arg3, arg4); + break; + +#ifdef BSD_HAVE_INO64 + case TARGET_FREEBSD_NR_mknodat: /* mknodat(2) */ + ret =3D do_bsd_mknodat(cpu_env, arg1, arg2, arg3, arg4, arg5, arg6= ); + break; +#endif + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Tue May 21 22:50:03 2024 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=1655747313; cv=none; d=zohomail.com; s=zohoarc; b=kyi9wKUU9FUrVZsDYlutP0uNH6WKs1z5saeEwsBsNsLWfgiUI/HJ9fqjoNhPipXiwUDTHPhcGY6AbZ9RCQGwKkd4vzkXSHQch6XgpCcGkMrpAsQsnb7F6DISvL3VoHRmQ+wdqO0h2kJR3lw0f+R1WgnlgBgnnUEbaauztvFuq2o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655747313; 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=UuJHHejPBwIaugX7fDadtLkXriXIC3ahCHAaQC5ubvM=; b=SWiyaPU/tAba+LQOPDBiDmSGK4+85j66xuhWkSTvif0m8Rrj2tofAMI+/SiglbYsVX5wsg+MtLJ5xIOAr1TdAZMVdT+5IuCIn24H6RkZ4QM371+k9g0XoyxfBKIGLiLLASLU/8FZRYc2tIBeLWjRmEHPq8UHmHwKHSSI9tRUFUs= 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 1655747313345261.6805694945425; Mon, 20 Jun 2022 10:48:33 -0700 (PDT) Received: from localhost ([::1]:58186 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o3LVo-00057M-Ap for importer@patchew.org; Mon, 20 Jun 2022 13:48:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39160) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o3LPj-0005Gw-32 for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:15 -0400 Received: from mail-io1-xd2c.google.com ([2607:f8b0:4864:20::d2c]:37571) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o3LPh-00082N-Fp for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:14 -0400 Received: by mail-io1-xd2c.google.com with SMTP id n11so11846368iod.4 for ; Mon, 20 Jun 2022 10:42:13 -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 k19-20020a02c773000000b00331e4e4fac9sm6202953jao.47.2022.06.20.10.42.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jun 2022 10:42:11 -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=UuJHHejPBwIaugX7fDadtLkXriXIC3ahCHAaQC5ubvM=; b=z/+F3FS8t6/upUJHwXVBLUtAd1Yj87nCu56yI0nmvCs+0F8eYJLdN5biDezHahUaIy AFeKi6ECYH1tcYUvZuOsOnUgdcrQARGf2acT6bqfwnDGVPtRjfpnl0YRjw65rs69uj5e ZO7DLTxQts04Z20+cIPHbpB69uupt3p6edlaNO68sBA6kQqZgXaSrDAhfOUC+z8uVTWe dFjLJVz61lLm2lvqAJdffxZIOfi0gU80T3/nQdpGjF3bW2hG8JiKCsb+pG37Wp38TjyB FM6vuqUStHsxcuvG6eJeaAQsj6dDDVHZExJdm2giVIlNEhTMQcswkLNnolg7M7Nsj0P+ rUiQ== 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=UuJHHejPBwIaugX7fDadtLkXriXIC3ahCHAaQC5ubvM=; b=j3gIub0bVwrFJS2Dz09Z7S9W5/mPUATYKOoVvm09YyGaPN4YUhTkLOpGCR3ZBkN5DL UkDACc50EqU2IoELjQI1xEfdbJlkhWVCFzlj5vln1ibhxdn2wcElIn3eiNFpEyZNwZnS 6JgZeFumkDf/c1MCTcCAlRgxiCIhlZkUwdcc8m+Sdbife4oHJzKFWAzgKkO4hb/No/w1 EM860i4LSJ4gVPl434qm2E9ZhbUTRPdc+0dabKUQiq6U4lk/zzj5QgU5Ilz6k/uhNKpP rY9QrHKyrRE2IKmxLfvdoYBkRdsOL/sdXYEJIETTt1FxFKtoxvf2boeVq3i09L9UBjRQ houg== X-Gm-Message-State: AJIora8fTSwR1j6psKyF6939kUO/mEkB8ogn+yjawUE9xZakAMywkjcv UbwopidI9pAGPXQGl+KEsPbDPClXh1JUeA== X-Google-Smtp-Source: AGRyM1ujZupBOqmlxmhRNJ1FzRX/vPX65+TaqcYFbgf61nKkfnP4viy36+ObYu8j0rdBLd4jQ+0oUQ== X-Received: by 2002:a05:6638:1a0e:b0:331:9a26:57c3 with SMTP id cd14-20020a0566381a0e00b003319a2657c3mr13697473jab.310.1655746932072; Mon, 20 Jun 2022 10:42:12 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Warner Losh , Kyle Evans , Stacey Son Subject: [PATCH 05/10] bsd-user: Implement chown, fchown, lchown and fchownat Date: Mon, 20 Jun 2022 11:42:15 -0600 Message-Id: <20220620174220.22179-6-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220620174220.22179-1-imp@bsdimp.com> References: <20220620174220.22179-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::d2c; envelope-from=imp@bsdimp.com; helo=mail-io1-xd2c.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: 1655747314070100003 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 | 48 +++++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 16 ++++++++++++ 2 files changed, 64 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 3be832b2a74..152579ad541 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -781,4 +781,52 @@ static abi_long do_bsd_mknodat(void *cpu_env, abi_long= arg1, } #endif =20 +/* chown(2) */ +static abi_long do_bsd_chown(abi_long arg1, abi_long arg2, abi_long arg3) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(chown(p, arg2, arg3)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* fchown(2) */ +static abi_long do_bsd_fchown(abi_long arg1, abi_long arg2, + abi_long arg3) +{ + return get_errno(fchown(arg1, arg2, arg3)); +} + +/* lchown(2) */ +static abi_long do_bsd_lchown(abi_long arg1, abi_long arg2, + abi_long arg3) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(lchown(p, arg2, arg3)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* fchownat(2) */ +static abi_long do_bsd_fchownat(abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4, abi_long arg5) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg2); + ret =3D get_errno(fchownat(arg1, p, arg3, arg4, arg5)); /* 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 fea6a857b78..4d10334ef21 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -433,6 +433,22 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, break; #endif =20 + case TARGET_FREEBSD_NR_chown: /* chown(2) */ + ret =3D do_bsd_chown(arg1, arg2, arg3); + break; + + case TARGET_FREEBSD_NR_fchown: /* fchown(2) */ + ret =3D do_bsd_fchown(arg1, arg2, arg3); + break; + + case TARGET_FREEBSD_NR_lchown: /* lchown(2) */ + ret =3D do_bsd_lchown(arg1, arg2, arg3); + break; + + case TARGET_FREEBSD_NR_fchownat: /* fchownat(2) */ + ret =3D do_bsd_fchownat(arg1, arg2, arg3, arg4, arg5); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Tue May 21 22:50:03 2024 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=1655747479; cv=none; d=zohomail.com; s=zohoarc; b=dt7v41QuHea1SNEs8qNO1QrWVW377rCjTMzdbtGelie6svKlVe8ovHUODqabD7qtJ3qGvo0j1duriaxACR3A5ivv5FO+T6TEC/9FNdThBs2G+jICoH+2zbo/hR5Yyx3x7wiy0cG3Z+XWJ6+aTWqLKP5UiyYIK6syTD8unhqi7gc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655747479; 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=SRYz6Q4Bnejs49gwvdXs+qzdTzurNm/Hy6aJzVGr/pU=; b=M/yHHNnAqRE+Fw4qU7zm7UdIANj8PvDpx4vYi2s7GRakcrKlW2Fw7y2xRKIgegwtKDns99crqIx7zQvQFSasneqEZw+JSyWhppAp0JzA6Dn8UUMfiEgRSsCbLEhA4ffg9s2b4CR9XjnOLVqgT1FNBpXhQpMBq8HVeEJn8z6E3ZI= 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 1655747479869572.9404405781737; Mon, 20 Jun 2022 10:51:19 -0700 (PDT) Received: from localhost ([::1]:37298 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o3LYU-0001nV-Oq for importer@patchew.org; Mon, 20 Jun 2022 13:51:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39174) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o3LPk-0005Ls-C1 for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:16 -0400 Received: from mail-il1-x12b.google.com ([2607:f8b0:4864:20::12b]:35832) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o3LPi-00082X-UB for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:16 -0400 Received: by mail-il1-x12b.google.com with SMTP id k6so3287624ilq.2 for ; Mon, 20 Jun 2022 10:42:14 -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 k19-20020a02c773000000b00331e4e4fac9sm6202953jao.47.2022.06.20.10.42.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jun 2022 10:42:12 -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=SRYz6Q4Bnejs49gwvdXs+qzdTzurNm/Hy6aJzVGr/pU=; b=NBL5x8b3w+3zMWZxMmkLIwgkSgGuwURbrWytFRenBG5xX+OeGY9yB2x4w/gxhJj7on JLk/AgYaJCZBatJ2VzC4bVkvsoVK/HRR+98K2xIjth30DLfTnbU4r5AZXL9CieKmMbC3 4rkWCG4qkgrevM6CFelEEE2SPzLhyH8ZTXZXofIagWurcRMYauxj7EDtJbAI9Kzq2BIv 8/1ymsiZ7Y4mvzFkAfYmn4N/6iXezU80QHYObflmVKOq+7/e5+c+D7vrSpOvteJRsCOS WX17sTreebqJHyKLdosikLK6ScLW91dsT/2rZwlMriLN3faUoXGxSONWsHHdLe76fvof Ip1w== 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=SRYz6Q4Bnejs49gwvdXs+qzdTzurNm/Hy6aJzVGr/pU=; b=ck14kaFnPB2ox92obOtBuMbN1FJ/BXZjNNp1rq3Tk4b7gt693UfMuBPaAoA/XEA5Nm DurGYnsfyNxNylWzbNuPAoRN00TwKS7OYvl7jtWBt2NABf6ILUDS2heDdmN+4+O1PPqf sX4lIcndt5Up5mQ7DFlINIx1JV3CbtiC71wjnpNsyaLcsJMbzEsfWyKaqfT1noEqE61e z070NT6tPx59FHqhJ13T0Mt2sFssPtcrk30xre1FrQxX+OkA5NYymvpVxQUdCZNszVvE r18pXINZ+wg5EJZHft7pO15eE3M3SVZquHrXDcNvBKXTozGDr2cgJngfPR8SX30s3VbC g+Bw== X-Gm-Message-State: AJIora8+CDPiy3D9gyhnMlo6SJinuBYIJvSFl+XcODTOlbJ55wiXwjRd fgnnDYqwTHKR2q/Bjz2TOu8UxKmXsQ328A== X-Google-Smtp-Source: AGRyM1vRTnviDqAUy1yMNnA+E4hQjftVnkDNt1jsAR+E0ZsWOSsvjX1h4NXalYz6oCmLoPTySv64Cw== X-Received: by 2002:a05:6e02:1a05:b0:2d9:1613:9f9b with SMTP id s5-20020a056e021a0500b002d916139f9bmr2703442ild.164.1655746933656; Mon, 20 Jun 2022 10:42:13 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Warner Losh , Kyle Evans , Stacey Son Subject: [PATCH 06/10] bsd-user: Implement chflags, lchflags and fchflags Date: Mon, 20 Jun 2022 11:42:16 -0600 Message-Id: <20220620174220.22179-7-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220620174220.22179-1-imp@bsdimp.com> References: <20220620174220.22179-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: 1655747481221100002 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 | 32 ++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 12 ++++++++++++ 2 files changed, 44 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 152579ad541..f5375a39a2c 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -829,4 +829,36 @@ static abi_long do_bsd_fchownat(abi_long arg1, abi_lon= g arg2, return ret; } =20 +/* chflags(2) */ +static abi_long do_bsd_chflags(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(chflags(p, arg2)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* lchflags(2) */ +static abi_long do_bsd_lchflags(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(lchflags(p, arg2)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* fchflags(2) */ +static abi_long do_bsd_fchflags(abi_long arg1, abi_long arg2) +{ + return get_errno(fchflags(arg1, arg2)); +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index 4d10334ef21..d10635eae05 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -449,6 +449,18 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_fchownat(arg1, arg2, arg3, arg4, arg5); break; =20 + case TARGET_FREEBSD_NR_chflags: /* chflags(2) */ + ret =3D do_bsd_chflags(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_lchflags: /* lchflags(2) */ + ret =3D do_bsd_lchflags(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_fchflags: /* fchflags(2) */ + ret =3D do_bsd_fchflags(arg1, arg2); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Tue May 21 22:50:03 2024 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=1655747312; cv=none; d=zohomail.com; s=zohoarc; b=T/woxZ2CGdiOuo9qkHI2hre0M6495ADanK3r+nNwRU9N04JpjHNViJAAyo/MRJgdIb+QxxJ6FblcdyQxuuw631sk/CU2JPiIfIlvcPk+rbEBKqHWbBehNH9zc+HYn/gZokEeGXYBoJEBAP/DHi3//VXH0Xp1rCKkNjcYyyQaBwY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655747312; 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=i5fJrgungaspLDb/UzsKPN+C5C6kK/KV/rxEAxS2HOs=; b=iKKEZGUN1uoqqAKWpy5XCjLqNNsaVxIxnO/X8ElQiaqnuhZR73bTkhSatFpyZAWKosBvFcAA7wJes84WnTnJEkhcFN9NZM6FnEZ264BNznRn7Ye5e8W7U1vwj60YfPierykkNzxosh2Veh0QpLa7WC5rNd34hiNnW1T8vlSP65o= 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 1655747312960728.2380278264305; Mon, 20 Jun 2022 10:48:32 -0700 (PDT) Received: from localhost ([::1]:58128 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o3LVn-00054v-OU for importer@patchew.org; Mon, 20 Jun 2022 13:48:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39188) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o3LPm-0005PR-3i for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:19 -0400 Received: from mail-io1-xd33.google.com ([2607:f8b0:4864:20::d33]:34316) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o3LPk-00081g-He for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:17 -0400 Received: by mail-io1-xd33.google.com with SMTP id p128so11845481iof.1 for ; Mon, 20 Jun 2022 10:42:16 -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 k19-20020a02c773000000b00331e4e4fac9sm6202953jao.47.2022.06.20.10.42.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jun 2022 10:42:15 -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=i5fJrgungaspLDb/UzsKPN+C5C6kK/KV/rxEAxS2HOs=; b=UWipyA4CfxGN5rBJXYu8QsQqdOPMAQla5Cq/oshXd+ww+WtYE0Ipyqm3aTPedU7YPe QLzRWlTot/sxVDxlTx5XX8o/n9vcbVVQb97KmvLJy6+WZFT9No5EDy4jfosFQKbCT26s WgowNE6lw/2bNdKsr9HJPzsf0prweNIji+TsMi99FbLgs3/HsPROBN/Hlsai8k6aZAei crQO/0TT7nbYNGvLWK9FnHeYx5xNj8pxzu32eel619utC6uI1ZBuISvdxNV/RpyRypdh 4l60/0oMfG0C2DoCzyl+XZ8zO9SUf/iVfa3KYUq8jczq6LjTUhsWBzH5O6BvNasM4LRO zM9w== 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=i5fJrgungaspLDb/UzsKPN+C5C6kK/KV/rxEAxS2HOs=; b=xpKjKQpKA6OpBEAUVho+anrJI5kRhsASxx7wsrAgurdZJEhkh9pAPWd45c2m9vHO3Z AdlP3SHFPcq5TwkpuMnEfGkWt1RcTCpQuOgbTE5v7cD62Ms1yp8BHh1vbiawqm3yOVEm zkjt2PLOBu19TavSQPhe7e3/7upfOfS2yRdMOate2SyaGpaiMWJtTw04YVlUMCyjTCTR 6g8EL6PIB9NLo0i3SZZLU6r1hj3tsNiXq920UWuqzHQuvSr26IJMkxn8IIB2Ae0+kct0 z8EtdQspIiLRCGk2wQEvRKDEWIbgQeVDk8Np6mjGIYvII9esqLjaV4E63XztBS7u7irZ 8nrg== X-Gm-Message-State: AJIora9333vo8Cj0znD34lNZqX4AxtgzpJ2UPZdVhYen3vx2w0G1o92l CSdBNQY3tfjHXfPO4ngGwMglc0OITJk61Q== X-Google-Smtp-Source: AGRyM1sbEOjSrx95ToRXKiA1Q6n9L3GeWg4DbfYhZax+9U940yX/Kuw7TsQgfdD3hXyExGdkHBWvXQ== X-Received: by 2002:a05:6638:204d:b0:332:292d:9a06 with SMTP id t13-20020a056638204d00b00332292d9a06mr14307744jaj.39.1655746935586; Mon, 20 Jun 2022 10:42:15 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Warner Losh , Kyle Evans , Stacey Son Subject: [PATCH 07/10] bsd-user: Implement chroot and flock Date: Mon, 20 Jun 2022 11:42:17 -0600 Message-Id: <20220620174220.22179-8-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220620174220.22179-1-imp@bsdimp.com> References: <20220620174220.22179-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::d33; envelope-from=imp@bsdimp.com; helo=mail-io1-xd33.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: 1655747314063100001 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 f5375a39a2c..f11369655a0 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -861,4 +861,23 @@ static abi_long do_bsd_fchflags(abi_long arg1, abi_lon= g arg2) return get_errno(fchflags(arg1, arg2)); } =20 +/* chroot(2) */ +static abi_long do_bsd_chroot(abi_long arg1) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(chroot(p)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* flock(2) */ +static abi_long do_bsd_flock(abi_long arg1, abi_long arg2) +{ + return get_errno(flock(arg1, arg2)); +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index d10635eae05..f3fb585b7ec 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -461,6 +461,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_fchflags(arg1, arg2); break; =20 + case TARGET_FREEBSD_NR_chroot: /* chroot(2) */ + ret =3D do_bsd_chroot(arg1); + break; + + case TARGET_FREEBSD_NR_flock: /* flock(2) */ + ret =3D do_bsd_flock(arg1, arg2); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Tue May 21 22:50:03 2024 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=1655747479; cv=none; d=zohomail.com; s=zohoarc; b=ActJ0bvvafXneOdIjCmVagwkN4qHp8Mi+eQoM8hiAz55poztQMSVyDVLo85Ld5m9suVA44m+jr5nMIV1twM3sEXFqPzjag4Qddeyh6sfaLSfT1xRpxhGuN9dfh8rxuOJz7GnmmQ0p7MsEHR5GfONKzmugFHsXAahZiELnibp41k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655747479; 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=+6fkV3rZQcNrC50APHdA91tW/kmRuFqbo7K+AeZTYAo=; b=SYSHiy5YQILamV1NuFGw17ENsL5iet6zkCBnVrHPwDkiWV3oVPUrErmjpxn/w1nVmSvI0/+vunT4m/vMr+ykQXZPwgi2f9ONkI0rBzl24q7JNnoE9uuiRxy4Vd0myhKxSdE6icNmPB/HnDEvgP+cKzgftefqWasHZeMtHWtS+/Y= 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 1655747479212946.6371790207885; Mon, 20 Jun 2022 10:51:19 -0700 (PDT) Received: from localhost ([::1]:37124 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o3LYT-0001g0-VJ for importer@patchew.org; Mon, 20 Jun 2022 13:51:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39214) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o3LPo-0005TN-8J for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:20 -0400 Received: from mail-il1-x133.google.com ([2607:f8b0:4864:20::133]:34582) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o3LPm-00082q-Hz for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:19 -0400 Received: by mail-il1-x133.google.com with SMTP id p14so890770ile.1 for ; Mon, 20 Jun 2022 10:42:17 -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 k19-20020a02c773000000b00331e4e4fac9sm6202953jao.47.2022.06.20.10.42.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jun 2022 10:42:16 -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=+6fkV3rZQcNrC50APHdA91tW/kmRuFqbo7K+AeZTYAo=; b=xlZF0qA4v58cB+sErw+VT4Um81NxOWXlLh/I+OWoyWGVY+zzTb7LFwYGSKZ/sFMFuQ n7d8iihd4fdleA/jdiFEQiIv6dHX6DJL8gS1ZasMCBv/CrLEhV6o8AYQMyizTCDuhC0J A1O9lpNeeyWhffdv3brEytbYZoRl8amuyVMfJi5Z8SDwiM8EIEth7XWAmLSw6lZoIJUZ OcVc6qIpdujBMhu92yrhvjbPOw8u+SSKMvHenScL9S09dEigXgsJmy19VPj1sL2PFMNt dvBVTIMmegiePR8jZh7wB/YNjbG4G4AENdUzyRrizMAHNhFtFlmNcC4YEf4YoDQMSS8W Zl6A== 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=+6fkV3rZQcNrC50APHdA91tW/kmRuFqbo7K+AeZTYAo=; b=ZdxpslRr0kXv4bDLIvYOuJrqzpYfF+xjDwfXO6u++qDX+BB1T1cACanUtLvh/RvR2L FrTg3A5iUfEY3NDXbs/AhvCCuITDS4/mR+eTtAno4FBLjkcy4LlWP4J95M2TQofItGvK JusIm36znAGFIT9UnQqBdyO0NY3RL1kMkEKU3PLMtC36Xic0Dxz5I2NfKJpdWhdxtaOK kDuvqXBra3CR8/0wCWSvt916/zkYIy4tAmscqxaGtNP4ZujOt5mEagrD84koAM2817ih alxj3tyTgq8COw7e+i2EBdJ445B7w95TL6ha0t+A1FP6ToECA+ldY2U8nq7Llppt2wnW ujkA== X-Gm-Message-State: AJIora/fxXEgwF9SbaTpP7LgXS27/TBhF5QPqYPx8rjh4GTrk9g0A8JR AbXSg1KZrXtvyfEntU0Cb9TB0mvozspugQ== X-Google-Smtp-Source: AGRyM1s3oUEt77TsqVn8MXw9OetxlejhNxpBtXHSQVJSALdqZlXPgmtgTblOoNW4BvfnaGpJoNR/6w== X-Received: by 2002:a92:c24c:0:b0:2d1:cdd0:1959 with SMTP id k12-20020a92c24c000000b002d1cdd01959mr13579607ilo.39.1655746937020; Mon, 20 Jun 2022 10:42:17 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Warner Losh , Kyle Evans , Stacey Son Subject: [PATCH 08/10] bsd-user: Implement mkfifo and mkfifoat Date: Mon, 20 Jun 2022 11:42:18 -0600 Message-Id: <20220620174220.22179-9-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220620174220.22179-1-imp@bsdimp.com> References: <20220620174220.22179-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::133; envelope-from=imp@bsdimp.com; helo=mail-il1-x133.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: 1655747481212100001 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 f11369655a0..0b4b89c8d5c 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -880,4 +880,31 @@ static abi_long do_bsd_flock(abi_long arg1, abi_long a= rg2) return get_errno(flock(arg1, arg2)); } =20 +/* mkfifo(2) */ +static abi_long do_bsd_mkfifo(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(mkfifo(p, arg2)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* mkfifoat(2) */ +static abi_long do_bsd_mkfifoat(abi_long arg1, abi_long arg2, + abi_long arg3) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg2); + ret =3D get_errno(mkfifoat(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 f3fb585b7ec..ff3893b9197 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -469,6 +469,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_flock(arg1, arg2); break; =20 + case TARGET_FREEBSD_NR_mkfifo: /* mkfifo(2) */ + ret =3D do_bsd_mkfifo(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_mkfifoat: /* mkfifoat(2) */ + ret =3D do_bsd_mkfifoat(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 Tue May 21 22:50:03 2024 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=1655747316; cv=none; d=zohomail.com; s=zohoarc; b=LfpWdBs1pq+BZdCdXkFEdegPqKcyZMc490GLsiX0Li4kGe7lM+FqXSlp5CGnJntmVfsOoYkHLmNJZ/Ff/30dA68uRm7U9iUh3/AyjZBKALrJYplmvmUwc68CbMXs6WKdCq07ApP/eahJ/5r2dYaIQ0pAPfja24H6WjtnON2nXTM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655747316; 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=xvO8Ov8iFiJB19am3BYEej1ZbpHltJs2lcNLKpDVVpY=; b=ClrAQMXUVUyKH0UIPmG+g0tA3/7XSSlUBvpaRxhh3vaFcUPRUKWnyQMmONllJsOhATaA3g6lD4G0vehHs4RNzCtiUGw4ELSILkzLwbxMCOVZ2ep5tupfvYst310aRB6cvVw35Bdl9cnYrwnkKwUo9BXZ7iPMc6oLWQpQxl0C3Dc= 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 165574731671375.67185101231667; Mon, 20 Jun 2022 10:48:36 -0700 (PDT) Received: from localhost ([::1]:58592 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o3LVr-0005O5-Km for importer@patchew.org; Mon, 20 Jun 2022 13:48:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39216) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o3LPo-0005UI-NQ for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:20 -0400 Received: from mail-io1-xd2c.google.com ([2607:f8b0:4864:20::d2c]:37571) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o3LPn-00082N-6z for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:20 -0400 Received: by mail-io1-xd2c.google.com with SMTP id n11so11846368iod.4 for ; Mon, 20 Jun 2022 10:42:18 -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 k19-20020a02c773000000b00331e4e4fac9sm6202953jao.47.2022.06.20.10.42.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jun 2022 10:42:17 -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=xvO8Ov8iFiJB19am3BYEej1ZbpHltJs2lcNLKpDVVpY=; b=H2skOZpwMDgnyI6/PX7uI5sWq28bS/77X/5hy4r2VgE0DOxsjFTyr99P/XT4QoVPZH 9xkLZWJJq9Kmv3wsQlLfkVZxBnExXuL1pmqBwAhcbrjSIZGk911I5gSnPxMA+zQGZnl4 f/zF0cz6uFtyWKwFK0Yqb7eXZUFRl1a+FkvsMxRJmOEnkSMVesgtTtcME49BR6j+4RFW +wJywO2PL00il+jXVJd+2CuOsdFwXfDsZoB52vUiwglX0fqQ/WN1X4PJvgsI8Pf2s8tN 2cjfNnCFQs1PrAfGDja4WFbBOLARbltsKpljI1ugerZH71RidOeM8fAL2x8uQu72FnN6 Vxdg== 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=xvO8Ov8iFiJB19am3BYEej1ZbpHltJs2lcNLKpDVVpY=; b=BFrn0x+F9syvDWGVY1guvEoDihawvqmPvbZyIr/HMLkz4uj6J0Fo4kd+35snAzVLXX 1lPvArmoVSFmLxeUX+Nv2ZOqy8Q4SQo7Fj4nDKhLjwq2ZdMoRwy2uPZQ7ZKlUKi2za4E YgEh7bQg7xLSF5cHO+wugilJRLAzUKjkgyl6oddn/9fPQcYSCjyzhwDQTqb9CtSN1mcR vuzziemjwWTbOK6pBdnlKmNxSHx/OaQcon8z9swK2neIDnA1I7jtjOUgpCtiK99AU2r3 W0WAcYcvAp0B3Szhryr0tSdi6eKJz4vevJ9IcSlRCWCAsFS1DFqI/YBSlV74h+m/DhNt NKeg== X-Gm-Message-State: AJIora8Ef7F5/gAJiuY//5oCLH/lefZYvxbG4hvs+4LIkQ2pDY9xyyhc VcUQsydB4yrZvxqBw6/0ibbnG4g14bBT4Q== X-Google-Smtp-Source: AGRyM1toMgBS6i/f2N3w1ybmCpVMyFoMbBn5r2QfCI1BIJMWxQ0X1Lfu1BHiKLnEV7OyUf7BP+MNIA== X-Received: by 2002:a05:6638:4115:b0:332:2a5:2b15 with SMTP id ay21-20020a056638411500b0033202a52b15mr13608383jab.189.1655746938276; Mon, 20 Jun 2022 10:42:18 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Warner Losh , Kyle Evans , Stacey Son Subject: [PATCH 09/10] bsd-user: Implement pathconf, lpathconf and fpathconf Date: Mon, 20 Jun 2022 11:42:19 -0600 Message-Id: <20220620174220.22179-10-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220620174220.22179-1-imp@bsdimp.com> References: <20220620174220.22179-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::d2c; envelope-from=imp@bsdimp.com; helo=mail-io1-xd2c.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: 1655747317846100001 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 | 32 ++++++++++++++++++++++++++++++++ bsd-user/freebsd/os-syscall.c | 12 ++++++++++++ 2 files changed, 44 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 0b4b89c8d5c..79eb5a73a9b 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -907,4 +907,36 @@ static abi_long do_bsd_mkfifoat(abi_long arg1, abi_lon= g arg2, return ret; } =20 +/* pathconf(2) */ +static abi_long do_bsd_pathconf(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(pathconf(p, arg2)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* lpathconf(2) */ +static abi_long do_bsd_lpathconf(abi_long arg1, abi_long arg2) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(lpathconf(p, arg2)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + +/* fpathconf(2) */ +static abi_long do_bsd_fpathconf(abi_long arg1, abi_long arg2) +{ + return get_errno(fpathconf(arg1, arg2)); +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index ff3893b9197..ee08b74bdd5 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -477,6 +477,18 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_mkfifoat(arg1, arg2, arg3); break; =20 + case TARGET_FREEBSD_NR_pathconf: /* pathconf(2) */ + ret =3D do_bsd_pathconf(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_lpathconf: /* lpathconf(2) */ + ret =3D do_bsd_lpathconf(arg1, arg2); + break; + + case TARGET_FREEBSD_NR_fpathconf: /* fpathconf(2) */ + ret =3D do_bsd_fpathconf(arg1, arg2); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1 From nobody Tue May 21 22:50:03 2024 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=1655747483; cv=none; d=zohomail.com; s=zohoarc; b=L8ZbO7eTXe0zPO5xu0b0hFWzkWWfS8zra+sY0TWuHoA7he6bpzLO+NiGPpFa7ICxT+l6Pd8CbQGksW2R5DNeb//N1Qp6+yMEVMQ3wyoknc5gJfyO2OjOmmpvfZzIuG9dxSXiGQEDxb12+mdnVxwjV81XP0NlPMnf2Tphguv9axI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655747483; 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=LLLWy6je7ZpzT8Wv1poVhDNL/22MkEnIbTh/HAesy/U=; b=jir0mwUqVaepeYGuIcImIUQ78jsvqBHJQ7v+cbgYo4bljIXDvL+4qdydtZt8DbOkHjTV89kqUSGW9TVoLCZRjGmmTGTp1Q0HBASNqqCfT1tCxEK0LNnEjHeMsp8pvp7ReH5kMWdKWOLZ/BxJMcSgsmPhlD5UVBmDXa5q+sd/ECo= 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 1655747483066572.8343276913114; Mon, 20 Jun 2022 10:51:23 -0700 (PDT) Received: from localhost ([::1]:37454 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o3LYX-0001uA-V9 for importer@patchew.org; Mon, 20 Jun 2022 13:51:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39230) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o3LPq-0005Z2-78 for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:22 -0400 Received: from mail-io1-xd2b.google.com ([2607:f8b0:4864:20::d2b]:35463) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o3LPo-000834-N2 for qemu-devel@nongnu.org; Mon, 20 Jun 2022 13:42:21 -0400 Received: by mail-io1-xd2b.google.com with SMTP id y79so11848064iof.2 for ; Mon, 20 Jun 2022 10:42:20 -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 k19-20020a02c773000000b00331e4e4fac9sm6202953jao.47.2022.06.20.10.42.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jun 2022 10:42:18 -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=LLLWy6je7ZpzT8Wv1poVhDNL/22MkEnIbTh/HAesy/U=; b=Xtp0A2lHvtl9nfw0NVwFQTs1NeBfExbUc+S5V19D7DChpItHGPyJvafkjW8X9Dplut eTcT7hQWJQ2yO/r5Gkf/R62AljgD9yNtm9G2W45ipCpj1DhtoGKlC1dssvKcVEvF98oj nNeg6N2hKL74+1h3LmIfNGtqCfoH8rFzgvAltFeCjK9+An7Afecou6RwSMyQDLTfpohh M3Xc7ICIn2HtDdMDCTfBl74twR6srttrSeJ4rYeY30s/y8VXTvkIr+yycmvs2lJ/cHNF oafVQu5FFQkFXWSrqyJZUxOPR/2H+O954VyRji96qnp1q43ClT2I5ijl1KEZxNxxZCII 1UaQ== 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=LLLWy6je7ZpzT8Wv1poVhDNL/22MkEnIbTh/HAesy/U=; b=F2FxAef5HC/1vrBGqHhkpuLDElLE81WKqR6+AgYykeMplB11d11lxuT1edG5+9hb0s unMGrqG3imU92Q0DSndjBE1LaGB0TgkUs4wTNp8Nab6luoZDoiyd8PH1BkTo35ye90/h SFigd4b6fmFjdt05miJIFAI69yc5LtL2obNRWrhg5GjBLLplipt/ih5WGWhLFMPIe89S aHIGcDBrKlie+mM+gcSQwGp9nO2xQAu7nAbmVVqX5Xs1bp6kzTNr1vt40lC4Kvs0Q6lu hlEnTnc044TbwhFwjBlJSH5OuXyZJN+Ik+7Ng9COXaxE7dy9pjIJfzPuAThp72hT5M3F Pbng== X-Gm-Message-State: AJIora+B1vPHJyf0ZaDe5AzRJPjwRZiQNhf0LVZRqil2wKC80u8cpwwk rmRyRqrfXnvw2eJ3c+1NtIvKRedgcS7btQ== X-Google-Smtp-Source: AGRyM1vYo1/j1NowR73lSNg/e/aO1+W21rWrbtSvM9OGFlDMYCFt7ShdDxWvMDxdurcD3apepepURg== X-Received: by 2002:a05:6602:148d:b0:66a:308a:d169 with SMTP id a13-20020a056602148d00b0066a308ad169mr12374922iow.152.1655746939365; Mon, 20 Jun 2022 10:42:19 -0700 (PDT) From: Warner Losh To: qemu-devel@nongnu.org Cc: Warner Losh , Kyle Evans , Stacey Son Subject: [PATCH 10/10] bsd-user: Implement undelete Date: Mon, 20 Jun 2022 11:42:20 -0600 Message-Id: <20220620174220.22179-11-imp@bsdimp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220620174220.22179-1-imp@bsdimp.com> References: <20220620174220.22179-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::d2b; envelope-from=imp@bsdimp.com; helo=mail-io1-xd2b.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: 1655747485075100001 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 | 13 +++++++++++++ bsd-user/freebsd/os-syscall.c | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h index 79eb5a73a9b..94e756ae550 100644 --- a/bsd-user/bsd-file.h +++ b/bsd-user/bsd-file.h @@ -939,4 +939,17 @@ static abi_long do_bsd_fpathconf(abi_long arg1, abi_lo= ng arg2) return get_errno(fpathconf(arg1, arg2)); } =20 +/* undelete(2) */ +static abi_long do_bsd_undelete(abi_long arg1) +{ + abi_long ret; + void *p; + + LOCK_PATH(p, arg1); + ret =3D get_errno(undelete(p)); /* XXX path(p)? */ + UNLOCK_PATH(p, arg1); + + return ret; +} + #endif /* BSD_FILE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index ee08b74bdd5..7d791aeb91b 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -489,6 +489,10 @@ static abi_long freebsd_syscall(void *cpu_env, int num= , abi_long arg1, ret =3D do_bsd_fpathconf(arg1, arg2); break; =20 + case TARGET_FREEBSD_NR_undelete: /* undelete(2) */ + ret =3D do_bsd_undelete(arg1); + break; + default: qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num); ret =3D -TARGET_ENOSYS; --=20 2.33.1