zephyr/drivers
Andy Ross eebb17ca52 usb_dc_dw: Correctness: use bytewise I/O in FIFO fill
The Designware FIFO is filled in units of 32 bit words, but the buffer
we are passed is not guaranteed to be a multiple of 4 bytes long, nor
aligned on a 4-byte boundary.  So in theory we are reading 0-3 bytes
of unused garbage from the end of the array.

That's currently benign on supported platforms with this hardware,
which all support misaligned reads.  But not all do.  And the incoming
arrival of memory protection opens the possibility that those extra
bytes would cross a protection boundary and cause a crash or security
bug.

Do this right.

(Note that this is fixed to little endian byte order.  The Designware
databook is frustratingly silent on the endianness it expects, but
existing hardware I can see is definitely LE and I see a few spots in
the Linux dwc2 driver that likewise assume LE).

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2017-10-28 14:38:19 -04:00
..
adc drivers: adc: Add SAM ADC driver 2017-10-10 11:56:47 -05:00
aio drivers: convert to using newly introduced integer sized types 2017-04-21 10:06:48 -05:00
bluetooth drivers/bluetooth/spi: Do not initialize vendor attribute 2017-10-10 09:42:45 -04:00
clock_control drivers: clock_control: provide support for stm32f0. 2017-10-23 12:31:47 +02:00
console net: Fix LLVM compiler warnings 2017-08-09 12:50:50 -04:00
counter drivers, net: Clean up semaphore initialization 2017-07-27 15:23:07 -04:00
crc drivers: crc: Add 'pad' parameter to crc16() 2017-08-17 22:19:19 -04:00
crypto i2c: deprecate use of union dev_config 2017-10-11 10:45:12 -04:00
display drivers/display: mb_display: Fix struct member alignment 2017-08-09 12:23:28 -04:00
dma drivers: dma: remove deprecated API functions 2017-09-22 07:50:20 -04:00
ethernet drivers: eth: mcux: Fix buffer overflow 2017-09-30 13:38:12 -04:00
flash cleanup: Use quote include instead of system include 2017-10-28 07:11:53 -04:00
gpio drivers: gpio: gecko: GPIO driver ignores pull-up/pull-down settings 2017-10-24 08:49:41 +02:00
grove spell: fix Kconfig help typos: /boards /drivers 2017-04-21 21:31:30 +00:00
i2c i2c/i2c_dw: configure ic_tar based on ic_10bitaddr_master 2017-10-28 07:22:28 -04:00
i2s drivers: Add I2S (Inter-IC Sound) driver infrastructure 2017-08-14 11:14:34 -04:00
ieee802154 drivers: mcr20a: check AR bit and use appropriate TX sequence 2017-10-28 14:22:46 -04:00
interrupt_controller drivers: interrupt_controller: provide support for stm32f0. 2017-10-23 12:31:47 +02:00
ipm drivers: IPM: Refactor IPM driver using u32_t registers 2017-06-05 21:50:15 -04:00
led_strip drivers: led_strip: add WS2812-ish driver 2017-10-28 13:23:30 -04:00
net drivers: net: loopback: Network loopback interface driver 2017-10-23 15:10:00 +03:00
pci linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
pinmux pinmux: stm32: Fix coding-style errors 2017-10-28 13:34:02 -04:00
pwm mcux: nxp_kinetis: Move HAS_FTM config to ext 2017-09-25 12:31:59 -05:00
random mcux: nxp_kinetis: Move HAS_TRNG config to ext 2017-09-25 12:31:59 -05:00
rtc drivers, net: Clean up semaphore initialization 2017-07-27 15:23:07 -04:00
sensor i2c: deprecate use of union dev_config 2017-10-11 10:45:12 -04:00
serial serial: atmel_sam3: remove driver as it was deprecated 2017-10-26 06:10:21 +02:00
shared_irq spell: fix Kconfig help typos: /boards /drivers 2017-04-21 21:31:30 +00:00
spi cleanup: Use quote include instead of system include 2017-10-28 07:11:53 -04:00
timer doc: Fix misspellings in header/doxygen comments 2017-10-17 19:40:29 -04:00
usb usb_dc_dw: Correctness: use bytewise I/O in FIFO fill 2017-10-28 14:38:19 -04:00
watchdog iwdg: make independent watchdog driver compliant with STM32Cube LL API 2017-10-23 09:51:16 +02:00
Kconfig drivers: led_strip: add public API for addressable LED strips 2017-10-28 13:23:30 -04:00
Makefile drivers: led_strip: add public API for addressable LED strips 2017-10-28 13:23:30 -04:00