diff mbox

[-,Nicholas's,tree] netconsole: Missing unlock on error path

Message ID 20151003190524.GA766@mwanda
State Not Applicable, archived
Delegated to: David Miller
Headers show

Commit Message

Dan Carpenter Oct. 3, 2015, 7:05 p.m. UTC
We added new locking to this function but we missed one error path which
needs an unlock.

Fixes: cdacad4993f4 ('netconsole: use per-attribute show and store methods')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
This is going through Nicholas Bellinger's tree not net-next.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

kernel test robot Oct. 3, 2015, 7:23 p.m. UTC | #1
Hi Dan,

[auto build test results on v4.3-rc3 -- if it's inappropriate base, please ignore]

config: x86_64-allmodconfig (attached as .config)
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

   drivers/net/netconsole.c:507:33: sparse: label 'out_unlock' was not declared
   drivers/net/netconsole.c: In function 'store_remote_ip':
>> drivers/net/netconsole.c:507:5: error: label 'out_unlock' used but not defined
        goto out_unlock;
        ^

sparse warnings: (new ones prefixed by >>)

>> drivers/net/netconsole.c:507:33: sparse: label 'out_unlock' was not declared
   drivers/net/netconsole.c: In function 'store_remote_ip':
   drivers/net/netconsole.c:507:5: error: label 'out_unlock' used but not defined
        goto out_unlock;
        ^

vim +/out_unlock +507 drivers/net/netconsole.c

   501	
   502		if (strnchr(buf, count, ':')) {
   503			const char *end;
   504			if (in6_pton(buf, count, nt->np.remote_ip.in6.s6_addr, -1, &end) > 0) {
   505				if (*end && *end != '\n') {
   506					pr_err("invalid IPv6 address at: <%c>\n", *end);
 > 507					goto out_unlock;
   508				}
   509				nt->np.ipv6 = true;
   510			} else

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
Christoph Hellwig Oct. 4, 2015, 6:36 a.m. UTC | #2
On Sat, Oct 03, 2015 at 10:05:24PM +0300, Dan Carpenter wrote:
> We added new locking to this function but we missed one error path which
> needs an unlock.
> 
> Fixes: cdacad4993f4 ('netconsole: use per-attribute show and store methods')
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
> This is going through Nicholas Bellinger's tree not net-next.

Hi Dan,

this was fixed a while ago, I'm actually surpised it was still in the patches
Nic merged.  My repost from earlier yesterday should have fixed it.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index 8783169..06ee639 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -535,7 +535,7 @@  static ssize_t remote_ip_store(struct config_item *item, const char *buf,
 		if (in6_pton(buf, count, nt->np.remote_ip.in6.s6_addr, -1, &end) > 0) {
 			if (*end && *end != '\n') {
 				pr_err("invalid IPv6 address at: <%c>\n", *end);
-				return -EINVAL;
+				goto out_unlock;
 			}
 			nt->np.ipv6 = true;
 		} else