mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-30 19:15:14 +00:00
module: replace DEBUGP with pr_debug
Use more flexible pr_debug. This allows: echo "module module +p" > /dbg/dynamic_debug/control to turn on debug messages when needed. Signed-off-by: Jim Cromie <jim.cromie@gmail.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
bd77c04772
commit
5e12416927
1 changed files with 20 additions and 26 deletions
|
@ -62,12 +62,6 @@
|
||||||
#define CREATE_TRACE_POINTS
|
#define CREATE_TRACE_POINTS
|
||||||
#include <trace/events/module.h>
|
#include <trace/events/module.h>
|
||||||
|
|
||||||
#if 0
|
|
||||||
#define DEBUGP printk
|
|
||||||
#else
|
|
||||||
#define DEBUGP(fmt , a...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef ARCH_SHF_SMALL
|
#ifndef ARCH_SHF_SMALL
|
||||||
#define ARCH_SHF_SMALL 0
|
#define ARCH_SHF_SMALL 0
|
||||||
#endif
|
#endif
|
||||||
|
@ -409,7 +403,7 @@ const struct kernel_symbol *find_symbol(const char *name,
|
||||||
return fsa.sym;
|
return fsa.sym;
|
||||||
}
|
}
|
||||||
|
|
||||||
DEBUGP("Failed to find symbol %s\n", name);
|
pr_debug("Failed to find symbol %s\n", name);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(find_symbol);
|
EXPORT_SYMBOL_GPL(find_symbol);
|
||||||
|
@ -599,11 +593,11 @@ static int already_uses(struct module *a, struct module *b)
|
||||||
|
|
||||||
list_for_each_entry(use, &b->source_list, source_list) {
|
list_for_each_entry(use, &b->source_list, source_list) {
|
||||||
if (use->source == a) {
|
if (use->source == a) {
|
||||||
DEBUGP("%s uses %s!\n", a->name, b->name);
|
pr_debug("%s uses %s!\n", a->name, b->name);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
DEBUGP("%s does not use %s!\n", a->name, b->name);
|
pr_debug("%s does not use %s!\n", a->name, b->name);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -618,7 +612,7 @@ static int add_module_usage(struct module *a, struct module *b)
|
||||||
{
|
{
|
||||||
struct module_use *use;
|
struct module_use *use;
|
||||||
|
|
||||||
DEBUGP("Allocating new usage for %s.\n", a->name);
|
pr_debug("Allocating new usage for %s.\n", a->name);
|
||||||
use = kmalloc(sizeof(*use), GFP_ATOMIC);
|
use = kmalloc(sizeof(*use), GFP_ATOMIC);
|
||||||
if (!use) {
|
if (!use) {
|
||||||
printk(KERN_WARNING "%s: out of memory loading\n", a->name);
|
printk(KERN_WARNING "%s: out of memory loading\n", a->name);
|
||||||
|
@ -662,7 +656,7 @@ static void module_unload_free(struct module *mod)
|
||||||
mutex_lock(&module_mutex);
|
mutex_lock(&module_mutex);
|
||||||
list_for_each_entry_safe(use, tmp, &mod->target_list, target_list) {
|
list_for_each_entry_safe(use, tmp, &mod->target_list, target_list) {
|
||||||
struct module *i = use->target;
|
struct module *i = use->target;
|
||||||
DEBUGP("%s unusing %s\n", mod->name, i->name);
|
pr_debug("%s unusing %s\n", mod->name, i->name);
|
||||||
module_put(i);
|
module_put(i);
|
||||||
list_del(&use->source_list);
|
list_del(&use->source_list);
|
||||||
list_del(&use->target_list);
|
list_del(&use->target_list);
|
||||||
|
@ -760,7 +754,7 @@ static void wait_for_zero_refcount(struct module *mod)
|
||||||
/* Since we might sleep for some time, release the mutex first */
|
/* Since we might sleep for some time, release the mutex first */
|
||||||
mutex_unlock(&module_mutex);
|
mutex_unlock(&module_mutex);
|
||||||
for (;;) {
|
for (;;) {
|
||||||
DEBUGP("Looking at refcount...\n");
|
pr_debug("Looking at refcount...\n");
|
||||||
set_current_state(TASK_UNINTERRUPTIBLE);
|
set_current_state(TASK_UNINTERRUPTIBLE);
|
||||||
if (module_refcount(mod) == 0)
|
if (module_refcount(mod) == 0)
|
||||||
break;
|
break;
|
||||||
|
@ -803,7 +797,7 @@ SYSCALL_DEFINE2(delete_module, const char __user *, name_user,
|
||||||
if (mod->state != MODULE_STATE_LIVE) {
|
if (mod->state != MODULE_STATE_LIVE) {
|
||||||
/* FIXME: if (force), slam module count and wake up
|
/* FIXME: if (force), slam module count and wake up
|
||||||
waiter --RR */
|
waiter --RR */
|
||||||
DEBUGP("%s already dying\n", mod->name);
|
pr_debug("%s already dying\n", mod->name);
|
||||||
ret = -EBUSY;
|
ret = -EBUSY;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
@ -1056,7 +1050,7 @@ static int check_version(Elf_Shdr *sechdrs,
|
||||||
|
|
||||||
if (versions[i].crc == maybe_relocated(*crc, crc_owner))
|
if (versions[i].crc == maybe_relocated(*crc, crc_owner))
|
||||||
return 1;
|
return 1;
|
||||||
DEBUGP("Found checksum %lX vs module %lX\n",
|
pr_debug("Found checksum %lX vs module %lX\n",
|
||||||
maybe_relocated(*crc, crc_owner), versions[i].crc);
|
maybe_relocated(*crc, crc_owner), versions[i].crc);
|
||||||
goto bad_version;
|
goto bad_version;
|
||||||
}
|
}
|
||||||
|
@ -1833,7 +1827,7 @@ static int simplify_symbols(struct module *mod, const struct load_info *info)
|
||||||
case SHN_COMMON:
|
case SHN_COMMON:
|
||||||
/* We compiled with -fno-common. These are not
|
/* We compiled with -fno-common. These are not
|
||||||
supposed to happen. */
|
supposed to happen. */
|
||||||
DEBUGP("Common symbol: %s\n", name);
|
pr_debug("Common symbol: %s\n", name);
|
||||||
printk("%s: please compile with -fno-common\n",
|
printk("%s: please compile with -fno-common\n",
|
||||||
mod->name);
|
mod->name);
|
||||||
ret = -ENOEXEC;
|
ret = -ENOEXEC;
|
||||||
|
@ -1841,7 +1835,7 @@ static int simplify_symbols(struct module *mod, const struct load_info *info)
|
||||||
|
|
||||||
case SHN_ABS:
|
case SHN_ABS:
|
||||||
/* Don't need to do anything */
|
/* Don't need to do anything */
|
||||||
DEBUGP("Absolute symbol: 0x%08lx\n",
|
pr_debug("Absolute symbol: 0x%08lx\n",
|
||||||
(long)sym[i].st_value);
|
(long)sym[i].st_value);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1965,7 +1959,7 @@ static void layout_sections(struct module *mod, struct load_info *info)
|
||||||
for (i = 0; i < info->hdr->e_shnum; i++)
|
for (i = 0; i < info->hdr->e_shnum; i++)
|
||||||
info->sechdrs[i].sh_entsize = ~0UL;
|
info->sechdrs[i].sh_entsize = ~0UL;
|
||||||
|
|
||||||
DEBUGP("Core section allocation order:\n");
|
pr_debug("Core section allocation order:\n");
|
||||||
for (m = 0; m < ARRAY_SIZE(masks); ++m) {
|
for (m = 0; m < ARRAY_SIZE(masks); ++m) {
|
||||||
for (i = 0; i < info->hdr->e_shnum; ++i) {
|
for (i = 0; i < info->hdr->e_shnum; ++i) {
|
||||||
Elf_Shdr *s = &info->sechdrs[i];
|
Elf_Shdr *s = &info->sechdrs[i];
|
||||||
|
@ -1977,7 +1971,7 @@ static void layout_sections(struct module *mod, struct load_info *info)
|
||||||
|| strstarts(sname, ".init"))
|
|| strstarts(sname, ".init"))
|
||||||
continue;
|
continue;
|
||||||
s->sh_entsize = get_offset(mod, &mod->core_size, s, i);
|
s->sh_entsize = get_offset(mod, &mod->core_size, s, i);
|
||||||
DEBUGP("\t%s\n", name);
|
pr_debug("\t%s\n", sname);
|
||||||
}
|
}
|
||||||
switch (m) {
|
switch (m) {
|
||||||
case 0: /* executable */
|
case 0: /* executable */
|
||||||
|
@ -1994,7 +1988,7 @@ static void layout_sections(struct module *mod, struct load_info *info)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DEBUGP("Init section allocation order:\n");
|
pr_debug("Init section allocation order:\n");
|
||||||
for (m = 0; m < ARRAY_SIZE(masks); ++m) {
|
for (m = 0; m < ARRAY_SIZE(masks); ++m) {
|
||||||
for (i = 0; i < info->hdr->e_shnum; ++i) {
|
for (i = 0; i < info->hdr->e_shnum; ++i) {
|
||||||
Elf_Shdr *s = &info->sechdrs[i];
|
Elf_Shdr *s = &info->sechdrs[i];
|
||||||
|
@ -2007,7 +2001,7 @@ static void layout_sections(struct module *mod, struct load_info *info)
|
||||||
continue;
|
continue;
|
||||||
s->sh_entsize = (get_offset(mod, &mod->init_size, s, i)
|
s->sh_entsize = (get_offset(mod, &mod->init_size, s, i)
|
||||||
| INIT_OFFSET_MASK);
|
| INIT_OFFSET_MASK);
|
||||||
DEBUGP("\t%s\n", sname);
|
pr_debug("\t%s\n", sname);
|
||||||
}
|
}
|
||||||
switch (m) {
|
switch (m) {
|
||||||
case 0: /* executable */
|
case 0: /* executable */
|
||||||
|
@ -2195,7 +2189,7 @@ static void layout_symtab(struct module *mod, struct load_info *info)
|
||||||
symsect->sh_flags |= SHF_ALLOC;
|
symsect->sh_flags |= SHF_ALLOC;
|
||||||
symsect->sh_entsize = get_offset(mod, &mod->init_size, symsect,
|
symsect->sh_entsize = get_offset(mod, &mod->init_size, symsect,
|
||||||
info->index.sym) | INIT_OFFSET_MASK;
|
info->index.sym) | INIT_OFFSET_MASK;
|
||||||
DEBUGP("\t%s\n", info->secstrings + symsect->sh_name);
|
pr_debug("\t%s\n", info->secstrings + symsect->sh_name);
|
||||||
|
|
||||||
src = (void *)info->hdr + symsect->sh_offset;
|
src = (void *)info->hdr + symsect->sh_offset;
|
||||||
nsrc = symsect->sh_size / sizeof(*src);
|
nsrc = symsect->sh_size / sizeof(*src);
|
||||||
|
@ -2216,7 +2210,7 @@ static void layout_symtab(struct module *mod, struct load_info *info)
|
||||||
strsect->sh_flags |= SHF_ALLOC;
|
strsect->sh_flags |= SHF_ALLOC;
|
||||||
strsect->sh_entsize = get_offset(mod, &mod->init_size, strsect,
|
strsect->sh_entsize = get_offset(mod, &mod->init_size, strsect,
|
||||||
info->index.str) | INIT_OFFSET_MASK;
|
info->index.str) | INIT_OFFSET_MASK;
|
||||||
DEBUGP("\t%s\n", info->secstrings + strsect->sh_name);
|
pr_debug("\t%s\n", info->secstrings + strsect->sh_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void add_kallsyms(struct module *mod, const struct load_info *info)
|
static void add_kallsyms(struct module *mod, const struct load_info *info)
|
||||||
|
@ -2618,7 +2612,7 @@ static int move_module(struct module *mod, struct load_info *info)
|
||||||
mod->module_init = ptr;
|
mod->module_init = ptr;
|
||||||
|
|
||||||
/* Transfer each section which specifies SHF_ALLOC */
|
/* Transfer each section which specifies SHF_ALLOC */
|
||||||
DEBUGP("final section addresses:\n");
|
pr_debug("final section addresses:\n");
|
||||||
for (i = 0; i < info->hdr->e_shnum; i++) {
|
for (i = 0; i < info->hdr->e_shnum; i++) {
|
||||||
void *dest;
|
void *dest;
|
||||||
Elf_Shdr *shdr = &info->sechdrs[i];
|
Elf_Shdr *shdr = &info->sechdrs[i];
|
||||||
|
@ -2636,8 +2630,8 @@ static int move_module(struct module *mod, struct load_info *info)
|
||||||
memcpy(dest, (void *)shdr->sh_addr, shdr->sh_size);
|
memcpy(dest, (void *)shdr->sh_addr, shdr->sh_size);
|
||||||
/* Update sh_addr to point to copy in image. */
|
/* Update sh_addr to point to copy in image. */
|
||||||
shdr->sh_addr = (unsigned long)dest;
|
shdr->sh_addr = (unsigned long)dest;
|
||||||
DEBUGP("\t0x%lx %s\n",
|
pr_debug("\t0x%lx %s\n",
|
||||||
shdr->sh_addr, info->secstrings + shdr->sh_name);
|
(long)shdr->sh_addr, info->secstrings + shdr->sh_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2798,7 +2792,7 @@ static struct module *load_module(void __user *umod,
|
||||||
struct module *mod;
|
struct module *mod;
|
||||||
long err;
|
long err;
|
||||||
|
|
||||||
DEBUGP("load_module: umod=%p, len=%lu, uargs=%p\n",
|
pr_debug("load_module: umod=%p, len=%lu, uargs=%p\n",
|
||||||
umod, len, uargs);
|
umod, len, uargs);
|
||||||
|
|
||||||
/* Copy in the blobs from userspace, check they are vaguely sane. */
|
/* Copy in the blobs from userspace, check they are vaguely sane. */
|
||||||
|
|
Loading…
Add table
Reference in a new issue