Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753388AbbGWLGE (ORCPT ); Thu, 23 Jul 2015 07:06:04 -0400 Received: from mail-by2on0118.outbound.protection.outlook.com ([207.46.100.118]:52512 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752694AbbGWLFz convert rfc822-to-8bit (ORCPT ); Thu, 23 Jul 2015 07:05:55 -0400 Authentication-Results: spf=pass (sender IP is 206.191.229.116) smtp.mailfrom=microsoft.com; oracle.com; dkim=none (message not signed) header.d=none; From: Dexuan Cui To: Dan Carpenter CC: "pebolle@tiscali.nl" , "gregkh@linuxfoundation.org" , "jasowang@redhat.com" , "driverdev-devel@linuxdriverproject.org" , "olaf@aepfle.de" , "linux-kernel@vger.kernel.org" , "stephen@networkplumber.org" , "stefanha@redhat.com" , "netdev@vger.kernel.org" , "apw@canonical.com" , "davem@davemloft.net" Subject: RE: [PATCH V3 3/7] Drivers: hv: vmbus: add APIs to send/recv hvsock packet and get the r/w-ability Thread-Topic: [PATCH V3 3/7] Drivers: hv: vmbus: add APIs to send/recv hvsock packet and get the r/w-ability Thread-Index: AQHQxTHnR1yWJv4aDU+6T9KscqI4xp3o4nww Date: Thu, 23 Jul 2015 11:05:48 +0000 Message-ID: <12f291ee00204fb39e224ff50c90ee3b@SIXPR30MB031.064d.mgd.msft.net> References: <1437476293-6837-1-git-send-email-decui@microsoft.com> <87zj2pk3jf.fsf@vitty.brq.redhat.com> <4538264677374d43961c2d709afb1dd3@SIXPR30MB031.064d.mgd.msft.net> <20150722103546.GO5371@mwanda> <75f1792c788e418eaddc0d6b7e3381de@SIXPR30MB031.064d.mgd.msft.net> <20150723101057.GQ5371@mwanda> <20150723102449.GR5371@mwanda> In-Reply-To: <20150723102449.GR5371@mwanda> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [141.251.58.197] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD024;1:MAEyjkqRhlG+YJDDEYE4HfHXyP32NbSSoK2dNm/UcwylhB+Y9RWj/ARNpaxByaBTt52RfCQqaG32VtRNxf4khxmVz+Oh7f8NW5dhukPDqTIv6slnVZJWgs1pFmBewxidztg2zDvzb05PNg2Y28ICEx/8HH/6MxOOVPpMV/ymBF0liXEQ/nrFuNUndb9e68mn3R34pRRSbURzZ4Cz+D27At6CCOFvTwhj4/+Gdfq73/toD2QvVC2PiEL/LW5nFtjXjMtC5QWSX6hNQwc9AHjig7aPgbpA/dBp8/+loELnWyw= X-Forefront-Antispam-Report: CIP:206.191.229.116;CTRY:US;IPV:CAL;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(438002)(199003)(24454002)(164054003)(189002)(106116001)(54356999)(5001960100002)(50986999)(77156002)(24736003)(62966003)(86612001)(76176999)(46406003)(5003600100002)(106466001)(5001920100001)(86362001)(97756001)(16796002)(47776003)(87936001)(102836002)(33646002)(2656002)(23726002)(110136002)(66066001)(93886004)(92566002)(189998001)(46102003)(2900100001)(50466002)(6806004)(86146001)(108616004)(2950100001)(15583001);DIR:OUT;SFP:1102;SCL:1;SRVR:DM2PR0301MB0655;H:064-smtp-out.microsoft.com;FPR:;SPF:Pass;MLV:sfv;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0655;2:uHqvIYm3HRRbGah8v4r+JhXbn/jvaHfghAAU8OHhW7jqNEDW2QKL82lOiD3qlUK1;3:fDCWKogK1WBlTMZdsQ5XzyGmBE0J7gADoIBJ2AkUEf5CPJAUtsuLz6KzinkHjf/qe19W9JYB+8bf9v3KfSx+pdfUCpcnwPSxpRm2WfGhh/FomKY2zlhf2j7tHtMknbo5uPl2z3Lvp1sfBhjxm8/VTbDs8eVSdNRtF0U899ZvDqXMRQWnUq9oDd0XQyWAwDqrtWBqwtyJ+hWKVOCmGGL1Xsq03QC0sLokpFZPIugvPTmU+Z2agc4l5niSbee2N/0v;25:XCwIFpgDYu076Mcz6J7VXxXgghhXM2R4xGjz1uWKNOMCcngNJGtz4nKxZEhZP1MsuMtpNp49dnoVJsgpQjHIzFaA2Q3sjBBGhbDzFeCjPeWmnc4Po4SXaK425uaAl8dNPiHgWpmV0zmaWfGmYRRGF4mtDtj3D4np5+e8jlfq3bFfGPW+hW1yqzwFh6nxqQmwBYUsUhaq5gy7ZzB1W00QnSUmtAFBQK8HcNteWj/ta7oNY13w3+zavsIM+G4XuiYvOEae01W+Cm+xodTKqbDNFg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB0655; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0655;20:9oA0H1fCQt4B+UZB/EV5K6WfhIRfUGI3CzyJRe+/T1kb5BopNJYJmx5Lj2EFHvtFSZGwOOUVO8Y/gZctyuMfPcM2X9PVILA9VotMywLAxPhIReF+qvaT//9NOz54dcb1C16GSvIpWMa8r/8ojlcNVpACzf4zwT/oV2v6ATfKMqp05ZyGYIdmutQWM69WBi/q/GRw0mBZfH/qPRqObvDFlDtwrUXfb2QV2h04U0bnptDvnpA2KcK2bgNkR9xMvXYM+49zZYJ6gdCwFDZOS7B5L8UKRCwYbsXoAUh75Dj54ILNf3y261CFvsFhEfc6Uvq6TserRetuyTp+HhRIIgHLBQ+cPQSUSURFxZwI9qjmvKqZBQcBa04luRSzBTUorpaGxcP/4YaX/zzh7xMGdKCgoN4Kx6OQZGYpSK1HH5FfLWzgHVmu1X2VXrNSDFYz6R9U1TpnTdFETffm9ee4PX6w8YfiJtiEzMiLU16HAZvsKvkdE123xnas7n3bPYJNSun6;4:SHKTNHqjHrdjN9ukD3iqq5y37sFyVmYteyeGGDRmeBRbr/5aLzTmps9Yc+nAdGAZhCWs2Ol7sz/tsPaOgf2861v7FveIztlqUA9tK3FLN1ZCyx5s7Sl6QwFXbQPT3I8u7E8/cDoHxobtZqRPs3rL8bBa6Rhyn/pibE9QEcq+XQ/u+YckvUcuiaLEZ89j8RihdxJ0Co1OxeAuWZGUB2y4ZuAroseQBAmVHDr+GeRI3D+rGiYU3jQAZSKO1gBdSZC9qeLRklytjS+RKtOMvNStI2DuduSoQagV4Ix45nUHRe1D6FxVLwG0HrHAmkXt+2Tt DM2PR0301MB0655: X-MS-Exchange-Organization-RulesExecuted X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401001)(5005006)(3002001);SRVR:DM2PR0301MB0655;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB0655; X-Forefront-PRVS: 06469BCC91 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR0301MB0655;23:d8hUGlshdLRzl83CZd2OvTFs5OALjm0Sp7FUxOb?= =?us-ascii?Q?y3s0rjuATS8T0vLFGCReeSUUwfz2Z3fAx67u+N2Y0eiB8cqvuxoktAZYegQ0?= =?us-ascii?Q?3C3J4m6yQ9NFhuqD9m3xxEOYMnW0s0QOEO/7pgpFgflIVhxO7K1oHK+6zKRx?= =?us-ascii?Q?FDWQ1ymYm+pp1fqMCyIB7wpHQQYmeFC9xzDrJiMm2YygJm2pWtbGHBWXbVzj?= =?us-ascii?Q?E8ApjZoCqPGk4hqivHjlXosPfZ4ldbyBvvvIjRfG9yszpCJujbL/SuT0T4HT?= =?us-ascii?Q?z+Tf6XOKbHczRmqSmhyz4t4MABHVn3kJLfWRvh89oKiwxCK3KqQRcqJA/4SK?= =?us-ascii?Q?Wv4Ty6iqexmZV+y3B0t3d8RXmcaVFC88CvR+WoF3hIpbI1qbSoLKd5lSkIlP?= =?us-ascii?Q?Ygd+X+P9urir2wAHp3nstP/lw8Gi0VPEfgk+rHZSNvYKi8CVOox02UhznSQr?= =?us-ascii?Q?ij9OMr44nPYIAs7ENLdRWOy35Mls9YdQD0qqKdmAgYxnI+Sr/5z3g9yrqqZy?= =?us-ascii?Q?mMWJGPt5RQSBuF1K6Q2qsrSF/ghf7v+TwaWAHyl/NxZyAsdUVNNaE6ef9W4s?= =?us-ascii?Q?/YZ/uMo3aV9wm5bRzdwK9GxLvCdhO4xKHiSv/CAQCZ8S/X+OlzUuTy0lF7uL?= =?us-ascii?Q?2wEP6+eigZGsuiE2hUBkLkIre+fSwXNHru+wzSKCKFMbNO3cudxPnkaHzo8e?= =?us-ascii?Q?v4i1kL/8jvpG+lXPlEZshF7rHGKOct8VAyQ0+i0eCenCUdrXzkaWtouo/3IF?= =?us-ascii?Q?uBTTZq954iTD77kkJiNUUVopZr4SXbBfRGYeutMPcWcnMYSArlrOkG0XCNTW?= =?us-ascii?Q?JLN45KwubjQNGSeHI6qh4D7t03JK0hX0mAX0y1sxP6DPdd9Jk9a5YuD1dVF1?= =?us-ascii?Q?Vcrw6oT0yszly62igWn1JBVHfLNXv/1giUZ4lnc5qZJ1H8R77bSHuF4b7e9S?= =?us-ascii?Q?n5PSAdjmBe1cE4j6XqG0YrezEx8DutepL93o7xRmrON+1I2s3+bd9P8QJYeg?= =?us-ascii?Q?dfaKc5zhXp2bWGN7kLd+1kM05qTcijIRGJfGCkTemOQfa6M0JdGZXnb1tfBl?= =?us-ascii?Q?7ONt7H3Ik+1V4SVdNywx+Vxqv/Vyq?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0655;5:0ZsFgqVwcN3b9sDTElUHEdYQaBWS5DPxyshD5BnuqpQW5bpNUJXqRI/kroQUvOp3eP1X2KrkOdKQuSuwgHNxhYC7HFw5mnup+Nnh8NQFTHtwBRUxZ4FDJRDIJon0z0lyTUVRkgmWmk08KWy3Odspvg==;24:U1BgrA++QI05qdsBhuG3EyA9Aj1TwLRrEWsCKfbELonF30FyldZL5KM/pQeRiDYKCjkez3lvgVtQVtYEarVQCIvG8SuJuX79cIzHt93S5HA=;20:g/kyYgZePEQdxjFba86kZ6mLnxDuVLYSfxbi1qb1p1dZxgsWb7fvRSK+6uT15N+eRAfdIB1MU9RdjeGwjmRchg== X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jul 2015 11:05:51.3011 (UTC) X-MS-Exchange-CrossTenant-Id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=72f988bf-86f1-41af-91ab-2d7cd011db47;Ip=[206.191.229.116];Helo=[064-smtp-out.microsoft.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0301MB0655 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2140 Lines: 46 > From: Dan Carpenter > Sent: Thursday, July 23, 2015 18:25 > On Thu, Jul 23, 2015 at 01:10:57PM +0300, Dan Carpenter wrote: > > In this specific case, writing it as "if (ret != 0)" caused the bug. If > > we had written it as "if (ret) return ret;" then there are no zeroes so > > wouldn't have been any temptation to return the zero instead of the ret. > > I did a search to see if returning the zero instead of the ret was a > common mistake and it seems like it might be. I did: > > grep 'if (ret != 0)' drivers/ -r -A1 -n | grep "return 0;" | perl -ne 's/.c-(\d+)-/.c:$1/; > print' > > drivers/gpu/drm/nouveau/nouveau_display.c:111 return 0; > drivers/regulator/wm8400-regulator.c:47 return 0; > drivers/platform/x86/dell-laptop.c:859 return 0; > drivers/media/dvb-frontends/dibx000_common.c:213 return 0; > drivers/media/dvb-frontends/dibx000_common.c:217 return 0; > drivers/media/dvb-frontends/dibx000_common.c:235 return 0; > drivers/media/dvb-frontends/dibx000_common.c:239 return 0; > drivers/hv/channel.c:898 return 0; > drivers/hv/channel.c:944 return 0; > > A bunch of those look suspicious but I don't know the subsystems well > enough to be sure. Can you check the last two? > > dan carpenter Thanks, Dan! After I checked the code, I think there is no issue for the last two: in the case of "if (ret != 0) return 0;", the output parameter buffer_actual_len is zero and it is explicitly checked by the callers. This may seem not natural and I think we can improve it in future. BTW, at the end of vmbus_recvpacket(), the "return 0;" should be "return ret;", but since the output parameter buffer_actual_len is checked by the callers, I think it's OK for now. Thanks, -- Dexuan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/