diff mbox series

ACPI: IORT: Add extra message "applying workaround" for off-by-1 issue

Message ID 1588858868-18039-1-git-send-email-guohanjun@huawei.com (mailing list archive)
State New, archived
Headers show
Series ACPI: IORT: Add extra message "applying workaround" for off-by-1 issue | expand

Commit Message

Hanjun Guo May 7, 2020, 1:41 p.m. UTC
As we already applied a workaround for the off-by-1 issue,
it's good to add extra message "applying workaround" to
make people less uneasy to see such message in the boot log.

Signed-off-by: Hanjun Guo <guohanjun@huawei.com>
---

Based on top of for-next/acpi branch of ARM64 repo

 drivers/acpi/arm64/iort.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ard Biesheuvel May 7, 2020, 1:49 p.m. UTC | #1
On Thu, 7 May 2020 at 15:47, Hanjun Guo <guohanjun@huawei.com> wrote:
>
> As we already applied a workaround for the off-by-1 issue,
> it's good to add extra message "applying workaround" to
> make people less uneasy to see such message in the boot log.
>
> Signed-off-by: Hanjun Guo <guohanjun@huawei.com>

Hi Hanjun,

> ---
>
> Based on top of for-next/acpi branch of ARM64 repo
>
>  drivers/acpi/arm64/iort.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c
> index b011d25..f3d492a 100644
> --- a/drivers/acpi/arm64/iort.c
> +++ b/drivers/acpi/arm64/iort.c
> @@ -328,7 +328,7 @@ static int iort_id_map(struct acpi_iort_id_mapping *map, u8 type, u32 rid_in,
>                  * Otherwise, things are *really* broken, and we just disregard
>                  * duplicate matches entirely to retain compatibility.
>                  */
> -               pr_err(FW_BUG "[map %p] conflicting mapping for input ID 0x%x\n",
> +               pr_err(FW_BUG "[map %p] conflicting mapping for input ID 0x%x, applying workaround\n",

This is not correct. The workaround is only applied if rid_in ==
map->input_base, so better to print a second line after the 'return'
below that is only reached in that particular case.

>                        map, rid_in);
>                 if (rid_in != map->input_base)
>                         return -ENXIO;
> --
> 1.7.12.4
>
Hanjun Guo May 7, 2020, 1:53 p.m. UTC | #2
Hi Ard,

On 2020/5/7 21:49, Ard Biesheuvel wrote:
> On Thu, 7 May 2020 at 15:47, Hanjun Guo <guohanjun@huawei.com> wrote:
>>
>> As we already applied a workaround for the off-by-1 issue,
>> it's good to add extra message "applying workaround" to
>> make people less uneasy to see such message in the boot log.
>>
>> Signed-off-by: Hanjun Guo <guohanjun@huawei.com>
> 
> Hi Hanjun,
> 
>> ---
>>
>> Based on top of for-next/acpi branch of ARM64 repo
>>
>>   drivers/acpi/arm64/iort.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c
>> index b011d25..f3d492a 100644
>> --- a/drivers/acpi/arm64/iort.c
>> +++ b/drivers/acpi/arm64/iort.c
>> @@ -328,7 +328,7 @@ static int iort_id_map(struct acpi_iort_id_mapping *map, u8 type, u32 rid_in,
>>                   * Otherwise, things are *really* broken, and we just disregard
>>                   * duplicate matches entirely to retain compatibility.
>>                   */
>> -               pr_err(FW_BUG "[map %p] conflicting mapping for input ID 0x%x\n",
>> +               pr_err(FW_BUG "[map %p] conflicting mapping for input ID 0x%x, applying workaround\n",
> 
> This is not correct. The workaround is only applied if rid_in ==
> map->input_base, so better to print a second line after the 'return'
> below that is only reached in that particular case.

Obvious I'm wrong, I will update this patch, thanks a lot!

> 
>>                         map, rid_in);
>>                  if (rid_in != map->input_base)
>>                          return -ENXIO;
>> --
>> 1.7.12.4
>>
> 
> .
>
Hanjun Guo May 7, 2020, 2:02 p.m. UTC | #3
On 2020/5/7 21:53, Hanjun Guo wrote:
> Hi Ard,
> 
> On 2020/5/7 21:49, Ard Biesheuvel wrote:
>> On Thu, 7 May 2020 at 15:47, Hanjun Guo <guohanjun@huawei.com> wrote:
>>>
>>> As we already applied a workaround for the off-by-1 issue,
>>> it's good to add extra message "applying workaround" to
>>> make people less uneasy to see such message in the boot log.
>>>
>>> Signed-off-by: Hanjun Guo <guohanjun@huawei.com>
>>
>> Hi Hanjun,
>>
>>> ---
>>>
>>> Based on top of for-next/acpi branch of ARM64 repo
>>>
>>>   drivers/acpi/arm64/iort.c | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c
>>> index b011d25..f3d492a 100644
>>> --- a/drivers/acpi/arm64/iort.c
>>> +++ b/drivers/acpi/arm64/iort.c
>>> @@ -328,7 +328,7 @@ static int iort_id_map(struct 
>>> acpi_iort_id_mapping *map, u8 type, u32 rid_in,
>>>                   * Otherwise, things are *really* broken, and we 
>>> just disregard
>>>                   * duplicate matches entirely to retain compatibility.
>>>                   */
>>> -               pr_err(FW_BUG "[map %p] conflicting mapping for input 
>>> ID 0x%x\n",
>>> +               pr_err(FW_BUG "[map %p] conflicting mapping for input 
>>> ID 0x%x, applying workaround\n",
>>
>> This is not correct. The workaround is only applied if rid_in ==
>> map->input_base, so better to print a second line after the 'return'
>> below that is only reached in that particular case.
> 
> Obvious I'm wrong, I will update this patch, thanks a lot!

By the way, how about the print below? Should I add something more?

                 if (rid_in != map->input_base)
                         return -ENXIO;
+
+         pr_err(FW_BUG "applying workaround for the conflicting 
mapping\n");

Thanks
Hanjun
Ard Biesheuvel May 7, 2020, 4:39 p.m. UTC | #4
On Thu, 7 May 2020 at 16:02, Hanjun Guo <guohanjun@huawei.com> wrote:
>
> On 2020/5/7 21:53, Hanjun Guo wrote:
> > Hi Ard,
> >
> > On 2020/5/7 21:49, Ard Biesheuvel wrote:
> >> On Thu, 7 May 2020 at 15:47, Hanjun Guo <guohanjun@huawei.com> wrote:
> >>>
> >>> As we already applied a workaround for the off-by-1 issue,
> >>> it's good to add extra message "applying workaround" to
> >>> make people less uneasy to see such message in the boot log.
> >>>
> >>> Signed-off-by: Hanjun Guo <guohanjun@huawei.com>
> >>
> >> Hi Hanjun,
> >>
> >>> ---
> >>>
> >>> Based on top of for-next/acpi branch of ARM64 repo
> >>>
> >>>   drivers/acpi/arm64/iort.c | 2 +-
> >>>   1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c
> >>> index b011d25..f3d492a 100644
> >>> --- a/drivers/acpi/arm64/iort.c
> >>> +++ b/drivers/acpi/arm64/iort.c
> >>> @@ -328,7 +328,7 @@ static int iort_id_map(struct
> >>> acpi_iort_id_mapping *map, u8 type, u32 rid_in,
> >>>                   * Otherwise, things are *really* broken, and we
> >>> just disregard
> >>>                   * duplicate matches entirely to retain compatibility.
> >>>                   */
> >>> -               pr_err(FW_BUG "[map %p] conflicting mapping for input
> >>> ID 0x%x\n",
> >>> +               pr_err(FW_BUG "[map %p] conflicting mapping for input
> >>> ID 0x%x, applying workaround\n",
> >>
> >> This is not correct. The workaround is only applied if rid_in ==
> >> map->input_base, so better to print a second line after the 'return'
> >> below that is only reached in that particular case.
> >
> > Obvious I'm wrong, I will update this patch, thanks a lot!
>
> By the way, how about the print below? Should I add something more?
>
>                  if (rid_in != map->input_base)
>                          return -ENXIO;
> +
> +         pr_err(FW_BUG "applying workaround for the conflicting
> mapping\n");
>

Simply 'applying workaround' should do it imo.
diff mbox series

Patch

diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c
index b011d25..f3d492a 100644
--- a/drivers/acpi/arm64/iort.c
+++ b/drivers/acpi/arm64/iort.c
@@ -328,7 +328,7 @@  static int iort_id_map(struct acpi_iort_id_mapping *map, u8 type, u32 rid_in,
 		 * Otherwise, things are *really* broken, and we just disregard
 		 * duplicate matches entirely to retain compatibility.
 		 */
-		pr_err(FW_BUG "[map %p] conflicting mapping for input ID 0x%x\n",
+		pr_err(FW_BUG "[map %p] conflicting mapping for input ID 0x%x, applying workaround\n",
 		       map, rid_in);
 		if (rid_in != map->input_base)
 			return -ENXIO;