Merge branch 'akpm' (patches from Andrew)
Merge yet more updates from Andrew Morton: "This is everything else from -mm for this merge window. 90 patches. Subsystems affected by this patch series: mm (cleanups and slub), alpha, procfs, sysctl, misc, core-kernel, bitmap, lib, compat, checkpatch, epoll, isofs, nilfs2, hpfs, exit, fork, kexec, gcov, panic, delayacct, gdb, resource, selftests, async, initramfs, ipc, drivers/char, and spelling" * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (90 commits) mm: fix typos in comments mm: fix typos in comments treewide: remove editor modelines and cruft ipc/sem.c: spelling fix fs: fat: fix spelling typo of values kernel/sys.c: fix typo kernel/up.c: fix typo kernel/user_namespace.c: fix typos kernel/umh.c: fix some spelling mistakes include/linux/pgtable.h: few spelling fixes mm/slab.c: fix spelling mistake "disired" -> "desired" scripts/spelling.txt: add "overflw" scripts/spelling.txt: Add "diabled" typo scripts/spelling.txt: add "overlfow" arm: print alloc free paths for address in registers mm/vmalloc: remove vwrite() mm: remove xlate_dev_kmem_ptr() drivers/char: remove /dev/kmem for good mm: fix some typos and code style problems ipc/sem.c: mundane typo fixes ...
This commit is contained in:
+13
-2
@@ -5829,7 +5829,7 @@ sub process {
|
||||
next if ($arg =~ /\.\.\./);
|
||||
next if ($arg =~ /^type$/i);
|
||||
my $tmp_stmt = $define_stmt;
|
||||
$tmp_stmt =~ s/\b(sizeof|typeof|__typeof__|__builtin\w+|typecheck\s*\(\s*$Type\s*,|\#+)\s*\(*\s*$arg\s*\)*\b//g;
|
||||
$tmp_stmt =~ s/\b(__must_be_array|offsetof|sizeof|sizeof_field|__stringify|typeof|__typeof__|__builtin\w+|typecheck\s*\(\s*$Type\s*,|\#+)\s*\(*\s*$arg\s*\)*\b//g;
|
||||
$tmp_stmt =~ s/\#+\s*$arg\b//g;
|
||||
$tmp_stmt =~ s/\b$arg\s*\#\#//g;
|
||||
my $use_cnt = () = $tmp_stmt =~ /\b$arg\b/g;
|
||||
@@ -7006,7 +7006,7 @@ sub process {
|
||||
}
|
||||
|
||||
# check for alloc argument mismatch
|
||||
if ($line =~ /\b(kcalloc|kmalloc_array)\s*\(\s*sizeof\b/) {
|
||||
if ($line =~ /\b((?:devm_)?(?:kcalloc|kmalloc_array))\s*\(\s*sizeof\b/) {
|
||||
WARN("ALLOC_ARRAY_ARGS",
|
||||
"$1 uses number as first arg, sizeof is generally wrong\n" . $herecurr);
|
||||
}
|
||||
@@ -7198,6 +7198,17 @@ sub process {
|
||||
"Using $1 should generally have parentheses around the comparison\n" . $herecurr);
|
||||
}
|
||||
|
||||
# return sysfs_emit(foo, fmt, ...) fmt without newline
|
||||
if ($line =~ /\breturn\s+sysfs_emit\s*\(\s*$FuncArg\s*,\s*($String)/ &&
|
||||
substr($rawline, $-[6], $+[6] - $-[6]) !~ /\\n"$/) {
|
||||
my $offset = $+[6] - 1;
|
||||
if (WARN("SYSFS_EMIT",
|
||||
"return sysfs_emit(...) formats should include a terminating newline\n" . $herecurr) &&
|
||||
$fix) {
|
||||
substr($fixed[$fixlinenr], $offset, 0) = '\\n';
|
||||
}
|
||||
}
|
||||
|
||||
# nested likely/unlikely calls
|
||||
if ($line =~ /\b(?:(?:un)?likely)\s*\(\s*!?\s*(IS_ERR(?:_OR_NULL|_VALUE)?|WARN)/) {
|
||||
WARN("LIKELY_MISUSE",
|
||||
|
||||
@@ -16,6 +16,9 @@ import gdb
|
||||
from linux import tasks, utils
|
||||
|
||||
|
||||
task_type = utils.CachedType("struct task_struct")
|
||||
|
||||
|
||||
MAX_CPUS = 4096
|
||||
|
||||
|
||||
@@ -156,6 +159,23 @@ Note that VAR has to be quoted as string."""
|
||||
|
||||
PerCpu()
|
||||
|
||||
def get_current_task(cpu):
|
||||
task_ptr_type = task_type.get_type().pointer()
|
||||
|
||||
if utils.is_target_arch("x86"):
|
||||
var_ptr = gdb.parse_and_eval("¤t_task")
|
||||
return per_cpu(var_ptr, cpu).dereference()
|
||||
elif utils.is_target_arch("aarch64"):
|
||||
current_task_addr = gdb.parse_and_eval("$SP_EL0")
|
||||
if((current_task_addr >> 63) != 0):
|
||||
current_task = current_task_addr.cast(task_ptr_type)
|
||||
return current_task.dereference()
|
||||
else:
|
||||
raise gdb.GdbError("Sorry, obtaining the current task is not allowed "
|
||||
"while running in userspace(EL0)")
|
||||
else:
|
||||
raise gdb.GdbError("Sorry, obtaining the current task is not yet "
|
||||
"supported with this arch")
|
||||
|
||||
class LxCurrentFunc(gdb.Function):
|
||||
"""Return current task.
|
||||
@@ -167,8 +187,7 @@ number. If CPU is omitted, the CPU of the current context is used."""
|
||||
super(LxCurrentFunc, self).__init__("lx_current")
|
||||
|
||||
def invoke(self, cpu=-1):
|
||||
var_ptr = gdb.parse_and_eval("¤t_task")
|
||||
return per_cpu(var_ptr, cpu).dereference()
|
||||
return get_current_task(cpu)
|
||||
|
||||
|
||||
LxCurrentFunc()
|
||||
|
||||
@@ -164,7 +164,8 @@ lx-symbols command."""
|
||||
saved_state['breakpoint'].enabled = saved_state['enabled']
|
||||
|
||||
def invoke(self, arg, from_tty):
|
||||
self.module_paths = [os.path.expanduser(p) for p in arg.split()]
|
||||
self.module_paths = [os.path.abspath(os.path.expanduser(p))
|
||||
for p in arg.split()]
|
||||
self.module_paths.append(os.getcwd())
|
||||
|
||||
# enforce update
|
||||
|
||||
@@ -480,6 +480,7 @@ devided||divided
|
||||
deviece||device
|
||||
devision||division
|
||||
diable||disable
|
||||
diabled||disabled
|
||||
dicline||decline
|
||||
dictionnary||dictionary
|
||||
didnt||didn't
|
||||
@@ -1027,6 +1028,8 @@ oustanding||outstanding
|
||||
overaall||overall
|
||||
overhread||overhead
|
||||
overlaping||overlapping
|
||||
overflw||overflow
|
||||
overlfow||overflow
|
||||
overide||override
|
||||
overrided||overridden
|
||||
overriden||overridden
|
||||
|
||||
Reference in New Issue
Block a user