git: 7e5811f76bb0 - stable/13 - loader: lua: unload the kernel when changing BEs

From: Kyle Evans <kevans_at_FreeBSD.org>
Date: Thu, 20 Apr 2023 04:15:28 UTC
The branch stable/13 has been updated by kevans:

URL: https://cgit.FreeBSD.org/src/commit/?id=7e5811f76bb0df289b32144849331a2db83ac718

commit 7e5811f76bb0df289b32144849331a2db83ac718
Author:     Cyrus Rahman <crahman@gmail.com>
AuthorDate: 2023-04-16 02:27:53 +0000
Commit:     Kyle Evans <kevans@FreeBSD.org>
CommitDate: 2023-04-20 04:15:15 +0000

    loader: lua: unload the kernel when changing BEs
    
    Usually the kernel is loaded later, but there are circumstances where it
    could have been loaded earlier than changing BEs.  Unload anything that
    is already there so that we know we're using artifacts from the proper
    environment.
    
    PR:             265471
    Reviewed by:    kevans
    MFC after:      3 days
    
    (cherry picked from commit d7584aa09fcf8d96544e5bfb3ea78f50d7720c0c)
---
 stand/lua/menu.lua | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/stand/lua/menu.lua b/stand/lua/menu.lua
index 400dbf3d469b..4a326cb54bb9 100644
--- a/stand/lua/menu.lua
+++ b/stand/lua/menu.lua
@@ -58,6 +58,9 @@ local function bootenvSet(env)
 	loader.setenv("vfs.root.mountfrom", env)
 	loader.setenv("currdev", env .. ":")
 	config.reload()
+	if loader.getenv("kernelname") ~= nil then
+		loader.perform("unload")
+	end
 end
 
 local function multiUserPrompt()