mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
Merge branch 'akpm' (patchbomb from Andrew)
Merge first patchbomb from Andrew Morton: - a few minor cifs fixes - dma-debug upadtes - ocfs2 - slab - about half of MM - procfs - kernel/exit.c - panic.c tweaks - printk upates - lib/ updates - checkpatch updates - fs/binfmt updates - the drivers/rtc tree - nilfs - kmod fixes - more kernel/exit.c - various other misc tweaks and fixes * emailed patches from Andrew Morton <[email protected]>: (190 commits) exit: pidns: fix/update the comments in zap_pid_ns_processes() exit: pidns: alloc_pid() leaks pid_namespace if child_reaper is exiting exit: exit_notify: re-use "dead" list to autoreap current exit: reparent: call forget_original_parent() under tasklist_lock exit: reparent: avoid find_new_reaper() if no children exit: reparent: introduce find_alive_thread() exit: reparent: introduce find_child_reaper() exit: reparent: document the ->has_child_subreaper checks exit: reparent: s/while_each_thread/for_each_thread/ in find_new_reaper() exit: reparent: fix the cross-namespace PR_SET_CHILD_SUBREAPER reparenting exit: reparent: fix the dead-parent PR_SET_CHILD_SUBREAPER reparenting exit: proc: don't try to flush /proc/tgid/task/tgid exit: release_task: fix the comment about group leader accounting exit: wait: drop tasklist_lock before psig->c* accounting exit: wait: don't use zombie->real_parent exit: wait: cleanup the ptrace_reparented() checks usermodehelper: kill the kmod_thread_locker logic usermodehelper: don't use CLONE_VFORK for ____call_usermodehelper() fs/hfs/catalog.c: fix comparison bug in hfs_cat_keycmp nilfs2: fix the nilfs_iget() vs. nilfs_new_inode() races ...
This commit is contained in:
commit
b6da0076ba
142 changed files with 3656 additions and 3941 deletions
|
|
@ -62,9 +62,6 @@ int console_printk[4] = {
|
|||
CONSOLE_LOGLEVEL_DEFAULT, /* default_console_loglevel */
|
||||
};
|
||||
|
||||
/* Deferred messaged from sched code are marked by this special level */
|
||||
#define SCHED_MESSAGE_LOGLEVEL -2
|
||||
|
||||
/*
|
||||
* Low level drivers may need that to know if they can schedule in
|
||||
* their unblank() callback or not. So let's export it.
|
||||
|
|
@ -1259,7 +1256,7 @@ static int syslog_print_all(char __user *buf, int size, bool clear)
|
|||
int do_syslog(int type, char __user *buf, int len, bool from_file)
|
||||
{
|
||||
bool clear = false;
|
||||
static int saved_console_loglevel = -1;
|
||||
static int saved_console_loglevel = LOGLEVEL_DEFAULT;
|
||||
int error;
|
||||
|
||||
error = check_syslog_permissions(type, from_file);
|
||||
|
|
@ -1316,15 +1313,15 @@ int do_syslog(int type, char __user *buf, int len, bool from_file)
|
|||
break;
|
||||
/* Disable logging to console */
|
||||
case SYSLOG_ACTION_CONSOLE_OFF:
|
||||
if (saved_console_loglevel == -1)
|
||||
if (saved_console_loglevel == LOGLEVEL_DEFAULT)
|
||||
saved_console_loglevel = console_loglevel;
|
||||
console_loglevel = minimum_console_loglevel;
|
||||
break;
|
||||
/* Enable logging to console */
|
||||
case SYSLOG_ACTION_CONSOLE_ON:
|
||||
if (saved_console_loglevel != -1) {
|
||||
if (saved_console_loglevel != LOGLEVEL_DEFAULT) {
|
||||
console_loglevel = saved_console_loglevel;
|
||||
saved_console_loglevel = -1;
|
||||
saved_console_loglevel = LOGLEVEL_DEFAULT;
|
||||
}
|
||||
break;
|
||||
/* Set level of messages printed to console */
|
||||
|
|
@ -1336,7 +1333,7 @@ int do_syslog(int type, char __user *buf, int len, bool from_file)
|
|||
len = minimum_console_loglevel;
|
||||
console_loglevel = len;
|
||||
/* Implicitly re-enable logging to console */
|
||||
saved_console_loglevel = -1;
|
||||
saved_console_loglevel = LOGLEVEL_DEFAULT;
|
||||
error = 0;
|
||||
break;
|
||||
/* Number of chars in the log buffer */
|
||||
|
|
@ -1627,10 +1624,10 @@ asmlinkage int vprintk_emit(int facility, int level,
|
|||
int printed_len = 0;
|
||||
bool in_sched = false;
|
||||
/* cpu currently holding logbuf_lock in this function */
|
||||
static volatile unsigned int logbuf_cpu = UINT_MAX;
|
||||
static unsigned int logbuf_cpu = UINT_MAX;
|
||||
|
||||
if (level == SCHED_MESSAGE_LOGLEVEL) {
|
||||
level = -1;
|
||||
if (level == LOGLEVEL_SCHED) {
|
||||
level = LOGLEVEL_DEFAULT;
|
||||
in_sched = true;
|
||||
}
|
||||
|
||||
|
|
@ -1695,8 +1692,9 @@ asmlinkage int vprintk_emit(int facility, int level,
|
|||
const char *end_of_header = printk_skip_level(text);
|
||||
switch (kern_level) {
|
||||
case '0' ... '7':
|
||||
if (level == -1)
|
||||
if (level == LOGLEVEL_DEFAULT)
|
||||
level = kern_level - '0';
|
||||
/* fallthrough */
|
||||
case 'd': /* KERN_DEFAULT */
|
||||
lflags |= LOG_PREFIX;
|
||||
}
|
||||
|
|
@ -1710,7 +1708,7 @@ asmlinkage int vprintk_emit(int facility, int level,
|
|||
}
|
||||
}
|
||||
|
||||
if (level == -1)
|
||||
if (level == LOGLEVEL_DEFAULT)
|
||||
level = default_message_loglevel;
|
||||
|
||||
if (dict)
|
||||
|
|
@ -1788,7 +1786,7 @@ EXPORT_SYMBOL(vprintk_emit);
|
|||
|
||||
asmlinkage int vprintk(const char *fmt, va_list args)
|
||||
{
|
||||
return vprintk_emit(0, -1, NULL, 0, fmt, args);
|
||||
return vprintk_emit(0, LOGLEVEL_DEFAULT, NULL, 0, fmt, args);
|
||||
}
|
||||
EXPORT_SYMBOL(vprintk);
|
||||
|
||||
|
|
@ -1842,7 +1840,7 @@ asmlinkage __visible int printk(const char *fmt, ...)
|
|||
}
|
||||
#endif
|
||||
va_start(args, fmt);
|
||||
r = vprintk_emit(0, -1, NULL, 0, fmt, args);
|
||||
r = vprintk_emit(0, LOGLEVEL_DEFAULT, NULL, 0, fmt, args);
|
||||
va_end(args);
|
||||
|
||||
return r;
|
||||
|
|
@ -1881,23 +1879,20 @@ static size_t cont_print_text(char *text, size_t size) { return 0; }
|
|||
#ifdef CONFIG_EARLY_PRINTK
|
||||
struct console *early_console;
|
||||
|
||||
void early_vprintk(const char *fmt, va_list ap)
|
||||
{
|
||||
if (early_console) {
|
||||
char buf[512];
|
||||
int n = vscnprintf(buf, sizeof(buf), fmt, ap);
|
||||
|
||||
early_console->write(early_console, buf, n);
|
||||
}
|
||||
}
|
||||
|
||||
asmlinkage __visible void early_printk(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
char buf[512];
|
||||
int n;
|
||||
|
||||
if (!early_console)
|
||||
return;
|
||||
|
||||
va_start(ap, fmt);
|
||||
early_vprintk(fmt, ap);
|
||||
n = vscnprintf(buf, sizeof(buf), fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
early_console->write(early_console, buf, n);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -2634,7 +2629,7 @@ int printk_deferred(const char *fmt, ...)
|
|||
|
||||
preempt_disable();
|
||||
va_start(args, fmt);
|
||||
r = vprintk_emit(0, SCHED_MESSAGE_LOGLEVEL, NULL, 0, fmt, args);
|
||||
r = vprintk_emit(0, LOGLEVEL_SCHED, NULL, 0, fmt, args);
|
||||
va_end(args);
|
||||
|
||||
__this_cpu_or(printk_pending, PRINTK_PENDING_OUTPUT);
|
||||
|
|
|
|||
Loading…
Reference in a new issue