2022-07-19 11:41:03

by Andrey Strachuk

[permalink] [raw]
Subject: [PATCH] platform/x86: remove useless comparisons in sony_pic_read_possible_resource()

Local variable 'p' is initialized by an address
of field of acpi_resource structure, so it does
not make sense to compare 'p' with NULL.

Local variable 'io' is initialized by an address
of field of acpi_resource structure, so it does
not make sense to compare 'io' with NULL.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Signed-off-by: Andrey Strachuk <[email protected]>
Fixes: 41b16dce3905 ("create drivers/platform/x86/ from drivers/misc/")
---
drivers/platform/x86/sony-laptop.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index d8d0c0bed5e9..07ef05f727a2 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -4341,7 +4341,7 @@ sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)
{
struct acpi_resource_irq *p = &resource->data.irq;
struct sony_pic_irq *interrupt = NULL;
- if (!p || !p->interrupt_count) {
+ if (!p->interrupt_count) {
/*
* IRQ descriptors may have no IRQ# bits set,
* particularly those those w/ _STA disabled
@@ -4374,11 +4374,6 @@ sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)
struct acpi_resource_io *io = &resource->data.io;
struct sony_pic_ioport *ioport =
list_first_entry(&dev->ioports, struct sony_pic_ioport, list);
- if (!io) {
- dprintk("Blank IO resource\n");
- return AE_OK;
- }
-
if (!ioport->io1.minimum) {
memcpy(&ioport->io1, io, sizeof(*io));
dprintk("IO1 at 0x%.4x (0x%.2x)\n", ioport->io1.minimum,
--
2.25.1


2022-07-28 18:14:04

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH] platform/x86: remove useless comparisons in sony_pic_read_possible_resource()

Hi,

On 7/19/22 13:03, Andrey Strachuk wrote:
> Local variable 'p' is initialized by an address
> of field of acpi_resource structure, so it does
> not make sense to compare 'p' with NULL.
>
> Local variable 'io' is initialized by an address
> of field of acpi_resource structure, so it does
> not make sense to compare 'io' with NULL.
>
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
>
> Signed-off-by: Andrey Strachuk <[email protected]>
> Fixes: 41b16dce3905 ("create drivers/platform/x86/ from drivers/misc/")

Thank you for your patch, I've applied this patch (minus the
invalid fixes tag) to my review-hans branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans

> ---
> drivers/platform/x86/sony-laptop.c | 7 +------
> 1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
> index d8d0c0bed5e9..07ef05f727a2 100644
> --- a/drivers/platform/x86/sony-laptop.c
> +++ b/drivers/platform/x86/sony-laptop.c
> @@ -4341,7 +4341,7 @@ sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)
> {
> struct acpi_resource_irq *p = &resource->data.irq;
> struct sony_pic_irq *interrupt = NULL;
> - if (!p || !p->interrupt_count) {
> + if (!p->interrupt_count) {
> /*
> * IRQ descriptors may have no IRQ# bits set,
> * particularly those those w/ _STA disabled
> @@ -4374,11 +4374,6 @@ sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)
> struct acpi_resource_io *io = &resource->data.io;
> struct sony_pic_ioport *ioport =
> list_first_entry(&dev->ioports, struct sony_pic_ioport, list);
> - if (!io) {
> - dprintk("Blank IO resource\n");
> - return AE_OK;
> - }
> -
> if (!ioport->io1.minimum) {
> memcpy(&ioport->io1, io, sizeof(*io));
> dprintk("IO1 at 0x%.4x (0x%.2x)\n", ioport->io1.minimum,