]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
usb: usbtmc: Fix erroneous get_stb ioctl error returns
authorDave Penkler <dpenkler@gmail.com>
Fri, 2 May 2025 07:09:39 +0000 (09:09 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 18 May 2025 06:21:24 +0000 (08:21 +0200)
commita647d960fbb89ca15e263958421bcb0485369b13
tree185bc4fc3b1b427ee7a9d1d20983adc407d3aadf
parent1956c3d8783a1a3c102127a0b1a22e4ef7615b59
usb: usbtmc: Fix erroneous get_stb ioctl error returns

commit cac01bd178d6a2a23727f138d647ce1a0e8a73a1 upstream.

wait_event_interruptible_timeout returns a long
The return was being assigned to an int causing an integer overflow when
the remaining jiffies > INT_MAX resulting in random error returns.

Use a long return value and convert to int ioctl return only on error.

When the return value of wait_event_interruptible_timeout was <= INT_MAX
the number of remaining jiffies was returned which has no meaning for the
user. Return 0 on success.

Reported-by: Michael Katzmann <vk2bea@gmail.com>
Fixes: dbf3e7f654c0 ("Implement an ioctl to support the USMTMC-USB488 READ_STATUS_BYTE operation.")
Cc: stable@vger.kernel.org
Signed-off-by: Dave Penkler <dpenkler@gmail.com>
Link: https://lore.kernel.org/r/20250502070941.31819-2-dpenkler@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/class/usbtmc.c