From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752190AbdI2QRx (ORCPT ); Fri, 29 Sep 2017 12:17:53 -0400 Received: from mail-eopbgr40100.outbound.protection.outlook.com ([40.107.4.100]:39936 "EHLO EUR03-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751828AbdI2QRv (ORCPT ); Fri, 29 Sep 2017 12:17:51 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; Subject: Re: [PATCH 1/3] kcov: remove #ifdef CONFIG_RANDOMIZE_BASE To: Dmitry Vyukov , Mark Rutland Cc: Andrew Morton , Andrey Konovalov , syzkaller , LKML References: <20170919124648.28963-1-aryabinin@virtuozzo.com> <20170919133057.GE30715@leverpostej> From: Andrey Ryabinin Message-ID: Date: Fri, 29 Sep 2017 19:20:46 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: DB6PR0202CA0012.eurprd02.prod.outlook.com (2603:10a6:4:29::22) To VI1PR08MB2830.eurprd08.prod.outlook.com (2603:10a6:802:19::27) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 942d7e57-54d2-4fbc-12d7-08d50755a055 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075);SRVR:VI1PR08MB2830; X-Microsoft-Exchange-Diagnostics: 1;VI1PR08MB2830;3:NHqO64UoMyglimHd2VNG/ZI2H7VFZpJWf6xhBbpvOWC8DqSSvfZMlxfmYrWrybPabc3Wn/MKzPtnS+MfYogKHabo8d15vWYNfXoKSGkOAIPlJwvhqbtFbVcgN7uWW4d+9B5NmDr5ftqqAvkjtB0ApY3j46/VDmrBZBhPgm8gQKN7Cu+/13HGfpUUjTxb5173YfQVFYVjhTeSfLllVHSYTQUGmPrJafgIAnHmZXbCUrx6NTf5OzN0yI5f4jUQ8v8G;25:3g5ecO0DW5JzpyejXabw6E7RzAE7dQiX10CR7j5RIhJC9oDWDkeu0gdQ+jmm2tGJkzHc0IV6l7pBV0RPWxEb6ZKMXOl3hmGPK5eWGVD4BEXwrEb79E4yOxbpmaFX5w7mW4O+FhiG/GX8XqLcR/mYBcWupS6zHBvwXrF8WoLG6wfEPedg/tMTqsal1XZN1oAcyv9MwgT4GuPA4+dLgDE7SIS6rSmT6PjCdCXAvrLUN8CVkIcgdTPpxFxfq9DxCZIdlSm8pRo/p+0TlrDFrEwFbI4SRhac6OV6WABQ53KD4j60QIWymVWStsDR4efWgJjgn8kaowwe2yo0lqrnllxB7Q==;31:k8WduFKnnqJkObw+N3bquMxdoRWkzGcocvu2rvQmC4RX90YjcQdYSxlVs/cWLpmHb2rWfCmYpbf128VdsCyVhfmlwYZ6p/TkSkBaF541RnvdAXOsQHs4rjgsq+XFFDtOVuhv9JuMUwoVy03yeHn7AAZNcxdvbI1we7bs7HdbWQ765VhQD07kwAi6oBnFtYQiS6tD+jC0qK2Z/D9RCBfd+BdmQfbB7GZ7EUjMllW3oMw= X-MS-TrafficTypeDiagnostic: VI1PR08MB2830: X-Microsoft-Exchange-Diagnostics: 1;VI1PR08MB2830;20:F8+o4sYEq+WLeKtK3sOesmUNGYqzbVlr8RABPga9TkJ2dsQ7dwkflnydZczhglROt+pnI9C4ACuU+1NE7iJu4MmBGllWjoQ01fGB2NbaVIiPRBmAYGa229pmxfUH4YVk9/SR7bXw+GtKypxMGjVSwOcd0FGIkArrdbnihjgNm7zgNFMISWNcqH6qEeeCmnccOtrhevtJhCxn2DX3W19C+ESk0zOwqam4cXI3gO34DB6lt52TRqMR1ZRU2vhosIXnq98rLNNH7Ku82sj7rh0KVcCMKS6OeAKw22LwoHHt3RAdNImUOAC3mrrRZHp3HmeiG/TLFeVhRAbaF/NQu75sAT9bijk/SeN/iP5nKDb187CPwuD9jLKJEWTr95JoL/IJCOlzBNTfhTgh8Po9vbX0F/21IFbukGC5UfO3foElfi4=;4:Nb5vuWW5qBQ+zflLewVGdNu4ICtkhtiee4kJ6yftGD3nV2KOHJmcbFA9DU5TWDaqYmQMkgfBtFUjGjyev1BlgwFu/HV9VEIL4veEf9XQObKbR7eyqwbIXOkGaR0hsEHL87LIuQtzdxDJVckG3UPK9kOjbpi7HYAiaNsqVHKIiyM3Ypl3o3S4rAlO9H6joWy3urxeyfqfaKguhwhmFjKLab84D00SeRhE59UBzcA09x77wiFRdS7StA8fRyjIpyczFJCh97zI7/dUNIL2uqRzTrYO6T9SWphUh7XKzUzTGmg= X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(6041248)(20161123558100)(20161123555025)(20161123560025)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:VI1PR08MB2830;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:VI1PR08MB2830; X-Forefront-PRVS: 0445A82F82 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6049001)(6009001)(346002)(376002)(39830400002)(189002)(199003)(377454003)(24454002)(110136005)(53546010)(54906003)(23676002)(16526017)(81166006)(81156014)(16576012)(64126003)(97736004)(316002)(5660300001)(50466002)(7736002)(4326008)(230700001)(2950100002)(86362001)(3846002)(6116002)(83506001)(65826007)(478600001)(575784001)(31696002)(8936002)(50986999)(36756003)(54356999)(76176999)(6246003)(77096006)(33646002)(229853002)(6486002)(53936002)(189998001)(47776003)(31686004)(68736007)(66066001)(8676002)(58126008)(101416001)(2906002)(105586002)(305945005)(106356001)(65956001)(65806001)(25786009);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR08MB2830;H:[172.16.25.12];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjA4TUIyODMwOzIzOkNCc3RUMWNOVFVBVmVsMFBjM29ZRTBaUmJG?= =?utf-8?B?SnhLQ3E3emZCcEZsRlgrdkdHaS9SZS93NXdJL0RZcXZWdnVmdWdTS3ZBeC82?= =?utf-8?B?NlVqWlZVMlo3cHJ6QnlpTWNSRjRBSlRpdTA4ZzJGZ3hIVitQaDdCNElRMmM2?= =?utf-8?B?TkI5a3Y4VDBualMxQTJnNzBraE81bnVZOHhDZjFGMkpiZ0laMHhSdENiWkdX?= =?utf-8?B?YmtMM0hrcGNjVE1pQ0ZvSlNOWXpYSHJ6SjN1Qy9DcjJLV1pEbERDY3ZJZmU3?= =?utf-8?B?S0tJc213V2oxQXRPaW40ZHB0TmxrNWkxR2l1VlYzV1dzRmxkblpzeTRIUEVK?= =?utf-8?B?YTlnM0pOR3ZJeE9MNkpWK1QvRzEydngzeFl0YzJmTWg2WVpKK1FmTUtRK21W?= =?utf-8?B?cFhZd1RYM2VJTjN6RTJiVFRORUJzeFphdmRxbmZ4RjlSUWdxekdKWWJDcDBR?= =?utf-8?B?ZnBab3F5eDMra3NBZFpyOTU3djZxWFRzUjhPZENDUDJCOFlTWVVlV05VenFr?= =?utf-8?B?RjVlaVNpS2g4U2Z0YjlVc21wa250RVJSYThlczhIUFFDRmdSV0VBcm5Ddm80?= =?utf-8?B?WXhlbHhlYTlqcjg2L0swK0JBTHFwbGRzWU1uNm9RWnhxc2VRSEdxWmt1NC9V?= =?utf-8?B?c3ZUYjlCY2FMZ0RTWUJXM2lMUzZMeTlBbFBzUm8yajhtTXJQa2pWUWYxTmMx?= =?utf-8?B?NFhjMzNWNzJXb1JNaXg1dUc5RVBUNXMwVXFubUlyNWUwRUM3VUlGQWZHSngw?= =?utf-8?B?MWFncS83TWJzVVJrV3A5NGZwa2hPY2dvcjRML0paNlV0cVFZY3hyZzFDTkhO?= =?utf-8?B?eEx1YnRQVExxelhLYTJnNVg5VDJzM0NUWGR5Q2FTeVEwY0xxeXpEamZqOXVi?= =?utf-8?B?WDdJN3NDVmtqZUZsYk02YlZ1ZDJnSkNua0YwL0pxeWNZemE1SEY3RGJKT25S?= =?utf-8?B?SGRHV1d5WE1NQTBucHFjb1k3akNlUU5yQ2hrU1g1NDdVNVAyemk4eENTVFNS?= =?utf-8?B?Y1JReW4rV2lOeUZjQzBJeU5sejdxMjJxWXVEU0VRZHprSkplWDVrVlBZOWVm?= =?utf-8?B?TGdpbTFTWFJlbWUvYm1BNlRqQnU1MDhwNDV1dFdadEV6YW9NSE1jZGJLTXF1?= =?utf-8?B?WGloeXphbVpoeE52cnAyL21lckwyTy8zQlVoNU9FcXNidDFyODI2cTlzWjZX?= =?utf-8?B?dHkxSTNOU1NCTHJYVlBVRDVjbzlNQWZZQjYwMFhHZyttd1U2NlE5M0dQVmJK?= =?utf-8?B?dWNpR0Y4L1hqd3RWSHRjZktwb2NyemF3eGU4Qm1HdmY1dGpJMEE2cVJUMFhD?= =?utf-8?B?cFhmS2NZcU10TWZ4dUdmbUpOYkRIUjBqbHFXeS9IYmNvaTdHZDRHT0VqOSt4?= =?utf-8?B?SWM3Ri8xdkNWRVpNblZEQzMvdjFtdUlqajdTbWhYciszVDdWWUNkYW1uckxl?= =?utf-8?B?Z0dBYTRKRVVpazU2Sy9DcCs3dk9wM0JZL0o4a1RkTjduZXJMbFVTSi83R0ZV?= =?utf-8?B?azlLTU80ZnBSMXorY2ZndE11K1lYcXo1cSs4NzRqb0czdlFWd3BSQU5sZ2k3?= =?utf-8?B?RFNxb0sxVmhjVU03MmNsa0x6a0RZVEl6Sk40UTI0Yy9HckVQQ0VWODNqUTFG?= =?utf-8?B?d0srSkF2NlNRa3RxeGZWdFlEMUk0Y2ZEZElJMTZUNXY5T0xZTnFKZ3l3YkF5?= =?utf-8?B?NUxvRmgwamZTQTNVdFBuYnJpZkMvYzB0ZG8rNm5NRGZjeW5zY295RlE4Z3VZ?= =?utf-8?B?b1NZZHdFK3ZLQ3VnLzFtWlpMeS8zVklMSW5Sbnp6T2NJdnRiRnlWeVlsUTBn?= =?utf-8?B?ZVdSR09LZ1E1SnNWM2dIV2c3RERxY1Jpa1ZsRkdUN1JoY1VPZmxSZW9oRmFF?= =?utf-8?Q?nNT6CAJOObIHdr+E+qYR4UTRbSfisIrK?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR08MB2830;6:JalksHef1iVqYSCfnoYcWZY4Y62XPcECxFAxVfCUWLAwLGbhwInjCJigqiRVfxLqaF5gQFYVk4CObtisPQtjRZD+DexoUiCPiDWiAwAwpIomb7TjTDxPTVHostjt4CR22yJMiZ5SFfVuOUnZZIBgJaiqE0JpjQ0OmzuZSra5RHyr9K2T4aruPDUTbbx6Ce9dCrOU+a0PlTOt8yAuBoCaKwFX9eyLrxPk4zjba+wAJEvE+cpIKH0QeIcoFHjAYIC/lP7tgUCQNIU1UQ3VqG+1NR4kY6l2rAo5a2qnBnhMhpqfPC9xA+5yzrqeU6BuTQEO32LoyhjcqiY2ehW9VuN0/w==;5:Bf/kAbyEI2Jp6XHhIeWPfMcXrfhp/iOdiWbqd/aXOyoUnY44GlwBSb7CWUKakLGF4Uu4eELE3eqxnwboRafiCrdn3iPkrnjc8hwWJ786vHb5VVaiP3hdv7qdAoXU1X7Gf5ElaxX/rr2pUgpYAg98vA==;24:ngx6iCJ36D2ZAUccn9fhY/JXd3cog4Unb8VNJUJnqT69mMgXCxykfTEiSCE9uC/61oyf2jqwoQaH3S321MzTAQv6/R4TuaWy0AI6QIm4aOc=;7:e0Du6v3iISqbH+zpX9qi12BDDpCJAzLOfWrjX6e8wBgPyzniwbpXPjimem1DiJ0ja2pmhydY90Td7Ms16cueNRIrW8hhK7QuSnar2WQ6hr/7iJT2Q4/RDVgJNqCMiVSO2Wwk6FrCf1x3nwgOZSocuJugF1tN4VNyfUiOjkjq+oSuOsKkihrgaw06RZYqOJ9ZUi7l5DZTEhPsTXbAg43/3Ayqf3jM2lOxmvuQMF8zJsQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR08MB2830;20:IGRmMWDViYS3RSPh9lJ2XBoBNGx8oc5BgfnDaAshN6iaXN1KOtoHQa4t0BoVX+PVteqFUIsYDmgqr4Ub7GWx/eF+Una0R34ddzke1JXG5FCDM4Uh0tFsSfuqpGt/K0wAD1rPRTZQFzTd+fPk/+GwYWNCVSY38DwFAFvtuHaDTZ4= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2017 16:17:47.7900 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2830 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/19/2017 04:47 PM, Dmitry Vyukov wrote: > On Tue, Sep 19, 2017 at 3:30 PM, Mark Rutland wrote: >> Hi, >> >> On Tue, Sep 19, 2017 at 03:46:46PM +0300, Andrey Ryabinin wrote: >>> There is no need to surround kaslr_offset() with CONFIG_RANDOMIZE_BASE ifdef. >>> kaslr_offset() will just return 0 if CONFIG_RANDOMIZE_BASE isn't set. >>> >>> Signed-off-by: Andrey Ryabinin >>> --- >>> kernel/kcov.c | 2 -- >>> 1 file changed, 2 deletions(-) >>> >>> diff --git a/kernel/kcov.c b/kernel/kcov.c >>> index 3f693a0f6f3e..2f0e7a7c7afc 100644 >>> --- a/kernel/kcov.c >>> +++ b/kernel/kcov.c >>> @@ -69,9 +69,7 @@ void notrace __sanitizer_cov_trace_pc(void) >>> unsigned long pos; >>> unsigned long ip = _RET_IP_; >>> >>> -#ifdef CONFIG_RANDOMIZE_BASE >>> ip -= kaslr_offset(); >>> -#endif >> >> I think this is sound, but as Dmitry points out it'll mean we do some >> pointless work. For example on arm64 we have: >> >> static inline unsigned long kaslr_offset(void) >> { >> return kimage_vaddr - KIMAGE_VADDR; >> } >> >> ... where kimage_vaddr is a global variable, and KIMAGE_VADDR is a >> constant (and should be identical for !CONFIG_RANDOMIZE_BASE kernels). >> >> I think it would be reasonable to make that: >> >> static inline unsigned long kaslr_offset(void) >> { >> if (!IS_ENABLED(CONFIG_RANDOMIZE_BASE)) >> return 0; >> >> return kimage_vaddr - KIMAGE_VADDR; >> } >> >> ... and simplify callers as above. > > Sounds reasonable to me. > As kbuilt robot pointed out, we would also need to introduce generic kaslr_offset() for arches that don't have it. I seem like too much trouble for very little gain, so I'll keep current code as is.