All of lore.kernel.org
 help / color / mirror / Atom feed
* [leon-rdma:rdma-next 3/31] drivers/infiniband/core/counters.c:154 alloc_and_bind() error: double unlocked 'port_counter->lock' (orig line 139)
@ 2020-11-16  9:49 ` Dan Carpenter
  0 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2020-11-16  9:49 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 5697 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git rdma-next
head:   00379b407ab12167a4a0e8264392c8c9bfb5ef2d
commit: a65107565e609c005cb5a3b12d41697ac25eb3d2 [3/31] RDMA/counter: Combine allocation and bind logic
config: i386-randconfig-m021-20201115 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/infiniband/core/counters.c:154 alloc_and_bind() error: double unlocked 'port_counter->lock' (orig line 139)

vim +154 drivers/infiniband/core/counters.c

a65107565e609c Leon Romanovsky 2020-08-16   98  static struct rdma_counter *alloc_and_bind(struct ib_device *dev, u8 port,
a65107565e609c Leon Romanovsky 2020-08-16   99  					   struct ib_qp *qp,
99fa331dc8629b Mark Zhang      2019-07-02  100  					   enum rdma_nl_counter_mode mode)
99fa331dc8629b Mark Zhang      2019-07-02  101  {
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  102  	struct rdma_port_counter *port_counter;
99fa331dc8629b Mark Zhang      2019-07-02  103  	struct rdma_counter *counter;
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  104  	int ret;
99fa331dc8629b Mark Zhang      2019-07-02  105  
c4ffee7c9bdba7 Mark Zhang      2019-07-02  106  	if (!dev->ops.counter_dealloc || !dev->ops.counter_alloc_stats)
99fa331dc8629b Mark Zhang      2019-07-02  107  		return NULL;
99fa331dc8629b Mark Zhang      2019-07-02  108  
99fa331dc8629b Mark Zhang      2019-07-02  109  	counter = kzalloc(sizeof(*counter), GFP_KERNEL);
99fa331dc8629b Mark Zhang      2019-07-02  110  	if (!counter)
99fa331dc8629b Mark Zhang      2019-07-02  111  		return NULL;
99fa331dc8629b Mark Zhang      2019-07-02  112  
99fa331dc8629b Mark Zhang      2019-07-02  113  	counter->device    = dev;
99fa331dc8629b Mark Zhang      2019-07-02  114  	counter->port      = port;
13ef5539def732 Leon Romanovsky 2020-09-22  115  
13ef5539def732 Leon Romanovsky 2020-09-22  116  	rdma_restrack_new(&counter->res, RDMA_RESTRACK_COUNTER);
c4ffee7c9bdba7 Mark Zhang      2019-07-02  117  	counter->stats = dev->ops.counter_alloc_stats(counter);
c4ffee7c9bdba7 Mark Zhang      2019-07-02  118  	if (!counter->stats)
c4ffee7c9bdba7 Mark Zhang      2019-07-02  119  		goto err_stats;
c4ffee7c9bdba7 Mark Zhang      2019-07-02  120  
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  121  	port_counter = &dev->port_data[port].port_counter;
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  122  	mutex_lock(&port_counter->lock);
a65107565e609c Leon Romanovsky 2020-08-16  123  	switch (mode) {
a65107565e609c Leon Romanovsky 2020-08-16  124  	case RDMA_COUNTER_MODE_MANUAL:
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  125  		ret = __counter_set_mode(&port_counter->mode,
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  126  					 RDMA_COUNTER_MODE_MANUAL, 0);
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  127  		if (ret)
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  128  			goto err_mode;
a65107565e609c Leon Romanovsky 2020-08-16  129  		break;
a65107565e609c Leon Romanovsky 2020-08-16  130  	case RDMA_COUNTER_MODE_AUTO:
a65107565e609c Leon Romanovsky 2020-08-16  131  		auto_mode_init_counter(counter, qp, port_counter->mode.mask);
a65107565e609c Leon Romanovsky 2020-08-16  132  		break;
a65107565e609c Leon Romanovsky 2020-08-16  133  	default:
a65107565e609c Leon Romanovsky 2020-08-16  134  		ret = -EOPNOTSUPP;
a65107565e609c Leon Romanovsky 2020-08-16  135  		goto err_mode;
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  136  	}
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  137  
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  138  	port_counter->num_counters++;
1bd8e0a9d0fd1b Mark Zhang      2019-07-02 @139  	mutex_unlock(&port_counter->lock);
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Unlocked

1bd8e0a9d0fd1b Mark Zhang      2019-07-02  140  
99fa331dc8629b Mark Zhang      2019-07-02  141  	counter->mode.mode = mode;
99fa331dc8629b Mark Zhang      2019-07-02  142  	kref_init(&counter->kref);
99fa331dc8629b Mark Zhang      2019-07-02  143  	mutex_init(&counter->lock);
99fa331dc8629b Mark Zhang      2019-07-02  144  
a65107565e609c Leon Romanovsky 2020-08-16  145  	ret = __rdma_counter_bind_qp(counter, qp);
a65107565e609c Leon Romanovsky 2020-08-16  146  	if (ret)
a65107565e609c Leon Romanovsky 2020-08-16  147  		goto err_mode;
                                                                ^^^^^^^^^^^^^
Goto

a65107565e609c Leon Romanovsky 2020-08-16  148  
a65107565e609c Leon Romanovsky 2020-08-16  149  	rdma_restrack_parent_name(&counter->res, &qp->res);
a65107565e609c Leon Romanovsky 2020-08-16  150  	rdma_restrack_add(&counter->res);
99fa331dc8629b Mark Zhang      2019-07-02  151  	return counter;
c4ffee7c9bdba7 Mark Zhang      2019-07-02  152  
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  153  err_mode:
1bd8e0a9d0fd1b Mark Zhang      2019-07-02 @154  	mutex_unlock(&port_counter->lock);
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Unlocked again

1bd8e0a9d0fd1b Mark Zhang      2019-07-02  155  	kfree(counter->stats);
c4ffee7c9bdba7 Mark Zhang      2019-07-02  156  err_stats:
13ef5539def732 Leon Romanovsky 2020-09-22  157  	rdma_restrack_put(&counter->res);
c4ffee7c9bdba7 Mark Zhang      2019-07-02  158  	kfree(counter);
c4ffee7c9bdba7 Mark Zhang      2019-07-02  159  	return NULL;
99fa331dc8629b Mark Zhang      2019-07-02  160  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 46112 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [leon-rdma:rdma-next 3/31] drivers/infiniband/core/counters.c:154 alloc_and_bind() error: double unlocked 'port_counter->lock' (orig line 139)
@ 2020-11-16  9:49 ` Dan Carpenter
  0 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2020-11-16  9:49 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 5697 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git rdma-next
head:   00379b407ab12167a4a0e8264392c8c9bfb5ef2d
commit: a65107565e609c005cb5a3b12d41697ac25eb3d2 [3/31] RDMA/counter: Combine allocation and bind logic
config: i386-randconfig-m021-20201115 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/infiniband/core/counters.c:154 alloc_and_bind() error: double unlocked 'port_counter->lock' (orig line 139)

vim +154 drivers/infiniband/core/counters.c

a65107565e609c Leon Romanovsky 2020-08-16   98  static struct rdma_counter *alloc_and_bind(struct ib_device *dev, u8 port,
a65107565e609c Leon Romanovsky 2020-08-16   99  					   struct ib_qp *qp,
99fa331dc8629b Mark Zhang      2019-07-02  100  					   enum rdma_nl_counter_mode mode)
99fa331dc8629b Mark Zhang      2019-07-02  101  {
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  102  	struct rdma_port_counter *port_counter;
99fa331dc8629b Mark Zhang      2019-07-02  103  	struct rdma_counter *counter;
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  104  	int ret;
99fa331dc8629b Mark Zhang      2019-07-02  105  
c4ffee7c9bdba7 Mark Zhang      2019-07-02  106  	if (!dev->ops.counter_dealloc || !dev->ops.counter_alloc_stats)
99fa331dc8629b Mark Zhang      2019-07-02  107  		return NULL;
99fa331dc8629b Mark Zhang      2019-07-02  108  
99fa331dc8629b Mark Zhang      2019-07-02  109  	counter = kzalloc(sizeof(*counter), GFP_KERNEL);
99fa331dc8629b Mark Zhang      2019-07-02  110  	if (!counter)
99fa331dc8629b Mark Zhang      2019-07-02  111  		return NULL;
99fa331dc8629b Mark Zhang      2019-07-02  112  
99fa331dc8629b Mark Zhang      2019-07-02  113  	counter->device    = dev;
99fa331dc8629b Mark Zhang      2019-07-02  114  	counter->port      = port;
13ef5539def732 Leon Romanovsky 2020-09-22  115  
13ef5539def732 Leon Romanovsky 2020-09-22  116  	rdma_restrack_new(&counter->res, RDMA_RESTRACK_COUNTER);
c4ffee7c9bdba7 Mark Zhang      2019-07-02  117  	counter->stats = dev->ops.counter_alloc_stats(counter);
c4ffee7c9bdba7 Mark Zhang      2019-07-02  118  	if (!counter->stats)
c4ffee7c9bdba7 Mark Zhang      2019-07-02  119  		goto err_stats;
c4ffee7c9bdba7 Mark Zhang      2019-07-02  120  
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  121  	port_counter = &dev->port_data[port].port_counter;
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  122  	mutex_lock(&port_counter->lock);
a65107565e609c Leon Romanovsky 2020-08-16  123  	switch (mode) {
a65107565e609c Leon Romanovsky 2020-08-16  124  	case RDMA_COUNTER_MODE_MANUAL:
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  125  		ret = __counter_set_mode(&port_counter->mode,
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  126  					 RDMA_COUNTER_MODE_MANUAL, 0);
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  127  		if (ret)
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  128  			goto err_mode;
a65107565e609c Leon Romanovsky 2020-08-16  129  		break;
a65107565e609c Leon Romanovsky 2020-08-16  130  	case RDMA_COUNTER_MODE_AUTO:
a65107565e609c Leon Romanovsky 2020-08-16  131  		auto_mode_init_counter(counter, qp, port_counter->mode.mask);
a65107565e609c Leon Romanovsky 2020-08-16  132  		break;
a65107565e609c Leon Romanovsky 2020-08-16  133  	default:
a65107565e609c Leon Romanovsky 2020-08-16  134  		ret = -EOPNOTSUPP;
a65107565e609c Leon Romanovsky 2020-08-16  135  		goto err_mode;
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  136  	}
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  137  
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  138  	port_counter->num_counters++;
1bd8e0a9d0fd1b Mark Zhang      2019-07-02 @139  	mutex_unlock(&port_counter->lock);
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Unlocked

1bd8e0a9d0fd1b Mark Zhang      2019-07-02  140  
99fa331dc8629b Mark Zhang      2019-07-02  141  	counter->mode.mode = mode;
99fa331dc8629b Mark Zhang      2019-07-02  142  	kref_init(&counter->kref);
99fa331dc8629b Mark Zhang      2019-07-02  143  	mutex_init(&counter->lock);
99fa331dc8629b Mark Zhang      2019-07-02  144  
a65107565e609c Leon Romanovsky 2020-08-16  145  	ret = __rdma_counter_bind_qp(counter, qp);
a65107565e609c Leon Romanovsky 2020-08-16  146  	if (ret)
a65107565e609c Leon Romanovsky 2020-08-16  147  		goto err_mode;
                                                                ^^^^^^^^^^^^^
Goto

a65107565e609c Leon Romanovsky 2020-08-16  148  
a65107565e609c Leon Romanovsky 2020-08-16  149  	rdma_restrack_parent_name(&counter->res, &qp->res);
a65107565e609c Leon Romanovsky 2020-08-16  150  	rdma_restrack_add(&counter->res);
99fa331dc8629b Mark Zhang      2019-07-02  151  	return counter;
c4ffee7c9bdba7 Mark Zhang      2019-07-02  152  
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  153  err_mode:
1bd8e0a9d0fd1b Mark Zhang      2019-07-02 @154  	mutex_unlock(&port_counter->lock);
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Unlocked again

1bd8e0a9d0fd1b Mark Zhang      2019-07-02  155  	kfree(counter->stats);
c4ffee7c9bdba7 Mark Zhang      2019-07-02  156  err_stats:
13ef5539def732 Leon Romanovsky 2020-09-22  157  	rdma_restrack_put(&counter->res);
c4ffee7c9bdba7 Mark Zhang      2019-07-02  158  	kfree(counter);
c4ffee7c9bdba7 Mark Zhang      2019-07-02  159  	return NULL;
99fa331dc8629b Mark Zhang      2019-07-02  160  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 46112 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [leon-rdma:rdma-next 3/31] drivers/infiniband/core/counters.c:154 alloc_and_bind() error: double unlocked 'port_counter->lock' (orig line 139)
  2020-11-16  9:49 ` Dan Carpenter
  (?)
@ 2020-11-16  9:53 ` Leon Romanovsky
  -1 siblings, 0 replies; 4+ messages in thread
From: Leon Romanovsky @ 2020-11-16  9:53 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 712 bytes --]

On Mon, Nov 16, 2020 at 12:49:05PM +0300, Dan Carpenter wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git rdma-next
> head:   00379b407ab12167a4a0e8264392c8c9bfb5ef2d
> commit: a65107565e609c005cb5a3b12d41697ac25eb3d2 [3/31] RDMA/counter: Combine allocation and bind logic
> config: i386-randconfig-m021-20201115 (attached as .config)
> compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

I already submitted fix.
https://lore.kernel.org/linux-rdma/20201116062901.539483-1-leon(a)kernel.org/T/#u

Thanks

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [leon-rdma:rdma-next 3/31] drivers/infiniband/core/counters.c:154 alloc_and_bind() error: double unlocked 'port_counter->lock' (orig line 139)
@ 2020-11-15 11:18 kernel test robot
  0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2020-11-15 11:18 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 5896 bytes --]

CC: kbuild-all(a)lists.01.org
TO: Leon Romanovsky <leonro@nvidia.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git rdma-next
head:   00379b407ab12167a4a0e8264392c8c9bfb5ef2d
commit: a65107565e609c005cb5a3b12d41697ac25eb3d2 [3/31] RDMA/counter: Combine allocation and bind logic
:::::: branch date: 5 hours ago
:::::: commit date: 5 hours ago
config: i386-randconfig-m021-20201115 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/infiniband/core/counters.c:154 alloc_and_bind() error: double unlocked 'port_counter->lock' (orig line 139)

vim +154 drivers/infiniband/core/counters.c

a65107565e609c Leon Romanovsky 2020-08-16   97  
a65107565e609c Leon Romanovsky 2020-08-16   98  static struct rdma_counter *alloc_and_bind(struct ib_device *dev, u8 port,
a65107565e609c Leon Romanovsky 2020-08-16   99  					   struct ib_qp *qp,
99fa331dc8629b Mark Zhang      2019-07-02  100  					   enum rdma_nl_counter_mode mode)
99fa331dc8629b Mark Zhang      2019-07-02  101  {
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  102  	struct rdma_port_counter *port_counter;
99fa331dc8629b Mark Zhang      2019-07-02  103  	struct rdma_counter *counter;
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  104  	int ret;
99fa331dc8629b Mark Zhang      2019-07-02  105  
c4ffee7c9bdba7 Mark Zhang      2019-07-02  106  	if (!dev->ops.counter_dealloc || !dev->ops.counter_alloc_stats)
99fa331dc8629b Mark Zhang      2019-07-02  107  		return NULL;
99fa331dc8629b Mark Zhang      2019-07-02  108  
99fa331dc8629b Mark Zhang      2019-07-02  109  	counter = kzalloc(sizeof(*counter), GFP_KERNEL);
99fa331dc8629b Mark Zhang      2019-07-02  110  	if (!counter)
99fa331dc8629b Mark Zhang      2019-07-02  111  		return NULL;
99fa331dc8629b Mark Zhang      2019-07-02  112  
99fa331dc8629b Mark Zhang      2019-07-02  113  	counter->device    = dev;
99fa331dc8629b Mark Zhang      2019-07-02  114  	counter->port      = port;
13ef5539def732 Leon Romanovsky 2020-09-22  115  
13ef5539def732 Leon Romanovsky 2020-09-22  116  	rdma_restrack_new(&counter->res, RDMA_RESTRACK_COUNTER);
c4ffee7c9bdba7 Mark Zhang      2019-07-02  117  	counter->stats = dev->ops.counter_alloc_stats(counter);
c4ffee7c9bdba7 Mark Zhang      2019-07-02  118  	if (!counter->stats)
c4ffee7c9bdba7 Mark Zhang      2019-07-02  119  		goto err_stats;
c4ffee7c9bdba7 Mark Zhang      2019-07-02  120  
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  121  	port_counter = &dev->port_data[port].port_counter;
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  122  	mutex_lock(&port_counter->lock);
a65107565e609c Leon Romanovsky 2020-08-16  123  	switch (mode) {
a65107565e609c Leon Romanovsky 2020-08-16  124  	case RDMA_COUNTER_MODE_MANUAL:
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  125  		ret = __counter_set_mode(&port_counter->mode,
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  126  					 RDMA_COUNTER_MODE_MANUAL, 0);
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  127  		if (ret)
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  128  			goto err_mode;
a65107565e609c Leon Romanovsky 2020-08-16  129  		break;
a65107565e609c Leon Romanovsky 2020-08-16  130  	case RDMA_COUNTER_MODE_AUTO:
a65107565e609c Leon Romanovsky 2020-08-16  131  		auto_mode_init_counter(counter, qp, port_counter->mode.mask);
a65107565e609c Leon Romanovsky 2020-08-16  132  		break;
a65107565e609c Leon Romanovsky 2020-08-16  133  	default:
a65107565e609c Leon Romanovsky 2020-08-16  134  		ret = -EOPNOTSUPP;
a65107565e609c Leon Romanovsky 2020-08-16  135  		goto err_mode;
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  136  	}
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  137  
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  138  	port_counter->num_counters++;
1bd8e0a9d0fd1b Mark Zhang      2019-07-02 @139  	mutex_unlock(&port_counter->lock);
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  140  
99fa331dc8629b Mark Zhang      2019-07-02  141  	counter->mode.mode = mode;
99fa331dc8629b Mark Zhang      2019-07-02  142  	kref_init(&counter->kref);
99fa331dc8629b Mark Zhang      2019-07-02  143  	mutex_init(&counter->lock);
99fa331dc8629b Mark Zhang      2019-07-02  144  
a65107565e609c Leon Romanovsky 2020-08-16  145  	ret = __rdma_counter_bind_qp(counter, qp);
a65107565e609c Leon Romanovsky 2020-08-16  146  	if (ret)
a65107565e609c Leon Romanovsky 2020-08-16  147  		goto err_mode;
a65107565e609c Leon Romanovsky 2020-08-16  148  
a65107565e609c Leon Romanovsky 2020-08-16  149  	rdma_restrack_parent_name(&counter->res, &qp->res);
a65107565e609c Leon Romanovsky 2020-08-16  150  	rdma_restrack_add(&counter->res);
99fa331dc8629b Mark Zhang      2019-07-02  151  	return counter;
c4ffee7c9bdba7 Mark Zhang      2019-07-02  152  
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  153  err_mode:
1bd8e0a9d0fd1b Mark Zhang      2019-07-02 @154  	mutex_unlock(&port_counter->lock);
1bd8e0a9d0fd1b Mark Zhang      2019-07-02  155  	kfree(counter->stats);
c4ffee7c9bdba7 Mark Zhang      2019-07-02  156  err_stats:
13ef5539def732 Leon Romanovsky 2020-09-22  157  	rdma_restrack_put(&counter->res);
c4ffee7c9bdba7 Mark Zhang      2019-07-02  158  	kfree(counter);
c4ffee7c9bdba7 Mark Zhang      2019-07-02  159  	return NULL;
99fa331dc8629b Mark Zhang      2019-07-02  160  }
99fa331dc8629b Mark Zhang      2019-07-02  161  

:::::: The code at line 154 was first introduced by commit
:::::: 1bd8e0a9d0fd1be03d2833a0c15ac676bdf275d8 RDMA/counter: Allow manual mode configuration support

:::::: TO: Mark Zhang <markz@mellanox.com>
:::::: CC: Jason Gunthorpe <jgg@mellanox.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 46112 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-11-16  9:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-16  9:49 [leon-rdma:rdma-next 3/31] drivers/infiniband/core/counters.c:154 alloc_and_bind() error: double unlocked 'port_counter->lock' (orig line 139) Dan Carpenter
2020-11-16  9:49 ` Dan Carpenter
2020-11-16  9:53 ` Leon Romanovsky
  -- strict thread matches above, loose matches on Subject: below --
2020-11-15 11:18 kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.