All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Kefeng Wang <wangkefeng.wang@huawei.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Mikko Perttunen <mperttunen@nvidia.com>,
	Sumit Gupta <sumitg@nvidia.com>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Hulk Robot <hulkci@huawei.com>,
	"linux-kernel@vger.kernel.org List"
	<linux-kernel@vger.kernel.org>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH -next] arm64: Export __cpu_logical_map
Date: Fri, 24 Jul 2020 10:13:52 +0100	[thread overview]
Message-ID: <20200724091308.GA44746@C02TD0UTHF1T.local> (raw)
In-Reply-To: <7998529f-da52-5e46-dd09-b9b11d83ec1a@arm.com>

On Fri, Jul 24, 2020 at 01:46:18PM +0530, Anshuman Khandual wrote:
> 
> On 07/24/2020 08:38 AM, Kefeng Wang wrote:
> > +maillist
> 
> This does not seem to be a correct method of posting any patch.
> 
> > 
> > On 2020/7/24 11:04, Kefeng Wang wrote:
> >> ERROR: modpost: "__cpu_logical_map" [drivers/cpufreq/tegra194-cpufreq.ko] undefined!
> 
> 
> >>
> >> ARM64 tegra194-cpufreq driver use cpu_logical_map, export
> >> __cpu_logical_map to fix build issue.
> 
> Commit 887d5fc82cb4 ("cpufreq: Add Tegra194 cpufreq driver") which adds
> this particular driver is present just on linux-next. But as expected,
> the driver does not use __cpu_logical_map directly but instead accesses
> it via cpu_logical_map() wrapper. Wondering, how did you even trigger
> the modpost error ?

The wrapper in <asm/smp.h> is:

| /*
|  * Logical CPU mapping.
|  */
| extern u64 __cpu_logical_map[NR_CPUS];
| #define cpu_logical_map(cpu)    __cpu_logical_map[cpu]

... and use of that would blow up as described.

> >>
> >> Reported-by: Hulk Robot <hulkci@huawei.com>
> >> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
> >> ---
> >>   arch/arm64/kernel/setup.c | 1 +
> >>   1 file changed, 1 insertion(+)
> >>
> >> diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
> >> index c793276ec7ad9..3aea05fbb9998 100644
> >> --- a/arch/arm64/kernel/setup.c
> >> +++ b/arch/arm64/kernel/setup.c
> >> @@ -275,6 +275,7 @@ static int __init reserve_memblock_reserved_regions(void)
> >>   arch_initcall(reserve_memblock_reserved_regions);
> >>     u64 __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = INVALID_HWID };
> >> +EXPORT_SYMBOL(__cpu_logical_map);

If modules are using cpu_logical_map(), this looks sane ot me, but I
wonder if we should instead turn cpu_logical_map() into a C wrapper in
smp.c, or at least mark __cpu_logical_map as __ro_after_init lest
someone have the bright idea to fiddle with it.

Mark.

WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Kefeng Wang <wangkefeng.wang@huawei.com>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	"linux-kernel@vger.kernel.org List"
	<linux-kernel@vger.kernel.org>,
	Mikko Perttunen <mperttunen@nvidia.com>,
	Hulk Robot <hulkci@huawei.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Sumit Gupta <sumitg@nvidia.com>, Will Deacon <will@kernel.org>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH -next] arm64: Export __cpu_logical_map
Date: Fri, 24 Jul 2020 10:13:52 +0100	[thread overview]
Message-ID: <20200724091308.GA44746@C02TD0UTHF1T.local> (raw)
In-Reply-To: <7998529f-da52-5e46-dd09-b9b11d83ec1a@arm.com>

On Fri, Jul 24, 2020 at 01:46:18PM +0530, Anshuman Khandual wrote:
> 
> On 07/24/2020 08:38 AM, Kefeng Wang wrote:
> > +maillist
> 
> This does not seem to be a correct method of posting any patch.
> 
> > 
> > On 2020/7/24 11:04, Kefeng Wang wrote:
> >> ERROR: modpost: "__cpu_logical_map" [drivers/cpufreq/tegra194-cpufreq.ko] undefined!
> 
> 
> >>
> >> ARM64 tegra194-cpufreq driver use cpu_logical_map, export
> >> __cpu_logical_map to fix build issue.
> 
> Commit 887d5fc82cb4 ("cpufreq: Add Tegra194 cpufreq driver") which adds
> this particular driver is present just on linux-next. But as expected,
> the driver does not use __cpu_logical_map directly but instead accesses
> it via cpu_logical_map() wrapper. Wondering, how did you even trigger
> the modpost error ?

The wrapper in <asm/smp.h> is:

| /*
|  * Logical CPU mapping.
|  */
| extern u64 __cpu_logical_map[NR_CPUS];
| #define cpu_logical_map(cpu)    __cpu_logical_map[cpu]

... and use of that would blow up as described.

> >>
> >> Reported-by: Hulk Robot <hulkci@huawei.com>
> >> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
> >> ---
> >>   arch/arm64/kernel/setup.c | 1 +
> >>   1 file changed, 1 insertion(+)
> >>
> >> diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
> >> index c793276ec7ad9..3aea05fbb9998 100644
> >> --- a/arch/arm64/kernel/setup.c
> >> +++ b/arch/arm64/kernel/setup.c
> >> @@ -275,6 +275,7 @@ static int __init reserve_memblock_reserved_regions(void)
> >>   arch_initcall(reserve_memblock_reserved_regions);
> >>     u64 __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = INVALID_HWID };
> >> +EXPORT_SYMBOL(__cpu_logical_map);

If modules are using cpu_logical_map(), this looks sane ot me, but I
wonder if we should instead turn cpu_logical_map() into a C wrapper in
smp.c, or at least mark __cpu_logical_map as __ro_after_init lest
someone have the bright idea to fiddle with it.

Mark.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-07-24  9:14 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20200724030433.22287-1-wangkefeng.wang@huawei.com>
2020-07-24  3:08 ` [PATCH -next] arm64: Export __cpu_logical_map Kefeng Wang
2020-07-24  3:08   ` Kefeng Wang
2020-07-24  8:16   ` Anshuman Khandual
2020-07-24  8:16     ` Anshuman Khandual
2020-07-24  9:13     ` Mark Rutland [this message]
2020-07-24  9:13       ` Mark Rutland
2020-07-24  9:35       ` Catalin Marinas
2020-07-24  9:35         ` Catalin Marinas
2020-07-24 10:33         ` Anshuman Khandual
2020-07-24 10:33           ` Anshuman Khandual
2020-07-24  9:16     ` Kefeng Wang
2020-07-24  9:16       ` Kefeng Wang
2020-07-24  9:30     ` Catalin Marinas
2020-07-24  9:30       ` Catalin Marinas
2020-07-24 10:36       ` Anshuman Khandual
2020-07-24 10:36         ` Anshuman Khandual
2020-07-24  9:43   ` Christoph Hellwig
2020-07-24  9:43     ` Christoph Hellwig
2020-07-24 13:10   ` Sudeep Holla
2020-07-24 13:10     ` Sudeep Holla
2020-07-25  2:00     ` Kefeng Wang
2020-07-25  2:00       ` Kefeng Wang
2020-07-26 11:46     ` Sumit Gupta
2020-07-26 11:46       ` Sumit Gupta
2020-07-27 16:05       ` Sudeep Holla
2020-07-27 16:05         ` Sudeep Holla
2020-08-01 12:16         ` Sumit Gupta
2020-08-01 12:16           ` Sumit Gupta
2020-08-10  7:49           ` Sudeep Holla
2020-08-10  7:49             ` Sudeep Holla
2020-08-10 10:19             ` Catalin Marinas
2020-08-10 10:19               ` Catalin Marinas
2020-08-10 12:11               ` Sudeep Holla
2020-08-10 12:11                 ` Sudeep Holla
2020-08-11 19:44               ` Sumit Gupta
2020-08-11 19:44                 ` Sumit Gupta

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=20200724091308.GA44746@C02TD0UTHF1T.local \
    --to=mark.rutland@arm.com \
    --cc=anshuman.khandual@arm.com \
    --cc=catalin.marinas@arm.com \
    --cc=hulkci@huawei.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mperttunen@nvidia.com \
    --cc=sumitg@nvidia.com \
    --cc=viresh.kumar@linaro.org \
    --cc=wangkefeng.wang@huawei.com \
    --cc=will@kernel.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.