USB: core: hub.c: Fix bug in accessing freed memory

Current driver is accessing the buffer memory after it is freed.
This could result in getting wrong value and might could cause
memory corruption. Hence fix this issue by taking idvendor
value into a variable before freeing it.

CRs-Fixed: 550211
Change-Id: I271dbf3518e7b6e0d30c684bd05c835945de0950
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Disable CONFIG_STRICT_MEMORY_RWX

CONFIG_STRICT_MEMORY_RWX has good intentions. But it actually opens the kernel up to more vulnerabilities unless security patches are applied. 

https://www.codeaurora.org/projects/security-advisories/configstrictmemoryrwx-not-strictly-enforced-cve-2013-4737

The security patch that fixes CONFIG_STRICT_MEMORY_RWX takes up 1.9 MB of kernel space and about 1 MB of user memory. The only known exploit for what it fixes is ironically only for the unpatched version of this config.

Upstream Linux, which is usually very sensitive to security issues has
not implemented this config. In fact, Ubuntu has explicitly removed it
from their MSM builds http://web.archiveorange.com/archive/v/UsR4n0n1MLugFsH52gbL

Let's save the memory and just turn it off.

Change-Id: I7ddff43bb76fb5ddb0c144d891bdf8ed2c19c9a5
Merge remote-tracking branch 'upstream/cm-11.0' into HEAD