From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752902AbcHYOjO (ORCPT ); Thu, 25 Aug 2016 10:39:14 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:16717 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750969AbcHYOjL (ORCPT ); Thu, 25 Aug 2016 10:39:11 -0400 Subject: Re: [PATCH] fs/block_dev: fix potential NULL ptr deref in freeze_bdev() To: Andrey Ryabinin , Alexander Viro References: <1471967731-3465-1-git-send-email-aryabinin@virtuozzo.com> CC: , Maxim Patlasov , Christoph Hellwig , From: Jens Axboe Message-ID: <1d7b94b1-f20f-f68c-8aa2-cfd2f3786b91@fb.com> Date: Thu, 25 Aug 2016 08:38:45 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <1471967731-3465-1-git-send-email-aryabinin@virtuozzo.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [216.160.245.98] X-ClientProxiedBy: BY2PR07CA077.namprd07.prod.outlook.com (10.141.251.52) To CY4PR15MB1191.namprd15.prod.outlook.com (10.172.177.13) X-MS-Office365-Filtering-Correlation-Id: bf1ce908-6029-4908-6cf4-08d3ccf58750 X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1191;2:+e3ID/zja+WAdyAH46TcO/7X/FYR0wkVR+FZx3eS/paoHk0yDFCv+wnNFyYvQlxtmQW74vgR5U6EN7A6OPdCOdHP1EnzBfFmSCrz9xEqLoR/D/HjHEHu1XWBYAnh+J2upSXZSjAqRUDY2NgezkOiWFscVHw9cYpP7hQEPBRtAQocB4ACeAGscCKK0RAuGB9N;3:ZavcnYOJ4od77AGhl3/uLR4g7/Z1dF6t5AitDLXRK41oX5O3j6panZMtMRjN4TDeCxwk4nctbb9blWIGBwZRHy0E8qRal6xBgRrEdUPJoDmsCH7HR8RSukWehlRzB5bL;25:W+3QzdT8WxJUXQeTfXffROlvYk8aDODCRqRJVN9aBKMWKG9gYRTlnPDGvGENPy06VYsQdjOs3u8lH/1QCSyg/eSahCuCe6345NrRS9GV/6KGBV8Zn3VxuYy5bqeWuRDDZ2KzbhDNDHwK1aPqkcPlw0pmQfAzUbKfgffD/OzP//DjR2scFLN4jomWbVfMnq/qIWzf/uNFwdn0HOuABJThk5XE1jzsOcvpUW7L9V5+3OPkq+bNFJV2iMJ4VDOz58r4+G56AYMu11ETF/Wa4dtmNAs9ABVUJ9c5M3Fv7SLe8N+09pbbfnqgnOcKaBcgamDLd7yU8UfBRrJ0l2ni/HGGPPJ4KffhjP5m48admXpmpMJy0r01SYrHhc7v1bKKmEIN2ce/q3IShW8i4xR+6rGlcwe+g41RGh3PZk9nok0NDB0= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY4PR15MB1191; X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1191;31:/DpuczXkNLf8EOPeeyzadR+ftGuAJOSrzUqcn8CZt7zwJOLvwI2BMCin5/spuwO/PPlwn628GSkhm1UbTQHvT62+SqEng6D+K2ugZVbjJ2GM5gorOnkZ1THoXsQr3G/WHX3pZNYykuK/K1pCeM31wpNzqknxtsQTlr4SqaAlBiuMw9gbod8ZtQp0n33JArCGKwOJMFSnI7P8hi/qDbK8Dxb7K63G3Zqc8qo97FrfI3w=;20:puWMJBLS1kTybPVK6MVZRpgW4y4YiwroKmgDY14znOvuLvERfcRLEbFQZmG1vuvBAe6TL207ELXM+Rv689tRuyMGZ9loWCINOLxA9mVhE53DuVJmcYZjMrtyiPL8GQWSyGhdeoYruWpNG5jdEWkFtlM+RSX04yg8oFZL4cqjTzw=;4:/sbCjXxS2Vc1sABHIuWUeFEexVeeozl03MoCdwJ7nHFyEX50V3yBAG8Nhf95zt1/8v06n7Hvws1xUQwQj33OwLCYIeqDfEiFvu7YMd/6tRGWZt5ElTSVPT8GU4Is4UvxNEzpgPaVYkkl3g+3w8Bp84gulDnZhLYRoKgN7DNvwZlURKgoPjXUfC3QvswpgDan5KRBO6lWRUl0DIBM6NYJe1+wuSVGWnf8Ieen4kNPA9zrVGhq1MzewX81ZHFIHF6SWLElRXggUuZkmEPgZJVFqDUPgz6HqKW+mdy0Op6Ljfm5c5SG15xHtLDPNlZHtXU5KQFhKWTka/Sc0XfIrs0iC/7HKByNQNaLzQ3K+/DVBpwKOyL28hnXcEWQBiypChxVxOwBx//pRz4Ew+b2oXPyFA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001);SRVR:CY4PR15MB1191;BCL:0;PCL:0;RULEID:;SRVR:CY4PR15MB1191; X-Forefront-PRVS: 0045236D47 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(377454003)(189002)(199003)(24454002)(77096005)(81166006)(64126003)(8676002)(42186005)(92566002)(31686004)(105586002)(31696002)(5660300001)(83506001)(86362001)(101416001)(54356999)(81156014)(76176999)(50986999)(36756003)(4326007)(117156001)(2950100001)(106356001)(33646002)(50466002)(7736002)(305945005)(5001770100001)(7846002)(2906002)(3846002)(230700001)(4001350100001)(66066001)(65806001)(23746002)(68736007)(47776003)(189998001)(65956001)(586003)(97736004)(6116002)(65826006);DIR:OUT;SFP:1102;SCL:1;SRVR:CY4PR15MB1191;H:[192.168.1.153];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CY4PR15MB1191;23:uf3NaYffdDDvQj2UJv5UE28nq7f/dndEUyLGw?= =?Windows-1252?Q?CaRDF4EGwcmw/ENNiJRm4wCKZvdcZEIFokyNIgoV2BRxHEUA9bqzAuAS?= =?Windows-1252?Q?DeZixEBvBW9xyenmGypglAqWu9SuJFbiiIiQJmIGdhUzbmpK5flKRmko?= =?Windows-1252?Q?WsPvEJfZSBCgOiC7UhZI32/4YC/N93PTPF+/ySN1PwN2OxLGr+cP0sby?= =?Windows-1252?Q?ZnoYfl4b+b7QHzaSjPv40zBmgoPNgPrY/ATOd4B0xxIIfru2wGnfmKOw?= =?Windows-1252?Q?RVgpKvOZbNThhRV9wKSLaMPRFFsbAPPtDh81yh22PX0/qp0Y+mazhSS4?= =?Windows-1252?Q?NmM82TQr1dI15/Y9sHJXXrp0dgt2vaoQoQY03lPXIQ1kJZsHmy68fhf3?= =?Windows-1252?Q?9QYEuZCYgNThMQpOAEPQ6gaWr+oj30Cx6rsVYdLADp2R8A82/K3jFQ8e?= =?Windows-1252?Q?t4SX9jEvU4v7owI7HHhNmSkkEIzZMQadMvaXVlNlylekvtFPaQDNdg95?= =?Windows-1252?Q?QupsRdwydIWnE/p6UoRmO+1e6yBx5nS7cN3Pacbv0PceaeoasfZrsiG+?= =?Windows-1252?Q?Ft0w3Up4ke7+WNEQeijOGfAR5mHV1IXlBJL/NNQ7heD9S45drFCsG8t3?= =?Windows-1252?Q?8HTfjNcKtdGxLxUmVVu+cNL3On3gbLPCuYtRKV2bSzOB2e/YAoQDpIgp?= =?Windows-1252?Q?Qqo0IjTdNIgWSN78ayIhMAWpUv4if8NSAWv/D7W54yXinju9MKOLF5Q6?= =?Windows-1252?Q?nCm4Gj4ZIdQahxSQ+oSpO3Tz9ZygC2gD+WiJKLSosNd9YDhEAYmejyYR?= =?Windows-1252?Q?8Mivo+aqUHTmqXVVHaNp0ribDici5NKSB5mtdiT0u2bLAVw4YAYiChOV?= =?Windows-1252?Q?IxXf82RifdiD3fx2Vsg7V7K8lc5bAavRzFDu7yO/A1CGpNtm1GsmzWyl?= =?Windows-1252?Q?udpKyp68p6olwXP9RiTsy8sSDpVN7Kf5HfkrS6VPYGzkxrwf5BJ6iI8/?= =?Windows-1252?Q?6Iw68p8Gko62euWBrVbvRqH4AYpO025jAOkRtLKcyOvBqbn3qS/W74wA?= =?Windows-1252?Q?qqcSyn67XO/BOuBn5MiOoeyeAkeWDYcPYX+Vy7Ksctkj4sisP5guke90?= =?Windows-1252?Q?ngktlIHr8J2vLZMwbzw1k9uccp342/BHdAvobq9U+BVWTNjuGW1twfDp?= =?Windows-1252?Q?XbXlz0DPnPpiKzy/Et5W15r42Khc9Beyl/Dy1vUK78ra0gBL1op9huhx?= =?Windows-1252?Q?IgfatnVrdwxDi9A0BeFU4Q22Gey4sp7THrRJjvLq4JLiEr+BMCt+lwFb?= =?Windows-1252?Q?FTDO320Yxx3AJfiNf/wfxW1VxifJW9GhjQtFXLswGcsM3w35stu774Pi?= =?Windows-1252?Q?larK24Mtqvm?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1191;6:0jXStkw0LVQbcohjIM522yPEscwHFr52ZdjjgcXd6f3vA6Fy4Z99F0VYbvgAtEgUVzrp0UGNnZsDD1GxUp+3rTK+SY3+/Ex6UJn4SrYOWeQZFhCC8Pk7pnD9yN1MUaiENhdRzpp5j2hh6vNyTNYHw1p30XPtjuyxPB1N45AZqRypWp934ldT9i5OnJGLz4cXQm3EaDEHVAyivB+m7O9pW61oCaRlervfafVmnQSrcOCng0mTbodOKc6yTLMP8h62nvQeI1hR0FulyOq9bylAhv3QDm5gq88p0DNJc0k80/g=;5:hShAt5B5K42TOPz24+BnWMipgYX5aIEREb47q3vqczLoTpA/8rAJreDDrQ35SwwC+DDwmbL32K1cqiSeAcqUQuU1YtSQdBmvZyOtY7ZFXBxHKDXursFpegVGMExf38hnAobJ/UnI6vHgybKr/C4UPQ==;24:TS4KTrTh5bHkFoBZwXG6n84A9E0aa0keHAqQmFq044r8lrYcE3NzfX9WMJqGkFdXupaJ9G2eA2Ufs7gSrzmxGhRAtilHoQT49kCJGvwF5mo=;7:OxMDECBHbyrSIywyS5pjbr996ExiTqnPcYa7OkY+WVPn2gQyVgDa/fAGHxmY/2pHBdrJkv7OpbYi8dmcR+pvPiMWiv8X4JMlchHlc9YG2PqzZddWYM5CZFoLvvUpcmGLXfZNiVyaXTiyIDcbHD+1SuzRtywiU7plBkdK+fqX8cfP/wH+5znere5yH/9r5lPdt0HWJOCdg2pYClltPMgYZhLMYRAs4e19Af3CQjWKof+dwuavabKAeuwr/gjluyWu SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1191;20:PwtkvPxmgeZLIFc2BvznOiC1X5aqDDnE4O8/477mmutMSq/P1gnhRGu7hLlwUJboPhKuZ9zq5pk4FA0IX9sMQGJLXjYIVSdMEEvKHSYG4qFb6xDuSW8qjaIpVjP8kSQMUNibrOfrV04yFE6xPrQfbnxFKe/9hhE/OV1kNmSgmgY= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2016 14:38:49.3486 (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=2016-08-25_08:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/23/2016 09:55 AM, Andrey Ryabinin wrote: > Calling freeze_bdev() twice on the same block device without mounted > filesystem get_super() will return NULL, which will lead to NULL-ptr > dereference later in drop_super(). > > Check get_super() result to fix that. > > Note, that this is a purely theoretical issue. We have only 3 > freeze_bdev() callers. 2 of them are in filesystem code and used on a > device with mounted fs. The third one in lock_fs() has protection in > upper-layer code against freezing block device the second time without > thawing it first. Applied, thanks. -- Jens Axboe