lkml.org 
[lkml]   [2021]   [Mar]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 406/663] PCI: Align checking of syscall user config accessors
    Date
    From: Heiner Kallweit <hkallweit1@gmail.com>

    [ Upstream commit ef9e4005cbaf022c6251263aa27836acccaef65d ]

    After 34e3207205ef ("PCI: handle positive error codes"),
    pci_user_read_config_*() and pci_user_write_config_*() return 0 or negative
    errno values, not PCIBIOS_* values like PCIBIOS_SUCCESSFUL or
    PCIBIOS_BAD_REGISTER_NUMBER.

    Remove comparisons with PCIBIOS_SUCCESSFUL and check only for non-zero. It
    happens that PCIBIOS_SUCCESSFUL is zero, so this is not a functional
    change, but it aligns this code with the user accessors.

    [bhelgaas: commit log]
    Fixes: 34e3207205ef ("PCI: handle positive error codes")
    Link: https://lore.kernel.org/r/f1220314-e518-1e18-bf94-8e6f8c703758@gmail.com
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/pci/syscall.c | 10 +++++-----
    1 file changed, 5 insertions(+), 5 deletions(-)

    diff --git a/drivers/pci/syscall.c b/drivers/pci/syscall.c
    index 31e39558d49d8..8b003c890b87b 100644
    --- a/drivers/pci/syscall.c
    +++ b/drivers/pci/syscall.c
    @@ -20,7 +20,7 @@ SYSCALL_DEFINE5(pciconfig_read, unsigned long, bus, unsigned long, dfn,
    u16 word;
    u32 dword;
    long err;
    - long cfg_ret;
    + int cfg_ret;

    if (!capable(CAP_SYS_ADMIN))
    return -EPERM;
    @@ -46,7 +46,7 @@ SYSCALL_DEFINE5(pciconfig_read, unsigned long, bus, unsigned long, dfn,
    }

    err = -EIO;
    - if (cfg_ret != PCIBIOS_SUCCESSFUL)
    + if (cfg_ret)
    goto error;

    switch (len) {
    @@ -105,7 +105,7 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
    if (err)
    break;
    err = pci_user_write_config_byte(dev, off, byte);
    - if (err != PCIBIOS_SUCCESSFUL)
    + if (err)
    err = -EIO;
    break;

    @@ -114,7 +114,7 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
    if (err)
    break;
    err = pci_user_write_config_word(dev, off, word);
    - if (err != PCIBIOS_SUCCESSFUL)
    + if (err)
    err = -EIO;
    break;

    @@ -123,7 +123,7 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
    if (err)
    break;
    err = pci_user_write_config_dword(dev, off, dword);
    - if (err != PCIBIOS_SUCCESSFUL)
    + if (err)
    err = -EIO;
    break;

    --
    2.27.0


    \
     
     \ /
      Last update: 2021-03-02 04:10    [W:4.069 / U:1.188 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site