From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751390AbdAWPu0 (ORCPT ); Mon, 23 Jan 2017 10:50:26 -0500 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:55230 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750725AbdAWPuY (ORCPT ); Mon, 23 Jan 2017 10:50:24 -0500 Subject: Re: [PATCH] block: Initialize cfqq->ioprio_class in cfq_get_queue() To: Alexander Potapenko References: <20170123140643.32805-1-glider@google.com> <5792bbb6-04e7-d3b2-b5cf-af628f4cac16@fb.com> CC: Dmitriy Vyukov , Kostya Serebryany , Tahsin Erdogan , LKML , From: Jens Axboe Message-ID: <8399b592-6eab-2c3c-2b6a-28bb2f74e9bd@fb.com> Date: Mon, 23 Jan 2017 08:50:16 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [216.160.245.98] X-ClientProxiedBy: DM3PR12CA0011.namprd12.prod.outlook.com (10.164.12.149) To CY4PR15MB1191.namprd15.prod.outlook.com (10.172.177.13) X-MS-Office365-Filtering-Correlation-Id: abb425ce-b5b6-4e9b-d815-08d443a78898 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:CY4PR15MB1191; X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1191;3:olpW61bZkh2DIRI6tKz1rZjv5JHf63oq3Ec7gX1wF6hA6H0P8LltVxNKgnqSLB+tIFQ6Ge6JqkGvssNyDWg8Bnra7o1JkxcC0sb2ArlXTcyflQqr9DUtK6b7tAztIg3ecfCQxGZpIT9ZtwXWcRNob2sNJ+ryv+XlAsO8+/FntQ26GnTeDkJTQnqYG9yW0wyWcYmn+IIcY4FdoxsCFvwztfz+WVw8RBT+qO6gdBPRhu/0DLV54wE+j3m3CNIqP9DiTEf5vnhPsQTkY+/gQVnigw==;25:KTgzYDJ6LfmZVbnVuuXfT8UKqGUg+guEOMJYG8u0dBICzafesd8dZ4b00yxeVhTOXa/OuQeIeLYdKPsJZUARuUoPmaFD1wgzv9jS3mcp86ky+4+sUhWNZF+6frZc/Bjt3i59d7gL09lPpPvlTot/tqelfZb9+scS51ThbKIRyJ3P6zfsGLNZs28NQ1co+jh+eE3ZQ1Y+VGXae7awp86oCTPwjd/hgw5YALJq39xLR2vCXlKrqrGB05aQRSF8Qy+PF7NNfksSiT8cMkkG1g0zjIJoi6klkhOQgr7EzMm+5Ri4PjbB7RXFERbXBFEqY8NXvr4ckiYY2ytG7Rq9vrFCAsbjR+Brg89n8A4K0vdsTs0qxks73Z6hwbUHdUwZDHsxZzNjT9sCm1mGtzo+qlluxs7uBHKgWMOhBH81ortYYVo5vwGbWvx7aE+EouOGUHSv01krMLa4v94zAfz9Qk/8VQ== X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1191;31:GvToRPn9gBJBaU6hzOLyya/an0P32aN0jo0WXroVAUVw1ZMVugJ+y6IMUjD8IMjCmEPPloufWV+S/I2Jy6nLrUq25KEmLyT7FE4abCWKU8vJ9+Ue22aT2WsdiIHCsN8ApEmeOg+o7L5idqF+I1YOhFRPbnUzJ/TimRDxFS7gz/vcohjcc2BFjbcgXB8nECr2x4xgZa5jCrkvCpw009jh5XdYXypNuQmzc7Ig/FG9hnOEQPfk8mDoXSFmHDbwDaXfCXpyga8G/A0e+l8+GOc20g==;20:xCI1FBB42BRdnG8p/W4zlt11WrFczCXdKFj349IL5l9fdztXIlgBbf9Q9fgAb3Usb5EpGoieU8lOyOfzoYNWKJPE0OfDT0RMOoYSFH8NJJvdmPcyOPhJzoRW11bgPvqH6HeYEIGgKl2Uq26YsMy2xMqK15rOF5e3TnNJY2wcZi+/c5GEdaoJtI+nVnwYP4doKMVMooXNgxMn7admdQHDhQUTuPfCnIChYXgNSvkVtHBDLXp6aWELUVIIh46rJAfmgI5W2vtkwTWvkq9Hd8iq0g+jxHh4O2RhOdkLETO8tFI4w1NKB97NjmjoQyJeQ6+ruT3bi2N6HxO/SPLjFUUy4/2M01zCaCU6GFugYpNC7UOjiFAl6NHNSCkpPmmyIBOVHp0N0SZFA7b74y05/n8+tx1Uz8hl/kQZNZ4wNKwnlngu1srpET5q/iqIZs3MXd14Imr3KxdlepdogusIfvCnxRELN/BaTQ3k6ennegKNbdvDcfa6ZvhFF+VOjb4c35U8 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(20558992708506)(67672495146484); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(6072148);SRVR:CY4PR15MB1191;BCL:0;PCL:0;RULEID:;SRVR:CY4PR15MB1191; X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1191;4:zlnuvxTO3Mrr/u6JCYH6pPKxZHIUpbIEBIkqQcyvzWlkYtCfTHJP2nGG3ol8VRTYGR6FX8pbYqzx2Pq0NDkey7LTWbcFaKwVGqedq15pf0el0nOoqdTxbat/ysW1dpEuh1p8Kh2ihXx7XkUdd2CvvlWePXrBdHA7dqDXKzic7imkuSHBe1SZFLoe52b86vRYlIogzhJ0G0WsVx4bWo8ok+TIAXO9vpHp0f4T28T5lH6zW+XTPAWrFQ4/Kv3HNW1KYn0KQ7hLHnBOIC1qB2BIuOnjzIDNKYcY/oq7iartAu7xLGARI+w9OTbs+0JF1JiJctN6BvbUWxLDOt4zEcdu6wR5zYmb5aSzyQikZBdNge+ttpKX4BLwom1jZbGJyNgohVmctcZcsmXiks2ubo4TUU6LsuKmNpDzotHMfaTPuy+sx+zlRCYCzhtI0ggSlyj7hgL70t5LggUH5DDC78scqCSHD5bIb21rcgrcd22X63BOwsfCVeWOGaxxaOBBXLjxPQ+NpTCsSXs7DxA4+NggOLO7KJpsNlfhxyTETcB/qOtUJbDfWO9Zu6OW/ksCGwbhwrJoUrpWxxmSxGKTndhEfqqDkwkj4gseaCTwz6VRQkB4m+k5/axLyGwiPipY+Hs1UjBCdrF+qI6F2Dj64JrTVA== X-Forefront-PRVS: 0196A226D1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(39450400003)(39410400002)(39830400002)(199003)(189002)(377454003)(24454002)(105586002)(83506001)(106356001)(65826007)(110136003)(36756003)(42186005)(5660300001)(6916009)(65956001)(65806001)(66066001)(68736007)(47776003)(31686004)(4001350100001)(3846002)(6116002)(31696002)(86362001)(575784001)(97736004)(6666003)(2950100002)(4326007)(189998001)(101416001)(2906002)(53936002)(76176999)(50986999)(7736002)(54356999)(305945005)(23676002)(92566002)(117156001)(54906002)(33646002)(64126003)(25786008)(38730400001)(77096006)(81156014)(229853002)(230700001)(81166006)(50466002)(90366009)(8676002)(6486002);DIR:OUT;SFP:1102;SCL:1;SRVR:CY4PR15MB1191;H:[192.168.1.154];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjE1TUIxMTkxOzIzOlJXVUViS1hhN284UThsZnBzVnczR0lkTGFT?= =?utf-8?B?c0tKakpOSW5NNkxVQjBNV1c1a2NPRGRwRDdQdGdyd21mOXJFVzcwVkVvMU84?= =?utf-8?B?dzFYbmY4c2pDaUpkendLdmZxTWpLRnV0c01UTFB3VEtvRHR0YnVwcW9uMWd6?= =?utf-8?B?ZkF0RlpJa1EwR2tKeGdkSnBJOGw2MnlHN29tSUQ4ZWRYOTJsYlIxMlcwMEk2?= =?utf-8?B?Wkd5Nmo0RDlmYldOajZzU1IvdkVGTmNITVAxbjFLZkx4dlBEakE1dEY3ZUdY?= =?utf-8?B?OVBVYkcvTWZEb2xYMi9CZGtwQTFoL1VaZm5lcFFsLzFuWmxUS2oxSDFTSFdy?= =?utf-8?B?Rit2a3VISjFqdlQ3N2F2VDJpNmhySWpoalVPT2Y0TVJvM2NsbnVEUVdZZk1K?= =?utf-8?B?c0RkZGJJLzRqTm1TQ2lIditETWY1YjM5ZC9YeHVDUVFGbXREVUF2L1ZYZkJT?= =?utf-8?B?ek5oRUxvdUtSN3phcEdKQkxKbmpmVzhqQjRWbjhtYVVkalNFd3czSTZmOVBj?= =?utf-8?B?M09IT3RJNEk3TVd3SjF1WFRkZGNVUmh4Z29zZmRlaDZuQzNYN2dJbGtoZUUx?= =?utf-8?B?L1ZXOGNPTlJHZ2NGci9pMVpvOU1SYkFHTzNPTTUyaWVNbGNzZG1Jd3l5bHFs?= =?utf-8?B?dFNacUlCQ1k0Y3dHQU5pT216THNLZHcwelFRbEhQRjRVK2dmUzJ3dWVXUXBs?= =?utf-8?B?S2xqbWlMbkZ3RERuQnAwWGhjT1ZUTmdyQVN5VWt1cFRXOEFkc3FqVWlsNVFl?= =?utf-8?B?aUxpS1BYUmFMbmh1TkpHVm5aVzR5bTNvaTBYcXJ4YmwwODNtV05JMUJtQ0F1?= =?utf-8?B?M24yWUd0T1hSZnFKd0t3U1JMNE16aEoxUCt6NG9nem94b0NQOTlhWksyUEJX?= =?utf-8?B?cXB3QnpsZ2V4V0JNdjR2cGhqdlVPYzYrUWRodW52S0dMajZidzdlVDBKdGd5?= =?utf-8?B?bGMzV0xhR1QyaFJPZlducWZOckN5SDRVZnRJU1lwTkFVamVwOWpPLzljL1pM?= =?utf-8?B?eUJVaXgwQnRRM2JRbTQ1WGtSc24yVTh4S0x5UnZMZU8zaE9pZFhDTnBrenZL?= =?utf-8?B?YXRXTWQxWnBKaGFxU1c1bnNwektDSDZJNlkvYm5yY3dPNTl0YnVveXEvMlQ1?= =?utf-8?B?NWovRUM3d2YrSHc2OFo2b3FaQzBKV1pDRXpyVFIvczZDbmd1NTg1Y1VhK0dr?= =?utf-8?B?Z2JWaktXN3YxZGhuaUVQM0pCQ2toK0hZSVFzM2dqNjRLKzlnZEdWRmdMT21U?= =?utf-8?B?OTRZL1FrMnZkelFTSXJKYlpKUjZ1RnYwaVVOU2cxWUZjZkJJY01sOGZJYnRi?= =?utf-8?B?dnBVWVRjRTdCOHR5UVFhMEJkTXpHMEtYSlo3VW5neWVielJSNnVpTkZ6SmZS?= =?utf-8?B?d1FaY1cyTVZKZVVDZGM5RFRIM1VSSmhLdks0UDExWGtkTUpSckFCeGJyRDA0?= =?utf-8?B?eDI4ZThKUW1VR3lGODNJTElNdHp1S1pZWFVRVGYvVHVPRDRHdWFHM2Vzcmlm?= =?utf-8?B?UERpMWpFVlJDR01TdEEreEJldHAzR3dUak9YQTAydzBkZzVyS0xLRkFQdFc4?= =?utf-8?B?VXlnbWh1SFN6U3J1YVQ1TzhJZjhGMVBWRVpwcXVCblVHRmM0SVdmeC9aUktu?= =?utf-8?B?UFVHT1g4b21EZFBhS2NTRUYrZjE1cEJKYi9GMXNLNk43dWpnMi9Bemd3RG81?= =?utf-8?B?KzNIUnJveGpkNThPUmR6aDZPM1VCL0E1SVd1M2VlWkRrNk5KcWNlZkc0MEc3?= =?utf-8?B?RWovUENmNFlZUVZKd002QWhpMDczT0M3T3M4ZHJOMjRSN3ZXU0d4aFlMQ2kr?= =?utf-8?B?TWJqVHpncGMxaGRMcEYxVTRkNGM3RXcxVWpLYzdPUEkxVFdwaEhaWUpuZkxG?= =?utf-8?B?bmY1RUtnempYbURMVFdaWGVRcDdVNTEzVFRDM1A3S3RjZnJScW14YlhmQVJt?= =?utf-8?B?dXVuT1BCSmc2TkRFemFnbTVTdDBNMkdSdXBIaSs3cXYxY2JBQ1JrYzR1SGJH?= =?utf-8?B?b1ZFaFpNaTFsMWdXR01OcXkwUzBDRG9EVHpHdz09?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1191;6:YQ59sz7LFubn2xqOo4PxR42WgdPYb65qtzdaZ9KXJyO2LSO8Vg5DSlO5K4y/jY9zPPKBtx4ioJhSlwuPvd2zUqepfikedEUK+j0kR7lCpZWyaJwX6lewSHkY6o8Oe5KYXjq4CHuerCYzg361NSdrWjjRNXujft2/I2o681N3eOsySzj5/2k15SmNR02U00xU0RqG0+f7xooKEPwGQdeVOvIVDMgUGp3QP0preWLxCQgYdzq2g2Dms9ZYpoYofa7ZLyTufLf8/7075M39P8MBeVsN/ozYcvhtq8tD1mHAptyh/C4dr+HrxheuJn2KuB+SuqQo72AkR1KZ+49hZ7hJJcH/3Wf6Mc2rz9Upn5W/O+/k8lQ3CHBiX8+6RwR9uCl4LP+mu0b8zPI9NqDXEmkoGKqPDQQvT2zMhBcPTsmFF0o=;5:u39JLwTZdEJLwnMb30gw/PhofBq2SixEo1rHDKngL1ide5ty+RKG9XQXxC1+ebU4HGHAoufXog55klx2eH6Y/td2AsjFIAJ/X8WHz9BM4jYfob4G4zhJ1oRBwe4m1mYk5nKcE5LEI6ZR6TJdIRMPUg==;24:jamBxvuJM2SUwnL0SFt/qrQFhZT6GkJOZJ3kGLaZ05PNTdwNhInmP6jxAWrvo3eRWLvpE4hJvelvZ2LguGUT1ZhQtOzUERUpJvMG9HMUKYQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1191;7:Kp77zYNrg8t5SqB8JCFPvIjjPtjUh0BQdcPHsKU2qeDwKwsD38SqcnL8cxx/KMkFQdJm9DmYjdp2/LaWJNTSdgC6isqL6/LU3cqs43AvvVlMD2dCzmYDmKu8rWlCUomu9AeQiezRfpsBiwIy96lnRZUoSNh4WtyuNJ0k4ZkSPXPvjr+p9HauAqQZpdAl1h4p8ytUDjzaNIHknCO68U4tHJSsxZdPZwEQvN3GAZmIa5KQuIQ9RAsalKda6sMWNG3K6Rm2X9DZBC4JfwrLtHdUAFY6wmb8CwVOATPgvrx2a+aIoTOtAa2LAJokpex9kMleyqrQvNeESEH1bzrodtQi2h5urFjSvuiDZSBhTnhNtslTjlTu06xgbb4BjgVPkCxifOBNlD14qsVJElW437QO8FAmTvJ/ApOQCoWp4EvorKbnGHBSIn44hkdPuNGWws/3aVjBL2UgCsECOUFDRppJRQ==;20:ikyFVhGd+Xw7lUDCW2Ywb0dqqX7+KZBQEbxpys3OfJK9wm75fUftHkNlVUN7oSbSSbTHgkb34beC4EhEnLdD94Qdgd/0WrKWI9V6/xtlSsNWjN+ZkW5Nv58YqhVPL3qwQdSVWSurDl1EE5vuBFFkt8+VkZVZ/nlCv1EDqQr0R7o= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2017 15:50:19.1616 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR15MB1191 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-01-23_13:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/23/2017 08:49 AM, Alexander Potapenko wrote: > On Mon, Jan 23, 2017 at 4:30 PM, Jens Axboe wrote: >> On 01/23/2017 07:06 AM, Alexander Potapenko wrote: >>> KMSAN (KernelMemorySanitizer, a new error detection tool) reports use of >>> uninitialized memory in cfq_init_cfqq(): >>> >>> ================================================================== >>> BUG: KMSAN: use of unitialized memory >>> ... >>> Call Trace: >>> [< inline >] __dump_stack lib/dump_stack.c:15 >>> [] dump_stack+0x157/0x1d0 lib/dump_stack.c:51 >>> [] kmsan_report+0x205/0x360 ??:? >>> [] __msan_warning+0x5b/0xb0 ??:? >>> [< inline >] cfq_init_cfqq block/cfq-iosched.c:3754 >>> [] cfq_get_queue+0xc80/0x14d0 block/cfq-iosched.c:3857 >>> ... >>> origin: >>> [] save_stack_trace+0x27/0x50 arch/x86/kernel/stacktrace.c:67 >>> [] kmsan_internal_poison_shadow+0xab/0x150 ??:? >>> [] kmsan_poison_slab+0xbb/0x120 ??:? >>> [< inline >] allocate_slab mm/slub.c:1627 >>> [] new_slab+0x3af/0x4b0 mm/slub.c:1641 >>> [< inline >] new_slab_objects mm/slub.c:2407 >>> [] ___slab_alloc+0x323/0x4a0 mm/slub.c:2564 >>> [< inline >] __slab_alloc mm/slub.c:2606 >>> [< inline >] slab_alloc_node mm/slub.c:2669 >>> [] kmem_cache_alloc_node+0x1d2/0x1f0 mm/slub.c:2746 >>> [] cfq_get_queue+0x47d/0x14d0 block/cfq-iosched.c:3850 >>> ... >>> ================================================================== >>> (the line numbers are relative to 4.8-rc6, but the bug persists >>> upstream) >>> >>> The uninitialized struct cfq_queue is created by kmem_cache_alloc_node() >>> and then passed to cfq_init_cfqq(), which accesses cfqq->ioprio_class >>> before it's initialized. >> >> Patch looks fine to me, thanks. Is this a new warning? We don't seem >> to have changed this path in a while, yet I wonder why this is only >> surfacing now. > > This is because KMSAN is a new tool, it's not in the trunk yet. Nobody > could see this warning before. > I don't know if kmemcheck detects this bug (and if anyone is actively > using it for testing either). Ah gotcha, I read that as KASAN. Then it makes more sense. Thanks for clarifying. -- Jens Axboe