Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1429267

[PATCH 4.6 15/81] net: hwbm: Fix unbalanced spinlock in error case

From Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Newsgroups linux.kernel
Subject [PATCH 4.6 15/81] net: hwbm: Fix unbalanced spinlock in error case
Date 2016-06-23 01:10 +0200
Message-ID <rMZrt-1su-69@gated-at.bofh.it> (permalink)
References <rMZ85-15H-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


4.6-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Gregory CLEMENT <gregory.clement@free-electrons.com>

[ Upstream commit b388fc7405e901c7d6f7817d05193c054e761815 ]

When hwbm_pool_add exited in error the spinlock was not released. This
patch fixes this issue.

Fixes: 8cb2d8bf57e6 ("net: add a hardware buffer management helper API")
Reported-by: Jean-Jacques Hiblot <jjhiblot@traphandler.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 net/core/hwbm.c |    3 +++
 1 file changed, 3 insertions(+)

--- a/net/core/hwbm.c
+++ b/net/core/hwbm.c
@@ -55,18 +55,21 @@ int hwbm_pool_add(struct hwbm_pool *bm_p
 	spin_lock_irqsave(&bm_pool->lock, flags);
 	if (bm_pool->buf_num == bm_pool->size) {
 		pr_warn("pool already filled\n");
+		spin_unlock_irqrestore(&bm_pool->lock, flags);
 		return bm_pool->buf_num;
 	}
 
 	if (buf_num + bm_pool->buf_num > bm_pool->size) {
 		pr_warn("cannot allocate %d buffers for pool\n",
 			buf_num);
+		spin_unlock_irqrestore(&bm_pool->lock, flags);
 		return 0;
 	}
 
 	if ((buf_num + bm_pool->buf_num) < bm_pool->buf_num) {
 		pr_warn("Adding %d buffers to the %d current buffers will overflow\n",
 			buf_num,  bm_pool->buf_num);
+		spin_unlock_irqrestore(&bm_pool->lock, flags);
 		return 0;
 	}
 

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 4.6 00/81] 4.6.3-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 01:10 +0200
  [PATCH 4.6 12/81] ipv4: Fix non-initialized TTL when CONFIG_SYSCTL=n Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 01:10 +0200
  [PATCH 4.6 25/81] l2tp: fix configuration passed to setup_udp_tunnel_sock() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 01:10 +0200
  [PATCH 4.6 40/81] gpiolib: Fix NULL pointer deference Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 01:10 +0200
  [PATCH 4.6 27/81] KVM: arm/arm64: vgic-v2: Clear all dirty LRs Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 01:10 +0200
  [PATCH 4.6 13/81] bpf, inode: disallow userns mounts Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 01:10 +0200
  [PATCH 4.6 45/81] crypto: public_key: select CRYPTO_AKCIPHER Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 01:10 +0200
  [PATCH 4.6 09/81] bpf: Use mount_nodev not mount_ns to mount the bpf filesystem Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 01:10 +0200
  [PATCH 4.6 19/81] net: stmmac: Fix incorrect memcpy source memory Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 01:10 +0200
  [PATCH 4.6 23/81] tcp: record TLP and ER timer stats in v6 stats Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 01:10 +0200
  [PATCH 4.6 02/81] scsi: Add QEMU CD-ROM to VPD Inquiry Blacklist Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 01:10 +0200
  [PATCH 4.6 43/81] s390/bpf: reduce maximum program size to 64 KB Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 01:10 +0200
  [PATCH 4.6 28/81] KVM: arm/arm64: vgic-v3: Clear all dirty LRs Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 01:10 +0200
  [PATCH 4.6 15/81] net: hwbm: Fix unbalanced spinlock in error case Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 01:10 +0200
  [PATCH 4.6 08/81] tuntap: correctly wake up process during uninit Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 01:10 +0200
  [PATCH 4.6 00/87] 4.6.3-stable review -rc2 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-23 07:00 +0200
  Re: [PATCH 4.6 38/81] gpio: bail out silently on NULL descriptors Linus Walleij <linus.walleij@linaro.org> - 2016-06-23 09:30 +0200
    Re: [PATCH 4.6 38/81] gpio: bail out silently on NULL descriptors Hans de Goede <hdegoede@redhat.com> - 2016-06-23 11:20 +0200

csiph-web