From nobody Sat May 18 22:14:52 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=1684809614; cv=none; d=zohomail.com; s=zohoarc; b=TXqzrdy1z/hFkr5U3J8JXqDflrp4NMk5IyM+8/JEmQwbUwVbTdUMjl6+Bo95vgsND2Vmx3VIwh27WF5jGBZnYQgK5oVgGXi40nwMdplCj5MDCbrk9KizcMqVx1zJQERldgBRYIm++Ar247CXgKuueFwC2zc8WwfqEVfrpKaz/r4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1684809614; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject; bh=3++IJ2TYtdNeES0gUTOJS+aAXsabIYGpSxkbz5Q6KBE=; b=IYezVnANcfzUu8pAxKN1FKsX2JB1Srd0CK/1QH3ChEnEnm/f0NpxhH6jNm+Frh3cPvnEKMgIPUMlB2zB6mmE41nAJAedjPfMzyIOZzrxuSA6T6wPXwBPyOufnRTRreLjdaRQx8nthqmWBg/cHPWIRNwRmThCGLX6K6GwGGxq5VI= 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 1684809614708519.7937557330109; Mon, 22 May 2023 19:40:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q1Hvp-00026p-RJ; Mon, 22 May 2023 22:39:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q1Hvo-00026b-Im for qemu-devel@nongnu.org; Mon, 22 May 2023 22:39:24 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q1Hvm-0002rg-GV for qemu-devel@nongnu.org; Mon, 22 May 2023 22:39:24 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-1ae763f9c0bso36932055ad.2 for ; Mon, 22 May 2023 19:39:21 -0700 (PDT) Received: from alarm.. ([157.82.204.253]) by smtp.gmail.com with ESMTPSA id l12-20020a170902d34c00b001a63ba28052sm5495624plk.69.2023.05.22.19.39.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 19:39:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1684809560; x=1687401560; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=3++IJ2TYtdNeES0gUTOJS+aAXsabIYGpSxkbz5Q6KBE=; b=XYXMxIb0B0rk8KEJSoiQV22brkBv3iz7FACX3b0SIHSRKTZg02MPqiQfXfPgfDJehq 6AI8TAt2c0ef5Y2m2bPNRwx5o+e79pexWrJuUh8KUi6yIIyMmJHu15HUIQxL/eiXAUf0 jpLL1+deV2eGFgmOGuDi4Ct9LRvBRPN+JgiVUhuoMUTKCEOezDgGkOwB0o9rH7tGFiCw nL8eKiHWFvvP5wNyGGf90oBEclizH5yv5XgIPdsicT3NeIzDch2wFgSCC8fzQoXarJuH OVhu7O1xEmuaEDB8AdvSsj0lBI/dunCOIrcAQ6k6XEwYmHUbAyQtRzorour/uraQWwRK LqGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684809560; x=1687401560; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=3++IJ2TYtdNeES0gUTOJS+aAXsabIYGpSxkbz5Q6KBE=; b=jIoJFUP8yvvpRmzzRQL8rAJAXuo8LG/H9sLm1e+WUt7OoLuG6tgJSD9lqKtSk2Lgbq YT6nhgJZjuEG8M2SVSARJEfn0XqtZidEDwbATB2n+cE367cwy8RGd44Ax5IZ/msTOwp7 qaCiVYjaW5SCfpaR6NYAtNxPij0IDCS0t8XJyE6mI+PfgL7qbj/m8BrhgPwZ49fA6k8Q uoilxSCoaBVGTr4hvjM7gdUIMtgjExpiW3+wsyjd5g3WsswsgDSDlakAvqC2fbqsLrSm /opQDekobHT+9x2bod30tQ6IH8FJJqD0VqZmRXjJKVmgeWiQwMDr2nhdurvAP477Srww jJEg== X-Gm-Message-State: AC+VfDz41G6afAb5Q3g8RnOTrpLszupqfkAS8wdjoNBTrjPK51af+y2t DR2usdVVGyFwT5jJ7Zt0SIh2/GdEa8Qi7fJ6gCQ= X-Google-Smtp-Source: ACHHUZ55Z2MQXVw+mm1HlAJGkNsZ8ZhbErbwX+m+f3bBTEmwZCPqYc2YBNpRdo33EJTmFDDi6H+VUQ== X-Received: by 2002:a17:903:1206:b0:1ab:74c:bdf2 with SMTP id l6-20020a170903120600b001ab074cbdf2mr17510182plh.28.1684809560511; Mon, 22 May 2023 19:39:20 -0700 (PDT) From: Akihiko Odaki To: Cc: qemu-devel@nongnu.org, Alex Williamson , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Akihiko Odaki , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2] util/vfio-helpers: Use g_file_read_link() Date: Tue, 23 May 2023 11:39:12 +0900 Message-Id: <20230523023912.50123-1-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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::629; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x629.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-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1684809616028100003 When _FORTIFY_SOURCE=3D2, glibc version is 2.35, and GCC version is 12.1.0, the compiler complains as follows: In file included from /usr/include/features.h:490, from /usr/include/bits/libc-header-start.h:33, from /usr/include/stdint.h:26, from /usr/lib/gcc/aarch64-unknown-linux-gnu/12.1.0/include= /stdint.h:9, from /home/alarm/q/var/qemu/include/qemu/osdep.h:94, from ../util/vfio-helpers.c:13: In function 'readlink', inlined from 'sysfs_find_group_file' at ../util/vfio-helpers.c:116:9, inlined from 'qemu_vfio_init_pci' at ../util/vfio-helpers.c:326:18, inlined from 'qemu_vfio_open_pci' at ../util/vfio-helpers.c:517:9: /usr/include/bits/unistd.h:119:10: error: argument 2 is null but the corres= ponding size argument 3 value is 4095 [-Werror=3Dnonnull] 119 | return __glibc_fortify (readlink, __len, sizeof (char), | ^~~~~~~~~~~~~~~ This error implies the allocated buffer can be NULL. Use g_file_read_link(), which allocates buffer automatically to avoid the error. Signed-off-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater --- V1 -> V2: Initialize gerr variable. util/vfio-helpers.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/util/vfio-helpers.c b/util/vfio-helpers.c index 2d8af38f88..f8bab46c68 100644 --- a/util/vfio-helpers.c +++ b/util/vfio-helpers.c @@ -106,15 +106,17 @@ struct QEMUVFIOState { */ static char *sysfs_find_group_file(const char *device, Error **errp) { + g_autoptr(GError) gerr =3D NULL; char *sysfs_link; char *sysfs_group; char *p; char *path =3D NULL; =20 sysfs_link =3D g_strdup_printf("/sys/bus/pci/devices/%s/iommu_group", = device); - sysfs_group =3D g_malloc0(PATH_MAX); - if (readlink(sysfs_link, sysfs_group, PATH_MAX - 1) =3D=3D -1) { - error_setg_errno(errp, errno, "Failed to find iommu group sysfs pa= th"); + sysfs_group =3D g_file_read_link(sysfs_link, &gerr); + if (gerr) { + error_setg(errp, "Failed to find iommu group sysfs path: %s", + gerr->message); goto out; } p =3D strrchr(sysfs_group, '/'); --=20 2.40.1