mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH] fixup! scripts: Add common library functions
@ 2021-10-27  6:01 Ahmad Fatoum
  2021-11-01  9:04 ` Sascha Hauer
  0 siblings, 1 reply; 2+ messages in thread
From: Ahmad Fatoum @ 2021-10-27  6:01 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

scripts: common: mmap mutable memory in read_file_2

imx-usb-loader expects the file buffer contents to be mutable as it
will patch out references to plugin and DCD segments.

With the consolidation of the different file read helpers, the
buffer is no longer always malloc'd, but a read-only shared
mapping is attempted first and if it succeeds, imx-usb-loader
will seg fault during fixups.

As we don't want to modify the underlying file, switch to a writable
private mapping to remedy this.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 scripts/common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/common.c b/scripts/common.c
index bff08b0810c2..b780b099419c 100644
--- a/scripts/common.c
+++ b/scripts/common.c
@@ -46,7 +46,7 @@ int read_file_2(const char *filename, size_t *size, void **outbuf, size_t max_si
 		goto close;
 	}
 
-	buf = mmap(NULL, max_size, PROT_READ, MAP_SHARED, fd, 0);
+	buf = mmap(NULL, max_size, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
 	if (buf == MAP_FAILED ) {
 		buf = malloc(max_size);
 		if (!buf) {
-- 
2.30.2


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] fixup! scripts: Add common library functions
  2021-10-27  6:01 [PATCH] fixup! scripts: Add common library functions Ahmad Fatoum
@ 2021-11-01  9:04 ` Sascha Hauer
  0 siblings, 0 replies; 2+ messages in thread
From: Sascha Hauer @ 2021-11-01  9:04 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: barebox

On Wed, Oct 27, 2021 at 08:01:50AM +0200, Ahmad Fatoum wrote:
> scripts: common: mmap mutable memory in read_file_2
> 
> imx-usb-loader expects the file buffer contents to be mutable as it
> will patch out references to plugin and DCD segments.
> 
> With the consolidation of the different file read helpers, the
> buffer is no longer always malloc'd, but a read-only shared
> mapping is attempted first and if it succeeds, imx-usb-loader
> will seg fault during fixups.
> 
> As we don't want to modify the underlying file, switch to a writable
> private mapping to remedy this.
> 
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> ---
>  scripts/common.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks

Sascha


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-11-01  9:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-27  6:01 [PATCH] fixup! scripts: Add common library functions Ahmad Fatoum
2021-11-01  9:04 ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox