From: Szabolcs Nagy <szabolcs.nagy@arm.com>
To: libc-alpha@sourceware.org
Cc: Mark Rutland <mark.rutland@arm.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
linux-kernel@vger.kernel.org,
Jeremy Linton <jeremy.linton@arm.com>,
Mark Brown <broonie@kernel.org>,
kernel-hardening@lists.openwall.com,
Topi Miettinen <toiwoton@gmail.com>,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/6] elf: lose is closely tied to _dl_map_object_from_fd
Date: Fri, 27 Nov 2020 13:20:10 +0000 [thread overview]
Message-ID: <f6788964bf6412da6fcdd3be4f67eb0417e558a6.1606319495.git.szabolcs.nagy@arm.com> (raw)
In-Reply-To: <cover.1606319495.git.szabolcs.nagy@arm.com>
Simple refactoring to keep failure handling next to
_dl_map_object_from_fd.
---
elf/dl-load.c | 48 ++++++++++++++++++++++++------------------------
1 file changed, 24 insertions(+), 24 deletions(-)
diff --git a/elf/dl-load.c b/elf/dl-load.c
index f3201e7c14..21e55deb19 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -835,30 +835,6 @@ _dl_init_paths (const char *llp, const char *source)
}
-static void
-__attribute__ ((noreturn, noinline))
-lose (int code, int fd, const char *name, char *realname, struct link_map *l,
- const char *msg, struct r_debug *r, Lmid_t nsid)
-{
- /* The file might already be closed. */
- if (fd != -1)
- (void) __close_nocancel (fd);
- if (l != NULL && l->l_origin != (char *) -1l)
- free ((char *) l->l_origin);
- free (l);
- free (realname);
-
- if (r != NULL)
- {
- r->r_state = RT_CONSISTENT;
- _dl_debug_state ();
- LIBC_PROBE (map_failed, 2, nsid, r);
- }
-
- _dl_signal_error (code, name, NULL, msg);
-}
-
-
/* Process PT_GNU_PROPERTY program header PH in module L after
PT_LOAD segments are mapped. Only one NT_GNU_PROPERTY_TYPE_0
note is handled which contains processor specific properties. */
@@ -930,6 +906,30 @@ _dl_process_pt_gnu_property (struct link_map *l, const ElfW(Phdr) *ph)
}
+static void
+__attribute__ ((noreturn, noinline))
+lose (int code, int fd, const char *name, char *realname, struct link_map *l,
+ const char *msg, struct r_debug *r, Lmid_t nsid)
+{
+ /* The file might already be closed. */
+ if (fd != -1)
+ (void) __close_nocancel (fd);
+ if (l != NULL && l->l_origin != (char *) -1l)
+ free ((char *) l->l_origin);
+ free (l);
+ free (realname);
+
+ if (r != NULL)
+ {
+ r->r_state = RT_CONSISTENT;
+ _dl_debug_state ();
+ LIBC_PROBE (map_failed, 2, nsid, r);
+ }
+
+ _dl_signal_error (code, name, NULL, msg);
+}
+
+
/* Map in the shared object NAME, actually located in REALNAME, and already
opened on FD. */
--
2.17.1
next prev parent reply other threads:[~2020-11-27 13:20 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-27 13:19 [PATCH v2 0/6] aarch64: avoid mprotect(PROT_BTI|PROT_EXEC) [BZ #26831] Szabolcs Nagy
2020-11-27 13:19 ` [PATCH v2 1/6] aarch64: Fix missing BTI protection from dependencies [BZ #26926] Szabolcs Nagy
2020-12-10 17:51 ` Adhemerval Zanella
2020-12-11 15:33 ` Szabolcs Nagy
2020-11-27 13:20 ` Szabolcs Nagy [this message]
2020-11-27 13:20 ` [PATCH v2 3/6] elf: Fix failure handling in _dl_map_object_from_fd Szabolcs Nagy
2020-12-10 18:25 ` Adhemerval Zanella
2020-12-11 9:32 ` Szabolcs Nagy
2020-11-27 13:20 ` [PATCH v2 4/6] elf: Move note processing after l_phdr is updated Szabolcs Nagy
2020-11-27 13:21 ` [PATCH v2 5/6] elf: Pass the fd to note processing Szabolcs Nagy
2020-12-10 18:35 ` Adhemerval Zanella
2020-11-27 13:21 ` [PATCH v2 6/6] aarch64: Use mmap to add PROT_BTI instead of mprotect [BZ #26831] Szabolcs Nagy
2020-12-02 8:55 ` [PATCH v3 1/2] aarch64: align address for BTI protection [BZ #26988] Szabolcs Nagy
2020-12-10 18:49 ` Adhemerval Zanella
2020-12-02 8:55 ` [PATCH v3 2/2] aarch64: Use mmap to add PROT_BTI instead of mprotect [BZ #26831] Szabolcs Nagy
2020-12-10 19:12 ` Adhemerval Zanella
2020-11-30 15:56 ` [PATCH v2 0/6] aarch64: avoid mprotect(PROT_BTI|PROT_EXEC) " Szabolcs Nagy
2020-12-03 17:30 ` Catalin Marinas
2020-12-07 20:03 ` Szabolcs Nagy
2020-12-11 17:46 ` Catalin Marinas
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=f6788964bf6412da6fcdd3be4f67eb0417e558a6.1606319495.git.szabolcs.nagy@arm.com \
--to=szabolcs.nagy@arm.com \
--cc=broonie@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=jeremy.linton@arm.com \
--cc=kernel-hardening@lists.openwall.com \
--cc=libc-alpha@sourceware.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=toiwoton@gmail.com \
--cc=will@kernel.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;
as well as URLs for NNTP newsgroup(s).