Date
1 - 3 of 3
[PATCH 1/1] Ext4Pkg: Redirect internal Open("..", /) to the proper "/"
Pedro Falcato
On Mon, Jan 30, 2023 at 7:54 PM Marvin Häuser <mhaeuser@...> wrote:
Pushed as 878c4b13f Thank you -- Pedro |
|
Marvin Häuser
Reviewed-by: Marvin Häuser <mhaeuser@...>
|
|
Pedro Falcato
We have been hitting many issues with ".." ASSERTing on / in internal
code, so make sure that we direct /.. to /. This is safe. Signed-off-by: Pedro Falcato <pedro.falcato@...> Cc: Marvin Häuser <mhaeuser@...> Reported-by: Savva Mitrofanov <savvamtr@...> --- Features/Ext4Pkg/Ext4Dxe/Directory.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Features/Ext4Pkg/Ext4Dxe/Directory.c b/Features/Ext4Pkg/Ext4Dxe/Directory.c index 456916453952..73d21d9f9542 100644 --- a/Features/Ext4Pkg/Ext4Dxe/Directory.c +++ b/Features/Ext4Pkg/Ext4Dxe/Directory.c @@ -255,7 +255,11 @@ Ext4OpenDirent ( // Using the parent's parent's dentry File->Dentry = Directory->Dentry->Parent; - ASSERT (File->Dentry != NULL); + if (!File->Dentry) { + // Someone tried .. on root, so direct them to / + // This is an illegal EFI Open() but is possible to hit from a variety of internal code + File->Dentry = Directory->Dentry; + } Ext4RefDentry (File->Dentry); } else { -- 2.39.0 |
|