Linux 3.4.88

netfilter: add nf_ipv6_ops hook to fix xt_addrtype with IPv6

Quoting https://bugzilla.netfilter.org/show_bug.cgi?id=812:

[ ip6tables -m addrtype ]
When I tried to use in the nat/PREROUTING it messes up the
routing cache even if the rule didn't matched at all.
[..]
If I remove the --limit-iface-in from the non-working scenario, so just
use the -m addrtype --dst-type LOCAL it works!

This happens when LOCAL type matching is requested with --limit-iface-in,
and the default ipv6 route is via the interface the packet we test
arrived on.

Because xt_addrtype uses ip6_route_output, the ipv6 routing implementation
creates an unwanted cached entry, and the packet won't make it to the
real/expected destination.

Silently ignoring --limit-iface-in makes the routing work but it breaks
rule matching (--dst-type LOCAL with limit-iface-in is supposed to only
match if the dst address is configured on the incoming interface;
without --limit-iface-in it will match if the address is reachable
via lo).

The test should call ipv6_chk_addr() instead.  However, this would add
a link-time dependency on ipv6.

There are two possible solutions:

1) Revert the commit that moved ipt_addrtype to xt_addrtype,
   and put ipv6 specific code into ip6t_addrtype.
2) add new "nf_ipv6_ops" struct to register pointers to ipv6 functions.

While the former might seem preferable, Pablo pointed out that there
are more xt modules with link-time dependeny issues regarding ipv6,
so lets go for 2).
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

Change-Id: Ib2b2093c56330e24b089e4401dbb4d6f3b0c8081
Signed-off-by: houst0nn <houstonn@gmail.com>
Linux 3.4.89

Change-Id: I38a6cb323bb6d952b5cf06756ec55249e18a17ec
Signed-off-by: ayysir <dresadd09691@gmail.com>
ARM: dts: msm: move led_flash0 device node for msm8974 to camera-sensor-mtp.dtsi

* fix torch/lightbulb

Change-Id: I2a6bad723fdbb2acaa7df0db9e00e95e4f99516a
Signed-off-by: houst0nn <houstonn@gmail.com>
ARM: dts: msm: oops forgot torch-source

Change-Id: Ibad0a154e09c626f061bab8cc4d1dc38fda7a978
Signed-off-by: houst0nn <houstonn@gmail.com>
sched: set sched_mc_power_savings to 2, which is the highest power saving possible value for this tunable. Basically according to http://elinux.org/images/1/1d/Comparing_Power_Saving_Techniques_For_Multicore_ARM_Platforms.pdf this tunable provides serious power saving improvements close to the power savings of hotpluging cores. Since in this Kernel we're using always a minimum of 2 cpus online at any time during screen off we might actually benefit from this because this feature packs tasks together and try to bind them to cpu0, which in theory will let cpu1 idle longer, thus improving battery life.

Change-Id: Ic3ec44967b18635791d147bcf3e2b2d4e198a49a
Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>