From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753181AbdBJMC2 (ORCPT ); Fri, 10 Feb 2017 07:02:28 -0500 Received: from mail-eopbgr20112.outbound.protection.outlook.com ([40.107.2.112]:4468 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751477AbdBJMCT (ORCPT ); Fri, 10 Feb 2017 07:02:19 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=dsafonov@virtuozzo.com; Subject: Re: [PATCH] x86/selftests: add clobbers for int80 on x86_64 To: References: <20170210115239.29256-1-dsafonov@virtuozzo.com> CC: <0x7f454c46@gmail.com>, Shuah Khan , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Andy Lutomirski , Borislav Petkov , , From: Dmitry Safonov Message-ID: <7a66c421-df7a-c3e5-c40d-a04a796cc545@virtuozzo.com> Date: Fri, 10 Feb 2017 14:57:04 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <20170210115239.29256-1-dsafonov@virtuozzo.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR09CA0085.eurprd09.prod.outlook.com (10.174.50.157) To HE1PR0801MB1738.eurprd08.prod.outlook.com (10.168.149.150) X-MS-Office365-Filtering-Correlation-Id: 43ab1249-ef1a-4e2d-f65f-08d451ac750f X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:HE1PR0801MB1738; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1738;3:zno+1MEBzEwFiKc4j7yaMYWh57xJqDCMTyuw0FhvrNp5j6b5a6cdatvt5btDt18vE5vdltqSWIun2aml4s9tJAZ5q3ya6lgnmGll/M7k/RM+Oa+WmG/bJG6p6VYet3mbBRSL/05308kEJhFFj+eC/RJ4gV6+iYUWo55g2qpgb5K/zvK0IV3FLp2QLon3C4m1h8V9gW0D+22r46zD6jq2DsB+2NvAyv8QUu5mnRSPPgmRbAlBvuLl90TAyDpCRjNqQXnps62iNgvdIOUS4sy9DA==;25:NIfIZ19elDa3E+jRhLGjhz9sXHv+6eoQBYby8QIH+FabKBBBrP6ezveZIVGR5hso/sgAiRbQzSiFec2qWJbvCw4rURZYUlh6VIIfoUVBJdbyETVA2sLv32VkvxsI0OVSLqrrdy4uFSULpKRD4iNVITijAIcbq1nY3X45nv792WFDHqBcJDb5xOix4+PDrMuo2mMoy5ROWQ1JuU5X7M1+w3VqIYx9gh9KQVSwkN9bvuSW+YGE0r4TpEdpMrszca3eU5b6BY4KqEYPOhwjNRU/4iCBBK6yZtKDKsA5YGGlHrjmfuFQMauJ4qxIJLkr5lCfSfCdwRpek4jTp30YkJtWI4S1B5mFPP4ovsjeTnPCb1gWkZWSZy4naUylBn0qW09V5Xi1wWQpgFtLuHf+GEWxyTRM9E0a3lp26RUNj6e/f3Y5jAwQ2j8jOnYL4+F+aI5Gb2TfvbqIkydHYYh3C/134w== X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1738;31:xNt2FCsoVf2S+xS9Df5qYZSWUHTBXFGAlxiAifyPNbHwlYE4tnwUJRl4RVegECIhozCv6ldTEjeXNJ9ha4X/nt7HWfWnWatMhIrsb4BcDVJIKnkDZAJiE0KGDEim50xRWTauq1SdK1fJtNGLLnppPe7vrOzSn9VBnVqCIwfGfvKHKIRVkto2/RS9ffkiyq2Oo2JFRLFoBo8iMjXOTuhhWwsV5PHlAvhf2imFWmGp0ifhhdxcuLZj+5niZcZmf7Mk;20:5+oxyONHmMgbzSeDZTsqd4t1ID0dW+jxfk54x7amleey0wA8Wk4a3ICU8fFfHHm9s7jbADcJJv1r6NhD48KLLyxgafHXAePheHCWfUNG5uza4hg596R9SlHT1AltNwtQCjF3prr0DQ1qOSRe19Vhfpf0c8FLoICnlk3oAK2JgVkz/J+Qa5jK0pGdzI9FShPkji52W5B6dNHsqUaYw97l+trYNdxyJSgAqKVWF5NdbAy12I4L6zWAbDWlxJjzx8YNjG9iG2RUt7O958PB30ekiUMQgmUMEeJktOGJBo+oaauqerS4uIgz7I0oxXA19zQHm26sRM+FGMDhUt16jPsEajg9DRFa9E8qYyV1cjFA1258LlNHxxob7uE2dY+VU3vhuIdhCeLUlAsUI7V6zZLY55wQv79bDtCL2KCmeGj44oE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(9452136761055); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123560025)(20161123558025)(20161123562025)(20161123564025)(20161123555025)(6072148);SRVR:HE1PR0801MB1738;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1738; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1738;4:fTQG8u4WroerCPHqTgdennzmUwfwC/GTomPI8H6glmrMTSPPzwRdEfOh7sFrs2O4l1MYq+xQ7xPITucw+ia6H0NzTcm1LTxXcTeCdWOMtCxW7zU9VFuFJqLYOVxh3Bl4zLa5OmlSpmyohnrv7r+pDOzKUflR6US2CiIK/KtfprR9Dvtcc/i1GU1OiOJ9l/9fYxXioGcg22u5D0OjjACRjWi3uSpyJSrZJp9it1Kh6U67N8CGdB4U5o9ya65xueBzeE69CUZsNHPMyxtHACue7Fq+tzVSUoYI4uv9Bu+DJzcY8Zqc2BpWXtEp49FfIV4INW+CPqxvjjVqkIO9to7QVvWJjdE2DN8kn6+vO9gp9idvm45EABGwIhgBJB6razurFdLiZMGHsnM8bbquYk8+74J20rNrOG3swXcGHXdzuwAiF9/TDjCDt7fWXvzhX7X7wH4BJFuTvhXiRvASlGoBMVPmQFF20Fv/dAJQAiDdCYyJH7pEvNYFdGfmAmBwjmq33H+FEQtBUzMbPwij86IMVIVVqHRXSa5ofNCc9Uybq9+oljWjs43zroLTJHWRlfM6OuMPCdXU+eLRdUP9zxk1SMMQDtDlG/Chbbb4IAFAZ3thrApTYiEQlzleTUFMOS2jT2gjBqy8tEEXoCkIVvX9gG5AdKtJsk4k053EiVd0XGTNHjgqmKqnX+Lf0HyG7EZR X-Forefront-PRVS: 0214EB3F68 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(39450400003)(377454003)(199003)(24454002)(189002)(33646002)(76176999)(68736007)(54356999)(50986999)(7416002)(53936002)(2351001)(230700001)(4326007)(101416001)(106356001)(6246003)(2906002)(25786008)(53546003)(83506001)(66066001)(47776003)(105586002)(65806001)(8676002)(6486002)(65956001)(77096006)(54906002)(6306002)(81156014)(90366009)(110136004)(38730400002)(6916009)(2950100002)(36756003)(64126003)(229853002)(7736002)(23746002)(305945005)(6666003)(81166006)(39060400001)(42186005)(31686004)(189998001)(92566002)(6116002)(3846002)(4001350100001)(50466002)(5660300001)(97736004)(65826007)(31696002)(86362001);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0801MB1738;H:[172.16.25.13];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;HE1PR0801MB1738;23:m3ziikuLYt0OXfM/3TDS7F23roSqrHasDIK?= =?Windows-1252?Q?aO6YXV11TGavMzMPRb7tJ8mj8+mym/LPbSVuXDUFodEn2qLreBv6/gzL?= =?Windows-1252?Q?VMe6QDsxzas5/8AYQclmoAnthj1tfisMh08Dron6KiLql+SEH8xrk0hp?= =?Windows-1252?Q?7LX8/WF8l/WYSibUNA6adBFU1npbmNw6M1maqqzRA1EyPnxtePGlnnVd?= =?Windows-1252?Q?pgT7vKORjZ/+Px99YDM5FIvJknK7y4D0sXjWWZBscEVHYGbejTn0EKGV?= =?Windows-1252?Q?o0LlM47Gw1ZC2HyTyfE1xlEaRS8KzJjvxiI/afvUfKADhpfKCoxMxnN0?= =?Windows-1252?Q?LXYrWMcU2ZdgMK/cyr68RKKCyiJzVeD1GBuN3njLiZAAwsATbFXDCitw?= =?Windows-1252?Q?FprC3TwnLHK4T9AGrTlBz9F0AZQoljyqAUj022bMCuyCzKQJwwpJyO1N?= =?Windows-1252?Q?kaGBT/dkbog0ese5X99w7u1A4T8ByLgm1TOEk8qkhSsNu3EjT03ccOFX?= =?Windows-1252?Q?YgrTp3lDGk+AWoRpC3y8wHpy8doOdl/69aROH7MUfseZS28jBVg5p/oW?= =?Windows-1252?Q?6DCTH+T8timF7Tb3UUpWXD7jgBsGP2bJIm6Oqo8g2gmyfO0lPhNzKYhZ?= =?Windows-1252?Q?cmN7pUbKkA7iMNTGmsW++I7ab8IVedYf/8xiF78fiWa8p9Qha2BOGgwA?= =?Windows-1252?Q?hfxu6cfb8AfDcYTCmozTB6hvCLmrX33PadX/vOB3Xpzb2s2IMxmr33CP?= =?Windows-1252?Q?TgZSlDT9zqQ6P/SEmIs3cbjQS3I1e2E/80okydmhqLBkRCOv0m9gDKav?= =?Windows-1252?Q?DOtZTdTyRtLKyQWMBO3ZDEiDKK2eccHU2uJXZcqNsFSOtjcdsgqFsjHj?= =?Windows-1252?Q?kSkHHlpBtHtzKz8Nq9OKIpa+CsbsCSC5B4b2zyN4VzF+z/nrPN4d6ccq?= =?Windows-1252?Q?0IrGllPT73aJ4lq4U+s7ny/XdXcLjFT3H4L3z0rXfMe39PMTBEOqprPo?= =?Windows-1252?Q?INihL14CBjs8eo7f/c3dSLAu7VR1JOppBCp5f5jQWyepMe0s5zTaJEIk?= =?Windows-1252?Q?lBtF9UP5jGUwHULGL2QI4NbOzmJCXIISSCzMvKk4KBx5s0P2iWFYcZAw?= =?Windows-1252?Q?yw+f7I6RBJz0PKe6dlmVaCEtc71bajTh8oNBRJMlqVAJ72GR85Pb0PKE?= =?Windows-1252?Q?9KnUbFx0c4pX0OySUgw6SpUr85Nd3CLIWXqbdZ4TbHp88I4Iy6Mpw9bW?= =?Windows-1252?Q?cCH9NmJ69RjeMjrida+ewtq1kl0AdPQHVKyU9WU8i5rwKVLxizuT9F+H?= =?Windows-1252?Q?D6wtWpENP7yZ9gQ4zM0Toy5DQUYgx3pyR2fGEhshhMqvxBlyR69CwWb4?= =?Windows-1252?Q?tUJnKJif+AYm+r48NvP8nFi4H1WtW9mjykVqAAo9ml/clcYuY7qDkjs7?= =?Windows-1252?Q?k7HJ74ngamlE3P0U1z2bwwxl563G4Yi7Hqa07swMyT2niiPLX6vW9WgN?= =?Windows-1252?Q?bgZwxla0cgEsHb4FYwk1H/gtzq6mFmkwd0GIO8tNQ6j8o4MDFygUtgXr?= =?Windows-1252?Q?Z5oPJlAUyh+AFSbF6UmM2lXonco0H2qkD/G/DOQ+2xK8yDQDfqdDVZKt?= =?Windows-1252?Q?/gltY7KCX/aCMl39cxvN39OE=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1738;6:dIK9JAiP9+24Y2H3snFlDRv0yhpi7jFULYQHyV/bmkf6fzjapO4INTxL+o/5ALFgUTbLXxQ5mDJPjcrkxvNPzlLA+8mmPlDTcnOJ8YmKoHVujUgJp0dYy1bkZP2srr3BVXKHwtMvNtMUUcGtOvwId+esYorbKt23DQAj3UyfvREYOkySkiy2kIaNuCWc6clHovqzP4e0bZ/4RSuvdRYLv0qzeetwU1maoYEXgD6Svj2igoAUchRVWrmBLO1pllPd5ZDFOiivRncD7FvS3DTZPO4GuyiDwQ2SOP15jy/qZiDZVzoPyzng9h3rv8EEjSsQHyvjZESKsh7zi+wvCNdMqiaccAiXMF8Yh7uReQvMu1Y9DwT+A5knboOG5qo4vL5STAv5uB+7gzYb/GJm6bXGiA==;5:xYTuiyOcJ8PTks/G+UuLclqYwnnwtTuVGESqE8cDUYjtp1P3uKiQ5/rx+/P/vqsqp2RWGlPSdZx+OffU7cDjd/5OQwXO9ZescnZ+SpXe9o8L7psOwCpRkRD8e3EpbdyYYjWzWox46F9WMYPnGebbLQ==;24:8e+9Ob5GdhLJjwfjotDz/OHbVKiv4Yp9QE55mnlql59MxaCok/GYct/nHzJ5kt4v+LKQJuQ9NI6/o7yaGONUaWn/b+bLSnGALFw+ASLXFw0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1738;7:nqa/YztYCEQj2Cnoj92jqMaOLJFz/sZGdh+fzrApdIIO6Aj24oyw+HDeDFWnKx4MQ92kABx0+yBNk1SiDt3jrm4Kh0BkuD97pIoVBuQZPd6zE3j53GLhKFGDJ1Vg41jdy+yBcDo+hma5WjSOxrawigy3dT1gm48vOSg+zFau3EyA2r/uqc8eOKL+ZK/OPXTUCsGYe+U4SR7Wvq6J+LKoc3H4NSOcHyw9uiFY4ZLHK2yaQQ+nXbpMy8j+nVYfdbVVn4/qP2Ga2jOFs0dZVE3y8ORKE074LZ/xXtOhcnkQMKDeXcKPkihsQyo7hyMclyEnepDQKJZvjBl41GcTxgihnr08S0Q4DHTJbnTlz0HiQHfPe8Y5g6oUQ+SF+EVh0TeYzimYbDcMsQmjPl43HJtPnvAPlZnH59frfPvB88C2dUW4tt1zVs3sFMH7/c8Bp77nKHUVTK/BY9q/6cVqrD215rgVuX+4gdEprfehEPlgJK3lO08F9qs5OyRHEtu1t2WM3X4PdbbgqAf7b/x/3JacXw==;20:X3tPEHc+ilLhdmVnJlWLHp3O3QQUXWDbWHOE6W2a5stF+4eqrpQCX9Q4DY8rVo8AStZukyepsvMZOD5Jb3eUVAMjP9dm3yrQrVMdbYgt4ttowd6fvQLvV8iP93aDPKREoyIsrChhA/Y8k0PKMGHwqQBBNJKzJnf9d4a34v04hD+Ny2RC36oO2PXU2aUzQHv3xk5zoUYRIF0h9gUw44xx4keY4ibUbCfA/Ua+Yv2/s5Qjr6kApW8EUuwf0X+xhmqq X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Feb 2017 12:00:49.9822 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1738 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/10/2017 02:52 PM, Dmitry Safonov wrote: > Kernel erases R8..R11 registers prior returning to userspace > from int80: https://lkml.org/lkml/2009/10/1/164 > > GCC can reuse this registers and doesn't expect them to change > during syscall invocation. I met this kind of bug in CRIU once > gcc 6.1 and clang stored local variables in those registers > and the kernel zerofied them during syscall: > https://github.com/xemul/criu/commit/990d33f1a1cdd17bca6c2eb059ab3be2564f7fa2 > > By that reason I suggest to add those registers to clobbers > in selftests. > > Cc: Shuah Khan > Cc: Thomas Gleixner > Cc: Ingo Molnar > Cc: "H. Peter Anvin" > Cc: Andy Lutomirski > Cc: Borislav Petkov > Cc: x86@kernel.org > Cc: linux-kselftest@vger.kernel.org > Signed-off-by: Dmitry Safonov > --- > tools/testing/selftests/x86/fsgsbase.c | 2 +- > tools/testing/selftests/x86/iopl.c | 10 ++++++++-- Drop this one: iopl doesn't do int80 - it's my failure in grepping. Will resend. > tools/testing/selftests/x86/ldt_gdt.c | 16 +++++++++++----- > tools/testing/selftests/x86/ptrace_syscall.c | 3 ++- > tools/testing/selftests/x86/single_step_syscall.c | 5 ++++- > 5 files changed, 26 insertions(+), 10 deletions(-) > -- Dmitry