UPSTREAM: modpost: rename merror() to error()
The log function names, warn(), merror(), fatal() are inconsistent. Commit2a11665945("kbuild: distinguish between errors and warnings in modpost") intentionally chose merror() to avoid the conflict with the library function error(). See man page of error(3). But, we are already causing the conflict with warn() because it is also a library function. See man page of warn(3). err() would be a problem for the same reason. The common technique to work around name conflicts is to use macros. #define error __error void __error(const char *fmt, ...) { <our own implementation> } #define warn __warn void __warn(const char *fmt, ...) { <our own implementation> } In this way, we can implement our own warn() and error(), still we can include <error.h> and <err.h> with no problem. And, commit93c95e526a("modpost: rework and consolidate logging interface") already did that. Since the log functions are all macros, we can use error() without causing "conflicting types" errors. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Bug: 176428324 Change-Id: Ief32b258e943026ad3f67a8c82c989129f8e654b (cherry picked from commitbc72d723ec) Signed-off-by: Melody Olvera <molvera@codeaurora.org>
This commit is contained in:
committed by
Quentin Perret
parent
37913822f6
commit
979f7488da
@@ -394,8 +394,8 @@ static void sym_update_namespace(const char *symname, const char *namespace)
|
||||
* actually an assertion.
|
||||
*/
|
||||
if (!s) {
|
||||
merror("Could not update namespace(%s) for symbol %s\n",
|
||||
namespace, symname);
|
||||
error("Could not update namespace(%s) for symbol %s\n",
|
||||
namespace, symname);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2223,7 +2223,7 @@ static int check_modname_len(struct module *mod)
|
||||
else
|
||||
mod_name++;
|
||||
if (strlen(mod_name) >= MODULE_NAME_LEN) {
|
||||
merror("module name is too long [%s.ko]\n", mod->name);
|
||||
error("module name is too long [%s.ko]\n", mod->name);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -2316,8 +2316,8 @@ static int add_versions(struct buffer *b, struct module *mod)
|
||||
continue;
|
||||
}
|
||||
if (strlen(s->name) >= MODULE_NAME_LEN) {
|
||||
merror("too long symbol \"%s\" [%s.ko]\n",
|
||||
s->name, mod->name);
|
||||
error("too long symbol \"%s\" [%s.ko]\n",
|
||||
s->name, mod->name);
|
||||
err = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -211,5 +211,5 @@ enum loglevel {
|
||||
void modpost_log(enum loglevel loglevel, const char *fmt, ...);
|
||||
|
||||
#define warn(fmt, args...) modpost_log(LOG_WARN, fmt, ##args)
|
||||
#define merror(fmt, args...) modpost_log(LOG_ERROR, fmt, ##args)
|
||||
#define error(fmt, args...) modpost_log(LOG_ERROR, fmt, ##args)
|
||||
#define fatal(fmt, args...) modpost_log(LOG_FATAL, fmt, ##args)
|
||||
|
||||
Reference in New Issue
Block a user