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: <2d0a3e4c-cd1a-485a-8d36-cd449e73bc68@amd.com>
Date: Tue, 26 Mar 2024 09:47:18 -0400
From: Yazen Ghannam <yazen.ghannam@....com>
To: John Allen <john.allen@....com>
Cc: yazen.ghannam@....com, bp@...en8.de, linux-edac@...r.kernel.org,
 tony.luck@...el.com, linux-kernel@...r.kernel.org, avadhut.naik@....com,
 muralidhara.mk@....com
Subject: Re: [PATCH 3/4] RAS: ATL: Add map_bits_valid to header



On 3/25/24 15:57, John Allen wrote:
> On Mon, Mar 18, 2024 at 11:46:39AM -0400, Yazen Ghannam wrote:
>> On 3/14/24 12:35, John Allen wrote:
>>> Make map_bits_valid available in the AMD ATL internal header as the
>>> function can be used in other parts of the library.
>>>
>>> Signed-off-by: John Allen <john.allen@....com>
>>> ---
>>>    drivers/ras/amd/atl/dehash.c   | 2 +-
>>>    drivers/ras/amd/atl/internal.h | 3 +++
>>>    2 files changed, 4 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/ras/amd/atl/dehash.c b/drivers/ras/amd/atl/dehash.c
>>> index 4ea46262c4f5..a20cf615b83a 100644
>>> --- a/drivers/ras/amd/atl/dehash.c
>>> +++ b/drivers/ras/amd/atl/dehash.c
>>> @@ -19,7 +19,7 @@
>>>     * If @num_intlv_dies and/or @num_intlv_sockets are 1, it means the
>>>     * respective interleaving is disabled.
>>>     */
>>> -static inline bool map_bits_valid(struct addr_ctx *ctx, u8 bit1, u8 bit2,
>>> +inline bool map_bits_valid(struct addr_ctx *ctx, u8 bit1, u8 bit2,
>>>    				  u8 num_intlv_dies, u8 num_intlv_sockets)
>>>    {
>>>    	if (!(ctx->map.intlv_bit_pos == bit1 || ctx->map.intlv_bit_pos == bit2)) {
>>> diff --git a/drivers/ras/amd/atl/internal.h b/drivers/ras/amd/atl/internal.h
>>> index 05b870fcb24e..4681449321de 100644
>>> --- a/drivers/ras/amd/atl/internal.h
>>> +++ b/drivers/ras/amd/atl/internal.h
>>> @@ -239,6 +239,9 @@ unsigned long convert_umc_mca_addr_to_sys_addr(struct atl_err *err);
>>>    u64 add_base_and_hole(struct addr_ctx *ctx, u64 addr);
>>>    u64 remove_base_and_hole(struct addr_ctx *ctx, u64 addr);
>>> +inline bool map_bits_valid(struct addr_ctx *ctx, u8 bit1, u8 bit2,
>>> +			   u8 num_intlv_dies, u8 num_intlv_sockets);
>>> +
>>>    /*
>>>     * Make a gap in @data that is @num_bits long starting at @bit_num.
>>>     * e.g. data		= 11111111'b
>>
>> Ultimately, the maps should be validated as soon as they are gathered. I
>> figured we would do that later. But that would wipe out this change.
>> And, after looking at dehash.c again, map_bits_valid() isn't used in too
>> many places right now.
>>
>> So I think validate_address_map() from the following patch should be
>> done for all modes first. That way we don't need to add and then remove
>> this function from the header.
> 
> I'm not sure I understand. Are you saying that we should just move the
> map_bits_valid function to map.c and then make the map_bits_valid calls
> that are currently in dehash.c to validate_address_map?
>

I mean that the maps should be validated once as soon as they are
gathered (in map.c). This would happen before we get to dehash
functions. So we don't need any map valid checks in dehash.c.

Thanks,
Yazen

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ