From nobody Sat Oct 25 11:06:50 2025 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 1521495865667868.9498697677251; Mon, 19 Mar 2018 14:44:25 -0700 (PDT) Received: from localhost ([::1]:44125 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ey2Zl-0005hv-AQ for importer@patchew.org; Mon, 19 Mar 2018 17:44:17 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36515) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ey2NA-0003VM-3C for qemu-devel@nongnu.org; Mon, 19 Mar 2018 17:31:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ey2N5-0005Ji-77 for qemu-devel@nongnu.org; Mon, 19 Mar 2018 17:31:16 -0400 Received: from sauhun.de ([88.99.104.3]:57191 helo=pokefinder.org) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ey2N5-0005Hw-0p for qemu-devel@nongnu.org; Mon, 19 Mar 2018 17:31:11 -0400 Received: from localhost (p54B3377B.dip0.t-ipconnect.de [84.179.55.123]) by pokefinder.org (Postfix) with ESMTPSA id EFA082C6FD7; Mon, 19 Mar 2018 22:31:08 +0100 (CET) From: Wolfram Sang To: qemu-devel@nongnu.org Date: Mon, 19 Mar 2018 22:30:59 +0100 Message-Id: <20180319213101.6100-2-wsa+renesas@sang-engineering.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180319213101.6100-1-wsa+renesas@sang-engineering.com> References: <20180319213101.6100-1-wsa+renesas@sang-engineering.com> 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 v2 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-Transfer-Encoding: quoted-printable MIME-Version: 1.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. Signed-off-by: Wolfram Sang Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- 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 Sat Oct 25 11:06:50 2025 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 1521495750227723.8376384722309; Mon, 19 Mar 2018 14:42:30 -0700 (PDT) Received: from localhost ([::1]:44114 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ey2Y1-00048F-Cl for importer@patchew.org; Mon, 19 Mar 2018 17:42:29 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36513) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ey2NA-0003VK-36 for qemu-devel@nongnu.org; Mon, 19 Mar 2018 17:31:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ey2N5-0005Jo-73 for qemu-devel@nongnu.org; Mon, 19 Mar 2018 17:31:16 -0400 Received: from sauhun.de ([88.99.104.3]:57197 helo=pokefinder.org) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ey2N5-0005I6-1H for qemu-devel@nongnu.org; Mon, 19 Mar 2018 17:31:11 -0400 Received: from localhost (p54B3377B.dip0.t-ipconnect.de [84.179.55.123]) by pokefinder.org (Postfix) with ESMTPSA id 6BDE42C6FDB; Mon, 19 Mar 2018 22:31:09 +0100 (CET) From: Wolfram Sang To: qemu-devel@nongnu.org Date: Mon, 19 Mar 2018 22:31:00 +0100 Message-Id: <20180319213101.6100-3-wsa+renesas@sang-engineering.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180319213101.6100-1-wsa+renesas@sang-engineering.com> References: <20180319213101.6100-1-wsa+renesas@sang-engineering.com> 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 v2 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-Transfer-Encoding: quoted-printable MIME-Version: 1.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. Signed-off-by: Wolfram Sang Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- 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 Sat Oct 25 11:06:50 2025 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 15214959660681017.1813928524228; Mon, 19 Mar 2018 14:46:06 -0700 (PDT) Received: from localhost ([::1]:44138 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ey2bV-00075r-B0 for importer@patchew.org; Mon, 19 Mar 2018 17:46:05 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36516) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ey2NA-0003VN-3M for qemu-devel@nongnu.org; Mon, 19 Mar 2018 17:31:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ey2N5-0005KE-NO for qemu-devel@nongnu.org; Mon, 19 Mar 2018 17:31:16 -0400 Received: from sauhun.de ([88.99.104.3]:57205 helo=pokefinder.org) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ey2N5-0005IH-HF for qemu-devel@nongnu.org; Mon, 19 Mar 2018 17:31:11 -0400 Received: from localhost (p54B3377B.dip0.t-ipconnect.de [84.179.55.123]) by pokefinder.org (Postfix) with ESMTPSA id D959A2C6FE7; Mon, 19 Mar 2018 22:31:09 +0100 (CET) From: Wolfram Sang To: qemu-devel@nongnu.org Date: Mon, 19 Mar 2018 22:31:01 +0100 Message-Id: <20180319213101.6100-4-wsa+renesas@sang-engineering.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180319213101.6100-1-wsa+renesas@sang-engineering.com> References: <20180319213101.6100-1-wsa+renesas@sang-engineering.com> 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 v2 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-Transfer-Encoding: quoted-printable MIME-Version: 1.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. Signed-off-by: Wolfram Sang Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- 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..1560c9a46b 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\n"); } 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\n"); 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\n", (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\n"); 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\n"); } DPRINTK("Reset read backing file\n"); } --=20 2.11.0