From patchwork Thu Jan 31 09:25:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chengguang Xu X-Patchwork-Id: 10790185 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1E7DD13B4 for ; Thu, 31 Jan 2019 09:26:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1E5D32FBF0 for ; Thu, 31 Jan 2019 09:26:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 130B92FC3C; Thu, 31 Jan 2019 09:26:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F0B2729792 for ; Thu, 31 Jan 2019 09:26:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726376AbfAaJ0S (ORCPT ); Thu, 31 Jan 2019 04:26:18 -0500 Received: from mout.gmx.net ([212.227.15.15]:46809 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726172AbfAaJ0S (ORCPT ); Thu, 31 Jan 2019 04:26:18 -0500 Received: from localhost.localdomain ([218.18.229.179]) by mail.gmx.com (mrgmx002 [212.227.17.184]) with ESMTPSA (Nemesis) id 0M5cMq-1h4RXL3Ca8-00xdwO; Thu, 31 Jan 2019 10:26:16 +0100 From: Chengguang Xu To: axboe@kernel.dk Cc: linux-block@vger.kernel.org, Chengguang Xu Subject: [PATCH] block: use strncmp() instead of strcmp() for comparing device name Date: Thu, 31 Jan 2019 17:25:20 +0800 Message-Id: <20190131092520.20273-1-cgxu519@gmx.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-Provags-ID: V03:K1:G8ttzLjmO3SCtS24IEt2XWvQNxGj2BnNgA4RmZlbTmIkRcf1TiT 76gSL5N7NFkcKpaLVfuFLkYSDwGc+gE848lOQVUF1HhD2lPAdsLiVciTguzuAtsxZIOypGS XgdGekxMjT+Op6uTbtv0s1GXJejDtLxVSQ62kTE37C50jgFyI+oOIZ3IZrAMk0NpjJgaWLU 9rPMxfR3piKWEDAYR8VlQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:FPrPgWQGITY=:CnrogaNsxa80N5MY5YSwi7 DrRCkg6zEqwOxCI6F6UrLra3Y4vsC99ClnWOEY5oAI9yemNXixuehn+AjJ72hmXfmGB6Z7Ae5 vTXD5x4BmTvNp5bMdQKA3PbdroQ4nZsKCnhpt5ICLDHLcgl14GT1QO5WEsmi4kFlu6dzC+m9p JrqvwF+0O4POWgf9+jEKxn/DRj60uQZIL1kmjD1jfQ13i7Q2FU7fCNGenJtRih+NJwgKNv3yo mQSVJQmljzJCQ6L3lziSkC34xzpcH4NZXoGNBSxsqVOQzxeW0ua+K68aOPN0U2BlXVSTN2SyU 7SH88haQK6ij2l5tHUOOYQ70kSUR1nmQACaXHWD1wp4p0VOJbp95vgveiuNRVOHEgEHOYJuXB At5h6xE0x5Y0CpO/AMMM9ESXKDBw3YnhbzDnH0yJ4Pv3UvHt0AiueH08Utt3DHUCKrjy6Cepc JwdRdoMILQMYeDWqV5/yvLG1V96J+9iLi8YmacsWLDhvHlauiFhsQl49NvN8586h6x2j7s7XM nqJZ70gWTYiH7Wfc8tBs1Uux2qvQL+1WIjlBywXJ0dAOsZzNPjLjlQ3J961zND7D19D2aQHWJ g+O+t4jCg54qk6RmVLeUtBulKsYgzgs/INpgFd3hc0z9bUgygf0ZJB5Rkxy7Rs+orWy8APeBD mYjRJiW/s3X0fAvoZtiLp/E6n4u1MOBFzqGebpzYjhhrIN0egdGe6mRC6cT1EKVS2w+g2iqfe FGwEI9d132Es37U8N5NCAu2hAGFQJUppJppNbq4BtWtiwp2EjrUxwXAuHgYA5CnKPATLOr0Wy 1oYDpNo7bSo04e7XfO3mtqkB3IdRKAB1793exeP9+r+zBzjvNWFGpw323QDpj7YGVT+0AKWxo Zb6wP3b0l0jOhOAMIYorDq6jtUO2Bx5HACE20qwuBCjdGH/0OjELzqLP5QcWY2 Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP We use strlcpy() to copy device name in register_blkdev(), so if the device name is longer enough(accurately longer than 15 bytes), the copied name is truncated to 15 bytes. In this case, it's better to use strncmp() to compare device name instead of strcmp() in unregister_blkdev(), so that we can recognize the device name correctly. Signed-off-by: Chengguang Xu --- block/genhd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/genhd.c b/block/genhd.c index 1dd8fd6613b8..efc532ae9de9 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -424,7 +424,7 @@ void unregister_blkdev(unsigned int major, const char *name) for (n = &major_names[index]; *n; n = &(*n)->next) if ((*n)->major == major) break; - if (!*n || strcmp((*n)->name, name)) { + if (!*n || strncmp((*n)->name, name, strlen((*n)->name))) { WARN_ON(1); } else { p = *n;