Merge tag 'mm-nonmm-stable-2022-05-26' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Pull misc updates from Andrew Morton: "The non-MM patch queue for this merge window. Not a lot of material this cycle. Many singleton patches against various subsystems. Most notably some maintenance work in ocfs2 and initramfs" * tag 'mm-nonmm-stable-2022-05-26' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (65 commits) kcov: update pos before writing pc in trace function ocfs2: dlmfs: fix error handling of user_dlm_destroy_lock ocfs2: dlmfs: don't clear USER_LOCK_ATTACHED when destroying lock fs/ntfs: remove redundant variable idx fat: remove time truncations in vfat_create/vfat_mkdir fat: report creation time in statx fat: ignore ctime updates, and keep ctime identical to mtime in memory fat: split fat_truncate_time() into separate functions MAINTAINERS: add Muchun as a memcg reviewer proc/sysctl: make protected_* world readable ia64: mca: drop redundant spinlock initialization tty: fix deadlock caused by calling printk() under tty_port->lock relay: remove redundant assignment to pointer buf fs/ntfs3: validate BOOT sectors_per_clusters lib/string_helpers: fix not adding strarray to device's resource list kernel/crash_core.c: remove redundant check of ck_cmdline ELF, uapi: fixup ELF_ST_TYPE definition ipc/mqueue: use get_tree_nodev() in mqueue_get_tree() ipc: update semtimedop() to use hrtimer ipc/sem: remove redundant assignments ...
This commit is contained in:
@ -36,6 +36,7 @@ def getsizes(file, format):
|
||||
if name.startswith("__se_compat_sys"): continue
|
||||
if name.startswith("__addressable_"): continue
|
||||
if name == "linux_banner": continue
|
||||
if name == "vermagic": continue
|
||||
# statics and some other optimizations adds random .NUMBER
|
||||
name = re_NUMBER.sub('', name)
|
||||
sym[name] = sym.get(name, 0) + int(size, 16)
|
||||
|
@ -45,8 +45,13 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
declare -A cache
|
||||
declare -A modcache
|
||||
declare aarray_support=true
|
||||
declare -A cache 2>/dev/null
|
||||
if [[ $? != 0 ]]; then
|
||||
aarray_support=false
|
||||
else
|
||||
declare -A modcache
|
||||
fi
|
||||
|
||||
find_module() {
|
||||
if [[ -n $debuginfod ]] ; then
|
||||
@ -97,7 +102,7 @@ parse_symbol() {
|
||||
|
||||
if [[ $module == "" ]] ; then
|
||||
local objfile=$vmlinux
|
||||
elif [[ "${modcache[$module]+isset}" == "isset" ]]; then
|
||||
elif [[ $aarray_support == true && "${modcache[$module]+isset}" == "isset" ]]; then
|
||||
local objfile=${modcache[$module]}
|
||||
else
|
||||
local objfile=$(find_module)
|
||||
@ -105,7 +110,9 @@ parse_symbol() {
|
||||
echo "WARNING! Modules path isn't set, but is needed to parse this symbol" >&2
|
||||
return
|
||||
fi
|
||||
modcache[$module]=$objfile
|
||||
if [[ $aarray_support == true ]]; then
|
||||
modcache[$module]=$objfile
|
||||
fi
|
||||
fi
|
||||
|
||||
# Remove the englobing parenthesis
|
||||
@ -125,7 +132,7 @@ parse_symbol() {
|
||||
# Use 'nm vmlinux' to figure out the base address of said symbol.
|
||||
# It's actually faster to call it every time than to load it
|
||||
# all into bash.
|
||||
if [[ "${cache[$module,$name]+isset}" == "isset" ]]; then
|
||||
if [[ $aarray_support == true && "${cache[$module,$name]+isset}" == "isset" ]]; then
|
||||
local base_addr=${cache[$module,$name]}
|
||||
else
|
||||
local base_addr=$(nm "$objfile" 2>/dev/null | awk '$3 == "'$name'" && ($2 == "t" || $2 == "T") {print $1; exit}')
|
||||
@ -133,7 +140,9 @@ parse_symbol() {
|
||||
# address not found
|
||||
return
|
||||
fi
|
||||
cache[$module,$name]="$base_addr"
|
||||
if [[ $aarray_support == true ]]; then
|
||||
cache[$module,$name]="$base_addr"
|
||||
fi
|
||||
fi
|
||||
# Let's start doing the math to get the exact address into the
|
||||
# symbol. First, strip out the symbol total length.
|
||||
@ -149,11 +158,13 @@ parse_symbol() {
|
||||
|
||||
# Pass it to addr2line to get filename and line number
|
||||
# Could get more than one result
|
||||
if [[ "${cache[$module,$address]+isset}" == "isset" ]]; then
|
||||
if [[ $aarray_support == true && "${cache[$module,$address]+isset}" == "isset" ]]; then
|
||||
local code=${cache[$module,$address]}
|
||||
else
|
||||
local code=$(${CROSS_COMPILE}addr2line -i -e "$objfile" "$address" 2>/dev/null)
|
||||
cache[$module,$address]=$code
|
||||
if [[ $aarray_support == true ]]; then
|
||||
cache[$module,$address]=$code
|
||||
fi
|
||||
fi
|
||||
|
||||
# addr2line doesn't return a proper error code if it fails, so
|
||||
|
@ -983,6 +983,7 @@ sub get_maintainers {
|
||||
}
|
||||
|
||||
foreach my $email (@file_emails) {
|
||||
$email = mailmap_email($email);
|
||||
my ($name, $address) = parse_email($email);
|
||||
|
||||
my $tmp_email = format_email($name, $address, $email_usename);
|
||||
|
Reference in New Issue
Block a user