From patchwork Sun Jul 29 12:41:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Rodrigo Siqueira X-Patchwork-Id: 10548185 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 93469112E for ; Sun, 29 Jul 2018 12:41:38 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 81A442A521 for ; Sun, 29 Jul 2018 12:41:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 75C402A571; Sun, 29 Jul 2018 12:41:38 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 246462A521 for ; Sun, 29 Jul 2018 12:41:38 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 44AD36E23C; Sun, 29 Jul 2018 12:41:37 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-pl0-x244.google.com (mail-pl0-x244.google.com [IPv6:2607:f8b0:400e:c01::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 473966E23C; Sun, 29 Jul 2018 12:41:36 +0000 (UTC) Received: by mail-pl0-x244.google.com with SMTP id f6-v6so4271776plo.1; Sun, 29 Jul 2018 05:41:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=BlQxAr2Q5KzYYmsLz72kS/EmL60oK2deMHn4j++0ElA=; b=IDRJ+TKQfZRDjORAqmCx6KpGspEM18QY1+g8BVJzr2/HbFTKqTC9dVtcB5PJ2XJ3wE typRDEczQ0m89EZrfAsSkKKlmujvfDR086FoVgFYUlzHmDYgFVJGbLKmrFdHyGD1vuzO 2mUm96myUeWroDkI17nzYuJfJs/wTe6D6mNlv1Y+Y6ZuD8c6FqMyy6O76GoN4j5ouGwf al5DSZ0vT20AhMrFqXJuKSMVEcfvJIEhN9Vy0avDmGrOSg9P3JOfw0fSIUbqxwAQgMcl D9VP29EpcfvGaGXJqHcJp1kkf+RIqgNGXPej+5CceXSo3rYP+6cjvDVLFFlMqwbHWWWz DWLA== X-Gm-Message-State: AOUpUlG60BT6UqcfvqoAMl9D/JorsIed00nfFza05RjdMxLRCUE4YOMb EEpYpmUaZO+4tbyYTjhQaow= X-Google-Smtp-Source: AAOMgpeSOvEefsg0W7NQn7TK7KDwaaG/2MyAoZf4/Ty+h3LTJyVdNZQ5bM+Um7I8tRaAfttbPyhPZw== X-Received: by 2002:a17:902:4401:: with SMTP id k1-v6mr10795176pld.97.1532868095894; Sun, 29 Jul 2018 05:41:35 -0700 (PDT) Received: from smtp.gmail.com ([140.113.61.252]) by smtp.gmail.com with ESMTPSA id x7-v6sm14753236pgk.9.2018.07.29.05.41.34 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 29 Jul 2018 05:41:35 -0700 (PDT) Date: Sun, 29 Jul 2018 09:41:32 -0300 From: Rodrigo Siqueira To: Petri Latvala , Arkadiusz Hiler Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20180323 Subject: [Intel-gfx] [PATCH v2 i-g-t 1/2] Make string commands dynamic allocate X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP This patch fix the following GCC warning: intel_gvtg_test.c: In function ‘create_guest’: intel_gvtg_test.c:127:50: warning: ‘%s’ directive writing up to 4095 bytes into a region of size 4077 [-Wformat-overflow=] [..] intel_gvtg_test.c:127:5: note: ‘sprintf’ output between 36 and 8226 bytes into a destination of size 4096 [..] This patch changes the approach for allocating memory to handle QEMU commands by dynamically allocate space to save the whole command. Changes since v1: Arkadiusz Hiler: - Remove overkill allocation for handling commands - Remove unnecessary use of memset Signed-off-by: Rodrigo Siqueira --- tools/intel_gvtg_test.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/tools/intel_gvtg_test.c b/tools/intel_gvtg_test.c index 659b7956..ad5ee6a6 100644 --- a/tools/intel_gvtg_test.c +++ b/tools/intel_gvtg_test.c @@ -120,16 +120,23 @@ static int check_tools(void) static void create_guest(void) { - char create_qcow_cmd[PATH_MAX] = {0}; - char create_vgpu_cmd[PATH_MAX] = {0}; - char create_instance_cmd[PATH_MAX] = {0}; + unsigned int max_size_cmd = 4 * PATH_MAX; + char *command; - sprintf(create_qcow_cmd, "qemu-img create -b %s -f qcow2 %s.qcow2", + command = malloc(max_size_cmd); + if (!command) + return; + + sprintf(command, "qemu-img create -b %s -f qcow2 %s.qcow2", hda_path, hda_path); - sprintf(create_vgpu_cmd, "echo \"%s\" > /sys/bus/pci/devices/0000:00:02.0/" + igt_assert_eq(system(command), 0); + + sprintf(command, "echo \"%s\" > /sys/bus/pci/devices/0000:00:02.0/" "mdev_supported_types/$(ls /sys/bus/pci/devices/0000:00:02.0/" "mdev_supported_types |awk {'print $1'}|tail -1)/create", uuid); - sprintf(create_instance_cmd, "%s -m 2048 -smp 2 -M pc -name gvtg_guest" + igt_assert_eq(system(command), 0); + + sprintf(command, "%s -m 2048 -smp 2 -M pc -name gvtg_guest" " -hda %s.qcow2 -bios %s -enable-kvm --net nic,macaddr=%s -net" " tap,script=/etc/qemu-ifup -vga cirrus -k en-us" " -serial stdio -vnc :1 -machine kernel_irqchip=on -global" @@ -137,9 +144,9 @@ static void create_guest(void) " -usb -usbdevice tablet -device vfio-pci,sysfsdev=" "/sys/bus/pci/devices/0000:00:02.0/%s &", qemu_path, hda_path, bios_path, mac_addr, uuid); - igt_assert_eq(system(create_qcow_cmd), 0); - igt_assert_eq(system(create_vgpu_cmd), 0); - igt_assert_eq(system(create_instance_cmd), 0); + igt_assert_eq(system(command), 0); + + free(command); } static void destroy_all_guest(void)