modpost: replace the use of NOFAIL() with xmalloc() etc.
authorMasahiro Yamada <masahiroy@kernel.org>
Mon, 12 Aug 2024 12:48:51 +0000 (21:48 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Sun, 1 Sep 2024 11:34:48 +0000 (20:34 +0900)
I think x*alloc() functions are cleaner.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
scripts/mod/modpost.c
scripts/mod/modpost.h
scripts/mod/sumversion.c
scripts/mod/symsearch.c

index bfd758ad9e4f5f0359b7fbeb4c57bbf5ebe4d449..66bd89b2a8b689774b114757f5c60298c7468da8 100644 (file)
@@ -23,6 +23,7 @@
 
 #include <hashtable.h>
 #include <list.h>
+#include <xalloc.h>
 #include "modpost.h"
 #include "../../include/linux/license.h"
 
@@ -97,14 +98,6 @@ static inline bool strends(const char *str, const char *postfix)
        return strcmp(str + strlen(str) - strlen(postfix), postfix) == 0;
 }
 
-void *do_nofail(void *ptr, const char *expr)
-{
-       if (!ptr)
-               fatal("Memory allocation failure: %s.\n", expr);
-
-       return ptr;
-}
-
 char *read_text_file(const char *filename)
 {
        struct stat st;
@@ -123,7 +116,7 @@ char *read_text_file(const char *filename)
                exit(1);
        }
 
-       buf = NOFAIL(malloc(st.st_size + 1));
+       buf = xmalloc(st.st_size + 1);
 
        nbytes = st.st_size;
 
@@ -181,7 +174,7 @@ static struct module *new_module(const char *name, size_t namelen)
 {
        struct module *mod;
 
-       mod = NOFAIL(malloc(sizeof(*mod) + namelen + 1));
+       mod = xmalloc(sizeof(*mod) + namelen + 1);
        memset(mod, 0, sizeof(*mod));
 
        INIT_LIST_HEAD(&mod->exported_symbols);
@@ -240,7 +233,7 @@ static inline unsigned int tdb_hash(const char *name)
  **/
 static struct symbol *alloc_symbol(const char *name)
 {
-       struct symbol *s = NOFAIL(malloc(sizeof(*s) + strlen(name) + 1));
+       struct symbol *s = xmalloc(sizeof(*s) + strlen(name) + 1);
 
        memset(s, 0, sizeof(*s));
        strcpy(s->name, name);
@@ -313,8 +306,7 @@ static void add_namespace(struct list_head *head, const char *namespace)
        struct namespace_list *ns_entry;
 
        if (!contains_namespace(head, namespace)) {
-               ns_entry = NOFAIL(malloc(sizeof(*ns_entry) +
-                                        strlen(namespace) + 1));
+               ns_entry = xmalloc(sizeof(*ns_entry) + strlen(namespace) + 1);
                strcpy(ns_entry->namespace, namespace);
                list_add_tail(&ns_entry->list, head);
        }
@@ -369,7 +361,7 @@ static struct symbol *sym_add_exported(const char *name, struct module *mod,
        s = alloc_symbol(name);
        s->module = mod;
        s->is_gpl_only = gpl_only;
-       s->namespace = NOFAIL(strdup(namespace));
+       s->namespace = xstrdup(namespace);
        list_add_tail(&s->list, &mod->exported_symbols);
        hash_add_symbol(s);
 
@@ -637,7 +629,7 @@ static void handle_symbol(struct module *mod, struct elf_info *info,
                        if (ELF_ST_TYPE(sym->st_info) == STT_SPARC_REGISTER)
                                break;
                        if (symname[0] == '.') {
-                               char *munged = NOFAIL(strdup(symname));
+                               char *munged = xstrdup(symname);
                                munged[0] = '_';
                                munged[1] = toupper(munged[1]);
                                symname = munged;
@@ -1677,7 +1669,7 @@ void buf_write(struct buffer *buf, const char *s, int len)
 {
        if (buf->size - buf->pos < len) {
                buf->size += len + SZ;
-               buf->p = NOFAIL(realloc(buf->p, buf->size));
+               buf->p = xrealloc(buf->p, buf->size);
        }
        strncpy(buf->p + buf->pos, s, len);
        buf->pos += len;
@@ -1962,7 +1954,7 @@ static void write_if_changed(struct buffer *b, const char *fname)
        if (st.st_size != b->pos)
                goto close_write;
 
-       tmp = NOFAIL(malloc(b->pos));
+       tmp = xmalloc(b->pos);
        if (fread(tmp, 1, b->pos, file) != b->pos)
                goto free_write;
 
@@ -2167,7 +2159,7 @@ int main(int argc, char **argv)
                        external_module = true;
                        break;
                case 'i':
-                       dl = NOFAIL(malloc(sizeof(*dl)));
+                       dl = xmalloc(sizeof(*dl));
                        dl->file = optarg;
                        list_add_tail(&dl->list, &dump_lists);
                        break;
index 54ba9431713f2b71f8e668d26892a2f936dd61a9..7fa8bdd801a96c45b76164b9e35b18ab5caea174 100644 (file)
 #define TO_NATIVE(x)   \
        (target_is_big_endian == host_is_big_endian ? x : bswap(x))
 
-#define NOFAIL(ptr)   do_nofail((ptr), #ptr)
-
 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
 
-void *do_nofail(void *ptr, const char *expr);
-
 struct buffer {
        char *p;
        int pos;
index dc4878502276ce94bc7d3d8a213934a21751078a..e7d2da45b0df80d10a28ddd31582579ccf205573 100644 (file)
@@ -8,6 +8,8 @@
 #include <errno.h>
 #include <string.h>
 #include <limits.h>
+
+#include <xalloc.h>
 #include "modpost.h"
 
 /*
@@ -305,7 +307,7 @@ static int parse_source_files(const char *objfile, struct md4_ctx *md)
        const char *base;
        int dirlen, ret = 0, check_files = 0;
 
-       cmd = NOFAIL(malloc(strlen(objfile) + sizeof("..cmd")));
+       cmd = xmalloc(strlen(objfile) + sizeof("..cmd"));
 
        base = strrchr(objfile, '/');
        if (base) {
@@ -316,7 +318,7 @@ static int parse_source_files(const char *objfile, struct md4_ctx *md)
                dirlen = 0;
                sprintf(cmd, ".%s.cmd", objfile);
        }
-       dir = NOFAIL(malloc(dirlen + 1));
+       dir = xmalloc(dirlen + 1);
        strncpy(dir, objfile, dirlen);
        dir[dirlen] = '\0';
 
index aa4ed51f9960cd481d30492cf7742de7a725281e..b9737b92f7f83dabbd1483197a299cfa92e2ba9b 100644 (file)
@@ -4,7 +4,7 @@
  * Helper functions for finding the symbol in an ELF which is "nearest"
  * to a given address.
  */
-
+#include <xalloc.h>
 #include "modpost.h"
 
 struct syminfo {
@@ -125,8 +125,8 @@ void symsearch_init(struct elf_info *elf)
 {
        unsigned int table_size = symbol_count(elf);
 
-       elf->symsearch = NOFAIL(malloc(sizeof(struct symsearch) +
-                                      sizeof(struct syminfo) * table_size));
+       elf->symsearch = xmalloc(sizeof(struct symsearch) +
+                                      sizeof(struct syminfo) * table_size);
        elf->symsearch->table_size = table_size;
 
        symsearch_populate(elf, elf->symsearch->table, table_size);