From nobody Sat Oct 25 21:42:25 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 1521562874259639.7537439750604; Tue, 20 Mar 2018 09:21:14 -0700 (PDT) Received: from localhost ([::1]:50492 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyK0f-0003c8-CE for importer@patchew.org; Tue, 20 Mar 2018 12:21:13 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58053) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyJym-0002b7-KU for qemu-devel@nongnu.org; Tue, 20 Mar 2018 12:19:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eyJyj-000216-57 for qemu-devel@nongnu.org; Tue, 20 Mar 2018 12:19:16 -0400 Received: from sauhun.de ([88.99.104.3]:32856 helo=pokefinder.org) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyJyi-00020G-Uc for qemu-devel@nongnu.org; Tue, 20 Mar 2018 12:19:13 -0400 Received: from localhost (p54B33539.dip0.t-ipconnect.de [84.179.53.57]) by pokefinder.org (Postfix) with ESMTPSA id 655992C5F96; Tue, 20 Mar 2018 17:19:11 +0100 (CET) From: Wolfram Sang To: qemu-devel@nongnu.org Date: Tue, 20 Mar 2018 17:18:48 +0100 Message-Id: <20180320161850.2104-2-wsa+renesas@sang-engineering.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180320161850.2104-1-wsa+renesas@sang-engineering.com> References: <20180320161850.2104-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 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 Sat Oct 25 21:42:25 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 1521562994380439.9732723022182; Tue, 20 Mar 2018 09:23:14 -0700 (PDT) Received: from localhost ([::1]:50505 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyK2b-00058S-EI for importer@patchew.org; Tue, 20 Mar 2018 12:23:13 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58054) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyJym-0002b8-KX for qemu-devel@nongnu.org; Tue, 20 Mar 2018 12:19:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eyJyj-00021B-5v for qemu-devel@nongnu.org; Tue, 20 Mar 2018 12:19:16 -0400 Received: from sauhun.de ([88.99.104.3]:32866 helo=pokefinder.org) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyJyi-00020U-Uf for qemu-devel@nongnu.org; Tue, 20 Mar 2018 12:19:13 -0400 Received: from localhost (p54B33539.dip0.t-ipconnect.de [84.179.53.57]) by pokefinder.org (Postfix) with ESMTPSA id DA99E2C5F9E; Tue, 20 Mar 2018 17:19:11 +0100 (CET) From: Wolfram Sang To: qemu-devel@nongnu.org Date: Tue, 20 Mar 2018 17:18:49 +0100 Message-Id: <20180320161850.2104-3-wsa+renesas@sang-engineering.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180320161850.2104-1-wsa+renesas@sang-engineering.com> References: <20180320161850.2104-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 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 Sat Oct 25 21:42:26 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 152156308495810.213976640442525; Tue, 20 Mar 2018 09:24:44 -0700 (PDT) Received: from localhost ([::1]:50510 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyK44-0006Hf-8F for importer@patchew.org; Tue, 20 Mar 2018 12:24:44 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58073) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyJyo-0002bR-3W for qemu-devel@nongnu.org; Tue, 20 Mar 2018 12:19:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eyJyj-00020y-4X for qemu-devel@nongnu.org; Tue, 20 Mar 2018 12:19:18 -0400 Received: from sauhun.de ([88.99.104.3]:32871 helo=pokefinder.org) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyJyi-00020g-US for qemu-devel@nongnu.org; Tue, 20 Mar 2018 12:19:13 -0400 Received: from localhost (p54B33539.dip0.t-ipconnect.de [84.179.53.57]) by pokefinder.org (Postfix) with ESMTPSA id 55FDB2C5FA8; Tue, 20 Mar 2018 17:19:12 +0100 (CET) From: Wolfram Sang To: qemu-devel@nongnu.org Date: Tue, 20 Mar 2018 17:18:50 +0100 Message-Id: <20180320161850.2104-4-wsa+renesas@sang-engineering.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180320161850.2104-1-wsa+renesas@sang-engineering.com> References: <20180320161850.2104-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 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