From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932550AbdK0SHj (ORCPT ); Mon, 27 Nov 2017 13:07:39 -0500 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:35416 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932312AbdK0SHh (ORCPT ); Mon, 27 Nov 2017 13:07:37 -0500 Subject: Re: [PATCH][v4] uprobes/x86: emulate push insns for uprobe on x86 From: Yonghong Song To: Oleg Nesterov , , CC: , , , , , References: <20171115175928.3821714-1-yhs@fb.com> <20171117172526.GA10949@redhat.com> <47697170-3737-052e-584f-811cf4e4dbf2@fb.com> <20171120164145.GA2387@redhat.com> Message-ID: <03f91999-10b4-251f-aa9e-07de5ca096d2@fb.com> Date: Mon, 27 Nov 2017 10:06:16 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: [2620:10d:c090:200::7:6a6a] X-ClientProxiedBy: CY4PR2201CA0012.namprd22.prod.outlook.com (10.171.208.150) To DM5PR15MB1834.namprd15.prod.outlook.com (10.174.247.11) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 14634cf6-79ba-45cc-6913-08d535c19034 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603258);SRVR:DM5PR15MB1834; X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1834;3:yzWOOc+2sWeCvEw25oen6yHyfEI9rZ0rQkumCmA+eyRZJuXhg1PDUwnaaf6wqJEo6ggVdtQVm5KD9+QPbOptgVvigeFxmv/H70B24iu2dN3a+7AC7G+VXv12gqSgkzZk/8IaV/y3BjUZjC20xpTWELpb5hgI9ZUhRL1QrPh5G9cAA05VQX298J3NH3HRPWFqrTu7W+zg144KXcM8Be3VGJbKxw79qVkhyUWnraIvgMAKFzW9xDmUgmAAkOjvnyKW;25:r+mBG6tnFMHthXk0tDVuK4SaM/wmeYbNnfAhOpF3eQkLHkRgUczmJyxTRX8b8xgorqXmWHYJPn9VuMhVPLmUwUWGzBVbbLUM7sxCeqHJRewcMnxN5Sr2GyOK7um9RNvGEnYQXK2ham4Aczu2yMXtecMJKs43kBd3e7LIekIBNmz1vvpmWWkTPKDe7YUQWQYaWftW8b+jR6pvu857s0vjo+P7xU2Cf6rjCWbnK48bLZZfWrSgxEm755sPdKn72Wzv7YYR7zTCbKji4nGJZ7jngbiJF6Su6O65L+72o8fcmU0Dd0ZdrOs1mZqsphG92rYSYlSZMHM78R8Ns1V/aEgdmQ==;31:FCdwhuhHEyM6ZY1O27E7sVCjmV92wvux+E4s3rG8HsADfCZAX0oP/Hqi4SRPynM4OsC5b3NZ6XOrG43ilp+ydBrP4b6Xcsf2/t3PnGWJPIdT5uRY+njMGjUdN2yve+4luXrDMcgkQgJdbo//5lkOe05vSRHLZL47lOzW9nU21t6lAjeVHG66gWkNcqu/jVrz2GdpDdaO4rdLlZ4bTVYXBbg+u9oBvc9s2VSx/n7hDpQ= X-MS-TrafficTypeDiagnostic: DM5PR15MB1834: X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1834;20:k5XBalcHuS4cnasJcBfRmZ8u9//8iqsjnOtAbat9bZKtmdk5HRK3ZD38dG35OTuVNPu3q6nbPODGi0X+txGSWl1JyJBQ5CFWUaF1AD6b4HL+dJAPEKNoz3lxA6h7gxacv8niCYuC80deyKfd6rjgac2d3y6uCbrEJc71J1P72ZxwIGTFCJyXYXdFQ65JJRS7ftFcvVuGHt+z+xdfKKJJIFITfvM5Ea0qkzD49mp8rK6GxsyrJRLREKoMsXlMkAgo+bRHnv0kJ2UM8adi2KLfW4SkTiKuTBI3raUUHgN+aBJyJlUhuBeKsI0UNy3MNZiplFP7bvp9w/vrNRXS3laXHUdV/AeGQxiKoczcqTrnd7j4SXFfAmHwIsEsTB61j0Ljq+FGfF3c3JjRcXgaL3qjJ0Q5lDNPuKHf0crJVc1jocK5ukblD1MgGeZjeQ7OqH8qBVe8bRPYR93leHvoY7nJXp9XLOXUG1Hm1COdv5F6yZ5cak8wGab5fqksY/DON4hn;4:FZq3iu5emWvf2j+lR+rclMqWijuP1TOuRR8ZKqDdHIjlzwAkZXo4m7bE3JMwf8zxUQ4jXfO1pBWASRaX6kyn99+3ceeYX5Xu4Gy2aokkehAaij52sbgJ6ASow2Vpj/BOrDcDH7pxhHbc8EENv2s9zZGjlkfKN98cpfrluFXylBr8W8peEwLCZ0SjDUcCLTowjXxp0KFRlk0/b2QyOOJRT5f6GOkVMJhOTHfpnqvHMhvRK6NA10L6xVsF6KXhjIVWBbkqxqAATvTi3SLWkL+cig== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(11241501159)(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(3231022)(3002001)(10201501046)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123562025)(20161123555025)(20161123564025)(6072148)(201708071742011);SRVR:DM5PR15MB1834;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:DM5PR15MB1834; X-Forefront-PRVS: 0504F29D72 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(346002)(376002)(366004)(199003)(24454002)(189002)(189998001)(6486002)(6506006)(50986999)(83506002)(101416001)(54356999)(53546010)(76176999)(6246003)(8676002)(97736004)(105586002)(81166006)(6512007)(2906002)(2870700001)(106356001)(33646002)(65826007)(305945005)(81156014)(6116002)(31686004)(229853002)(7736002)(5660300001)(53936002)(64126003)(8936002)(6666003)(36756003)(316002)(68736007)(47776003)(31696002)(50466002)(86362001)(93886005)(4326008)(478600001)(2486003)(67846002)(65956001)(52396003)(58126008)(2950100002)(65806001)(52146003)(52116002)(23676004)(25786009)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:DM5PR15MB1834;H:dhcp-172-24-229-77.DHCP.thefacebook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjE1TUIxODM0OzIzOnd2bDJGUkNCdWlWK1dGMFJIdmZ0S0d5VmZI?= =?utf-8?B?QjkvMmRwakxWRmNxTjFLMzNHMUtHaFBVMkFIS0JNbVJmR2tsV0VsdGoxbGEw?= =?utf-8?B?TUd6SmxmTXlCMUFDQ05reFNFY0hVYitQdG9XZGVRTHFOTWhYTGZ5VmQwdmxQ?= =?utf-8?B?MG9TK0RFc1JXZjY0Q3BvWGZnMEtMalBNN2c5QXR2ajFla3JrTVdFMkhGdFhL?= =?utf-8?B?ZzdxYzdSK2NHSmEyRGxPMURJYUh4UXUvZWJ3MDlld0R0dG1DUG44RTN4SHZY?= =?utf-8?B?VXgrb29QQ24zNFRXQWprNkp3RDJaa2FqVDA2eTh3NVBIbm5BTSsvdTh2Z1Rt?= =?utf-8?B?cGRHVEF1SDFISUVrN1BpQWJIbGxXRzNXeS9XbnY1Q2I3QUs2emdSTWcyazRR?= =?utf-8?B?R0xxTGxRclRIc2JDN215OERleE1idURmUS9Ba0hVOVRxYXZPLzRlYTd2WWl0?= =?utf-8?B?N1ljbEhIcDVIQnhGOFRaLzY5Z2QrT2MrNmEvMzFjOENwdDNhTE9ta1h0V1Np?= =?utf-8?B?K0ltejR4MEFkd3VpK3Jhdnl1SENybjlHWVJTVGRXNXJKTkdaUVoyc3NwRUo3?= =?utf-8?B?TWFTVEY0Q3hPcnRQUGNMMExuUVpJeGszdEYzM2NYSTZGSHNBUFhXRlREN0Uz?= =?utf-8?B?aFc0ajNnTkZ0dmZ3S1lqZmR3Ykx0cVFweFk3UVEvU1FIMWx3dUgwSEc5aDYw?= =?utf-8?B?NUp1aG95bXpzTDZ0SnNLWnBGNHZGQnJBSFo1S3kzUzF2dXp1Wk1JZGlEWU1Q?= =?utf-8?B?anR0K0VsWU84QXZUZHVBd1cyakFseGN6MHBoRkR3dEU5Zk9ZSVpPMWFXL1A2?= =?utf-8?B?OC9TbTF0Z0R2SWV5RUxMeFE3YlVYS0NMbHd6eEZEUkpRb3p2eVB4L3h0cStB?= =?utf-8?B?WG1YNTFsZzlhYXVrRUlYQjIxbHZqRnBxNHRkQVRHVHRiMXFuVlJSMmo3VWVP?= =?utf-8?B?VzhhSGhnQlp1RSt0a0hMVGcyMHhDbVhHc0pGenRTSDRUeU02NHM3TTBZS3pn?= =?utf-8?B?a2x0RTBXUllEU01IOFVGVnEwdUpsaEQrNEhzQllkeXczSGVSZU8wR3B1VlBY?= =?utf-8?B?Z2IydGFLUE02MGhvY0o0dG8wUC9TVjY0V2dVZWlqVlNSdHdWVkdqTzJSN3NU?= =?utf-8?B?YkVtazNFaVlFQ2pEeFVaSFltb3JBOUp4YVJodXczR1B2SlVNSXpoZnVmeXFs?= =?utf-8?B?STFzRWhMREc4akxhTWtsYUNhM3V0SzlzQTNHajVmRytmK0xsT1F2Q2tWUGhu?= =?utf-8?B?VUFuN1FRSExTMUJDazJKTHF4dTV1by9xbHFPSTlaZFhUYm9IVGxEVmNEVGYw?= =?utf-8?B?UlRjNE10YUZIdW9oazZBRFFWZ0hHTDZWR0JrdmFYcWtoM291SlVoQkJTTVZE?= =?utf-8?B?SFlCUVdINzVzUFNDY3hVUWxvU09DSnVzRHRxamNxM3UwOEpRZUpXSkpya2Yz?= =?utf-8?B?VHViQkhrSFZoSHJFMzd1MWdEWDZ4aEljekRSOHpsazhSQU5RakJ4R2d4UTN6?= =?utf-8?B?dDdXdnAzakthb2ZGNHRFUElneHl0Vzk1ZG1YZjR6RlArTlNYT2g4Y2RHM1hP?= =?utf-8?B?MnRKMzJTU05yeFlyVjFhZXpjWk5aNW50aTEzNWh4WkhPMnhKOFJiVmdKS0pN?= =?utf-8?B?WDVBb1VOalhPeTZ5WGM5VjF6c3NjZ1pJZDhUWlh1Q3MyM2hpQ1AyZTJIUkJK?= =?utf-8?B?aXhEV0NNOWxrZ0Vmc3Z6SXBjUVZFajIyZE10RkE0amRWQnhFZXF1RXpBd1Iy?= =?utf-8?B?akJ5emwvbnh3RXcrSGlJRGlEMGV3ZDJnQ3Y2TzRWUmtWUGcrWXBjQ0d6NHdY?= =?utf-8?B?Q2Y5UDFBcnlzeVdnbGxjL3Awc2NydHk2VzM3by9MbHpCMXRaZVBORWNtRElD?= =?utf-8?Q?iN7lEKVv7wA=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1834;6:JInzIhr3gcZ4L4l3X9RgkVLrIvARvOAqTKgbNAvBDctmJsbGqJmVRflmL1RQd6ZU/V7r5kqk4S6VITrICMu4UMi7gXYB9C2KvGFhfGFcKIj6fmWkqhLGqX4V749SrYPLvAcRnIueCEpAIaNLRYU6iTcCqr1nP2Eb+/7hX8xPm4vx0yV633WfhoG3i7VZClaCrqZNikTyVpbpSwm5k6f72pA3UWfUZwL60Gz8L1M/uSU+VD63PBDFiffvF+fCTq4/n74bkuZ/irD7LhQVVGy6bNfiJ/ufhoPxewWz5LmWm0Z3Z7AC67VizttSAu7REMzMQPLCzpEYErB/h9OBQgdsT34dMgWgXWng2sny/XeYvg4=;5:pRZB+5s/6N484yIsoC1Rq04172kvBcp6YqQMM6fn91uze5cfTZElOtgEX5duivzA3purLmY4xsGVxEsovXajC0Rz7NHUj2e3NePTr8OspeV2/rsDnemVPRsCA/dEu8NiU0qSe0WIfOwJJRc4Yev/zaTgxZY+MThO3GTEr52zbpU=;24:jR3w4hl0NAlRd9n/5Gzk3Zxfwdga6FIJ7NywsYdecu0yWjlLTXpfFyxKbDlXya9Re/NHhl5DoTWVc17/VEWdfLWO1J14p7+Oa1kcmh8h0QQ=;7:S3acNLrgQ1kmDn8ffdPLfx9PLqI1j06aYfsebnmEkI+hfM8PPttYaCe52JoKq2LYbzl1u/Vbt2lshoLl50wKsVNNvL6VXGlpnMPqVJGZfx+MH592dTP/tHVD/p1RVei32Zqc3GC4bOU0Swwfg5CGM97cnjiz3+d3XeDokAOKR2jQV1pxoeh+MHJfsE8QP033JL3rzSjljX/lsY4XzaOl0nEUUnXexhAFWtV1Kp4GBsMATp9HL9nSkfZYjz8ZRBv3 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1834;20:4MZi36oAxVaDhJuRqjEtOTAFB/4Vp+7YGSBZi6KOPK6Qw6s40aYfIBNAccHMTp/b9K0nuUZZOhVRqM6qTrh+fiEZHWaAXEdo3d8pqc2CAcF9e1/VJQNKrnzzDUYD0DpaSzRXdrLeREQK8RZmHz/mp08WxxROOqHZLJi0nVlSAKY= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2017 18:06:19.7576 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 14634cf6-79ba-45cc-6913-08d535c19034 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR15MB1834 X-OriginatorOrg: fb.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-11-27_09:,, signatures=0 X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Ingo and Peter, This patch has been reviewed by Oleg Nesterov. Could you take a look and help merge it upstream? Thanks! Yonghong On 11/20/17 10:25 AM, Yonghong Song wrote: > > > On 11/20/17 8:41 AM, Oleg Nesterov wrote: >> On 11/17, Yonghong Song wrote: >>> >>> On 11/17/17 9:25 AM, Oleg Nesterov wrote: >>>> On 11/15, Yonghong Song wrote: >>>>> >>>>> v3 -> v4: >>>>>    . Revert most of v3 change as 32bit emulation is not really working >>>>>      on x86_64 platform as among other issues, function >>>>> emulate_push_stack() >>>>>      needs to account for 32bit app on 64bit platform. >>>>>      A separate effort is ongoing to address this issue. >>>> >>>> Reviewed-by: Oleg Nesterov >>>> >>>> >>>> >>>> Please test your patch with the fix below, in this particular case the >>>> TIF_IA32 check should be fine. Although this is not what we really >>>> want, >>>> we should probably use user_64bit_mode(regs) which checks ->cs. But >>>> this >>>> needs more changes and doesn't solve other problems (get_unmapped_area) >>>> so I still can't decide what should we do right now... >>> >>> I tested the below change with my patch. On x86_64, both 64bit and 32bit >>> program can be uprobe emulated properly. >> >> Good, so your patch is fine. > > Thanks! > >> >>> On x86_32, however, there is a >>> compilation error like below: >> >> Yes, yes, when I said "in this particular case" I meant x86_64 system >> only. >> >> Sorry for confusion, I asked you to test this additional change just to >> ensure that we didn't miss something and your patch has no problems with >> 32bit tasks on 64bit system, except those we need to fix anyway. > > Understood. I actually tried a little to see whether I could have a > simple way to fix 32bit compilation error without using ugly "#ifdef > CONFIG_X86_64". Maybe is_64bit_mm is a good choice. But we could defer > this until you have a comprehensive fix for 32bit app uprobe on 64bit > systems as there are multiple issues for this. > >> >> Oleg. >>