The changes for the extent parsing looks good to me. But, I am not sure about this change:
> - if (filename + direntry->len - 1 > (char *) tail) > + if (filename + direntry->len - 1 > (char *) end) Looking at the grub_xfs_next_de(), should the ‘+1’ be ‘+3’? grub_xfs_next_de(struct grub_xfs_data *data, struct grub_xfs_dir2_entry *de) { int size = sizeof (struct grub_xfs_dir2_entry) + de->len + 2 /* Tag */; if (data->hasftype) size++; /* File type */ return (struct grub_xfs_dir2_entry *)(((char *)de) + ALIGN_UP(size, 8)); } Thanks, Lidong On Sep 27, 2023, at 6:45 PM, Jon DeVree <n...@vault24.org> wrote: On Fri, Sep 15, 2023 at 23:43:28 +0200, Sebastian Andrzej Siewior wrote: there's now a patch from Jon DeVree upstream, which might fix this for you. Is it possible for you to test his patch? https://lists.gnu.org/archive/html/grub-devel/2023-09/msg00059.html Yes it sovles the issue, the box boots. I posted an updated v3 version of the patch: https://lists.gnu.org/archive/html/grub-devel/2023-09/msg00110.html -- Jon Doge Wrangler X(7): A program for managing terminal windows. See also screen(1) and tmux(1).