From nobody Sun May 5 23:27:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1526799914223259.3011394745912; Sun, 20 May 2018 00:05:14 -0700 (PDT) Received: from localhost ([::1]:45466 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fKIP3-0000N3-GG for importer@patchew.org; Sun, 20 May 2018 03:05:13 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49146) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fKIKj-0005zL-3F for qemu-devel@nongnu.org; Sun, 20 May 2018 03:00:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fKIKg-0004k6-De for qemu-devel@nongnu.org; Sun, 20 May 2018 03:00:45 -0400 Received: from sauhun.de ([88.99.104.3]:54052 helo=pokefinder.org) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fKIKg-0004jS-7K for qemu-devel@nongnu.org; Sun, 20 May 2018 03:00:42 -0400 Received: from localhost (p54B33698.dip0.t-ipconnect.de [84.179.54.152]) by pokefinder.org (Postfix) with ESMTPSA id 5A5BC3640AA; Sun, 20 May 2018 09:00:39 +0200 (CEST) From: Wolfram Sang To: qemu-devel@nongnu.org Date: Sun, 20 May 2018 09:00:35 +0200 Message-Id: <20180520070037.8593-2-wsa+renesas@sang-engineering.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180520070037.8593-1-wsa+renesas@sang-engineering.com> References: <20180520070037.8593-1-wsa+renesas@sang-engineering.com> MIME-Version: 1.0 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: 88.99.104.3 Subject: [Qemu-devel] [PATCH v3 RESEND 1/3] nvram: at24c: prevent segfault by checking "rom-size" X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-renesas-soc@vger.kernel.org, Wolfram Sang , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The value for "rom-size" is used as a divisor, so it must not be 0 or it will segfault. A size of 0 wouldn't make sense anyhow. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Wolfram Sang --- hw/nvram/eeprom_at24c.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/nvram/eeprom_at24c.c b/hw/nvram/eeprom_at24c.c index 22183f5360..ccf78b25e4 100644 --- a/hw/nvram/eeprom_at24c.c +++ b/hw/nvram/eeprom_at24c.c @@ -121,6 +121,11 @@ int at24c_eeprom_init(I2CSlave *i2c) { EEPROMState *ee =3D AT24C_EE(i2c); =20 + if (!ee->rsize) { + ERR("rom-size not allowed to be 0\n"); + exit(1); + } + ee->mem =3D g_malloc0(ee->rsize); =20 if (ee->blk) { --=20 2.11.0 From nobody Sun May 5 23:27:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1526799834443405.25046137222944; Sun, 20 May 2018 00:03:54 -0700 (PDT) Received: from localhost ([::1]:45463 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fKINl-0007Wb-PJ for importer@patchew.org; Sun, 20 May 2018 03:03:53 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49148) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fKIKj-0005zN-3L for qemu-devel@nongnu.org; Sun, 20 May 2018 03:00:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fKIKg-0004kE-GN for qemu-devel@nongnu.org; Sun, 20 May 2018 03:00:45 -0400 Received: from sauhun.de ([88.99.104.3]:54060 helo=pokefinder.org) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fKIKg-0004je-9T for qemu-devel@nongnu.org; Sun, 20 May 2018 03:00:42 -0400 Received: from localhost (p54B33698.dip0.t-ipconnect.de [84.179.54.152]) by pokefinder.org (Postfix) with ESMTPSA id CC35C364406; Sun, 20 May 2018 09:00:39 +0200 (CEST) From: Wolfram Sang To: qemu-devel@nongnu.org Date: Sun, 20 May 2018 09:00:36 +0200 Message-Id: <20180520070037.8593-3-wsa+renesas@sang-engineering.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180520070037.8593-1-wsa+renesas@sang-engineering.com> References: <20180520070037.8593-1-wsa+renesas@sang-engineering.com> MIME-Version: 1.0 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: 88.99.104.3 Subject: [Qemu-devel] [PATCH v3 RESEND 2/3] nvram: at24c: use a sane default for "rom-size" X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-renesas-soc@vger.kernel.org, Wolfram Sang , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" 0 as "rom-size" will lead to an error message. Let's use the size of a small 24c01 which has 128 byte. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Wolfram Sang --- hw/nvram/eeprom_at24c.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/nvram/eeprom_at24c.c b/hw/nvram/eeprom_at24c.c index ccf78b25e4..ab1ef686e2 100644 --- a/hw/nvram/eeprom_at24c.c +++ b/hw/nvram/eeprom_at24c.c @@ -28,6 +28,9 @@ #define TYPE_AT24C_EE "at24c-eeprom" #define AT24C_EE(obj) OBJECT_CHECK(EEPROMState, (obj), TYPE_AT24C_EE) =20 +/* default is the size of a 24c01 EEPROM */ +#define AT24C_ROMSIZE_DEFAULT 128 + typedef struct EEPROMState { I2CSlave parent_obj; =20 @@ -171,7 +174,7 @@ void at24c_eeprom_reset(DeviceState *state) } =20 static Property at24c_eeprom_props[] =3D { - DEFINE_PROP_UINT32("rom-size", EEPROMState, rsize, 0), + DEFINE_PROP_UINT32("rom-size", EEPROMState, rsize, AT24C_ROMSIZE_DEFAU= LT), DEFINE_PROP_BOOL("writable", EEPROMState, writable, true), DEFINE_PROP_DRIVE("drive", EEPROMState, blk), DEFINE_PROP_END_OF_LIST() --=20 2.11.0 From nobody Sun May 5 23:27:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1526799747995583.144186708659; Sun, 20 May 2018 00:02:27 -0700 (PDT) Received: from localhost ([::1]:45453 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fKIMG-0006dO-2V for importer@patchew.org; Sun, 20 May 2018 03:02:20 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49147) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fKIKj-0005zM-3F for qemu-devel@nongnu.org; Sun, 20 May 2018 03:00:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fKIKg-0004k0-2Q for qemu-devel@nongnu.org; Sun, 20 May 2018 03:00:45 -0400 Received: from sauhun.de ([88.99.104.3]:54070 helo=pokefinder.org) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fKIKf-0004jk-S7 for qemu-devel@nongnu.org; Sun, 20 May 2018 03:00:42 -0400 Received: from localhost (p54B33698.dip0.t-ipconnect.de [84.179.54.152]) by pokefinder.org (Postfix) with ESMTPSA id 462F2364407; Sun, 20 May 2018 09:00:40 +0200 (CEST) From: Wolfram Sang To: qemu-devel@nongnu.org Date: Sun, 20 May 2018 09:00:37 +0200 Message-Id: <20180520070037.8593-4-wsa+renesas@sang-engineering.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180520070037.8593-1-wsa+renesas@sang-engineering.com> References: <20180520070037.8593-1-wsa+renesas@sang-engineering.com> MIME-Version: 1.0 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: 88.99.104.3 Subject: [Qemu-devel] [PATCH v3 RESEND 3/3] nvram: at24c: use standard error reporting X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-renesas-soc@vger.kernel.org, Wolfram Sang , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Replace the ERR macro with error_report() because fprintf is deprecated. This also fixes the prefix printed out twice. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Wolfram Sang --- hw/nvram/eeprom_at24c.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/hw/nvram/eeprom_at24c.c b/hw/nvram/eeprom_at24c.c index ab1ef686e2..c35b29e503 100644 --- a/hw/nvram/eeprom_at24c.c +++ b/hw/nvram/eeprom_at24c.c @@ -13,6 +13,7 @@ #include "hw/hw.h" #include "hw/i2c/i2c.h" #include "sysemu/block-backend.h" +#include "qemu/error-report.h" =20 /* #define DEBUG_AT24C */ =20 @@ -22,9 +23,6 @@ #define DPRINTK(FMT, ...) do {} while (0) #endif =20 -#define ERR(FMT, ...) fprintf(stderr, TYPE_AT24C_EE " : " FMT, \ - ## __VA_ARGS__) - #define TYPE_AT24C_EE "at24c-eeprom" #define AT24C_EE(obj) OBJECT_CHECK(EEPROMState, (obj), TYPE_AT24C_EE) =20 @@ -63,8 +61,7 @@ int at24c_eeprom_event(I2CSlave *s, enum i2c_event event) if (ee->blk && ee->changed) { int len =3D blk_pwrite(ee->blk, 0, ee->mem, ee->rsize, 0); if (len !=3D ee->rsize) { - ERR(TYPE_AT24C_EE - " : failed to write backing file\n"); + error_report("failed to write backing file"); } DPRINTK("Wrote to backing file\n"); } @@ -125,7 +122,7 @@ int at24c_eeprom_init(I2CSlave *i2c) EEPROMState *ee =3D AT24C_EE(i2c); =20 if (!ee->rsize) { - ERR("rom-size not allowed to be 0\n"); + error_report("rom-size not allowed to be 0"); exit(1); } =20 @@ -135,7 +132,7 @@ int at24c_eeprom_init(I2CSlave *i2c) int64_t len =3D blk_getlength(ee->blk); =20 if (len !=3D ee->rsize) { - ERR(TYPE_AT24C_EE " : Backing file size %lu !=3D %u\n", + error_report("Backing file size %lu !=3D %u", (unsigned long)len, (unsigned)ee->rsize); exit(1); } @@ -143,8 +140,7 @@ int at24c_eeprom_init(I2CSlave *i2c) if (blk_set_perm(ee->blk, BLK_PERM_CONSISTENT_READ | BLK_PERM_WRIT= E, BLK_PERM_ALL, &error_fatal) < 0) { - ERR(TYPE_AT24C_EE - " : Backing file incorrect permission\n"); + error_report("Backing file incorrect permission"); exit(1); } } @@ -166,8 +162,7 @@ void at24c_eeprom_reset(DeviceState *state) int len =3D blk_pread(ee->blk, 0, ee->mem, ee->rsize); =20 if (len !=3D ee->rsize) { - ERR(TYPE_AT24C_EE - " : Failed initial sync with backing file\n"); + error_report("Failed initial sync with backing file"); } DPRINTK("Reset read backing file\n"); } --=20 2.11.0