From nobody Sun Apr 28 03:10:16 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; dkim=fail; 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 1524345505239763.5084057283228; Sat, 21 Apr 2018 14:18:25 -0700 (PDT) Received: from localhost ([::1]:47406 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f9zte-0004ZS-Ip for importer@patchew.org; Sat, 21 Apr 2018 17:18:14 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41348) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f9zsW-00041b-2K for qemu-devel@nongnu.org; Sat, 21 Apr 2018 17:17:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f9zsS-0000fB-To for qemu-devel@nongnu.org; Sat, 21 Apr 2018 17:17:04 -0400 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:41850) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f9zsS-0000eX-Ok for qemu-devel@nongnu.org; Sat, 21 Apr 2018 17:17:00 -0400 Received: by mail-qk0-x242.google.com with SMTP id s78so12212796qkl.8 for ; Sat, 21 Apr 2018 14:17:00 -0700 (PDT) Received: from x1.local ([138.117.48.212]) by smtp.gmail.com with ESMTPSA id m53-v6sm3189008qtf.33.2018.04.21.14.16.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 21 Apr 2018 14:16:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=/uZNI6z2B5Px9R9VA5qvCUQsZHVOWtKQVzyUCpKLa64=; b=FgEVnaspuLkvHSW+V4HWRTLBDIWJo2LeMb73VwkSxDdWoOkGv3ZU2+ddbUWo0cTGMS oK3l99kUAjn+6EjzOGynvrokuebPP89h7wNu4+7N/aDvh9nCZ35bYKCzku69J/wj3296 a8XidFH64V+kk9NCM3b/lHExXBLOp1dTob7v6KSqVHPkrU5o/JrRYJmO1N6mv5vvTQt9 aOzqtM0G6XdJgb02ZSEpr9wA7tC7CgSzAyziiQYXTY7urnR6SqfexcScukblVzQM3m4/ lnZ0EiGcok6s/4Of0/OkcAgnawZK97OXOSzaCDxeEZ3KbXiFFhT4JS/0TlXcQb8xY4ti F8lQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=/uZNI6z2B5Px9R9VA5qvCUQsZHVOWtKQVzyUCpKLa64=; b=osxq62z71ycenZmzqZrjYGK73WAO3jGcVwqBc9XnYqWvXgBrxRzxI0DkRCSx1Vm+hX D8xeyzZ+Eo1HZm9xCczjdSb0A2jc3O372Clc7FRhXJc/Yg9aItB5PcxE/L97yAyPGQls XyXlmt8/jdL51+2l1COyAyq4K0H9IpLUgxccRrWM1nbw1Nyv3veTwxbwVfj1IJhrE+vJ /OU5j0fCxAzcmYw1S9yFtlUBhOS462j0YP94L8iH6rY6iqtjhAak6vkTBxLCDmpCPecR b88ac+deR6eF5K5QbY/DxrK5VlfxhYebC7eCB9A8mg9J7B6y+vJxWJ86m0+YFZBuXncM KKFw== X-Gm-Message-State: ALQs6tCl5Bl2icP8L+eHqpdxADhvrJVqx49E68gZ+ulm8h/hBmZpG89g MgnDJ5lP7bl6cOGAZNDnsqE= X-Google-Smtp-Source: AIpwx4/M+VNpZZWWy0PQ4ozeb+EKAYbvRAu9sRw5jhcdTYKAJ1C8hJhfboMzHE1ZQmxY7+ddvgwmwA== X-Received: by 10.55.177.135 with SMTP id a129mr16228402qkf.65.1524345420151; Sat, 21 Apr 2018 14:17:00 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paul Burton , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Sat, 21 Apr 2018 18:16:52 -0300 Message-Id: <20180421211652.14794-1-f4bug@amsat.org> X-Mailer: git-send-email 2.17.0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PATCH] loader: Fix misaligned member access 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: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 This fixes the following ASan warning: $ mips64el-softmmu/qemu-system-mips64el -M boston -kernel vmlinux.gz.itb = -nographic hw/core/loader-fit.c:108:17: runtime error: load of misaligned address 0x= 7f95cd7e4264 for type 'fdt64_t', which requires 8 byte alignment 0x7f95cd7e4264: note: pointer points here 00 00 00 3e ff ff ff ff 80 7d 2a c0 00 00 00 01 68 61 73 68 40 30 00 = 00 00 00 00 03 00 00 00 14 ^ Reported-by: AddressSanitizer Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/core/loader-fit.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hw/core/loader-fit.c b/hw/core/loader-fit.c index 0c4a7207f4..1a69697f89 100644 --- a/hw/core/loader-fit.c +++ b/hw/core/loader-fit.c @@ -93,6 +93,8 @@ static int fit_image_addr(const void *itb, int img, const= char *name, hwaddr *addr) { const void *prop; + fdt32_t v32; + fdt64_t v64; int len; =20 prop =3D fdt_getprop(itb, img, name, &len); @@ -102,10 +104,12 @@ static int fit_image_addr(const void *itb, int img, c= onst char *name, =20 switch (len) { case 4: - *addr =3D fdt32_to_cpu(*(fdt32_t *)prop); + memcpy(&v32, prop, sizeof(v32)); + *addr =3D fdt32_to_cpu(v32); return 0; case 8: - *addr =3D fdt64_to_cpu(*(fdt64_t *)prop); + memcpy(&v64, prop, sizeof(v64)); + *addr =3D fdt64_to_cpu(v64); return 0; default: error_printf("invalid %s address length %d\n", name, len); --=20 2.17.0