|
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0 |
|
| #
71625ec9 |
| 16-Aug-2023 |
Warner Losh <[email protected]> |
sys: Remove $FreeBSD$: one-line .c comment pattern
Remove /^/[*/]\s*\$FreeBSD\$.*\n/
|
| #
4d846d26 |
| 10-May-2023 |
Warner Losh <[email protected]> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
|
Revision tags: release/13.2.0 |
|
| #
9b077d72 |
| 31-Mar-2023 |
Hans Petter Selasky <[email protected]> |
usb(4): Separate the fast path and the slow path to avoid races and use-after-free for the USB FS interface.
Bad behaving user-space USB applicatoins may crash the kernel by issuing USB FS related i
usb(4): Separate the fast path and the slow path to avoid races and use-after-free for the USB FS interface.
Bad behaving user-space USB applicatoins may crash the kernel by issuing USB FS related ioctl(2)'s out of their expected order. By default the USB FS ioctl(2) interface is only available to the administrator, root, and driver applications like webcamd(8) needs to be hijacked in order for this to happen.
The issue is the fast-path code does not always see updates made by the slow-path code, and may then work on freed memory.
This is easily fixed by using an EPOCH(9) type of synchronization mechanism. A SX(9) lock will be used as a substitute for EPOCH(9), due to the need for sleepability. In addition most calls going into the fast-path originate from a single user-space process and the need for multi-thread performance is not present.
Differential Revision: https://reviews.freebsd.org/D39373 Reviewed by: markj@ Reported by: C Turt <[email protected]> admbugs: 994 MFC after: 1 week Sponsored by: NVIDIA Networking
show more ...
|
|
Revision tags: release/12.4.0, release/13.1.0 |
|
| #
0ec590d2 |
| 17-Dec-2021 |
Brooks Davis <[email protected]> |
usb: add 32-bit compat for FIFOs
Unlike most 32-bit compatability code, this isn't just a simple thunk in the ioctl code. An ioctl (USB_FS_INIT) is used to install a pointer to an array of usb_fs_e
usb: add 32-bit compat for FIFOs
Unlike most 32-bit compatability code, this isn't just a simple thunk in the ioctl code. An ioctl (USB_FS_INIT) is used to install a pointer to an array of usb_fs_endpoint structs which are then used by the ugen fifo code. These struct contains an array of pointers which requires translation. We change the interfaces around struct usb_fs_endpoint as follows: - We store the size of struct usb_fs_endpoint in struct usb_fifo in the USB_FS_INIT handler so we know the ABI of the userspace array. - APIs to manipulate userspace struct usb_fs_endpoint objects now take a struct usb_fifo and an index rather than a pointer to the object. This allows most code to remain oblivious to the different struct usb_fs_endpoint sizes. - Add ugen_fs_copyin() which copies the struct usb_fs_endpoint from userspace, thunking it to the native size if required. - Uses of struct usb_fs_endpoint's ppBuffer member are now via ugen_fs_getbuffer() which produces a native pointer. - Updates to userspace are now handled by ugen_fs_update().
For clarity, single, fixed-sized members now are accessed with fueword/suword rather than copyin/copyout.
Reviewed by: hselasky, jrtc27 (prior version)
show more ...
|
|
Revision tags: release/12.3.0, release/13.0.0, release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0 |
|
| #
718cf2cc |
| 27-Nov-2017 |
Pedro F. Giffuni <[email protected]> |
sys/dev: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error
sys/dev: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
show more ...
|
|
Revision tags: release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0, release/10.3.0, release/10.2.0, release/10.1.0, release/9.3.0, release/10.0.0, release/9.2.0, release/8.4.0 |
|
| #
a18a7a41 |
| 13-Feb-2013 |
Hans Petter Selasky <[email protected]> |
Resolve a LOR after r246616. Protect control requests using the USB device enumeration lock. Make sure all callers of usbd_enum_lock() check the return value. Remove the control transfer specific loc
Resolve a LOR after r246616. Protect control requests using the USB device enumeration lock. Make sure all callers of usbd_enum_lock() check the return value. Remove the control transfer specific lock. Bump the FreeBSD version number, hence external USB modules may need to be recompiled due to a USB device structure change.
MFC after: 1 week
show more ...
|
| #
d2b99310 |
| 30-Jan-2013 |
Hans Petter Selasky <[email protected]> |
Modify the FreeBSD USB kernel code so that it can be compiled directly into the FreeBSD boot loader, typically for non-USB aware BIOSes, EFI systems or embedded platforms. This is also useful for out
Modify the FreeBSD USB kernel code so that it can be compiled directly into the FreeBSD boot loader, typically for non-USB aware BIOSes, EFI systems or embedded platforms. This is also useful for out of the system compilation of the FreeBSD USB stack for various purposes. The USB kernel files can now optionally include a global header file which should include all needed definitions required to compile the FreeBSD USB stack. When the global USB header file is included, no other USB header files will be included by default.
Add new file containing the USB stack configuration for the FreeBSD loader build.
Replace some __FBSDID()'s by /* $FreeBSD$ */ comments. Now all USB files follow the same style.
Use cases: - console in loader via USB - loading kernel via USB
Discussed with: Hiroki Sato, hrs @ EuroBSDCon
show more ...
|
|
Revision tags: release/9.1.0, release/8.3.0_cvs, release/8.3.0, release/9.0.0, release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0, release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0, release/8.0.0_cvs, release/8.0.0 |
|
| #
bd73b187 |
| 30-Jul-2009 |
Alfred Perlstein <[email protected]> |
USB core: - add support for defragging of written device data. - improve handling of alternate settings in device side mode. - correct return value from usbd_get_no_alts() function. - reported by: HP
USB core: - add support for defragging of written device data. - improve handling of alternate settings in device side mode. - correct return value from usbd_get_no_alts() function. - reported by: HPS - P4 ID: 166156, 166168
- report USB device release information to devd and pnpinfo. - reported by: MIHIRA Sanpei Yoshiro - P4 ID: 166221
Submitted by: hps Approved by: re
show more ...
|
| #
ed6d949a |
| 23-Jun-2009 |
Andrew Thompson <[email protected]> |
- Make struct usb_xfer opaque so that drivers can not access the internals - Reduce the number of headers needed for a usb driver, the common case is just usb.h and usbdi.h
|
| #
75973647 |
| 15-Jun-2009 |
Andrew Thompson <[email protected]> |
Fix _USB2_* refernces in the header protection defines.
|
| #
a593f6b8 |
| 15-Jun-2009 |
Andrew Thompson <[email protected]> |
s/usb2_/usb_|usbd_/ on all function names for the USB stack.
|
| #
e13e19fa |
| 02-Jun-2009 |
Andrew Thompson <[email protected]> |
Place the fifo and ref counting variables on the stack to prevent races.
Submitted by: Hans Petter Selasky
|
| #
f9cb546c |
| 30-May-2009 |
Andrew Thompson <[email protected]> |
Revert the size_t part of the last commit for the moment, this blows up the USB_ADD_BYTES macro.
|
| #
e0a69b51 |
| 29-May-2009 |
Andrew Thompson <[email protected]> |
s/usb2_/usb_/ on all typedefs for the USB stack.
|
| #
760bc48e |
| 28-May-2009 |
Andrew Thompson <[email protected]> |
s/usb2_/usb_/ on all C structs for the USB stack.
|
|
Revision tags: release/7.2.0_cvs, release/7.2.0 |
|
| #
578d0eff |
| 20-Mar-2009 |
Andrew Thompson <[email protected]> |
MFp4 //depot/projects/usb @159431,159437,159438
- start using the new USB typedefs in the USB core - Remove usage of USB_ADD_BYTES()
Submitted by: Hans Petter Selasky
|
| #
7214348f |
| 17-Mar-2009 |
Andrew Thompson <[email protected]> |
MFp4 //depot/projects/usb 159225,159241,159292
Fix regression issue in the USB file system interface. - Use cdev_privdata pointer as indicator of correct file handle. - Remove redundant FIFO opene
MFp4 //depot/projects/usb 159225,159241,159292
Fix regression issue in the USB file system interface. - Use cdev_privdata pointer as indicator of correct file handle. - Remove redundant FIFO opened flags.
Don't send ZLP at close for ulpt and uscanner devices as this causes some models to stop working. This reverts back to the USB1 behaviour.
Submitted by: Hans Petter Selasky
show more ...
|
| #
f5f145ba |
| 28-Feb-2009 |
Andrew Thompson <[email protected]> |
- Remove the usb interface number from the device nodes as it is not needed. - Do not recreate the device nodes in set_alt_interface as the endpoints do not change.
Submitted by: Hans Petter Selas
- Remove the usb interface number from the device nodes as it is not needed. - Do not recreate the device nodes in set_alt_interface as the endpoints do not change.
Submitted by: Hans Petter Selasky
show more ...
|
| #
ee3e3ff5 |
| 27-Feb-2009 |
Andrew Thompson <[email protected]> |
Change USB over to make_dev() for all device nodes, previously it hooked into the devfs clone handler to open the (invisible) devices on the fly.
The /dev entries are layed out as follows,
/dev/us
Change USB over to make_dev() for all device nodes, previously it hooked into the devfs clone handler to open the (invisible) devices on the fly.
The /dev entries are layed out as follows,
/dev/usbctl = master device /dev/usb/0.1.0.5 = usb device, (<bus>.<dev>.<iface>.<endpoint>) /dev/ugen0.1 -> usb/0.1.0.0 = ugen link to ctrl endpoint
This also removes the custom permissions model from USB. Bump __FreeBSD_version to 800066.
Submitted by: rink (earlier version)
show more ...
|
| #
02ac6454 |
| 23-Feb-2009 |
Andrew Thompson <[email protected]> |
Move the new USB stack into its new home.
|