Re: Linux 4.4.22

2016-09-24 Thread Greg KH
diff --git a/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt 
b/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt
index a9a5fe19ff2a..ec9d65682702 100644
--- a/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt
+++ b/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt
@@ -12,6 +12,11 @@ Required properties:
 - vref-supply: The regulator supply ADC reference voltage.
 - #io-channel-cells: Should be 1, see ../iio-bindings.txt
 
+Optional properties:
+- resets: Must contain an entry for each entry in reset-names if need support
+ this option. See ../reset/reset.txt for details.
+- reset-names: Must include the name "saradc-apb".
+
 Example:
saradc: saradc@2006c000 {
compatible = "rockchip,saradc";
@@ -19,6 +24,8 @@ Example:
interrupts = ;
clocks = < SCLK_SARADC>, < PCLK_SARADC>;
clock-names = "saradc", "apb_pclk";
+   resets = < SRST_SARADC>;
+   reset-names = "saradc-apb";
#io-channel-cells = <1>;
vref-supply = <>;
};
diff --git a/Documentation/mic/mpssd/mpssd.c b/Documentation/mic/mpssd/mpssd.c
index aaeafa18d99b..c99a75968c01 100644
--- a/Documentation/mic/mpssd/mpssd.c
+++ b/Documentation/mic/mpssd/mpssd.c
@@ -1538,9 +1538,9 @@ set_cmdline(struct mic_info *mic)
 
len = snprintf(buffer, PATH_MAX,
"clocksource=tsc highres=off nohz=off ");
-   len += snprintf(buffer + len, PATH_MAX,
+   len += snprintf(buffer + len, PATH_MAX - len,
"cpufreq_on;corec6_off;pc3_off;pc6_off ");
-   len += snprintf(buffer + len, PATH_MAX,
+   len += snprintf(buffer + len, PATH_MAX - len,
"ifcfg=static;address,172.31.%d.1;netmask,255.255.255.0",
mic->id + 1);
 
diff --git a/Makefile b/Makefile
index d1cc9e0b7473..a6512f4eec9f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 VERSION = 4
 PATCHLEVEL = 4
-SUBLEVEL = 21
+SUBLEVEL = 22
 EXTRAVERSION =
 NAME = Blurry Fish Butt
 
diff --git a/arch/alpha/include/asm/uaccess.h b/arch/alpha/include/asm/uaccess.h
index 9b0d40093c9a..c0ddbbf73400 100644
--- a/arch/alpha/include/asm/uaccess.h
+++ b/arch/alpha/include/asm/uaccess.h
@@ -371,14 +371,6 @@ __copy_tofrom_user_nocheck(void *to, const void *from, 
long len)
return __cu_len;
 }
 
-extern inline long
-__copy_tofrom_user(void *to, const void *from, long len, const void __user 
*validate)
-{
-   if (__access_ok((unsigned long)validate, len, get_fs()))
-   len = __copy_tofrom_user_nocheck(to, from, len);
-   return len;
-}
-
 #define __copy_to_user(to, from, n)\
 ({ \
__chk_user_ptr(to); \
@@ -393,17 +385,22 @@ __copy_tofrom_user(void *to, const void *from, long len, 
const void __user *vali
 #define __copy_to_user_inatomic __copy_to_user
 #define __copy_from_user_inatomic __copy_from_user
 
-
 extern inline long
 copy_to_user(void __user *to, const void *from, long n)
 {
-   return __copy_tofrom_user((__force void *)to, from, n, to);
+   if (likely(__access_ok((unsigned long)to, n, get_fs(
+   n = __copy_tofrom_user_nocheck((__force void *)to, from, n);
+   return n;
 }
 
 extern inline long
 copy_from_user(void *to, const void __user *from, long n)
 {
-   return __copy_tofrom_user(to, (__force void *)from, n, from);
+   if (likely(__access_ok((unsigned long)from, n, get_fs(
+   n = __copy_tofrom_user_nocheck(to, (__force void *)from, n);
+   else
+   memset(to, 0, n);
+   return n;
 }
 
 extern void __do_clear_user(void);
diff --git a/arch/arc/include/asm/pgtable.h b/arch/arc/include/asm/pgtable.h
index 3cab04255ae0..e5fec320f158 100644
--- a/arch/arc/include/asm/pgtable.h
+++ b/arch/arc/include/asm/pgtable.h
@@ -277,8 +277,7 @@ static inline void pmd_set(pmd_t *pmdp, pte_t *ptep)
 
 #define mk_pte(page, prot) pfn_pte(page_to_pfn(page), prot)
 #define pte_pfn(pte)   (pte_val(pte) >> PAGE_SHIFT)
-#define pfn_pte(pfn, prot) (__pte(((pte_t)(pfn) << PAGE_SHIFT) | \
-pgprot_val(prot)))
+#define pfn_pte(pfn, prot) (__pte(((pfn) << PAGE_SHIFT) | 
pgprot_val(prot)))
 #define __pte_index(addr)  (((addr) >> PAGE_SHIFT) & (PTRS_PER_PTE - 1))
 
 /*
diff --git a/arch/arc/include/asm/uaccess.h b/arch/arc/include/asm/uaccess.h
index d1da6032b715..d4d8df706efa 100644
--- a/arch/arc/include/asm/uaccess.h
+++ b/arch/arc/include/asm/uaccess.h
@@ -83,7 +83,10 @@
"2: ;nop\n" \
"   .section .fixup, \"ax\"\n"  \
"   .align 4\n" \
-   "3: mov %0, %3\n"   \
+   "3: # return -EFAULT\n" \
+   "   mov %0, %3\n"   \
+   "   

Re: Linux 4.4.22

2016-09-24 Thread Greg KH
diff --git a/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt 
b/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt
index a9a5fe19ff2a..ec9d65682702 100644
--- a/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt
+++ b/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt
@@ -12,6 +12,11 @@ Required properties:
 - vref-supply: The regulator supply ADC reference voltage.
 - #io-channel-cells: Should be 1, see ../iio-bindings.txt
 
+Optional properties:
+- resets: Must contain an entry for each entry in reset-names if need support
+ this option. See ../reset/reset.txt for details.
+- reset-names: Must include the name "saradc-apb".
+
 Example:
saradc: saradc@2006c000 {
compatible = "rockchip,saradc";
@@ -19,6 +24,8 @@ Example:
interrupts = ;
clocks = < SCLK_SARADC>, < PCLK_SARADC>;
clock-names = "saradc", "apb_pclk";
+   resets = < SRST_SARADC>;
+   reset-names = "saradc-apb";
#io-channel-cells = <1>;
vref-supply = <>;
};
diff --git a/Documentation/mic/mpssd/mpssd.c b/Documentation/mic/mpssd/mpssd.c
index aaeafa18d99b..c99a75968c01 100644
--- a/Documentation/mic/mpssd/mpssd.c
+++ b/Documentation/mic/mpssd/mpssd.c
@@ -1538,9 +1538,9 @@ set_cmdline(struct mic_info *mic)
 
len = snprintf(buffer, PATH_MAX,
"clocksource=tsc highres=off nohz=off ");
-   len += snprintf(buffer + len, PATH_MAX,
+   len += snprintf(buffer + len, PATH_MAX - len,
"cpufreq_on;corec6_off;pc3_off;pc6_off ");
-   len += snprintf(buffer + len, PATH_MAX,
+   len += snprintf(buffer + len, PATH_MAX - len,
"ifcfg=static;address,172.31.%d.1;netmask,255.255.255.0",
mic->id + 1);
 
diff --git a/Makefile b/Makefile
index d1cc9e0b7473..a6512f4eec9f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 VERSION = 4
 PATCHLEVEL = 4
-SUBLEVEL = 21
+SUBLEVEL = 22
 EXTRAVERSION =
 NAME = Blurry Fish Butt
 
diff --git a/arch/alpha/include/asm/uaccess.h b/arch/alpha/include/asm/uaccess.h
index 9b0d40093c9a..c0ddbbf73400 100644
--- a/arch/alpha/include/asm/uaccess.h
+++ b/arch/alpha/include/asm/uaccess.h
@@ -371,14 +371,6 @@ __copy_tofrom_user_nocheck(void *to, const void *from, 
long len)
return __cu_len;
 }
 
-extern inline long
-__copy_tofrom_user(void *to, const void *from, long len, const void __user 
*validate)
-{
-   if (__access_ok((unsigned long)validate, len, get_fs()))
-   len = __copy_tofrom_user_nocheck(to, from, len);
-   return len;
-}
-
 #define __copy_to_user(to, from, n)\
 ({ \
__chk_user_ptr(to); \
@@ -393,17 +385,22 @@ __copy_tofrom_user(void *to, const void *from, long len, 
const void __user *vali
 #define __copy_to_user_inatomic __copy_to_user
 #define __copy_from_user_inatomic __copy_from_user
 
-
 extern inline long
 copy_to_user(void __user *to, const void *from, long n)
 {
-   return __copy_tofrom_user((__force void *)to, from, n, to);
+   if (likely(__access_ok((unsigned long)to, n, get_fs(
+   n = __copy_tofrom_user_nocheck((__force void *)to, from, n);
+   return n;
 }
 
 extern inline long
 copy_from_user(void *to, const void __user *from, long n)
 {
-   return __copy_tofrom_user(to, (__force void *)from, n, from);
+   if (likely(__access_ok((unsigned long)from, n, get_fs(
+   n = __copy_tofrom_user_nocheck(to, (__force void *)from, n);
+   else
+   memset(to, 0, n);
+   return n;
 }
 
 extern void __do_clear_user(void);
diff --git a/arch/arc/include/asm/pgtable.h b/arch/arc/include/asm/pgtable.h
index 3cab04255ae0..e5fec320f158 100644
--- a/arch/arc/include/asm/pgtable.h
+++ b/arch/arc/include/asm/pgtable.h
@@ -277,8 +277,7 @@ static inline void pmd_set(pmd_t *pmdp, pte_t *ptep)
 
 #define mk_pte(page, prot) pfn_pte(page_to_pfn(page), prot)
 #define pte_pfn(pte)   (pte_val(pte) >> PAGE_SHIFT)
-#define pfn_pte(pfn, prot) (__pte(((pte_t)(pfn) << PAGE_SHIFT) | \
-pgprot_val(prot)))
+#define pfn_pte(pfn, prot) (__pte(((pfn) << PAGE_SHIFT) | 
pgprot_val(prot)))
 #define __pte_index(addr)  (((addr) >> PAGE_SHIFT) & (PTRS_PER_PTE - 1))
 
 /*
diff --git a/arch/arc/include/asm/uaccess.h b/arch/arc/include/asm/uaccess.h
index d1da6032b715..d4d8df706efa 100644
--- a/arch/arc/include/asm/uaccess.h
+++ b/arch/arc/include/asm/uaccess.h
@@ -83,7 +83,10 @@
"2: ;nop\n" \
"   .section .fixup, \"ax\"\n"  \
"   .align 4\n" \
-   "3: mov %0, %3\n"   \
+   "3: # return -EFAULT\n" \
+   "   mov %0, %3\n"   \
+   "