From patchwork Thu Oct 29 20:12:14 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 10543 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail01.haj.ipfire.org", Issuer "YR1" (not verified)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4jFwPq58fSz3xVH for ; Thu, 29 Oct 2026 20:12:31 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail02.haj.ipfire.org", Issuer "YE2" (not verified)) by mail01.ipfire.org (Postfix) with ESMTPS id 4jFwPp5vJFz5k7 for ; Thu, 29 Oct 2026 20:12:30 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [IPv6:::1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4jFwPn1ZnLz36X6 for ; Thu, 29 Oct 2026 20:12:29 +0000 (UTC) X-Original-To: development@lists.ipfire.org Received: from mail01.ipfire.org (mail01.haj.ipfire.org [IPv6:2001:678:b28::25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail01.haj.ipfire.org", Issuer "YR1" (not verified)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4jFwPf0Lntz3390 for ; Thu, 29 Oct 2026 20:12:22 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4jFwPd1t3Zz5Qf; Thu, 29 Oct 2026 20:12:21 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1793304741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QrdXl767NF4KFPcI+C7RgkL+HAiXmjP7O3hmWl5n5PM=; b=psr2h6RgPlLr1bcb6EO9JqOm9hgR1c0Q1gR6HFV6OwSy14t/RDY0B9q25kRS0SbecvP+NI EPMs2CeqJRkclfAQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1793304741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QrdXl767NF4KFPcI+C7RgkL+HAiXmjP7O3hmWl5n5PM=; b=KmxBzyIJAg6K8M9aR4RiR00m9DtRf/Cea2XGj8H50QF64LAKyv3gK4DYjlmXrqICtBz75c tuK8EltJbN4jZx5CP3uN7YCQ5nIsC3BpQ7oPv1jtbU+MpB26yq/JbroWxytP+shJUa/5LE CTAHbhi2tpIksNIykODPs6YPU/4K3Um1OjguEftvpprNvhKFQi7WYBqJgArKvo1tc2Mz8S dSijPb+vqObBJdKp/+1Am/Gh6tADIN1p7s5J/PsHKyrdJxiDACuaz3pnLh5KCfHOMimhBW 2A7u2uwcAtxLGpX2+5663D/iNxNjeRL7jGV4NvrGjC3dSzLL5f3ou20sDFU8iA== From: Adolf Belka To: development@lists.ipfire.org Cc: Adolf Belka Subject: [PATCH] usbutils: Update to version 020 Date: Thu, 29 Oct 2026 21:12:14 +0100 Message-ID: <20261029201214.2285267-6-adolf.belka@ipfire.org> In-Reply-To: <20261029201214.2285267-1-adolf.belka@ipfire.org> References: <20261029201214.2285267-1-adolf.belka@ipfire.org> Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: MIME-Version: 1.0 - Update from version 019 to 020 - No change in rootfile - Changelog 020 lsusb: Add support for FWStatus Capability decoding justfile: add 'make' target usb-spec.h: fix up spelling mistake for "Tone Enable" entry tests: vendor brat 0.10.1 as the test runner tests: compare built lsusb against the installed copy tests: lsusb -h: compare built against installed tests: lsusb -t: compare built against installed tests: lsusb -s: compare built against installed tests: lsusb -d: compare built against installed tests: lsusb -D: compare built against installed tests: usb-devices: compare built against installed tests: lsusb.py: compare built against installed tests: lsusb.py -h: compare built against installed tests: lsusb.py -i: compare built against installed tests: lsusb.py -I: compare built against installed tests: lsusb.py -u: compare built against installed tests: lsusb.py -U: compare built against installed tests: lsusb.py -c: compare built against installed tests: lsusb.py -C: compare built against installed tests: lsusb.py -e: compare built against installed tests: lsusb.py -w: compare built against installed tests: lsusb.py -f: compare built against installed justfile: add 'test' target desc-dump: fix operator precedence bug in bit-to-byte conversion usbmisc: fix NULL dereference on getcwd() failure in get_absolute_path() usbmisc: check malloc() return in get_dev_string_ascii() usbmisc: check malloc() return in usb_string_to_native() usbmisc: fix unbounded recursion and strncpy issues in readlink_recursive() names: replace sprintf() with snprintf() for modalias formatting lsusb-t: replace sprintf() with snprintf() in lanes_to_str() desc-dump: fix NULL pointer dereference for unknown audio terminal types desc-dump: fix integer underflow in get_array_entry_count() names: fix missing null termination in get_vendor_product_with_fallback() sysfs: fix buffer handling in read_sysfs_prop() sysfs: check initial snprintf() return value in get_sysfs_name() lsusb: fix out-of-bounds array access in dump_encryption_type() lsusb: fix out-of-bounds reads in video EXTENSION_UNIT descriptor parsing lsusb: fix unaligned memory access in dump_printer_device() lsusb: fix out-of-bounds read in video HEADER descriptor parsing lsusb: fix out-of-bounds read in HID report descriptor parsing lsusb: replace sprintf() with snprintf() in get_guid() lsusb: fix out-of-bounds read in MIDI streaming endpoint descriptor lsusb: fix out-of-bounds read in STILL_IMAGE_FRAME descriptor parsing lsusb-t: fix buffer handling in read_sysfs_file_string() lsusb: fix wrong variable in FORMAT_TYPE_II descriptor length calculation lsusb: fix out-of-bounds reads in video INPUT_HEADER and OUTPUT_HEADER lsusb: fix out-of-bounds reads in video PROCESSING_UNIT descriptor lsusb: fix out-of-bounds reads in video terminal and selector descriptors lsusb: fix undefined behavior in convert_le_u32() signed shift lsusb: fix OOB reads in UAC1 audio FORMAT_TYPE descriptor parsing lsusb: fix out-of-bounds read in SuperSpeedPlus capability descriptor lsusb: fix OOB reads in audio FORMAT_SPECIFIC descriptor parsing lsusb: fix out-of-bounds reads in IPP printer descriptor parsing lsusb: add missing length checks in dump_wire_adapter and dump_rc_interface lsusb: add missing length checks in dump_security and dump_encryption_type lsusb: fix OOB read in dump_dfu_interface on short descriptors lsusb: add missing length check in dump_association() lsusb: fix out-of-bounds reads in dump_hid_device() on short descriptors lsusb: fix OOB reads in UAC2 FORMAT_TYPE descriptor parsing lsusb: fix OOB reads in MIDI HEADER and MIDI_IN_JACK descriptor parsing lsusb: fix OOB read in dump_videocontrol_interrupt_endpoint() lsusb: fix OOB reads in video streaming format descriptors lsusb: fix OOB reads in video FRAME descriptor parsing lsusb: fix remaining OOB read in MIDI_OUT_JACK initial fields lsusb: fix remaining OOB reads in video descriptor warn-and-continue paths lsusb: fix OOB reads in video INPUT_HEADER and OUTPUT_HEADER data loops lsusb: fix OOB read in STILL_IMAGE_FRAME compression pattern loop lsusb: fix OOB read in FORMAT_MPEG2TS descriptor on short descriptors lsusb: zero hub descriptor buffer to prevent reading uninitialized data lsusb: fix OOB read in FORMAT_STREAM_BASED descriptor parsing lsusb: fix unsigned integer underflow in dump_bytes calls for short descriptors lsusb: fix wrong byte printed for CCID bClassEnvelope lsusb: bounds-check MIDI ELEMENT bNrInputPins/bElCapsSize against bLength lsusb: bounds-check UVC INPUT_TERMINAL bControlSize against bLength lsusb.py: strip control characters from device-supplied sysfs strings usbreset: refuse ambiguous selectors that match more than one device usbmisc, usb-devices: strip control characters from device-supplied strings lsusb: don't loop forever in find_otg() on a zero-bLength sub-descriptor desc-defs: fix off-by-one in UAC1 wFormatTag string lookup lsusb: bounds-check the BOS device-capability walk usbhid-dump: skip interfaces with bInterfaceNumber 0xff usb-devices: use printf instead of echo for device-supplied strings usb-devices: fix default case in class_decode() lsusb: strip control characters from the WebUSB landing-page URL lsusb: bound the report-fetch loop in dump_hid_device() too lsusb: bounds-check MIDI OUT_JACK bNrInputPins against bLength lsusb: bounds-check IPP printer capability walk against bLength desc-dump: bound get_value_from_field() against descriptor length sysfs: strip control characters from device-supplied string attributes lsusb, usbmisc, usbhid-dump: zero-init buffers passed to libusb control transfers lsusb: migrate the MIDIStreaming parsers onto the desc-dump table engine desc-dump: don't exit() on a device-supplied size_field value lsusb: return on short bLength in the class-specific descriptor dispatchers lsusb: check FORMAT_TYPE bLength before reading bFormatType lsusb: avoid undefined behaviour when assembling u32s from descriptor bytes lsusb: bound the extra[] dispatch loops by remaining size lsusb: fix wHubDelay decoding in the USB3 hub descriptor dump usbhid-dump: bound the HID-descriptor-extra walk by entry end, not start lsusb: fix two -D path-resolution edge cases in usbmisc.c lsusb: don't pass NULL into %s for unknown HID report/usage tags tests: brat: fix some spelling issues usbutils.spdx: update with new files added lsusb: add expected length message for video descriptor endpoint meson.build: turn off -Wno-unused-function lsusb: fix up parsing for older uvc devices tests: usbhid-dump: compare built against installed tests: usbhid-dump -h: compare built against installed tests: usbhid-dump -s: compare built against installed tests: usbhid-dump -d: compare built against installed tests: usbhid-dump -i: compare built against installed tests: usbhid-dump -e: compare built against installed tests: add lsusb argument-combination brat tests tests: add lsusb.py argument-combination brat tests tests: add lsusb -h/-V interaction test tests: add lsusb -t precedence test (-s/-d/-D ignored under -t) tests: add lsusb -D precedence test (-s/-d ignored under -D) tests: add lsusb -V precedence test tests: add lsusb -h precedence test tests: add lsusb repeated -s/-d/-D test tests: add lsusb -d :pid product-only filter test tests: add lsusb -D error-path tests tests: add lsusb -P/-p vestigial-option test tests: add lsusb -- end-of-options test test/lsusb-vv.brat: send errors to /dev/null lsusb-t: fall back to the sysfs vendor/product strings usbreset: return failure when device reset fails lsusb.c: fix typo dwMaxiumumClock lsusb.py: fix parse_usb_ids lsusb: fix shift UB and truncated-item reads in HID report dump ci: bump github/codeql-action in the all-actions group ci: bump the all-actions group with 5 updates ci: bump the all-actions group across 1 directory with 4 updates ci: bump github/codeql-action in the all-actions group ci: bump the all-actions group with 2 updates ci: bump the all-actions group with 5 updates ci: bump the all-actions group with 5 updates ci: bump the all-actions group across 1 directory with 3 updates Signed-off-by: Adolf Belka --- lfs/usbutils | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lfs/usbutils b/lfs/usbutils index 277154b3e..cba0ad2a6 100644 --- a/lfs/usbutils +++ b/lfs/usbutils @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2025 IPFire Team # +# Copyright (C) 2007-2026 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@ include Config -VER = 019 +VER = 020 # https://www.kernel.org/pub/linux/utils/usb/usbutils/ THISAPP = usbutils-$(VER) @@ -41,7 +41,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = 8267a36ec9670e83a0df5d5d34aee70d37e773ca25a20978cd6c99df29426e926af4308f97bb38463f50abdea2a764e98752bc4a5ca703bfcfdf9fcc361a7638 +$(DL_FILE)_BLAKE2 = 98dab3fd9e10d4490ee4b852af78b9106e9ca37cf3fa88dfa3480bdbd07ebc8223b135dca9d3df192dadd7b2a17363a7d822e5816b672d2ca088553c7bbb74c9 install : $(TARGET)