From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Julia Lawall <julia.lawall@inria.fr>
Subject: drivers/misc/mei/main.c:482:1-7: preceding lock on line 466
Date: Thu, 30 Oct 2025 19:26:44 +0800 [thread overview]
Message-ID: <202510301941.OD7eyuMN-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Alexander Usyskin <alexander.usyskin@intel.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: e53642b87a4f4b03a8d7e5f8507fc3cd0c595ea6
commit: 2b5c4cb2c008f01182f87f529cb104bc5bc80418 mei: retry connect if interrupted by link reset
date: 6 weeks ago
:::::: branch date: 34 hours ago
:::::: commit date: 6 weeks ago
config: x86_64-randconfig-102-20251030 (https://download.01.org/0day-ci/archive/20251030/202510301941.OD7eyuMN-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Julia Lawall <julia.lawall@inria.fr>
| Closes: https://lore.kernel.org/r/202510301941.OD7eyuMN-lkp@intel.com/
cocci warnings: (new ones prefixed by >>)
>> drivers/misc/mei/main.c:482:1-7: preceding lock on line 466
vim +482 drivers/misc/mei/main.c
ab841160d907bf drivers/staging/mei/main.c Oren Weil 2011-05-15 398
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 399 /**
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 400 * mei_ioctl_connect_client - the connect to fw client IOCTL function
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 401 *
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 402 * @file: private data of the file object
aa207a05f95abc drivers/misc/mei/main.c Alexander Usyskin 2020-08-18 403 * @in_client_uuid: requested UUID for connection
aa207a05f95abc drivers/misc/mei/main.c Alexander Usyskin 2020-08-18 404 * @client: IOCTL connect data, output parameters
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 405 *
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 406 * Locking: called under "dev->device_lock" lock
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 407 *
a8605ea2c20c2b drivers/misc/mei/main.c Alexander Usyskin 2014-09-29 408 * Return: 0 on success, <0 on failure.
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 409 */
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 410 static int mei_ioctl_connect_client(struct file *file,
aa207a05f95abc drivers/misc/mei/main.c Alexander Usyskin 2020-08-18 411 const uuid_le *in_client_uuid,
aa207a05f95abc drivers/misc/mei/main.c Alexander Usyskin 2020-08-18 412 struct mei_client *client)
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 413 {
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 414 struct mei_device *dev;
d320832f646660 drivers/misc/mei/main.c Tomas Winkler 2014-08-24 415 struct mei_me_client *me_cl;
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 416 struct mei_cl *cl;
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 417 int rets;
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 418
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 419 cl = file->private_data;
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 420 dev = cl->dev;
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 421
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 422 if (cl->state != MEI_FILE_INITIALIZING &&
79563db9ddd379 drivers/misc/mei/main.c Tomas Winkler 2015-01-11 423 cl->state != MEI_FILE_DISCONNECTED)
79563db9ddd379 drivers/misc/mei/main.c Tomas Winkler 2015-01-11 424 return -EBUSY;
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 425
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 426 retry:
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 427 /* find ME client we're trying to connect to */
aa207a05f95abc drivers/misc/mei/main.c Alexander Usyskin 2020-08-18 428 me_cl = mei_me_cl_by_uuid(dev, in_client_uuid);
f4e06246183f18 drivers/misc/mei/main.c Alexander Usyskin 2016-02-07 429 if (!me_cl) {
631ae0c01010ba drivers/misc/mei/main.c Alexander Usyskin 2025-07-17 430 cl_dbg(dev, cl, "Cannot connect to FW Client UUID = %pUl\n",
aa207a05f95abc drivers/misc/mei/main.c Alexander Usyskin 2020-08-18 431 in_client_uuid);
f4e06246183f18 drivers/misc/mei/main.c Alexander Usyskin 2016-02-07 432 rets = -ENOTTY;
f4e06246183f18 drivers/misc/mei/main.c Alexander Usyskin 2016-02-07 433 goto end;
f4e06246183f18 drivers/misc/mei/main.c Alexander Usyskin 2016-02-07 434 }
f4e06246183f18 drivers/misc/mei/main.c Alexander Usyskin 2016-02-07 435
f4e06246183f18 drivers/misc/mei/main.c Alexander Usyskin 2016-02-07 436 if (me_cl->props.fixed_address) {
f4e06246183f18 drivers/misc/mei/main.c Alexander Usyskin 2016-02-07 437 bool forbidden = dev->override_fixed_address ?
f4e06246183f18 drivers/misc/mei/main.c Alexander Usyskin 2016-02-07 438 !dev->allow_fixed_address : !dev->hbm_f_fa_supported;
f4e06246183f18 drivers/misc/mei/main.c Alexander Usyskin 2016-02-07 439 if (forbidden) {
631ae0c01010ba drivers/misc/mei/main.c Alexander Usyskin 2025-07-17 440 cl_dbg(dev, cl, "Connection forbidden to FW Client UUID = %pUl\n",
aa207a05f95abc drivers/misc/mei/main.c Alexander Usyskin 2020-08-18 441 in_client_uuid);
f4e06246183f18 drivers/misc/mei/main.c Alexander Usyskin 2016-02-07 442 rets = -ENOTTY;
f4e06246183f18 drivers/misc/mei/main.c Alexander Usyskin 2016-02-07 443 goto end;
f4e06246183f18 drivers/misc/mei/main.c Alexander Usyskin 2016-02-07 444 }
80fe6361540fd7 drivers/misc/mei/main.c Tomas Winkler 2013-05-07 445 }
80fe6361540fd7 drivers/misc/mei/main.c Tomas Winkler 2013-05-07 446
631ae0c01010ba drivers/misc/mei/main.c Alexander Usyskin 2025-07-17 447 cl_dbg(dev, cl, "Connect to FW Client ID = %d\n", me_cl->client_id);
631ae0c01010ba drivers/misc/mei/main.c Alexander Usyskin 2025-07-17 448 cl_dbg(dev, cl, "FW Client - Protocol Version = %d\n", me_cl->props.protocol_version);
631ae0c01010ba drivers/misc/mei/main.c Alexander Usyskin 2025-07-17 449 cl_dbg(dev, cl, "FW Client - Max Msg Len = %d\n", me_cl->props.max_msg_length);
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 450
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 451 /* prepare the output buffer */
d320832f646660 drivers/misc/mei/main.c Tomas Winkler 2014-08-24 452 client->max_msg_length = me_cl->props.max_msg_length;
d320832f646660 drivers/misc/mei/main.c Tomas Winkler 2014-08-24 453 client->protocol_version = me_cl->props.protocol_version;
631ae0c01010ba drivers/misc/mei/main.c Alexander Usyskin 2025-07-17 454 cl_dbg(dev, cl, "Can connect?\n");
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 455
d49ed64a6e3f73 drivers/misc/mei/main.c Alexander Usyskin 2015-05-04 456 rets = mei_cl_connect(cl, me_cl, file);
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 457
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 458 if (rets && cl->status == -EFAULT &&
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 459 (dev->dev_state == MEI_DEV_RESETTING ||
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 460 dev->dev_state == MEI_DEV_INIT_CLIENTS)) {
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 461 /* in link reset, wait for it completion */
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 462 mutex_unlock(&dev->device_lock);
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 463 rets = wait_event_interruptible_timeout(dev->wait_dev_state,
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 464 dev->dev_state == MEI_DEV_ENABLED,
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 465 dev->timeouts.link_reset_wait);
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 @466 mutex_lock(&dev->device_lock);
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 467 if (rets < 0) {
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 468 if (signal_pending(current))
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 469 rets = -EINTR;
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 470 goto end;
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 471 }
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 472 if (dev->dev_state != MEI_DEV_ENABLED) {
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 473 rets = -ETIME;
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 474 goto end;
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 475 }
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 476 mei_me_cl_put(me_cl);
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 477 goto retry;
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 478 }
2b5c4cb2c008f0 drivers/misc/mei/main.c Alexander Usyskin 2025-09-18 479
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 480 end:
79563db9ddd379 drivers/misc/mei/main.c Tomas Winkler 2015-01-11 481 mei_me_cl_put(me_cl);
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 @482 return rets;
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 483 }
9f81abdac36296 drivers/misc/mei/main.c Tomas Winkler 2013-01-08 484
:::::: The code at line 482 was first introduced by commit
:::::: 9f81abdac3629629a246fdc9e2a7c01ffd52ce8a mei: implement mei_cl_connect function
:::::: TO: Tomas Winkler <tomas.winkler@intel.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2025-10-30 11:27 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-30 11:26 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-06-02 6:32 drivers/misc/mei/main.c:482:1-7: preceding lock on line 466 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=202510301941.OD7eyuMN-lkp@intel.com \
--to=lkp@intel.com \
--cc=julia.lawall@inria.fr \
--cc=oe-kbuild@lists.linux.dev \
/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.