android_kernel_xiaomi_sm8350/drivers
KAMBAROV, ZAUR b2134bcd2e [PATCH] USB: coverity: (desc->bitmap)[] overrun fix
The length of the array desc->bitmap is 3, and not 4:

Definitions involved:

In drivers/usb/core/hcd.h

464  	#define bitmap 	DeviceRemovable

In drivers/usb/host/ohci-hub.c

395  		struct usb_hub_descriptor	*desc

In drivers/usb/core/hub.h

130  	struct usb_hub_descriptor {
131  		__u8  bDescLength;
132  		__u8  bDescriptorType;
133  		__u8  bNbrPorts;
134  		__u16 wHubCharacteristics;
135  		__u8  bPwrOn2PwrGood;
136  		__u8  bHubContrCurrent;
137  		    	/* add 1 bit for hub status change; round to bytes */
138  		__u8  DeviceRemovable[(USB_MAXCHILDREN + 1 + 7) / 8];
139  		__u8  PortPwrCtrlMask[(USB_MAXCHILDREN + 1 + 7) / 8];
140  	} __attribute__ ((packed));

In include/linux/usb.h

306  	#define USB_MAXCHILDREN		(16)

This defect was found automatically by Coverity Prevent, a static analysis
tool.

(akpm: this code should be shot.  Field `bitmap' doesn't exist in struct
usb_hub_descriptor.  And this .c file is #included in
drivers/usb/host/ohci-hcd.c, and someone somewhere #defines `bitmap' to
`DeviceRemovable'.

>From a maintainability POV it would be better to memset the whole array
beforehand - I changed the patch to do that)

Signed-off-by: Zaur Kambarov <zkambarov@coverity.com>
Cc: <linux-usb-devel@lists.sourceforge.net?
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-07-12 11:52:56 -07:00
..
acorn
acpi If ACPI doesn't find an irq listed, don't accept 0 as a valid PCI irq. 2005-07-02 10:35:33 -07:00
atm
base [PATCH] Driver core: Use klist_del() instead of klist_remove(). 2005-06-29 22:48:05 -07:00
block [PATCH] Fix get_request nastiness 2005-06-29 08:46:30 -07:00
bluetooth [NET]: Transform skb_queue_len() binary tests into skb_queue_empty() 2005-07-08 14:57:23 -07:00
cdrom [PATCH] drivers/cdrom/cm206.c: cleanups 2005-06-25 16:25:07 -07:00
char drm: fix stupid missing semicolon. 2005-07-10 12:46:19 +10:00
cpufreq [PATCH] pm: fix u32 vs. pm_message_t confusion in cpufreq 2005-07-07 18:23:43 -07:00
crypto [CRYPTO] Update IV correctly for Padlock CBC encryption 2005-07-06 13:54:09 -07:00
dio
eisa
fc4
firmware [IA64-SGI] pcdp: add PCDP pci interface support 2005-06-28 09:09:06 -07:00
i2c [PATCH] openfirmware: generate device table for userspace 2005-07-06 12:55:20 -07:00
ide [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
ieee1394 [PATCH] Sync up ieee-1394 2005-07-10 12:23:23 -07:00
infiniband [PATCH] IB uverbs: add mthca user QP support 2005-07-07 18:23:50 -07:00
input [PATCH] x86: i8253/i8259A lock cleanup 2005-06-30 08:45:10 -07:00
isdn [NET]: Transform skb_queue_len() binary tests into skb_queue_empty() 2005-07-08 14:57:23 -07:00
macintosh [PATCH] openfirmware: implement hotplug for macio devices 2005-07-06 12:55:20 -07:00
mca [PATCH] unexport mca_find_device_by_slot 2005-06-25 16:24:56 -07:00
md [PATCH] device-mapper: dm-raid1: Limit bios to size of mirror region 2005-07-07 18:24:11 -07:00
media [PATCH] v4l: LGDT3302 read status fix 2005-07-07 18:24:04 -07:00
message [PATCH] pm: more u32 vs. pm_message_t fixes 2005-07-07 18:23:43 -07:00
misc
mmc [PATCH] MMC: wbsd cleanups 2005-07-01 13:07:37 +01:00
mtd Merge master.kernel.org:/pub/scm/linux/kernel/git/tglx/mtd-2.6 2005-07-11 10:18:18 -07:00
net [NET]: Transform skb_queue_len() binary tests into skb_queue_empty() 2005-07-08 14:57:23 -07:00
nubus
oprofile
parisc [PATCH] acpi bridge hotadd: ACPI based root bridge hot-add 2005-06-27 21:52:39 -07:00
parport [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
pci [PATCH] pm: more u32 vs. pm_message_t fixes 2005-07-07 18:23:43 -07:00
pcmcia [PATCH] yenta: don't depend on CardBus 2005-07-07 18:24:07 -07:00
pnp [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
s390 [NET]: Transform skb_queue_len() binary tests into skb_queue_empty() 2005-07-08 14:57:23 -07:00
sbus [SPARC]: bpp: remove sleep_on usage 2005-07-04 13:24:14 -07:00
scsi [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
serial [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
sh
sn
tc
telephony [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
usb [PATCH] USB: coverity: (desc->bitmap)[] overrun fix 2005-07-12 11:52:56 -07:00
video [PATCH] m32r: framebuffer device support 2005-07-07 18:24:11 -07:00
w1 [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
zorro
Kconfig
Makefile