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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4aee44cd-4eb0-162c-3dcc-fbf6255109ac@codeaurora.org>
Date:   Thu, 25 Jan 2018 11:53:46 -0500
From:   Sinan Kaya <okaya@...eaurora.org>
To:     "Rafael J. Wysocki" <rafael@...nel.org>
Cc:     ACPI Devel Maling List <linux-acpi@...r.kernel.org>,
        Timur Tabi <timur@...eaurora.org>,
        Eric Auger <eric.auger@...hat.com>,
        Hans de Goede <hdegoede@...hat.com>,
        Mika Westerberg <mika.westerberg@...ux.intel.com>,
        Wolfram Sang <wsa@...-dreams.de>,
        linux-i2c <linux-i2c@...r.kernel.org>,
        "Rafael J. Wysocki" <rjw@...ysocki.net>,
        Len Brown <lenb@...nel.org>,
        open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3] ACPI: Force I2C to be selected as a built-in module

On 1/25/2018 11:47 AM, Rafael J. Wysocki wrote:
> On Thu, Jan 25, 2018 at 5:32 PM, Sinan Kaya <okaya@...eaurora.org> wrote:
>> On 1/25/2018 11:25 AM, Rafael J. Wysocki wrote:
>>> On Thu, Jan 25, 2018 at 4:43 PM, Sinan Kaya <okaya@...eaurora.org> wrote:
>>>> From: Auger Eric <eric.auger@...hat.com>
>>>>
>>>> If I2C is built as a module, ACPI_I2C_OPREGION cannot be set
>>>> and any ACPI opregion calls targeting I2C fail with no opregion found.
>>>>
>>>> Commit da3c6647ee08 ("I2C/ACPI: Clean up I2C ACPI code and Add
>>>> CONFIG_I2C_ACPI config") says following:
>>>>
>>>> "Current there is a race between removing I2C ACPI operation region
>>>> and ACPI AML code accessing."
>>>>
>>>> This patch forces core I2C support to be compiled as a built-in
>>>> module if ACPI is selected as code is not ready for dynamic module
>>>> removal.
>>>>
>>>> Signed-off-by: Eric Auger <eric.auger@...hat.com>
>>>> Signed-off-by: Sinan Kaya <okaya@...eaurora.org>
>>>> ---
>>>>  drivers/acpi/Kconfig | 2 ++
>>>>  1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
>>>> index 4650539..5b48098 100644
>>>> --- a/drivers/acpi/Kconfig
>>>> +++ b/drivers/acpi/Kconfig
>>>> @@ -9,6 +9,8 @@ menuconfig ACPI
>>>>         depends on IA64 || X86 || ARM64
>>>>         depends on PCI
>>>>         select PNP
>>>> +       # force building I2C in on ACPI systems, for opregion availability
>>>> +       imply I2C
>>>>         default y if (IA64 || X86)
>>>>         help
>>>>           Advanced Configuration and Power Interface (ACPI) support for
>>>> --
>>>
>>> I'm not sure how much this helps.
>>>
>>> I2C opregions will only work if the requisite I2C controller driver is
>>> present anyway and this change doesn't guarantee that AFAIC>
>>> OTOH, there are systems using ACPI without I2C opregions, so are we
>>> really better off by forcing everybody using ACPI to also build I2C?
>>
>> I was trying to find a good balance by choosing imply instead of select.
>>
>> If an OS chooses to include an I2C driver as a module (most distros do),
>> core-i2c functionality becomes a built-in module with ACPI.
> 
> So what would be wrong with allowing ACPI_I2C_OPREGION to be set if
> I2C is a module?

That was the original patch. Folks are saying that it breaks some systems.

Conversation is here:

https://patchwork.kernel.org/patch/10142425/


> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


-- 
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ