From c1457bf1406ad5f3dbf16e648000dfb0b6049d58 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 29 May 2020 16:29:30 +0530 Subject: [PATCH] cached_fs_rom: session diagnostics --- packages/genodelabs/cached_fs_rom.patch | 31 +++++++++++++++++++++++++ packages/genodelabs/targets.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 packages/genodelabs/cached_fs_rom.patch diff --git a/packages/genodelabs/cached_fs_rom.patch b/packages/genodelabs/cached_fs_rom.patch new file mode 100644 index 0000000..f1b8638 --- /dev/null +++ b/packages/genodelabs/cached_fs_rom.patch @@ -0,0 +1,31 @@ +commit 72032b25e153fe736b07670d4cf5d49a77e606db +Author: Emery Hemingway +Date: Fri May 29 17:39:05 2020 +0530 + + cached_fs_rom: diagnosis of delivered ROM sessions + + To enable logging of ROM session deliveries, set the "diag" on + session routes: + + + + + + … + + + Fix #3772 + +diff --git a/repos/os/src/server/cached_fs_rom/main.cc b/repos/os/src/server/cached_fs_rom/main.cc +index 392ff8aecb..9e4e4d0eee 100755 +--- a/repos/os/src/server/cached_fs_rom/main.cc ++++ b/repos/os/src/server/cached_fs_rom/main.cc +@@ -394,6 +394,8 @@ struct Cached_fs_rom::Main final : Genode::Session_request_handler + /* Create new RPC object */ + Session_component *session = new (heap) + Session_component(*rom, sessions, id, label); ++ if (session_diag_from_args(args.string()).enabled) ++ log("deliver ROM \"", label, "\""); + env.parent().deliver_session_cap(pid, env.ep().manage(*session)); + + } else if (!rom->transfer) { diff --git a/packages/genodelabs/targets.nix b/packages/genodelabs/targets.nix index d2b7c14..25a9f45 100644 --- a/packages/genodelabs/targets.nix +++ b/packages/genodelabs/targets.nix @@ -1,6 +1,8 @@ { buildPackages, ports }: with ports; { + cached_fs_rom.patches = [ ./cached_fs_rom.patch ]; + gpt_write.portInputs = [ jitterentropy ]; init.patches = [ ./sandbox.patch ];