From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1955916AbdDZGQC (ORCPT ); Wed, 26 Apr 2017 02:16:02 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:42241 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1953461AbdDZGPy (ORCPT ); Wed, 26 Apr 2017 02:15:54 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=fb.com; Subject: Re: [PATCH] drivers:block:mtip32xx:mtip32xx:change the order of null-pointer dereference validation To: Heloise , , , , , , , , References: <1493170216-9035-1-git-send-email-os@iscas.ac.cn> CC: From: Jens Axboe Message-ID: <10ff30ad-52c3-798b-7a3d-07ab5b2e938d@fb.com> Date: Tue, 25 Apr 2017 23:13:43 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <1493170216-9035-1-git-send-email-os@iscas.ac.cn> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [209.136.236.94] X-ClientProxiedBy: MWHPR01CA0007.prod.exchangelabs.com (10.168.201.145) To CY4PR15MB1192.namprd15.prod.outlook.com (10.172.177.14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b1cb3158-8fa1-4db9-493a-08d48c6b6636 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:CY4PR15MB1192; X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1192;3:9jxyXKv1isvwHre4t40XUopOZPCzBw2svzrxiW8gAV02TFVmRciy/CM675nP7PcPl5ZfIl6vvfiC0bBv9qeh/dsUJFoG4ld7AK6ajM577wdLUvx7JbzoxzWiNfcI7ZqKWugFdY/vl11nawdqISCzqukXG3zgy4eZRbw7F12TVaHGx6HCla8S40QBv5FVWsDhlTcgch7fHJttTnkn/IJGCH3pWI01GPhYt4kfVJSBy7gepK2+eN5bB/AAwfEm5R6Z5K4C6HwystA6Dh618at9GzPFJb0bs3YsV0PNnEVbpsj0VBTUwDD8nD+N/7Ex8rDi7AlnrJrO9zwuboQA9YAXvg==;25:6rQMH2NiTIMTRTw4MW+d7bcuKpjOsyy+MXq9tj2B8vA0TVkXbPkEdZ0OvmYaVKoRW9XJ/DRXZPl0mMmu1dUE5yu6BbxuCBldawDW5+v+QJedDkyHaviqAT+x/N3phWbJ2ZCTLRuuht9mH5wstwH1NdLHGvmvy5WaSlN/P3s/8RPpGYOK4DD3Jo9QJMrx3dWI6FfEqCz3+1Lb0Anfvw6rsxFSWtty2ypFCluPazSal5SagzE1neHmlDHxNIiDsf9p1YDRFKdJEjZAHGe+IjOyla3GNOINIqyOHOQgCB8Ba8Q+YlKoj48QoNoKHtZ46E/i9z/92zzyRuZk9XbLtum5zMvhqyC0DD3S5H7lXarJ+1rkUgBFpfFcbIKwjwO0jQ1O0mqtpKs/KisusuqXhwA5/OnyIHRWWA7qZmY2VqDXv6ZrGovGxMk6UTUPdoTdm9vZVVa1MBnBv9XKuFFEevv29g== X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1192;31:yV1kFKYL2iahJRWsYAcHEOOACGIyynRb7fFg9/LJopU0MZAaH5DKPE7c35CO7gEzBACM4oZfBKvWCrwHF9rKr/GDcNtSUnQS31i1IoVWe3L5KUPt4REhKVOvQ/r2FWK6DHJubw4QMiPKPbbg5c7osUcUQGxV1pxHQ9hzzjvnSCmnHv4M72X58RwCmvVvdYOghhirvcYYNU9WLF9uZvMorqeDwKuIQAZRWTClQ6cGtj7R+u7Jszh+UU9N/0SBsDsW;20:OWuyraz6sPmTX9+jQrnNxY01lUJoirDSa9/eAIV+sQJp2xIHJMF+PHFzBuJbaj974TvnOKCuMkWbTqKnoL4vGHUyKXTBZecW2Ru1wB61Ci0VRw2qkeB+6MZdBrxHXvMbmYj3cuan0vGZL/uAGleeDIGi+OR2frcunAB0Y4r2pyx9VBYmb6DedCLa68cfqaGhQfZIj6MxmQeNc/yySh/tB3KIm+S3QFNuCxiPNFA/Hk2Z1ItR9ITAMCkKRKHQTk0ODiWaNuij6Ka0hmWq8OuRzwm+85M1jM4u8EMMhyCrDzo1LzbFSUUdvyG5Rfs7ZxdseHhgfSgiVoZjLxIXuHkcZtOqO5gIF6eFZ4pkRZB7um/pJdBrAaoLgk/tjqLe+bQMkzyWE0vJeS74Ndb6mUOpkB2K0+6iTJWedb1yO9PBcxz+ibUqerXU9TaOxspVjnCOxJMQ0blDdBg90p/DC5XdMQJfflTItXgfHELBUB2XVvO+1sIiA5SZQGESVVbDOWGP X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3002001)(6041248)(20161123560025)(20161123564025)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(6072148);SRVR:CY4PR15MB1192;BCL:0;PCL:0;RULEID:;SRVR:CY4PR15MB1192; X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1192;4:+gHUsf/mSKojmLTEJHHWmPTlwyhVtnWzfiTXK7O1Y5Jc7BBgSHD++3Or4Yd2bY6PK4JGs6dHKb3rnpGMWHfbkuAf3Z0Rt1DflhSkTXtOqJWDO/e+PsLvEz1fFS68gS9pzo5hNYx5RPS4QWOkjh8GXmzaOqLhmzvoFAyjfVkI947PCQpZwNuVYqgM6ldoUK18n8IFSXr3EQacwwiqi2L448le2HLzEgGwUh4PyMyHH373FCxIGKb4+UQznsPP/bnIPHgZwY33kYgD4zJJK04nXDNEsbn3MGBBE5VMoL+nKYNq8pvxOCoxZI71nXHBlbTC4tACmLaNYuma8tZnL8wb0XGb3ZmaGFTfJjb16AiZHgQNfPNYfJgAUFTWfp3n7LsdvWQ+wfTwVHCugr6Toap+8gkvzf283kQ4F3nRWkPBHVzR029j72ACd0+7wfxJmXygO2DwfVtlkwKVFdbbvXw60gBYPR9qrpAfXz2+Eyf2OenxCtoJt3e0S3k0Vgh749UyQlvrmBsFRL83Vvy4kQvZF3zQ0FqzyoUiFBaVVvv/kc/2c30Rrev+eFX36l3kc3KdzjEddWmyrItFLRkGMjrrStgY5GmzZyAlmckA/aECA/SLXgj4u1+nD8jEqRaZbqbaGelThCmquqmjpbAjnzy18NtR+TKR6brJyy9Ahog8qtQ699RliH/YWlV+XvJUh6bT2t2h9nktZ7ulmWF070QraA== X-Forefront-PRVS: 0289B6431E X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(39400400002)(39410400002)(39850400002)(39840400002)(39450400003)(24454002)(377454003)(229853002)(53936002)(65826007)(4326008)(36756003)(25786009)(54356999)(6246003)(76176999)(5660300001)(7416002)(3846002)(50986999)(230700001)(2201001)(6116002)(86362001)(77096006)(42186005)(31696002)(31686004)(6486002)(90366009)(33646002)(53546009)(65956001)(8676002)(65806001)(83506001)(47776003)(38730400002)(23746002)(81166006)(66066001)(6666003)(4001350100001)(2906002)(2950100002)(64126003)(305945005)(7736002)(50466002)(189998001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY4PR15MB1192;H:[172.20.10.150];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CY4PR15MB1192;23:BlQcgek2FvYjC9po0EFKdoPLLpoDQ8BdaZpBz?= =?Windows-1252?Q?g9FKgj2wJgalPt9gqemaavmUIZ7k0cotrd3ZtGvFIQ5/P0mY1bbK4aE6?= =?Windows-1252?Q?5rf55a/UuxVQa0X3wgUW60wUMMRLrGWjPhDyiN64E2jZEOkAlg61JiTt?= =?Windows-1252?Q?PmNDE7YE5UBpXlv7bzVxkgukDmOqUrqgVWm1zOZR1Z2mJ3yHpb2TO6TH?= =?Windows-1252?Q?zijwxWBiw2ym91Pdx7WqorruzzFP7vfzIwsBaG7QKRogPn0IlCbzxldE?= =?Windows-1252?Q?c5lTM7bh8Kwrir4qECAmz0ds2E+vqGlEs9T/5xgjsDCEVJv9xXWioNZc?= =?Windows-1252?Q?D4RQHqXrUlDZRJgCCatJ13tQ+fIae8fLJuHZJBxWU9CaZmTlEX5B0Y8s?= =?Windows-1252?Q?WZSDxsEhwGE3KTTeCSP1GA6kSbMc67jgzWkfGkNdGopyD575QN1quG+k?= =?Windows-1252?Q?JHqCZvGFZymCwcd6kJuDxbsjoszSD9GemjtNbun9dPL/NqcjXIFOtBsv?= =?Windows-1252?Q?R20nOhtAz/91jq0H1RYw0joqLyHUc6NXWuhMNVos9ZyLHx5Isy/JZLpJ?= =?Windows-1252?Q?Oz4aNUpaoBhzFSSOlWxFOzOmZt9FdhpNcFdiXishRgZHcablrrN2TtJW?= =?Windows-1252?Q?oVaUKUxST5WRAXXtXErsj33xbWaa8m7VHbWucu/zz2e96JI6Dh3xHR1h?= =?Windows-1252?Q?GSPlHJBIk858fk3csyPfwpAQrgvmXtekIhtbRstqglEbMkcfhihwrdBL?= =?Windows-1252?Q?x99eq6HIGwNc0hj1vkTzy03fMU4MATas/JNvacvHROngZD4wD3aNKm5O?= =?Windows-1252?Q?ofw29zT3QTBzQzwzbNF5btPZSkmfu1vz3xna53YvuV7kPjYgVy0a6zEy?= =?Windows-1252?Q?VE1FuZXJSt/+9Rpw+Zgq8SGv64j92iCZ0vzr5K7fFMtTmA5GT8OaoDRl?= =?Windows-1252?Q?6x2Q02QWKKNLVNeMdbbgftI8Im+CQM4SHTLjUrCiVCZiBoTE2UL8BJHl?= =?Windows-1252?Q?hmF+k2ch4ZnhTs2SZYAIxtJ/63/sveOIWVvcJzAN5ZNIRJiOhaT3THhl?= =?Windows-1252?Q?kEcWFYuUtSl4TEwF00QNAcZxXUCsXxgJ3KflalsWRZKbSiHxzYHopMBx?= =?Windows-1252?Q?SWZp+/157T+k53ob2bq+ldgTuFYNR4a1PPCIth73pxjEX2dubMfnwY8g?= =?Windows-1252?Q?fKSJb1I4J2mqy2nfNp/SrsJ+56l0sR91DhOOOMb6tAXpesaTruY3CaaO?= =?Windows-1252?Q?ah4FbMPamjzUmE0M3FWxgHZFO5t+emTbh7nX9aHdlr5KIAOZu0ZCN+Mw?= =?Windows-1252?Q?6Uc0ZPZv+hG5hoZMSIGWglEnwa3Zx+LLuItj2vEUbdpsAMzBGHWE31XJ?= =?Windows-1252?Q?Xialb6UAYr/JUfyW5LwbgdUIFjK70cupBbPBZvW3speKj6ILNLZ8bA?= =?Windows-1252?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1192;6:LVtROSnS4Lv20hoV69FEVnuBp14E1F/WDQRaad9/zIuKNduFAa9Tp2vDOF54dtsd7HPWy7dov0FteqIzL9pO6vQoxFojoHJu+NhpEcLzq16QQSOYsgMy2xpgTZQ23ByPMpM8pgAqZ6GNjkiJDLLgM65g6JzK0reh1AWIOqaQSzCr1RgNOuBcZ8sCQXQdI4lIpoRTLS0YJ+w5EumWSg2ruRRd/IMPJPyjpVxmYgY6uABrJ2ZioG42zpb+Olcm6b8svBTae6L2mmJWxwW2iyShqiq9hpg0k10cOaL6wxkVu8VGG/HfC02pd3lTl1O6hlnmAzweYi6R86TGR2ncM7wz7VoPROh0Fqp9MuIom6roU2Cyk8wdaXpHCY9YJBvcitbr0xl9jWRcq9AgQ1OQ0yzXd1yAOUYhKV4y6e3GaD35vOvt8AicxVg0LGcDWXhxSx1Y0wmOFKsK1y2EXY5NMQn5p5NXUm0i112Op/tYUiv/y5OqNVgfW6XYRr/7PbTobdc4tM6XX39UlsmPv7CtArBKTQ==;5:mFnMkkPvXpZ6W7UdO1dQHnADpdLOd9hm47nG30z1CghXV9skxsUpJWGysiLVgNEEUFSOESl/6sbRkrkC+pd1sxjb/wFnGSGd5wLSA8Kxf9gzkd2EfpmgFM00ug2IelHN62p+HePBHgOzUx1LHaB72w==;24:+RGeQf/UnFzJAunpj4/UxhPbKDetQ80WUAvC8OBNZOkgPGRDnmtJA/3Lb+psECUwLpTkqKyoa+lpJL7lIS0bomAckSXTaW9tZ0DkH8DextU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1192;7:RLcTX8v+OHxELaLplGCy7BpMKcD+DKusN9mfxAH1G+qhAbTrrff9dxmvWIz0HtumofMNqsDZ5ap3dzM3gRROlZtI4s/3p5xqH3j3EPYJVR/KwN6ZB+NklELbpxcHgSw6w1uOtdFJUKgZaXhaYKcu9ymXaqqJuPBBKVzte0YV4N8Anb0nflfWuw+ZeZ0OSzLbJOHZ2gKKy7AnMNlXUv6y0aOwTeCPQCqGkINgTF4o4rxbV0/xfp9z14XgeDQaIDu0ZyWJeFKF8kcOAwd2v8VDNyXKB12PXYK+oKuMpro2E3sGs2SlZDLANbkFAvL4Z7m/18NUnEmJmWpzUgDAHt/dqg==;20:a3TbnMTKww/nZnwRGweM2zhuKdow6m8s+X6YR2/mpaXeP/vHJXzPO4QaQS7I6L0S3D1Ia6qvgDJ4lA2Ygzwn/oQMMlgal0Z/BRfKhVJI3mgpfskR2YE+jqWIEM7MoT/M3lE3Xsn7NGrbXJYR4zoc50wQeu7y/gHrVjMxc/xVWw0= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2017 06:13:46.0897 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR15MB1192 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-04-26_04:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/25/2017 06:30 PM, Heloise wrote: > Signed-off-by: Heloise > > mtip_async_complete() uses the variable port 'port->dd'at the begining, then > validates null-pointer dereference of port 'unlikely(!port)'. Change the order > of validation. > --- > drivers/block/mtip32xx/mtip32xx.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c > index 1d1dc11..feed61a 100644 > --- a/drivers/block/mtip32xx/mtip32xx.c > +++ b/drivers/block/mtip32xx/mtip32xx.c > @@ -228,10 +228,13 @@ static struct mtip_cmd *mtip_cmd_from_tag(struct driver_data *dd, > static void mtip_async_complete(struct mtip_port *port, > int tag, struct mtip_cmd *cmd, int status) > { > + if (unlikely(!port)) > + return; > + > struct driver_data *dd = port->dd; > struct request *rq; > > - if (unlikely(!dd) || unlikely(!port)) > + if (unlikely(!dd)) > return; Doesn't matter, since 'dd' isn't dereferenced before checking if 'port' is NULL. -- Jens Axboe