From patchwork Tue Nov 8 00:34:30 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 692123 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3tCW4Y6Zlzz9t87 for ; Tue, 8 Nov 2016 11:52:45 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="np8pbtEI"; dkim-atps=neutral Received: from localhost ([::1]:57505 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c3udX-0004UK-Ib for incoming@patchwork.ozlabs.org; Mon, 07 Nov 2016 19:51:39 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45159) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c3ucp-000488-A8 for qemu-devel@nongnu.org; Mon, 07 Nov 2016 19:50:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c3ucm-0007WS-8L for qemu-devel@nongnu.org; Mon, 07 Nov 2016 19:50:55 -0500 Received: from mail-sn1nam01on0057.outbound.protection.outlook.com ([104.47.32.57]:23920 helo=NAM01-SN1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1c3ucl-0007W4-Tt for qemu-devel@nongnu.org; Mon, 07 Nov 2016 19:50:52 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=3miQzcMzmnEYajDqgzKoGbcCA8OACezW1I8G5+PYnrU=; b=np8pbtEI3pqzE8aBUB8Dib6galc5ciMSWQz5267By6OIRu1HB7ZEImvs+7a1g9r8V8lU/w53ChzIlgTfH50Wjhu+FHLLsuCrKD8oaoLn+NwiiZzF6DrtMzm/I+RqJBtaqm85XAx1vzbq4jIi/2xSyOd+dspyfr4ve9BmWgFYBwo= Received: from BN1PR02CA0040.namprd02.prod.outlook.com (10.141.56.40) by BN1PR02MB005.namprd02.prod.outlook.com (10.242.210.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.707.6; Tue, 8 Nov 2016 00:36:01 +0000 Received: from BL2NAM02FT007.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::202) by BN1PR02CA0040.outlook.office365.com (2a01:111:e400:2a::40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.707.6 via Frontend Transport; Tue, 8 Nov 2016 00:36:02 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; huawei.com; dkim=none (message not signed) header.d=none;huawei.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; Received: from xsj-pvapsmtpgw02 (149.199.60.100) by BL2NAM02FT007.mail.protection.outlook.com (10.152.77.46) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.707.3 via Frontend Transport; Tue, 8 Nov 2016 00:36:02 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:1466; Count:15 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:51422 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1c3uOO-0003JA-Rj; Mon, 07 Nov 2016 16:36:00 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1c3uOO-00030D-O3; Mon, 07 Nov 2016 16:36:00 -0800 Received: from xsj-pvapsmtp01 (xsj-pvapsmtp01.xilinx.com [149.199.38.66]) by xsj-smtp-dlp2.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id uA80ZwaH029863; Mon, 7 Nov 2016 16:35:59 -0800 Received: from [172.19.74.182] (helo=xsjalistai50.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1c3uOM-0002ze-Sq; Mon, 07 Nov 2016 16:35:58 -0800 From: Alistair Francis To: , Date: Mon, 7 Nov 2016 16:34:30 -0800 Message-ID: X-Mailer: git-send-email 2.7.4 X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.0.0.1202-22684.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-IncomingHeaderCount: 15 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(438002)(199003)(189002)(87936001)(5001770100001)(586003)(77096005)(189998001)(8676002)(33646002)(626004)(48376002)(106466001)(50986999)(5660300001)(50466002)(229853001)(36756003)(36386004)(2906002)(4326007)(63266004)(118296001)(6666003)(47776003)(7846002)(356003)(50226002)(305945005)(81156014)(5003940100001)(81166006)(92566002)(8936002)(9786002)(107986001)(5001870100001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN1PR02MB005; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; PTR:unknown-60-100.xilinx.com,xapps1.xilinx.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT007; 1:YMCZcpNtbpNGjLzUb4zTjt2iPx5GIkrtcEi5hJ/HQbNs8lEYmsu3KhgPvdrWqdBkh+dBFcazeE3GarUxVlFpEE0oJGbjZ86sDZ3sVjhm3XMUKOfL0GSw3oqxCcHTJFe7nAlX8rdQw8QUvZZcDOWfBSG/lIjk7CyZnQmWFDshu+5LpIhME9qTBmtaKF4KOySFkopFoX9VZXdAJqlEYXR6OkSFOdeBnIcYC6vtzxbf03mngcNlXPXDWX3HuHR7wWj4FfjfkkON3vW4bmDlBTe6uz3e8KZPVh+bIs1w82bospCy2hMXxuGrxfh67c5r7jRe1wbTMNGBPOUYRFNwbMUS0AFIjs32kjr9FvohuPm16pgA2mRjaeUpb4ZZOTrG4LnU8myE2iKJiCFNLpWPZKnKd6etJ7wNBB2ldvAUksttWua97NOkeiIrSHhoDKDtaPPj/5S5aaFr3Rs+qqWu+o7WZ7pubAt9N4xaySlPo0+NoFdqs4dDLYWBg4OTLDnbAgCndJwGVv82PR6jIhOz+gPzkBjcf9QQYwVgwMnJv5QCrQGQ/jm3Qx3hIDRToaEs5lXU9UVJp5RvTKGUuXrMcK6XSHLr+7MRpPZ4LWi80KMzbIZEJnH9jqE5pe0mNppYVBG3 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 24c452d6-772f-44a0-07c7-08d4076f37a4 X-Microsoft-Exchange-Diagnostics: 1; BN1PR02MB005; 2:/bKAa5wBGUcrfNC0jO29Xa6fyNrij92e2wlidhYvT3CNZhguyIAI6X6PtlpF10ySDGG0IgzS1jTaNBVpMsZDhArDf6Vvrhrw3IEF3VipJWbuRieiDJKVYhSkZFreTONPjuQHSIaa3fftPrA/ERuzWgvw0KjOrARGrs2Yc8mUtDKXqAU0ADIOcByeedLZtqvURUF5BlEZfCe9itJj8b5oFg==; 3:YByr55DXm6HS7L/4yLukXmEil3WP1RTY8g24YSL4nRLTKT29bIyUlucsMJ7QaJgucpr7FwmjeBjp3st+BLoP6RnjCC3IcfFkk57ioKiwHD+xVJval7TlgdxkI45vk3dqZylWTasEwPpAeHIbqTzCjcIIvlxDxww2TjT0Xp9+NKxw1diCRsi8uixAyBFMqQbQV9ektHJF2lD7YInb5yiYnY2OzHwPpkqPjiqqOKwRpuLjyNsEjDDodICOUxIu43Jz+vDrjzEILyjmIT13w0sgJl2RWytJUn6ipOg+c8waXik= X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(8251501002); SRVR:BN1PR02MB005; X-Microsoft-Exchange-Diagnostics: 1; BN1PR02MB005; 25:4LKacVrFDLMLabrhNjO6Yo9oR5jbPiOHd5Mt+Co3VV/ArNjRhb/Br8DtEQrXLM5cpHXQtibzmaPtsVosaChe66LYGiR3TGgjk53WEmA2bgJxoXCwByHxx101t8ssnqWFQyezKODjttj2ff7kQGLFShhTsDp4Fi98QqQqpc6ewuOUDJUGoFCNvmLJ/MF+tZdcExziXhrZPmHBNhYN1Am2G5QzkCbtrlm92M5t7n3VY1QNq4y1Br9SdPyhJOA3o6bX51FzRaDI8sTXx+eZrvJ8OdVoBcm81g30Gqa59ZIEp95x3kK02HdXTQVpin1lttViO83qvWv6mY9raEkqy4ZwmrZXFhbecZRbNdsuwwpNFpaANAACxhkS9RKKEfHZTZecFIOUeMRROSQXQ9mfCXoahUF3Rb1VnLmfMhtDhH2Hr0+4+LnlxUHrcBb6lDzPmfZH; 31:5wZkNmWJk/ErJdU3bagM4KYYW5uFdUjX2XekPw2Cm9lsPK5uCF943yerZhPCQNSiCpYZ/kgp79nknopyiTHWO8WO3uDEPnkNfSlaOWQudXEnMwYWJkOVQpTlwR9kIGGh0k6LNfdhk8edNv/FDTKsGnimfzh1xiYUGZlO3D+6xja1lnQfrkX4aY+2nHmJZhwVy+x/ET//oNQ/7153S27nUX6Qw0unsLfvqLFlAhN4npRxBHLLEdQDMDj+ldaT2U90LymVdyngFRXZw91KtkjSKQ== X-Microsoft-Exchange-Diagnostics: 1; BN1PR02MB005; 20:QtycO9AUWeAzPIHFlV5uWhmWzfNtRhNyuZp/+Yw6mQTk4wuy9EYmUL/uzdyZ8+k5sQJ4J9gOhu3/1gZou/IKjGs0bg2uicxa0s6A0g+njse1NFFWzZGl9a038J1tfAr4rEOh+rpY1gu/uIKbhxirmjJ8bjZEiIJX0k15D5lr/VrbNyOfOlZMt1gxQMohzpIMDmZitgNoGKCvBHr2IvX7hzJNfzka7hfVzJv6Cf0G2NYnqn8jKWZljG0YfnaWa/wIwT1fmGSDgms38F0To2dYElR3+V4/kJ4LtCN979nnm9hrwfGzbcBpMQ+bpdTeCDJwtggBVJLZCDhGXIRhVFkp0dE3yblNkHlLURHXc+cTlUKIL5geNhlFI7SNTCT4n7DW12cQoAHjxj6MWPiutT8MHnlci7NkxQjy7vSQJq8X+ykDtrWYuMY+gYpaEVa/0fEOxe4hfLFKV+WwdWLjliEvlLvSTHkpTZ7QwKXhg03hiZZKufk5fPxI4IjqVL7vnqZy X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(50582790962513)(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(13015025)(8121501046)(13018025)(13017025)(5005006)(13024025)(13023025)(10201501046)(3002001)(6055026); SRVR:BN1PR02MB005; BCL:0; PCL:0; RULEID:; SRVR:BN1PR02MB005; X-Microsoft-Exchange-Diagnostics: 1; BN1PR02MB005; 4:nflna3uZonRsP+8gSFftNA1mrzOA1jMRp5j6SMWLY/6yA1R7c3gxzBSGOdLqrPwSCC8Jy2M5Hxsd0Ca9vjyPuMjqGC5YuDZDRNX7hmpowrtj9EHt/iE39IjvPKr9YEX055a/cGEcWLNOaf8RsYR9lt6gAOCbebxNpqmg3tb0Z9sIG8c+XXH5VK3p/jAE61aofkN3a/aPR4bcxDANjhq0mmIwtlw1n4uFNmlczTsvpNLzTx7dBgAcLfcR/ONCJd/rqaN0p2i0uDb+zD9OXowjNQf+T1y9bpsbFEzdn0tRX0KD6pxOcmUQTFmgRdQf8ZFr/v8BpVJees66TpVsOSort/fs4JpLZHBFqMpU0nQMRhce6mTOBQqCCBq/xfNZ04Vd6lLk+VMDrwk35W/BnVl46jFw7YETVrG7MDdhrGBw1iIO3lyH5DI4JqRVZfZes4bgfAO88ERFiIaUhpPdlQUGBlRHN5DOJN1JevahtQ7L2q6Rz/H5hKryFJZZ7a7eP1ls2QVF3WpxLnVmZH+toyXW4sPz3bJjJa6TXnCSGpp5gxab6N3bR6MaZFeBK4k1VufnhlRhAU4ig7xyHmfyv3OQ6Q== X-Forefront-PRVS: 01208B1E18 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR02MB005; 23:wNpul436CfscbM6LoQopqAcAtsA9rslQFjpJz/VDxP?= =?us-ascii?Q?CVh5TwUZR05mt8VXtncugz/SJLzNI5tS0DpUoChsr8Kj2uDLaE5y2sDASEDn?= =?us-ascii?Q?DAaQAkoXr+1GWpMFXvjpuUObdQOkdZgY/U32pjrg4g8/gMdUhvBHnPfQRi85?= =?us-ascii?Q?7MD44iIjW+hlHIHctRtbOxjcJ23KQe2cKybjA6OLOdlR53h0DPGftPubSGI3?= =?us-ascii?Q?+RiOTfiw1Lv77NaP8K5m5n+tbb8943ixAAa4BZU5qjusCd5NI7mwlu+dB5EX?= =?us-ascii?Q?aWyyyjtSq2xALhtC9mByDL28ci6+GuJdv71vZGVbwXhRVzkLqJpKD2hiwVIj?= =?us-ascii?Q?2m2GKYP/YBpGF+EszF5dwMQwjTVZizOHgRNZn50EWVsIUmOT4yNjB2iFwN4Z?= =?us-ascii?Q?U34OSNI1zfGyAPk5gQoEDwUVbdp51JimHUN1tYnpiTFbSGkJorthpJDC6x09?= =?us-ascii?Q?cYfW1aq8CvECYT0nlY5+E+NivA+zVX0IHYBcOWIcC7UvQnhHf1nE+9+6n9lM?= =?us-ascii?Q?PgRG+s5hEPfVYIjbT+0lvjcW4CkVQSc3x1Ohupo5hEO67fucqIdwzCrMpase?= =?us-ascii?Q?8rT7Akg4NE1JiKbZiFDKi4AGnOIctftVsU5zjrXY64h+6sxZ/snN4YkvjGSo?= =?us-ascii?Q?00PYTu6uXiBNC2K3J0Yid3YiSTcnKMFVpo1xUORzW/GIGEf/df0iWTDJdNrF?= =?us-ascii?Q?L/fgWleESv104UJh46Vqu2Hn9hczBKdRio+IhUQ1+NdqyrBn2feN9oIqoChN?= =?us-ascii?Q?PwnEvPY7uYK9lmmwud0t64havK1u/NqKeDAC7v3+09g6UX1ODUURvCtDX6se?= =?us-ascii?Q?8oD1LtZUYkGnk9mQVzfhdwF7ae2besbrobMExPv9IzcHHGVCMkfna+riatlG?= =?us-ascii?Q?3dvHEEOygdfl8TZR2GehxaIjH+LY5/v+kTEobEUHZbm5tJAXJSRaOtVN0DD6?= =?us-ascii?Q?UdsYs40buF/gpOQT9o5VRqGpAbKlOnTkdSkbSYBboJdE1lh7PQ60kVPQwZwB?= =?us-ascii?Q?c=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN1PR02MB005; 6:vwooDaujs533ArPSwVIJrFfctR91i/aUM4DyK3k4ZwHrKyyLtrRwioLW2MGHgzUqqmgnfhJke6QIJ/MZnUdapfP/LY69PWY5BAyBmdKe95cozf3RPNj+RN83OU+VKdjkwms7AL7ntaGxVWnxRqgb+xvDj7p5Reho1ftv9vC4gdnMiw7e9ENpPQp0RGIKjgfVmc6ie3T8fsEVXsT6KMDzO5ZVOsZQIpVM8vNFB0gM0TSzxYK2ubYGs+Acagyvd2EIfNiwYa4s47VpXa4nqo3QkDOVm5oXeuC45s1xrRi7EvxxRAyMN7MDlV55s/lF0/2Qe/mfjC+DALRCGqiA7DZ+Jun+mKpL8vY9LxY9JL9229M=; 5:sLumOde0CxYx4jmaNEQRvziEXrBkQqi3zGQHbgvt16wZdmaBLFr85BS6ykbxj4o279oEziHwzy1LD7F+c93SVtiKkJtH6es3mJo9NEdvJtq643dgKT/7wrEX7J/rMLHoBesl0yjamUYZGrIw/GmyuGgzPfVcvYB3rAU1yjam6Mc=; 24:EREBMvf0ChDbjwaDbwmMqzE73F11zTLSLSYPy5i5dE//vgF0V+E+7GU1kJTqBV2X9KbEomB417HY2WqRsH5DXGYYPPzoFDPuQY7V5KnQBjg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN1PR02MB005; 7:EjgU/jwAmKYT9D8O7okifULn8X+8QygWp8zQOQIUDAQ1vpYcW2tabriD47jVPUiapuJFY1TFtbsrMrxjCMzzRHKKUKYmrgFl2YWXNyLp/oIcwNSMGFr2Qjui2gc9sMZNBAmau2wDzCRrbjXIjdQNyVnS7roAOh4G2vdNW5/wH1sHzcwsH6j4/i9oxIlLO/H5pOh8fOliOkyfHhWfWN+3x6kk5Vs10jhea6abEYkzIBw9BdO4poJxbmgJ7N/zaMyCliWQGvgJmDrDsFyrco3dOBpczmek19swpV0QddhbEdiLOda8hvA8F83f2VvqMTLm6R3z0lHo6MsNrkoRYPFcS2/mqU7PK+GxoNokqtToETY= X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2016 00:36:02.0468 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1PR02MB005 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.32.57 Subject: [Qemu-devel] [PATCH v2 1/1] cadence_uart: Check baud rate generator and divider values on migration 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: alistair23@gmail.com, psirt@huawei.com, pjp@fedoraproject.org, alistair.francis@xilinx.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" The Cadence UART device emulator calculates speed by dividing the baud rate by a 'baud rate generator' & 'baud rate divider' value. The device specification defines these register values to be non-zero and within certain limits. Checks were recently added when writing to these registers but not when restoring from migration. This patch adds checks when restoring from migration to avoid divide by zero errors. Reported-by: Huawei PSIRT Signed-off-by: Alistair Francis --- V2: - Abort the migration if the data is invalid hw/char/cadence_uart.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hw/char/cadence_uart.c b/hw/char/cadence_uart.c index def34cd..9568ac6 100644 --- a/hw/char/cadence_uart.c +++ b/hw/char/cadence_uart.c @@ -487,6 +487,13 @@ static int cadence_uart_post_load(void *opaque, int version_id) { CadenceUARTState *s = opaque; + /* Ensure these two aren't invalid numbers */ + if (s->r[R_BRGR] <= 1 || s->r[R_BRGR] & 0xFFFF || + s->r[R_BDIV] <= 3 || s->r[R_BDIV] & 0xFF) { + /* Value is invalid, abort */ + return 1; + } + uart_parameters_setup(s); uart_update_status(s); return 0;