Messages in this thread | | | Date | Wed, 22 May 2013 19:26:07 +0800 | From | Chen Gang <> | Subject | Re: [PATCH v3] kernel/module.c: need return the first error code to upper caller when error occurs |
| |
Hello Maintainers:
Please help check the patch whether OK or not, when you have time.
Thanks.
On 05/17/2013 12:33 PM, Chen Gang wrote: > > When multiple errors occur, simplify_symbols() will return the last > error code to the upper caller. > > In this case, better to return the first error code to the upper caller. > > Just like "using compiler": it will print all errors and warnings as > much as it can, but the user usually mainly focus on the first error or > warning. Since 'user' only can get one error return code, 'he/she' > usually assume the error code will match the first error print line. > > > Signed-off-by: Chen Gang <gang.chen@asianux.com> > --- > kernel/module.c | 6 ++++-- > 1 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/kernel/module.c b/kernel/module.c > index e4ee1bf..9e6c96d 100644 > --- a/kernel/module.c > +++ b/kernel/module.c > @@ -1976,7 +1976,8 @@ static int simplify_symbols(struct module *mod, const struct load_info *info) > pr_debug("Common symbol: %s\n", name); > printk("%s: please compile with -fno-common\n", > mod->name); > - ret = -ENOEXEC; > + if (!ret) > + ret = -ENOEXEC; > break; > > case SHN_ABS: > @@ -1999,7 +2000,8 @@ static int simplify_symbols(struct module *mod, const struct load_info *info) > > printk(KERN_WARNING "%s: Unknown symbol %s (err %li)\n", > mod->name, name, PTR_ERR(ksym)); > - ret = PTR_ERR(ksym) ?: -ENOENT; > + if (!ret) > + ret = PTR_ERR(ksym) ?: -ENOENT; > break; > > default: >
-- Chen Gang
Asianux Corporation
| |