From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751501AbdAWSDZ (ORCPT ); Mon, 23 Jan 2017 13:03:25 -0500 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:38089 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750738AbdAWSDW (ORCPT ); Mon, 23 Jan 2017 13:03:22 -0500 Subject: Re: [PATCH] block: Initialize cfqq->ioprio_class in cfq_get_queue() To: Alexander Potapenko , Andrey Ryabinin References: <20170123140643.32805-1-glider@google.com> CC: Dmitry Vyukov , Konstantin Serebryany , Tahsin Erdogan , LKML , From: Jens Axboe Message-ID: Date: Mon, 23 Jan 2017 11:03:12 -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: DM3PR19CA0024.namprd19.prod.outlook.com (10.164.243.162) To BN6PR15MB1187.namprd15.prod.outlook.com (10.172.205.141) X-MS-Office365-Filtering-Correlation-Id: 4199a7ca-339d-44db-2326-08d443ba1b67 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BN6PR15MB1187; X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1187;3:iiLA7PL/Obu0/KoG4l5nky2JXZTJjYKkbwaOwUnadMvdDGBWhLdJJwcwlKPi3goKL4DR1MAMLWSwAqygbbHeTZcWJFeOU/YDUrQSL0vyDpYyauWD28hvSf4yok9y3WSjYaiL/r2jd6+aj6fxURPHWJCFB4t5+ZfLpPUG6XwLZs3d1Jcaep36YwJwuatn3ZnsPIjF0dC/+14N6zZ1p7BuWgtqlvjPqDIsEfTIH1xheglMDycen5rua/0Tu0o326YMWOkEzWGEYz5N4bSaHdKt4w==;25:xmp+3XrmcnR9bSaweBovCJ4tdm7VDBo+GYaT7s6wzXnGdv+xxoR7HpejdZ/8VOhz2ZyRh0SKbiaWl9ktBJZ4UuNORiezBloEYxiUfULGmD91fne2vEMZKh3k/RhyN7nDK4Iucy3LMjZDYI0kGizm9cWaiJ0KcdsE+ORFNF6H2Ve1HNN1LNHtBscG6ixhdLZnxtHENSD590tvjI62Ud+BA7pMZvrMEklcmZuzneMyBFyK1CNiYuqTh+fJkIQ6jCcRZwj98pks357Q2f9B99oOoCOfXEk1kdD7ATPNNpXQ/mBn08TMM7fsVzHjUaQ0B6COfF+or42G9WKXP1WzH4k3pMLvWSURXLnVj0AMpPpcKsW+TuFQ1K7T8sF2pq/hCPXJn2Tkp9PPo912RDrAwWhGYm4SMUL1Hi7nawrMdzXM9c3ryxlMXgF71uTRZhRapT/pe9b/DfAMvzOkN2HehpAsuQ== X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1187;31:eWti+E/Q0QJxUi9WqL8YF2ipmyvCqXMGBhgAYr5K7yxiHOf59/LRuzsfdqHeINMwIDJxmgnRSULSWfwQfOIgzksqB7kIjilWrrIOyWLAZPOd0gBvO8OVyVJtaWK6SVCoZyAjHBYgATQ31v76WquYAPM92XoTzTWtMNOSUDg4gkzpqlKhDuqNVcOP2BbdZdvcPDk6bzeFP9Wn9PJenEN4tiCWJnDLId5rUlu7wGE49ABXvkk/bw1Virhdy5MSb5ygOsm/EWL4DiElbB2f2zmvlQ==;20:CAj36ftHJE89K1Bj/Uz+JrxMqBjE/l67YyWpEgiEPWuXSCKcupXln3M/GPCzwnW8Qh0EyzYD8CAUkyAqkkk6BemC5iy77eSzvLlsZyOEiQZg2QDgUEOH4e2/oNydtPP31UN2DZ1L7boDpADGh2KNpjEhHYEs1jeGbpbxdMTXKVO+NpbC5diVKTSP3fk0D1QlihkgQ7Ftgv/EMLaiEeehNfnqgqh5Fw1+d3Ju3r5bHh9jbCitk1tRgK+t5E1cBUB0/1YTg1Tzf1SuL+SytioZSYKX6D/5E6ozJuFGoDjGIsAoom84X86EV17qsvP5x4BrcE71HcoE6iA78NqyJG8A14dI1lqs0ROE2uaNv58gLxAmJrCXbHPYmZRRQP6Q1sslZU9XG254UMZgNIyoM2BYE7LhNzikF2rWhIentESTLt1IDoaKqHYZr2N9vS2tgzd22jyy1k5oeXLiLz1HYvEkXy5e05J1h93aOAd8gxIPwP7TNYib0SXYNHnnTwJhP8Tb X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(20558992708506)(211936372134217); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123560025)(20161123558021)(20161123555025)(20161123562025)(20161123564025)(6072148);SRVR:BN6PR15MB1187;BCL:0;PCL:0;RULEID:;SRVR:BN6PR15MB1187; X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1187;4:qzrisgq/+Yw6ScaD7sSzhq7wP21n58/dXbVfO3i3e3jbo2Mc4KjryPaZV/DCiMT1cH1VWgViAtZ2WQZVyN3sSe08I1CNWVmiQoISj8PQTpHxl56gYSTKiDMyzTpYrmLM50wvFWeKLJYncePPdl8svFf+NidXN7MSqtu9tLh4EF5RFXIbVq88nepzDrNBwwx/zKUHYcNhyBCVhr4uKWBoUyDGwLc8+sMEOE5Wz1HjvfiDBAW2coV3+k9tG52LvMeUQsv/ItPtquGZ1KcDLNVIOz3ZjcitXouDP5luCdVZjIZCimpHc68Ze8gzIQwy/kW6T54XAzvOmFIzAnH4mMbq2cuW3hL+nSViNK/D1Bth3Dr/gWroIbzLNsfI3Ebi1C62k3Vosbp4pieSnPe2/s6h+Ecs1dgMau/yk08B/TYf5M5CsBWzkWa1HEhq3xH7n/gVDzdabZyGbxxIKzW/AlxSfsElbyMQ/c6YESILcUb5p39U+LyD8Vp5b+TZOuiSxhCYmgfRyZxVLfa3JJHtHleVgfj8btWTgR76JLRdgZbudhqk55LgVmzMMI0ddKO+nI/miO3y3Yv2v9BnW9aCD/T0S4ZZGhOl5T/pZ3W4k5sM2UwLF+EK+0eGnjGosKCOI5O9CaXT9669egMYXdYCuCfzJj787uxK3Ds5VKYV0cLVgudwNmDcKEWd2uVWvki8QAjc X-Forefront-PRVS: 0196A226D1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(39830400002)(39410400002)(39450400003)(377454003)(24454002)(189002)(377424004)(199003)(105586002)(53936002)(38730400001)(33646002)(2950100002)(66066001)(106356001)(64126003)(189998001)(101416001)(42186005)(47776003)(117156001)(65806001)(6666003)(65956001)(65826007)(31696002)(2906002)(31686004)(575784001)(86362001)(50466002)(5660300001)(8676002)(229853002)(81156014)(3846002)(25786008)(6116002)(23676002)(83506001)(5001770100001)(97736004)(92566002)(54906002)(305945005)(230700001)(36756003)(4001350100001)(7736002)(90366009)(68736007)(4326007)(50986999)(39060400001)(54356999)(76176999)(6486002)(77096006)(81166006);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR15MB1187;H:[192.168.1.154];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjE1TUIxMTg3OzIzOkY2MDFlMjFQK2xXcXZxVmhWa0JWRmlZMVlp?= =?utf-8?B?OURuRkkvSXNzeWNDd0pRZ1c5R0lXVW5xZU4vd0ROZUhyQnNwK09NZHBGU2c2?= =?utf-8?B?UmY3WWtVRXNGY0hSazZEU0VLeUFJa3o2enhhM2VhaWJyb3FUd2JoSThqQ0Ex?= =?utf-8?B?RzVFdmtvWUdNSGZVMEhPTUdDTllueGxKZWhEN04zRUtmOXMwQzRPaU9pNFp1?= =?utf-8?B?S1p3a2cvelRqZTdCUmZHbXN0R2RyL2ZrUllZMlNzbFVNQUpyK05CRko4dHAv?= =?utf-8?B?ajRzZ0xtelpJLzBaQ2F3bnpRTlVBYmJtL1c3ZXp5NTdGTEQ4VjI0MVNIbU5r?= =?utf-8?B?VGxJNUFoUzNBc0o2TU1Udkk0TXZWTFltZzRhcHdWSGIzWXpQZFgvTUN0bEVJ?= =?utf-8?B?NllaSGMrWEZpaGVENDBuSXdOYnJXNmtnWkF3aEl4MFliZFI1MUVqL2pJeldu?= =?utf-8?B?Sk5wMDE3RTl0YXBSbURScitnUXB4QitFSDdUYXAwTFQwZUpCQ0xVaWNjUG9o?= =?utf-8?B?RTYyMnFNN25aVzBaTWJ1eFVZUmxQOHZDMHRjcTBaa2t5NUFXVXlMOVNnMWFs?= =?utf-8?B?ZU16ZllkOHBhTEtzamc3enMwc1FXdThCRDhqNVFHS3l3UWg5RmRieVh4cHpC?= =?utf-8?B?TW1OTUlxM2hBTXFmdFZ3Z015akdGNDR3TmRvMzFvaU9BcEM5WDZjdjJRa3JX?= =?utf-8?B?UjVYdEFLYW03YjUzazl3VDQ4bWtqbUh5M2wwSGpSNlU2MW84amZ1dVg5WFhv?= =?utf-8?B?cXcyanhZd0ZYMjlzaDlva2NYaHlLU05QSE15YzNKVVNTNmFaMkdKRWl0dTk0?= =?utf-8?B?bEVUcldJRTBqY1BvK0tGc3lmYjF1UDV3TktjTWo4RFJ1M1Vwc1NtWnVkOXZN?= =?utf-8?B?U3l3d0xFZEtUK1E5RURxN0NJa3ZHRTBkSXFnenFta1ovdTRjRXQwZEI0VS9D?= =?utf-8?B?M3EzVHllOG5TbkRNSm10VWFQMmQ3bFQ4cVNSRGcxVGN1SmU2bUcrR3BudEp4?= =?utf-8?B?cHI2SGpjcHFvbXZqaDJNNmZKWWxkQmxOVlNJODU3bmk2Y0tKVGc2R3VKdmpx?= =?utf-8?B?VStUSkxxbVdpVDNTeVV2YVV3UDNRS0NhY25jL1NXOE5vcW9Qb0MvdEhwdFAz?= =?utf-8?B?dVREM0JLeDRGMDBpbXVuM0paSWlPeTVOOTNIRThsYmgzS29wNklPOUx3SXZj?= =?utf-8?B?UVpSYkFjYWlTdVVPNjM2cXN1MWR6NEVkN294ZW1uUWMyRTN1K0ZWdGlLdmZS?= =?utf-8?B?c1lZbnlhdUlqM3BkM2NYREpHbHBvNzIweCtrY1ltOEZuWTN2Q0tJWXlvNkdZ?= =?utf-8?B?S2NBRGlTSGdhUnVZdk9tY1hUbFdudHpCNU1SbWJKa2VpanJNT0l3UFAxUUph?= =?utf-8?B?THhTWFhkcmI0MVJDd0lldEIrQW1XZGxCQVhYOCsrN3lRejFENEZCZDN1QnR2?= =?utf-8?B?bUFkRkt4SzJmTWVkdWFmVzRweTdzZmpzRkZmTWpHN2x2NUNTa3Y3TVdpczYw?= =?utf-8?B?dlpHYjBWaVg5S0dHUTZ6bGwrYVFJOW9yTzMzVy81SEgya3NIRlIzdkY1MVpN?= =?utf-8?B?dEZtenFpQmVJUzlxcWg0SUJ6QnJNdGZlOHBHU0k2V2FSVlE0TnJYbmROVCtq?= =?utf-8?B?UE90SFJRYnZQTGlLcnRqNndWbjY1U0FxbjF3WG5yNFdiTmtYL0hkOGNkbjVs?= =?utf-8?B?cFVlWHErU3p1dzlsNHpibWNaNmxwR1NPYmZTcmtFbElsbUI4eXRVTWdicWFk?= =?utf-8?B?aHF4dTUwbVVLK3VpbHFxelE1VEdHRUl0SFJUejJCbzJiQTRlOFQ0MmJmb2xP?= =?utf-8?B?T0NSdGpYdFdTdzlUMDBEQ2lhcGduZk9pUkx6Z1g3K3B0YXRXS0duQjZsZjFI?= =?utf-8?B?M2tVUHFKWG9jVFMvTGZUaUwvZWhodzJ0MVVPN2ZwOXU1OVRZTFBPTzN5eDl1?= =?utf-8?B?dFNUUEZxUk5OanBpVHBQQ2p4TjBIQWs1cmY0eGFMUWhqeVMxOWFFT3YzdWh2?= =?utf-8?B?MDM3TnFvQlBKcUhkWTdteXhVOXpENFZXUXJ1d2t5UWhyNXdwV003Wm9YcUhK?= =?utf-8?Q?Fk9QOb9YR/iJHMSyPz12JVKTQ?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1187;6:9uvgYFnNacNxlA5KCkhHxZmcOgJLPYKpy/z/+PLP4djArd5SrWkrD7JwEQTUcP+rAXmLM0eXjj82Lg/kC3COofWUzs4f5bMYgaFurJvq8Ngg8s7ZnhY0SnlKcJcjArgT7xixKq6z1MTHl8p0T5Wq1d9RME5REWaIPefLZ7LY/AMB4QmlYjwk3WjnzjO+/BP1GUmnIJtCuNPr73IKtifaKhUBbfzZf8cy/pKTFbeAI1YsXbFRXw8lTsngm6pVaQ6YWihjJ49nINeiEqfWqVw9O27uLAO2CnMgRjSSqeWQy8E+DRT7Jfnv1/jkf32Xitao+Ivt2Z0KNwllzxHREaD7fJS/RLawuC4Ost/vQOWPpT3eqcmvyWLnX9DnTKbr15R+l5wWtoZdXL59NKEUHJ/c6Ld+n+JINXZR9W/gJlwBXmI=;5:9uJoviSJtEh2SC17POz+5QKyL4xiLVDedHSU5FFHgTJYM/J559Vt8JzmGmQHydKlFdfzZVuZA/0FdLVcJZACNwh4zDnzPnP4PvWLaSzA2VWDjOKm4KPZZHrQ21Na24sjo3RXucUmBDwnHansa7ZjKg==;24:SEP2ZISvdtop6O7Iu6hayyzF4DMfUEiaQjg2ndwgWfT8acrNta6whic/4e9mHMNAKwSo+DGMXbEaSZQOlmzsi7+p0SGsULo19zyhgwsYUhY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1187;7:ZmAHI0zxH6eH8nmQC/gQmMfJmqdVM8eVxbGX1leXrv9zxqQzH4mSLiOBRbRSATTW+bbvXkBziN9ia1n+DV5W4SnBit9jKn1jIbpAcCeSQmBzfFiW0XUhim035KRdBdqpyWIAmISckoi8Q8uRMxMPYLacwd1kQEtx++a3dJmwS5jkGg+EviyS1FOabfzCO7sshujPj3CJWgN7Kph6qAtVd6xAxJRYKzRiZZoefWJjr6CXryapDiVD0UamoHkLAzlPgW7UQdcfFbgwHC+7SJVh/NZT5/znecSHgMsKODhMG8PrzrBfGBnjkvTFijAAZQoz/U6o/THOzVjSwLM6Z+BsTxpQ3T/M88OqVT3B2K541HxSRqgNlgd9HHm6ap6n1Zlon17vYQqnAgT/xQCdhX3Ra/baVhYHR2MBkAUayhXDIl1g5zAkNhEeu2b3+XZ47XH0+jF2nmw5ttbpgudCgL6XYg==;20:S9UzSeRTrqPF4GUpz1qZAU3qZszsURU+rxyGSFPnHTJvxZ1ZmqozDyYZsLTXlqv3T7QYllOVTonEjEVLbtO+A22ljp5vO84Xh/cp6t+0r/VUwnB6PxosDs31+KB/XrsG0+Odwmc74OeCYd8nxtA7g/UasB5Uoe/AJqqW3X1T0H0= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2017 18:03:15.9977 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR15MB1187 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_15:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/23/2017 09:17 AM, Alexander Potapenko wrote: > On Mon, Jan 23, 2017 at 5:03 PM, Andrey Ryabinin wrote: >> 2017-01-23 17:06 GMT+03:00 Alexander Potapenko : >>> 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. >>> >> >> struct cfq_queue is zero initialized (__GFP_ZERO). >> The warning is false-positive. > You are totally right. I've handled __GFP_ZERO in (hopefully) every > case except for this one, and overlooked the presence of that flag in > the kmem_cache_alloc_node(). > Thanks for double-checking! > Jens, sorry for the false alarm. No worries, I did queue up the patch, since even if it is a false positive, it's cleaner to set this explicitly to NONE rather than silently rely on the fact that NONE is 0. -- Jens Axboe