From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753696AbcHYOjj (ORCPT ); Thu, 25 Aug 2016 10:39:39 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:46582 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753030AbcHYOje (ORCPT ); Thu, 25 Aug 2016 10:39:34 -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: <4b28387f-a4fc-1e54-80cc-9cd0593d9093@fb.com> Date: Thu, 25 Aug 2016 08:39:22 -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: BY2PR07CA043.namprd07.prod.outlook.com (10.141.251.18) To DM5PR15MB1195.namprd15.prod.outlook.com (10.173.209.13) X-MS-Office365-Filtering-Correlation-Id: 41cf6b15-05c5-48e9-6bce-08d3ccf59d7a X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1195;2:yld7JAO4V8ic1ViQuKYbSHRiqGAvVOIKqeePDN9lrw0rhBq+/3w7UMgJuneQ4gSCRljCj0MJaKrEsav537Zb68uze8QtApBaDjvl307bh0+2b9xCr9QUn8hC3bvmZh8RYpgHM70od5OI9iAwOc1UdSqu96WgZO7Huz7WMn7/AVnY1HkuO/5+WXBK39uJptMh;3:cGZ/Dpj7LuP/j+jvKbs4Diuqd+3z1VBplAlVKJQH45dTKGYDEUCuva/j3rimH9Osy9BzXYVl4E6XzjMHDxgY/wnIUudfyq1I8KI2cAB7PQjUU7zxVptSQtv9NcvnSXtD;25:bQflqQ9USm01JqOHbX2qN84R0yMt8+THO9CHrNRdajdKdhAqYVr9iCHIvZ9NUdwEOXSfe0OG4wBtU5yMQMcdCXuI+P62osXlrAblK1wPjXdDtSG3fneCl3jm9xVg9govr4uLbR+KGE44hcSjdB2ec7ZJPSzXfr8EmAOUJOmoITXbOHQBTWxPaTa+9flBX7L9RBWPDNOT1sbUjZ75bpvOJaWQ9XySq4FWWgtnaXQUSP8iK5qIn1EkyIEOyBRCPJeFwyFjMy8OnX7WYiVyRr2sz+K+1/0bCmfJ7INuJmGa2BmqbtqAgJ8HozvyGUgeip20FrVDH+rc7vXWyiiRVnLoT6l798MkCDRaV3lKFcS0rpliw//M9FZpJS8jkUTdaQnOH0CH+i8kuG8sc4r1dFwQFph6c4j3kPM0Q7nlfdN5uiA= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM5PR15MB1195; X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1195;31:CpePBGkC8FOYiCF/uerobbI5S6Pj4ahft0+JxY4qt5cWsVE1qmvQsOagiZObsySsZWjXnesEMcB7+PbjDAzrR3N+D6r1vC53krxoMToc8rSQp0HrpRoRkWR8zvo2zkUMeTUEpO9y75gxu+bXQcIyJb2K7mXNk7RpJ4Hln0WAUO2ZkJf15n6JIv9R+dVirw2DuksBmxPMJpETomCUp8NlUEWH7GtCRpLr8UALZ9AFfAM=;20:BcntgtE30szROfbOyK7bWlNOReHDA7BTag9IfbKDTEnuSdN4CW0/wXJVKyG44avo12vfcUFMzUWEl7vnti9M69BZ1+piwzp8N+zsPSlfQQY3q8FD42EJtzSyYA23ua7hzj30AnEPsasm6gTKLhJ2OWGNCLpsfRqSOmqYC2UhwnU=;4:AYYPs5ZhKF1QOsAt5yGwVSl5+VQ28hJ45jCeRGHTJlxrPA9/LZ2YH9OoneqK3dmtOS9ILgtDu3zzeQEJ7FP9HrzzckGd7izuOwefFv6BPw8o+ZX7f/2zw+AEUXaHMGM79gE+sLfgousMlaM3l1M/2TOyY5VVpd+vPK01irithA0ubzzQD0WpHFh3wyqTt0QWFS+RATVmd0Gcbw3wRgcdmwtEfmIlvg2RC5I3YWswsHf7k3/KzJ1OOEUZD1xORRg18LUKepJXqTe93johb2xPWTcokGyZXUcMRVhSZrLPVD4Fw4pjDnHvKksg3dllf9fi2T5HBR1wIXDUkAlh+RKa4gbbdwi9P07t9qP+RvkFaOA9VaD8i2Y1Efz9NCg+PbdXCLdAJ8TcHKh8LINEInEeTQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001);SRVR:DM5PR15MB1195;BCL:0;PCL:0;RULEID:;SRVR:DM5PR15MB1195; X-Forefront-PRVS: 0045236D47 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(189002)(199003)(24454002)(377454003)(101416001)(81166006)(7736002)(36756003)(106356001)(8676002)(81156014)(42186005)(68736007)(7846002)(305945005)(31686004)(23746002)(86362001)(83506001)(2906002)(4326007)(31696002)(76176999)(64126003)(50986999)(54356999)(50466002)(97736004)(5001770100001)(230700001)(2950100001)(189998001)(105586002)(77096005)(5660300001)(3846002)(6116002)(4001350100001)(117156001)(586003)(47776003)(92566002)(65956001)(66066001)(65806001)(33646002)(65826006);DIR:OUT;SFP:1102;SCL:1;SRVR:DM5PR15MB1195;H:[192.168.1.153];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;DM5PR15MB1195;23:C8gVo+itXdVidhFUZ3FOfKeLcT0YfF/Q/M0/3?= =?Windows-1252?Q?IXZm6aldr+yEiijdEvgeiPxlqpP7LyCKX/U45xgNsSn9sxarGCLgW+OT?= =?Windows-1252?Q?71DYACtAS480mxCN6At43yKF4on8lRbSsvrJDL721OJfGClcWUQS+QLi?= =?Windows-1252?Q?xIjcV7NhptaN0xSxiIEB147b8U3q8+8IKJJLjEW9AwkFpTNEWlUQcnaH?= =?Windows-1252?Q?4LBicoHqbwGMa9WzBcUWY65pr4criqkBRsAlkSR1pn+wGbusVhROEevL?= =?Windows-1252?Q?N3yg4fJyXhhdHmoj8OeMzpe8ml+YwTbffrYma4MwaU1BeswQYX0wDnO0?= =?Windows-1252?Q?+Hj/66n0UHRnRiepUulaZHNAlNVrVz1FGWlrjNzp6CgO9AkTM/crLP6u?= =?Windows-1252?Q?ksFK+WWCZjccsQazyXCVVsQpnVNa70gaQyWgGHewYMwqOzPH9W+8wjs8?= =?Windows-1252?Q?4/mY5x86LvzNotzV9dOc8o7ddcFxx6GhTmmQc/Kqkp0e4QPJP8B7yVhd?= =?Windows-1252?Q?Qu1ttbSBiCNLyO3XlOvUQHNJBZPoucODx47Psspm9JcYY65MaW0kolYl?= =?Windows-1252?Q?+MIsJt2Woy2TfesouThecLZ7X7WBJnEgL8yzl+doG83CTPF3j4b4+mGM?= =?Windows-1252?Q?DrffJIrEFgSu8ihtCJowHtFNuA5sCs+13IoI8qhx4rVesJP/sa82bF76?= =?Windows-1252?Q?8TG0QITjpEIZofClCMq5CJOjfYNhSrcZsFLJ0K04vcJ0zRwwGyfjgBrp?= =?Windows-1252?Q?m7zeFwJ9ex+/NWkZPpwMeMWmbFoMjeA9Wvkqy2I40zrTOlFVsy/o2Hj9?= =?Windows-1252?Q?yHqilJUT2rys86R6QUBbHuqPgWEz1rDzex5FC8MzPjruPI7mgY5b5IYQ?= =?Windows-1252?Q?non29rtMwuzoOzvFhT4lN826LzuJNqkaEtGoSBKph+PlgEnYyZFI93Ie?= =?Windows-1252?Q?m4I7ts+ofKo5GTmszo2am0jVgNLGXe8DxrVtC55bubP/cNnYgXDdFwJB?= =?Windows-1252?Q?vQnjxTilfyMUhHtQVIa6Fx2VksImRcGscxj8WovTg6EVfbzrjRW9GqNg?= =?Windows-1252?Q?MAc5fLFMaWXpwrUiBepcs0rB7d8rE5/wTk8qYrH6o5+iQyOzOeq/phZi?= =?Windows-1252?Q?KfL4SANX+RqRP8PAnY01sxefHcY/nT70DGrBVOb+QTcJOiVBlphoxGW/?= =?Windows-1252?Q?bBIgseWkw03wLsN3UfySWqIgXZjXZXYdm6TJCT4Wsyzzgn40OFaHngJI?= =?Windows-1252?Q?0BELriH0eRTylY+r0sebUI+jAflh+ovR5tfAg3TheYQVtSj1WppnqVfO?= =?Windows-1252?Q?DT/Cd+6OH1uzVvkZa2KOFqDloNdIA9N8oUJittlRX8wBVJF+5zs5NKhL?= =?Windows-1252?Q?/Hts0GVCrDK?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1195;6:XMQ3myxjbYZZhVoAGfbNu0FojtuxhgBCbKp2Cniy5vRgNK0VQrBfPOZrp04znaFx7ZBvVCsspuBZXrT3UFdIIwLwOHAmb3+9Gp5KBhTF4sImPVPah9oJ8k0aw8Fdkgluzz8eHJdbf41ZEb/2p8IVirViTiTAC5ywSS8GoVq3Gvrwu7CEAF2qxMrvknKFoagggTglxrjguCilfjcNlOyD97eZ6tPWH7Gj5zj3dbubUFprt+ACiEd5Nd7FvInSTi/kydKvMlHYrI1+xlFG1ri0JlHMeIJLwITUR2BZstt4R+c=;5:HC9mb5fQAyYbPLZ5K+kjNf2EKTUUljuJ/dGKYSBnKyeYCJxRdgh2EELaqMZIo+5mYnlZU3c2ru1MWeMUEXdLT2PQPJIbo+QR1SR2bDir3wUr+QotYIaCYs3DjnNSQjtsGKLGJ9azokIB3mAHk4gAhw==;24:ZMgUCAkTDf3X6Zp0PhEy5zr0SMw5TWn27ivN1Cn7RY7mqOu+lNT9HgIF2leye/WG+Uwy9CLjiYo4bLStRiRn92/byfj2kfKVtPCgYZlYI5E=;7:AZ5BsG1rJvmTspkiOFLtwwSu4Joa0uo2XmJ+Gx1uwiuX92XhpGdHX30m+z7Md+VLxKwPxc/l9xQgAecuMxx+aL4szkwclSKjTxB123BF67gSW9Aj1zDSefiHX2+MPRkR6u2kkNszS9vMNgAk6ATehDhXaLbc/ICv0J5Rkn8iEZ2sfovIVeZOstvDbR1DhWhVRxfphFUawIuVd3zguurnFN566WBUlqyFkQnoouSB/cGHTQCt3jSNXbtUrYJyQ9pP SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1195;20:grsnaCV04dywwvhSeRCi+euPG9/paqrmsCZmiTW70C33EEkriQNRiaY1/rdRtuDqEs1hpDSvSoi8kWvLB1gN6hopuzj51ab0G7YliF88lLvuT9JmsnXrwkRXYSydIInWkEEIQPb+7/bsSeM7irmND/Ejkb9N3VfF2ZmciOZ31Y8= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2016 14:39:26.4627 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR15MB1195 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