lkml.org 
[lkml]   [2022]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 163/167] serial: 8250: fix return error code in serial8250_request_std_resource()
    Date
    From: Yi Yang <yiyang13@huawei.com>

    commit 6e690d54cfa802f939cefbd2fa2c91bd0b8bd1b6 upstream.

    If port->mapbase = NULL in serial8250_request_std_resource() , it need
    return a error code instead of 0. If uart_set_info() fail to request new
    regions by serial8250_request_std_resource() but the return value of
    serial8250_request_std_resource() is 0, The system incorrectly considers
    that the resource application is successful and does not attempt to
    restore the old setting. A null pointer reference is triggered when the
    port resource is later invoked.

    Signed-off-by: Yi Yang <yiyang13@huawei.com>
    Cc: stable <stable@kernel.org>
    Link: https://lore.kernel.org/r/20220628083515.64138-1-yiyang13@huawei.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/tty/serial/8250/8250_port.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    --- a/drivers/tty/serial/8250/8250_port.c
    +++ b/drivers/tty/serial/8250/8250_port.c
    @@ -2982,8 +2982,10 @@ static int serial8250_request_std_resour
    case UPIO_MEM32BE:
    case UPIO_MEM16:
    case UPIO_MEM:
    - if (!port->mapbase)
    + if (!port->mapbase) {
    + ret = -EINVAL;
    break;
    + }

    if (!request_mem_region(port->mapbase, size, "serial")) {
    ret = -EBUSY;

    \
     
     \ /
      Last update: 2022-07-19 14:49    [W:4.786 / U:0.236 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site