From: Masahiro Yamada <yamada.masahiro@socionext.com>
To: Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>,
Michal Marek <michal.lkml@markovi.net>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/4] modpost: pass struct elf_info pointer to get_modinfo()
Date: Mon, 14 May 2018 09:12:06 +0900 [thread overview]
Message-ID: <CAK7LNASbMy20N_FwDwcbakUqNJ9wH6ruar3WrP1RAL46Ne5_9w@mail.gmail.com> (raw)
In-Reply-To: <1525859440-29583-1-git-send-email-yamada.masahiro@socionext.com>
2018-05-09 18:50 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
> get_(next_)modinfo takes a pointer and length pair of the .modinfo
> section. Instead, pass struct elf_info pointer to reduce the number
> of function arguments.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
Series, applied to linux-kbuild.
> scripts/mod/modpost.c | 25 ++++++++++++-------------
> 1 file changed, 12 insertions(+), 13 deletions(-)
>
> diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
> index bc71925..37a6a0b4 100644
> --- a/scripts/mod/modpost.c
> +++ b/scripts/mod/modpost.c
> @@ -724,16 +724,17 @@ static char *next_string(char *string, unsigned long *secsize)
> return string;
> }
>
> -static char *get_next_modinfo(void *modinfo, unsigned long modinfo_len,
> - const char *tag, char *info)
> +static char *get_next_modinfo(struct elf_info *info, const char *tag,
> + char *prev)
> {
> char *p;
> unsigned int taglen = strlen(tag);
> - unsigned long size = modinfo_len;
> + char *modinfo = info->modinfo;
> + unsigned long size = info->modinfo_len;
>
> - if (info) {
> - size -= info - (char *)modinfo;
> - modinfo = next_string(info, &size);
> + if (prev) {
> + size -= prev - modinfo;
> + modinfo = next_string(prev, &size);
> }
>
> for (p = modinfo; p; p = next_string(p, &size)) {
> @@ -743,11 +744,10 @@ static char *get_next_modinfo(void *modinfo, unsigned long modinfo_len,
> return NULL;
> }
>
> -static char *get_modinfo(void *modinfo, unsigned long modinfo_len,
> - const char *tag)
> +static char *get_modinfo(struct elf_info *info, const char *tag)
>
> {
> - return get_next_modinfo(modinfo, modinfo_len, tag, NULL);
> + return get_next_modinfo(info, tag, NULL);
> }
>
> /**
> @@ -1951,7 +1951,7 @@ static void read_symbols(char *modname)
> mod->skip = 1;
> }
>
> - license = get_modinfo(info.modinfo, info.modinfo_len, "license");
> + license = get_modinfo(&info, "license");
> if (!license && !is_vmlinux(modname))
> warn("modpost: missing MODULE_LICENSE() in %s\n"
> "see include/linux/module.h for "
> @@ -1963,8 +1963,7 @@ static void read_symbols(char *modname)
> mod->gpl_compatible = 0;
> break;
> }
> - license = get_next_modinfo(info.modinfo, info.modinfo_len,
> - "license", license);
> + license = get_next_modinfo(&info, "license", license);
> }
>
> for (sym = info.symtab_start; sym < info.symtab_stop; sym++) {
> @@ -1977,7 +1976,7 @@ static void read_symbols(char *modname)
> (is_vmlinux(modname) && vmlinux_section_warnings))
> check_sec_ref(mod, modname, &info);
>
> - version = get_modinfo(info.modinfo, info.modinfo_len, "version");
> + version = get_modinfo(&info, "version");
> if (version)
> maybe_frob_rcs_version(modname, version, info.modinfo,
> version - (char *)info.hdr);
> --
> 2.7.4
>
--
Best Regards
Masahiro Yamada
prev parent reply other threads:[~2018-05-14 0:12 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-09 9:50 [PATCH 1/4] modpost: pass struct elf_info pointer to get_modinfo() Masahiro Yamada
2018-05-09 9:50 ` [PATCH 2/4] modpost: use strstarts() helper more widely Masahiro Yamada
2018-05-09 9:50 ` [PATCH 3/4] modpost: remove redundant is_vmlinux() test Masahiro Yamada
2018-05-09 9:50 ` [PATCH 4/4] modpost: constify *modname function argument where possible Masahiro Yamada
2018-05-14 0:12 ` Masahiro Yamada [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAK7LNASbMy20N_FwDwcbakUqNJ9wH6ruar3WrP1RAL46Ne5_9w@mail.gmail.com \
--to=yamada.masahiro@socionext.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michal.lkml@markovi.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).