net: ipv6: allow choosing optimistic addresses with use_optimistic

The use_optimistic sysctl makes optimistic IPv6 addresses
equivalent to preferred addresses for source address selection
(e.g., when calling connect()), but it does not allow an
application to bind to optimistic addresses. This behaviour is
inconsistent - for example, it doesn't make sense for bind() to
an optimistic address fail with EADDRNOTAVAIL, but connect() to
choose that address outgoing address on the same socket.

Bug: 17769720
Bug: 18609055
Change-Id: I9de0d6c92ac45e29d28e318ac626c71806666f13
Signed-off-by: Erik Kline <ek@google.com>
Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
netfilter: IDLETIMER: fix invalid deference of timer

"timer" was checked for null, but used later without being re-checked.

Change-Id: Ib4d08cd49860c9f157d1cac556705ba85cd44f4e
Reported-by: dan.carpenter@oracle.com
Signed-off-by: JP Abgrall <jpa@google.com>
Introducing thermal control, ability to set thermal throttling for start and stop variables for CPU and Memory

Conflicts:
	arch/arm/mach-exynos/tmu-exynos.c
thermal control: keep ginfo as up to date as possible

Conflicts:
	arch/arm/mach-exynos/tmu-exynos.c
thermal control: added low limts and checks to make sure start is greater than stop
thermal control:  Raise limit 200 basically letting users disable it
thermal throttling: New algorythm to try and keep things smooth, also added min_throttle_mhz tunable parameterto set minimum throttling Mhz whilebetween start_throttle and start_throttle+15, if value goes above start_throttle+15 then it gets overriden to 800Mhz as the min.  If tripping state occurs, throttle min is set to 500 Mhz

Conflicts:
	arch/arm/mach-exynos/tmu-exynos.c
Tweaks on OC
Allow scaling of CPU frequencies
Don't return rc and change permission of cpufreq
Merge remote-tracking branch 'common/android-3.4' into khaon-new