From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750910AbcEHJR0 (ORCPT ); Sun, 8 May 2016 05:17:26 -0400 Received: from mail-bn1bon0082.outbound.protection.outlook.com ([157.56.111.82]:37428 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750712AbcEHJRX (ORCPT ); Sun, 8 May 2016 05:17:23 -0400 Authentication-Results: hpe.com; dkim=none (message not signed) header.d=none;hpe.com; dmarc=none action=none header.from=caviumnetworks.com; Date: Sun, 8 May 2016 12:17:02 +0300 From: Yury Norov To: "Luruo, Kuthonuzo" CC: "aryabinin@virtuozzo.com" , "glider@google.com" , "dvyukov@google.com" , "cl@linux.com" , "penberg@kernel.org" , "rientjes@google.com" , "iamjoonsoo.kim@lge.com" , "akpm@linux-foundation.org" , "kasan-dev@googlegroups.com" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "klimov.linux@gmail.com" Subject: Re: [PATCH v2 1/2] mm, kasan: improve double-free detection Message-ID: <20160508085045.GA27394@yury-N73SV> References: <20160506114727.GA2571@cherokee.in.rdlabs.hpecorp.net> <20160507102505.GA27794@yury-N73SV> <20E775CA4D599049A25800DE5799F6DD1F62744C@G4W3225.americas.hpqcorp.net> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20E775CA4D599049A25800DE5799F6DD1F62744C@G4W3225.americas.hpqcorp.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-Originating-IP: [95.143.213.121] X-ClientProxiedBy: AM3PR03CA042.eurprd03.prod.outlook.com (10.141.191.170) To BN4PR07MB2226.namprd07.prod.outlook.com (10.164.63.144) X-MS-Office365-Filtering-Correlation-Id: d169e97e-7f4c-4e73-1176-08d377218bd5 X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2226;2:AVm/1hbW2NTXz4gXRkPO6cSyF5mIlo4f8s9ykcxK467LqfPItLKUA9UWoI5MolMaLyDoXiEesQkOSH0q54nOu0TbSrE797psxold6MdbA96xCfHbpEGf+Pm7T/ywPizEtURwaDegwAQ1lEZDcfcrSS6mq/Dyo1AolnfOjzZ/dBEy+aE1jEWFPPO9x4r6ZbUl;3:Cbuwys0rFVRsMVbemt5th1X1PzwPXedsUfM+z9UKL7ZvO6YUTSiIWg4tDN1Z9A6/TIMWEn73oZZebs0RcbLCVXwTPsdFWMETYxzUK/2QHd92lzTYchB3BSo401psBJSG X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN4PR07MB2226; X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2226;25:ct4bozjHSx18eakCNlfYT9TltRB9fh/wjOmJdRA1BM3NwXo/g0oCjbfyJAISHimHjaXJNhgLSKYECUjfFyXfYWnTyT6+3TjIaysco+zJ2171/rxOSOl88GTwdWmsBjwQ1GLoDUHWiG0vW5y17zWsYfNjekbPmY6M7yw1eCr0VE/B+qtp2YYecCJL+f5PZjcJ/Nh+HbhtyIM9Vn+5rKGcpwSkH1MSRxqK4Xm4w2CKCdTtIp5OLQHNiBUdKs+52CSrR+J2t1Q4s8X6P9t2fsjy3Coif5W9iKDKo0com+BF/SPaHJDCtwadwjb1jbmX/5reomMtFW6Gd+G6WMIIvbvg/yB/cAniWaEfzEfgqS7T1+xGWZ8D3dTbuuY1VmjZnNLgC8VfM11cojH2fh/yVDY3dP/U+toXQgdMDFsUI1nxeBIuyzv2XAB3bTInxBqxhxjj1rpwOzquvguv4LWE19hag3ihyyU9zIJdLDhdqpJDKPaXvZyYDgghq9pG75ESCGN9qIk8ZrlCmyoNkgjC3AE/o4aEWuJkGuOY2Zhsu2cYlmNbVYNuG5fRZAPMx7bdNypnvIR+9DjipvO7c2NtffA0wJz9nDPOBru8eFwrEWeNBCo52kGLl/791A2MNoUZux1dN4VP6ux66uUZS9uEu37nBwKbeVPp6R+n8QE6TdDPuDQVSxi678dNtGHyRfACiHZ4R2PexOQJkRcJq2yGay4Koi1uUds+oQNyQjE5eFuovY4+88tekw0ux56e1objJU9BoWzRt5Ec/qNVeuvLukMzqhuq7SmjKtcjyLcypaiy5iI= X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2226;20:7M+EIl4uP/31eDSiFVUBWEpJ/G0NztXSQxfsyP3UfmcLluSztq21zVaFMa1FibijMl9nPHtc8+8TzYQ99C1xETohsqQLBWWPkKGV77gbj65lAIOKLF2tNc7y0uZRqtxR9XZwS36mO/ZR/cYKsgohP8xkCdamO3GwB4MLg3MlRcoRuvkpPHZOoQyjCTOyVtJqvP1MhPHL+fS4qGT7y3XrTPFljkvKzaexn+A8tHpckP6BjThroVfukXF6BFEn7PCUkWS9FkZQU19fumVdEZ4VUWUBVwDb61nkQ3A/IC1a4AijetaCUrGbYWCYlReZr+WwizTRl8OieMbiHQXNQFPXyj0QfZoCbGimVwj/kaDOs4DUWcbAAdlUTiJ2bk6P7IFYGzvhxi4xaWPx0zjrKL37WNr8G+1Wd8RRkkakU0lpn5irnS0NQtRTGxLIR2uZ8wVCTp7tI9BjynzvrAn1ZxGYV0dqVD8VH+dzfi3mWtho1qPF6CxBmjLzI4eomH65nugK/NIO8gKBIJ/l8kLVWjAmG6/EMzgcw7SGgp0Te7PG5aC1JWUWkpk5/O+ZdtWrV2E/ewxA1A3P28GKi7UldG0vkqvnfi+s9/sTznBzKOWL+2M= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046);SRVR:BN4PR07MB2226;BCL:0;PCL:0;RULEID:;SRVR:BN4PR07MB2226; X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2226;4:ZFhhR12hikzgOlMI6WQQKrQidXI1rsBXLHVePTngWDdFk3ziafpGAyQo4eTt2wpG5uh00BdR9WHIbroaNbfcUHDz7o/Py+7qMzgtRFdmCVAKEmcQAIDB0tXkYCJsMSHbsyqPetM4DlDSBDiHINWsvErcp1ZOiKF0/XRgk/L3BKkuF9t8C/hJZqdfGRMDJQqKUgS8MaGaoXnGkwQWCixRPvLUpNWbZsmBREqGbDcZO1ipgwvECtDtZu0dMbBPuAJw7EaTSFOcvnHQCeYEpzEL7ZzYVtj7iIEFtVtUgMNo4KujnDtzMLjNCGVpwgVkRpAlEKkvSebq0rq7Qz8S0ziv1pObaHSaRBxZtrXlQPbBg6RdfE8ne0HdEySuefichFDl X-Forefront-PRVS: 09368DB063 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6069001)(6009001)(24454002)(9170700001)(66066001)(81166005)(4001350100001)(9686002)(47776003)(5008740100001)(92566002)(345774005)(189998001)(4326007)(110136002)(50466002)(33716001)(2906002)(76176999)(76506005)(2950100001)(42186005)(23726003)(586003)(46406003)(5004730100002)(83506001)(77096005)(54356999)(1076002)(50986999)(33656002)(3846002)(6116002)(97756001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN4PR07MB2226;H:localhost;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN4PR07MB2226;23:78QTycNYSwpplN4RynhsMZfUPVmyQI+K0I3roH6F+?= =?us-ascii?Q?NItLHc74BNTrCiVwo7oXtIe1qFo+Fufl/jSS4Ui2s2Iq9AaYBdslfVLZ1i8d?= =?us-ascii?Q?FOP505MLe0XUHtF8BXtQYE4I12d576EVM5TYNTR4JqVqg2KzyO/Ccbv7Ky0B?= =?us-ascii?Q?9ug6ZAel1Y9Xm4EBF9MrBmwThUDYrHoSQOWrgCLNOcPVQ8zz6+8/ZLGgKpOt?= =?us-ascii?Q?U7qNqH2cnJzUzrGSctqTXcpOzsQaoIw9GjbYFPZrG9Gxqz6p1k69VV/rMyXn?= =?us-ascii?Q?2jHWnAZOOGvNQpH2u++Kq4pWOXMW9XzE4qQv4LbcwPug1/BwwaIj5ewLtS2G?= =?us-ascii?Q?4x6vnosY8B0pra7wKcNK157KKD3Tl2WXi9A0zu/636TuQbTHcRBUJIBN0OZQ?= =?us-ascii?Q?cKGiuAf5aeYv5qF2sk/rWeAyqQtXyO3aNLhDVnGk6M9F5N4zFZrADWFjvCCB?= =?us-ascii?Q?QzEYDokpa+atHMjQXrYDTuW6/t6FduK3vouRIMkMBWRCLMlMwDue1ug5VHap?= =?us-ascii?Q?BVa532Er5EYqTK2gPjD/W3JLiSpRf+63pARgAXzeQ0oafBx07q8S61J7cD5S?= =?us-ascii?Q?bdYWqbjXUCa1YlZ/+ocDFtLTZqyHKdUiYqkrflKC9b1WTw07ULJ+TrW7W3xO?= =?us-ascii?Q?UJa1sQD1bNjOmmU39XaeKU/odW+y46Mpi3FaHIFZ70WFDkgmRjgAS6mMmvo5?= =?us-ascii?Q?G3pQIgTj4I8OTos/FtvDwHU2CxGx70hRftD4tVIPaPhuVtzK6C6AtHM4skBX?= =?us-ascii?Q?+peWQqqhqw6MkAMAwHmld4QP5IlkxgIeYJ5cpbwXU8BdCgUZBb9WDGfT/Nwb?= =?us-ascii?Q?v35Q/8kN2+THUVKNWS9ea1lYanYl9E32HimwvHkU+g4/i3x9SCdFqnkHmfz8?= =?us-ascii?Q?VxL63Q5dw9VECQJWQmFDpyEvRj1Y1uCMkEGhUUcR9IP7XeDeVzcugPVpk61E?= =?us-ascii?Q?mBlrcJs4QsOGM6ygKdAqvuwhWUf0r7cIQMFbwLJqA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2226;5:CBp+WDTD020uXOw4qHTWOVfRkdWSLmSCfjuyzyPOqIE6X6Mmo6gpmZaYLwoFbpikzFto8HmcSq2vzntdUQWg9I5Aqx53Jl/av8MxwfbUHNcsSNL8IXblUTVmKVuaV0KmaQDqpV025P3CAbSJzjnmhg==;24:81S1D1kM9ZOORD1+uA9lXCgVmcNlI+E1A8mbQyK4KlFmsEBZDyrMUibLaH7+e4I/Hi3P+oda8q317V3XEfULno4hHswhWOsn8U+MkbDu/rg=;7:fpkLDDQIfHJxNZoKYWoKD0jgoZX5ylLHR1PlXcHrx9SvtcazuAI97rCR0/CuEqchlfWL69RPvzNuFYRl27c/FYfpoChp0YRMdStJbxpz+mA7/yiUGkxw4e8xqC3Yl/iz51oF07rzjGV6VAQbZAUkGNqKqooGlMUPIu13NFIZEOBRGGC5aty4/CNws4xxKkxQ SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 May 2016 09:17:15.0025 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN4PR07MB2226 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, May 07, 2016 at 03:15:59PM +0000, Luruo, Kuthonuzo wrote: > Thank you for the review! > > > > + switch (alloc_data.state) { > > > + case KASAN_STATE_QUARANTINE: > > > + case KASAN_STATE_FREE: > > > + kasan_report((unsigned long)object, 0, false, > > > + (unsigned long)__builtin_return_address(1)); > > > > __builtin_return_address() is unsafe if argument is non-zero. Use > > return_address() instead. > > hmm, I/cscope can't seem to find an x86 implementation for return_address(). > Will dig further; thanks. > It seems there's no generic interface to obtain return address. x86 has working __builtin_return_address() and it's ok with it, others use their own return_adderss(), and ok as well. I think unification is needed here. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi0-f71.google.com (mail-oi0-f71.google.com [209.85.218.71]) by kanga.kvack.org (Postfix) with ESMTP id C4A6E6B0005 for ; Sun, 8 May 2016 05:17:17 -0400 (EDT) Received: by mail-oi0-f71.google.com with SMTP id x67so296422612oix.2 for ; Sun, 08 May 2016 02:17:17 -0700 (PDT) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0090.outbound.protection.outlook.com. [157.56.111.90]) by mx.google.com with ESMTPS id cj1si19552363igb.65.2016.05.08.02.17.16 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 08 May 2016 02:17:17 -0700 (PDT) Date: Sun, 8 May 2016 12:17:02 +0300 From: Yury Norov Subject: Re: [PATCH v2 1/2] mm, kasan: improve double-free detection Message-ID: <20160508085045.GA27394@yury-N73SV> References: <20160506114727.GA2571@cherokee.in.rdlabs.hpecorp.net> <20160507102505.GA27794@yury-N73SV> <20E775CA4D599049A25800DE5799F6DD1F62744C@G4W3225.americas.hpqcorp.net> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20E775CA4D599049A25800DE5799F6DD1F62744C@G4W3225.americas.hpqcorp.net> Sender: owner-linux-mm@kvack.org List-ID: To: "Luruo, Kuthonuzo" Cc: "aryabinin@virtuozzo.com" , "glider@google.com" , "dvyukov@google.com" , "cl@linux.com" , "penberg@kernel.org" , "rientjes@google.com" , "iamjoonsoo.kim@lge.com" , "akpm@linux-foundation.org" , "kasan-dev@googlegroups.com" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "klimov.linux@gmail.com" On Sat, May 07, 2016 at 03:15:59PM +0000, Luruo, Kuthonuzo wrote: > Thank you for the review! > > > > + switch (alloc_data.state) { > > > + case KASAN_STATE_QUARANTINE: > > > + case KASAN_STATE_FREE: > > > + kasan_report((unsigned long)object, 0, false, > > > + (unsigned long)__builtin_return_address(1)); > > > > __builtin_return_address() is unsafe if argument is non-zero. Use > > return_address() instead. > > hmm, I/cscope can't seem to find an x86 implementation for return_address(). > Will dig further; thanks. > It seems there's no generic interface to obtain return address. x86 has working __builtin_return_address() and it's ok with it, others use their own return_adderss(), and ok as well. I think unification is needed here. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org