Messages in this thread | | | From | Rusty Russell <> | Subject | Re: [PATCH v3] kernel/module.c: need return the first error code to upper caller when error occurs | Date | Thu, 23 May 2013 13:24:08 +0930 |
| |
Chen Gang <gang.chen@asianux.com> writes: > Hello Maintainers: > > Please help check the patch whether OK or not, when you have time.
Hi Chen,
There's nothing *wrong* with the patch, but I don't think it's worthwhile. If this were your very first kernel patch, I'd probably apply it just to encourage you, but you're not a newbie any more!
Cheers, Rusty.
> 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
| |