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: <CAFv23Qm7DdBEg2V0NTKh8DyHEgjcESRctkHfHSJ3CJnKJuHqKA@mail.gmail.com>
Date:   Fri, 10 Nov 2023 18:22:46 +0800
From:   AceLan Kao <acelan.kao@...onical.com>
To:     Michael Walle <michael@...le.cc>
Cc:     Tudor Ambarus <tudor.ambarus@...aro.org>,
        Pratyush Yadav <pratyush@...nel.org>,
        Miquel Raynal <miquel.raynal@...tlin.com>,
        Richard Weinberger <richard@....at>,
        Vignesh Raghavendra <vigneshr@...com>,
        Mika Westerberg <mika.westerberg@...ux.intel.com>,
        Dhruva Gole <d-gole@...com>, linux-mtd@...ts.infradead.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5 1/2] spi: Replace -ENOTSUPP with -EOPNOTSUPP in op checking

Hi Michael,

Michael Walle <michael@...le.cc> 於 2023年11月9日 週四 下午6:56寫道:
>
> Hi,
>
> Am 2023-11-08 10:43, schrieb AceLan Kao:
> > From: "Chia-Lin Kao (AceLan)" <acelan.kao@...onical.com>
> >
> > No functional changes are introduced by this patch; it's a code cleanup
> > to use the correct error code.
>
> This error code might be returned to userspace (I guess?).

It's not likely the value will be returned to userspace.
I didn't find a path that the value will go to usepsace.
>
> > Signed-off-by: Chia-Lin Kao (AceLan) <acelan.kao@...onical.com>
> >
> > ---
> > v5. distinguish -EOPNOTSUPP from -ENOTSUPP
> > ---
> >  drivers/mtd/nand/spi/core.c | 2 +-
> >  drivers/spi/atmel-quadspi.c | 2 +-
> >  drivers/spi/spi-ath79.c     | 2 +-
> >  drivers/spi/spi-bcm-qspi.c  | 2 +-
> >  drivers/spi/spi-mem.c       | 6 +++---
> >  drivers/spi/spi-npcm-fiu.c  | 2 +-
> >  drivers/spi/spi-ti-qspi.c   | 4 ++--
> >  drivers/spi/spi-wpcm-fiu.c  | 2 +-
>
> This is missing a user in spi-nor/core.c (in
> spi_nor_set_4byte_addr_mode()).
Right, we should change the check to -EOPNOTSUPP
>
> -michael
>
> >  8 files changed, 11 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c
> > index 393ff37f0d23..d1df5cd401cf 100644
> > --- a/drivers/mtd/nand/spi/core.c
> > +++ b/drivers/mtd/nand/spi/core.c
> > @@ -973,7 +973,7 @@ static int spinand_manufacturer_match(struct
> > spinand_device *spinand,
> >               spinand->manufacturer = manufacturer;
> >               return 0;
> >       }
> > -     return -ENOTSUPP;
> > +     return -EOPNOTSUPP;
> >  }
> >
> >  static int spinand_id_detect(struct spinand_device *spinand)
> > diff --git a/drivers/spi/atmel-quadspi.c b/drivers/spi/atmel-quadspi.c
> > index 3d1252566134..370c4d1572ed 100644
> > --- a/drivers/spi/atmel-quadspi.c
> > +++ b/drivers/spi/atmel-quadspi.c
> > @@ -272,7 +272,7 @@ static int atmel_qspi_find_mode(const struct
> > spi_mem_op *op)
> >               if (atmel_qspi_is_compatible(op, &atmel_qspi_modes[i]))
> >                       return i;
> >
> > -     return -ENOTSUPP;
> > +     return -EOPNOTSUPP;
> >  }
> >
> >  static bool atmel_qspi_supports_op(struct spi_mem *mem,
> > diff --git a/drivers/spi/spi-ath79.c b/drivers/spi/spi-ath79.c
> > index c9f1d1e1dcf7..b7ada981464a 100644
> > --- a/drivers/spi/spi-ath79.c
> > +++ b/drivers/spi/spi-ath79.c
> > @@ -146,7 +146,7 @@ static int ath79_exec_mem_op(struct spi_mem *mem,
> >       /* Only use for fast-read op. */
> >       if (op->cmd.opcode != 0x0b || op->data.dir != SPI_MEM_DATA_IN ||
> >           op->addr.nbytes != 3 || op->dummy.nbytes != 1)
> > -             return -ENOTSUPP;
> > +             return -EOPNOTSUPP;
> >
> >       /* disable GPIO mode */
> >       ath79_spi_wr(sp, AR71XX_SPI_REG_FS, 0);
> > diff --git a/drivers/spi/spi-bcm-qspi.c b/drivers/spi/spi-bcm-qspi.c
> > index ef08fcac2f6d..d96222e6d7d2 100644
> > --- a/drivers/spi/spi-bcm-qspi.c
> > +++ b/drivers/spi/spi-bcm-qspi.c
> > @@ -1199,7 +1199,7 @@ static int bcm_qspi_exec_mem_op(struct spi_mem
> > *mem,
> >
> >       if (!op->data.nbytes || !op->addr.nbytes || op->addr.nbytes > 4 ||
> >           op->data.dir != SPI_MEM_DATA_IN)
> > -             return -ENOTSUPP;
> > +             return -EOPNOTSUPP;
> >
> >       buf = op->data.buf.in;
> >       addr = op->addr.val;
> > diff --git a/drivers/spi/spi-mem.c b/drivers/spi/spi-mem.c
> > index edd7430d4c05..2dc8ceb85374 100644
> > --- a/drivers/spi/spi-mem.c
> > +++ b/drivers/spi/spi-mem.c
> > @@ -323,7 +323,7 @@ int spi_mem_exec_op(struct spi_mem *mem, const
> > struct spi_mem_op *op)
> >               return ret;
> >
> >       if (!spi_mem_internal_supports_op(mem, op))
> > -             return -ENOTSUPP;
> > +             return -EOPNOTSUPP;
> >
> >       if (ctlr->mem_ops && ctlr->mem_ops->exec_op &&
> > !spi_get_csgpiod(mem->spi, 0)) {
> >               ret = spi_mem_access_start(mem);
> > @@ -339,7 +339,7 @@ int spi_mem_exec_op(struct spi_mem *mem, const
> > struct spi_mem_op *op)
> >                * read path) and expect the core to use the regular SPI
> >                * interface in other cases.
> >                */
> > -             if (!ret || ret != -ENOTSUPP)
> > +             if (!ret || ret != -ENOTSUPP || ret != -EOPNOTSUPP)
> >                       return ret;
> >       }
> >
> > @@ -559,7 +559,7 @@ spi_mem_dirmap_create(struct spi_mem *mem,
> >       if (ret) {
> >               desc->nodirmap = true;
> >               if (!spi_mem_supports_op(desc->mem, &desc->info.op_tmpl))
> > -                     ret = -ENOTSUPP;
> > +                     ret = -EOPNOTSUPP;
> >               else
> >                       ret = 0;
> >       }
> > diff --git a/drivers/spi/spi-npcm-fiu.c b/drivers/spi/spi-npcm-fiu.c
> > index 03db9f016a11..f3bb8bbc192f 100644
> > --- a/drivers/spi/spi-npcm-fiu.c
> > +++ b/drivers/spi/spi-npcm-fiu.c
> > @@ -556,7 +556,7 @@ static int npcm_fiu_exec_op(struct spi_mem *mem,
> > const struct spi_mem_op *op)
> >               op->data.nbytes);
> >
> >       if (fiu->spix_mode || op->addr.nbytes > 4)
> > -             return -ENOTSUPP;
> > +             return -EOPNOTSUPP;
> >
> >       if (fiu->clkrate != chip->clkrate) {
> >               ret = clk_set_rate(fiu->clk, chip->clkrate);
> > diff --git a/drivers/spi/spi-ti-qspi.c b/drivers/spi/spi-ti-qspi.c
> > index 4c81516b67db..0877dc5058a1 100644
> > --- a/drivers/spi/spi-ti-qspi.c
> > +++ b/drivers/spi/spi-ti-qspi.c
> > @@ -613,12 +613,12 @@ static int ti_qspi_exec_mem_op(struct spi_mem
> > *mem,
> >       /* Only optimize read path. */
> >       if (!op->data.nbytes || op->data.dir != SPI_MEM_DATA_IN ||
> >           !op->addr.nbytes || op->addr.nbytes > 4)
> > -             return -ENOTSUPP;
> > +             return -EOPNOTSUPP;
> >
> >       /* Address exceeds MMIO window size, fall back to regular mode. */
> >       from = op->addr.val;
> >       if (from + op->data.nbytes > qspi->mmap_size)
> > -             return -ENOTSUPP;
> > +             return -EOPNOTSUPP;
> >
> >       mutex_lock(&qspi->list_lock);
> >
> > diff --git a/drivers/spi/spi-wpcm-fiu.c b/drivers/spi/spi-wpcm-fiu.c
> > index 852ffe013d32..d76f7b5a9b97 100644
> > --- a/drivers/spi/spi-wpcm-fiu.c
> > +++ b/drivers/spi/spi-wpcm-fiu.c
> > @@ -361,7 +361,7 @@ static int wpcm_fiu_exec_op(struct spi_mem *mem,
> > const struct spi_mem_op *op)
> >
> >       wpcm_fiu_stall_host(fiu, false);
> >
> > -     return -ENOTSUPP;
> > +     return -EOPNOTSUPP;
> >  }
> >
> >  static int wpcm_fiu_adjust_op_size(struct spi_mem *mem, struct
> > spi_mem_op *op)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ