summaryrefslogtreecommitdiff
path: root/tprintf.h
blob: dc4349afb3a0f8f1114f3cdaa9e77d1c90e51a28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*
 * netsniff-ng - the packet sniffing beast
 * Copyright 2009, 2010 Daniel Borkmann.
 * Subject to the GPL, version 2.
 */

#ifndef TPRINTF_H
#define TPRINTF_H

#include "built_in.h"
#include "colors.h"

extern void tprintf_init(void);
extern void tprintf(char *msg, ...) __check_format_printf(1, 2);
extern void tprintf_flush(void);
extern void tprintf_cleanup(void);

extern void tputchar_safe(int c);
extern void tputs_safe(const char *str, size_t len);

#define colorize_start(fore)			"\033[" __##fore "m"
#define colorize_start_full(fore, back)		"\033[" __##fore ";" __on_##back "m"
#define colorize_end()				"\033[" __reset "m"

#define DEFAULT_TTY_SIZE	80

#endif /* TPRINTF_H */
d2=e2b32e6785138d92d2a40e0d0473575c8c7310a2'>diff)
x86, kaslr: fix module lock ordering problem
There was a potential lock ordering problem with the module kASLR patch ("x86, kaslr: randomize module base load address"). This patch removes the usage of the module_mutex and creates a new mutex to protect the module base address offset value. Chain exists of: text_mutex --> kprobe_insn_slots.mutex --> module_mutex [ 0.515561] Possible unsafe locking scenario: [ 0.515561] [ 0.515561] CPU0 CPU1 [ 0.515561] ---- ---- [ 0.515561] lock(module_mutex); [ 0.515561] lock(kprobe_insn_slots.mutex); [ 0.515561] lock(module_mutex); [ 0.515561] lock(text_mutex); [ 0.515561] [ 0.515561] *** DEADLOCK *** Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Andy Honig <ahonig@google.com> Signed-off-by: Kees Cook <keescook@chromium.org> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat