lkml.org 
[lkml]   [2021]   [Mar]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 101/120] staging: comedi: dmm32at: Fix endian problem for AI command data
    Date
    From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    From: Ian Abbott <abbotti@mev.co.uk>

    commit 54999c0d94b3c26625f896f8e3460bc029821578 upstream.

    The analog input subdevice supports Comedi asynchronous commands that
    use Comedi's 16-bit sample format. However, the call to
    `comedi_buf_write_samples()` is passing the address of a 32-bit integer
    variable. On bigendian machines, this will copy 2 bytes from the wrong
    end of the 32-bit value. Fix it by changing the type of the variable
    holding the sample value to `unsigned short`.

    [Note: the bug was introduced in commit 1700529b24cc ("staging: comedi:
    dmm32at: use comedi_buf_write_samples()") but the patch applies better
    to the later (but in the same kernel release) commit 0c0eadadcbe6e
    ("staging: comedi: dmm32at: introduce dmm32_ai_get_sample()").]

    Fixes: 0c0eadadcbe6e ("staging: comedi: dmm32at: introduce dmm32_ai_get_sample()")
    Cc: <stable@vger.kernel.org> # 3.19+
    Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
    Link: https://lore.kernel.org/r/20210223143055.257402-7-abbotti@mev.co.uk
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/staging/comedi/drivers/dmm32at.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/staging/comedi/drivers/dmm32at.c
    +++ b/drivers/staging/comedi/drivers/dmm32at.c
    @@ -404,7 +404,7 @@ static irqreturn_t dmm32at_isr(int irq,
    {
    struct comedi_device *dev = d;
    unsigned char intstat;
    - unsigned int val;
    + unsigned short val;
    int i;

    if (!dev->attached) {

    \
     
     \ /
      Last update: 2021-03-15 15:34    [W:2.498 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site