From: Matt Helsley <mhelsley@vmware.com>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>,
Josh Poimboeuf <jpoimboe@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Steven Rostedt <rostedt@goodmis.org>,
Matt Helsley <mhelsley@vmware.com>
Subject: [RFC][PATCH 03/13] recordmcount: Remove unused fd from uwrite() and ulseek()
Date: Wed, 22 May 2019 17:03:26 -0700 [thread overview]
Message-ID: <d6544ccbe5e469278582aa454041c8ee3cabf532.1558569448.git.mhelsley@vmware.com> (raw)
In-Reply-To: <cover.1558569448.git.mhelsley@vmware.com>
uwrite() works within the pseudo-mapping and extends it as necessary
without needing the file descriptor (fd) parameter passed to it.
Similarly, ulseek() doesn't need its fd parameter. These parameters
were only added because the functions bear a conceptual resemblance
to write() and lseek(). Worse, they obscure the fact that at the time
uwrite() and ulseek() are called fd_map is not a valid file descriptor.
Remove the unused file descriptor parameters that make it look like
fd_map is still valid.
Signed-off-by: Matt Helsley <mhelsley@vmware.com>
---
scripts/recordmcount.c | 16 ++++++++--------
scripts/recordmcount.h | 26 +++++++++++++-------------
2 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/scripts/recordmcount.c b/scripts/recordmcount.c
index 30ef6da68e12..9101b67921cb 100644
--- a/scripts/recordmcount.c
+++ b/scripts/recordmcount.c
@@ -92,7 +92,7 @@ succeed_file(void)
/* ulseek, uwrite, ...: Check return value for errors. */
static off_t
-ulseek(int const fd, off_t const offset, int const whence)
+ulseek(off_t const offset, int const whence)
{
switch (whence) {
case SEEK_SET:
@@ -113,7 +113,7 @@ ulseek(int const fd, off_t const offset, int const whence)
}
static size_t
-uwrite(int const fd, void const *const buf, size_t const count)
+uwrite(void const *const buf, size_t const count)
{
size_t cnt = count;
off_t idx = 0;
@@ -183,8 +183,8 @@ static int make_nop_x86(void *map, size_t const offset)
return -1;
/* convert to nop */
- ulseek(fd_map, offset - 1, SEEK_SET);
- uwrite(fd_map, ideal_nop, 5);
+ ulseek(offset - 1, SEEK_SET);
+ uwrite(ideal_nop, 5);
return 0;
}
@@ -232,10 +232,10 @@ static int make_nop_arm(void *map, size_t const offset)
return -1;
/* Convert to nop */
- ulseek(fd_map, off, SEEK_SET);
+ ulseek(off, SEEK_SET);
do {
- uwrite(fd_map, ideal_nop, nop_size);
+ uwrite(ideal_nop, nop_size);
} while (--cnt > 0);
return 0;
@@ -252,8 +252,8 @@ static int make_nop_arm64(void *map, size_t const offset)
return -1;
/* Convert to nop */
- ulseek(fd_map, offset, SEEK_SET);
- uwrite(fd_map, ideal_nop, 4);
+ ulseek(offset, SEEK_SET);
+ uwrite(ideal_nop, 4);
return 0;
}
diff --git a/scripts/recordmcount.h b/scripts/recordmcount.h
index 2e7793735e14..d9736f41009e 100644
--- a/scripts/recordmcount.h
+++ b/scripts/recordmcount.h
@@ -203,14 +203,14 @@ static void append_func(Elf_Ehdr *const ehdr,
new_e_shoff = t;
/* body for new shstrtab */
- ulseek(fd_map, sb.st_size, SEEK_SET);
- uwrite(fd_map, old_shstr_sh_offset + (void *)ehdr, old_shstr_sh_size);
- uwrite(fd_map, mc_name, 1 + strlen(mc_name));
+ ulseek(sb.st_size, SEEK_SET);
+ uwrite(old_shstr_sh_offset + (void *)ehdr, old_shstr_sh_size);
+ uwrite(mc_name, 1 + strlen(mc_name));
/* old(modified) Elf_Shdr table, word-byte aligned */
- ulseek(fd_map, t, SEEK_SET);
+ ulseek(t, SEEK_SET);
t += sizeof(Elf_Shdr) * old_shnum;
- uwrite(fd_map, old_shoff + (void *)ehdr,
+ uwrite(old_shoff + (void *)ehdr,
sizeof(Elf_Shdr) * old_shnum);
/* new sections __mcount_loc and .rel__mcount_loc */
@@ -226,7 +226,7 @@ static void append_func(Elf_Ehdr *const ehdr,
mcsec.sh_info = 0;
mcsec.sh_addralign = _w(_size);
mcsec.sh_entsize = _w(_size);
- uwrite(fd_map, &mcsec, sizeof(mcsec));
+ uwrite(&mcsec, sizeof(mcsec));
mcsec.sh_name = w(old_shstr_sh_size);
mcsec.sh_type = (sizeof(Elf_Rela) == rel_entsize)
@@ -240,15 +240,15 @@ static void append_func(Elf_Ehdr *const ehdr,
mcsec.sh_info = w(old_shnum);
mcsec.sh_addralign = _w(_size);
mcsec.sh_entsize = _w(rel_entsize);
- uwrite(fd_map, &mcsec, sizeof(mcsec));
+ uwrite(&mcsec, sizeof(mcsec));
- uwrite(fd_map, mloc0, (void *)mlocp - (void *)mloc0);
- uwrite(fd_map, mrel0, (void *)mrelp - (void *)mrel0);
+ uwrite(mloc0, (void *)mlocp - (void *)mloc0);
+ uwrite(mrel0, (void *)mrelp - (void *)mrel0);
ehdr->e_shoff = _w(new_e_shoff);
ehdr->e_shnum = w2(2 + w2(ehdr->e_shnum)); /* {.rel,}__mcount_loc */
- ulseek(fd_map, 0, SEEK_SET);
- uwrite(fd_map, ehdr, sizeof(*ehdr));
+ ulseek(0, SEEK_SET);
+ uwrite(ehdr, sizeof(*ehdr));
}
static unsigned get_mcountsym(Elf_Sym const *const sym0,
@@ -396,8 +396,8 @@ static void nop_mcount(Elf_Shdr const *const relhdr,
Elf_Rel rel;
rel = *(Elf_Rel *)relp;
Elf_r_info(&rel, Elf_r_sym(relp), rel_type_nop);
- ulseek(fd_map, (void *)relp - (void *)ehdr, SEEK_SET);
- uwrite(fd_map, &rel, sizeof(rel));
+ ulseek((void *)relp - (void *)ehdr, SEEK_SET);
+ uwrite(&rel, sizeof(rel));
}
relp = (Elf_Rel const *)(rel_entsize + (void *)relp);
}
--
2.20.1
next prev parent reply other threads:[~2019-05-23 0:04 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-23 0:03 [RFC][PATCH 00/13] Cleanup recordmcount and begin objtool conversion Matt Helsley
2019-05-23 0:03 ` [RFC][PATCH 01/13] recordmcount: Remove redundant strcmp Matt Helsley
2019-05-23 0:03 ` [RFC][PATCH 02/13] recordmcount: Remove uread() Matt Helsley
2019-05-23 0:03 ` Matt Helsley [this message]
2019-05-23 0:03 ` [RFC][PATCH 04/13] recordmcount: Rewrite error/success handling Matt Helsley
2019-05-23 0:03 ` [RFC][PATCH 05/13] recordmcount: Kernel style function signature formatting Matt Helsley
2019-05-23 0:03 ` [RFC][PATCH 06/13] recordmcount: Kernel style formatting Matt Helsley
2019-05-23 0:03 ` [RFC][PATCH 07/13] recordmcount: Remove redundant cleanup() calls Matt Helsley
2019-05-23 0:03 ` [RFC][PATCH 08/13] recordmcount: Clarify what cleanup() does Matt Helsley
2019-05-23 0:03 ` [RFC][PATCH 09/13] objtool: Prepare to merge recordmcount Matt Helsley
2019-05-23 0:03 ` [RFC][PATCH 10/13] objtool: Make recordmcount into an objtool subcmd Matt Helsley
2019-05-28 14:54 ` Josh Poimboeuf
2019-05-23 0:03 ` [RFC][PATCH 11/13] objtool: recordmcount: Start using objtool's elf wrapper Matt Helsley
2019-05-23 0:03 ` [RFC][PATCH 12/13] objtool: recordmcount: Search for __mcount_loc before walking the sections Matt Helsley
2019-05-23 0:03 ` [RFC][PATCH 13/13] objtool: recordmcount: Convert do_func() relhdrs Matt Helsley
2019-05-28 14:43 ` [RFC][PATCH 00/13] Cleanup recordmcount and begin objtool conversion Josh Poimboeuf
2019-05-28 14:50 ` Steven Rostedt
2019-05-29 13:41 ` Peter Zijlstra
2019-05-29 14:11 ` Josh Poimboeuf
2019-05-30 23:52 ` Matt Helsley
2019-05-31 18:34 ` Josh Poimboeuf
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=d6544ccbe5e469278582aa454041c8ee3cabf532.1558569448.git.mhelsley@vmware.com \
--to=mhelsley@vmware.com \
--cc=jpoimboe@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
/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
all inboxes | Powered by JetHome®