lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <f12632df-927e-4bdd-930e-5724e142af77@ghiti.fr>
Date: Fri, 23 May 2025 22:01:16 +0200
From: Alexandre Ghiti <alex@...ti.fr>
To: "Rafael J. Wysocki" <rafael@...nel.org>
Cc: Armin Wolf <W_Armin@....de>, Alexandre Ghiti <alexghiti@...osinc.com>,
 Len Brown <lenb@...nel.org>, Ilpo Järvinen
 <ilpo.jarvinen@...ux.intel.com>,
 Mario Limonciello <mario.limonciello@....com>,
 Mark Pearson <mpearson-lenovo@...ebb.ca>, Arnd Bergmann <arnd@...db.de>,
 linux-acpi@...r.kernel.org, linux-kernel@...r.kernel.org,
 linux-riscv@...ts.infradead.org
Subject: Re: [PATCH] drivers: acpi: Fix platform profile driver on !acpi
 platforms

Hi Rafael,

On 5/23/25 16:46, Rafael J. Wysocki wrote:
> On Fri, May 23, 2025 at 12:50 PM Rafael J. Wysocki <rafael@...nel.org> wrote:
>> On Fri, May 23, 2025 at 12:11 PM Alexandre Ghiti <alex@...ti.fr> wrote:
>>> On 5/22/25 22:04, Armin Wolf wrote:
>>>> Am 22.05.25 um 16:13 schrieb Alexandre Ghiti:
>>>>
>>>>> The platform profile driver is loaded even on platforms that do not have
>>>>> acpi enabled. The initialization of the sysfs entries was recently moved
>>>>> from platform_profile_register() to the module init call, and those
>>>>> entries need acpi_kobj to be initialized which is not the case when acpi
>>>>> is disabled.
>>>>>
>>>>> This results in the following warning:
>>>>>
>>>>>    WARNING: CPU: 5 PID: 1 at fs/sysfs/group.c:131
>>>>> internal_create_group+0xa22/0xdd8
>>>>>    Modules linked in:
>>>>>    CPU: 5 UID: 0 PID: 1 Comm: swapper/0 Tainted: G W
>>>>> 6.15.0-rc7-dirty #6 PREEMPT
>>>>>    Tainted: [W]=WARN
>>>>>    Hardware name: riscv-virtio,qemu (DT)
>>>>>    epc : internal_create_group+0xa22/0xdd8
>>>>>     ra : internal_create_group+0xa22/0xdd8
>>>>>
>>>>>    Call Trace:
>>>>>
>>>>>    internal_create_group+0xa22/0xdd8
>>>>>    sysfs_create_group+0x22/0x2e
>>>>>    platform_profile_init+0x74/0xb2
>>>>>    do_one_initcall+0x198/0xa9e
>>>>>    kernel_init_freeable+0x6d8/0x780
>>>>>    kernel_init+0x28/0x24c
>>>>>    ret_from_fork+0xe/0x18
>>>>>
>>>>> Fix this by checking if acpi is enabled before trying to create sysfs
>>>>> entries.
>>>> I already submitted a patch for this problem (see
>>>> https://lore.kernel.org/linux-acpi/a6d92cdd-4dc3-4080-9ed9-5b1f02f247e0@gmx.de/T/)
>>>> that only disables the legacy sysfs interface while keeping the
>>>> class-based interface functional
>>>> as it does not depend on ACPI at all.
>>>
>>> Great, I understand if your patchset is not merged for rc1 but it would
>>> be nice to have it merged in 6.16 though to fix riscv syzkaller
>>> instance. Perhaps you could add the Fixes tag that Arnd mentioned too?
>> I actually prefer your patch to the Armin's one because there are
>> questions regarding the latter (see the most recent message from Arnd
>> in this thread).
> And so it has been applied as 6.16 material now, thanks!


Thank you very much!

Alex


>
>>>>> Fixes: 77be5cacb2c2 ("ACPI: platform_profile: Create class for ACPI
>>>>> platform profile")
>>>>> Signed-off-by: Alexandre Ghiti <alexghiti@...osinc.com>
>>>>> ---
>>>>>    drivers/acpi/platform_profile.c | 3 +++
>>>>>    1 file changed, 3 insertions(+)
>>>>>
>>>>> diff --git a/drivers/acpi/platform_profile.c
>>>>> b/drivers/acpi/platform_profile.c
>>>>> index ffbfd32f4cf1..b43f4459a4f6 100644
>>>>> --- a/drivers/acpi/platform_profile.c
>>>>> +++ b/drivers/acpi/platform_profile.c
>>>>> @@ -688,6 +688,9 @@ static int __init platform_profile_init(void)
>>>>>    {
>>>>>        int err;
>>>>>    +    if (acpi_disabled)
>>>>> +        return -EOPNOTSUPP;
>>>>> +
>>>>>        err = class_register(&platform_profile_class);
>>>>>        if (err)
>>>>>            return err;
>>>> _______________________________________________
>>>> linux-riscv mailing list
>>>> linux-riscv@...ts.infradead.org
>>>> http://lists.infradead.org/mailman/listinfo/linux-riscv
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@...ts.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ