On Wed, Oct 29, 2025 at 08:56:14AM +0100, Sascha Hauer wrote: > On Tue, Oct 28, 2025 at 01:39:22PM +0100, Ahmad Fatoum wrote: > > Hi Fabian, > > > > On 10/28/25 1:18 PM, Fabian Pflug wrote: > > > If there is no input available or possible due to policy settings, it > > > does not make sense to show a menu and ask for input. > > > > > > Signed-off-by: Fabian Pflug <[email protected]> > > > --- > > > common/startup.c | 18 ++++++++++-------- > > > 1 file changed, 10 insertions(+), 8 deletions(-) > > > > > > diff --git a/common/startup.c b/common/startup.c > > > index 8d36ffceb4..3bc2609006 100644 > > > --- a/common/startup.c > > > +++ b/common/startup.c > > > @@ -45,6 +45,7 @@ > > > #include <pbl/handoff-data.h> > > > #include <libfile.h> > > > #include <fuzz.h> > > > +#include <security/config.h> > > > > > > extern initcall_t __barebox_initcalls_start[], > > > __barebox_early_initcalls_end[], > > > __barebox_initcalls_end[]; > > > @@ -361,14 +362,15 @@ static int run_init(void) > > > run_shell(); > > > } > > > > > > - do { > > > - /* > > > - * Let's run the command once at least, so an error > > > - * message is printed if the file doesn't exist > > > - */ > > > - run_command(MENUFILE); > > > - } while (stat(MENUFILE, &s) == 0); > > > - > > > + if(!IS_ENABLED(CONFIG_CONSOLE_DISABLE_INPUT) && > > > IS_ALLOWED(SCONFIG_CONSOLE_INPUT)) { > > > > CONFIG_CONSOLE_DISABLE_INPUT only influences the default, it can still > > be changed later at runtime, so this is not necessarily correct. > > I agree with this. I just noticed we already have this in the code > and we'll want to reconsider this: > > if (IS_ENABLED(CONFIG_NET) && > !IS_ENABLED(CONFIG_CONSOLE_DISABLE_INPUT) && > autoboot != AUTOBOOT_HALT) > eth_open_all(); > > How about replacing the test for CONFIG_CONSOLE_DISABLE_INPUT with a > runtime decision like: > > bool console_can_input(void) > { > struct console_device *cdev; > > if (!IS_ALLOWED(SCONFIG_CONSOLE_INPUT)) > return false; > > for_each_console(cdev) { > if (cdev->f_active & CONSOLE_STDIN) > return true; > } > > return false; > }
Ok, your patch with extending console_get_first_active() effectively does this, so disregard this comment. 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 |
