Patch sources to honor priority settings

This commit is contained in:
Emery Hemingway 2021-04-14 12:00:50 +02:00
parent c8671b63d8
commit 2840ba6b1f
1 changed files with 76 additions and 32 deletions

View File

@ -1,7 +1,7 @@
From bf2613eb22091125c0aff894e580063dac5e2bff Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Mon, 6 Apr 2020 16:32:13 +0530
Subject: [PATCH 01/16] ld: support for loading read-only segments
Subject: [PATCH 01/17] ld: support for loading read-only segments
---
repos/base/src/lib/ldso/include/file.h | 24 ++++++++++++++++++--
@ -86,13 +86,13 @@ index 78d2c7033d..f17d6dfec0 100644
};
--
2.30.0
2.31.0
From 525ab24c481acdf9bb784cac36e663a20084b55b Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Sat, 25 Apr 2020 17:10:03 +0530
Subject: [PATCH 02/16] init/sandbox: <routes> support
Subject: [PATCH 02/17] init/sandbox: <routes> support
Apply routing rules to a child from a <routes> node at the top-level of
a sandbox config, unless the corresponding start node has as <route>
@ -271,13 +271,13 @@ index 7afcaebf00..36aab737f2 100644
if (!scoped_label)
return false;
--
2.30.0
2.31.0
From 16106e96b1cf7639b050097b131b3be3cdbcf739 Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Fri, 29 May 2020 18:42:57 +0530
Subject: [PATCH 03/16] Use 128-byte strings for session labels
Subject: [PATCH 03/17] Use 128-byte strings for session labels
Sixty-four bytes is insufficient for Nix store paths.
---
@ -380,13 +380,13 @@ index 81836a2045..f7b41ddd5b 100644
static Binary_name _binary_from_xml(Xml_node start_node,
--
2.30.0
2.31.0
From 3f38eacb25348a811f37ce267323253b1941cad2 Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Wed, 4 Nov 2020 11:03:49 +0100
Subject: [PATCH 04/16] init/sandbox: do not parse <parent-provides> if
Subject: [PATCH 04/17] init/sandbox: do not parse <parent-provides> if
<routes> is present
---
@ -531,13 +531,13 @@ index 30d0f2dfc1..caa9840ea6 100644
--
2.30.0
2.31.0
From ef28369a1e6ba0f8910da3a6cb757f9e5ec334ad Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Wed, 4 Nov 2020 20:02:03 +0100
Subject: [PATCH 05/16] init/sandbox: simplify routing
Subject: [PATCH 05/17] init/sandbox: simplify routing
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@ -897,13 +897,13 @@ index 36aab737f2..639a4be4dd 100644
* Find service with certain values in given registry
*
--
2.30.0
2.31.0
From 79ae552230809f62e1717a08f5ce9a63c044abf9 Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Sat, 7 Nov 2020 08:37:29 +0100
Subject: [PATCH 06/16] core: log ROM requests with affirmative "diag" flag
Subject: [PATCH 06/17] core: log ROM requests with affirmative "diag" flag
---
repos/base/src/core/include/rom_session_component.h | 12 ++++++++++--
@ -937,13 +937,13 @@ index c584701f5f..2c93302e14 100644
}
--
2.30.0
2.31.0
From 0e1ea49ea6ce4f85e2e30a01aa5ace7928b20267 Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Sat, 7 Nov 2020 11:23:03 +0100
Subject: [PATCH 07/16] base: fail on label truncation
Subject: [PATCH 07/17] base: fail on label truncation
---
repos/base/include/base/session_label.h | 27 ++++++++++++++++++++++---
@ -1038,13 +1038,13 @@ index 610fbb16b3..48777e0c2a 100644
{
unsigned long value = 0;
--
2.30.0
2.31.0
From 2c193324a6702e123c8cafabda45c30c7ca09257 Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Sat, 7 Nov 2020 13:49:41 +0100
Subject: [PATCH 08/16] init: log error when configuration cannot be parsed
Subject: [PATCH 08/17] init: log error when configuration cannot be parsed
---
repos/os/src/init/main.cc | 4 ++++
@ -1066,13 +1066,13 @@ index 7b69c95721..f1c1a1435a 100644
bool reporter_enabled = false;
config.with_sub_node("report", [&] (Xml_node report) {
--
2.30.0
2.31.0
From 5d07e900e3c7f0fe507844bccc5f168bad046a3c Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Sat, 28 Nov 2020 14:00:49 +0100
Subject: [PATCH 09/16] Do not default Child::binary_name() to Child::name()
Subject: [PATCH 09/17] Do not default Child::binary_name() to Child::name()
---
repos/base/include/base/child.h | 2 +-
@ -1119,13 +1119,13 @@ index fd254d7f49..036e7f8fc2 100644
Pd_session &ref_pd() override { return _env.pd(); }
Pd_session_capability ref_pd_cap() const override { return _env.pd_session_cap(); }
--
2.30.0
2.31.0
From 0ac7fd14676b451e11b74c9e66f7de265b3ee4e6 Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Thu, 3 Dec 2020 12:19:10 +0100
Subject: [PATCH 10/16] vfs: create missing root directories for writeable
Subject: [PATCH 10/17] vfs: create missing root directories for writeable
sessions
This is the expected behavior.
@ -1199,13 +1199,13 @@ index b780b1fdd7..358afd28a9 100644
Session_component *session = new (md_alloc())
--
2.30.0
2.31.0
From 6842e2d0c2c784d224a9d7bc100e491545b8e5e6 Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Thu, 28 Jan 2021 13:39:29 +0100
Subject: [PATCH 11/16] genode_dyn.ld: do not emit PHDR segment
Subject: [PATCH 11/17] genode_dyn.ld: do not emit PHDR segment
Recent version of binutils check that PHDR segments are covered
by a LOAD segment. In this case the unloaded PHDR segment can be
@ -1227,13 +1227,13 @@ index 5fa6ddc29e..57ec92f0f6 100644
ro PT_LOAD;
rw PT_LOAD;
--
2.30.0
2.31.0
From ff8ffb77ccf4238001abd7253c45dece86fe8983 Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Wed, 3 Feb 2021 15:20:39 +0100
Subject: [PATCH 12/16] vfs: support for loading plugins by label
Subject: [PATCH 12/17] vfs: support for loading plugins by label
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@ -1298,13 +1298,13 @@ index 5cdf20e8e3..1cf5d587ea 100644
--
2.30.0
2.31.0
From 490fb611ceaad9ae67af35c22ac40dd65ddd7a42 Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Wed, 3 Feb 2021 17:33:24 +0100
Subject: [PATCH 13/16] vfs: increase the capacity of tar ROM labels to 128
Subject: [PATCH 13/17] vfs: increase the capacity of tar ROM labels to 128
---
repos/os/src/lib/vfs/tar_file_system.h | 2 +-
@ -1324,13 +1324,13 @@ index d9941deb5f..fcb06a1459 100644
Genode::Attached_rom_dataspace _tar_ds { _env, _rom_name.string() };
--
2.30.0
2.31.0
From a9900477faf8d9d41dbe3fa59a0b40ce5cab037f Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Wed, 10 Feb 2021 13:32:42 +0100
Subject: [PATCH 14/16] Detect destroyed argument buffers at Env::session
Subject: [PATCH 14/17] Detect destroyed argument buffers at Env::session
Session request arguments are silently zeroed when their length
exceedes some buffer size.
@ -1354,13 +1354,13 @@ index 568be31efb..913687ea7f 100644
/*
* Since we account for the backing store for session meta data on
--
2.30.0
2.31.0
From d2da7f94d328336ab6ac618ff5779ae8093c5e9d Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Thu, 11 Feb 2021 14:10:50 +0100
Subject: [PATCH 15/16] Increase session arguments buffer size to 240 bytes
Subject: [PATCH 15/17] Increase session arguments buffer size to 240 bytes
---
repos/base/include/parent/parent.h | 2 +-
@ -1408,13 +1408,13 @@ index 3cfbdd7466..d7603e8ca4 100644
_ZThn8_N6Genode17Timeout_schedulerD0Ev T
_ZThn8_N6Genode17Timeout_schedulerD1Ev T
--
2.30.0
2.31.0
From 9b1a5e00ba1fc7fccfec5ba6671c6e80e428f129 Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Fri, 19 Feb 2021 16:09:23 +0100
Subject: [PATCH 16/16] ldso: increase size of library names
Subject: [PATCH 16/17] ldso: increase size of library names
---
repos/base/src/lib/ldso/include/config.h | 2 +-
@ -1434,5 +1434,49 @@ index 5708df0930..db9014a95b 100644
/**
* Call fn for each library specified in the configuration
--
2.30.0
2.31.0
From 01efe5a758792c513fa69b3f6acdca081cb153f3 Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Wed, 14 Apr 2021 10:43:21 +0200
Subject: [PATCH 17/17] sandbox: round up priority levels to a power of two
The requirement that priority levels be a power of two is an
implementation artifact, honor the value set in configuration
rather refuse lesser values.
---
repos/os/src/lib/sandbox/utils.h | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/repos/os/src/lib/sandbox/utils.h b/repos/os/src/lib/sandbox/utils.h
index 639a4be4dd..5c09c5e596 100644
--- a/repos/os/src/lib/sandbox/utils.h
+++ b/repos/os/src/lib/sandbox/utils.h
@@ -188,13 +188,19 @@ namespace Sandbox {
*/
inline Prio_levels prio_levels_from_xml(Xml_node config)
{
- long const prio_levels = config.attribute_value("prio_levels", 0UL);
+ long prio_levels = config.attribute_value("prio_levels", 0UL);
- if (prio_levels && ((prio_levels >= (long)sizeof(prio_levels)*8) ||
- (prio_levels != (1L << log2(prio_levels))))) {
- warning("prio levels is not power of two, priorities are disabled");
+ if (prio_levels && (prio_levels >= (long)sizeof(prio_levels)*8)) {
+ warning("invalid prio_levels ", prio_levels, " priorities are disabled");
return Prio_levels { 0 };
}
+
+ long const prio_log2 = log2(prio_levels);
+ if (prio_levels != (1L << prio_log2)) {
+ prio_levels = 1L << (prio_log2+1);
+ log("priority levels increased to ", prio_levels);
+ }
+
return Prio_levels { prio_levels };
}
--
2.31.0