Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752075AbdHGVLg (ORCPT ); Mon, 7 Aug 2017 17:11:36 -0400 Received: from mail-he1eur01on0102.outbound.protection.outlook.com ([104.47.0.102]:13680 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751761AbdHGVLe (ORCPT ); Mon, 7 Aug 2017 17:11:34 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=stephend@adiengineering.com; From: Stephen Douthit To: seth.heasley@intel.com, nhorman@tuxdriver.com Cc: wsa@the-dreams.de, danp@adiengineering.com, stephend@adiengineering.com, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/2] i2c: ismt: Fix length handling for SMBus block reads Date: Mon, 7 Aug 2017 17:10:58 -0400 Message-Id: <1502140260-13789-1-git-send-email-stephend@adiengineering.com> X-Mailer: git-send-email 2.7.5 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [96.82.2.57] X-ClientProxiedBy: DM5PR06CA0048.namprd06.prod.outlook.com (2603:10b6:3:5d::34) To VI1PR04MB1360.eurprd04.prod.outlook.com (2a01:111:e400:5348::15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4dfb2b09-d45f-411e-db41-08d4ddd8df1c X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:VI1PR04MB1360; X-Microsoft-Exchange-Diagnostics: 1;VI1PR04MB1360;3:drhhYk1LqBxevYwYqkTnSXIAS2x4xwpyeqcY+KV7MZ2/XNxuDW1PZ2jgqty0eKp0vAN5UmCJeY1rFRKjPMPdW4SSl2PbR7FrLVwWlZKK8W3Ijwz0wroaBs2m2Uuebck5gV//5dFTrhW4nWQ0DC2Mq3j4rquQVsNcRb4u6zXfUswdIFNxNYlVzgu/mlz9tSgGN7IUb429sTP9GIvQPC2HxdNnh5WUuE5zIFWknT1du23eYMtqvMr966lqzct1FlO4;25:MNzCW6RlRb2K0HqRZlOzKZ4m64CU91+svkYwvTz3W89R3aMYHWu54eqjlY/ruPVSaE1ipgN3cxAcdw7syVIGtbXz4GG1ngthTndFvNwob99fkSx9uUm7yT8b+AmLFMqrzjGRbkVBnuYRqZCDHaGo1I8JSJqOy7UDmfbRfR5JjtIGzD8k2tRaPSixpF4Hv1QpJ50uMf36Eswo3fht1HzUBMLfiBSxIpEyGuyiw+sJ8sYQqUoGHtKRo6OhZCYC6tpC00TAtgpd8XOibh2pHsRJ49wotnCVPk/xTEsLgEv/ou7Jsl99e+oAsGPOCo7BgjQHW7GKlvfV/jjSBC3wmDi3aQ==;31:4JFllakeZvJ5TGZs0XTqdMJ3Q6NUfRkp6OMr77+fGIpv1qX7e5tBwb4qUu0NnG4njbZ1fhaFNGAKqafxaGw5NxJC/quX1E9Tr6w7TnSWmKlg2PW+xtTHUJ3nrr0M40S7WyWH+cv7dO/SsGOcYiYRAFN6JCRyQ88S8fDvYakkvyfNST5j/bAt/ur5ZDcQg4haiNspGgBbJwhaVxCDrUbFS9/6rhGkow2zOGKnDybwaUM= X-MS-TrafficTypeDiagnostic: VI1PR04MB1360: X-Microsoft-Exchange-Diagnostics: 1;VI1PR04MB1360;20:BIflJ8oDQOALPzzJu04HE/WampamK5Hxbe3sYHXcW6PZGnYBO3UA/IXIvCfLoa7JD2NxPDAMiUQu/jyZVd+gwi5tD079H7gcErDHzpKkH0U6GSdtoxFY1SEjAVif8Q/onfj07KkZ2zzDyCgf9kfwYbgHX9ci/nDABGPYtXC7fxFgqPbFwTxzUKYhXJVNMO78kqf3i/WuT+fDYkKzi7X/sv+gGZrNyEa9tk9UfbR0hUfrmJIFk4w+BuitLejxlTgrIfM+V0heE70LzlnU9kPCp8OgQfqnqR5kg+aPBkHd4dDFsoRv3QJvFWFLpzNq3Msl9/tvh5T8vrcGXZ/s4rKk1OOtDMF4E9pNsrGYRC3NWvAtH0FMM8qTNA5Uo2G9QD1EwfEr/NtlxQmMtkDVfwOaLjLXyWbSEKKM8qTxvC+M8Ow=;4:9ii6K61moRQ4OHSIGaTJwPuEVs5oCa8GqneBmpD1ru+ffuUHT9ZZqnXFEOiudn40CHsv0G3Cyj/NWmbGMph5T8FIbnYVQDnwcXh9vAUC/6UktRbib2/WPYIMRWl/1FxiwRoSKilSu5zYfYsy17oTIRzFlow4x20bt0cX3PLTUmTfobvyDD4rr9NGet9gz63ff9Ye9D8/zb6gAyI03iHUOiwNjrU9G7b3gI6LJ16CHitFbHqOv8HSZ+jFOejWsZqp X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(100000703101)(100105400095)(6041248)(20161123564025)(20161123562025)(20161123560025)(20161123558100)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:VI1PR04MB1360;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:VI1PR04MB1360; X-Forefront-PRVS: 0392679D18 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(7370300001)(4630300001)(6069001)(6009001)(39400400002)(39410400002)(39450400003)(39830400002)(199003)(53754006)(189002)(6116002)(25786009)(6512007)(53936002)(68736007)(110136004)(38730400002)(478600001)(4326008)(305945005)(5660300001)(6506006)(6486002)(7736002)(50226002)(48376002)(8676002)(81166006)(5003940100001)(81156014)(50466002)(7350300001)(86362001)(189998001)(105586002)(2906002)(106356001)(66066001)(6666003)(50986999)(47776003)(97736004)(3846002)(101416001)(42186005)(33646002)(36756003);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR04MB1360;H:localhost.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;VI1PR04MB1360;23:LhTZJONiScEzladcWIF9hiDJ+WIp3iAlU+W7zm6sH?= =?us-ascii?Q?S3PdfkGg5DL7jf4TYuLpKAcZck3mx+WxL3KEQ4ZgzpxOI83yAh4C0LD0cEqr?= =?us-ascii?Q?gkB/p+n6XGNHdDcXQFRXAJSgMaILkDPYfab+ZlaXo2dLwCkArc6BbzpEyvJy?= =?us-ascii?Q?H5Lgdd74IXso5nV3SfPwMiWW3gYfr9slu/RQAbPOa8kBnDqDXvvjSIDPsobK?= =?us-ascii?Q?s8rE6sFaLgjxvbryEWOJzIzI0IatLSmTc4ufvbTI+okbkBMAlQuPTzonz2Q/?= =?us-ascii?Q?2CNm+D9RHzE8c46EKIh2qIlYPjjqt2bnvnU1kC1eZtZzVChJKleWOJ7aUiZ0?= =?us-ascii?Q?KqGNwNPmshQkEIU5HD+8I3+cFnFyalW+H2P0D1MoyFxKJdgM5v2JuLCE0R57?= =?us-ascii?Q?E0V77TjvNSFKSGALpYNc4zFh0ZjLoF8Tj3gJ2Bb+AMH+7YO9bqH7WVAONTzG?= =?us-ascii?Q?aGoL44+6MgurMxKUM69z7XPpMoVI5C7AMXiV1wGNuerJjBRy8EpaZXfQej87?= =?us-ascii?Q?AwamjNaq57fCor3jdrN7+/H32n+K1u933DTfAGYBhWYAmmtD/fgRD/kB9oFo?= =?us-ascii?Q?BDKdx0jBvTsmvvzTUibPxGbVAwnw2UXtJcYFINv329ppFCO6CHFJ+OTMDJbN?= =?us-ascii?Q?lWV4d94wtVFl/UXEYO/EUiLskbwLf5YhKOwVZ3au3bT8W2tum8fGD6syFJDR?= =?us-ascii?Q?T8a/dsE6znvgackZRV6MMvwrzT01Yulh+Bj7Z3kQOyxBVbnXHX6YkzCvnQ7a?= =?us-ascii?Q?fnS+pVc/sRNosOUe8RD1UUvA12GhqaMM6vWvZ0MAYq80hsQVmQ/9inEo52YB?= =?us-ascii?Q?pnkJCMqnWW++SWCWlDhLIPZpX94aqat3tDaM7R5GrsBhGj2lgHqjtO24nNpJ?= =?us-ascii?Q?Ny8+D+AyFHG4UGNszeguFEvW5KdNW32Db9+xa6GU+vgpyv0CbWthZPtmtCBA?= =?us-ascii?Q?/6BlrzXi0K62GS/e/HQIJ/T5JfIdyU1/N3zqAMO3qSw17eyEXcETJTcCSzYZ?= =?us-ascii?Q?g4I3iaZk34FBkVxM2W0478mjcUP0AIpQ5kz3gWxCxAHecZkOjoW8YwwFuVEv?= =?us-ascii?Q?9BvDObIxpPoKnP2Y2Erw2KDtQVKNMgl/kr3p42TzVsAqvaL5gvJF2mmVBiFG?= =?us-ascii?Q?TXuaudK7Moys6ggx/1hG/8m8XfsomCePc+qyvCMszHiH1lO7eTx7mpz9GZ9l?= =?us-ascii?Q?nFB4rLrrhJGOf4=3D?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR04MB1360;6:R2r+6KPeik8d7NDTbI6R17nLf3YXBKE4DaSb8pnZpKWIzocEHiUT7EjyDozubK/2QhlhNqQhSELpItj57St49rRnuYwdYcEvOrJ9IyTysP0bot1ZkCbNT5opQKfU2uft+Knt00wdAnjHBWKlzleSaQlSCtW7pQPO0iEkDOMVJPtMsy041AGa62CbfPZZOHiwfbhCSk/Z7jgcZ2jkr/ji4OgwXV3SP2ZMaiWJjJNiVXthIaUHbFyGSjd4Zre9t+kQn3d3zJjfC/1vXPPXNBFJmUviqhmdfzDn81ayybTsWY/3oGu9ym2q1Pd4zyAQwvtEox7IHaoJDVMAwG5AMSrSVw==;5:FSMgvE273Yn/tqLILK7eQGbROX1zffDMTScx29JRonAZPbvjvAoxeKaGcuJFu6q5yZvb9vv2mzVGZ38mDr6TbgDpWo4xawEK2OMOPOCKRQKuSxAiqjkNvCW4v2LPc3BCxqfEVX2mz0IbOV8oT5TlfQ==;24:Dz5u57diKNVhk+X4Tows33w9dDCv4VQgrlw3u4HSKOm8Nlhmo8zIqpPO2KwnTKz4HGks3J9rmqqCJsgL71b1pdPtWktOTFMO7sGQdKhCtNI=;7:xge3sa2xpRlYz1bYkD11TN2QCjqJJs8QJ3Ue0tfSAEQH9/6QQPpmNAm+Y7jGinsFe97H/V2ejLgci0A6ozS9G7LdW0ktX3D4/hj37buavPqUr6yFeuXfEBfPmlz6Y4Fu355Qh/0Z2VlwiCaduTQ03KxVfvi6RmdKTe6gfta4jK55fbwz69tCd5SQxpCH7nG/JVukGjU2lxt+c4U2EdydhdvykdtsFu3q1JPiKr8JgKU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: adiengineering.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2017 21:11:27.4466 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB1360 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1152 Lines: 30 Hello all, We ran into an issue where the ipmi_ssif and i2c-ismt drivers don't agree on the format for data returned by i2c_smbus_read_block_data() Looking at the traffic on the wire with a beagle analyzer: ----- Packet Details (Values in hex; [S] = Start condition; [P] = Stop condition; * = No Ack) [S] <10:R> 12 1C 01 00 00 80 02 1C 02 8F BE 12 00 25 12 41 01 00 00* [P] ----- Looking at the matching kernel trace: ----- kssif0010-759 [001] .... 1435.891090: smbus_read: i2c-0 a=010 f=0000 c=3 BLOCK_DATA kssif0010-759 [001] .... 1436.202906: smbus_reply: i2c-0 a=010 f=0000 c=3 BLOCK_DATA l=20 [13-12-1c-01-00-00-80-02-1c-02-8f-be-12-00-25-12-41-01-00-00] kssif0010-759 [001] .... 1436.202908: smbus_result: i2c-0 a=010 f=0000 c=3 BLOCK_DATA rd res=0 ----- So basically the byte count already precedes the data in the dma_buffer, then the driver sticks desc->rxbytes in front of this resulting in the trace above. The first patch tackles this. The second patch in the series adds a sanity check on the byte count supplied by the slave device. This might be a nice to have, but is probably less critical. -Steve