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: <10732371-fbd1-e9f3-6fed-7821a3ce4847@loongson.cn>
Date:   Wed, 5 Feb 2020 10:13:44 +0800
From:   Tiezhu Yang <yangtiezhu@...ngson.cn>
To:     Jonas Gorski <jonas.gorski@...il.com>
Cc:     Paul Burton <paulburton@...nel.org>,
        Ralf Baechle <ralf@...ux-mips.org>,
        Jean Delvare <jdelvare@...e.com>,
        Huacai Chen <chenhc@...ote.com>,
        Xuefeng Li <lixuefeng@...ngson.cn>, linux-mips@...r.kernel.org,
        linux-kernel@...r.kernel.org, Yinglu Yang <yangyinglu@...ngson.cn>,
        Jiaxun Yang <jiaxun.yang@...goat.com>,
        Jean Delvare <jdelvare@...e.de>
Subject: Re: [PATCH v2,RESEND] MIPS: Scan the DMI system information

On 2/3/20 10:46 PM, Jonas Gorski wrote:
> Hi,
>
> On Thu, 16 Jan 2020 at 14:28, Tiezhu Yang <yangtiezhu@...ngson.cn> wrote:
>> Enable DMI scanning on the MIPS architecture, this setups DMI identifiers
>> (dmi_system_id) for printing it out on task dumps and prepares DIMM entry
>> information (dmi_memdev_info) from the SMBIOS table. With this patch, the
>> driver can easily match various of mainboards.
>>
>> In the SMBIOS reference specification, the table anchor string "_SM_" is
>> present in the address range 0xF0000 to 0xFFFFF on a 16-byte boundary,
>> but there exists a special case for Loongson platform, when call function
>> dmi_early_remap, it should specify the start address to 0xFFFE000 due to
>> it is reserved for SMBIOS and can be normally access in the BIOS.
>>
>> This patch works fine on the Loongson 3A3000 platform which belongs to
>> MIPS architecture and has no influence on the other architectures such
>> as x86 and ARM.
>>
>> Co-developed-by: Yinglu Yang <yangyinglu@...ngson.cn>
>> Signed-off-by: Yinglu Yang <yangyinglu@...ngson.cn>
>> [jiaxun.yang@...goat.com: Refine definitions and Kconfig]
>> Signed-off-by: Jiaxun Yang <jiaxun.yang@...goat.com>
>> Signed-off-by: Tiezhu Yang <yangtiezhu@...ngson.cn>
>> Reviewed-by: Huacai Chen <chenhc@...ote.com>
>> ---
>>
>> v2:
>>    - add SMBIOS_ENTRY_POINT_SCAN_START suggested by Jean
>>    - refine definitions and Kconfig by Jiaxun
>>
>>   arch/mips/Kconfig           | 10 ++++++++++
>>   arch/mips/include/asm/dmi.h | 20 ++++++++++++++++++++
>>   arch/mips/kernel/setup.c    |  2 ++
>>   drivers/firmware/dmi_scan.c |  6 +++++-
>>   4 files changed, 37 insertions(+), 1 deletion(-)
>>   create mode 100644 arch/mips/include/asm/dmi.h
>>
>> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
>> index 4b83507..c097f78 100644
>> --- a/arch/mips/Kconfig
>> +++ b/arch/mips/Kconfig
>> @@ -2773,6 +2773,16 @@ config HW_PERF_EVENTS
>>            Enable hardware performance counter support for perf events. If
>>            disabled, perf events will use software events only.
>>
>> +config DMI
>> +       default y if MACH_LOONGSON64
>> +       select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
>> +       bool "Enable DMI scanning"
> Is this option harmless to enable for other MIPS platforms? What
> happens if it is enabled on devices where PHYS_OFFSET isn't 0, so
> 0xF0000 is likely not backed by anything and accessing it might hang
> the system?
>
> This probably should depend on MACH_LOONGSON64.


Hi Jonas,

Thanks for your reply and suggestion.

With the current patch, on the MIPS architecture, the DMI option is
default y only if MACH_LOONGSON64 is set, otherwise it is not set.
When enable DMI manually on the MIPS platform which is not LOONGSON64,
the SMBIOS_ENTRY_POINT_SCAN_START is 0xF0000, dmi_early_remap() will
return NULL and goto err to print "DMI not present or invalid."

static void __init dmi_scan_machine(void)
{
...
         p = dmi_early_remap(SMBIOS_ENTRY_POINT_SCAN_START, 0x10000);
         if (p == NULL)
             goto error;
...
  error:
     pr_info("DMI not present or invalid.\n");
}

It seems harmless and the system can boot successful. However, in order
to avoid the unknown risks on the mips platform which is not LOONGSON64,
I think it is better to depend on MACH_LOONGSON64.

config DMI
     bool "Enable DMI scanning"
     depends on MACH_LOONGSON64
     select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
     default y

If other mips platform also needs this DMI feature in the future,
the "depends on" conditon can be modified.

I will do it in the v3 patch.


Thanks,


Tiezhu Yang


>
> Regards
>
> Jonas

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ