diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-23 19:59:10 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-23 19:59:10 -0400 |
| commit | 8e3ade251bc7c0a4f0777df4dd34343a03efadba (patch) | |
| tree | 6c0b78731e3d6609057951d07660efbd90992ad0 /include | |
| parent | e317234975cb7463b8ca21a93bb6862d9dcf113f (diff) | |
| parent | e075f59152890ffd7e3d704afc997dd686c8a781 (diff) | |
Merge branch 'akpm' (Andrew's patch-bomb)
Merge second batch of patches from Andrew Morton:
- various misc things
- core kernel changes to prctl, exit, exec, init, etc.
- kernel/watchdog.c updates
- get_maintainer
- MAINTAINERS
- the backlight driver queue
- core bitops code cleanups
- the led driver queue
- some core prio_tree work
- checkpatch udpates
- largeish crc32 update
- a new poll() feature for the v4l guys
- the rtc driver queue
- fatfs
- ptrace
- signals
- kmod/usermodehelper updates
- coredump
- procfs updates
* emailed from Andrew Morton <akpm@linux-foundation.org>: (141 commits)
seq_file: add seq_set_overflow(), seq_overflow()
proc-ns: use d_set_d_op() API to set dentry ops in proc_ns_instantiate().
procfs: speed up /proc/pid/stat, statm
procfs: add num_to_str() to speed up /proc/stat
proc: speed up /proc/stat handling
fs/proc/kcore.c: make get_sparsemem_vmemmap_info() static
coredump: add VM_NODUMP, MADV_NODUMP, MADV_CLEAR_NODUMP
coredump: remove VM_ALWAYSDUMP flag
kmod: make __request_module() killable
kmod: introduce call_modprobe() helper
usermodehelper: ____call_usermodehelper() doesn't need do_exit()
usermodehelper: kill umh_wait, renumber UMH_* constants
usermodehelper: implement UMH_KILLABLE
usermodehelper: introduce umh_complete(sub_info)
usermodehelper: use UMH_WAIT_PROC consistently
signal: zap_pid_ns_processes: s/SEND_SIG_NOINFO/SEND_SIG_FORCED/
signal: oom_kill_task: use SEND_SIG_FORCED instead of force_sig()
signal: cosmetic, s/from_ancestor_ns/force/ in prepare_signal() paths
signal: give SEND_SIG_FORCED more power to beat SIGNAL_UNKILLABLE
Hexagon: use set_current_blocked() and block_sigmask()
...
Diffstat (limited to 'include')
28 files changed, 304 insertions, 69 deletions
diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h index 84458b0c38d1..2520a6e241dc 100644 --- a/include/asm-generic/bug.h +++ b/include/asm-generic/bug.h | |||
| @@ -134,7 +134,7 @@ extern void warn_slowpath_null(const char *file, const int line); | |||
| 134 | #endif | 134 | #endif |
| 135 | 135 | ||
| 136 | #define WARN_ON_ONCE(condition) ({ \ | 136 | #define WARN_ON_ONCE(condition) ({ \ |
| 137 | static bool __warned; \ | 137 | static bool __section(.data.unlikely) __warned; \ |
| 138 | int __ret_warn_once = !!(condition); \ | 138 | int __ret_warn_once = !!(condition); \ |
| 139 | \ | 139 | \ |
| 140 | if (unlikely(__ret_warn_once)) \ | 140 | if (unlikely(__ret_warn_once)) \ |
| @@ -144,7 +144,7 @@ extern void warn_slowpath_null(const char *file, const int line); | |||
| 144 | }) | 144 | }) |
| 145 | 145 | ||
| 146 | #define WARN_ONCE(condition, format...) ({ \ | 146 | #define WARN_ONCE(condition, format...) ({ \ |
| 147 | static bool __warned; \ | 147 | static bool __section(.data.unlikely) __warned; \ |
| 148 | int __ret_warn_once = !!(condition); \ | 148 | int __ret_warn_once = !!(condition); \ |
| 149 | \ | 149 | \ |
| 150 | if (unlikely(__ret_warn_once)) \ | 150 | if (unlikely(__ret_warn_once)) \ |
| @@ -154,7 +154,7 @@ extern void warn_slowpath_null(const char *file, const int line); | |||
| 154 | }) | 154 | }) |
| 155 | 155 | ||
| 156 | #define WARN_TAINT_ONCE(condition, taint, format...) ({ \ | 156 | #define WARN_TAINT_ONCE(condition, taint, format...) ({ \ |
| 157 | static bool __warned; \ | 157 | static bool __section(.data.unlikely) __warned; \ |
| 158 | int __ret_warn_once = !!(condition); \ | 158 | int __ret_warn_once = !!(condition); \ |
| 159 | \ | 159 | \ |
| 160 | if (unlikely(__ret_warn_once)) \ | 160 | if (unlikely(__ret_warn_once)) \ |
diff --git a/include/asm-generic/mman-common.h b/include/asm-generic/mman-common.h index 787abbb6d867..d030d2c2647a 100644 --- a/include/asm-generic/mman-common.h +++ b/include/asm-generic/mman-common.h | |||
| @@ -48,6 +48,10 @@ | |||
| 48 | #define MADV_HUGEPAGE 14 /* Worth backing with hugepages */ | 48 | #define MADV_HUGEPAGE 14 /* Worth backing with hugepages */ |
| 49 | #define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */ | 49 | #define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */ |
| 50 | 50 | ||
| 51 | #define MADV_DONTDUMP 16 /* Explicity exclude from the core dump, | ||
| 52 | overrides the coredump filter bits */ | ||
| 53 | #define MADV_DODUMP 17 /* Clear the MADV_NODUMP flag */ | ||
| 54 | |||
| 51 | /* compatibility flags */ | 55 | /* compatibility flags */ |
| 52 | #define MAP_FILE 0 | 56 | #define MAP_FILE 0 |
| 53 | 57 | ||
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index b5e2e4c6b017..798603e8ec38 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h | |||
| @@ -167,6 +167,7 @@ | |||
| 167 | CPU_KEEP(exit.data) \ | 167 | CPU_KEEP(exit.data) \ |
| 168 | MEM_KEEP(init.data) \ | 168 | MEM_KEEP(init.data) \ |
| 169 | MEM_KEEP(exit.data) \ | 169 | MEM_KEEP(exit.data) \ |
| 170 | *(.data.unlikely) \ | ||
| 170 | STRUCT_ALIGN(); \ | 171 | STRUCT_ALIGN(); \ |
| 171 | *(__tracepoints) \ | 172 | *(__tracepoints) \ |
| 172 | /* implement dynamic printk debug */ \ | 173 | /* implement dynamic printk debug */ \ |
diff --git a/include/drm/drm_mode.h b/include/drm/drm_mode.h index 2a2acda8b437..4a0aae38e160 100644 --- a/include/drm/drm_mode.h +++ b/include/drm/drm_mode.h | |||
| @@ -27,6 +27,8 @@ | |||
| 27 | #ifndef _DRM_MODE_H | 27 | #ifndef _DRM_MODE_H |
| 28 | #define _DRM_MODE_H | 28 | #define _DRM_MODE_H |
| 29 | 29 | ||
| 30 | #include <linux/types.h> | ||
| 31 | |||
| 30 | #define DRM_DISPLAY_INFO_LEN 32 | 32 | #define DRM_DISPLAY_INFO_LEN 32 |
| 31 | #define DRM_CONNECTOR_NAME_LEN 32 | 33 | #define DRM_CONNECTOR_NAME_LEN 32 |
| 32 | #define DRM_DISPLAY_MODE_LEN 32 | 34 | #define DRM_DISPLAY_MODE_LEN 32 |
diff --git a/include/linux/bitops.h b/include/linux/bitops.h index 94300fe46cce..a3b6b82108b9 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h | |||
| @@ -27,11 +27,22 @@ extern unsigned long __sw_hweight64(__u64 w); | |||
| 27 | (bit) = find_next_bit((addr), (size), (bit) + 1)) | 27 | (bit) = find_next_bit((addr), (size), (bit) + 1)) |
| 28 | 28 | ||
| 29 | /* same as for_each_set_bit() but use bit as value to start with */ | 29 | /* same as for_each_set_bit() but use bit as value to start with */ |
| 30 | #define for_each_set_bit_cont(bit, addr, size) \ | 30 | #define for_each_set_bit_from(bit, addr, size) \ |
| 31 | for ((bit) = find_next_bit((addr), (size), (bit)); \ | 31 | for ((bit) = find_next_bit((addr), (size), (bit)); \ |
| 32 | (bit) < (size); \ | 32 | (bit) < (size); \ |
| 33 | (bit) = find_next_bit((addr), (size), (bit) + 1)) | 33 | (bit) = find_next_bit((addr), (size), (bit) + 1)) |
| 34 | 34 | ||
| 35 | #define for_each_clear_bit(bit, addr, size) \ | ||
| 36 | for ((bit) = find_first_zero_bit((addr), (size)); \ | ||
| 37 | (bit) < (size); \ | ||
| 38 | (bit) = find_next_zero_bit((addr), (size), (bit) + 1)) | ||
| 39 | |||
| 40 | /* same as for_each_clear_bit() but use bit as value to start with */ | ||
| 41 | #define for_each_clear_bit_from(bit, addr, size) \ | ||
| 42 | for ((bit) = find_next_zero_bit((addr), (size), (bit)); \ | ||
| 43 | (bit) < (size); \ | ||
| 44 | (bit) = find_next_zero_bit((addr), (size), (bit) + 1)) | ||
| 45 | |||
| 35 | static __inline__ int get_bitmask_order(unsigned int count) | 46 | static __inline__ int get_bitmask_order(unsigned int count) |
| 36 | { | 47 | { |
| 37 | int order; | 48 | int order; |
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h index 3fd17c249221..e5834aa24b9e 100644 --- a/include/linux/compiler-gcc.h +++ b/include/linux/compiler-gcc.h | |||
| @@ -87,7 +87,8 @@ | |||
| 87 | */ | 87 | */ |
| 88 | #define __pure __attribute__((pure)) | 88 | #define __pure __attribute__((pure)) |
| 89 | #define __aligned(x) __attribute__((aligned(x))) | 89 | #define __aligned(x) __attribute__((aligned(x))) |
| 90 | #define __printf(a,b) __attribute__((format(printf,a,b))) | 90 | #define __printf(a, b) __attribute__((format(printf, a, b))) |
| 91 | #define __scanf(a, b) __attribute__((format(scanf, a, b))) | ||
| 91 | #define noinline __attribute__((noinline)) | 92 | #define noinline __attribute__((noinline)) |
| 92 | #define __attribute_const__ __attribute__((__const__)) | 93 | #define __attribute_const__ __attribute__((__const__)) |
| 93 | #define __maybe_unused __attribute__((unused)) | 94 | #define __maybe_unused __attribute__((unused)) |
diff --git a/include/linux/crc32.h b/include/linux/crc32.h index 391a259b2cc9..68267b64bb98 100644 --- a/include/linux/crc32.h +++ b/include/linux/crc32.h | |||
| @@ -11,6 +11,8 @@ | |||
| 11 | extern u32 crc32_le(u32 crc, unsigned char const *p, size_t len); | 11 | extern u32 crc32_le(u32 crc, unsigned char const *p, size_t len); |
| 12 | extern u32 crc32_be(u32 crc, unsigned char const *p, size_t len); | 12 | extern u32 crc32_be(u32 crc, unsigned char const *p, size_t len); |
| 13 | 13 | ||
| 14 | extern u32 __crc32c_le(u32 crc, unsigned char const *p, size_t len); | ||
| 15 | |||
| 14 | #define crc32(seed, data, length) crc32_le(seed, (unsigned char const *)(data), length) | 16 | #define crc32(seed, data, length) crc32_le(seed, (unsigned char const *)(data), length) |
| 15 | 17 | ||
| 16 | /* | 18 | /* |
