From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: drivers/greybus/es2.c:439 message_send() error: double unlocked 'es2->cport_out_urb_lock' (orig line 417)
Date: Fri, 14 Aug 2020 03:26:27 +0800 [thread overview]
Message-ID: <202008140324.LLig4g2M%lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 8643 bytes --]
Hi Greg,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: dc06fe51d26efc100ac74121607c01a454867c91
commit: b81beec9cb2d586412c7166c893894930f19965e staging: greybus: move es2 to drivers/greybus/
date: 12 months ago
config: x86_64-randconfig-m001-20200813 (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>
New smatch warnings:
drivers/greybus/es2.c:439 message_send() error: double unlocked 'es2->cport_out_urb_lock' (orig line 417)
drivers/greybus/es2.c:879 cport_out_callback() error: double unlocked 'es2->cport_out_urb_lock' (orig line 871)
drivers/greybus/es2.c:1018 arpc_sync() error: double unlocked 'es2->arpc_lock' (orig line 992)
Old smatch warnings:
drivers/greybus/es2.c:441 message_send() error: double unlocked 'es2->cport_out_urb_lock' (orig line 439)
vim +439 drivers/greybus/es2.c
d29b3d631e57240 drivers/staging/greybus/es2.c Alex Elder 2015-06-13 385
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 386 /*
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 387 * Returns zero if the message was successfully queued, or a negative errno
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 388 * otherwise.
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 389 */
2537636abae5b81 drivers/staging/greybus/es2.c Johan Hovold 2015-11-03 390 static int message_send(struct gb_host_device *hd, u16 cport_id,
7cf7bca9ec5659e drivers/staging/greybus/es2.c Johan Hovold 2015-04-07 391 struct gb_message *message, gfp_t gfp_mask)
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 392 {
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 393 struct es2_ap_dev *es2 = hd_to_es2(hd);
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 394 struct usb_device *udev = es2->usb_dev;
7cf7bca9ec5659e drivers/staging/greybus/es2.c Johan Hovold 2015-04-07 395 size_t buffer_size;
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 396 int retval;
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 397 struct urb *urb;
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 398 unsigned long flags;
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 399
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 400 /*
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 401 * The data actually transferred will include an indication
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 402 * of where the data should be sent. Do one last check of
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 403 * the target CPort id before filling it in.
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 404 */
144670c2ae3f9b4 drivers/staging/greybus/es2.c Fabien Parent 2015-09-02 405 if (!cport_id_valid(hd, cport_id)) {
100e90000840741 drivers/staging/greybus/es2.c Johan Hovold 2015-12-07 406 dev_err(&udev->dev, "invalid cport %u\n", cport_id);
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 407 return -EINVAL;
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 408 }
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 409
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 410 /* Find a free urb */
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 411 urb = next_free_urb(es2, gfp_mask);
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 412 if (!urb)
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 413 return -ENOMEM;
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 414
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 415 spin_lock_irqsave(&es2->cport_out_urb_lock, flags);
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 416 message->hcpriv = urb;
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 @417 spin_unlock_irqrestore(&es2->cport_out_urb_lock, flags);
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 418
d29b3d631e57240 drivers/staging/greybus/es2.c Alex Elder 2015-06-13 419 /* Pack the cport id into the message header */
d29b3d631e57240 drivers/staging/greybus/es2.c Alex Elder 2015-06-13 420 gb_message_cport_pack(message->header, cport_id);
491e60d63fde0a9 drivers/staging/greybus/es2.c Johan Hovold 2015-04-07 421
821c620afa1ad29 drivers/staging/greybus/es2.c Alex Elder 2015-06-13 422 buffer_size = sizeof(*message->header) + message->payload_size;
491e60d63fde0a9 drivers/staging/greybus/es2.c Johan Hovold 2015-04-07 423
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 424 usb_fill_bulk_urb(urb, udev,
606addd2847ccc5 drivers/staging/greybus/es2.c Alexandre Bailon 2015-06-15 425 usb_sndbulkpipe(udev,
403074b50b66f1a drivers/staging/greybus/es2.c Greg Kroah-Hartman 2016-08-17 426 es2->cport_out_endpoint),
821c620afa1ad29 drivers/staging/greybus/es2.c Alex Elder 2015-06-13 427 message->buffer, buffer_size,
7cf7bca9ec5659e drivers/staging/greybus/es2.c Johan Hovold 2015-04-07 428 cport_out_callback, message);
977e209ab41073d drivers/staging/greybus/es2.c Alexandre Bailon 2015-08-31 429 urb->transfer_flags |= URB_ZERO_PACKET;
495787a792ac498 drivers/staging/greybus/es2.c Alex Elder 2016-06-03 430
495787a792ac498 drivers/staging/greybus/es2.c Alex Elder 2016-06-03 431 trace_gb_message_submit(message);
495787a792ac498 drivers/staging/greybus/es2.c Alex Elder 2016-06-03 432
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 433 retval = usb_submit_urb(urb, gfp_mask);
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 434 if (retval) {
05e3095563670ab drivers/staging/greybus/es2.c Viresh Kumar 2016-06-23 435 dev_err(&udev->dev, "failed to submit out-urb: %d\n", retval);
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 436
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 437 spin_lock_irqsave(&es2->cport_out_urb_lock, flags);
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 438 message->hcpriv = NULL;
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 @439 spin_unlock_irqrestore(&es2->cport_out_urb_lock, flags);
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 440
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 441 free_urb(es2, urb);
d29b3d631e57240 drivers/staging/greybus/es2.c Alex Elder 2015-06-13 442 gb_message_cport_clear(message->header);
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 443
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 444 return retval;
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 445 }
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 446
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 447 return 0;
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 448 }
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 449
:::::: The code at line 439 was first introduced by commit
:::::: 4b1d82047ebbb108e9961fffd51f8ccd54459221 greybus: es2: rename es2 data structures
:::::: TO: Alex Elder <elder@linaro.org>
:::::: CC: Greg Kroah-Hartman <gregkh@google.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: 28234 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org
Subject: drivers/greybus/es2.c:439 message_send() error: double unlocked 'es2->cport_out_urb_lock' (orig line 417)
Date: Fri, 14 Aug 2020 03:26:27 +0800 [thread overview]
Message-ID: <202008140324.LLig4g2M%lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 8542 bytes --]
Hi Greg,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: dc06fe51d26efc100ac74121607c01a454867c91
commit: b81beec9cb2d586412c7166c893894930f19965e staging: greybus: move es2 to drivers/greybus/
date: 12 months ago
config: x86_64-randconfig-m001-20200813 (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>
New smatch warnings:
drivers/greybus/es2.c:439 message_send() error: double unlocked 'es2->cport_out_urb_lock' (orig line 417)
drivers/greybus/es2.c:879 cport_out_callback() error: double unlocked 'es2->cport_out_urb_lock' (orig line 871)
drivers/greybus/es2.c:1018 arpc_sync() error: double unlocked 'es2->arpc_lock' (orig line 992)
Old smatch warnings:
drivers/greybus/es2.c:441 message_send() error: double unlocked 'es2->cport_out_urb_lock' (orig line 439)
vim +439 drivers/greybus/es2.c
d29b3d631e57240 drivers/staging/greybus/es2.c Alex Elder 2015-06-13 385
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 386 /*
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 387 * Returns zero if the message was successfully queued, or a negative errno
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 388 * otherwise.
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 389 */
2537636abae5b81 drivers/staging/greybus/es2.c Johan Hovold 2015-11-03 390 static int message_send(struct gb_host_device *hd, u16 cport_id,
7cf7bca9ec5659e drivers/staging/greybus/es2.c Johan Hovold 2015-04-07 391 struct gb_message *message, gfp_t gfp_mask)
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 392 {
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 393 struct es2_ap_dev *es2 = hd_to_es2(hd);
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 394 struct usb_device *udev = es2->usb_dev;
7cf7bca9ec5659e drivers/staging/greybus/es2.c Johan Hovold 2015-04-07 395 size_t buffer_size;
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 396 int retval;
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 397 struct urb *urb;
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 398 unsigned long flags;
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 399
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 400 /*
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 401 * The data actually transferred will include an indication
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 402 * of where the data should be sent. Do one last check of
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 403 * the target CPort id before filling it in.
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 404 */
144670c2ae3f9b4 drivers/staging/greybus/es2.c Fabien Parent 2015-09-02 405 if (!cport_id_valid(hd, cport_id)) {
100e90000840741 drivers/staging/greybus/es2.c Johan Hovold 2015-12-07 406 dev_err(&udev->dev, "invalid cport %u\n", cport_id);
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 407 return -EINVAL;
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 408 }
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 409
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 410 /* Find a free urb */
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 411 urb = next_free_urb(es2, gfp_mask);
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 412 if (!urb)
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 413 return -ENOMEM;
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 414
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 415 spin_lock_irqsave(&es2->cport_out_urb_lock, flags);
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 416 message->hcpriv = urb;
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 @417 spin_unlock_irqrestore(&es2->cport_out_urb_lock, flags);
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 418
d29b3d631e57240 drivers/staging/greybus/es2.c Alex Elder 2015-06-13 419 /* Pack the cport id into the message header */
d29b3d631e57240 drivers/staging/greybus/es2.c Alex Elder 2015-06-13 420 gb_message_cport_pack(message->header, cport_id);
491e60d63fde0a9 drivers/staging/greybus/es2.c Johan Hovold 2015-04-07 421
821c620afa1ad29 drivers/staging/greybus/es2.c Alex Elder 2015-06-13 422 buffer_size = sizeof(*message->header) + message->payload_size;
491e60d63fde0a9 drivers/staging/greybus/es2.c Johan Hovold 2015-04-07 423
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 424 usb_fill_bulk_urb(urb, udev,
606addd2847ccc5 drivers/staging/greybus/es2.c Alexandre Bailon 2015-06-15 425 usb_sndbulkpipe(udev,
403074b50b66f1a drivers/staging/greybus/es2.c Greg Kroah-Hartman 2016-08-17 426 es2->cport_out_endpoint),
821c620afa1ad29 drivers/staging/greybus/es2.c Alex Elder 2015-06-13 427 message->buffer, buffer_size,
7cf7bca9ec5659e drivers/staging/greybus/es2.c Johan Hovold 2015-04-07 428 cport_out_callback, message);
977e209ab41073d drivers/staging/greybus/es2.c Alexandre Bailon 2015-08-31 429 urb->transfer_flags |= URB_ZERO_PACKET;
495787a792ac498 drivers/staging/greybus/es2.c Alex Elder 2016-06-03 430
495787a792ac498 drivers/staging/greybus/es2.c Alex Elder 2016-06-03 431 trace_gb_message_submit(message);
495787a792ac498 drivers/staging/greybus/es2.c Alex Elder 2016-06-03 432
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 433 retval = usb_submit_urb(urb, gfp_mask);
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 434 if (retval) {
05e3095563670ab drivers/staging/greybus/es2.c Viresh Kumar 2016-06-23 435 dev_err(&udev->dev, "failed to submit out-urb: %d\n", retval);
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 436
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 437 spin_lock_irqsave(&es2->cport_out_urb_lock, flags);
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 438 message->hcpriv = NULL;
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 @439 spin_unlock_irqrestore(&es2->cport_out_urb_lock, flags);
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 440
4b1d82047ebbb10 drivers/staging/greybus/es2.c Alex Elder 2015-10-27 441 free_urb(es2, urb);
d29b3d631e57240 drivers/staging/greybus/es2.c Alex Elder 2015-06-13 442 gb_message_cport_clear(message->header);
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 443
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 444 return retval;
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 445 }
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 446
3e136cc9e05e1a3 drivers/staging/greybus/es2.c Johan Hovold 2015-07-01 447 return 0;
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 448 }
f587027e793cf89 drivers/staging/greybus/gb-es2.c Greg Kroah-Hartman 2015-01-21 449
:::::: The code at line 439 was first introduced by commit
:::::: 4b1d82047ebbb108e9961fffd51f8ccd54459221 greybus: es2: rename es2 data structures
:::::: TO: Alex Elder <elder@linaro.org>
:::::: CC: Greg Kroah-Hartman <gregkh@google.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 28234 bytes --]
next reply other threads:[~2020-08-13 19:26 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-13 19:26 kernel test robot [this message]
2020-08-13 19:26 ` drivers/greybus/es2.c:439 message_send() error: double unlocked 'es2->cport_out_urb_lock' (orig line 417) kernel test robot
2020-08-24 9:53 ` Johan Hovold
2020-08-24 9:53 ` Johan Hovold
2020-08-25 2:37 ` Xia, Hui
2020-08-25 2:37 ` [kbuild-all] " Xia, Hui
2020-08-25 7:10 ` Johan Hovold
2020-08-25 7:10 ` [kbuild-all] " Johan Hovold
-- strict thread matches above, loose matches on Subject: below --
2020-07-14 20:02 kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202008140324.LLig4g2M%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.