[<prev] [next>] [day] [month] [year] [list]
Message-ID: <b8b01720ee550840c7c0fc39d3e9e5f9@ispras.ru>
Date: Mon, 31 Aug 2020 20:33:09 +0300
From: lutovinova@...ras.ru
To: peter.senna@...il.com
Cc: martin.donnelly@...com, martyn.welch@...labora.co.uk,
a.hajda@...sung.com, narmstrong@...libre.com,
Laurent.pinchart@...asonboard.com, jonas@...boo.se,
jernej.skrabec@...l.net, airlied@...ux.ie, daniel@...ll.ch,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
ldv-project@...uxtesting.org, lutovinova@...ras.ru
Subject: fotg210-udc: Error in type cast in fotg210_in_fifo_handler()
If in fotg210_udc_probe() after initialization
INIT_LIST_HEAD(&ep->queue)
and after a registration of an interrupt handler in fotg210_irq()
fotg210_in_fifo_handler() is calling then in fotg210_in_fifo_handler()
list_entry() tries to get struct fotg210_request from ep->queue.next,
but
after initialization ep->queue.next is from struct fotg210_udc.
Also this problem appears in fotg210_out_fifo_handler().
In fotg210_ep0in() and fotg210_ep0out()
there is checking by list_empty() before calling list_entry ().
Found by Linux Driver Verification project (linuxtesting.org).
Powered by blists - more mailing lists