[PATCH] Restore gcc check in mips asm/unroll.h
While raising the gcc version requirement to 4.9, the compile-time check in the unroll macro was accidentally changed from being used on gcc and clang to being used on clang only. Restore the gcc check, changing it from "gcc >= 4.7" to "all gcc". Fixes: 6ec4476ac825 ("Raise gcc version requirement to 4.9") Signed-off-by: Cesar Eduardo Barros --- arch/mips/include/asm/unroll.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/mips/include/asm/unroll.h b/arch/mips/include/asm/unroll.h index 8ed660adc84f..49009319ac2c 100644 --- a/arch/mips/include/asm/unroll.h +++ b/arch/mips/include/asm/unroll.h @@ -25,7 +25,8 @@ * generate reasonable code for the switch statement, \ * so we skip the sanity check for those compilers. \ */ \ - BUILD_BUG_ON((CONFIG_CLANG_VERSION >= 8) && \ + BUILD_BUG_ON((CONFIG_CC_IS_GCC || \ + CONFIG_CLANG_VERSION >= 8) && \ !__builtin_constant_p(times)); \ \ switch (times) {\ -- 2.26.2
Re: Potential data race in SyS_swapon
Em 07-08-2015 13:14, Andrey Konovalov escreveu: Hi! We are working on a dynamic data race detector for the Linux kernel called KernelThreadSanitizer (ktsan) (https://github.com/google/ktsan/wiki). While running ktsan on the upstream revision 21bdb584af8c with trinity we got a few reports from SyS_swapon, here is one of them: [...] The race is happening when accessing the swap_file field of a swap_info_struct struct. 2392 for (i = 0; i < nr_swapfiles; i++) { 2393 struct swap_info_struct *q = swap_info[i]; 2394 2395 if (q == p || !q->swap_file) 2396 continue; 2397 if (mapping == q->swap_file->f_mapping) { 2398 error = -EBUSY; 2399 goto bad_swap; 2400 } 2401 } 2539 spin_lock(_lock); 2540 p->swap_file = NULL; 2541 p->flags = 0; 2542 spin_unlock(_lock); There's another (more important) place which sets the swap_file field to NULL, it's within swapoff. It's also protected by swap_lock. Since the swap_lock lock is not taken in the first snippet, it's possible for q->swap_file to be assigned to NULL and reloaded between executing lines 2395 and 2397, which might lead to a null pointer dereference. I agree with that analysis. It should be possible to hit by racing swapon of a file with swapoff of another. Looks like the swap_lock should be taken when iterating through the swap_info array on lines 2392 - 2401. I'd take that lock a couple of lines earlier, so that every place that sets the swap_file field on a swap_info_struct is behind swap_lock, for simplicity. -- Cesar Eduardo Barros ces...@cesarb.eti.br -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Potential data race in SyS_swapon
Em 07-08-2015 13:14, Andrey Konovalov escreveu: Hi! We are working on a dynamic data race detector for the Linux kernel called KernelThreadSanitizer (ktsan) (https://github.com/google/ktsan/wiki). While running ktsan on the upstream revision 21bdb584af8c with trinity we got a few reports from SyS_swapon, here is one of them: [...] The race is happening when accessing the swap_file field of a swap_info_struct struct. 2392 for (i = 0; i nr_swapfiles; i++) { 2393 struct swap_info_struct *q = swap_info[i]; 2394 2395 if (q == p || !q-swap_file) 2396 continue; 2397 if (mapping == q-swap_file-f_mapping) { 2398 error = -EBUSY; 2399 goto bad_swap; 2400 } 2401 } 2539 spin_lock(swap_lock); 2540 p-swap_file = NULL; 2541 p-flags = 0; 2542 spin_unlock(swap_lock); There's another (more important) place which sets the swap_file field to NULL, it's within swapoff. It's also protected by swap_lock. Since the swap_lock lock is not taken in the first snippet, it's possible for q-swap_file to be assigned to NULL and reloaded between executing lines 2395 and 2397, which might lead to a null pointer dereference. I agree with that analysis. It should be possible to hit by racing swapon of a file with swapoff of another. Looks like the swap_lock should be taken when iterating through the swap_info array on lines 2392 - 2401. I'd take that lock a couple of lines earlier, so that every place that sets the swap_file field on a swap_info_struct is behind swap_lock, for simplicity. -- Cesar Eduardo Barros ces...@cesarb.eti.br -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG/PATCH] kernel RNG and its secrets
On 18-03-2015 14:14, mancha wrote: On Wed, Mar 18, 2015 at 05:02:01PM +0100, Stephan Mueller wrote: Am Mittwoch, 18. März 2015, 16:09:34 schrieb Hannes Frederic Sowa: Seems like just using barrier() is the best and easiest option. However, if the idea is to use barrier() instead of OPTIMIZER_HIDE_VAR() in crypto_memneq() as well, then patch 0002 is the one to use. Please review and keep in mind my analysis was limited to memzero_explicit(). Cesar, were there reasons you didn't use the gcc version of barrier() for crypto_memneq()? Yes. Two reasons. Take a look at how barrier() is defined: #define barrier() __asm__ __volatile__("": : :"memory") It tells gcc that the dummy assembly "instruction" touches memory (so the compiler can't assume anything about the memory), and that nothing should be moved from before to after the barrier and vice versa. It mentions nothing about registers. Therefore, as far as I know gcc can assume that the dummy "instruction" touches no integer registers (or restores their values). I can imagine a sufficiently perverse compiler using that fact to introduce timing-dependent computations. For instance, it could load the values using more than one register and combine them at the end, after the barriers; there, it could exit early in case one of the registers is all-ones. My definition of OPTIMIZER_HIDE_VAR introduces a data dependency to prevent that: #define OPTIMIZER_HIDE_VAR(var) __asm__ ("" : "=r" (var) : "0" (var)) The second reason is that barrier() is too strong. For crypto_memneq, only the or-chain is critical; the order or width of the loads makes no difference. The compiler could, if it wishes, do all the loads and xors first and do the or-chain at the end, or whenever it can see a pipeline bubble; it doesn't matter as long as it does *all* the "or" operations, in sequence. I would be comfortable with a stronger OPTIMIZER_HIDE_VAR (adding "memory" or volatile), even though it could limit optimization opportunities, but I wouldn't be comfortable with a weaker OPTIMIZER_HIDE_VAR (removing the data dependency), unless the gcc and clang guys promise that our definition of barrier() will always prevent undesired optimization of register-only operations. There was a third reason for the exact definition of OPTIMIZER_HIDE_VAR: it was copied from RELOC_HIDE, which is a longstanding "hide this variable from gcc" operation, and thus known to work as expected. -- Cesar Eduardo Barros ces...@cesarb.eti.br -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG/PATCH] kernel RNG and its secrets
On 18-03-2015 14:14, mancha wrote: On Wed, Mar 18, 2015 at 05:02:01PM +0100, Stephan Mueller wrote: Am Mittwoch, 18. März 2015, 16:09:34 schrieb Hannes Frederic Sowa: Seems like just using barrier() is the best and easiest option. However, if the idea is to use barrier() instead of OPTIMIZER_HIDE_VAR() in crypto_memneq() as well, then patch 0002 is the one to use. Please review and keep in mind my analysis was limited to memzero_explicit(). Cesar, were there reasons you didn't use the gcc version of barrier() for crypto_memneq()? Yes. Two reasons. Take a look at how barrier() is defined: #define barrier() __asm__ __volatile__(: : :memory) It tells gcc that the dummy assembly instruction touches memory (so the compiler can't assume anything about the memory), and that nothing should be moved from before to after the barrier and vice versa. It mentions nothing about registers. Therefore, as far as I know gcc can assume that the dummy instruction touches no integer registers (or restores their values). I can imagine a sufficiently perverse compiler using that fact to introduce timing-dependent computations. For instance, it could load the values using more than one register and combine them at the end, after the barriers; there, it could exit early in case one of the registers is all-ones. My definition of OPTIMIZER_HIDE_VAR introduces a data dependency to prevent that: #define OPTIMIZER_HIDE_VAR(var) __asm__ ( : =r (var) : 0 (var)) The second reason is that barrier() is too strong. For crypto_memneq, only the or-chain is critical; the order or width of the loads makes no difference. The compiler could, if it wishes, do all the loads and xors first and do the or-chain at the end, or whenever it can see a pipeline bubble; it doesn't matter as long as it does *all* the or operations, in sequence. I would be comfortable with a stronger OPTIMIZER_HIDE_VAR (adding memory or volatile), even though it could limit optimization opportunities, but I wouldn't be comfortable with a weaker OPTIMIZER_HIDE_VAR (removing the data dependency), unless the gcc and clang guys promise that our definition of barrier() will always prevent undesired optimization of register-only operations. There was a third reason for the exact definition of OPTIMIZER_HIDE_VAR: it was copied from RELOC_HIDE, which is a longstanding hide this variable from gcc operation, and thus known to work as expected. -- Cesar Eduardo Barros ces...@cesarb.eti.br -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH v4] crypto: more robust crypto_memneq
Disabling compiler optimizations can be fragile, since a new optimization could be added to -O0 or -Os that breaks the assumptions the code is making. Instead of disabling compiler optimizations, use a dummy inline assembly (based on RELOC_HIDE) to block the problematic kinds of optimization, while still allowing other optimizations to be applied to the code. The dummy inline assembly is added after every OR, and has the accumulator variable as its input and output. The compiler is forced to assume that the dummy inline assembly could both depend on the accumulator variable and change the accumulator variable, so it is forced to compute the value correctly before the inline assembly, and cannot assume anything about its value after the inline assembly. This change should be enough to make crypto_memneq work correctly (with data-independent timing) even if it is inlined at its call sites. That can be done later in a followup patch. Compile-tested on x86_64. Acked-by: Daniel Borkmann Signed-off-by: Cesar Eduardo Barros --- v2: Moved the macro to include/linux/compiler*.h as suggested by Daniel Borkmann. v3: Thinking better about it, barrier() is a saner default for the "unknown compiler" case. v4: Compile fix for archs without efficient aligned access. crypto/Makefile| 5 --- crypto/memneq.c| 80 +- include/linux/compiler-gcc.h | 3 ++ include/linux/compiler-intel.h | 7 include/linux/compiler.h | 4 +++ 5 files changed, 69 insertions(+), 30 deletions(-) diff --git a/crypto/Makefile b/crypto/Makefile index 989c510..b29402a 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -2,11 +2,6 @@ # Cryptographic API # -# memneq MUST be built with -Os or -O0 to prevent early-return optimizations -# that will defeat memneq's actual purpose to prevent timing attacks. -CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3 -CFLAGS_memneq.o := -Os - obj-$(CONFIG_CRYPTO) += crypto.o crypto-y := api.o cipher.o compress.o memneq.o diff --git a/crypto/memneq.c b/crypto/memneq.c index cd01622..afed1bd 100644 --- a/crypto/memneq.c +++ b/crypto/memneq.c @@ -72,6 +72,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) while (size >= sizeof(unsigned long)) { neq |= *(unsigned long *)a ^ *(unsigned long *)b; + OPTIMIZER_HIDE_VAR(neq); a += sizeof(unsigned long); b += sizeof(unsigned long); size -= sizeof(unsigned long); @@ -79,6 +80,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ while (size > 0) { neq |= *(unsigned char *)a ^ *(unsigned char *)b; + OPTIMIZER_HIDE_VAR(neq); a += 1; b += 1; size -= 1; @@ -89,33 +91,61 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) /* Loop-free fast-path for frequently used 16-byte size */ static inline unsigned long __crypto_memneq_16(const void *a, const void *b) { + unsigned long neq = 0; + #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS - if (sizeof(unsigned long) == 8) - return ((*(unsigned long *)(a) ^ *(unsigned long *)(b)) - | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8))); - else if (sizeof(unsigned int) == 4) - return ((*(unsigned int *)(a)^ *(unsigned int *)(b)) - | (*(unsigned int *)(a+4) ^ *(unsigned int *)(b+4)) - | (*(unsigned int *)(a+8) ^ *(unsigned int *)(b+8)) - | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12))); - else + if (sizeof(unsigned long) == 8) { + neq |= *(unsigned long *)(a) ^ *(unsigned long *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + } else if (sizeof(unsigned int) == 4) { + neq |= *(unsigned int *)(a)^ *(unsigned int *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+4) ^ *(unsigned int *)(b+4); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+8) ^ *(unsigned int *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12); + OPTIMIZER_HIDE_VAR(neq); + } else #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ - return ((*(unsigned char *)(a)^ *(unsigned char *)(b)) - | (*(unsigned char *)(a+1) ^ *(unsigned char *)(b+1)) - | (*(unsigned char *)(a+2) ^ *(unsigned char *)(b+2)) - | (*(unsigned char *)(a+3) ^ *(unsigned char *)(b+3)) - | (*(unsi
[PATCH v4] crypto: more robust crypto_memneq
Disabling compiler optimizations can be fragile, since a new optimization could be added to -O0 or -Os that breaks the assumptions the code is making. Instead of disabling compiler optimizations, use a dummy inline assembly (based on RELOC_HIDE) to block the problematic kinds of optimization, while still allowing other optimizations to be applied to the code. The dummy inline assembly is added after every OR, and has the accumulator variable as its input and output. The compiler is forced to assume that the dummy inline assembly could both depend on the accumulator variable and change the accumulator variable, so it is forced to compute the value correctly before the inline assembly, and cannot assume anything about its value after the inline assembly. This change should be enough to make crypto_memneq work correctly (with data-independent timing) even if it is inlined at its call sites. That can be done later in a followup patch. Compile-tested on x86_64. Acked-by: Daniel Borkmann dbork...@redhat.com Signed-off-by: Cesar Eduardo Barros ces...@cesarb.eti.br --- v2: Moved the macro to include/linux/compiler*.h as suggested by Daniel Borkmann. v3: Thinking better about it, barrier() is a saner default for the unknown compiler case. v4: Compile fix for archs without efficient aligned access. crypto/Makefile| 5 --- crypto/memneq.c| 80 +- include/linux/compiler-gcc.h | 3 ++ include/linux/compiler-intel.h | 7 include/linux/compiler.h | 4 +++ 5 files changed, 69 insertions(+), 30 deletions(-) diff --git a/crypto/Makefile b/crypto/Makefile index 989c510..b29402a 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -2,11 +2,6 @@ # Cryptographic API # -# memneq MUST be built with -Os or -O0 to prevent early-return optimizations -# that will defeat memneq's actual purpose to prevent timing attacks. -CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3 -CFLAGS_memneq.o := -Os - obj-$(CONFIG_CRYPTO) += crypto.o crypto-y := api.o cipher.o compress.o memneq.o diff --git a/crypto/memneq.c b/crypto/memneq.c index cd01622..afed1bd 100644 --- a/crypto/memneq.c +++ b/crypto/memneq.c @@ -72,6 +72,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) while (size = sizeof(unsigned long)) { neq |= *(unsigned long *)a ^ *(unsigned long *)b; + OPTIMIZER_HIDE_VAR(neq); a += sizeof(unsigned long); b += sizeof(unsigned long); size -= sizeof(unsigned long); @@ -79,6 +80,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ while (size 0) { neq |= *(unsigned char *)a ^ *(unsigned char *)b; + OPTIMIZER_HIDE_VAR(neq); a += 1; b += 1; size -= 1; @@ -89,33 +91,61 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) /* Loop-free fast-path for frequently used 16-byte size */ static inline unsigned long __crypto_memneq_16(const void *a, const void *b) { + unsigned long neq = 0; + #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS - if (sizeof(unsigned long) == 8) - return ((*(unsigned long *)(a) ^ *(unsigned long *)(b)) - | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8))); - else if (sizeof(unsigned int) == 4) - return ((*(unsigned int *)(a)^ *(unsigned int *)(b)) - | (*(unsigned int *)(a+4) ^ *(unsigned int *)(b+4)) - | (*(unsigned int *)(a+8) ^ *(unsigned int *)(b+8)) - | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12))); - else + if (sizeof(unsigned long) == 8) { + neq |= *(unsigned long *)(a) ^ *(unsigned long *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + } else if (sizeof(unsigned int) == 4) { + neq |= *(unsigned int *)(a)^ *(unsigned int *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+4) ^ *(unsigned int *)(b+4); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+8) ^ *(unsigned int *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12); + OPTIMIZER_HIDE_VAR(neq); + } else #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ - return ((*(unsigned char *)(a)^ *(unsigned char *)(b)) - | (*(unsigned char *)(a+1) ^ *(unsigned char *)(b+1)) - | (*(unsigned char *)(a+2) ^ *(unsigned char *)(b+2)) - | (*(unsigned char *)(a+3) ^ *(unsigned char *)(b+3
Re: [PATCH v3] crypto: more robust crypto_memneq
Em 26-11-2013 17:27, Daniel Borkmann escreveu: On 11/26/2013 01:00 AM, Cesar Eduardo Barros wrote: Compile-tested on x86_64. Actually with yet another version, I hoped that the "compile-tested"-only statement would eventually disappear, ohh well. ;) I did compile test each version ;-) including verifying (with "make crypto/memneq.i") that the macro was really generating the expected inline assembly (with these #ifdef chains, one has to be careful with typos). (Actually, I compile tested with "make crypto/memneq.o crypto/memneq.s crypto/memneq.i". I took a peek at the assembly to see if it made sense.) Resolving the OPTIMIZER_HIDE_VAR() macro for others than GCC jnto a barrier() seems a bit suboptimal, but assuming 99% of people will use GCC anyway, then for the minority of the remaining, they will worst case have a clever compiler and eventually mimic memcmp() in some situations, or have a not-so-clever compiler and execute the full code as is. I do not think any compiler other than gcc and icc can compile unmodified upstream kernel code. LLVM's clang would be the one which comes closest, but it has gcc-compatible inline assembly, as does icc AFAIK. The #define to barrier() within compiler-intel.h is for some compiler called ECC (not icc). From what I could find about it on a quick search, it appears to be some kind of Itanium compiler. That part of the header was added back in 2003, and I do not believe it is still relevant. A comment within that #ifdef block says "Intel ECC compiler doesn't support gcc specific asm stmts", but there are many uses of unprotected inline assembly all over the kernel (including on the ia64 headers), so if that comment is true, the kernel will not compile with that compiler. It is probably a piece of leftover dead code. I only added to it because I am following RELOC_HIDE's example, and RELOC_HIDE is there. Anyway, I think still better than the rather ugly Makefile workaround imho, so I'm generally fine with this. -- Cesar Eduardo Barros ces...@cesarb.eti.br -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v3] crypto: more robust crypto_memneq
Em 26-11-2013 17:27, Daniel Borkmann escreveu: On 11/26/2013 01:00 AM, Cesar Eduardo Barros wrote: Compile-tested on x86_64. Actually with yet another version, I hoped that the compile-tested-only statement would eventually disappear, ohh well. ;) I did compile test each version ;-) including verifying (with make crypto/memneq.i) that the macro was really generating the expected inline assembly (with these #ifdef chains, one has to be careful with typos). (Actually, I compile tested with make crypto/memneq.o crypto/memneq.s crypto/memneq.i. I took a peek at the assembly to see if it made sense.) Resolving the OPTIMIZER_HIDE_VAR() macro for others than GCC jnto a barrier() seems a bit suboptimal, but assuming 99% of people will use GCC anyway, then for the minority of the remaining, they will worst case have a clever compiler and eventually mimic memcmp() in some situations, or have a not-so-clever compiler and execute the full code as is. I do not think any compiler other than gcc and icc can compile unmodified upstream kernel code. LLVM's clang would be the one which comes closest, but it has gcc-compatible inline assembly, as does icc AFAIK. The #define to barrier() within compiler-intel.h is for some compiler called ECC (not icc). From what I could find about it on a quick search, it appears to be some kind of Itanium compiler. That part of the header was added back in 2003, and I do not believe it is still relevant. A comment within that #ifdef block says Intel ECC compiler doesn't support gcc specific asm stmts, but there are many uses of unprotected inline assembly all over the kernel (including on the ia64 headers), so if that comment is true, the kernel will not compile with that compiler. It is probably a piece of leftover dead code. I only added to it because I am following RELOC_HIDE's example, and RELOC_HIDE is there. Anyway, I think still better than the rather ugly Makefile workaround imho, so I'm generally fine with this. -- Cesar Eduardo Barros ces...@cesarb.eti.br -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH v3] crypto: more robust crypto_memneq
Disabling compiler optimizations can be fragile, since a new optimization could be added to -O0 or -Os that breaks the assumptions the code is making. Instead of disabling compiler optimizations, use a dummy inline assembly (based on RELOC_HIDE) to block the problematic kinds of optimization, while still allowing other optimizations to be applied to the code. The dummy inline assembly is added after every OR, and has the accumulator variable as its input and output. The compiler is forced to assume that the dummy inline assembly could both depend on the accumulator variable and change the accumulator variable, so it is forced to compute the value correctly before the inline assembly, and cannot assume anything about its value after the inline assembly. This change should be enough to make crypto_memneq work correctly (with data-independent timing) even if it is inlined at its call sites. That can be done later in a followup patch. Compile-tested on x86_64. Signed-off-by: Cesar Eduardo Barros --- v2: Moved the macro to include/linux/compiler*.h as suggested by Daniel Borkmann. v3: Thinking better about it, barrier() is a saner default for the "unknown compiler" case. crypto/Makefile| 5 --- crypto/memneq.c| 79 +- include/linux/compiler-gcc.h | 3 ++ include/linux/compiler-intel.h | 7 include/linux/compiler.h | 4 +++ 5 files changed, 68 insertions(+), 30 deletions(-) diff --git a/crypto/Makefile b/crypto/Makefile index 989c510..b29402a 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -2,11 +2,6 @@ # Cryptographic API # -# memneq MUST be built with -Os or -O0 to prevent early-return optimizations -# that will defeat memneq's actual purpose to prevent timing attacks. -CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3 -CFLAGS_memneq.o := -Os - obj-$(CONFIG_CRYPTO) += crypto.o crypto-y := api.o cipher.o compress.o memneq.o diff --git a/crypto/memneq.c b/crypto/memneq.c index cd01622..570f6f3 100644 --- a/crypto/memneq.c +++ b/crypto/memneq.c @@ -72,6 +72,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) while (size >= sizeof(unsigned long)) { neq |= *(unsigned long *)a ^ *(unsigned long *)b; + OPTIMIZER_HIDE_VAR(neq); a += sizeof(unsigned long); b += sizeof(unsigned long); size -= sizeof(unsigned long); @@ -79,6 +80,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ while (size > 0) { neq |= *(unsigned char *)a ^ *(unsigned char *)b; + OPTIMIZER_HIDE_VAR(neq); a += 1; b += 1; size -= 1; @@ -89,33 +91,60 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) /* Loop-free fast-path for frequently used 16-byte size */ static inline unsigned long __crypto_memneq_16(const void *a, const void *b) { + unsigned long neq = 0; + #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS - if (sizeof(unsigned long) == 8) - return ((*(unsigned long *)(a) ^ *(unsigned long *)(b)) - | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8))); - else if (sizeof(unsigned int) == 4) - return ((*(unsigned int *)(a)^ *(unsigned int *)(b)) - | (*(unsigned int *)(a+4) ^ *(unsigned int *)(b+4)) - | (*(unsigned int *)(a+8) ^ *(unsigned int *)(b+8)) - | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12))); - else + if (sizeof(unsigned long) == 8) { + neq |= *(unsigned long *)(a) ^ *(unsigned long *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + } else if (sizeof(unsigned int) == 4) { + neq |= *(unsigned int *)(a)^ *(unsigned int *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+4) ^ *(unsigned int *)(b+4); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+8) ^ *(unsigned int *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12); + OPTIMIZER_HIDE_VAR(neq); + } else { #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ - return ((*(unsigned char *)(a)^ *(unsigned char *)(b)) - | (*(unsigned char *)(a+1) ^ *(unsigned char *)(b+1)) - | (*(unsigned char *)(a+2) ^ *(unsigned char *)(b+2)) - | (*(unsigned char *)(a+3) ^ *(unsigned char *)(b+3)) - | (*(unsigned char *)(a+4) ^ *(unsigned char *)(b+4)) - | (*(unsigned char *)(a+
[PATCH v2] crypto: more robust crypto_memneq
Disabling compiler optimizations can be fragile, since a new optimization could be added to -O0 or -Os that breaks the assumptions the code is making. Instead of disabling compiler optimizations, use a dummy inline assembly (based on RELOC_HIDE) to block the problematic kinds of optimization, while still allowing other optimizations to be applied to the code. The dummy inline assembly is added after every OR, and has the accumulator variable as its input and output. The compiler is forced to assume that the dummy inline assembly could both depend on the accumulator variable and change the accumulator variable, so it is forced to compute the value correctly before the inline assembly, and cannot assume anything about its value after the inline assembly. This change should be enough to make crypto_memneq work correctly (with data-independent timing) even if it is inlined at its call sites. That can be done later in a followup patch. Compile-tested on x86_64. Signed-off-by: Cesar Eduardo Barros --- v2: Moved the macro to include/linux/compiler*.h as suggested by Daniel Borkmann. crypto/Makefile| 5 --- crypto/memneq.c| 79 +- include/linux/compiler-gcc.h | 3 ++ include/linux/compiler-intel.h | 7 include/linux/compiler.h | 4 +++ 5 files changed, 68 insertions(+), 30 deletions(-) diff --git a/crypto/Makefile b/crypto/Makefile index 989c510..b29402a 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -2,11 +2,6 @@ # Cryptographic API # -# memneq MUST be built with -Os or -O0 to prevent early-return optimizations -# that will defeat memneq's actual purpose to prevent timing attacks. -CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3 -CFLAGS_memneq.o := -Os - obj-$(CONFIG_CRYPTO) += crypto.o crypto-y := api.o cipher.o compress.o memneq.o diff --git a/crypto/memneq.c b/crypto/memneq.c index cd01622..570f6f3 100644 --- a/crypto/memneq.c +++ b/crypto/memneq.c @@ -72,6 +72,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) while (size >= sizeof(unsigned long)) { neq |= *(unsigned long *)a ^ *(unsigned long *)b; + OPTIMIZER_HIDE_VAR(neq); a += sizeof(unsigned long); b += sizeof(unsigned long); size -= sizeof(unsigned long); @@ -79,6 +80,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ while (size > 0) { neq |= *(unsigned char *)a ^ *(unsigned char *)b; + OPTIMIZER_HIDE_VAR(neq); a += 1; b += 1; size -= 1; @@ -89,33 +91,60 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) /* Loop-free fast-path for frequently used 16-byte size */ static inline unsigned long __crypto_memneq_16(const void *a, const void *b) { + unsigned long neq = 0; + #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS - if (sizeof(unsigned long) == 8) - return ((*(unsigned long *)(a) ^ *(unsigned long *)(b)) - | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8))); - else if (sizeof(unsigned int) == 4) - return ((*(unsigned int *)(a)^ *(unsigned int *)(b)) - | (*(unsigned int *)(a+4) ^ *(unsigned int *)(b+4)) - | (*(unsigned int *)(a+8) ^ *(unsigned int *)(b+8)) - | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12))); - else + if (sizeof(unsigned long) == 8) { + neq |= *(unsigned long *)(a) ^ *(unsigned long *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + } else if (sizeof(unsigned int) == 4) { + neq |= *(unsigned int *)(a)^ *(unsigned int *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+4) ^ *(unsigned int *)(b+4); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+8) ^ *(unsigned int *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12); + OPTIMIZER_HIDE_VAR(neq); + } else { #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ - return ((*(unsigned char *)(a)^ *(unsigned char *)(b)) - | (*(unsigned char *)(a+1) ^ *(unsigned char *)(b+1)) - | (*(unsigned char *)(a+2) ^ *(unsigned char *)(b+2)) - | (*(unsigned char *)(a+3) ^ *(unsigned char *)(b+3)) - | (*(unsigned char *)(a+4) ^ *(unsigned char *)(b+4)) - | (*(unsigned char *)(a+5) ^ *(unsigned char *)(b+5)) - | (*(unsigned char *)(a+6) ^ *(unsigned char
Re: [PATCH] crypto: more robust crypto_memneq
Em 25-11-2013 14:26, Daniel Borkmann escreveu: On 11/25/2013 04:59 PM, James Yonan wrote: This approach using __asm__ ("" : "=r" (var) : "0" (var)) to try to prevent compiler optimizations of var is interesting. I like the fact that it's finer-grained than -Os and doesn't preclude inlining. Agreed. This looks much better than the Makefile workaround. Do we have a hard guarantee that in future, this will not be detected and optimized away by the compiler? That guarantee is something only the compiler people can give you. But given that RELOC_HIDE will break if that ever changes, and there are other constructs depending on the optimization-blocking behavior of inline assembly (like the many kinds of barriers in the kernel), I am not worried about that. -- Cesar Eduardo Barros ces...@cesarb.eti.br -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] crypto: more robust crypto_memneq
Em 25-11-2013 13:59, James Yonan escreveu: On 24/11/2013 14:12, Cesar Eduardo Barros wrote: Disabling compiler optimizations can be fragile, since a new optimization could be added to -O0 or -Os that breaks the assumptions the code is making. Instead of disabling compiler optimizations, use a dummy inline assembly (based on RELOC_HIDE) to block the problematic kinds of optimization, while still allowing other optimizations to be applied to the code. The dummy inline assembly is added after every OR, and has the accumulator variable as its input and output. The compiler is forced to assume that the dummy inline assembly could both depend on the accumulator variable and change the accumulator variable, so it is forced to compute the value correctly before the inline assembly, and cannot assume anything about its value after the inline assembly. This change should be enough to make crypto_memneq work correctly (with data-independent timing) even if it is inlined at its call sites. That can be done later in a followup patch. Compile-tested on x86_64. Signed-off-by: Cesar Eduardo Barros This approach using __asm__ ("" : "=r" (var) : "0" (var)) to try to prevent compiler optimizations of var is interesting. It is not novel; I copied it from RELOC_HIDE. I like the fact that it's finer-grained than -Os and doesn't preclude inlining. One concern would be that __asm__ could be optimized out unless __volatile__ is present. It cannot be optimized out, because the __asm__'s output is used. Of course, if the __asm__ output is never used, it could be optimized out, but that is the desired result in this case (it means the result of crypto_memneq is being ignored, so the whole function should be elided). AFAIK, __volatile__ also has the side effect that it forces ordering with everything (this fact is used in the definition of the barrier() macro). This level of barrier is not needed for crypto_memneq; ordering on "neq" is more than enough. -- Cesar Eduardo Barros ces...@cesarb.eti.br -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] crypto: more robust crypto_memneq
Em 25-11-2013 13:59, James Yonan escreveu: On 24/11/2013 14:12, Cesar Eduardo Barros wrote: Disabling compiler optimizations can be fragile, since a new optimization could be added to -O0 or -Os that breaks the assumptions the code is making. Instead of disabling compiler optimizations, use a dummy inline assembly (based on RELOC_HIDE) to block the problematic kinds of optimization, while still allowing other optimizations to be applied to the code. The dummy inline assembly is added after every OR, and has the accumulator variable as its input and output. The compiler is forced to assume that the dummy inline assembly could both depend on the accumulator variable and change the accumulator variable, so it is forced to compute the value correctly before the inline assembly, and cannot assume anything about its value after the inline assembly. This change should be enough to make crypto_memneq work correctly (with data-independent timing) even if it is inlined at its call sites. That can be done later in a followup patch. Compile-tested on x86_64. Signed-off-by: Cesar Eduardo Barros ces...@cesarb.eti.br This approach using __asm__ ( : =r (var) : 0 (var)) to try to prevent compiler optimizations of var is interesting. It is not novel; I copied it from RELOC_HIDE. I like the fact that it's finer-grained than -Os and doesn't preclude inlining. One concern would be that __asm__ could be optimized out unless __volatile__ is present. It cannot be optimized out, because the __asm__'s output is used. Of course, if the __asm__ output is never used, it could be optimized out, but that is the desired result in this case (it means the result of crypto_memneq is being ignored, so the whole function should be elided). AFAIK, __volatile__ also has the side effect that it forces ordering with everything (this fact is used in the definition of the barrier() macro). This level of barrier is not needed for crypto_memneq; ordering on neq is more than enough. -- Cesar Eduardo Barros ces...@cesarb.eti.br -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] crypto: more robust crypto_memneq
Em 25-11-2013 14:26, Daniel Borkmann escreveu: On 11/25/2013 04:59 PM, James Yonan wrote: This approach using __asm__ ( : =r (var) : 0 (var)) to try to prevent compiler optimizations of var is interesting. I like the fact that it's finer-grained than -Os and doesn't preclude inlining. Agreed. This looks much better than the Makefile workaround. Do we have a hard guarantee that in future, this will not be detected and optimized away by the compiler? That guarantee is something only the compiler people can give you. But given that RELOC_HIDE will break if that ever changes, and there are other constructs depending on the optimization-blocking behavior of inline assembly (like the many kinds of barriers in the kernel), I am not worried about that. -- Cesar Eduardo Barros ces...@cesarb.eti.br -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH v2] crypto: more robust crypto_memneq
Disabling compiler optimizations can be fragile, since a new optimization could be added to -O0 or -Os that breaks the assumptions the code is making. Instead of disabling compiler optimizations, use a dummy inline assembly (based on RELOC_HIDE) to block the problematic kinds of optimization, while still allowing other optimizations to be applied to the code. The dummy inline assembly is added after every OR, and has the accumulator variable as its input and output. The compiler is forced to assume that the dummy inline assembly could both depend on the accumulator variable and change the accumulator variable, so it is forced to compute the value correctly before the inline assembly, and cannot assume anything about its value after the inline assembly. This change should be enough to make crypto_memneq work correctly (with data-independent timing) even if it is inlined at its call sites. That can be done later in a followup patch. Compile-tested on x86_64. Signed-off-by: Cesar Eduardo Barros ces...@cesarb.eti.br --- v2: Moved the macro to include/linux/compiler*.h as suggested by Daniel Borkmann. crypto/Makefile| 5 --- crypto/memneq.c| 79 +- include/linux/compiler-gcc.h | 3 ++ include/linux/compiler-intel.h | 7 include/linux/compiler.h | 4 +++ 5 files changed, 68 insertions(+), 30 deletions(-) diff --git a/crypto/Makefile b/crypto/Makefile index 989c510..b29402a 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -2,11 +2,6 @@ # Cryptographic API # -# memneq MUST be built with -Os or -O0 to prevent early-return optimizations -# that will defeat memneq's actual purpose to prevent timing attacks. -CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3 -CFLAGS_memneq.o := -Os - obj-$(CONFIG_CRYPTO) += crypto.o crypto-y := api.o cipher.o compress.o memneq.o diff --git a/crypto/memneq.c b/crypto/memneq.c index cd01622..570f6f3 100644 --- a/crypto/memneq.c +++ b/crypto/memneq.c @@ -72,6 +72,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) while (size = sizeof(unsigned long)) { neq |= *(unsigned long *)a ^ *(unsigned long *)b; + OPTIMIZER_HIDE_VAR(neq); a += sizeof(unsigned long); b += sizeof(unsigned long); size -= sizeof(unsigned long); @@ -79,6 +80,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ while (size 0) { neq |= *(unsigned char *)a ^ *(unsigned char *)b; + OPTIMIZER_HIDE_VAR(neq); a += 1; b += 1; size -= 1; @@ -89,33 +91,60 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) /* Loop-free fast-path for frequently used 16-byte size */ static inline unsigned long __crypto_memneq_16(const void *a, const void *b) { + unsigned long neq = 0; + #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS - if (sizeof(unsigned long) == 8) - return ((*(unsigned long *)(a) ^ *(unsigned long *)(b)) - | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8))); - else if (sizeof(unsigned int) == 4) - return ((*(unsigned int *)(a)^ *(unsigned int *)(b)) - | (*(unsigned int *)(a+4) ^ *(unsigned int *)(b+4)) - | (*(unsigned int *)(a+8) ^ *(unsigned int *)(b+8)) - | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12))); - else + if (sizeof(unsigned long) == 8) { + neq |= *(unsigned long *)(a) ^ *(unsigned long *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + } else if (sizeof(unsigned int) == 4) { + neq |= *(unsigned int *)(a)^ *(unsigned int *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+4) ^ *(unsigned int *)(b+4); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+8) ^ *(unsigned int *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12); + OPTIMIZER_HIDE_VAR(neq); + } else { #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ - return ((*(unsigned char *)(a)^ *(unsigned char *)(b)) - | (*(unsigned char *)(a+1) ^ *(unsigned char *)(b+1)) - | (*(unsigned char *)(a+2) ^ *(unsigned char *)(b+2)) - | (*(unsigned char *)(a+3) ^ *(unsigned char *)(b+3)) - | (*(unsigned char *)(a+4) ^ *(unsigned char *)(b+4)) - | (*(unsigned char *)(a+5) ^ *(unsigned char *)(b+5)) - | (*(unsigned char *)(a+6
[PATCH v3] crypto: more robust crypto_memneq
Disabling compiler optimizations can be fragile, since a new optimization could be added to -O0 or -Os that breaks the assumptions the code is making. Instead of disabling compiler optimizations, use a dummy inline assembly (based on RELOC_HIDE) to block the problematic kinds of optimization, while still allowing other optimizations to be applied to the code. The dummy inline assembly is added after every OR, and has the accumulator variable as its input and output. The compiler is forced to assume that the dummy inline assembly could both depend on the accumulator variable and change the accumulator variable, so it is forced to compute the value correctly before the inline assembly, and cannot assume anything about its value after the inline assembly. This change should be enough to make crypto_memneq work correctly (with data-independent timing) even if it is inlined at its call sites. That can be done later in a followup patch. Compile-tested on x86_64. Signed-off-by: Cesar Eduardo Barros ces...@cesarb.eti.br --- v2: Moved the macro to include/linux/compiler*.h as suggested by Daniel Borkmann. v3: Thinking better about it, barrier() is a saner default for the unknown compiler case. crypto/Makefile| 5 --- crypto/memneq.c| 79 +- include/linux/compiler-gcc.h | 3 ++ include/linux/compiler-intel.h | 7 include/linux/compiler.h | 4 +++ 5 files changed, 68 insertions(+), 30 deletions(-) diff --git a/crypto/Makefile b/crypto/Makefile index 989c510..b29402a 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -2,11 +2,6 @@ # Cryptographic API # -# memneq MUST be built with -Os or -O0 to prevent early-return optimizations -# that will defeat memneq's actual purpose to prevent timing attacks. -CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3 -CFLAGS_memneq.o := -Os - obj-$(CONFIG_CRYPTO) += crypto.o crypto-y := api.o cipher.o compress.o memneq.o diff --git a/crypto/memneq.c b/crypto/memneq.c index cd01622..570f6f3 100644 --- a/crypto/memneq.c +++ b/crypto/memneq.c @@ -72,6 +72,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) while (size = sizeof(unsigned long)) { neq |= *(unsigned long *)a ^ *(unsigned long *)b; + OPTIMIZER_HIDE_VAR(neq); a += sizeof(unsigned long); b += sizeof(unsigned long); size -= sizeof(unsigned long); @@ -79,6 +80,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ while (size 0) { neq |= *(unsigned char *)a ^ *(unsigned char *)b; + OPTIMIZER_HIDE_VAR(neq); a += 1; b += 1; size -= 1; @@ -89,33 +91,60 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) /* Loop-free fast-path for frequently used 16-byte size */ static inline unsigned long __crypto_memneq_16(const void *a, const void *b) { + unsigned long neq = 0; + #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS - if (sizeof(unsigned long) == 8) - return ((*(unsigned long *)(a) ^ *(unsigned long *)(b)) - | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8))); - else if (sizeof(unsigned int) == 4) - return ((*(unsigned int *)(a)^ *(unsigned int *)(b)) - | (*(unsigned int *)(a+4) ^ *(unsigned int *)(b+4)) - | (*(unsigned int *)(a+8) ^ *(unsigned int *)(b+8)) - | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12))); - else + if (sizeof(unsigned long) == 8) { + neq |= *(unsigned long *)(a) ^ *(unsigned long *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + } else if (sizeof(unsigned int) == 4) { + neq |= *(unsigned int *)(a)^ *(unsigned int *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+4) ^ *(unsigned int *)(b+4); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+8) ^ *(unsigned int *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12); + OPTIMIZER_HIDE_VAR(neq); + } else { #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ - return ((*(unsigned char *)(a)^ *(unsigned char *)(b)) - | (*(unsigned char *)(a+1) ^ *(unsigned char *)(b+1)) - | (*(unsigned char *)(a+2) ^ *(unsigned char *)(b+2)) - | (*(unsigned char *)(a+3) ^ *(unsigned char *)(b+3)) - | (*(unsigned char *)(a+4) ^ *(unsigned char *)(b+4)) - | (*(unsigned char
[PATCH] crypto: more robust crypto_memneq
Disabling compiler optimizations can be fragile, since a new optimization could be added to -O0 or -Os that breaks the assumptions the code is making. Instead of disabling compiler optimizations, use a dummy inline assembly (based on RELOC_HIDE) to block the problematic kinds of optimization, while still allowing other optimizations to be applied to the code. The dummy inline assembly is added after every OR, and has the accumulator variable as its input and output. The compiler is forced to assume that the dummy inline assembly could both depend on the accumulator variable and change the accumulator variable, so it is forced to compute the value correctly before the inline assembly, and cannot assume anything about its value after the inline assembly. This change should be enough to make crypto_memneq work correctly (with data-independent timing) even if it is inlined at its call sites. That can be done later in a followup patch. Compile-tested on x86_64. Signed-off-by: Cesar Eduardo Barros --- crypto/Makefile | 5 crypto/memneq.c | 82 +++-- 2 files changed, 57 insertions(+), 30 deletions(-) diff --git a/crypto/Makefile b/crypto/Makefile index 989c510..b29402a 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -2,11 +2,6 @@ # Cryptographic API # -# memneq MUST be built with -Os or -O0 to prevent early-return optimizations -# that will defeat memneq's actual purpose to prevent timing attacks. -CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3 -CFLAGS_memneq.o := -Os - obj-$(CONFIG_CRYPTO) += crypto.o crypto-y := api.o cipher.o compress.o memneq.o diff --git a/crypto/memneq.c b/crypto/memneq.c index cd01622..fce066c 100644 --- a/crypto/memneq.c +++ b/crypto/memneq.c @@ -63,6 +63,9 @@ #ifndef __HAVE_ARCH_CRYPTO_MEMNEQ +/* Make the optimizer believe the variable can be manipulated arbitrarily. */ +#define OPTIMIZER_HIDE_VAR(var) __asm__ ("" : "=r" (var) : "0" (var)) + /* Generic path for arbitrary size */ static inline unsigned long __crypto_memneq_generic(const void *a, const void *b, size_t size) @@ -72,6 +75,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) while (size >= sizeof(unsigned long)) { neq |= *(unsigned long *)a ^ *(unsigned long *)b; + OPTIMIZER_HIDE_VAR(neq); a += sizeof(unsigned long); b += sizeof(unsigned long); size -= sizeof(unsigned long); @@ -79,6 +83,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ while (size > 0) { neq |= *(unsigned char *)a ^ *(unsigned char *)b; + OPTIMIZER_HIDE_VAR(neq); a += 1; b += 1; size -= 1; @@ -89,33 +94,60 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) /* Loop-free fast-path for frequently used 16-byte size */ static inline unsigned long __crypto_memneq_16(const void *a, const void *b) { + unsigned long neq = 0; + #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS - if (sizeof(unsigned long) == 8) - return ((*(unsigned long *)(a) ^ *(unsigned long *)(b)) - | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8))); - else if (sizeof(unsigned int) == 4) - return ((*(unsigned int *)(a)^ *(unsigned int *)(b)) - | (*(unsigned int *)(a+4) ^ *(unsigned int *)(b+4)) - | (*(unsigned int *)(a+8) ^ *(unsigned int *)(b+8)) - | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12))); - else + if (sizeof(unsigned long) == 8) { + neq |= *(unsigned long *)(a) ^ *(unsigned long *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + } else if (sizeof(unsigned int) == 4) { + neq |= *(unsigned int *)(a)^ *(unsigned int *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+4) ^ *(unsigned int *)(b+4); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+8) ^ *(unsigned int *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12); + OPTIMIZER_HIDE_VAR(neq); + } else { #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ - return ((*(unsigned char *)(a)^ *(unsigned char *)(b)) - | (*(unsigned char *)(a+1) ^ *(unsigned char *)(b+1)) - | (*(unsigned char *)(a+2) ^ *(unsigned char *)(b+2)) - | (*(unsigned char *)(a+3) ^ *(unsigned char *)(b+3)) - | (*(unsigned ch
[PATCH] crypto: more robust crypto_memneq
Disabling compiler optimizations can be fragile, since a new optimization could be added to -O0 or -Os that breaks the assumptions the code is making. Instead of disabling compiler optimizations, use a dummy inline assembly (based on RELOC_HIDE) to block the problematic kinds of optimization, while still allowing other optimizations to be applied to the code. The dummy inline assembly is added after every OR, and has the accumulator variable as its input and output. The compiler is forced to assume that the dummy inline assembly could both depend on the accumulator variable and change the accumulator variable, so it is forced to compute the value correctly before the inline assembly, and cannot assume anything about its value after the inline assembly. This change should be enough to make crypto_memneq work correctly (with data-independent timing) even if it is inlined at its call sites. That can be done later in a followup patch. Compile-tested on x86_64. Signed-off-by: Cesar Eduardo Barros ces...@cesarb.eti.br --- crypto/Makefile | 5 crypto/memneq.c | 82 +++-- 2 files changed, 57 insertions(+), 30 deletions(-) diff --git a/crypto/Makefile b/crypto/Makefile index 989c510..b29402a 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -2,11 +2,6 @@ # Cryptographic API # -# memneq MUST be built with -Os or -O0 to prevent early-return optimizations -# that will defeat memneq's actual purpose to prevent timing attacks. -CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3 -CFLAGS_memneq.o := -Os - obj-$(CONFIG_CRYPTO) += crypto.o crypto-y := api.o cipher.o compress.o memneq.o diff --git a/crypto/memneq.c b/crypto/memneq.c index cd01622..fce066c 100644 --- a/crypto/memneq.c +++ b/crypto/memneq.c @@ -63,6 +63,9 @@ #ifndef __HAVE_ARCH_CRYPTO_MEMNEQ +/* Make the optimizer believe the variable can be manipulated arbitrarily. */ +#define OPTIMIZER_HIDE_VAR(var) __asm__ ( : =r (var) : 0 (var)) + /* Generic path for arbitrary size */ static inline unsigned long __crypto_memneq_generic(const void *a, const void *b, size_t size) @@ -72,6 +75,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) while (size = sizeof(unsigned long)) { neq |= *(unsigned long *)a ^ *(unsigned long *)b; + OPTIMIZER_HIDE_VAR(neq); a += sizeof(unsigned long); b += sizeof(unsigned long); size -= sizeof(unsigned long); @@ -79,6 +83,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ while (size 0) { neq |= *(unsigned char *)a ^ *(unsigned char *)b; + OPTIMIZER_HIDE_VAR(neq); a += 1; b += 1; size -= 1; @@ -89,33 +94,60 @@ __crypto_memneq_generic(const void *a, const void *b, size_t size) /* Loop-free fast-path for frequently used 16-byte size */ static inline unsigned long __crypto_memneq_16(const void *a, const void *b) { + unsigned long neq = 0; + #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS - if (sizeof(unsigned long) == 8) - return ((*(unsigned long *)(a) ^ *(unsigned long *)(b)) - | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8))); - else if (sizeof(unsigned int) == 4) - return ((*(unsigned int *)(a)^ *(unsigned int *)(b)) - | (*(unsigned int *)(a+4) ^ *(unsigned int *)(b+4)) - | (*(unsigned int *)(a+8) ^ *(unsigned int *)(b+8)) - | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12))); - else + if (sizeof(unsigned long) == 8) { + neq |= *(unsigned long *)(a) ^ *(unsigned long *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + } else if (sizeof(unsigned int) == 4) { + neq |= *(unsigned int *)(a)^ *(unsigned int *)(b); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+4) ^ *(unsigned int *)(b+4); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+8) ^ *(unsigned int *)(b+8); + OPTIMIZER_HIDE_VAR(neq); + neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12); + OPTIMIZER_HIDE_VAR(neq); + } else { #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */ - return ((*(unsigned char *)(a)^ *(unsigned char *)(b)) - | (*(unsigned char *)(a+1) ^ *(unsigned char *)(b+1)) - | (*(unsigned char *)(a+2) ^ *(unsigned char *)(b+2)) - | (*(unsigned char *)(a+3) ^ *(unsigned char *)(b+3)) - | (*(unsigned char *)(a+4) ^ *(unsigned char *)(b+4
Re: [PATCH 03/18] MAINTAINERS: OMAP POWERDOMAIN, update patterns
Em 22-07-2013 02:32, Paul Walmsley escreveu: On Sun, 21 Jul 2013, Joe Perches wrote: I certainly don't object at all if Andrew picks up the patches you mentioned and drops these 2. Andrew, here are links to Cesar's original patches https://patchwork.kernel.org/project/LKML/list/?submitter=3513 https://lkml.org/lkml/2013/3/2/185 It seems a few are similar/duplicated to these 18. Cesar, maybe you should resend yours. I thought they were applied and forgot all about them. Another possibility, assuming that there are some fixes from your series that Cesar didn't have, would be for you to take his patches into the series that you're sending to Andrew, assuming that you agree with them. Then we'd benefit from the superset of fixes. I don't care whose patches are applied or who gets the credit. They are just trivial changes to a text file. What matters is that the patterns are correct enough that get_maintainer.pl does the right thing. -- Cesar Eduardo Barros ces...@cesarb.eti.br -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 03/18] MAINTAINERS: OMAP POWERDOMAIN, update patterns
Em 22-07-2013 02:32, Paul Walmsley escreveu: On Sun, 21 Jul 2013, Joe Perches wrote: I certainly don't object at all if Andrew picks up the patches you mentioned and drops these 2. Andrew, here are links to Cesar's original patches https://patchwork.kernel.org/project/LKML/list/?submitter=3513 https://lkml.org/lkml/2013/3/2/185 It seems a few are similar/duplicated to these 18. Cesar, maybe you should resend yours. I thought they were applied and forgot all about them. Another possibility, assuming that there are some fixes from your series that Cesar didn't have, would be for you to take his patches into the series that you're sending to Andrew, assuming that you agree with them. Then we'd benefit from the superset of fixes. I don't care whose patches are applied or who gets the credit. They are just trivial changes to a text file. What matters is that the patterns are correct enough that get_maintainer.pl does the right thing. -- Cesar Eduardo Barros ces...@cesarb.eti.br -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 06/14] MAINTAINERS: fix drivers/edac/ghes-edac.c
Cc: Mauro Carvalho Chehab Cc: linux-e...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index e909cd3..2e1443c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2899,7 +2899,7 @@ M:Mauro Carvalho Chehab L: linux-e...@vger.kernel.org W: bluesmoke.sourceforge.net S: Maintained -F: drivers/edac/ghes-edac.c +F: drivers/edac/ghes_edac.c EDAC-I82443BXGX M: Tim Small -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 07/14] MAINTAINERS: remove eexpress
This driver was removed by commit f84932d (drivers/net: delete ISA intel eexpress and eepro i825xx drivers). Cc: Paul Gortmaker Cc: Philip Blundell Cc: net...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 6 -- 1 file changed, 6 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 2e1443c..92718d8 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3057,12 +3057,6 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git F: drivers/video/s1d13xxxfb.c F: include/video/s1d13xxxfb.h -ETHEREXPRESS-16 NETWORK DRIVER -M: Philip Blundell -L: net...@vger.kernel.org -S: Maintained -F: drivers/net/ethernet/i825xx/eexpress.* - ETHERNET BRIDGE M: Stephen Hemminger L: bri...@lists.linux-foundation.org -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 05/14] MAINTAINERS: remove drivers/net/wan/cycx*
This driver was removed by commit 6fcdf4f (wanrouter: delete now orphaned header content, files/drivers). Cc: Paul Gortmaker Cc: Arnaldo Carvalho de Melo Cc: net...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 6 -- 1 file changed, 6 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 261b245..e909cd3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2357,12 +2357,6 @@ W: http://www.arm.linux.org.uk/ S: Maintained F: drivers/video/cyber2000fb.* -CYCLADES 2X SYNC CARD DRIVER -M: Arnaldo Carvalho de Melo -W: http://oops.ghostprotocols.net:81/blog -S: Maintained -F: drivers/net/wan/cycx* - CYCLADES ASYNC MUX DRIVER W: http://www.cyclades.com/ S: Orphan -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 04/14] MAINTAINERS: fix drivers/media/i2c/cx2341x.c
This file was moved to drivers/media/common/ by commit 6259582 ([media] cx2341x: move from media/i2c to media/common). Cc: Hans Verkuil Cc: linux-me...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 5af82f9..261b245 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2286,7 +2286,7 @@ L:linux-me...@vger.kernel.org T: git git://linuxtv.org/media_tree.git W: http://linuxtv.org S: Maintained -F: drivers/media/i2c/cx2341x* +F: drivers/media/common/cx2341x* F: include/media/cx2341x* CX88 VIDEO4LINUX DRIVER -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 08/14] MAINTAINERS: fix mach-omap2 clockdomain/powerdomain
The code in these files was moved to cm*.[ch] and prm*.[ch] in the same directory by commits 4981539 (ARM: OMAP2+: powerdomain/PRM: move the low-level powerdomain functions into PRM) and 4bd5259 (ARM: OMAP2/3: clockdomain/PRM/CM: move the low-level clockdomain functions into PRM/CM). I am not sure if this fix is correct, since there are other things in these files. Please NAK this patch (and propose a better one) if it is wrong. Cc: Paul Walmsley Cc: Rajendra Nayak Cc: Russ Dill Cc: Santosh Shilimkar Cc: linux-o...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 92718d8..46c1288 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5651,10 +5651,8 @@ M: Rajendra Nayak M: Paul Walmsley L: linux-o...@vger.kernel.org S: Maintained -F: arch/arm/mach-omap2/powerdomain2xxx_3xxx.c -F: arch/arm/mach-omap2/powerdomain44xx.c -F: arch/arm/mach-omap2/clockdomain2xxx_3xxx.c -F: arch/arm/mach-omap2/clockdomain44xx.c +F: arch/arm/mach-omap2/cm*.[ch] +F: arch/arm/mach-omap2/prm*.[ch] OMAP AUDIO SUPPORT M: Peter Ujfalusi -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 09/14] MAINTAINERS: fix Documentation/video4linux/saa7134/
That directory never existed. The intention was probably to match CARDLIST.saa7134 and README.saa7134. Cc: Mauro Carvalho Chehab Cc: linux-me...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 46c1288..44b9f69 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -6741,7 +6741,7 @@ L:linux-me...@vger.kernel.org W: http://linuxtv.org T: git git://linuxtv.org/media_tree.git S: Odd fixes -F: Documentation/video4linux/saa7134/ +F: Documentation/video4linux/*.saa7134 F: drivers/media/pci/saa7134/ SAA7146 VIDEO4LINUX-2 DRIVER -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 10/14] MAINTAINERS: remove include/media/sh_veu.h
Apparently a copy-paste mistake; the similar sh_vou.h exists, and both were added to MAINTAINERS by commit b618b69 ([media] MAINTAINERS: add entries for sh_veu and sh_vou V4L2 drivers). Cc: Guennadi Liakhovetski Cc: Mauro Carvalho Chehab Cc: linux-me...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 44b9f69..5cb888a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7088,7 +7088,6 @@ M:Guennadi Liakhovetski L: linux-me...@vger.kernel.org S: Maintained F: drivers/media/platform/sh_veu.c -F: include/media/sh_veu.h SH_VOU V4L2 OUTPUT DRIVER M: Guennadi Liakhovetski -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 01/14] MAINTAINERS: remove 3c505
This driver was removed by commit 0e245db (drivers/net: delete the 3Com 3c505/3c507 intel i825xx support). Cc: Paul Gortmaker Cc: Philip Blundell Cc: net...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 6 -- 1 file changed, 6 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index aea0adf..5b64aa5 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -114,12 +114,6 @@ Maintainers List (try to look for most precise areas first) --- -3C505 NETWORK DRIVER -M: Philip Blundell -L: net...@vger.kernel.org -S: Maintained -F: drivers/net/ethernet/i825xx/3c505* - 3C59X NETWORK DRIVER M: Steffen Klassert L: net...@vger.kernel.org -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 13/14] scripts: add checkmaintainers.py
This small script checks the file patterns in the MAINTAINERS file. For every file pattern, it checks if the pattern matches any file or directory in the kernel tree, printing the patterns which do not have a match. It also checks for any file pattern pointing to any of the include directories which does not have a corresponding UAPI file pattern, but only if the UAPI file pattern would have a match. It also does the same in the opposite direction. The script is written in Python; I found its glob function more well-behaved than Perl's. It should work on both Python 2 and Python 3 without any changes (not even 2to3 is needed); tested on 2.7, 3.2, and 3.3. I do not think such a short script should have a copyright. But to avoid any problems, I arbitrarily used the "GNU All-Permissive License" (found in FSF's GPL-compatible list). If needed, feel free to relicense it as GPLv2+, 3-clause BSD, or even WTFPLv2 or CC0. Cc: David Howells Cc: Joe Perches Signed-off-by: Cesar Eduardo Barros --- scripts/checkmaintainers.py | 35 +++ 1 file changed, 35 insertions(+) create mode 100755 scripts/checkmaintainers.py diff --git a/scripts/checkmaintainers.py b/scripts/checkmaintainers.py new file mode 100755 index 000..99740e3 --- /dev/null +++ b/scripts/checkmaintainers.py @@ -0,0 +1,35 @@ +#!/usr/bin/python +# Quick check for missing file patterns in the MAINTAINERS file. +# +# Copyright (C) 2012 Cesar Eduardo Barros +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without any warranty. + +from __future__ import print_function, unicode_literals, with_statement +from glob import glob + +seen = set() + +with open('MAINTAINERS', 'rb') as f: +for line in f: +line = line.decode('utf-8') +if line.startswith('F:'): +pattern = line.partition(':')[2].strip() +seen.add(pattern) + +if not glob(pattern): +print('No match for F: {0}'.format(pattern)) + +# Check for missing uapi/ pattern +for pattern in seen: +if 'include/' in pattern: +if 'include/uapi/' in pattern: +other = pattern.replace('include/uapi/', 'include/') +else: +other = pattern.replace('include/', 'include/uapi/') + +if other not in seen and glob(other): +print('Missing {0} for {1}'.format(other, pattern)) -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 11/14] MAINTAINERS: fix BAST
These files were renamed by commit 85fd6d6 (ARM: S3C2410: move mach-s3c2410/* into mach-s3c24xx/). Cc: Ben Dooks Cc: Vincent Sanders Cc: Simtec Linux Team Cc: Paul Bolle Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 5cb888a..b73c00d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7119,9 +7119,9 @@ P:Vincent Sanders M: Simtec Linux Team W: http://www.simtec.co.uk/products/EB2410ITX/ S: Supported -F: arch/arm/mach-s3c2410/mach-bast.c -F: arch/arm/mach-s3c2410/bast-ide.c -F: arch/arm/mach-s3c2410/bast-irq.c +F: arch/arm/mach-s3c24xx/mach-bast.c +F: arch/arm/mach-s3c24xx/bast-ide.c +F: arch/arm/mach-s3c24xx/bast-irq.c TI DAVINCI MACHINE SUPPORT M: Sekhar Nori -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 14/14] MAINTAINERS: use same pattern for firewire in uapi
This avoids a false positive in the checkmaintainers.py script. Cc: Stefan Richter Cc: linux1394-de...@lists.sourceforge.net Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 772da4f..022317b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3236,7 +3236,7 @@ W:http://ieee1394.wiki.kernel.org/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git S: Maintained F: drivers/firewire/ -F: include/linux/firewire.h +F: include/linux/firewire*.h F: include/uapi/linux/firewire*.h F: tools/firewire/ -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 12/14] MAINTAINERS: adjust for UAPI (part 2)
More headers were moved or split to uapi/ since the last patch was created. Cc: David Howells Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 24 1 file changed, 24 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index b73c00d..772da4f 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -474,6 +474,7 @@ L: linux-...@kvack.org S: Supported F: fs/aio.c F: include/linux/*aio*.h +F: include/uapi/linux/*aio*.h ALCATEL SPEEDTOUCH USB DRIVER M: Duncan Sands @@ -2178,6 +2179,7 @@ L:cgro...@vger.kernel.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git S: Maintained F: include/linux/cgroup* +F: include/uapi/linux/cgroup* F: kernel/cgroup* F: mm/*cgroup* @@ -2493,6 +2495,7 @@ F:drivers/md/dm* F: drivers/md/persistent-data/ F: include/linux/device-mapper.h F: include/linux/dm-*.h +F: include/uapi/linux/dm-*.h DIOLAN U2C-12 I2C DRIVER M: Guenter Roeck @@ -3064,6 +3067,7 @@ L:net...@vger.kernel.org W: http://www.linuxfoundation.org/en/Net:Bridge S: Maintained F: include/linux/netfilter_bridge/ +F: include/uapi/linux/netfilter_bridge/ F: net/bridge/ EXT2 FILE SYSTEM @@ -4557,6 +4561,7 @@ S:Supported F: Documentation/*/kvm.txt F: arch/*/kvm/ F: arch/*/include/asm/kvm* +F: arch/*/include/uapi/asm/kvm* F: include/linux/kvm* F: include/uapi/linux/kvm* F: virt/kvm/ @@ -4567,6 +4572,7 @@ L:k...@vger.kernel.org W: http://kvm.qumranet.com S: Maintained F: arch/x86/include/asm/svm.h +F: arch/x86/include/uapi/asm/svm.h F: arch/x86/kvm/svm.c KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC @@ -4576,6 +4582,7 @@ W:http://kvm.qumranet.com T: git git://github.com/agraf/linux-2.6.git S: Supported F: arch/powerpc/include/asm/kvm* +F: arch/powerpc/include/uapi/asm/kvm* F: arch/powerpc/kvm/ KERNEL VIRTUAL MACHINE For Itanium (KVM/IA64) @@ -4585,6 +4592,7 @@ W:http://kvm.qumranet.com S: Supported F: Documentation/ia64/kvm.txt F: arch/ia64/include/asm/kvm* +F: arch/ia64/include/uapi/asm/kvm* F: arch/ia64/kvm/ KERNEL VIRTUAL MACHINE for s390 (KVM/s390) @@ -4596,6 +4604,7 @@ W: http://www.ibm.com/developerworks/linux/linux390/ S: Supported F: Documentation/s390/kvm.txt F: arch/s390/include/asm/kvm* +F: arch/s390/include/uapi/asm/kvm* F: arch/s390/kvm/ F: drivers/s390/kvm/ @@ -5122,6 +5131,7 @@ F:Documentation/DocBook/media/ F: drivers/media/ F: drivers/staging/media/ F: include/media/ +F: include/linux/videodev2.h F: include/uapi/linux/dvb/ F: include/uapi/linux/videodev2.h F: include/uapi/linux/media.h @@ -5223,6 +5233,7 @@ MODULE SUPPORT M: Rusty Russell S: Maintained F: include/linux/module.h +F: include/uapi/linux/module.h F: kernel/module.c MOTION EYE VAIO PICTUREBOOK CAMERA DRIVER @@ -5907,6 +5918,7 @@ L:linux-parp...@lists.infradead.org (subscribers-only) S: Orphan F: drivers/parport/ F: include/linux/parport*.h +F: include/uapi/linux/parport*.h F: drivers/char/ppdev.c F: include/uapi/linux/ppdev.h @@ -5992,6 +6004,7 @@ S:Supported F: Documentation/PCI/ F: drivers/pci/ F: include/linux/pci* +F: include/uapi/linux/pci* PCMCIA SUBSYSTEM P: Linux PCMCIA Team @@ -6208,6 +6221,7 @@ S:Maintained F: Documentation/pps/ F: drivers/pps/ F: include/linux/pps*.h +F: include/uapi/linux/pps*.h PPTP DRIVER M: Dmitry Kozlov @@ -6252,6 +6266,7 @@ S:Maintained F: arch/powerpc/boot/ps3* F: arch/powerpc/include/asm/lv1call.h F: arch/powerpc/include/asm/ps3*.h +F: arch/powerpc/include/uapi/asm/ps3*.h F: arch/powerpc/platforms/ps3/ F: drivers/*/ps3* F: drivers/ps3/ @@ -6287,6 +6302,7 @@ F:drivers/net/ethernet/freescale/gianfar_ptp.c F: drivers/net/phy/dp83640* F: drivers/ptp/* F: include/linux/ptp_cl* +F: include/uapi/linux/ptp_cl* PTRACE SUPPORT M: Roland McGrath @@ -6894,6 +6910,7 @@ T:git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-pending-2.6.git S: Maintained F: drivers/scsi/ F: include/scsi/ +F: include/uapi/scsi/ SCSI TAPE DRIVER M: Kai Mäkisara @@ -6990,6 +7007,7 @@ W:http://selinuxproject.org T: git git://git.infradead.org/users/eparis/selinux.git S: Supported F: include/linux/selinux* +F: include/uapi/linux/selinux* F: security/selinux/ F: scripts/selinux/ @@ -7693,6 +7711,7 @@ M:Balbir Singh S: Maintained F: Documentation/accounting/taskstats* F: include/linux/taskstats* +F: include/uapi/linux/taskstats* F: kernel/taskstats.c TC CLASSIFIER @@ -8258,6 +8277,7 @@ T:git git://git.kernel.org/pub/scm
[PATCH 02/14] MAINTAINERS: remove arch/arm/plat-nomadik/
The files within that directory were moved to other places over the course of several commits. I only added the ones moved in the patch series which finally removed the directory; untangling the rest will take more work, since some seem to be shared with ux500. In fact, the ARM/Ux500 ARM ARCHITECTURE block has patterns for files named "nomadik" too. The patterns in this pair of MAINTAINER blocks really need a review from the respective maintainters. Cc: Alessandro Rubini Cc: Srinidhi Kasagar Cc: Linus Walleij Cc: STEricsson Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 5b64aa5..3c074d5 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1009,8 +1009,11 @@ M: STEricsson L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers) S: Maintained F: arch/arm/mach-nomadik/ -F: arch/arm/plat-nomadik/ +F: drivers/clocksource/nomadik-mtu.c F: drivers/i2c/busses/i2c-nomadik.c +F: include/linux/platform_data/clocksource-nomadik-mtu.h +F: include/linux/platform_data/dma-ste-dma40.h +F: include/linux/platform_data/pinctrl-nomadik.h T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 00/14] MAINTAINERS: fix file patterns (part 2)
This patch series attempts to fix the remaining F: patterns on the MAINTAINERS file which point to non-existing files or directories. Several more problems with the F: patterns appeared since the previous patch series was sent. This patch series fixes all of them, except for the removal of drivers/rtc/rtc-sec.c (which was NAKed). It also has a copy of the single patch from the previous series which was not applied (fix BAST). Patch 12 also attempts to add matching uapi/ patterns to all include directory patterns where this was not yet done, if applicable. The last two patches in this series are optional. They add the small script which I used to find the broken patterns, and change one pattern to avoid a false positive from the script. Cesar Eduardo Barros (14): MAINTAINERS: remove 3c505 MAINTAINERS: remove arch/arm/plat-nomadik/ MAINTAINERS: remove arch/arm/plat-s3c24xx/ MAINTAINERS: fix drivers/media/i2c/cx2341x.c MAINTAINERS: remove drivers/net/wan/cycx* MAINTAINERS: fix drivers/edac/ghes-edac.c MAINTAINERS: remove eexpress MAINTAINERS: fix mach-omap2 clockdomain/powerdomain MAINTAINERS: fix Documentation/video4linux/saa7134/ MAINTAINERS: remove include/media/sh_veu.h MAINTAINERS: fix BAST MAINTAINERS: adjust for UAPI (part 2) scripts: add checkmaintainers.py MAINTAINERS: use same pattern for firewire in uapi MAINTAINERS | 69 - scripts/checkmaintainers.py | 35 +++ 2 files changed, 72 insertions(+), 32 deletions(-) create mode 100755 scripts/checkmaintainers.py -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 03/14] MAINTAINERS: remove arch/arm/plat-s3c24xx/
This directory was removed by commit 09ec1d7 (ARM: S3C24XX: Remove plat-s3c24xx directory in arch/arm/). Cc: Kukjin Kim Cc: Ben Dooks Cc: Russell King Cc: linux-arm-ker...@lists.infradead.org Cc: linux-samsung-...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 3c074d5..5af82f9 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1119,7 +1119,6 @@ L:linux-samsung-...@vger.kernel.org (moderated for non-subscribers) W: http://www.fluff.org/ben/linux/ S: Maintained F: arch/arm/plat-samsung/ -F: arch/arm/plat-s3c24xx/ F: arch/arm/mach-s3c24*/ F: arch/arm/mach-s3c64xx/ F: drivers/*/*s3c2410* -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH V2] MAINTAINERS: Update SIMTEC file patterns, remove Vincent Sanders
Em 01-03-2013 17:37, Joe Perches escreveu: On Fri, 2013-03-01 at 21:20 +0100, Paul Bolle wrote: On Fri, 2013-03-01 at 12:02 -0800, Joe Perches wrote: commit 85fd6d6 ("ARM: S3C2410: move mach-s3c2410/* into mach-s3c24xx/") moved the files, update the F: patterns. The BAST MAINTAINER entry has come up a few times already. I commented on the last time that happened in https://lkml.org/lkml/2012/11/24/96 . Nothing has changed. I suggest to remove this entry entirely. Seems sensible to me. Ben? I'm a bit surprised that all of Cesar Eduardo Barros' patches to MAINTAINERS weren't applied. I thought they were. It seems that only some of them are in. https://lkml.org/lkml/2012/11/23/439 Cesar? Can you please resend whatever scraps weren't applied and make sure you cc Andrew Morton? I just checked on my local tree, and it is only the BAST one. For some reason, Andrew Morton did not add that one to his tree (probably because there was discussion about removing the whole block instead of fixing it, so he prefered to take the uncontroversial ones only). The ones which were not in Andrew's tree all went in via other trees. It might be best for me to make a new series instead. My checkmaintainers.py already gives me 15 lines of output, and that is on top of what I have pending (BAST and part 2 of the uapi mess) rebased over the Linus tree. On the Linus tree, it gives me 42 lines of output. -- Cesar Eduardo Barros ces...@cesarb.net cesar.bar...@gmail.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH V2] MAINTAINERS: Update SIMTEC file patterns, remove Vincent Sanders
Em 01-03-2013 17:37, Joe Perches escreveu: On Fri, 2013-03-01 at 21:20 +0100, Paul Bolle wrote: On Fri, 2013-03-01 at 12:02 -0800, Joe Perches wrote: commit 85fd6d6 (ARM: S3C2410: move mach-s3c2410/* into mach-s3c24xx/) moved the files, update the F: patterns. The BAST MAINTAINER entry has come up a few times already. I commented on the last time that happened in https://lkml.org/lkml/2012/11/24/96 . Nothing has changed. I suggest to remove this entry entirely. Seems sensible to me. Ben? I'm a bit surprised that all of Cesar Eduardo Barros' patches to MAINTAINERS weren't applied. I thought they were. It seems that only some of them are in. https://lkml.org/lkml/2012/11/23/439 Cesar? Can you please resend whatever scraps weren't applied and make sure you cc Andrew Morton? I just checked on my local tree, and it is only the BAST one. For some reason, Andrew Morton did not add that one to his tree (probably because there was discussion about removing the whole block instead of fixing it, so he prefered to take the uncontroversial ones only). The ones which were not in Andrew's tree all went in via other trees. It might be best for me to make a new series instead. My checkmaintainers.py already gives me 15 lines of output, and that is on top of what I have pending (BAST and part 2 of the uapi mess) rebased over the Linus tree. On the Linus tree, it gives me 42 lines of output. -- Cesar Eduardo Barros ces...@cesarb.net cesar.bar...@gmail.com -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 03/14] MAINTAINERS: remove arch/arm/plat-s3c24xx/
This directory was removed by commit 09ec1d7 (ARM: S3C24XX: Remove plat-s3c24xx directory in arch/arm/). Cc: Kukjin Kim kgene@samsung.com Cc: Ben Dooks ben-li...@fluff.org Cc: Russell King rmk+ker...@arm.linux.org.uk Cc: linux-arm-ker...@lists.infradead.org Cc: linux-samsung-...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 3c074d5..5af82f9 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1119,7 +1119,6 @@ L:linux-samsung-...@vger.kernel.org (moderated for non-subscribers) W: http://www.fluff.org/ben/linux/ S: Maintained F: arch/arm/plat-samsung/ -F: arch/arm/plat-s3c24xx/ F: arch/arm/mach-s3c24*/ F: arch/arm/mach-s3c64xx/ F: drivers/*/*s3c2410* -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 02/14] MAINTAINERS: remove arch/arm/plat-nomadik/
The files within that directory were moved to other places over the course of several commits. I only added the ones moved in the patch series which finally removed the directory; untangling the rest will take more work, since some seem to be shared with ux500. In fact, the ARM/Ux500 ARM ARCHITECTURE block has patterns for files named nomadik too. The patterns in this pair of MAINTAINER blocks really need a review from the respective maintainters. Cc: Alessandro Rubini rub...@unipv.it Cc: Srinidhi Kasagar srinidhi.kasa...@stericsson.com Cc: Linus Walleij linus.wall...@linaro.org Cc: STEricsson stericsson_nomadik_li...@list.st.com Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 5b64aa5..3c074d5 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1009,8 +1009,11 @@ M: STEricsson stericsson_nomadik_li...@list.st.com L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers) S: Maintained F: arch/arm/mach-nomadik/ -F: arch/arm/plat-nomadik/ +F: drivers/clocksource/nomadik-mtu.c F: drivers/i2c/busses/i2c-nomadik.c +F: include/linux/platform_data/clocksource-nomadik-mtu.h +F: include/linux/platform_data/dma-ste-dma40.h +F: include/linux/platform_data/pinctrl-nomadik.h T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 00/14] MAINTAINERS: fix file patterns (part 2)
This patch series attempts to fix the remaining F: patterns on the MAINTAINERS file which point to non-existing files or directories. Several more problems with the F: patterns appeared since the previous patch series was sent. This patch series fixes all of them, except for the removal of drivers/rtc/rtc-sec.c (which was NAKed). It also has a copy of the single patch from the previous series which was not applied (fix BAST). Patch 12 also attempts to add matching uapi/ patterns to all include directory patterns where this was not yet done, if applicable. The last two patches in this series are optional. They add the small script which I used to find the broken patterns, and change one pattern to avoid a false positive from the script. Cesar Eduardo Barros (14): MAINTAINERS: remove 3c505 MAINTAINERS: remove arch/arm/plat-nomadik/ MAINTAINERS: remove arch/arm/plat-s3c24xx/ MAINTAINERS: fix drivers/media/i2c/cx2341x.c MAINTAINERS: remove drivers/net/wan/cycx* MAINTAINERS: fix drivers/edac/ghes-edac.c MAINTAINERS: remove eexpress MAINTAINERS: fix mach-omap2 clockdomain/powerdomain MAINTAINERS: fix Documentation/video4linux/saa7134/ MAINTAINERS: remove include/media/sh_veu.h MAINTAINERS: fix BAST MAINTAINERS: adjust for UAPI (part 2) scripts: add checkmaintainers.py MAINTAINERS: use same pattern for firewire in uapi MAINTAINERS | 69 - scripts/checkmaintainers.py | 35 +++ 2 files changed, 72 insertions(+), 32 deletions(-) create mode 100755 scripts/checkmaintainers.py -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 14/14] MAINTAINERS: use same pattern for firewire in uapi
This avoids a false positive in the checkmaintainers.py script. Cc: Stefan Richter stef...@s5r6.in-berlin.de Cc: linux1394-de...@lists.sourceforge.net Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 772da4f..022317b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3236,7 +3236,7 @@ W:http://ieee1394.wiki.kernel.org/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git S: Maintained F: drivers/firewire/ -F: include/linux/firewire.h +F: include/linux/firewire*.h F: include/uapi/linux/firewire*.h F: tools/firewire/ -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 12/14] MAINTAINERS: adjust for UAPI (part 2)
More headers were moved or split to uapi/ since the last patch was created. Cc: David Howells dhowe...@redhat.com Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 24 1 file changed, 24 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index b73c00d..772da4f 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -474,6 +474,7 @@ L: linux-...@kvack.org S: Supported F: fs/aio.c F: include/linux/*aio*.h +F: include/uapi/linux/*aio*.h ALCATEL SPEEDTOUCH USB DRIVER M: Duncan Sands duncan.sa...@free.fr @@ -2178,6 +2179,7 @@ L:cgro...@vger.kernel.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git S: Maintained F: include/linux/cgroup* +F: include/uapi/linux/cgroup* F: kernel/cgroup* F: mm/*cgroup* @@ -2493,6 +2495,7 @@ F:drivers/md/dm* F: drivers/md/persistent-data/ F: include/linux/device-mapper.h F: include/linux/dm-*.h +F: include/uapi/linux/dm-*.h DIOLAN U2C-12 I2C DRIVER M: Guenter Roeck li...@roeck-us.net @@ -3064,6 +3067,7 @@ L:net...@vger.kernel.org W: http://www.linuxfoundation.org/en/Net:Bridge S: Maintained F: include/linux/netfilter_bridge/ +F: include/uapi/linux/netfilter_bridge/ F: net/bridge/ EXT2 FILE SYSTEM @@ -4557,6 +4561,7 @@ S:Supported F: Documentation/*/kvm.txt F: arch/*/kvm/ F: arch/*/include/asm/kvm* +F: arch/*/include/uapi/asm/kvm* F: include/linux/kvm* F: include/uapi/linux/kvm* F: virt/kvm/ @@ -4567,6 +4572,7 @@ L:k...@vger.kernel.org W: http://kvm.qumranet.com S: Maintained F: arch/x86/include/asm/svm.h +F: arch/x86/include/uapi/asm/svm.h F: arch/x86/kvm/svm.c KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC @@ -4576,6 +4582,7 @@ W:http://kvm.qumranet.com T: git git://github.com/agraf/linux-2.6.git S: Supported F: arch/powerpc/include/asm/kvm* +F: arch/powerpc/include/uapi/asm/kvm* F: arch/powerpc/kvm/ KERNEL VIRTUAL MACHINE For Itanium (KVM/IA64) @@ -4585,6 +4592,7 @@ W:http://kvm.qumranet.com S: Supported F: Documentation/ia64/kvm.txt F: arch/ia64/include/asm/kvm* +F: arch/ia64/include/uapi/asm/kvm* F: arch/ia64/kvm/ KERNEL VIRTUAL MACHINE for s390 (KVM/s390) @@ -4596,6 +4604,7 @@ W: http://www.ibm.com/developerworks/linux/linux390/ S: Supported F: Documentation/s390/kvm.txt F: arch/s390/include/asm/kvm* +F: arch/s390/include/uapi/asm/kvm* F: arch/s390/kvm/ F: drivers/s390/kvm/ @@ -5122,6 +5131,7 @@ F:Documentation/DocBook/media/ F: drivers/media/ F: drivers/staging/media/ F: include/media/ +F: include/linux/videodev2.h F: include/uapi/linux/dvb/ F: include/uapi/linux/videodev2.h F: include/uapi/linux/media.h @@ -5223,6 +5233,7 @@ MODULE SUPPORT M: Rusty Russell ru...@rustcorp.com.au S: Maintained F: include/linux/module.h +F: include/uapi/linux/module.h F: kernel/module.c MOTION EYE VAIO PICTUREBOOK CAMERA DRIVER @@ -5907,6 +5918,7 @@ L:linux-parp...@lists.infradead.org (subscribers-only) S: Orphan F: drivers/parport/ F: include/linux/parport*.h +F: include/uapi/linux/parport*.h F: drivers/char/ppdev.c F: include/uapi/linux/ppdev.h @@ -5992,6 +6004,7 @@ S:Supported F: Documentation/PCI/ F: drivers/pci/ F: include/linux/pci* +F: include/uapi/linux/pci* PCMCIA SUBSYSTEM P: Linux PCMCIA Team @@ -6208,6 +6221,7 @@ S:Maintained F: Documentation/pps/ F: drivers/pps/ F: include/linux/pps*.h +F: include/uapi/linux/pps*.h PPTP DRIVER M: Dmitry Kozlov x...@mail.ru @@ -6252,6 +6266,7 @@ S:Maintained F: arch/powerpc/boot/ps3* F: arch/powerpc/include/asm/lv1call.h F: arch/powerpc/include/asm/ps3*.h +F: arch/powerpc/include/uapi/asm/ps3*.h F: arch/powerpc/platforms/ps3/ F: drivers/*/ps3* F: drivers/ps3/ @@ -6287,6 +6302,7 @@ F:drivers/net/ethernet/freescale/gianfar_ptp.c F: drivers/net/phy/dp83640* F: drivers/ptp/* F: include/linux/ptp_cl* +F: include/uapi/linux/ptp_cl* PTRACE SUPPORT M: Roland McGrath rol...@redhat.com @@ -6894,6 +6910,7 @@ T:git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-pending-2.6.git S: Maintained F: drivers/scsi/ F: include/scsi/ +F: include/uapi/scsi/ SCSI TAPE DRIVER M: Kai Mäkisara kai.makis...@kolumbus.fi @@ -6990,6 +7007,7 @@ W:http://selinuxproject.org T: git git://git.infradead.org/users/eparis/selinux.git S: Supported F: include/linux/selinux* +F: include/uapi/linux/selinux* F: security/selinux/ F: scripts/selinux/ @@ -7693,6 +7711,7 @@ M:Balbir Singh bsinghar...@gmail.com S: Maintained F: Documentation/accounting/taskstats* F
[PATCH 13/14] scripts: add checkmaintainers.py
This small script checks the file patterns in the MAINTAINERS file. For every file pattern, it checks if the pattern matches any file or directory in the kernel tree, printing the patterns which do not have a match. It also checks for any file pattern pointing to any of the include directories which does not have a corresponding UAPI file pattern, but only if the UAPI file pattern would have a match. It also does the same in the opposite direction. The script is written in Python; I found its glob function more well-behaved than Perl's. It should work on both Python 2 and Python 3 without any changes (not even 2to3 is needed); tested on 2.7, 3.2, and 3.3. I do not think such a short script should have a copyright. But to avoid any problems, I arbitrarily used the GNU All-Permissive License (found in FSF's GPL-compatible list). If needed, feel free to relicense it as GPLv2+, 3-clause BSD, or even WTFPLv2 or CC0. Cc: David Howells dhowe...@redhat.com Cc: Joe Perches j...@perches.com Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- scripts/checkmaintainers.py | 35 +++ 1 file changed, 35 insertions(+) create mode 100755 scripts/checkmaintainers.py diff --git a/scripts/checkmaintainers.py b/scripts/checkmaintainers.py new file mode 100755 index 000..99740e3 --- /dev/null +++ b/scripts/checkmaintainers.py @@ -0,0 +1,35 @@ +#!/usr/bin/python +# Quick check for missing file patterns in the MAINTAINERS file. +# +# Copyright (C) 2012 Cesar Eduardo Barros ces...@cesarb.net +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without any warranty. + +from __future__ import print_function, unicode_literals, with_statement +from glob import glob + +seen = set() + +with open('MAINTAINERS', 'rb') as f: +for line in f: +line = line.decode('utf-8') +if line.startswith('F:'): +pattern = line.partition(':')[2].strip() +seen.add(pattern) + +if not glob(pattern): +print('No match for F: {0}'.format(pattern)) + +# Check for missing uapi/ pattern +for pattern in seen: +if 'include/' in pattern: +if 'include/uapi/' in pattern: +other = pattern.replace('include/uapi/', 'include/') +else: +other = pattern.replace('include/', 'include/uapi/') + +if other not in seen and glob(other): +print('Missing {0} for {1}'.format(other, pattern)) -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 11/14] MAINTAINERS: fix BAST
These files were renamed by commit 85fd6d6 (ARM: S3C2410: move mach-s3c2410/* into mach-s3c24xx/). Cc: Ben Dooks ben-li...@fluff.org Cc: Vincent Sanders vi...@simtec.co.uk Cc: Simtec Linux Team li...@simtec.co.uk Cc: Paul Bolle pebo...@tiscali.nl Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 5cb888a..b73c00d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7119,9 +7119,9 @@ P:Vincent Sanders vi...@simtec.co.uk M: Simtec Linux Team li...@simtec.co.uk W: http://www.simtec.co.uk/products/EB2410ITX/ S: Supported -F: arch/arm/mach-s3c2410/mach-bast.c -F: arch/arm/mach-s3c2410/bast-ide.c -F: arch/arm/mach-s3c2410/bast-irq.c +F: arch/arm/mach-s3c24xx/mach-bast.c +F: arch/arm/mach-s3c24xx/bast-ide.c +F: arch/arm/mach-s3c24xx/bast-irq.c TI DAVINCI MACHINE SUPPORT M: Sekhar Nori nsek...@ti.com -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 01/14] MAINTAINERS: remove 3c505
This driver was removed by commit 0e245db (drivers/net: delete the 3Com 3c505/3c507 intel i825xx support). Cc: Paul Gortmaker paul.gortma...@windriver.com Cc: Philip Blundell ph...@gnu.org Cc: net...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 6 -- 1 file changed, 6 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index aea0adf..5b64aa5 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -114,12 +114,6 @@ Maintainers List (try to look for most precise areas first) --- -3C505 NETWORK DRIVER -M: Philip Blundell ph...@gnu.org -L: net...@vger.kernel.org -S: Maintained -F: drivers/net/ethernet/i825xx/3c505* - 3C59X NETWORK DRIVER M: Steffen Klassert klass...@mathematik.tu-chemnitz.de L: net...@vger.kernel.org -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 10/14] MAINTAINERS: remove include/media/sh_veu.h
Apparently a copy-paste mistake; the similar sh_vou.h exists, and both were added to MAINTAINERS by commit b618b69 ([media] MAINTAINERS: add entries for sh_veu and sh_vou V4L2 drivers). Cc: Guennadi Liakhovetski g.liakhovet...@gmx.de Cc: Mauro Carvalho Chehab mche...@redhat.com Cc: linux-me...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 44b9f69..5cb888a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7088,7 +7088,6 @@ M:Guennadi Liakhovetski g.liakhovet...@gmx.de L: linux-me...@vger.kernel.org S: Maintained F: drivers/media/platform/sh_veu.c -F: include/media/sh_veu.h SH_VOU V4L2 OUTPUT DRIVER M: Guennadi Liakhovetski g.liakhovet...@gmx.de -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 09/14] MAINTAINERS: fix Documentation/video4linux/saa7134/
That directory never existed. The intention was probably to match CARDLIST.saa7134 and README.saa7134. Cc: Mauro Carvalho Chehab mche...@redhat.com Cc: linux-me...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 46c1288..44b9f69 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -6741,7 +6741,7 @@ L:linux-me...@vger.kernel.org W: http://linuxtv.org T: git git://linuxtv.org/media_tree.git S: Odd fixes -F: Documentation/video4linux/saa7134/ +F: Documentation/video4linux/*.saa7134 F: drivers/media/pci/saa7134/ SAA7146 VIDEO4LINUX-2 DRIVER -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 04/14] MAINTAINERS: fix drivers/media/i2c/cx2341x.c
This file was moved to drivers/media/common/ by commit 6259582 ([media] cx2341x: move from media/i2c to media/common). Cc: Hans Verkuil hverk...@xs4all.nl Cc: linux-me...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 5af82f9..261b245 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2286,7 +2286,7 @@ L:linux-me...@vger.kernel.org T: git git://linuxtv.org/media_tree.git W: http://linuxtv.org S: Maintained -F: drivers/media/i2c/cx2341x* +F: drivers/media/common/cx2341x* F: include/media/cx2341x* CX88 VIDEO4LINUX DRIVER -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 05/14] MAINTAINERS: remove drivers/net/wan/cycx*
This driver was removed by commit 6fcdf4f (wanrouter: delete now orphaned header content, files/drivers). Cc: Paul Gortmaker paul.gortma...@windriver.com Cc: Arnaldo Carvalho de Melo a...@redhat.com Cc: net...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 6 -- 1 file changed, 6 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 261b245..e909cd3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2357,12 +2357,6 @@ W: http://www.arm.linux.org.uk/ S: Maintained F: drivers/video/cyber2000fb.* -CYCLADES 2X SYNC CARD DRIVER -M: Arnaldo Carvalho de Melo a...@ghostprotocols.net -W: http://oops.ghostprotocols.net:81/blog -S: Maintained -F: drivers/net/wan/cycx* - CYCLADES ASYNC MUX DRIVER W: http://www.cyclades.com/ S: Orphan -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 08/14] MAINTAINERS: fix mach-omap2 clockdomain/powerdomain
The code in these files was moved to cm*.[ch] and prm*.[ch] in the same directory by commits 4981539 (ARM: OMAP2+: powerdomain/PRM: move the low-level powerdomain functions into PRM) and 4bd5259 (ARM: OMAP2/3: clockdomain/PRM/CM: move the low-level clockdomain functions into PRM/CM). I am not sure if this fix is correct, since there are other things in these files. Please NAK this patch (and propose a better one) if it is wrong. Cc: Paul Walmsley p...@pwsan.com Cc: Rajendra Nayak rna...@ti.com Cc: Russ Dill russ.d...@ti.com Cc: Santosh Shilimkar santosh.shilim...@ti.com Cc: linux-o...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 92718d8..46c1288 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5651,10 +5651,8 @@ M: Rajendra Nayak rna...@ti.com M: Paul Walmsley p...@pwsan.com L: linux-o...@vger.kernel.org S: Maintained -F: arch/arm/mach-omap2/powerdomain2xxx_3xxx.c -F: arch/arm/mach-omap2/powerdomain44xx.c -F: arch/arm/mach-omap2/clockdomain2xxx_3xxx.c -F: arch/arm/mach-omap2/clockdomain44xx.c +F: arch/arm/mach-omap2/cm*.[ch] +F: arch/arm/mach-omap2/prm*.[ch] OMAP AUDIO SUPPORT M: Peter Ujfalusi peter.ujfal...@ti.com -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 07/14] MAINTAINERS: remove eexpress
This driver was removed by commit f84932d (drivers/net: delete ISA intel eexpress and eepro i825xx drivers). Cc: Paul Gortmaker paul.gortma...@windriver.com Cc: Philip Blundell ph...@gnu.org Cc: net...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 6 -- 1 file changed, 6 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 2e1443c..92718d8 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3057,12 +3057,6 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git F: drivers/video/s1d13xxxfb.c F: include/video/s1d13xxxfb.h -ETHEREXPRESS-16 NETWORK DRIVER -M: Philip Blundell ph...@gnu.org -L: net...@vger.kernel.org -S: Maintained -F: drivers/net/ethernet/i825xx/eexpress.* - ETHERNET BRIDGE M: Stephen Hemminger step...@networkplumber.org L: bri...@lists.linux-foundation.org -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 06/14] MAINTAINERS: fix drivers/edac/ghes-edac.c
Cc: Mauro Carvalho Chehab mche...@redhat.com Cc: linux-e...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index e909cd3..2e1443c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2899,7 +2899,7 @@ M:Mauro Carvalho Chehab mche...@redhat.com L: linux-e...@vger.kernel.org W: bluesmoke.sourceforge.net S: Maintained -F: drivers/edac/ghes-edac.c +F: drivers/edac/ghes_edac.c EDAC-I82443BXGX M: Tim Small t...@buttersideup.com -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] scripts: add checkmaintainers.py
Em 17-12-2012 15:00, Borislav Petkov escreveu: On Mon, Dec 17, 2012 at 07:35:44AM -0800, Joe Perches wrote: Perhaps Cesar can use his script as a starting point to find those pattern invalidating commits or maybe add the capability (or a --strict check) to checkpatch. Or that, I don't have a strict preference. So, yeah, I can see how checkpatch saying: "you've just renamed a file and thusly invalidated a pattern in MAINTAINERS. Pls, consider correcting the pattern" could make sense. And I would even add it to default functionality since the MAINTAINERS patterns are something we want to always have up-to-date, IMO. Good idea, but a standalone MAINTAINERS checker is still useful, to check for things checkpatch did not catch, either because it was not run, or because it did not have enough information. For instance, consider the case of a patch removing the last file in a directory going in via one branch, while a patch adding a file pattern for that same directory goes in via a separate branch. There is no way checkpatch can catch that. As for finding the pattern invalidating commits, it is usually not that hard, a simple "git log -- " or similar usually does the trick, except in the cases where the pattern addition itself was wrong. The hard part can be interpreting it and the surrounding commits to find out the committer's intention, how it should affect the MAINTAINERS entry, and who should get a Cc: of the fix. -- Cesar Eduardo Barros ces...@cesarb.net cesar.bar...@gmail.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] scripts: add checkmaintainers.py
Em 17-12-2012 15:00, Borislav Petkov escreveu: On Mon, Dec 17, 2012 at 07:35:44AM -0800, Joe Perches wrote: Perhaps Cesar can use his script as a starting point to find those pattern invalidating commits or maybe add the capability (or a --strict check) to checkpatch. Or that, I don't have a strict preference. So, yeah, I can see how checkpatch saying: you've just renamed a file and thusly invalidated a pattern in MAINTAINERS. Pls, consider correcting the pattern could make sense. And I would even add it to default functionality since the MAINTAINERS patterns are something we want to always have up-to-date, IMO. Good idea, but a standalone MAINTAINERS checker is still useful, to check for things checkpatch did not catch, either because it was not run, or because it did not have enough information. For instance, consider the case of a patch removing the last file in a directory going in via one branch, while a patch adding a file pattern for that same directory goes in via a separate branch. There is no way checkpatch can catch that. As for finding the pattern invalidating commits, it is usually not that hard, a simple git log -- pattern or similar usually does the trick, except in the cases where the pattern addition itself was wrong. The hard part can be interpreting it and the surrounding commits to find out the committer's intention, how it should affect the MAINTAINERS entry, and who should get a Cc: of the fix. -- Cesar Eduardo Barros ces...@cesarb.net cesar.bar...@gmail.com -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] scripts: add checkmaintainers.py
This small script checks the file patterns in the MAINTAINERS file. For every file pattern, it checks if the pattern matches any file or directory in the kernel tree, printing the patterns which do not have a match. It also checks for any file pattern pointing to any of the include directories which does not have a corresponding UAPI file pattern, but only if the UAPI file pattern would have a match. It also does the same in the opposite direction. The script is written in Python; I found its glob function more well-behaved than Perl's. It should work on both Python 2 and Python 3 without any changes (not even 2to3 is needed); tested on 2.7, 3.2, and 3.3. I do not think such a short script should have a copyright. But to avoid any problems, I arbitrarily used the "GNU All-Permissive License" (found in FSF's GPL-compatible list). If needed, feel free to relicense it as GPLv2+, 3-clause BSD, or even WTFPLv2 or CC0. Cc: David Howells Cc: Joe Perches Signed-off-by: Cesar Eduardo Barros --- scripts/checkmaintainers.py | 35 +++ 1 file changed, 35 insertions(+) create mode 100755 scripts/checkmaintainers.py diff --git a/scripts/checkmaintainers.py b/scripts/checkmaintainers.py new file mode 100755 index 000..99740e3 --- /dev/null +++ b/scripts/checkmaintainers.py @@ -0,0 +1,35 @@ +#!/usr/bin/python +# Quick check for missing file patterns in the MAINTAINERS file. +# +# Copyright (C) 2012 Cesar Eduardo Barros +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without any warranty. + +from __future__ import print_function, unicode_literals, with_statement +from glob import glob + +seen = set() + +with open('MAINTAINERS', 'rb') as f: +for line in f: +line = line.decode('utf-8') +if line.startswith('F:'): +pattern = line.partition(':')[2].strip() +seen.add(pattern) + +if not glob(pattern): +print('No match for F: {0}'.format(pattern)) + +# Check for missing uapi/ pattern +for pattern in seen: +if 'include/' in pattern: +if 'include/uapi/' in pattern: +other = pattern.replace('include/uapi/', 'include/') +else: +other = pattern.replace('include/', 'include/uapi/') + +if other not in seen and glob(other): +print('Missing {0} for {1}'.format(other, pattern)) -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] scripts: add checkmaintainers.py
This small script checks the file patterns in the MAINTAINERS file. For every file pattern, it checks if the pattern matches any file or directory in the kernel tree, printing the patterns which do not have a match. It also checks for any file pattern pointing to any of the include directories which does not have a corresponding UAPI file pattern, but only if the UAPI file pattern would have a match. It also does the same in the opposite direction. The script is written in Python; I found its glob function more well-behaved than Perl's. It should work on both Python 2 and Python 3 without any changes (not even 2to3 is needed); tested on 2.7, 3.2, and 3.3. I do not think such a short script should have a copyright. But to avoid any problems, I arbitrarily used the GNU All-Permissive License (found in FSF's GPL-compatible list). If needed, feel free to relicense it as GPLv2+, 3-clause BSD, or even WTFPLv2 or CC0. Cc: David Howells dhowe...@redhat.com Cc: Joe Perches j...@perches.com Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- scripts/checkmaintainers.py | 35 +++ 1 file changed, 35 insertions(+) create mode 100755 scripts/checkmaintainers.py diff --git a/scripts/checkmaintainers.py b/scripts/checkmaintainers.py new file mode 100755 index 000..99740e3 --- /dev/null +++ b/scripts/checkmaintainers.py @@ -0,0 +1,35 @@ +#!/usr/bin/python +# Quick check for missing file patterns in the MAINTAINERS file. +# +# Copyright (C) 2012 Cesar Eduardo Barros ces...@cesarb.net +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without any warranty. + +from __future__ import print_function, unicode_literals, with_statement +from glob import glob + +seen = set() + +with open('MAINTAINERS', 'rb') as f: +for line in f: +line = line.decode('utf-8') +if line.startswith('F:'): +pattern = line.partition(':')[2].strip() +seen.add(pattern) + +if not glob(pattern): +print('No match for F: {0}'.format(pattern)) + +# Check for missing uapi/ pattern +for pattern in seen: +if 'include/' in pattern: +if 'include/uapi/' in pattern: +other = pattern.replace('include/uapi/', 'include/') +else: +other = pattern.replace('include/', 'include/uapi/') + +if other not in seen and glob(other): +print('Missing {0} for {1}'.format(other, pattern)) -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 06/19] MAINTAINERS: fix drivers/media/platform/atmel-isi.c
This file was moved to drivers/media/platform/soc_camera/atmel-isi.c by commit b47ff4a ([media] move soc_camera to its own directory). Cc: Mauro Carvalho Chehab Cc: Josh Wu Cc: linux-me...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 1fb780e..efbdf54 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1395,7 +1395,7 @@ ATMEL ISI DRIVER M: Josh Wu L: linux-me...@vger.kernel.org S: Supported -F: drivers/media/platform/atmel-isi.c +F: drivers/media/platform/soc_camera/atmel-isi.c F: include/media/atmel-isi.h ATMEL LCDFB DRIVER -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 01/19] MAINTAINERS: remove drivers/platform/msm/
Added by commit 8a5700c (add drivers/platform/msm to MSM subsystem) in 2011, but I could not find any trace of that directory being ever added to the repository. Acked-by: David Brown Acked-by: Bryan Huntsman Cc: Kenneth Heitke Cc: Daniel Walker Cc: linux-arm-...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 9386a63..217630e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -987,7 +987,6 @@ F: drivers/mmc/host/msm_sdcc.c F: drivers/mmc/host/msm_sdcc.h F: drivers/tty/serial/msm_serial.h F: drivers/tty/serial/msm_serial.c -F: drivers/platform/msm/ F: drivers/*/pm8???-* F: include/linux/mfd/pm8xxx/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 08/19] MAINTAINERS: fix drivers/media/usb/dvb-usb/cxusb*
This driver was never at dvb-usb-v2, as far as I could see. Cc: Michael Krufky Cc: linux-me...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 8265764..b8dfc72 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2594,7 +2594,7 @@ W:http://github.com/mkrufky Q: http://patchwork.linuxtv.org/project/linux-media/list/ T: git git://linuxtv.org/media_tree.git S: Maintained -F: drivers/media/usb/dvb-usb-v2/cxusb* +F: drivers/media/usb/dvb-usb/cxusb* DVB_USB_CYPRESS_FIRMWARE MEDIA DRIVER M: Antti Palosaari -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 07/19] MAINTAINERS: adjust for UAPI
Several headers were moved or split to uapi/. Acked-by: David Howells Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 160 1 file changed, 118 insertions(+), 42 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index efbdf54..8265764 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -442,6 +442,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git S: Maintained F: drivers/char/agp/ F: include/linux/agp* +F: include/uapi/linux/agp* AHA152X SCSI DRIVER M: "Juergen E. Fischer" @@ -582,6 +583,7 @@ M: Jiri Kosina S: Odd fixes F: arch/x86/kernel/apm_32.c F: include/linux/apm_bios.h +F: include/uapi/linux/apm_bios.h F: drivers/char/apm-emulation.c APPLE BCM5974 MULTITOUCH DRIVER @@ -1363,6 +1365,7 @@ W:http://linux-atm.sourceforge.net S: Maintained F: drivers/atm/ F: include/linux/atm* +F: include/uapi/linux/atm* ATMEL AT91 MCI DRIVER M: Ludovic Desroches @@ -1450,6 +1453,7 @@ W:http://people.redhat.com/sgrubb/audit/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current.git S: Maintained F: include/linux/audit.h +F: include/uapi/linux/audit.h F: kernel/audit* AUXILIARY DISPLAY DRIVERS @@ -1480,7 +1484,7 @@ M:Ralf Baechle L: linux-h...@vger.kernel.org W: http://www.linux-ax25.org/ S: Maintained -F: include/linux/ax25.h +F: include/uapi/linux/ax25.h F: include/net/ax25.h F: net/ax25/ @@ -1533,7 +1537,7 @@ M:"Tigran A. Aivazian" S: Maintained F: Documentation/filesystems/bfs.txt F: fs/bfs/ -F: include/linux/bfs_fs.h +F: include/uapi/linux/bfs_fs.h BLACKFIN ARCHITECTURE M: Mike Frysinger @@ -1630,7 +1634,7 @@ L:net...@vger.kernel.org W: http://sourceforge.net/projects/bonding/ S: Supported F: drivers/net/bonding/ -F: include/linux/if_bonding.h +F: include/uapi/linux/if_bonding.h BROADCOM B44 10/100 ETHERNET DRIVER M: Gary Zambrano @@ -1710,6 +1714,7 @@ L:linux-s...@vger.kernel.org S: Supported F: block/bsg.c F: include/linux/bsg.h +F: include/uapi/linux/bsg.h BT87X AUDIO DRIVER M: Clemens Ladisch @@ -1780,7 +1785,7 @@ L:net...@vger.kernel.org S: Supported F: Documentation/networking/caif/ F: drivers/net/caif/ -F: include/linux/caif/ +F: include/uapi/linux/caif/ F: include/net/caif/ F: net/caif/ @@ -1801,11 +1806,11 @@ W: http://gitorious.org/linux-can T: git git://gitorious.org/linux-can/linux-can-next.git S: Maintained F: net/can/ -F: include/linux/can.h F: include/linux/can/core.h -F: include/linux/can/bcm.h -F: include/linux/can/raw.h -F: include/linux/can/gw.h +F: include/uapi/linux/can.h +F: include/uapi/linux/can/bcm.h +F: include/uapi/linux/can/raw.h +F: include/uapi/linux/can/gw.h CAN NETWORK DRIVERS M: Wolfgang Grandegger @@ -1816,15 +1821,16 @@ T: git git://gitorious.org/linux-can/linux-can-next.git S: Maintained F: drivers/net/can/ F: include/linux/can/dev.h -F: include/linux/can/error.h -F: include/linux/can/netlink.h F: include/linux/can/platform/ +F: include/uapi/linux/can/error.h +F: include/uapi/linux/can/netlink.h CAPABILITIES M: Serge Hallyn L: linux-security-mod...@vger.kernel.org S: Supported F: include/linux/capability.h +F: include/uapi/linux/capability.h F: security/capability.c F: security/commoncap.c F: kernel/capability.c @@ -1837,6 +1843,7 @@ W:http://www.ibm.com/developerworks/power/cell/ S: Supported F: arch/powerpc/include/asm/cell*.h F: arch/powerpc/include/asm/spu*.h +F: arch/powerpc/include/uapi/asm/spu*.h F: arch/powerpc/oprofile/*cell* F: arch/powerpc/platforms/cell/ @@ -1885,7 +1892,7 @@ W:http://wireless.kernel.org/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git S: Maintained -F: include/linux/nl80211.h +F: include/uapi/linux/nl80211.h F: include/net/cfg80211.h F: net/wireless/* X: net/wireless/wext* @@ -1988,6 +1995,7 @@ S:Maintained F: Documentation/filesystems/coda.txt F: fs/coda/ F: include/linux/coda*.h +F: include/uapi/linux/coda*.h COMMON CLK FRAMEWORK M: Mike Turquette @@ -2233,6 +2241,7 @@ W:http://www.cyclades.com/ S: Orphan F: drivers/tty/cyclades.c F: include/linux/cyclades.h +F: include/uapi/linux/cyclades.h CYCLADES PC300 DRIVER W: http://www.cyclades.com/ @@ -2290,6 +2299,7 @@ L:d...@vger.kernel.org W: http://www.linuxfoundation.org/collaborate/workgroups/networking/dccp S: Maintained
[PATCH 11/19] MAINTAINERS: fix drivers/ieee802154/
This directory was moved to drivers/net/ieee802154/ by commit 31d178b (drivers/ieee802154: move ieee802154 drivers to net folder). Cc: Alexander Smirnov Cc: Dmitry Eremin-Solenikov Cc: linux-zigbee-de...@lists.sourceforge.net Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 9bc4861d..6e54716 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3800,7 +3800,7 @@ T:git git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan.git S: Maintained F: net/ieee802154/ F: net/mac802154/ -F: drivers/ieee802154/ +F: drivers/net/ieee802154/ IIO SUBSYSTEM AND DRIVERS M: Jonathan Cameron -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 09/19] MAINTAINERS: remove drivers/video/epson1355fb.c
This driver was removed by commit 1c3a918 (ARM: clps711x: Remove board support for CEIVA). Cc: Christopher Hoover Cc: Christopher Hoover Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 6 -- 1 file changed, 6 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index b8dfc72..3bf84d4 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2889,12 +2889,6 @@ M: Maxim Levitsky S: Maintained F: drivers/media/rc/ene_ir.* -EPSON 1355 FRAMEBUFFER DRIVER -M: Christopher Hoover -M: Christopher Hoover -S: Maintained -F: drivers/video/epson1355fb.c - EPSON S1D13XXX FRAMEBUFFER DRIVER M: Kristoffer Ericson S: Maintained -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 10/19] MAINTAINERS: fix .../plat-mxc/include/mach/imxfb.h
This file was moved to include/linux/platform_data/video-imxfb.h by commit 82906b1 (ARM: imx: move platform_data definitions). Acked-by: Sascha Hauer Cc: linux-fb...@vger.kernel.org Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 3bf84d4..9bc4861d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3138,7 +3138,7 @@ M:Sascha Hauer L: linux-fb...@vger.kernel.org L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers) S: Maintained -F: arch/arm/plat-mxc/include/mach/imxfb.h +F: include/linux/platform_data/video-imxfb.h F: drivers/video/imxfb.c FREESCALE SOC FS_ENET DRIVER -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 12/19] MAINTAINERS: remove firmware/isci/
This directory was removed by commit 7d99b3a (isci, firmware: Remove isci fallback parameter blob and generator). Cc: Ben Hutchings Cc: Dan Williams Cc: James Bottomley Cc: Intel SCU Linux support Cc: Lukasz Dorau Cc: Maciej Patelczyk Cc: Dave Jiang Cc: linux-s...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 6e54716..78d07f5 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3878,7 +3878,6 @@ L:linux-s...@vger.kernel.org T: git git://git.code.sf.net/p/intel-sas/isci S: Supported F: drivers/scsi/isci/ -F: firmware/isci/ INTEL IDLE DRIVER M: Len Brown -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 13/19] MAINTAINERS: remove arch/x86/platform/mrst/pmu.*
These files were removed by commit 1a8359e (x86/mid: Remove Intel Moorestown). Cc: Alan Cox Cc: Len Brown Cc: linux...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 6 -- 1 file changed, 6 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 78d07f5..fbb9c06 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3970,12 +3970,6 @@ F: Documentation/networking/ixgbe.txt F: Documentation/networking/ixgbevf.txt F: drivers/net/ethernet/intel/ -INTEL MRST PMU DRIVER -M: Len Brown -L: linux...@vger.kernel.org -S: Supported -F: arch/x86/platform/mrst/pmu.* - INTEL PRO/WIRELESS 2100, 2200BG, 2915ABG NETWORK CONNECTION SUPPORT M: Stanislav Yakovlev L: linux-wirel...@vger.kernel.org -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 03/19] MAINTAINERS: remove arch/arm/plat-s5p/
These files were merged into plat-samsung. Acked-by: Kukjin Kim Cc: Ben Dooks Cc: linux-arm-ker...@lists.infradead.org Cc: linux-samsung-...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index f4890a3..e013f00 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1074,7 +1074,6 @@ W:http://www.fluff.org/ben/linux/ S: Maintained F: arch/arm/plat-samsung/ F: arch/arm/plat-s3c24xx/ -F: arch/arm/plat-s5p/ F: arch/arm/mach-s3c24*/ F: arch/arm/mach-s3c64xx/ F: drivers/*/*s3c2410* @@ -1105,7 +1104,6 @@ M:Sylwester Nawrocki L: linux-arm-ker...@lists.infradead.org L: linux-me...@vger.kernel.org S: Maintained -F: arch/arm/plat-s5p/dev-fimc* F: arch/arm/plat-samsung/include/plat/*fimc* F: drivers/media/platform/s5p-fimc/ @@ -1116,7 +1114,7 @@ M:Jeongtae Park L: linux-arm-ker...@lists.infradead.org L: linux-me...@vger.kernel.org S: Maintained -F: arch/arm/plat-s5p/dev-mfc.c +F: arch/arm/plat-samsung/s5p-dev-mfc.c F: drivers/media/platform/s5p-mfc/ ARM/SAMSUNG S5P SERIES TV SUBSYSTEM SUPPORT -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 00/19] MAINTAINERS: fix file patterns
I could not find the maintainer for the MAINTAINERS file, so sending directly to Linus. Sorry if I am mistaken. This patch series attempts to fix F: patterns on the MAINTAINERS file which point to non-existing files or directories. Patch 7 also attempts to add matching uapi/ patterns to all include directory patterns, if applicable. The only changes since my previous posting of this patch series to linux-kernel are: removed one NAKed patch, removed patches which are going in via their respective subsystem trees, and added all the ACKs I received for these patches. Cesar Eduardo Barros (19): MAINTAINERS: remove drivers/platform/msm/ MAINTAINERS: remove arch/arm/common/time-acorn.c MAINTAINERS: remove arch/arm/plat-s5p/ MAINTAINERS: fix drivers/rtc/rtc-vt8500.c MAINTAINERS: fix arch/arm/mach-at91/include/mach/at_hdmac.h MAINTAINERS: fix drivers/media/platform/atmel-isi.c MAINTAINERS: adjust for UAPI MAINTAINERS: fix drivers/media/usb/dvb-usb/cxusb* MAINTAINERS: remove drivers/video/epson1355fb.c MAINTAINERS: fix .../plat-mxc/include/mach/imxfb.h MAINTAINERS: fix drivers/ieee802154/ MAINTAINERS: remove firmware/isci/ MAINTAINERS: remove arch/x86/platform/mrst/pmu.* MAINTAINERS: fix Documentation/mei/ MAINTAINERS: remove drivers/mmc/host/imxmmc.* MAINTAINERS: remove arch/*/lib/perf_event*.c MAINTAINERS: remove include/linux/of_pwm.h MAINTAINERS: fix BAST MAINTAINERS: fix drivers/staging/sm7xx/ MAINTAINERS | 209 +--- 1 file changed, 130 insertions(+), 79 deletions(-) -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 15/19] MAINTAINERS: remove drivers/mmc/host/imxmmc.*
This driver was removed by commit 6187fee (mmc: remove imxmmc driver). Acked-by: Pavel Pisa Cc: Sascha Hauer Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 6 -- 1 file changed, 6 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 6b9fc9e..eb0cc18 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4908,12 +4908,6 @@ F: Documentation/video4linux/meye.txt F: drivers/media/pci/meye/ F: include/uapi/linux/meye.h -MOTOROLA IMX MMC/SD HOST CONTROLLER INTERFACE DRIVER -M: Pavel Pisa -L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers) -S: Maintained -F: drivers/mmc/host/imxmmc.* - MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD M: Jiri Slaby S: Maintained -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 14/19] MAINTAINERS: fix Documentation/mei/
The documentation was moved to Documentation/misc-devices/mei/ instead. Acked-by: "Winkler, Tomas" Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index fbb9c06..6b9fc9e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4022,7 +4022,7 @@ L:linux-kernel@vger.kernel.org S: Supported F: include/uapi/linux/mei.h F: drivers/misc/mei/* -F: Documentation/mei/* +F: Documentation/misc-devices/mei/* IOC3 ETHERNET DRIVER M: Ralf Baechle -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 04/19] MAINTAINERS: fix drivers/rtc/rtc-vt8500.c
Cc: Tony Prisk Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index e013f00..f5df323 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1232,7 +1232,7 @@ F:drivers/video/vt8500lcdfb.* F: drivers/video/wm8505fb* F: drivers/video/wmt_ge_rops.* F: drivers/tty/serial/vt8500_serial.c -F: drivers/rtc/rtc-vt8500-c +F: drivers/rtc/rtc-vt8500.c ARM/ZIPIT Z2 SUPPORT M: Marek Vasut -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 16/19] MAINTAINERS: remove arch/*/lib/perf_event*.c
This pattern only matched arch/frv/lib/perf_event.c, which was removed by commit e360adb (irq_work: Add generic hardirq context callbacks). Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index eb0cc18..670db8e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5682,7 +5682,6 @@ F:arch/*/kernel/perf_event*.c F: arch/*/kernel/*/perf_event*.c F: arch/*/kernel/*/*/perf_event*.c F: arch/*/include/asm/perf_event.h -F: arch/*/lib/perf_event*.c F: arch/*/kernel/perf_callchain.c F: tools/perf/ -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 17/19] MAINTAINERS: remove include/linux/of_pwm.h
Added by commit 200efed (pwm: Take over maintainership of the PWM subsystem), but I could not find any trace of that file being ever added to the repository. Acked-by: Thierry Reding Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 670db8e..26363fd 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5949,7 +5949,6 @@ T:git git://gitorious.org/linux-pwm/linux-pwm.git F: Documentation/pwm.txt F: Documentation/devicetree/bindings/pwm/ F: include/linux/pwm.h -F: include/linux/of_pwm.h F: drivers/pwm/ F: drivers/video/backlight/pwm_bl.c F: include/linux/pwm_backlight.h -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 18/19] MAINTAINERS: fix BAST
These files were renamed by commit 85fd6d6 (ARM: S3C2410: move mach-s3c2410/* into mach-s3c24xx/). Cc: Ben Dooks Cc: Vincent Sanders Cc: Simtec Linux Team Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 26363fd..f900562 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -6642,9 +6642,9 @@ P:Vincent Sanders M: Simtec Linux Team W: http://www.simtec.co.uk/products/EB2410ITX/ S: Supported -F: arch/arm/mach-s3c2410/mach-bast.c -F: arch/arm/mach-s3c2410/bast-ide.c -F: arch/arm/mach-s3c2410/bast-irq.c +F: arch/arm/mach-s3c24xx/mach-bast.c +F: arch/arm/mach-s3c24xx/bast-ide.c +F: arch/arm/mach-s3c24xx/bast-irq.c TI DAVINCI MACHINE SUPPORT M: Sekhar Nori -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 19/19] MAINTAINERS: fix drivers/staging/sm7xx/
This directory was moved to drivers/staging/sm7xxfb/ by commit 925aa66 (staging: sm7xxfb: sm7xx becomes sm7xxfb). Acked-by: Javier Muñoz Cc: Teddy Wang Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index f900562..6bcc044 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7076,7 +7076,7 @@ F:drivers/staging/rtl8712/ STAGING - SILICON MOTION SM7XX FRAME BUFFER DRIVER M: Teddy Wang S: Odd Fixes -F: drivers/staging/sm7xx/ +F: drivers/staging/sm7xxfb/ STAGING - SOFTLOGIC 6x10 MPEG CODEC M: Ben Collins -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 02/19] MAINTAINERS: remove arch/arm/common/time-acorn.c
This file was moved to arch/arm/mach-rpc/time.c by commit a1be5d6 (ARM: riscpc: move time-acorn.c to mach-rpc), and the pattern for arch/arm/mach-rpc/ already exists. Cc: Russell King Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 217630e..f4890a3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1050,7 +1050,6 @@ M:Russell King L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers) W: http://www.arm.linux.org.uk/ S: Maintained -F: arch/arm/common/time-acorn.c F: arch/arm/include/asm/hardware/entry-macro-iomd.S F: arch/arm/include/asm/hardware/ioc.h F: arch/arm/include/asm/hardware/iomd.h -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 05/19] MAINTAINERS: fix arch/arm/mach-at91/include/mach/at_hdmac.h
This file was moved to include/linux/platform_data/dma-atmel.h by commit 7cdc39e (ARM: at91: move platform_data definitions). Cc: Nicolas Ferre Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index f5df323..1fb780e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1389,7 +1389,7 @@ L:linux-arm-ker...@lists.infradead.org (moderated for non-subscribers) S: Supported F: drivers/dma/at_hdmac.c F: drivers/dma/at_hdmac_regs.h -F: arch/arm/mach-at91/include/mach/at_hdmac.h +F: include/linux/platform_data/dma-atmel.h ATMEL ISI DRIVER M: Josh Wu -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 05/19] MAINTAINERS: fix arch/arm/mach-at91/include/mach/at_hdmac.h
This file was moved to include/linux/platform_data/dma-atmel.h by commit 7cdc39e (ARM: at91: move platform_data definitions). Cc: Nicolas Ferre nicolas.fe...@atmel.com Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index f5df323..1fb780e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1389,7 +1389,7 @@ L:linux-arm-ker...@lists.infradead.org (moderated for non-subscribers) S: Supported F: drivers/dma/at_hdmac.c F: drivers/dma/at_hdmac_regs.h -F: arch/arm/mach-at91/include/mach/at_hdmac.h +F: include/linux/platform_data/dma-atmel.h ATMEL ISI DRIVER M: Josh Wu josh...@atmel.com -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 02/19] MAINTAINERS: remove arch/arm/common/time-acorn.c
This file was moved to arch/arm/mach-rpc/time.c by commit a1be5d6 (ARM: riscpc: move time-acorn.c to mach-rpc), and the pattern for arch/arm/mach-rpc/ already exists. Cc: Russell King li...@arm.linux.org.uk Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 217630e..f4890a3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1050,7 +1050,6 @@ M:Russell King li...@arm.linux.org.uk L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers) W: http://www.arm.linux.org.uk/ S: Maintained -F: arch/arm/common/time-acorn.c F: arch/arm/include/asm/hardware/entry-macro-iomd.S F: arch/arm/include/asm/hardware/ioc.h F: arch/arm/include/asm/hardware/iomd.h -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 19/19] MAINTAINERS: fix drivers/staging/sm7xx/
This directory was moved to drivers/staging/sm7xxfb/ by commit 925aa66 (staging: sm7xxfb: sm7xx becomes sm7xxfb). Acked-by: Javier Muñoz jmun...@igalia.com Cc: Teddy Wang teddy.w...@siliconmotion.com.cn Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index f900562..6bcc044 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7076,7 +7076,7 @@ F:drivers/staging/rtl8712/ STAGING - SILICON MOTION SM7XX FRAME BUFFER DRIVER M: Teddy Wang teddy.w...@siliconmotion.com.cn S: Odd Fixes -F: drivers/staging/sm7xx/ +F: drivers/staging/sm7xxfb/ STAGING - SOFTLOGIC 6x10 MPEG CODEC M: Ben Collins bcoll...@bluecherry.net -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 18/19] MAINTAINERS: fix BAST
These files were renamed by commit 85fd6d6 (ARM: S3C2410: move mach-s3c2410/* into mach-s3c24xx/). Cc: Ben Dooks ben-li...@fluff.org Cc: Vincent Sanders vi...@simtec.co.uk Cc: Simtec Linux Team li...@simtec.co.uk Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 26363fd..f900562 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -6642,9 +6642,9 @@ P:Vincent Sanders vi...@simtec.co.uk M: Simtec Linux Team li...@simtec.co.uk W: http://www.simtec.co.uk/products/EB2410ITX/ S: Supported -F: arch/arm/mach-s3c2410/mach-bast.c -F: arch/arm/mach-s3c2410/bast-ide.c -F: arch/arm/mach-s3c2410/bast-irq.c +F: arch/arm/mach-s3c24xx/mach-bast.c +F: arch/arm/mach-s3c24xx/bast-ide.c +F: arch/arm/mach-s3c24xx/bast-irq.c TI DAVINCI MACHINE SUPPORT M: Sekhar Nori nsek...@ti.com -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 17/19] MAINTAINERS: remove include/linux/of_pwm.h
Added by commit 200efed (pwm: Take over maintainership of the PWM subsystem), but I could not find any trace of that file being ever added to the repository. Acked-by: Thierry Reding thierry.red...@avionic-design.de Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 670db8e..26363fd 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5949,7 +5949,6 @@ T:git git://gitorious.org/linux-pwm/linux-pwm.git F: Documentation/pwm.txt F: Documentation/devicetree/bindings/pwm/ F: include/linux/pwm.h -F: include/linux/of_pwm.h F: drivers/pwm/ F: drivers/video/backlight/pwm_bl.c F: include/linux/pwm_backlight.h -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 04/19] MAINTAINERS: fix drivers/rtc/rtc-vt8500.c
Cc: Tony Prisk li...@prisktech.co.nz Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index e013f00..f5df323 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1232,7 +1232,7 @@ F:drivers/video/vt8500lcdfb.* F: drivers/video/wm8505fb* F: drivers/video/wmt_ge_rops.* F: drivers/tty/serial/vt8500_serial.c -F: drivers/rtc/rtc-vt8500-c +F: drivers/rtc/rtc-vt8500.c ARM/ZIPIT Z2 SUPPORT M: Marek Vasut marek.va...@gmail.com -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 16/19] MAINTAINERS: remove arch/*/lib/perf_event*.c
This pattern only matched arch/frv/lib/perf_event.c, which was removed by commit e360adb (irq_work: Add generic hardirq context callbacks). Cc: Peter Zijlstra a.p.zijls...@chello.nl Cc: Paul Mackerras pau...@samba.org Cc: Ingo Molnar mi...@redhat.com Cc: Arnaldo Carvalho de Melo a...@ghostprotocols.net Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index eb0cc18..670db8e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5682,7 +5682,6 @@ F:arch/*/kernel/perf_event*.c F: arch/*/kernel/*/perf_event*.c F: arch/*/kernel/*/*/perf_event*.c F: arch/*/include/asm/perf_event.h -F: arch/*/lib/perf_event*.c F: arch/*/kernel/perf_callchain.c F: tools/perf/ -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 15/19] MAINTAINERS: remove drivers/mmc/host/imxmmc.*
This driver was removed by commit 6187fee (mmc: remove imxmmc driver). Acked-by: Pavel Pisa p...@cmp.felk.cvut.cz Cc: Sascha Hauer s.ha...@pengutronix.de Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 6 -- 1 file changed, 6 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 6b9fc9e..eb0cc18 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4908,12 +4908,6 @@ F: Documentation/video4linux/meye.txt F: drivers/media/pci/meye/ F: include/uapi/linux/meye.h -MOTOROLA IMX MMC/SD HOST CONTROLLER INTERFACE DRIVER -M: Pavel Pisa pp...@pikron.com -L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers) -S: Maintained -F: drivers/mmc/host/imxmmc.* - MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD M: Jiri Slaby jirisl...@gmail.com S: Maintained -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 14/19] MAINTAINERS: fix Documentation/mei/
The documentation was moved to Documentation/misc-devices/mei/ instead. Acked-by: Winkler, Tomas tomas.wink...@intel.com Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index fbb9c06..6b9fc9e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4022,7 +4022,7 @@ L:linux-kernel@vger.kernel.org S: Supported F: include/uapi/linux/mei.h F: drivers/misc/mei/* -F: Documentation/mei/* +F: Documentation/misc-devices/mei/* IOC3 ETHERNET DRIVER M: Ralf Baechle r...@linux-mips.org -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 00/19] MAINTAINERS: fix file patterns
I could not find the maintainer for the MAINTAINERS file, so sending directly to Linus. Sorry if I am mistaken. This patch series attempts to fix F: patterns on the MAINTAINERS file which point to non-existing files or directories. Patch 7 also attempts to add matching uapi/ patterns to all include directory patterns, if applicable. The only changes since my previous posting of this patch series to linux-kernel are: removed one NAKed patch, removed patches which are going in via their respective subsystem trees, and added all the ACKs I received for these patches. Cesar Eduardo Barros (19): MAINTAINERS: remove drivers/platform/msm/ MAINTAINERS: remove arch/arm/common/time-acorn.c MAINTAINERS: remove arch/arm/plat-s5p/ MAINTAINERS: fix drivers/rtc/rtc-vt8500.c MAINTAINERS: fix arch/arm/mach-at91/include/mach/at_hdmac.h MAINTAINERS: fix drivers/media/platform/atmel-isi.c MAINTAINERS: adjust for UAPI MAINTAINERS: fix drivers/media/usb/dvb-usb/cxusb* MAINTAINERS: remove drivers/video/epson1355fb.c MAINTAINERS: fix .../plat-mxc/include/mach/imxfb.h MAINTAINERS: fix drivers/ieee802154/ MAINTAINERS: remove firmware/isci/ MAINTAINERS: remove arch/x86/platform/mrst/pmu.* MAINTAINERS: fix Documentation/mei/ MAINTAINERS: remove drivers/mmc/host/imxmmc.* MAINTAINERS: remove arch/*/lib/perf_event*.c MAINTAINERS: remove include/linux/of_pwm.h MAINTAINERS: fix BAST MAINTAINERS: fix drivers/staging/sm7xx/ MAINTAINERS | 209 +--- 1 file changed, 130 insertions(+), 79 deletions(-) -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 03/19] MAINTAINERS: remove arch/arm/plat-s5p/
These files were merged into plat-samsung. Acked-by: Kukjin Kim kgene@samsung.com Cc: Ben Dooks ben-li...@fluff.org Cc: linux-arm-ker...@lists.infradead.org Cc: linux-samsung-...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index f4890a3..e013f00 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1074,7 +1074,6 @@ W:http://www.fluff.org/ben/linux/ S: Maintained F: arch/arm/plat-samsung/ F: arch/arm/plat-s3c24xx/ -F: arch/arm/plat-s5p/ F: arch/arm/mach-s3c24*/ F: arch/arm/mach-s3c64xx/ F: drivers/*/*s3c2410* @@ -1105,7 +1104,6 @@ M:Sylwester Nawrocki s.nawro...@samsung.com L: linux-arm-ker...@lists.infradead.org L: linux-me...@vger.kernel.org S: Maintained -F: arch/arm/plat-s5p/dev-fimc* F: arch/arm/plat-samsung/include/plat/*fimc* F: drivers/media/platform/s5p-fimc/ @@ -1116,7 +1114,7 @@ M:Jeongtae Park jtp.p...@samsung.com L: linux-arm-ker...@lists.infradead.org L: linux-me...@vger.kernel.org S: Maintained -F: arch/arm/plat-s5p/dev-mfc.c +F: arch/arm/plat-samsung/s5p-dev-mfc.c F: drivers/media/platform/s5p-mfc/ ARM/SAMSUNG S5P SERIES TV SUBSYSTEM SUPPORT -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 13/19] MAINTAINERS: remove arch/x86/platform/mrst/pmu.*
These files were removed by commit 1a8359e (x86/mid: Remove Intel Moorestown). Cc: Alan Cox a...@linux.intel.com Cc: Len Brown len.br...@intel.com Cc: linux...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 6 -- 1 file changed, 6 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 78d07f5..fbb9c06 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3970,12 +3970,6 @@ F: Documentation/networking/ixgbe.txt F: Documentation/networking/ixgbevf.txt F: drivers/net/ethernet/intel/ -INTEL MRST PMU DRIVER -M: Len Brown len.br...@intel.com -L: linux...@vger.kernel.org -S: Supported -F: arch/x86/platform/mrst/pmu.* - INTEL PRO/WIRELESS 2100, 2200BG, 2915ABG NETWORK CONNECTION SUPPORT M: Stanislav Yakovlev stas.yakov...@gmail.com L: linux-wirel...@vger.kernel.org -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 12/19] MAINTAINERS: remove firmware/isci/
This directory was removed by commit 7d99b3a (isci, firmware: Remove isci fallback parameter blob and generator). Cc: Ben Hutchings b...@decadent.org.uk Cc: Dan Williams dan.j.willi...@intel.com Cc: James Bottomley jbottom...@parallels.com Cc: Intel SCU Linux support intel-linux-...@intel.com Cc: Lukasz Dorau lukasz.do...@intel.com Cc: Maciej Patelczyk maciej.patelc...@intel.com Cc: Dave Jiang dave.ji...@intel.com Cc: linux-s...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 6e54716..78d07f5 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3878,7 +3878,6 @@ L:linux-s...@vger.kernel.org T: git git://git.code.sf.net/p/intel-sas/isci S: Supported F: drivers/scsi/isci/ -F: firmware/isci/ INTEL IDLE DRIVER M: Len Brown l...@kernel.org -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 10/19] MAINTAINERS: fix .../plat-mxc/include/mach/imxfb.h
This file was moved to include/linux/platform_data/video-imxfb.h by commit 82906b1 (ARM: imx: move platform_data definitions). Acked-by: Sascha Hauer s.ha...@pengutronix.de Cc: linux-fb...@vger.kernel.org Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 3bf84d4..9bc4861d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3138,7 +3138,7 @@ M:Sascha Hauer ker...@pengutronix.de L: linux-fb...@vger.kernel.org L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers) S: Maintained -F: arch/arm/plat-mxc/include/mach/imxfb.h +F: include/linux/platform_data/video-imxfb.h F: drivers/video/imxfb.c FREESCALE SOC FS_ENET DRIVER -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 11/19] MAINTAINERS: fix drivers/ieee802154/
This directory was moved to drivers/net/ieee802154/ by commit 31d178b (drivers/ieee802154: move ieee802154 drivers to net folder). Cc: Alexander Smirnov alex.bluesman.smir...@gmail.com Cc: Dmitry Eremin-Solenikov dbarysh...@gmail.com Cc: linux-zigbee-de...@lists.sourceforge.net Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 9bc4861d..6e54716 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3800,7 +3800,7 @@ T:git git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan.git S: Maintained F: net/ieee802154/ F: net/mac802154/ -F: drivers/ieee802154/ +F: drivers/net/ieee802154/ IIO SUBSYSTEM AND DRIVERS M: Jonathan Cameron ji...@cam.ac.uk -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 09/19] MAINTAINERS: remove drivers/video/epson1355fb.c
This driver was removed by commit 1c3a918 (ARM: clps711x: Remove board support for CEIVA). Cc: Christopher Hoover c...@murgatroid.com Cc: Christopher Hoover c...@hpl.hp.com Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 6 -- 1 file changed, 6 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index b8dfc72..3bf84d4 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2889,12 +2889,6 @@ M: Maxim Levitsky maximlevit...@gmail.com S: Maintained F: drivers/media/rc/ene_ir.* -EPSON 1355 FRAMEBUFFER DRIVER -M: Christopher Hoover c...@murgatroid.com -M: Christopher Hoover c...@hpl.hp.com -S: Maintained -F: drivers/video/epson1355fb.c - EPSON S1D13XXX FRAMEBUFFER DRIVER M: Kristoffer Ericson kristoffer.eric...@gmail.com S: Maintained -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 08/19] MAINTAINERS: fix drivers/media/usb/dvb-usb/cxusb*
This driver was never at dvb-usb-v2, as far as I could see. Cc: Michael Krufky mkru...@linuxtv.org Cc: linux-me...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 8265764..b8dfc72 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2594,7 +2594,7 @@ W:http://github.com/mkrufky Q: http://patchwork.linuxtv.org/project/linux-media/list/ T: git git://linuxtv.org/media_tree.git S: Maintained -F: drivers/media/usb/dvb-usb-v2/cxusb* +F: drivers/media/usb/dvb-usb/cxusb* DVB_USB_CYPRESS_FIRMWARE MEDIA DRIVER M: Antti Palosaari cr...@iki.fi -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 07/19] MAINTAINERS: adjust for UAPI
Several headers were moved or split to uapi/. Acked-by: David Howells dhowe...@redhat.com Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 160 1 file changed, 118 insertions(+), 42 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index efbdf54..8265764 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -442,6 +442,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git S: Maintained F: drivers/char/agp/ F: include/linux/agp* +F: include/uapi/linux/agp* AHA152X SCSI DRIVER M: Juergen E. Fischer fisc...@norbit.de @@ -582,6 +583,7 @@ M: Jiri Kosina jkos...@suse.cz S: Odd fixes F: arch/x86/kernel/apm_32.c F: include/linux/apm_bios.h +F: include/uapi/linux/apm_bios.h F: drivers/char/apm-emulation.c APPLE BCM5974 MULTITOUCH DRIVER @@ -1363,6 +1365,7 @@ W:http://linux-atm.sourceforge.net S: Maintained F: drivers/atm/ F: include/linux/atm* +F: include/uapi/linux/atm* ATMEL AT91 MCI DRIVER M: Ludovic Desroches ludovic.desroc...@atmel.com @@ -1450,6 +1453,7 @@ W:http://people.redhat.com/sgrubb/audit/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current.git S: Maintained F: include/linux/audit.h +F: include/uapi/linux/audit.h F: kernel/audit* AUXILIARY DISPLAY DRIVERS @@ -1480,7 +1484,7 @@ M:Ralf Baechle r...@linux-mips.org L: linux-h...@vger.kernel.org W: http://www.linux-ax25.org/ S: Maintained -F: include/linux/ax25.h +F: include/uapi/linux/ax25.h F: include/net/ax25.h F: net/ax25/ @@ -1533,7 +1537,7 @@ M:Tigran A. Aivazian tig...@aivazian.fsnet.co.uk S: Maintained F: Documentation/filesystems/bfs.txt F: fs/bfs/ -F: include/linux/bfs_fs.h +F: include/uapi/linux/bfs_fs.h BLACKFIN ARCHITECTURE M: Mike Frysinger vap...@gentoo.org @@ -1630,7 +1634,7 @@ L:net...@vger.kernel.org W: http://sourceforge.net/projects/bonding/ S: Supported F: drivers/net/bonding/ -F: include/linux/if_bonding.h +F: include/uapi/linux/if_bonding.h BROADCOM B44 10/100 ETHERNET DRIVER M: Gary Zambrano zambr...@broadcom.com @@ -1710,6 +1714,7 @@ L:linux-s...@vger.kernel.org S: Supported F: block/bsg.c F: include/linux/bsg.h +F: include/uapi/linux/bsg.h BT87X AUDIO DRIVER M: Clemens Ladisch clem...@ladisch.de @@ -1780,7 +1785,7 @@ L:net...@vger.kernel.org S: Supported F: Documentation/networking/caif/ F: drivers/net/caif/ -F: include/linux/caif/ +F: include/uapi/linux/caif/ F: include/net/caif/ F: net/caif/ @@ -1801,11 +1806,11 @@ W: http://gitorious.org/linux-can T: git git://gitorious.org/linux-can/linux-can-next.git S: Maintained F: net/can/ -F: include/linux/can.h F: include/linux/can/core.h -F: include/linux/can/bcm.h -F: include/linux/can/raw.h -F: include/linux/can/gw.h +F: include/uapi/linux/can.h +F: include/uapi/linux/can/bcm.h +F: include/uapi/linux/can/raw.h +F: include/uapi/linux/can/gw.h CAN NETWORK DRIVERS M: Wolfgang Grandegger w...@grandegger.com @@ -1816,15 +1821,16 @@ T: git git://gitorious.org/linux-can/linux-can-next.git S: Maintained F: drivers/net/can/ F: include/linux/can/dev.h -F: include/linux/can/error.h -F: include/linux/can/netlink.h F: include/linux/can/platform/ +F: include/uapi/linux/can/error.h +F: include/uapi/linux/can/netlink.h CAPABILITIES M: Serge Hallyn serge.hal...@canonical.com L: linux-security-mod...@vger.kernel.org S: Supported F: include/linux/capability.h +F: include/uapi/linux/capability.h F: security/capability.c F: security/commoncap.c F: kernel/capability.c @@ -1837,6 +1843,7 @@ W:http://www.ibm.com/developerworks/power/cell/ S: Supported F: arch/powerpc/include/asm/cell*.h F: arch/powerpc/include/asm/spu*.h +F: arch/powerpc/include/uapi/asm/spu*.h F: arch/powerpc/oprofile/*cell* F: arch/powerpc/platforms/cell/ @@ -1885,7 +1892,7 @@ W:http://wireless.kernel.org/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git S: Maintained -F: include/linux/nl80211.h +F: include/uapi/linux/nl80211.h F: include/net/cfg80211.h F: net/wireless/* X: net/wireless/wext* @@ -1988,6 +1995,7 @@ S:Maintained F: Documentation/filesystems/coda.txt F: fs/coda/ F: include/linux/coda*.h +F: include/uapi/linux/coda*.h COMMON CLK FRAMEWORK M: Mike Turquette mturque...@ti.com @@ -2233,6 +2241,7 @@ W:http://www.cyclades.com/ S: Orphan F: drivers/tty/cyclades.c F: include/linux/cyclades.h +F
[PATCH 01/19] MAINTAINERS: remove drivers/platform/msm/
Added by commit 8a5700c (add drivers/platform/msm to MSM subsystem) in 2011, but I could not find any trace of that directory being ever added to the repository. Acked-by: David Brown dav...@codeaurora.org Acked-by: Bryan Huntsman bry...@codeaurora.org Cc: Kenneth Heitke khei...@codeaurora.org Cc: Daniel Walker dwal...@fifo99.com Cc: linux-arm-...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 9386a63..217630e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -987,7 +987,6 @@ F: drivers/mmc/host/msm_sdcc.c F: drivers/mmc/host/msm_sdcc.h F: drivers/tty/serial/msm_serial.h F: drivers/tty/serial/msm_serial.c -F: drivers/platform/msm/ F: drivers/*/pm8???-* F: include/linux/mfd/pm8xxx/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 06/19] MAINTAINERS: fix drivers/media/platform/atmel-isi.c
This file was moved to drivers/media/platform/soc_camera/atmel-isi.c by commit b47ff4a ([media] move soc_camera to its own directory). Cc: Mauro Carvalho Chehab mche...@redhat.com Cc: Josh Wu josh...@atmel.com Cc: linux-me...@vger.kernel.org Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 1fb780e..efbdf54 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1395,7 +1395,7 @@ ATMEL ISI DRIVER M: Josh Wu josh...@atmel.com L: linux-me...@vger.kernel.org S: Supported -F: drivers/media/platform/atmel-isi.c +F: drivers/media/platform/soc_camera/atmel-isi.c F: include/media/atmel-isi.h ATMEL LCDFB DRIVER -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] mv-otg: use to_delayed_work instead of cast
Directly casting a work_struct pointer to a delayed_work is risky if the work member of struct delayed_work is ever moved from being the first member. Instead, use the inline function to_delayed_work(), which does the same cast in a safer way (using container_of). Signed-off-by: Cesar Eduardo Barros --- drivers/usb/otg/mv_otg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/otg/mv_otg.c b/drivers/usb/otg/mv_otg.c index 3f124e8..156e1d9 100644 --- a/drivers/usb/otg/mv_otg.c +++ b/drivers/usb/otg/mv_otg.c @@ -420,7 +420,7 @@ static void mv_otg_work(struct work_struct *work) struct usb_otg *otg; int old_state; - mvotg = container_of((struct delayed_work *)work, struct mv_otg, work); + mvotg = container_of(to_delayed_work(work), struct mv_otg, work); run: /* work queue is single thread, or we need spin_lock to protect */ -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] mv-otg: use to_delayed_work instead of cast
Directly casting a work_struct pointer to a delayed_work is risky if the work member of struct delayed_work is ever moved from being the first member. Instead, use the inline function to_delayed_work(), which does the same cast in a safer way (using container_of). Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net --- drivers/usb/otg/mv_otg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/otg/mv_otg.c b/drivers/usb/otg/mv_otg.c index 3f124e8..156e1d9 100644 --- a/drivers/usb/otg/mv_otg.c +++ b/drivers/usb/otg/mv_otg.c @@ -420,7 +420,7 @@ static void mv_otg_work(struct work_struct *work) struct usb_otg *otg; int old_state; - mvotg = container_of((struct delayed_work *)work, struct mv_otg, work); + mvotg = container_of(to_delayed_work(work), struct mv_otg, work); run: /* work queue is single thread, or we need spin_lock to protect */ -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 07/24] MAINTAINERS: adjust for UAPI
Em 28-11-2012 20:30, David Howells escreveu: Cesar Eduardo Barros wrote: I think I will wait for your patch. Since you probably created it with the same scripts used for the original move to uapi/, it should have less chance of mistakes than my ad-hoc shell scripting. I haven't scripted it. Oh well, I will keep my patch then, and any mistakes can be fixed later. -- Cesar Eduardo Barros ces...@cesarb.net cesar.bar...@gmail.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/