Merge from Chromium at DEPS revision 40.0.2214.69

This commit was generated by merge_to_master.py.

Change-Id: I60c7ce22e89a579c6da8add0b266ed97e7bae41b
diff --git a/src/effects/SkMatrixConvolutionImageFilter.cpp b/src/effects/SkMatrixConvolutionImageFilter.cpp
index ae29bcb..cdcf66f 100644
--- a/src/effects/SkMatrixConvolutionImageFilter.cpp
+++ b/src/effects/SkMatrixConvolutionImageFilter.cpp
@@ -67,6 +67,10 @@
     if (!kernel) {
         return NULL;
     }
+    if ((kernelOffset.fX < 0) || (kernelOffset.fX >= kernelSize.fWidth) ||
+        (kernelOffset.fY < 0) || (kernelOffset.fY >= kernelSize.fHeight)) {
+        return NULL;
+    }
     return SkNEW_ARGS(SkMatrixConvolutionImageFilter, (kernelSize, kernel, gain, bias,
                                                        kernelOffset, tileMode, convolveAlpha,
                                                        input, cropRect, uniqueID));
diff --git a/src/opts/SkXfermode_opts_arm_neon.cpp b/src/opts/SkXfermode_opts_arm_neon.cpp
index dca58eb..f6fbcd3 100644
--- a/src/opts/SkXfermode_opts_arm_neon.cpp
+++ b/src/opts/SkXfermode_opts_arm_neon.cpp
@@ -824,6 +824,7 @@
                    */
                   "x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9",
                   "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x18",
+                  "x30", /* x30 implicitly clobbered by blr */
                   "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v16", "v17",
                   "v18", "v19", "v20", "v21", "v22", "v23", "v24", "v25", "v26",
                   "v27", "v28", "v29", "v30", "v31"