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).

Reply via email to