From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 333B5C433F5 for ; Tue, 8 Feb 2022 20:56:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Subject:cc:To: From:Date:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=6pLX3JwRYJNsFQGVAOCetAwSpCfJRnAiWkdW07IgWxE=; b=q3MY5KSxNEvtsE fZx/kO/ANpKiQFuBKxa7os6eLKG575wzYOJ+vqrKyLAkKJxtUFNPw97659NP8IeXxrUngRWJaH6wh BUVIbjC7qSImHDzWjznuVFZiFTB2yWELHy1XwTbeiXpc0USBk31lBpFVCbkgP+pRLkkP6XmiLBvm0 NCNAywrDRcM0c53eVuwJ9sUb8ThijChenc8UskPvqyPdk1KX35mEoFjbtln0uleSwTklPsfb5JWZx IBByX/2uyqPcFYXuKz7zQLYTvt5SAReAU2pBpS4BSSkogbDWTRGLTwxFmEmVELkWf435CtIpS0gi4 GmfsmhJ4+NFPboyax7rg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nHXW4-00FXxh-33; Tue, 08 Feb 2022 20:55:12 +0000 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nHXVz-00FXx8-Qh for linux-arm-kernel@lists.infradead.org; Tue, 08 Feb 2022 20:55:09 +0000 X-IronPort-AV: E=Sophos;i="5.88,353,1635199200"; d="scan'208";a="20363371" Received: from 173.121.68.85.rev.sfr.net (HELO hadrien) ([85.68.121.173]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Feb 2022 21:55:05 +0100 Date: Tue, 8 Feb 2022 21:55:05 +0100 (CET) From: Julia Lawall X-X-Sender: jll@hadrien To: Michal Simek , Shubhrajyoti Datta , Radhey Shyam Pandey cc: kbuild-all@lists.01.org, linux-arm-kernel@lists.infradead.org Subject: [xilinx-xlnx:xlnx_rebase_v5.15 304/872] serial: uartps: preceding lock on line 1458 Message-ID: User-Agent: Alpine 2.22 (DEB 394 2020-01-19) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220208_125508_170202_BE8D6F56 X-CRM114-Status: GOOD ( 10.59 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The return on line 1465 is missing a mutex_unlock on &bitmap_lock. julia ---------- Forwarded message ---------- Date: Tue, 8 Feb 2022 18:55:12 +0800 From: kernel test robot To: kbuild@lists.01.org Cc: lkp@intel.com, Julia Lawall Subject: [xilinx-xlnx:xlnx_rebase_v5.15 304/872] drivers/tty/serial/xilinx_uartps.c:1465:3-9: preceding lock on line 1458 CC: kbuild-all@lists.01.org CC: linux-arm-kernel@lists.infradead.org TO: Michal Simek CC: Shubhrajyoti Datta CC: Radhey Shyam Pandey tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.15 head: 1183ce490adb103e5e569b8ebd74c50c885ddc05 commit: f0090478ae8a76b733a846f50dc5559fff3c461f [304/872] serial: uartps: Change uart ID port allocation :::::: branch date: 7 days ago :::::: commit date: 8 days ago config: xtensa-randconfig-c004-20220207 (https://download.01.org/0day-ci/archive/20220208/202202081830.Tk4vrixD-lkp@intel.com/config) compiler: xtensa-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Julia Lawall cocci warnings: (new ones prefixed by >>) >> drivers/tty/serial/xilinx_uartps.c:1465:3-9: preceding lock on line 1458 vim +1465 drivers/tty/serial/xilinx_uartps.c f0090478ae8a76 Michal Simek 2018-09-20 1453 f0090478ae8a76 Michal Simek 2018-09-20 1454 static int cdns_get_id(struct platform_device *pdev) f0090478ae8a76 Michal Simek 2018-09-20 1455 { f0090478ae8a76 Michal Simek 2018-09-20 1456 int id, ret; f0090478ae8a76 Michal Simek 2018-09-20 1457 f0090478ae8a76 Michal Simek 2018-09-20 @1458 mutex_lock(&bitmap_lock); f0090478ae8a76 Michal Simek 2018-09-20 1459 f0090478ae8a76 Michal Simek 2018-09-20 1460 /* Alias list is stable that's why get alias bitmap only once */ f0090478ae8a76 Michal Simek 2018-09-20 1461 if (!alias_bitmap_initialized) { f0090478ae8a76 Michal Simek 2018-09-20 1462 ret = of_alias_get_alias_list(cdns_uart_of_match, "serial", f0090478ae8a76 Michal Simek 2018-09-20 1463 alias_bitmap, CDNS_UART_NR_PORTS); f0090478ae8a76 Michal Simek 2018-09-20 1464 if (ret) f0090478ae8a76 Michal Simek 2018-09-20 @1465 return ret; f0090478ae8a76 Michal Simek 2018-09-20 1466 f0090478ae8a76 Michal Simek 2018-09-20 1467 alias_bitmap_initialized++; f0090478ae8a76 Michal Simek 2018-09-20 1468 } f0090478ae8a76 Michal Simek 2018-09-20 1469 f0090478ae8a76 Michal Simek 2018-09-20 1470 /* Make sure that alias ID is not taken by instance without alias */ f0090478ae8a76 Michal Simek 2018-09-20 1471 bitmap_or(bitmap, bitmap, alias_bitmap, CDNS_UART_NR_PORTS); f0090478ae8a76 Michal Simek 2018-09-20 1472 f0090478ae8a76 Michal Simek 2018-09-20 1473 dev_dbg(&pdev->dev, "Alias bitmap: %*pb\n", f0090478ae8a76 Michal Simek 2018-09-20 1474 CDNS_UART_NR_PORTS, bitmap); f0090478ae8a76 Michal Simek 2018-09-20 1475 f0090478ae8a76 Michal Simek 2018-09-20 1476 /* Look for a serialN alias */ f0090478ae8a76 Michal Simek 2018-09-20 1477 id = of_alias_get_id(pdev->dev.of_node, "serial"); f0090478ae8a76 Michal Simek 2018-09-20 1478 if (id < 0) { f0090478ae8a76 Michal Simek 2018-09-20 1479 dev_warn(&pdev->dev, f0090478ae8a76 Michal Simek 2018-09-20 1480 "No serial alias passed. Using the first free id\n"); f0090478ae8a76 Michal Simek 2018-09-20 1481 f0090478ae8a76 Michal Simek 2018-09-20 1482 /* f0090478ae8a76 Michal Simek 2018-09-20 1483 * Start with id 0 and check if there is no serial0 alias f0090478ae8a76 Michal Simek 2018-09-20 1484 * which points to device which is compatible with this driver. f0090478ae8a76 Michal Simek 2018-09-20 1485 * If alias exists then try next free position. f0090478ae8a76 Michal Simek 2018-09-20 1486 */ f0090478ae8a76 Michal Simek 2018-09-20 1487 id = 0; f0090478ae8a76 Michal Simek 2018-09-20 1488 f0090478ae8a76 Michal Simek 2018-09-20 1489 for (;;) { f0090478ae8a76 Michal Simek 2018-09-20 1490 dev_info(&pdev->dev, "Checking id %d\n", id); f0090478ae8a76 Michal Simek 2018-09-20 1491 id = find_next_zero_bit(bitmap, CDNS_UART_NR_PORTS, id); f0090478ae8a76 Michal Simek 2018-09-20 1492 f0090478ae8a76 Michal Simek 2018-09-20 1493 /* No free empty instance */ f0090478ae8a76 Michal Simek 2018-09-20 1494 if (id == CDNS_UART_NR_PORTS) { f0090478ae8a76 Michal Simek 2018-09-20 1495 dev_err(&pdev->dev, "No free ID\n"); f0090478ae8a76 Michal Simek 2018-09-20 1496 mutex_unlock(&bitmap_lock); f0090478ae8a76 Michal Simek 2018-09-20 1497 return -EINVAL; f0090478ae8a76 Michal Simek 2018-09-20 1498 } f0090478ae8a76 Michal Simek 2018-09-20 1499 f0090478ae8a76 Michal Simek 2018-09-20 1500 dev_dbg(&pdev->dev, "The empty id is %d\n", id); f0090478ae8a76 Michal Simek 2018-09-20 1501 /* Check if ID is empty */ f0090478ae8a76 Michal Simek 2018-09-20 1502 if (!test_and_set_bit(id, bitmap)) { f0090478ae8a76 Michal Simek 2018-09-20 1503 /* Break the loop if bit is taken */ f0090478ae8a76 Michal Simek 2018-09-20 1504 dev_dbg(&pdev->dev, f0090478ae8a76 Michal Simek 2018-09-20 1505 "Selected ID %d allocation passed\n", f0090478ae8a76 Michal Simek 2018-09-20 1506 id); f0090478ae8a76 Michal Simek 2018-09-20 1507 break; f0090478ae8a76 Michal Simek 2018-09-20 1508 } f0090478ae8a76 Michal Simek 2018-09-20 1509 dev_dbg(&pdev->dev, f0090478ae8a76 Michal Simek 2018-09-20 1510 "Selected ID %d allocation failed\n", id); f0090478ae8a76 Michal Simek 2018-09-20 1511 /* if taking bit fails then try next one */ f0090478ae8a76 Michal Simek 2018-09-20 1512 id++; f0090478ae8a76 Michal Simek 2018-09-20 1513 } f0090478ae8a76 Michal Simek 2018-09-20 1514 } f0090478ae8a76 Michal Simek 2018-09-20 1515 f0090478ae8a76 Michal Simek 2018-09-20 1516 mutex_unlock(&bitmap_lock); f0090478ae8a76 Michal Simek 2018-09-20 1517 f0090478ae8a76 Michal Simek 2018-09-20 1518 return id; f0090478ae8a76 Michal Simek 2018-09-20 1519 } f0090478ae8a76 Michal Simek 2018-09-20 1520 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel