From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752191AbdGQVMt (ORCPT ); Mon, 17 Jul 2017 17:12:49 -0400 Received: from mail-bn3nam01on0058.outbound.protection.outlook.com ([104.47.33.58]:39086 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752095AbdGQVMd (ORCPT ); Mon, 17 Jul 2017 17:12:33 -0400 Authentication-Results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=amd.com; From: Tom Lendacky To: x86@kernel.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-efi@vger.kernel.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, kvm@vger.kernel.org, kasan-dev@googlegroups.com Cc: =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Arnd Bergmann , Jonathan Corbet , Matt Fleming , Konrad Rzeszutek Wilk , Andrey Ryabinin , Ingo Molnar , Borislav Petkov , Andy Lutomirski , "H. Peter Anvin" , Paolo Bonzini , Alexander Potapenko , Thomas Gleixner , Dmitry Vyukov , Rik van Riel , Larry Woodman , Dave Young , Toshimitsu Kani , "Michael S. Tsirkin" , Brijesh Singh Subject: [PATCH v10 25/38] swiotlb: Add warnings for use of bounce buffers with SME Date: Mon, 17 Jul 2017 16:10:22 -0500 Message-Id: X-Mailer: git-send-email 1.9.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BN6PR03CA0008.namprd03.prod.outlook.com (10.168.230.146) To MWHPR12MB1151.namprd12.prod.outlook.com (10.169.204.15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 70ce8e6f-5f5a-4b77-926a-08d4cd5888a5 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:MWHPR12MB1151; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;3:VfL0v0exNwPsH0LgUcnS4e9+JC0iwiyjop9XPQaQijcU/YG1ehawpPxfyARbP1VhSF5cjHj3WLezhkM2lHzAR8nnlsRBJ5zi9/B2AjUPmhP7GRt2nWesUmUSJrtGvs2Mgt9x+QQOArKkCTHjd4sgX9UfwuU7ZI65sw5ERwxchWENIajbfIeROg8gfTjYuY1A6cxwTncwaTI2+YiiOXOmCmCaY2VZPuxob0j9vYy79YN+InNXDaFymX/QR2w8y1+IGS5/3SnzDr8uTK4dCc9r+3/MreJ+QtMMpTpuLXh7YNXHHuZnTfoRAFAaeXfmE5sy9uW9PXtiaR4OK8xgknzZKNFooIhHr3iFveJS66eZJOWWVorkDXpAc5WvJrBIJ0qVavYlqRlAf/V9Gd6RqJ2cuGOQrxIKlDKtuwWk4Kn7AX0dtr9NW98ULUvMXUnS7fhxfWFHpK/a/Ce0uGw7wNOB7/jBpAkJdthKsyMSKqv2jJnEZUBlsh3yxpVHTarPduOVWfv+ZSMyTS5c7502KN8XcS+V15uqPuuu6gFCF6wwXmJQiPWg9SdCndHlUcRYZXlhDwbbmeD4WoJy7ODp2Sl63A2PgxvZBP022GSzLwIx5IsGPnLip2w5jfsKo1epE3rof/cmGolgx0pF4Wv9AcAnyviRLdkUM/TLIJZqicm3sPsh7pD4LDpKPoESB2U1PZ1EpS7ONxeiGvjxokxSNYxTHJTsRYCS+uoEvYa3l/uGJJxYAqn64EBKSEJMr1rudBZZbaZ8EGEE7pdYrZPcoCrrGQ== X-MS-TrafficTypeDiagnostic: MWHPR12MB1151: X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;25:+lxxt9nEa3PYY0cfuc4oBW/Jy239bC9qUA0uQc7vGpjW8oQpr4xv4x4ITq83U30BGjctUL5nClYGBlCLYcQlEbKPJh5hYESVOyDxZL5ybTbWMlbUQb3UeVGZB2YgA2SRqLg3TlSSjzlGyjYhnnAvYjEhWA56U1P9rMZcll8MiDCWslC36qX4bj9gXE6B92ev7rN4MHzVx7+IAxZVcA7hckvg4NVXu3HM+qwB8y56KWQsD3kpDE48p19YmFpBQQabuQBh9cO8w7WU8foy7cEvFKMrDF7B5YU6pSygFW95M+GImWtNSoawYnXu4DSwBhesmrXhkRIYkSr0OX6iNHLFOAqLedNbPVDOO5vbOSdoh+E0Y2ZVZRFizutkV+teahAu8AxmJtkFYCaNWcVgXA9dXIYNmNGNF0kjRNaEg2AqsefSlttnb8LZYt3GVV+09wt50m/f3/d+hUL0UrCYlxVWMLZ7qXOYyhLq+82rjbqttDwplxNo8mM/oTEKdpzj5oVl0aaNrX55Qg5cbQyhvQT/h+WePPJbvbskPDYXtqxDT0M1vroWdruQh+WdJr4Um2/YVTT6rOVHFqxES/mYDat3S7krjXzNMupllMJZQFw5V0bN40xrt2X25Pt8/liPalwQ66Fefxw8fapeCDrGDWinR0rOyMsjorcF5gkouv6G8TI7U8LQ+2HpYeyolHo2fBm9HCYwR3J9yVy+8HUEClLat5pd7HmK3CkJ9FhdXJX5Wwd9RBXO8qB3lEyfJzJzOeP8EGKmmtTpOj6IcfvVgBUBPgyjeZsisFnqWevOl1sjiCwgQSUa87V57ejsZKpHoVwYWiyn39vNgGliaTSNI++XtlpjbgqqKrrXKH+MK4jkooyEfufhIY8KalhZGEkXygsKM3fE12192pLk021CsFo2LQPfDILnxb+i/zpyNzWgd1o= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;31:pA5YQgTKCE373nojxS8cTxxa7hNs1kZAX4459rN5qQs1Xz7LXk4sDGzyIFxCu74LAksEenSzy6e6khwVwMVdLwkmAeW0ScxXB6wdoXOYGobwKd9h7o08Wl/kL55VGtO0Z7HmLqIQBZ3Y7AMK5IbzNOHiN0lpqikNEWh5m2Z2WpEsSshdWg1U5d+H2/kRZk56lNpJT3upeohTcYIPlkpA7nEVP9VClEtZyaNTSaOvlkshqXC5hqSx9jvi/1MBOw7ROm8LPOHRNSelRwdwrcZwSMVJQlMk1EKhvEkiupMnzaIKPsep7YuJ/cweH1q06QGXPldQx7bIgXbtGYTQ73V76eijJdd61f+ugN3gJb6mAjLjGJ/SBdx4gqwNpXAGUPvEdSeyUZukKC0dFOgLi2/WraZwRSaRjXhsnST6krqwDUTAp8RzF1fYnW6X7U/gd7o6SOtz5w4ITZCu6oDJfXaXjYzb2StSOmgUIETruqsJH+xrq5u2H1i1H7zoLQe34AsZWopfVdtG/aE+17H1HsThRzSe67X0ieFllWAmLblDgDzRRcgXodk+eK5hDwHfRjQ5gS8lkOaBdo/2Xb3md/MHg5DYjyZzPRmBOgaXaIBhNhqwfuNutRUYk72iP7mhbA31QotaTu2jN2U89BoYyWNZ2o8fG0VuDcceLDjNseDc8K0= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;20:YOJZu7KXD7hStkQUhfmHF39yP5fuhmghCe/K0YVxDnVvcE1yrAfoorPiDCNNBZGdRWrNcVJNHfHWcOEzoJ4A2Bk6NQxL03p3JiH99wdpec4x/1gSmZgGdhglhUR+UWCe3f5Symh6T62yl/83J7KVD+m1YeSAO+xi4DT9i9Xf+5xRNBSz/R3LOaggd6R9HAzgOVsi6OPgXE8OxF+hWIfcJoXNBMpuIoc8SOoU/A7b78fYFe8/ZY3D0LJLMVUGB8YvFtnQ5/gO7ApHKNDwlbN3h7C+8e/farYswAtbzSE+xMHyvTGgnaoebiIf7LozXdNRc1EbDa6qoNbyB+O4wbtOgde9ZUbW+3s47Tk/Qhzs17fFTZcR5XcOOTYygr6g2lqt+Bez1s7jl3sBBD8J3AAz8l2W2Zgh2Dp5tK0syg0rIBIaMtKDy4vGxPr412+1Ip6ykEdo/Ik2B4MExXKk7nzcuEk+0ubf3GWY9EM3sKk6v4yZfN5I8LaFyqgW8Gs3ib+R X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(767451399110); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(2017060910075)(5005006)(8121501046)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(20161123558100)(20161123555025)(20161123562025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:MWHPR12MB1151;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:MWHPR12MB1151; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR12MB1151;4:J1M2W5e98sXnzILu3uEqYO4ltAT98eM1vl3V2Z1cxT?= =?us-ascii?Q?/rnr/D4WndmE778rX5/DdW5hCdQ+y5jNSAV2c3hi8LzLpexHyGwRcYEG26GA?= =?us-ascii?Q?ZqzCZLACqzBnIUSvzxkOOGRsH7bwJFL4ltI/uRMKevgWnlamPFmXNXmCFFWj?= =?us-ascii?Q?otcYqsfYMAVXtztWolCreJyEB86utiIyT73rCdpp+je5B/bfx8VZP/sD09fF?= =?us-ascii?Q?fuKN/7vhP2GbD7lNOI3FqVyGq8Ue3AyLJproSt9pfdJw5Ms62EtB3XbAHQWA?= =?us-ascii?Q?CmT/RJHgIyU9T1Plkta0pGxeSkYdHdjyMCCFzCkMaXO3CuLXpQu2ee+4GjSq?= =?us-ascii?Q?Q6dbZcl2d9xG0xR1MckNhs5FHi64ToQp5bE/CD1AeGLDxCK4EE6obeITt6UK?= =?us-ascii?Q?KLUUqC7uash7YNThyXg/0wnropWPfPJa24mGGdiEPdpa+fqV//z41laN0r/Y?= =?us-ascii?Q?uTWFzjAOi6VOvERWZdN50Oo20QhbuOSNsExOIWhXG5ZGbVtH/aUH5rdJVs6O?= =?us-ascii?Q?thh9RMaUDyl+Vbn8ex7EM32umQ8105DvKanIeoUnGQg3G7FSnt13FVLknMCW?= =?us-ascii?Q?WWS/WltELKvg6tFeZ4K4gip09oxLERJNlgALcwvTy3Re23mU52DRzNUvdqW+?= =?us-ascii?Q?YDwkrepd1o6x4Ky3Rf/QhV8+TV0tWvLFEiJMHsozY7yq3wW9HztxY1oa0dj+?= =?us-ascii?Q?8qdbeykXbsZgny3Hz87XDLeCoPNhmtHh/fwxOjHJ4Qpz6jAd8uoXHp9G87qO?= =?us-ascii?Q?vn03y84QMQbAuw+6/uOdqJMRNpqs8M6NyQpniMfqr0CfZ/q6m7TFWPcz2enp?= =?us-ascii?Q?JOayig6BmLQiZPDz+KjRdGD4l8Z9EG+zEVWTXjVSxYacuP64yndmIcZ9vpVL?= =?us-ascii?Q?bhLrR7kbfC6bM65IdDh4unSLywlqv7PoEonkccTqjAYt1xBfC6bskFMFUL7W?= =?us-ascii?Q?e3FvOIsECDF0kwSdO8reipc7MHRq2E7k5MZRdVhUMDHR16fpydftkryDL6Ll?= =?us-ascii?Q?a2sdaRR5qWaeoQrtNJIjN1rJoQw6P/VT8BtQZSQGHp/uwnWpV6TGqMmb+ZDV?= =?us-ascii?Q?qtZi0hDU78lNicHJkjNGKQFzuImCFozGFTHhbfEywRrsleDCkGj0/4M5MFuP?= =?us-ascii?Q?ae+HrQTAGA/TKF9j4qiISH1bfvXxtwVM3nI/ul7UOCY2GRWWSqYgrdkYoE+J?= =?us-ascii?Q?wEZd54errH41q1tDavpyjcw3xy9huu32HuZs8lX15+Q1sLJHTL5a9mNlpL1C?= =?us-ascii?Q?5PezVgxS6/fXQbvn8IKXtopjUho/uT1MWTJIr39OL1OcXqRqx78JjZk2hJaF?= =?us-ascii?Q?LixUA2/3mrf+glLN9GII4=3D?= X-Forefront-PRVS: 0371762FE7 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(7370300001)(6009001)(39410400002)(39850400002)(39840400002)(39860400002)(39400400002)(39450400003)(25786009)(6506006)(33646002)(54906002)(7416002)(76176999)(478600001)(8676002)(50986999)(6486002)(47776003)(5660300001)(189998001)(42186005)(38730400002)(305945005)(72206003)(53416004)(66066001)(50466002)(48376002)(110136004)(118296001)(2950100002)(81166006)(5003940100001)(3846002)(6666003)(36756003)(53936002)(7350300001)(6512007)(2906002)(7736002)(6116002)(86362001)(4326008)(50226002);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR12MB1151;H:tlendack-t1.amdoffice.net;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR12MB1151;23:nkqoUqImsBiNXr2x4ew5A0vVYAq1Ki+PAivU4Mv6y?= =?us-ascii?Q?YnnOQB9QN12SXdVBKJWBYU8iwtcmLVIkaNAJQvynw88yNjxoUyaGGnGyVFXG?= =?us-ascii?Q?TUXTF80p1jTyUomYxDuBpsmIMJ8aWItaYuY8fPm/SW1RAKHegkvYhCOZtwKY?= =?us-ascii?Q?HiBLm9fnFA3uXfRKoWUTlIqbCUOsiXnjFxE1DvEL1KfhnmVA0a0vcRLET0Ey?= =?us-ascii?Q?F49WuyMIQQ1PCA6Zs6BbaXfZca4K1Eu5MYZIF+VFKB82/ZTe1ly8QK8I0xVh?= =?us-ascii?Q?Jf7BbGnRLucJGnsRXe8Bbeq5N1eLAtyiGptsC2mCtpJODwRDXJ3JiZ3k1quv?= =?us-ascii?Q?jnsit6T3VOL68GwSIJt00Prsju44if88gJduZ+kTA2t5lHKzEztDqbgIubp6?= =?us-ascii?Q?7xeTNNPjbdB4b4Fo1jj/zPmnQK1mCex9Vk7eVS6NFEk2/IZuL6he0dbyY76z?= =?us-ascii?Q?Dy4tH7Nm12H1qmbEq+hbATMdFVdiqSY1MRCYM9Rq0HqydsRtY5hQZhZd8Kbf?= =?us-ascii?Q?XnHhWBIXKgpnmxe2Sb33xqdevixwZTQciwUl3FAfRN42IyY78STcjNzzpTDu?= =?us-ascii?Q?8WkZfCvoY/8JqvKHZvTinKSPLwdFcivXMWbU7Ne+J3GsGyvyJT7DQs04IYTm?= =?us-ascii?Q?hzyWrHdu7k1988XpmBZA4MhoTpdFyP8CSAgQDW/Ckl9ZQsyg80XUd6BfeKgh?= =?us-ascii?Q?Zeoi/7uwaXPVjZ23InoCGLtR9laOdVG4Cdc4pGbdNl7ALJOhGQrBM4iFO0Kk?= =?us-ascii?Q?o9opQV0HaheHxKRNRvoCMJXsAmCWgNHALfy8KLWtAIKRy2oSXFmAnF16rZSR?= =?us-ascii?Q?/egoix4WVaVw3OSVrJOe9dl5rS3todhQWqLsE+eE6lyNsW9FeDJUSVc73KuR?= =?us-ascii?Q?rfu96hcS+591+AmRKURwVMOz/r+3dRxOYRp12TUmzQ/d+U3DsJAMjF2XqIHY?= =?us-ascii?Q?Wdpp81hXFFpULbTA8mErnL0b4+ZAWDlzgqX1UDOCt88VuT93y/YW5nE7Hx9/?= =?us-ascii?Q?jg0ablRkOSA4J5SeHpyyfBJxm2Sr2C8iY5DcJoaGxKGhB6Ibe1rG4ihucYhL?= =?us-ascii?Q?2J45XIzsroEkGRhX3U9UlKJZTCvTIzDVoOyIL+ERtS28eQgGJ6q5e5Dscod9?= =?us-ascii?Q?x0vaYvqLukZGzpqMzTUWdadtp8n9YBlAXQ6j6+js8OG5UREVs7MdhF/hKgpu?= =?us-ascii?Q?KQEUngKUNG9KEo=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR12MB1151;6:8iRdyzQ5ltz1LawXl0JAi788gqkGGoWnPcLQ4YijRI?= =?us-ascii?Q?LfHg+MDEShJWxLIsySutELR9aTRP3c198lU9oH9KR3OTuFBzPScuTAwW/KNx?= =?us-ascii?Q?iFBGQ46u36sRAd+XPkQ3h77WhBsNt1N7js8dmDGK+BcAXQUMdXEujT7EKWZY?= =?us-ascii?Q?qpFuTH+GG+8dAjbRgTWkV30PY/x45k9JIhaBaEOoEzvTdSM/b/cUXG+Ob/dV?= =?us-ascii?Q?sRNXu1qTaC4gb8WHAbjeWiIDPiA/tQUXMIL1EcCf/Srmwd0Nro1Oq+X8veKR?= =?us-ascii?Q?CCq0PE9/oyYKS85QX6lQ0hPqesxrAB7Yx84qs9ln8I+x+Z2cZyOkS+eJEtIt?= =?us-ascii?Q?RcYTc306Fzsc/RVTWejfGLPVN089Pq0O4pEXjuf4P8xdshxY7sGXKq6W73Vv?= =?us-ascii?Q?nBnsysJgEZ1qK64uEuiao5Wwz1RZvMAr3JoMc1m8YHre1iEn7dVVjuzO5bTE?= =?us-ascii?Q?qASYsKAFLeh03lYGWufp8rkPD2kntds0vr7L0z3aalnta3A16yL/jmhKo+VT?= =?us-ascii?Q?PbYE8aTyW03lhw3BqQvuzNlFfz3biT2G3Jvgcb6EXdQoMFUuPhOl/T1Lum0b?= =?us-ascii?Q?LafmqbabXocWwAyUzo1vlU3CPG45lDILjhIuNaMSqW59LqAkTKM02qLUElBY?= =?us-ascii?Q?mRf59pUxGi1uV7zHC3PaTu+MS5oICDpiDtK/k/nEB5rs/A5C15CNcdvDjkVi?= =?us-ascii?Q?bwYCC+ZLuuEUIFTLZxGfdTAYc0q2KFwt/PkDBiBTYoJzKClJj3APC7m1QE2J?= =?us-ascii?Q?BCPXyvnZQbTF9/z88/sjsx3AcVWIzIK3Vu9uMBTURizQAGgVvc940f8aBC9I?= =?us-ascii?Q?oxo0yv8DDqD6RsYNv2J3Px5YJtaUv6F6F08zL7oVYbCvy57UP3LBqb+Kb+HC?= =?us-ascii?Q?bW2guHTnAC/fP/YT1ruhKw2+bdE6bTeKoLOsLxppygTdcX+jfLhir2qFVwZh?= =?us-ascii?Q?VANZxjocaW5q/ozfQ5IhaEf5Kx3CP8MlpiklgPPcxi69PJJf2LdG4SN8IuXm?= =?us-ascii?Q?YtErz1Z+1liYCVOLW4qKfV?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;5:hKewecrw3hiZW2Jc2nWLRMuNWKPMV16lr7lDE/48xXYuzR1n7vfIBmXhqVcV0CnoqbH9U1jbiwdA6BEVggyj5yzp5aYF0H9YZtyOdkdT4cJaG7bJu09qt0kcK0/cqTo0AXzRUcmGU363mkWG3/sNz8lGiPw8Z6gyUjuNpicJM+ItHdB9YpEkMMPp6CgdsyI9Ex8WN5rS63CsyCXwa00M1LzXbA7upm3mLhSy+67LztKLoi1qXx/ew8kq6QOw9BPLL2v8KAqT/ylRptlUWuIB6pNS9pPe866W1Sy26n+LE+rBAyVOuVJ1dHw0f0Q9+wY86vi2o58HlL4PmCxF5mBYpuSuuS+bD3kkI8YrqIwijb+pSqDupKrBXzIicaEwqvZKZvwVdowL2Uf0P27bKtoYA4TbnLA/h5lg73HaV9R5Ca8leQggrxFucaakZVCA+fR94hH+pdLvQ5M5skNKYSFYgmezmpOWQd3zJOcC6iFxCSZ7VhdzuJUkTq2odjDs76QJ;24:oCS64ZKsqcEwNjJNcI3Y82pr43BK7/mk7BtTAAKS5uJazPzx1B1EC+z72p5ud1zguU419XRCowvEz328aRc4M4WVq104rBopQ8yE5pb0XZA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;7:8pT/Bom9/Z9n8zVld/+m8jgn3dXn3I5jihomwzDzaObjw+GbmMb+Baq9T4xgmdypYFDHyDMlVxY2qZr0ezOM5eIOsKF5GED6gm7QMnttKunPozbyyBeFrw96ksPpo/3bepdN5cLc0rhATa+42kxCb/DZHyTkExFqNJweQTfUj2RQf3uaeTW17iqnqMKmIt4hUXqo3QAuVeZSlFAsR5v3NpA1yBjFr6tWSVZ+PG5HeXQAFTxd+8DlYteXS5ha7gT6kvX8cOajJATGKZ/hIsb9fVYlUZUAfsVUgA28rlJT+v7Gj1eBNbmeV6WJS3SM+QqB53svI/S1ev0645qujmG46RnqeidrXCVx6IHbCEsD4S+vNvysU4YDZt8nXSeP0VNw08fF8ySCegsCJkD6tOLDNUUqslY1DtKoiLhjth3+0z4C7kpdfLhZG0JjNgf0m0IWT9cu4bnekIc4YkeGBduLjQ1Bj6zl29QgQ8wKKcOlLYhSKT22N74YFrRvZp98PZO+8socIyR27ofa19p2P0RBX2MZILxe55vqFukMPAsSTt85lGZgBiU3I+SNMfnr0EP07zsgS/FgyLOIn24XrWnP0ksLV3FiOkcMgjQrzBFo8i7oHLX3prPcWg441gX5XFJBRbUa3bhFM0cnW4614cKNtVz0qbdsCfv5hSquARbRkS1JDKyOdTxBkwNswg0Aao2auayO3j9uI6u5pNT+18aubRRlF1TwK9ACQYGn8Aydjbcw/vFnR5eFEFNeFetYi4ZOHGlmzy1t2gJouX+g4gsyRA9lOw2VT2YGBfKiLQtW0OU= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;20:iA2bqYh07j/kx2qa6h7bkPt8T33RaWBEoYiXBUA5vbCz7o+ifvjWp+0tZ+tZOIloziTUKsXNupDF6gCGXBAGKYx/mkaVtFtCs6fTR98PpllZb+T4a3BBVbAw1kBZbH/ZB5NSeatTLCNT0P3LImrcZJMTs4oO0yJXOkmMHrSxFbwU5vjdBhgRTq5aztfdS/DfaygxtOzImitjCKupGEapmje+e1BkQ3kY/lIxUGpnlikzW+mLP5g9J8NTd36lHJj3 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2017 21:12:26.4882 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1151 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add warnings to let the user know when bounce buffers are being used for DMA when SME is active. Since the bounce buffers are not in encrypted memory, these notifications are to allow the user to determine some appropriate action - if necessary. Actions can range from utilizing an IOMMU, replacing the device with another device that can support 64-bit DMA, ignoring the message if the device isn't used much, etc. Signed-off-by: Tom Lendacky --- include/linux/dma-mapping.h | 13 +++++++++++++ lib/swiotlb.c | 3 +++ 2 files changed, 16 insertions(+) diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h index 843ab86..fce2369 100644 --- a/include/linux/dma-mapping.h +++ b/include/linux/dma-mapping.h @@ -10,6 +10,7 @@ #include #include #include +#include /** * List of possible attributes associated with a DMA mapping. The semantics @@ -548,6 +549,12 @@ static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr) return 0; } +static inline void dma_check_mask(struct device *dev, u64 mask) +{ + if (sme_active() && (mask < (((u64)sme_get_me_mask() << 1) - 1))) + dev_warn(dev, "SME is active, device will require DMA bounce buffers\n"); +} + static inline int dma_supported(struct device *dev, u64 mask) { const struct dma_map_ops *ops = get_dma_ops(dev); @@ -564,6 +571,9 @@ static inline int dma_set_mask(struct device *dev, u64 mask) { if (!dev->dma_mask || !dma_supported(dev, mask)) return -EIO; + + dma_check_mask(dev, mask); + *dev->dma_mask = mask; return 0; } @@ -583,6 +593,9 @@ static inline int dma_set_coherent_mask(struct device *dev, u64 mask) { if (!dma_supported(dev, mask)) return -EIO; + + dma_check_mask(dev, mask); + dev->coherent_dma_mask = mask; return 0; } diff --git a/lib/swiotlb.c b/lib/swiotlb.c index 04ac91a..8c6c83e 100644 --- a/lib/swiotlb.c +++ b/lib/swiotlb.c @@ -507,6 +507,9 @@ phys_addr_t swiotlb_tbl_map_single(struct device *hwdev, if (no_iotlb_memory) panic("Can not allocate SWIOTLB buffer earlier and can't now provide you with the DMA bounce buffer"); + if (sme_active()) + pr_warn_once("SME is active and system is using DMA bounce buffers\n"); + mask = dma_get_seg_boundary(hwdev); tbl_dma_addr &= mask; -- 1.9.1