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] [thread-next>] [day] [month] [year] [list]
Message-ID: <c244eae0-d3d8-414b-8d1f-c902bd46bd61@quicinc.com>
Date:   Tue, 31 Oct 2023 10:56:23 +0800
From:   Tingwei Zhang <quic_tingweiz@...cinc.com>
To:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>
CC:     Masami Hiramatsu <mhiramat@...nel.org>,
        "Rafael J. Wysocki" <rafael@...nel.org>,
        <linux-kernel@...r.kernel.org>,
        Trilok Soni <quic_tsoni@...cinc.com>,
        Jinlong Mao <quic_jinlmao@...cinc.com>
Subject: Re: How to pass software configuration to driver built as module in
 boot up phase

On 10/30/2023 7:30 PM, Greg Kroah-Hartman wrote:
> On Mon, Oct 30, 2023 at 07:21:48PM +0800, Tingwei Zhang wrote:
>> Hi Masami, Greg and Rafael,
>>
>> I have one driver that needs a bunch to software configuration like 1000
>> settings. These settings can be different according to the use case.
> 
> That seems very odd, what type of driver is this?
The example use case is below DCC driver which is a DMA engine. It can 
be configured to read/write registers while whose registers need to be 
configured by software. It's mainly used to debug device crash issue.
https://lore.kernel.org/lkml/cover.1691496290.git.quic_schowdhu@quicinc.com/T/
> 
>> They are required in boot up phase so we can't reply on user space to make
>> the configuration.
>>
>> Boot config is not preferred since we'd like to build that driver as dynamic
>> load Kernel module.
>>
>> Could you let me know if there's any mechanism in Kernel to do that?
> 
> What is wrong with the existing ways of doing this that all other
> drivers use?
I'm not aware of all the existing ways. Below ways are what I know and 
they may not be suitable for some reason.
1. Let user space to configure with sysfs/debugfs/ioctl interface. Since 
we need this configuration to be done in early stage before user space 
is up. This doesn't work.
2. Use device tree to pass the configuration to driver. Since the 
configuration is software configuration instead of hardware descirption. 
It doesn't fit in device tree.
3. Boot config or commandline parameter. If the driver is built in, it 
can work. But it doesn't work for dynamically loadable Kernel module.

I started this thread to look for suitable way in Kernel for driver to use.

> 
> thanks,
> 
> greg k-h

-- 
Thanks,
Tingwei

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ