From nobody Sun Feb 8 18:13:05 2026 Delivered-To: importer@patchew.org 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; 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; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1580814434216299.95714791867726; Tue, 4 Feb 2020 03:07:14 -0800 (PST) Received: from localhost ([::1]:56348 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iyw2z-00006N-5B for importer@patchew.org; Tue, 04 Feb 2020 06:07:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:34068) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iyw13-0005PN-NE for qemu-devel@nongnu.org; Tue, 04 Feb 2020 06:05:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iyw12-0008Af-7V for qemu-devel@nongnu.org; Tue, 04 Feb 2020 06:05:13 -0500 Received: from us-smtp-2.mimecast.com ([207.211.31.81]:60558 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iyw12-00086i-2n for qemu-devel@nongnu.org; Tue, 04 Feb 2020 06:05:12 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-171-xqMuntBCO8qs4wOxrpUktg-1; Tue, 04 Feb 2020 06:05:09 -0500 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 66D6B800D55 for ; Tue, 4 Feb 2020 11:05:08 +0000 (UTC) Received: from dgilbert-t580.localhost (unknown [10.36.118.30]) by smtp.corp.redhat.com (Postfix) with ESMTP id AB04519486; Tue, 4 Feb 2020 11:05:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1580814311; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZXvdf1aFr4vTEZ/wdGbfyfoCP87umsEXl615xj76W/4=; b=Iqq1GhBofqgqY5N8d91eVTcMfmFZfdlGBNRGCU7dIUevvQFeZltPMfhfmIlZmcnq7wC9FS Kr/b9xyr7DSk1slUc1W22Z0tm+FPxAZ5+lcVVMci1E2t+Oh2MBH7IyY/r1kmO1mqyAa1F9 KYhTwY7SCzr/BHmTFk/mTTo1SqBF3Aw= From: "Dr. David Alan Gilbert (git)" To: qemu-devel@nongnu.org, stefanha@redhat.com Subject: [PATCH 1/4] virtiofsd: Remove fuse_req_getgroups Date: Tue, 4 Feb 2020 11:04:58 +0000 Message-Id: <20200204110501.10731-2-dgilbert@redhat.com> In-Reply-To: <20200204110501.10731-1-dgilbert@redhat.com> References: <20200204110501.10731-1-dgilbert@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-MC-Unique: xqMuntBCO8qs4wOxrpUktg-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 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 @redhat.com) Content-Type: text/plain; charset="utf-8" From: "Dr. David Alan Gilbert" Remove fuse_req_getgroups that's unused in virtiofsd; it came in from libfuse but we don't actually use it. It was called from fuse_getgroups which we previously removed (but had left it's header in). Coverity had complained about null termination in it, but removing it is the easiest answer. Fixes: Coverity CID: 1413117 (String not null terminated) Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefan Hajnoczi --- tools/virtiofsd/fuse.h | 20 --------- tools/virtiofsd/fuse_lowlevel.c | 77 --------------------------------- tools/virtiofsd/fuse_lowlevel.h | 21 --------- 3 files changed, 118 deletions(-) diff --git a/tools/virtiofsd/fuse.h b/tools/virtiofsd/fuse.h index 7a4c713559..aba13fef2d 100644 --- a/tools/virtiofsd/fuse.h +++ b/tools/virtiofsd/fuse.h @@ -1006,26 +1006,6 @@ void fuse_exit(struct fuse *f); */ struct fuse_context *fuse_get_context(void); =20 -/** - * Get the current supplementary group IDs for the current request - * - * Similar to the getgroups(2) system call, except the return value is - * always the total number of group IDs, even if it is larger than the - * specified size. - * - * The current fuse kernel module in linux (as of 2.6.30) doesn't pass - * the group list to userspace, hence this function needs to parse - * "/proc/$TID/task/$TID/status" to get the group IDs. - * - * This feature may not be supported on all operating systems. In - * such a case this function will return -ENOSYS. - * - * @param size size of given array - * @param list array of group IDs to be filled in - * @return the total number of supplementary group IDs or -errno on failure - */ -int fuse_getgroups(int size, gid_t list[]); - /** * Check if the current request has already been interrupted * diff --git a/tools/virtiofsd/fuse_lowlevel.c b/tools/virtiofsd/fuse_lowleve= l.c index de2e2e0c65..01c418aade 100644 --- a/tools/virtiofsd/fuse_lowlevel.c +++ b/tools/virtiofsd/fuse_lowlevel.c @@ -2667,83 +2667,6 @@ int fuse_lowlevel_is_virtio(struct fuse_session *se) return !!se->virtio_dev; } =20 -#ifdef linux -int fuse_req_getgroups(fuse_req_t req, int size, gid_t list[]) -{ - char *buf; - size_t bufsize =3D 1024; - char path[128]; - int ret; - int fd; - unsigned long pid =3D req->ctx.pid; - char *s; - - sprintf(path, "/proc/%lu/task/%lu/status", pid, pid); - -retry: - buf =3D malloc(bufsize); - if (buf =3D=3D NULL) { - return -ENOMEM; - } - - ret =3D -EIO; - fd =3D open(path, O_RDONLY); - if (fd =3D=3D -1) { - goto out_free; - } - - ret =3D read(fd, buf, bufsize); - close(fd); - if (ret < 0) { - ret =3D -EIO; - goto out_free; - } - - if ((size_t)ret =3D=3D bufsize) { - free(buf); - bufsize *=3D 4; - goto retry; - } - - ret =3D -EIO; - s =3D strstr(buf, "\nGroups:"); - if (s =3D=3D NULL) { - goto out_free; - } - - s +=3D 8; - ret =3D 0; - while (1) { - char *end; - unsigned long val =3D strtoul(s, &end, 0); - if (end =3D=3D s) { - break; - } - - s =3D end; - if (ret < size) { - list[ret] =3D val; - } - ret++; - } - -out_free: - free(buf); - return ret; -} -#else /* linux */ -/* - * This is currently not implemented on other than Linux... - */ -int fuse_req_getgroups(fuse_req_t req, int size, gid_t list[]) -{ - (void)req; - (void)size; - (void)list; - return -ENOSYS; -} -#endif - void fuse_session_exit(struct fuse_session *se) { se->exited =3D 1; diff --git a/tools/virtiofsd/fuse_lowlevel.h b/tools/virtiofsd/fuse_lowleve= l.h index 138041e5f1..8f6d705b5c 100644 --- a/tools/virtiofsd/fuse_lowlevel.h +++ b/tools/virtiofsd/fuse_lowlevel.h @@ -1704,27 +1704,6 @@ void *fuse_req_userdata(fuse_req_t req); */ const struct fuse_ctx *fuse_req_ctx(fuse_req_t req); =20 -/** - * Get the current supplementary group IDs for the specified request - * - * Similar to the getgroups(2) system call, except the return value is - * always the total number of group IDs, even if it is larger than the - * specified size. - * - * The current fuse kernel module in linux (as of 2.6.30) doesn't pass - * the group list to userspace, hence this function needs to parse - * "/proc/$TID/task/$TID/status" to get the group IDs. - * - * This feature may not be supported on all operating systems. In - * such a case this function will return -ENOSYS. - * - * @param req request handle - * @param size size of given array - * @param list array of group IDs to be filled in - * @return the total number of supplementary group IDs or -errno on failure - */ -int fuse_req_getgroups(fuse_req_t req, int size, gid_t list[]); - /** * Callback function for an interrupt * --=20 2.24.1 From nobody Sun Feb 8 18:13:05 2026 Delivered-To: importer@patchew.org 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; 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; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1580814373710866.8673811723997; Tue, 4 Feb 2020 03:06:13 -0800 (PST) Received: from localhost ([::1]:56334 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iyw20-0006ku-H6 for importer@patchew.org; Tue, 04 Feb 2020 06:06:12 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:34062) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iyw13-0005PM-Qn for qemu-devel@nongnu.org; Tue, 04 Feb 2020 06:05:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iyw12-0008BY-CG for qemu-devel@nongnu.org; Tue, 04 Feb 2020 06:05:13 -0500 Received: from us-smtp-2.mimecast.com ([207.211.31.81]:34427 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iyw12-00089S-7W for qemu-devel@nongnu.org; Tue, 04 Feb 2020 06:05:12 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-31-AxM_gjyaPWOifUXDALTRxg-1; Tue, 04 Feb 2020 06:05:10 -0500 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 62E6A184AEAA for ; Tue, 4 Feb 2020 11:05:09 +0000 (UTC) Received: from dgilbert-t580.localhost (unknown [10.36.118.30]) by smtp.corp.redhat.com (Postfix) with ESMTP id AA7EB196AE; Tue, 4 Feb 2020 11:05:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1580814311; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=08HbxoNLn5MgjJt19dlUG/9EkTSAsokA/fRn5dIge0Q=; b=DRmdti9sgeQuVlnjv0BbOxLmglYfKZxyXZ3E/78jjWrcYAd7dGJydxWEJ0tBrGCesildfP GmNOZN+NbdOmA7swG7s7vWXjGWm1GxXnR/GH6VLrgWDqU1NwEw7cGQmjhgo8hj3vE0iIKY owNX7o9A5I3xB4lv9WjqTEby1+n5ZD0= From: "Dr. David Alan Gilbert (git)" To: qemu-devel@nongnu.org, stefanha@redhat.com Subject: [PATCH 2/4] virtiofsd: fv_create_listen_socket error path socket leak Date: Tue, 4 Feb 2020 11:04:59 +0000 Message-Id: <20200204110501.10731-3-dgilbert@redhat.com> In-Reply-To: <20200204110501.10731-1-dgilbert@redhat.com> References: <20200204110501.10731-1-dgilbert@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-MC-Unique: AxM_gjyaPWOifUXDALTRxg-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 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 @redhat.com) Content-Type: text/plain; charset="utf-8" From: "Dr. David Alan Gilbert" If we fail when bringing up the socket we can leak the listen_fd; in practice the daemon will exit so it's not really a problem. Fixes: Coverity CID 1413121 Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefan Hajnoczi --- tools/virtiofsd/fuse_virtio.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/virtiofsd/fuse_virtio.c b/tools/virtiofsd/fuse_virtio.c index 80a6e929df..dd1c605dbf 100644 --- a/tools/virtiofsd/fuse_virtio.c +++ b/tools/virtiofsd/fuse_virtio.c @@ -916,6 +916,7 @@ static int fv_create_listen_socket(struct fuse_session = *se) old_umask =3D umask(0077); if (bind(listen_sock, (struct sockaddr *)&un, addr_len) =3D=3D -1) { fuse_log(FUSE_LOG_ERR, "vhost socket bind: %m\n"); + close(listen_sock); umask(old_umask); return -1; } @@ -923,6 +924,7 @@ static int fv_create_listen_socket(struct fuse_session = *se) =20 if (listen(listen_sock, 1) =3D=3D -1) { fuse_log(FUSE_LOG_ERR, "vhost socket listen: %m\n"); + close(listen_sock); return -1; } =20 --=20 2.24.1 From nobody Sun Feb 8 18:13:05 2026 Delivered-To: importer@patchew.org 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; 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; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1580814373874217.553060097885; Tue, 4 Feb 2020 03:06:13 -0800 (PST) Received: from localhost ([::1]:56337 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iyw20-0006mJ-Ho for importer@patchew.org; Tue, 04 Feb 2020 06:06:12 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:34108) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iyw15-0005PY-46 for qemu-devel@nongnu.org; Tue, 04 Feb 2020 06:05:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iyw14-0008Gh-7R for qemu-devel@nongnu.org; Tue, 04 Feb 2020 06:05:15 -0500 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:31608 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iyw14-0008FH-3j for qemu-devel@nongnu.org; Tue, 04 Feb 2020 06:05:14 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-152-uWDzXR65PdGzcevkg2OqAw-1; Tue, 04 Feb 2020 06:05:11 -0500 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 64795184AEB9 for ; Tue, 4 Feb 2020 11:05:10 +0000 (UTC) Received: from dgilbert-t580.localhost (unknown [10.36.118.30]) by smtp.corp.redhat.com (Postfix) with ESMTP id A9F3A19486; Tue, 4 Feb 2020 11:05:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1580814313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=14kq5d+foMHeDOqerF4q1gkxPLiv0zQk7IdFqSD4D9k=; b=bpd4+93ziukdxbUvqWt/7PkXHcxEM/Hbv85z+WXb2m7bdrEUSPDwUdVpxeSNe/a+v8gS1o 8b97/dqtr9Er6zxMI5FtfM3TrnEVURpdy9ZFWM1pw37ewZX9Qke3ZrVDUvPC1x+M6A92WB H45IykNMVHP2Tj2Gx0a5me/FEbgLLHc= From: "Dr. David Alan Gilbert (git)" To: qemu-devel@nongnu.org, stefanha@redhat.com Subject: [PATCH 3/4] virtiofsd: load_capng missing unlock Date: Tue, 4 Feb 2020 11:05:00 +0000 Message-Id: <20200204110501.10731-4-dgilbert@redhat.com> In-Reply-To: <20200204110501.10731-1-dgilbert@redhat.com> References: <20200204110501.10731-1-dgilbert@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-MC-Unique: uWDzXR65PdGzcevkg2OqAw-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 205.139.110.61 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 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 @redhat.com) Content-Type: text/plain; charset="utf-8" From: "Dr. David Alan Gilbert" Missing unlock in error path. Fixes: Covertiy CID 1413123 Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefan Hajnoczi --- tools/virtiofsd/passthrough_ll.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough= _ll.c index e6f2399efc..c635fc8820 100644 --- a/tools/virtiofsd/passthrough_ll.c +++ b/tools/virtiofsd/passthrough_ll.c @@ -232,6 +232,7 @@ static int load_capng(void) */ cap.saved =3D capng_save_state(); if (!cap.saved) { + pthread_mutex_unlock(&cap.mutex); fuse_log(FUSE_LOG_ERR, "capng_save_state (thread)\n"); return -EINVAL; } --=20 2.24.1 From nobody Sun Feb 8 18:13:05 2026 Delivered-To: importer@patchew.org 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; 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; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1580814494818392.4539622381561; Tue, 4 Feb 2020 03:08:14 -0800 (PST) Received: from localhost ([::1]:56364 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iyw3x-00012F-NL for importer@patchew.org; Tue, 04 Feb 2020 06:08:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:34117) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iyw15-0005Pe-HC for qemu-devel@nongnu.org; Tue, 04 Feb 2020 06:05:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iyw14-0008Hn-Ke for qemu-devel@nongnu.org; Tue, 04 Feb 2020 06:05:15 -0500 Received: from us-smtp-2.mimecast.com ([207.211.31.81]:36442 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iyw14-0008Gy-GI for qemu-devel@nongnu.org; Tue, 04 Feb 2020 06:05:14 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-215-8pZDAYSjO6mxQ6w0SwE_Dw-1; Tue, 04 Feb 2020 06:05:12 -0500 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 665BBDBA9 for ; Tue, 4 Feb 2020 11:05:11 +0000 (UTC) Received: from dgilbert-t580.localhost (unknown [10.36.118.30]) by smtp.corp.redhat.com (Postfix) with ESMTP id AE6CC196AE; Tue, 4 Feb 2020 11:05:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1580814314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=b99PsUtLC8Qy49cqjmWGtvS2/yIOiWGXjqbKMb5lPmM=; b=StaXH8GErStHmdCKdSBi9xqdiAJM1sjtPpkJ1MAhtS+OZwJR/nPzd8jbTSQMMgR5u9wQZt dkrDqv27nPtwa4R+UC4jyJb8bRddvSejsTlY9hkk379xm+sdelUO76wmIKVOQ4IbLBCZ/Y tB1ebkYaK2vOq69pa4JBNwYQGd07+rY= From: "Dr. David Alan Gilbert (git)" To: qemu-devel@nongnu.org, stefanha@redhat.com Subject: [PATCH 4/4] virtiofsd: do_read missing NULL check Date: Tue, 4 Feb 2020 11:05:01 +0000 Message-Id: <20200204110501.10731-5-dgilbert@redhat.com> In-Reply-To: <20200204110501.10731-1-dgilbert@redhat.com> References: <20200204110501.10731-1-dgilbert@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-MC-Unique: 8pZDAYSjO6mxQ6w0SwE_Dw-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 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 @redhat.com) Content-Type: text/plain; charset="utf-8" From: "Dr. David Alan Gilbert" Missing a NULL check if the argument fetch fails. Fixes: Coverity CID 1413119 Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefan Hajnoczi --- tools/virtiofsd/fuse_lowlevel.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/virtiofsd/fuse_lowlevel.c b/tools/virtiofsd/fuse_lowleve= l.c index 01c418aade..704c0369b2 100644 --- a/tools/virtiofsd/fuse_lowlevel.c +++ b/tools/virtiofsd/fuse_lowlevel.c @@ -1116,6 +1116,10 @@ static void do_read(fuse_req_t req, fuse_ino_t nodei= d, struct fuse_file_info fi; =20 arg =3D fuse_mbuf_iter_advance(iter, sizeof(*arg)); + if (!arg) { + fuse_reply_err(req, EINVAL); + return; + } =20 memset(&fi, 0, sizeof(fi)); fi.fh =3D arg->fh; --=20 2.24.1