Message ID | 20221103011749.139262-1-liaochang1@huawei.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp250367wru; Wed, 2 Nov 2022 18:26:21 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4331JSZQuwIX7HmQz43AFxAV9FjIeiQ/r6PxxypSiCImT2zEguDxoY5h4TqxXR0crzOjmc X-Received: by 2002:a17:907:8a24:b0:78d:cd60:1022 with SMTP id sc36-20020a1709078a2400b0078dcd601022mr26380993ejc.384.1667438780861; Wed, 02 Nov 2022 18:26:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667438780; cv=none; d=google.com; s=arc-20160816; b=N4mG/Wqo83CnSANrMG5GmwHC7eUlF8PwKY9c6FzaEVtlf8UMtFItdOmp2BZ48BDsxB fcpnKN7uLy8F3LEheOh8hn1wz04jBo5/E1DahDpu7QUwQeINBGekrAdsK4ljwRrpjSC+ CVKg2Sa2mgAd6zC0A9YU3ID0AKv+ab1eh9AscHdPfEkvtOyS/NUMJem/yKJo1+YUbbbP fnVHIYYx9Conf4DKVu6pDi/HBjjnm8P3RnttUY6GWSt9GDTzbLej13GIeOI0D5+tGfWW jUxcVb47Xlz+GJ1ELcu263lAbD4EYBQ9n+J8D9lHqqze0tbCUGweQK2ldK9mHe1mZbC5 neTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=cAqvb1adlE7m5v5c13p4uOoA9i8UZn25iiLsJE+izqc=; b=nTTgVK5/ECc/VpIhgbT2774WgmrLBuoGT4r/UNJymYfODBr3xkuM5Oic9v242fflMq hBA9mndCootLAyo/vFKYrPhsnSHpnUz+/gOcx8ixno2Fw8Lqg0+WQ3C5rN+fOiZnnjOf 9MaWVYW9mjQgTPWd3vw2xHeX/Gu9zkyODmdQXYM1PmIhH6Zoi7o0WaXLifRksV1oGtVn SXvueyUsrogShfy/i33Nxs0df1eo8hOlQZbu5urTkkSvwiM2wJFyj4WfIYnAx+tB2tBT OIWGvN29SKRBs1obYkcTntt3q7jtfXhYwjAeOT3cL08E94hQru3rgxqjnhG9wZVYrEjB B/DQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ho18-20020a1709070e9200b0078dcfe6a000si20390352ejc.727.2022.11.02.18.25.57; Wed, 02 Nov 2022 18:26:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230491AbiKCBVL (ORCPT <rfc822;yves.mi.zy@gmail.com> + 99 others); Wed, 2 Nov 2022 21:21:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36202 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229993AbiKCBVJ (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 2 Nov 2022 21:21:09 -0400 Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1B75E12A83; Wed, 2 Nov 2022 18:21:07 -0700 (PDT) Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.56]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4N2mDF1KCbz15M1C; Thu, 3 Nov 2022 09:21:01 +0800 (CST) Received: from huawei.com (10.67.174.53) by kwepemi500012.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 3 Nov 2022 09:21:04 +0800 From: Liao Chang <liaochang1@huawei.com> To: <seanjc@google.com>, <pbonzini@redhat.com>, <tglx@linutronix.de>, <mingo@redhat.com>, <bp@alien8.de>, <dave.hansen@linux.intel.com>, <hpa@zytor.com> CC: <x86@kernel.org>, <kvm@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <liaochang1@huawei.com> Subject: [PATCH 2/2] KVM: x86: Fix a typo about the usage of kvcalloc() Date: Thu, 3 Nov 2022 09:17:49 +0800 Message-ID: <20221103011749.139262-1-liaochang1@huawei.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.67.174.53] X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To kwepemi500012.china.huawei.com (7.221.188.12) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748436286994382138?= X-GMAIL-MSGID: =?utf-8?q?1748436286994382138?= |
Series |
[1/2] ARM: kprobes: Improve robustness for kprobe coverage testing
|
|
Commit Message
Liao Chang
Nov. 3, 2022, 1:17 a.m. UTC
Swap the 1st and 2nd arguments to be consistent with the usage of
kvcalloc().
Fixes: c9b8fecddb5b ("KVM: use kvcalloc for array allocations")
Signed-off-by: Liao Chang <liaochang1@huawei.com>
---
arch/x86/kvm/cpuid.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On Thu, Nov 03, 2022 at 09:17:49AM +0800, Liao Chang wrote: > Swap the 1st and 2nd arguments to be consistent with the usage of > kvcalloc(). > This isn't typofix as suggested from the patch subject, right?
On Thu, 2022-11-03 at 12:18 +0800, liaochang (A) wrote: > > 在 2022/11/3 10:37, Bagas Sanjaya 写道: > > This isn't typofix as suggested from the patch subject, right? > > Well, since kvcalloc uses the product of 1st and 2nd argument to do allocation, > hence current code supposes to work well, but the usage is obviously no sense, > that is why i name it a 'typo' and make it correct ;) > Seems there are several of these typo/defects. $ git grep -P 'calloc\s*\(\s*sizeof' arch/x86/kvm/cpuid.c: array.entries = kvcalloc(sizeof(struct kvm_cpuid_entry2), cpuid->nent, GFP_KERNEL); drivers/gpu/drm/nouveau/nouveau_svm.c: buffer->fault = kvcalloc(sizeof(*buffer->fault), buffer->entries, GFP_KERNEL); drivers/scsi/bfa/bfad_bsg.c: buf_base = kcalloc(sizeof(struct bfad_buf_info) + drivers/soc/fsl/dpio/dpio-service.c: ed = kcalloc(sizeof(struct qbman_eq_desc), 32, GFP_KERNEL); fs/btrfs/send.c: sctx->clone_roots = kvcalloc(sizeof(*sctx->clone_roots), kernel/bpf/bpf_local_storage.c: smap->buckets = kvcalloc(sizeof(*smap->buckets), nbuckets, kernel/watch_queue.c: pages = kcalloc(sizeof(struct page *), nr_pages, GFP_KERNEL); tools/lib/bpf/libbpf.c: gen = calloc(sizeof(*gen), 1); tools/objtool/check.c: struct cfi_state *cfi = calloc(sizeof(struct cfi_state), 1); tools/objtool/check.c: file->pv_ops = calloc(sizeof(struct pv_state), nr); tools/perf/builtin-record.c: rec->switch_output.filenames = calloc(sizeof(char *), tools/perf/util/bpf-loader.c: priv = calloc(sizeof(*priv), 1); tools/perf/util/hist.c: he->res_samples = calloc(sizeof(struct res_sample), tools/perf/util/metricgroup.c: metric_events = calloc(sizeof(void *), ids_size + 1); tools/perf/util/stat-shadow.c: metric_events = calloc(sizeof(struct evsel *), tools/perf/util/synthetic-events.c: synthesize_threads = calloc(sizeof(pthread_t), thread_nr); tools/perf/util/synthetic-events.c: args = calloc(sizeof(*args), thread_nr); tools/testing/selftests/arm64/fp/fp-stress.c: children = calloc(sizeof(*children), tests); tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c: link = calloc(sizeof(struct bpf_link *), prog_cnt); tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c: prog = calloc(sizeof(struct bpf_program *), prog_cnt); tools/testing/selftests/bpf/test_progs.c: dispatcher_threads = calloc(sizeof(pthread_t), env.workers); tools/testing/selftests/bpf/test_progs.c: data = calloc(sizeof(struct dispatch_data), env.workers); tools/testing/selftests/bpf/test_progs.c: env.worker_current_test = calloc(sizeof(int), env.workers); tools/testing/selftests/bpf/test_progs.c: env.worker_pids = calloc(sizeof(__pid_t), env.workers); tools/testing/selftests/bpf/test_progs.c: env.worker_socks = calloc(sizeof(int), env.workers); tools/testing/selftests/memfd/fuse_test.c: zero = calloc(sizeof(*zero), mfd_def_size);
On 11/3/22 02:17, Liao Chang wrote: > Swap the 1st and 2nd arguments to be consistent with the usage of > kvcalloc(). > > Fixes: c9b8fecddb5b ("KVM: use kvcalloc for array allocations") > Signed-off-by: Liao Chang<liaochang1@huawei.com> > --- > arch/x86/kvm/cpuid.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c > index 7065462378e2..b33c18b142c2 100644 > --- a/arch/x86/kvm/cpuid.c > +++ b/arch/x86/kvm/cpuid.c > @@ -1331,7 +1331,7 @@ int kvm_dev_ioctl_get_cpuid(struct kvm_cpuid2 *cpuid, > if (sanity_check_entries(entries, cpuid->nent, type)) > return -EINVAL; > > - array.entries = kvcalloc(sizeof(struct kvm_cpuid_entry2), cpuid->nent, GFP_KERNEL); > + array.entries = kvcalloc(cpuid->nent, sizeof(struct kvm_cpuid_entry2), GFP_KERNEL); > if (!array.entries) > return -ENOMEM; > It doesn't make any difference, but scripts/checkpatch.pl checks it so let's fix the sole occurrence in KVM. However, please send a patch to scripts/checkpatch.pl to include calloc(), kvmalloc_array and kvcalloc() in the matched functions: # check for alloc argument mismatch if ($line =~ /\b((?:devm_)?(?:kcalloc|kmalloc_array))\s*\(\s*sizeof\b/) { WARN("ALLOC_ARRAY_ARGS", "$1 uses number as first arg, sizeof is generally wrong\n" . $herecurr); } Paolo
在 2022/11/3 21:39, Paolo Bonzini 写道: > On 11/3/22 02:17, Liao Chang wrote: >> Swap the 1st and 2nd arguments to be consistent with the usage of >> kvcalloc(). >> >> Fixes: c9b8fecddb5b ("KVM: use kvcalloc for array allocations") >> Signed-off-by: Liao Chang<liaochang1@huawei.com> >> --- >> arch/x86/kvm/cpuid.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c >> index 7065462378e2..b33c18b142c2 100644 >> --- a/arch/x86/kvm/cpuid.c >> +++ b/arch/x86/kvm/cpuid.c >> @@ -1331,7 +1331,7 @@ int kvm_dev_ioctl_get_cpuid(struct kvm_cpuid2 *cpuid, >> if (sanity_check_entries(entries, cpuid->nent, type)) >> return -EINVAL; >> - array.entries = kvcalloc(sizeof(struct kvm_cpuid_entry2), cpuid->nent, GFP_KERNEL); >> + array.entries = kvcalloc(cpuid->nent, sizeof(struct kvm_cpuid_entry2), GFP_KERNEL); >> if (!array.entries) >> return -ENOMEM; >> > > It doesn't make any difference, but scripts/checkpatch.pl checks it so > let's fix the sole occurrence in KVM. > > However, please send a patch to scripts/checkpatch.pl to include calloc(), > kvmalloc_array and kvcalloc() in the matched functions: > > # check for alloc argument mismatch > if ($line =~ /\b((?:devm_)?(?:kcalloc|kmalloc_array))\s*\(\s*sizeof\b/) { > WARN("ALLOC_ARRAY_ARGS", > "$1 uses number as first arg, sizeof is generally wrong\n" . $herecurr); > } I ready send a patch to enhance the checking for array allocator family, please check out patch "checkpatch: Add check for array allocator family argument order". Thanks. > > > Paolo > > > .
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c index 7065462378e2..b33c18b142c2 100644 --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c @@ -1331,7 +1331,7 @@ int kvm_dev_ioctl_get_cpuid(struct kvm_cpuid2 *cpuid, if (sanity_check_entries(entries, cpuid->nent, type)) return -EINVAL; - array.entries = kvcalloc(sizeof(struct kvm_cpuid_entry2), cpuid->nent, GFP_KERNEL); + array.entries = kvcalloc(cpuid->nent, sizeof(struct kvm_cpuid_entry2), GFP_KERNEL); if (!array.entries) return -ENOMEM;