Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751745AbcDOP7N (ORCPT ); Fri, 15 Apr 2016 11:59:13 -0400 Received: from mail-db3on0127.outbound.protection.outlook.com ([157.55.234.127]:36320 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751137AbcDOP7L (ORCPT ); Fri, 15 Apr 2016 11:59:11 -0400 Authentication-Results: kvack.org; dkim=none (message not signed) header.d=none;kvack.org; dmarc=none action=none header.from=virtuozzo.com; Subject: Re: [PATCH v2 2/2] mm, kasan: add a ksize() test To: Alexander Potapenko , , , , , References: <2126fe9ca8c3a4698c0ad7aae652dce28e261182.1460545373.git.glider@google.com> <562d43518232cf7d26297ee004255a083b084071.1460545373.git.glider@google.com> CC: , , From: Andrey Ryabinin Message-ID: <57110FDD.4070900@virtuozzo.com> Date: Fri, 15 Apr 2016 18:59:25 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.0 MIME-Version: 1.0 In-Reply-To: <562d43518232cf7d26297ee004255a083b084071.1460545373.git.glider@google.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: VI1PR07CA0109.eurprd07.prod.outlook.com (10.165.229.163) To HE1PR0801MB1305.eurprd08.prod.outlook.com (10.167.247.147) X-MS-Office365-Filtering-Correlation-Id: c7b00fa2-909a-4058-44db-08d36546dfa7 X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1305;2:iI2fFB/9wcf3pc9vmzuTN8B3Zk3sAtaBYV5fA446DinqpZR3CG7P3uy5jUY8tA1zosK04vwNqOsFQuWTfXMk3iLB6mSlKTqw/YrENDfhNqQzjf4F0/1f+e2FuJWO+vGimU3Yccl7saF8X/r2Zy+DSP+9f6MJpLX8Av9tz0cInWIYmUqysXJwiPgZ92oalr2d;3:CQGvnA8QiTgZP2y6oaJmcL7kdRFwOJyHnLQjqwD59vFliEVn44xK1w4hlw8jAQan9RrJgLnSw6CTp+xV6zt7rf9vQsqA2FxuFHd5R3IuM69tz0ek0F0erglS+UMr1nUr X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1305; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1305;25:U/XO7BfsIzBE2rjnjShmtORJcTgXZ5imySAdS2xR+YHoRtInTeoCLoQnRMkRA2t+98OKOdT4lU7XI++n5htF7egl9lhCn6/PS6aQbvv4U1vYj3Auh3xA7+W39tVz2fQi6pILQSugll8Mx3LLdHemQaVLx3/xCrP3T7P0E2J1PIfO2uVYZlCIdNyO15zRoUabNwkZ6HHVRUGMVD9eMnuc4CUWZbbqQLao0/5kLNXpMSubd5qtch2HWTgO6xLbTFfJT7EVhsku57tMzbehowYH6ymq2DeEJyJCsoZxkFVOgl1sdT0V3bvE7beZljbcn9SQrgxrV0EieKCLo3/In07WW3dy1y97RKI0+Ed/wPMm83YdUOpOlXLx4+dmPF+kmiiqwbhxOx6FSp9gkjQY6kciVIil6LAAQldTW6eycYmBnUcucVUzOwKMLEI47nLiPpl+a1g0Na80OUF9vYXKbsL0OJN/teoeu9RIcfcxP9iXBOQ6cAv5eFlx2CKnQ3/KG87nliFchx3YOFT7jlFhOdkiR7P3mGJTDiG59Qlk+I+hpP+MGEtrClfwI48VGow0IG5aBZVrOXDacz3llpK98ozSVw9/znXjLqt7YMVjWlNUq2xvh3oEXwSvnesNSXusJwYdymlmPcEigHp8Jw7QXLZWmA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040130)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6041046)(6043046);SRVR:HE1PR0801MB1305;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1305; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1305;4:fLVFTBC8wyDyWT/NSjVwIoPLG3dFBE9sdHjfqjTHY8BZ77JcJ0nEW9ZgWfXRJEQL5lZ6A9SH1et6YYiiwruengha/79r8cYr1ftkNIZJNK6t78dcylzgyHDK8YaPYTNWEciWCePI5FwXXZqgne93fEePVvee55tnxeBT83nGp92r8AfAlm4iP5rdUh+mY1yT4hPdqCvdSEivtXgh7Xdsm7xVET95w4HpC8P5QY1lAQOPEl943Od+obTHId9mPPGpaZXAX+Kxr88D4eF0loi7HI/10mX0owL22DtsMZAJVFZ3X/GLZdOzwrnv8OcPfItj2hOho1xUCLd1RFZuf7DTOzGzPPuxrlt/UFX0k9cEGQaUEVnLtCaD0gKsVowu4/u/uJovNhlE4SqW8vybIgf1j2PpusjsG1/u9vXf4ewUU68= X-Forefront-PRVS: 0913EA1D60 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(377454003)(24454002)(575784001)(5004730100002)(189998001)(2201001)(77096005)(92566002)(80316001)(54356999)(87266999)(76176999)(50986999)(59896002)(36756003)(5008740100001)(4001350100001)(86362001)(5001770100001)(33656002)(65806001)(42186005)(47776003)(99136001)(65956001)(66066001)(64126003)(19580405001)(19580395003)(83506001)(2906002)(6116002)(50466002)(3846002)(230700001)(586003)(1096002)(2950100001)(81166005)(4326007);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0801MB1305;H:[10.30.25.228];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;HE1PR0801MB1305;23:NlK9zVypCQpFqjAug1qnUr5jmhYq+VWSZ+0?= =?Windows-1252?Q?xR8pl28wpXNJ5roSwLmU5zuOnMexGtwWoJ8fleX0TVmHYCP3/EVevz85?= =?Windows-1252?Q?jKPtJK3ne7V5tNi3eGZSdhLJrI1rC4s/nf+1v8OfeRPTxThdu8vkn00Y?= =?Windows-1252?Q?aK/ai9SUXAF+U3D1IenjMLvKiBu59Or5g0Xb/Ob3ZdhucRi+eOLmZ/2h?= =?Windows-1252?Q?7QX6GdzqV3p5ijIlUxVEBOrTMATzMUf6BhNDQj3RNSQDBPHFy3Pmk0Mn?= =?Windows-1252?Q?gxwdv2QZFbwKAS0Qne+rukRVB7sP4sE3ovDHz3eDVVUoS2OQWJvO75fw?= =?Windows-1252?Q?XUoR2P2/GyQQRo7wgXUJAI1yIzPaYkLLkhfv8goaDS4p/Ca+RCakSAo5?= =?Windows-1252?Q?gxoQ3iKTOkA7iue71Klhg0fsN0X9dO1wOqmcspnmOuV7XTUYUZwQ6rXx?= =?Windows-1252?Q?YMa1TeZSNGFLRHeF6lnoze4e64qoC3aLjo/fpdcrQh6+s9EVfh7Roah9?= =?Windows-1252?Q?GuwN87Le1xGvFz9Vzv57Ump567K2AR41G2gQXX0bJPSxv6Ckjn34PzJB?= =?Windows-1252?Q?4RvqSgUmUVFhHIRwUClGSXZ31kUjR/TTG44CmB46ePgwDOLsNU3oGfvl?= =?Windows-1252?Q?X4W7mrpXJ8hOzIep290hq42DQmHhnaRsMxZ3nlj2sXaEhC2TmttK2+/D?= =?Windows-1252?Q?Fi8iMDfDJbCPUZiPfIg2794hlbZ5JpCa0jtqBfenVdw+9kDyZGyuGVt1?= =?Windows-1252?Q?k2yYFUOhQ66go5o1mVijLSjPLjlqc09EHUwsosxM/As/D51EJLbPZ4fj?= =?Windows-1252?Q?/VvzYyopojX0yGmg0oQTY7t9BJBtfAKLdN/CS65VniZkGxRfwgEyImnf?= =?Windows-1252?Q?E+SPVWWpxNJ686KZR4lidDyfkppEhXkqr6RZvDjwosptq9PsQaDWn+4X?= =?Windows-1252?Q?wtwkzWZFosZa1EQiGOhOM5L/3XvaS3P0PvkkPRN1MqsMlpXcaL5VvT4k?= =?Windows-1252?Q?WF/sJcm/VvzxBGVPxvFK5QxK593oBcBps29wNm2zlDLAobHHico1RurR?= =?Windows-1252?Q?olwHQQIKbrS7AhKcAIH871HMK6N021SMD29aIVFkpoaYV/XcqY7y1K25?= =?Windows-1252?Q?cuwvhVGcxS4MBrRFTtiYIUbwM/Pv3QG/BAHRd3ML0c+/fan/2Yx85ifk?= =?Windows-1252?Q?7I6RAqwE1Uu5XS3ZBFCzk25LNyHAB1vE=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1305;5:zc6vNHLqTPFCo53cpGYcgnbiWWa8km72rW8vC1I1zi+4gFp/8163Gn8H1+zRWOdbrDoXndcXmEn6QfCctAe0vDEEUX7jCD8voSlOJGkQRUlzXKpmcz/cUjRykQeS8n35krUVPWim4V9hcgVv6EVsxw==;24:3vt05cOxicejo8R4787/Bo1X3jKLPJQ6RiNm45meYkxmFFj2LqbXMimdb3WzBJGSJQk+tZwUJ99TVca6swUkN6i9NpGXpXT2mJy6e1MOvrM=;20:FgTlzJK/z0cQz9GIUbjabzEzWzz/U8XPaZng3PMIECaVMw0wzvcDRHcHOm2ooZ5lohnHsUVHnvCOeUC1gxgkv9ZCzwbWUvEuiAo37ywhX6/hurhYfErbZZ4EB0/p7wRqKhOu0qsZd0LwN3lFlfqV5lEwfRvu89B25Go2U20yw70= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2016 15:59:05.1893 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1305 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1345 Lines: 54 On 04/13/2016 02:20 PM, Alexander Potapenko wrote: > Add a test that makes sure ksize() unpoisons the whole chunk. > > Signed-off-by: Alexander Potapenko Acked-by: Andrey Ryabinin > --- > v2: - splitted v1 into two patches > --- > lib/test_kasan.c | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/lib/test_kasan.c b/lib/test_kasan.c > index 82169fb..48e5a0b 100644 > --- a/lib/test_kasan.c > +++ b/lib/test_kasan.c > @@ -344,6 +344,25 @@ static noinline void __init kasan_stack_oob(void) > *(volatile char *)p; > } > > +static noinline void __init ksize_unpoisons_memory(void) > +{ > + char *ptr; > + size_t size = 123, real_size = size; > + > + pr_info("ksize() unpoisons the whole allocated chunk\n"); > + ptr = kmalloc(size, GFP_KERNEL); > + if (!ptr) { > + pr_err("Allocation failed\n"); > + return; > + } > + real_size = ksize(ptr); > + /* This access doesn't trigger an error. */ > + ptr[size] = 'x'; > + /* This one does. */ > + ptr[real_size] = 'y'; > + kfree(ptr); > +} > + > static int __init kmalloc_tests_init(void) > { > kmalloc_oob_right(); > @@ -367,6 +386,7 @@ static int __init kmalloc_tests_init(void) > kmem_cache_oob(); > kasan_stack_oob(); > kasan_global_oob(); > + ksize_unpoisons_memory(); > return -EAGAIN; > } > >