cifs: enable mounting cifs drives visible to all apps (tomkasick)

Restrict slave mountspace so Dalvik apps can mount system-wide volumes

Android 4.2 implements multi-user storage using per-process mount
namespaces. Everything under "/" (the entire filesystem hierarchy) is
marked as a recursive-slave mountspace for all zygote instances. This is
done so that user-storage sandbox mounts under /storage/emulated are hidden
from other apps and users.

Unfortunately this means that any Dalvik app (actually, any program whose
clone/fork ancestry includes a Dalvik zygote, which is everything except
services spawned directly from init) cannot mount system-wide volumes.
Thus, apps like CifsManager are effectively broken in Android 4.2, since
its cifs mounts are only visible to the CifsManager app itself. All other
apps see empty mountpoints instead of the mounted volume. Furthermore,
Linux provides no provision for a process to "escape" a recursive-slave
mountspace in versions prior to Linux 3.8 (setns syscall).

Here, we restrict rootfs-slave calls to /storage (and, due to a possible
kernel bug, /mnt/shell/emulated) so that Dalvik apps can mount system-wide
volumes elsewhere (with appropriate permission, as in earlier versions of
Android), while retaining full multi-user storage compatibility. It is
made available as a kernel-based workaround for instances where libdvm can
not be modified.

This change requires that a tmpfs volume is mounted as /storage in init.rc.
If this volume is unavailable, then we falls back to the previous behavior
of marking the entire filesystem hierarchy as slave.

*** Do not commit to CyanogenMod Project kernels, as a similar workaround
for this problem is patched in Zygote/Dalvik/libdvm instead. ***

Conflicts:
	fs/Kconfig

Conflicts:
	fs/Kconfig
fix for app-mounted directories (thanks @mkasick)

Signed-off-by: flar2 <asegaert@gmail.com>

Conflicts:
	fs/namespace.c
SCHEDULER: Autogroup patch group by current user android UID instead of task ID
wacom: added QoS cunfigurable interface
Fix warnings and compilation errors with gcc 4.8

Signed-off-by: LaboDJ <jacopolabardi@gmail.com>

Conflicts:
	arch/arm/mach-msm/clock-generic.c
	arch/arm/mach-msm/sensors_adsp.c
	drivers/char/msm_rotator.c
	drivers/mfd/wcd9xxx-core.c
	drivers/power/pm8921-bms.c
	drivers/power/pm8xxx-ccadc.c
	drivers/usb/gadget/f_qdss.c
	drivers/video/msm/mdss/mdss_mdp_util.c
	include/scsi/scsi.h
	net/bluetooth/l2cap_core.c

Conflicts:
	arch/arm/boot/compressed/Makefile
kernel: Fix all leaks and cleanup

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: LaboDJ <jacopolabardi@gmail.com>

Conflicts:
	kernel/trace/ftrace.c
BCMDHD: WIFI PM support for KitKat driver
wifi tweaks
gpu: ion: system_heap: add support for 2MB allocations

Enable 2MB (order 9) allocations from the system heap. This improves the
performance of some heavyweight use cases. The benefit is especially
large for use cases where the buffer is mapped into an IOMMU since we
can leverage the 2MB IOMMU page table mappings.

Change-Id: I869733089b9ccba8090bbca80aac7b5f248b335e
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
video: Add mDNIe colour and brightness control

Conflicts:
	drivers/video/Makefile
fixed mdnie compile error
driver-core: fix DEVICE_INT_ATTR to use correct show/store functions

DEVICE_INT_ATTR() should use device_show_int() and device_store_int()
not device_show_ulong() and device_store_ulong()

Signed-off-by: Michael Davidson <md@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fix interactive linaro warning
Add /dev/frandom
Rebase WIFI_PM management

Conflicts:
	arch/arm/configs/halaszk_defconfig_N900

Conflicts:
	drivers/net/wireless/bcmdhd/dhd_linux.c
 net: wireless: bcmdhd: reduced the wakelock time of RX packet

	Reduce time : 1secs -> 500ms
	Problem : [Issue 11512235] 34% battery eaten overnight
		  [Issue 11374623] OS + Wifi used 41% of battery,
		  wlan_rx_wake
Signed-off-by: Ecco Park <eccopark@broadcom.com>
net: wireless: bcmdhd: Change DTIM skip policy in suspend

	issue : WiFi continuously disconnects
	Root cause :
	Sometimes we got link down event due to beacon
	lost when device goes to suspend.
	This problem sometimes happens in case that DTIM is 3 and beacon
	100ms because we wake up on 900ms (100ms * 3 * 3) during
	suspend.
	This value(900ms) is too big to STA for sync up with AP time.
	This causes STA out of sync for time with the AP.
	Eventually STA got lost of beacon during long time (4secs).

	Solution :
	If the total dtim skip interval (beacon_interval *
	DTIM * 3) is greater than 300ms, we will not extend DTIM to DTIM
	* 3.
	Instead of that, we will use original value (DTIM) for wake up
	in suspend.
	Bug : 1343127 WiFi continuously disconnects

Signed-off-by: Ecco Park <eccopark@broadcom.com>

Change-Id: I6d89bd1c56127befe4d9606869396ee25b7911ef
Signed-off-by: Paul Reioux <reioux@gmail.com>
net: wireless: bcmdhd: Set MAX_DTIM_ALLOWED_INTERVAL to 600

Change-Id: Ie4d9cac1e0828651a142d64762b251537431ea99
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
 net: wireless: bcmdhd: Enable IPv6 RA filter feature

1) We will block IPv6 Router Advertisement multicast packet in suspend mode to save power on device.

Bug: 11638281
Signed-off-by: Ecco Park <eccopark@broadcom.com>
exynos_tmu: add configurable interface for it