From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752188AbdGQVQr (ORCPT ); Mon, 17 Jul 2017 17:16:47 -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 S1751510AbdGQVMx (ORCPT ); Mon, 17 Jul 2017 17:12:53 -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 29/38] x86, drm, fbdev: Do not specify encrypted memory for video mappings Date: Mon, 17 Jul 2017 16:10:26 -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: 69ecb574-5a6f-4ba4-6831-08d4cd58923b 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:EJjVuMUoRREtoQA1Du82t9vy250AMop6u+RAGixGwEQPMxyjUh+9noNinx4EGUvgNF7jLvNqzwTYv8KvP5NyJ/bmNA6z/huiSVr0XqAZQtQSt5u2D+AbZYZyPtxN6DY2IokXq3wfrBkCdzjdAFPsLMfz91Hz5GAdg67q4y4Y56O2tiqWJLY7O4oMbT+2fkEITjS15fQiu/vnbyxhL2VYBvhirbSr5f1oIGZq964vK8r5C8T15SbAXOiqIMOukzfBA0Y33hnQn/rPsy+7unlh3VfdXrD0L9sQw7P9347HINIPzSw/Pf1+nlkdSAYmM/eo6UYGAqVV7GD2iWOwTmcs87FvouB1N5rQl8QZ4Nbqzrc6ydZuUmGIvSTaG78RAyxjaA7KLS2OxrOhVFbT912J+GPe4R2RApHq4H2J6XjCMm4LcY5FTzpRTFaCPriryPoSKgP6kpKj2acCtoXYRjc4y9rSEZqfrUqrulIznv0CLIdSML7G2mPhTFWS+K6AYKcgRtZhBOUxNw4g+1LY682OEV2rQJoxoQ8jHFFzMwrcvVxlmoEGY/0UVH4s22hiTd4W8Qf0nbAkYjHvQNciQOfiPJM/bCAWmZJw6ePbSzwdCY0GqIVA0KdDt4oyGBZhCnWTa+s3xEDxfE5Ue0tF3DgmtTpYN1PtUbXZbDpGkIaWED5WsUr2RdsJviACFiYompemVh/g9jQjHXbsN/KDe7J/p6GunvXPYx1GMMBDe4Z+Oa+mZyaueLYNClSH2VHdO5RdF8zidAa+K/Jugx6ZvMJGfw== X-MS-TrafficTypeDiagnostic: MWHPR12MB1151: X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;25:ZNdZ8yMF2NSamSZxROqSQ6Ynt7qfvpTuqjz10iIPzWdWcmXWpVKrWkge+n52Ph6JAL/XrHIQ1yk8/uPgqIqzeb0lhXucLx6EFegpuvIaejzZVJnxOi53hGZvf+gQCahtnhXQw9bf0Kx+rDG5mBsiWmdBLy3SQdpwkF6MpPiIJDTYkihIL/9WNhZizQUKQBNKkfqSPEAdXUmAd9MRXcWFlR/GP8r6ujkuIL3dEdSLfaODe3J6nGn9OPL5SkpRBZH8ofux15XtTJ8ioGqKvWWhS8qk4N3x1QbCVZhf4ERj4hLvRkDCqrWGQ+Qn+/e146iKfA1V35lxGKt9n4tTmhpVRP0bipRmC5xh0ocaJFH3Ewk1BtzhvcInLLAS3k0YxmlORq9YVR9HAPqLT8gmTynrU3EQBDf87HDMvLoLv6EQZO1CB5OwrIu+ed1z4Jo+Tcvyobh0+JUbjcX2uKoUqzhMeCGe1VXMqxn/paHHxejcMqPCXRUJlk62yaFx3MVKLalHFEFwhn2ZypiI1SRH9FgOEeUsDv4t9Cl+w4M2+Rh9TbkZeNqav7h+1YwP7rC90Aqxb/UhKK9qiGQbZ2lZpVODnhnYpyDl9oBKJcqGEd4ActbuA98K5dNcnGTea9WLMGX2jBcbTyDaauNlWB5iPIRFfiM1urJC16lo45xSBQ7441TG3XY+v8oN1hDnMytJbmUT2fMCkeNqSyzG535B9KiISs5gp4AFb2bDlKTWC5i5P0HW5GcINMWTXj0IFBgNlTUVh0CTu+WLoLoJLXSsyUvyl44gVWRKSS94BSPkyvwkGOx+cOHWLoiW/Fl8mYJkVbgsFNEt1Fm/lTRllIYA5y7DiZR5rIf+wjlD5ckj39ozqkUX7lTJ5M7yB80aMY3H7fSt+Z+4EjaM6Nnz+kURQA27cXGqpDmeLtySa+vR9u7Ym80= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;31:Z9HWqA8OybHlnfv6zdXUElw5mAvVjvcGapWENVZ/KmsDD3JWoqOeUjLCNdu8rCdGsYgtKwFlBtZwE4JkHCsJUddRaGlBcJKJAuZ4GRossuHfC0N799ZggPSikU3d5jNbQSpQekXLXPbkkJpJsmCRPFgmO/yaTAuZ9teASnxhWIywbG3nj+Fjx39dtkAriSzO8VGRBqbvPxzegZOvZH9XEyNn0nnEqtv6OWUTiMi+LOurKDF2mrSRiIMJL/m9le25JAp47lA7wUS3BAgFGDfX3RNfn/pipFb5DVELtFGl99tuquo4tMobfB161F7S7BrUEFdNjSgc+wPIVVIEahMbUiB+N4c9EaZEsbIX0RI6F77PYVmMtTEyghsRyL/+9GmzHDw4rra8nkQqfhIxdUgplFPC0NcIDHyuhBcO84fUUXZaIEyMLyoNj9Knl5YZFz95Qpzjw/j4Rz+zkcYFc5baU0oa5V7cby70I98qRkKHHDOADkWOtBSZOLaS/+QHWOa4BdT/8FEyCVUVUIwhKnJ/FxxwDWpljCNvIQLelBHnsfT1uFO9zFZ0GRJKAOkG/ToFpQkRt7WTvYkRPj3lTD+7UrYN5LUwGBpWZaWt2snoXjTqULVnv0RdS5+1+K9RzeSWk1heTzL0wsJcXS0FhSi08JeyuHEcK8WUXgq2Z3lqD5w= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;20:NnVQGi72K5SkH2dygk5/t+4vtcbPnjBS5CScv/4jrfyaG8WpT6h2BLyYFya21+eKO1ViWBDmysUgj1iSfNu4bINtt8GBFOq32S/bIOaW6jRKZVuMOds2C/7UoAY8+KHpziHHURXDufE6+Es1aG0PiIbqknaNVkSatPJdlsD4syx8FiNrmC+djS/SCKkZJcSxvBLOvbAmXL2Ep/9i9PzVr6u5aLQVQYmVm+6H+aGf0pdS1LeMOG3tCoefk6tuo+s2ByG/0zuWlIvg3YwVK+D6Uoa2yOKFNhFG7wMX/nei8WY2vbRUSL48ZxMqdXwgdEkkl4QrlTyJfczsTECILJcbSrjepH7kiGjvoBLZovNdWaQ5fTwFDrjSG3S9s9Ug4PDwEb3cQh+EDYKLwRZJczznqUzbtIG1wU6forUOh8eV0ZffYJHWfOSh+75ow6Z07sxeB/tsmOrcwQ57vpew8EE9CAhAqMOJaOlcDjBlAhN2wabjVpMrqGk7kfHOWgt/aiII 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:W57dG2HW2GesT4lw4ZbRCmo/1WsRRj2hq8PY0TiKo5?= =?us-ascii?Q?w3F1P+5a4asEZr3kvqHMLhy5I9Ai1MxPQQb7KiXUHu6hbZ1gOQ9taxE5JFqp?= =?us-ascii?Q?ptXAl+8BipNTWOhFUqmuKR9yOOpzlr+O1nTsuMDb5oXhMnPTNCz+/xW2xCvM?= =?us-ascii?Q?TBLItrxnozeLKRqa+80w1aWyG+aUYx610QQOwVfoPtdu5mpmXzP+pqR0Lpmj?= =?us-ascii?Q?BJmZVcH62P51BUhUZHeDPJQ3ShgcVyhb/veXo3rZg1OnXx0D9/fJvnZhoeOM?= =?us-ascii?Q?+V0EmT+FnC73aZgUdWij+zvEF6ODDZ68QmkuKnkL3uAiYVR5lPhT8c3+x/an?= =?us-ascii?Q?dqsjWuEJA8QLgIYkAn/Fjkg1u110Gb1IsSK1OMtIhNKbpuE9Y6g+JYf5PE3P?= =?us-ascii?Q?sBoStZ17w15sGCwM9SGO8HFF6P4MkG4HV5tQeTNIW5pPsoyQ6Asj1WTCxDkd?= =?us-ascii?Q?xuxuEWx7hTT8Ssfhd5h4A8aKZEDd6Bv71QPm/hX7AGOZftJp3wDFWIpJhxqu?= =?us-ascii?Q?or+SfGBMMp6aWDfGxBjgODbNIkvNxQbWzkyDejUSUcsYlirQ2ldkJcDrQUGX?= =?us-ascii?Q?dujxXt4JVOtXHMgjTJpk4YZz4zQx4I8oesR/yfOjMiNglMjRIYluLfwrYmy+?= =?us-ascii?Q?Gpgg81oXFppu+hCP9nNBOvOSuZmhi6JOSiTbAyVNaxrjyF4k57MjNSnDFIyE?= =?us-ascii?Q?r0XVfSrd1PEh0GQhjxLFKhMVb3wkTd0+f2OKfTX75jb2xUPmzW7dzOEJvbSN?= =?us-ascii?Q?6Y4+LikOBBJjphfA9QOCi3EmPo4UwzGvHSNFbn9jn/I8Wo5J7eSZfZHiDCvu?= =?us-ascii?Q?Y7dZGj2yxEfoQXuieffEebBVn1szpkVHQFbGLsMzMdew9MEHxjzmU1T2yrAP?= =?us-ascii?Q?XYawawRtYAHkKHu6Y8eeQqT0HHHLIIt2Anii5+8SXF0Ho7kKERo0etoVz9i+?= =?us-ascii?Q?KZX185W9G0U0LglfLutS8Fonv03g4rN5ZC0W9s/USuUWpr+sr3LRwvOR1SZd?= =?us-ascii?Q?te2tiqGee84BRJ8r4FOIjmkX3tl89pwz3uAzFN83bHRKI9UJsmuMid4200oo?= =?us-ascii?Q?vD7fUYBG87mX4jhVterlsv8Y/rGgQeDPaiCDMVHrWrUmNaQVk8jNgVbHT8Hk?= =?us-ascii?Q?3feCqrfc7Sh0yP6vkzv0HWItvmAEn9IDLZVo42NmmPG2oI4jZgFyjRJOGHA0?= =?us-ascii?Q?xjJ6QBaKyKpfNYkj3B0Sxgm5pSGlcjrhoa+DBAeXQVBeGQWMLAdiltDZWlJa?= =?us-ascii?Q?H3aYR2nKhuMgjdzy66YSZPNZSVqc+B7jyUR5AOf1ENRnk2Mdqc/USmHGSdmg?= =?us-ascii?Q?=3D=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:iVwlyZz5/v4gViAg3qZQuU8a47IukE9mRdEGl98lh?= =?us-ascii?Q?8DBb2wNlKBpB0/LG51/SSPGMRVT8AaExoGIPxFTnd7QjdruQKTVwDyPkxams?= =?us-ascii?Q?dqNTaqcA/ZBcmnanE0imvud/Ol20h1f5l96aaL0KZrQMJvSfDIKn/xyCWI9G?= =?us-ascii?Q?+9leE/oKvcGSpDUBjYQvB/9cGEIKFw2UeiNHHWv0igkssWFKiujAV7pNZTHe?= =?us-ascii?Q?B+HErIlofoxOSL524TKySEACbTh3oggOBBRYyEDXD/TrOtoV7ZPRooCi7mgW?= =?us-ascii?Q?rP4cJOTxNNnGiCCjolXWzvCWF4OHO1a6UBfq5iGm0WM1vjsIoFUixq+nTLew?= =?us-ascii?Q?BG09Su4gqH5VleVsEGVv+sdzMpsrjlHHYQNfPaqOroIyEV8yU28pBic4QOne?= =?us-ascii?Q?olsy9Mn9uvyV919rpZmHFCRC6tjHwdPHHgiHEz9PGHzk+n0bWn2gWTRE0/Gq?= =?us-ascii?Q?vB/Y7R1zD1DYtvwEuZKfNS9EGiiNTDl76pQl1ylsigkPfy+bpeKjc6DA5vuy?= =?us-ascii?Q?fdRZzzZwSTEcpLjigr/Vk6uJCrbgLWr8eyHPoA7nC+NWVcXdOmgULAjXKKZQ?= =?us-ascii?Q?B0n3i5MxglxlBmaFTbBXFKNGnK3ZVPsDtUSB7+ftuTAqezmyEnP51I7NGGtH?= =?us-ascii?Q?1fEujgmfRQXwO5zBGEn4Gft5i4UCRh6bUaudVWztrUJRBPcnajRd1GrjoXy9?= =?us-ascii?Q?AFiNgvyCsUSxBVUV3r/CoxLWK4P3HQw7KJQPw7LQwmpn3A6sI0MOU4RXkoDM?= =?us-ascii?Q?/c53rgr0iKVU8M31ydg68ExTLaF3QR51cFDbvtjkbDbKzNuYlzLrHsn9Id7U?= =?us-ascii?Q?4WG5PJ6UUoQG5UgaJQUNCYddw+2ToptYHbrO8Oh09n4Np170LU+gBp6QMXP6?= =?us-ascii?Q?fVGDwQzL512uwOL2y6fuldcVfg+IDBG6531HyZLe617J5okIZuOZjxlnuaiG?= =?us-ascii?Q?QN4LtL12VzLr0UxRGa66Db36ZQmnQ9Jg2LOSunh04CeUHGIZmJrKeuTg6KO7?= =?us-ascii?Q?NBv7VMh5esIBVHtHTX8cDs3k/cadaXNAibLaJAjuBBklt+GxMnqOu/93R3jA?= =?us-ascii?Q?aBIS1VjwLYHzT77zhmnhJfq3ZA8p0Wnl9We0cUx5iWfV3FGQ1ZQXNT2QAlt9?= =?us-ascii?Q?7DggTMMwrsAlAb+f2QjH3enQ+7ywoKwkcRcIO04fLO6UE4miLWde8iDrV9Ix?= =?us-ascii?Q?bFvfhdXS8nnc/Q=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR12MB1151;6:FeQbprv0Y3hoKovyQfX6qDlTMY3xKzxs/8tQBicl+z?= =?us-ascii?Q?yomJMHMoSRuupW+urpgXL0Ao62Wdxv0d7fxa8vipAjzSMYftZ2ANg00FB9N/?= =?us-ascii?Q?+BhDWidcmueVFZE69QrXmD44tk1Lc0iUhEzfMpkCxZP/hslAPJqUE4jWQZyN?= =?us-ascii?Q?ZzfKTaD1clLev9a61DnrNX4JHNKdX9HsZ8oP/48KmmhFknDRu0hF0ldXWGMF?= =?us-ascii?Q?zZPu+idYxey8+chtfhFKv/+mklSXv54vydzFM4McjEvIO43N7QIJ2vBvaDYe?= =?us-ascii?Q?RC1+RsIvO3NfVQ9FgHo+2UkF5lkYqcu1PZuzljgNv3DOFi+FscHLAfd0NjYo?= =?us-ascii?Q?9oI6ttjoQV+TOUQTwA6KbxLW4eHxchp0Mu2Fb+UhwTaCqTWtow//3/x7Mf3A?= =?us-ascii?Q?/6FQDCq4JgmE26Z6hHIkki7ua2Ck+SK7Xvv41PgmCqYzTEUXz9bRs5Hl5Cvk?= =?us-ascii?Q?TeZet3aTkVvmaIMCgQJR6TCkBSVGm18uvK3bO+k3ow6ubyULjNm+s5ugYOs5?= =?us-ascii?Q?vBQGjn+M7fkboWkXTPyXCkSke/ENkX+uUe3vxO+rZdt1X1YqpT0t0fOa5aa0?= =?us-ascii?Q?Y+m74Sh6Gvg3v6rky6VRjyd3kZr2jpytIJz94WH6C227OvKEx8FNf7gyiiTK?= =?us-ascii?Q?U4RCtCRQQJBYj64B7/DTnUhePQYmhB52bSEM9olI+nq3Q5pBdTTZrsXiQLk4?= =?us-ascii?Q?RRKrYhmVDn/WVNzqLWo7i/p9NLJgvFXFBQPSbb3ix6/12miFqyKNpsbWPd0x?= =?us-ascii?Q?ArDNSx8PYnqJTlogLNZ8ILxV+3MFOfcJVo28BvcsAK9Hq36VOnfAt9aGWiAE?= =?us-ascii?Q?1mWiP3I4hgsavICD4F45Ae4GzUjffCIDBSRipGSdDatG8a+iANIMu7WFbS14?= =?us-ascii?Q?CWduKwVFd4HQEWMD+byYpIxPVRifN7FoC8wfkyYX3c4WEfRIap2jeMpVuQVq?= =?us-ascii?Q?PF1gs7iWOIh3TcI8BHM6mPHl9jT8EhX7gLc/C3u8HmH4VIr8gcb4Yz8brt57?= =?us-ascii?Q?6a6ssaCMambsf3T/SMvvBq?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;5:yE428WOUYFDbe9AiBGYby86IGVZeR11JKQ5rdtRUvcf3cLYLV6lR72laLminY9fHgA0w7zUKVYvh0PYwtBo7Q+yi0hZy1nqjT+Ws+zPOpVKYCeyaIWj4nbRejUVRUxbuSPxls3g9pfvh7DcWUXBJdcZyyPpgp/lCEH2Pw55P03PxJg8TPIMjyuiJyb3DlgpcJvTmBbHfwJAUWs7izSjZg407IhercLc4/6qgMnSzzRIacPDAYmUCIDVv2j0WQY5hbx4QrnxT4QQbB1Hz0THtu8Ii1R0QjGDkrZ7gKuTbjFJmMovWJwOtHwU7fX7S2YQAjX6R3nxn6TcaSv0USfBDO1lrt5lYsNRuO7ufFwo5vkuQFTZGPnl5K+88wc6+smWsghkAXZqk85hFgwWr0sIH+21ZipxZXsfalPCl8iAY4/yzgbiBB3KpQq4YYl5aaod1qFE+82CEvffxWyTlz7dXPBJAuiT9nlP6K95/cQ9C2rBS0inNeqw+t9ESsCUjhcBM;24:0Kv9KrwVyA/hciDRrnhDskc/lrtD24wZ/P3iV1XtUAoZj29EGYpK/LMQC+NAxc4mWdp4oqmv9OGtSAz9cy1Y7ISOXCgwuMAIxGgiA50fXFk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;7:pAs9U/HCTHJ6hGytUQ6uj12LqucGmmyDvwZL5QWVHb/GFhWQ7q8LDz6dbnd/MTUWy3QV1+B9cJ6yIo1i+ZpBlzn2mPT4zTj2MIqrBOJ9BdVMdXehX7Ky60GnkdHnyMULOzmwxXh/cGwOfLpgKhhNAYXcIumSSkFGmCSnF4JS8AT1kMbMPfP2lJA0ACoVXcQnjuHbETb4cnYp/HS0LS/cvDvp7+VRDw5JdEXStZTz3phRWFxSvUJP+KXUiZ5g0EoHjJF2czqgHSeYP3xOvXGElkcPRzmPpbpQ7yc+SX8FpQq9Ry8d0jPPCo8tzV/5Z520qNr165NAugkwQ6oU6LHcH56XuSJTo8LuHcrivqVND/npoR9PROGDsAvha/M05hqorwSwobyzfLlo4YQW9kJMOkkBrrSY0JHI8v6Xsf0dYpwCr7A1nwI62dfyEY76pYjKyOgNPYopDc7gwYw2SehmD8kmLGG8EhmCVcAljNbztGmNsVf4I5hzegY/WtmzbTlmZnnK/iVi5ldOIuirYcWRu5U6zTh3VsKMWEAj2+1SOUT+woHcU/HEZe5mwHWo/r7oupJsB3OKrvbrA9TZgk7frdaxzsIXDCrdC5yt1d3PHARWKAL1g5zKuGu6qdRhmorRPOuJ8hLwBWiU7mSTG0nOUpv4ihoatZb3C5hH4DivRR/e+SjKXe1ljHdLYkmfU0lnDZST7Qkj/rOUDsvKS5z6DiPfkNDeCjdxjtl00dXmPan1ANgrozLsYsgx86G5iueXsu7bGKB24VI/820cFVeRW9EWaeZ7GGfpsun9SRbFSrI= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;20:uLXiCvgXte7myx98cEUw2HR/0CuxKdN8RZvXuE5KTD8eRiUECf7tOC+9oEXEULmP1vgfvgxBNheP66tb5rTVQfdLGyojhvPSz8zd0D1cZRraJBVKeqP9VLL/NNWPcLhiMJwCplqLWTIIf6rvFkPuH0c5fdG9o635O3OcDtEU2sAYSIIKvsQ4FyuJB9xfrmjJxb3Ngl6ZQO9/Z/xxg51GrEkLBNPRQx5muJit3ty7wsNe2/r13IJgl4QFQS14ECpE X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2017 21:12:42.5716 (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 Since video memory needs to be accessed decrypted, be sure that the memory encryption mask is not set for the video ranges. Reviewed-by: Borislav Petkov Signed-off-by: Tom Lendacky --- arch/x86/include/asm/vga.h | 14 +++++++++++++- arch/x86/mm/pageattr.c | 2 ++ drivers/gpu/drm/drm_gem.c | 2 ++ drivers/gpu/drm/drm_vm.c | 4 ++++ drivers/gpu/drm/ttm/ttm_bo_vm.c | 7 +++++-- drivers/gpu/drm/udl/udl_fb.c | 4 ++++ drivers/video/fbdev/core/fbmem.c | 12 ++++++++++++ 7 files changed, 42 insertions(+), 3 deletions(-) diff --git a/arch/x86/include/asm/vga.h b/arch/x86/include/asm/vga.h index c4b9dc2..9f42bee 100644 --- a/arch/x86/include/asm/vga.h +++ b/arch/x86/include/asm/vga.h @@ -7,12 +7,24 @@ #ifndef _ASM_X86_VGA_H #define _ASM_X86_VGA_H +#include + /* * On the PC, we can just recalculate addresses and then * access the videoram directly without any black magic. + * To support memory encryption however, we need to access + * the videoram as decrypted memory. */ -#define VGA_MAP_MEM(x, s) (unsigned long)phys_to_virt(x) +#define VGA_MAP_MEM(x, s) \ +({ \ + unsigned long start = (unsigned long)phys_to_virt(x); \ + \ + if (IS_ENABLED(CONFIG_AMD_MEM_ENCRYPT)) \ + set_memory_decrypted(start, (s) >> PAGE_SHIFT); \ + \ + start; \ +}) #define vga_readb(x) (*(x)) #define vga_writeb(x, y) (*(y) = (x)) diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index 9c8ea12..dfb7d65 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c @@ -1831,11 +1831,13 @@ int set_memory_encrypted(unsigned long addr, int numpages) { return __set_memory_enc_dec(addr, numpages, true); } +EXPORT_SYMBOL_GPL(set_memory_encrypted); int set_memory_decrypted(unsigned long addr, int numpages) { return __set_memory_enc_dec(addr, numpages, false); } +EXPORT_SYMBOL_GPL(set_memory_decrypted); int set_pages_uc(struct page *page, int numpages) { diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c index 8dc1106..7a61a07 100644 --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -928,6 +929,7 @@ int drm_gem_mmap_obj(struct drm_gem_object *obj, unsigned long obj_size, vma->vm_ops = dev->driver->gem_vm_ops; vma->vm_private_data = obj; vma->vm_page_prot = pgprot_writecombine(vm_get_page_prot(vma->vm_flags)); + vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot); /* Take a ref for this mapping of the object, so that the fault * handler can dereference the mmap offset's pointer to the object. diff --git a/drivers/gpu/drm/drm_vm.c b/drivers/gpu/drm/drm_vm.c index 1170b32..ed4bcbf 100644 --- a/drivers/gpu/drm/drm_vm.c +++ b/drivers/gpu/drm/drm_vm.c @@ -40,6 +40,7 @@ #include #include #endif +#include #include #include "drm_internal.h" #include "drm_legacy.h" @@ -58,6 +59,9 @@ static pgprot_t drm_io_prot(struct drm_local_map *map, { pgprot_t tmp = vm_get_page_prot(vma->vm_flags); + /* We don't want graphics memory to be mapped encrypted */ + tmp = pgprot_decrypted(tmp); + #if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) if (map->type == _DRM_REGISTERS && !(map->flags & _DRM_WRITE_COMBINING)) tmp = pgprot_noncached(tmp); diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c index b442d12..84fb009 100644 --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c @@ -39,6 +39,7 @@ #include #include #include +#include #define TTM_BO_VM_NUM_PREFAULT 16 @@ -230,9 +231,11 @@ static int ttm_bo_vm_fault(struct vm_fault *vmf) * first page. */ for (i = 0; i < TTM_BO_VM_NUM_PREFAULT; ++i) { - if (bo->mem.bus.is_iomem) + if (bo->mem.bus.is_iomem) { + /* Iomem should not be marked encrypted */ + cvma.vm_page_prot = pgprot_decrypted(cvma.vm_page_prot); pfn = bdev->driver->io_mem_pfn(bo, page_offset); - else { + } else { page = ttm->pages[page_offset]; if (unlikely(!page && i == 0)) { retval = VM_FAULT_OOM; diff --git a/drivers/gpu/drm/udl/udl_fb.c b/drivers/gpu/drm/udl/udl_fb.c index 4a65003..92e1690 100644 --- a/drivers/gpu/drm/udl/udl_fb.c +++ b/drivers/gpu/drm/udl/udl_fb.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -169,6 +170,9 @@ static int udl_fb_mmap(struct fb_info *info, struct vm_area_struct *vma) pr_notice("mmap() framebuffer addr:%lu size:%lu\n", pos, size); + /* We don't want the framebuffer to be mapped encrypted */ + vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot); + while (size > 0) { page = vmalloc_to_pfn((void *)pos); if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 7a42238..25e862c 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -32,6 +32,7 @@ #include #include #include +#include #include @@ -1396,6 +1397,12 @@ static long fb_compat_ioctl(struct file *file, unsigned int cmd, mutex_lock(&info->mm_lock); if (fb->fb_mmap) { int res; + + /* + * The framebuffer needs to be accessed decrypted, be sure + * SME protection is removed ahead of the call + */ + vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot); res = fb->fb_mmap(info, vma); mutex_unlock(&info->mm_lock); return res; @@ -1421,6 +1428,11 @@ static long fb_compat_ioctl(struct file *file, unsigned int cmd, mutex_unlock(&info->mm_lock); vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); + /* + * The framebuffer needs to be accessed decrypted, be sure + * SME protection is removed + */ + vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot); fb_pgprotect(file, vma, start); return vm_iomap_memory(vma, start, len); -- 1.9.1