| From: Illia Ostapyshyn <illia@yshyn.com> |
| Subject: scripts: gdb: vfs: support external dentry names |
| Date: Sun, 29 Jun 2025 02:38:11 +0200 |
| |
| d_shortname of struct dentry only reserves D_NAME_INLINE_LEN characters |
| and contains garbage for longer names. Use d_name instead, which always |
| references the valid name. |
| |
| Link: https://lore.kernel.org/all/20250525213709.878287-2-illia@yshyn.com/ |
| Link: https://lkml.kernel.org/r/20250629003811.2420418-1-illia@yshyn.com |
| Fixes: 79300ac805b6 ("scripts/gdb: fix dentry_name() lookup") |
| Signed-off-by: Illia Ostapyshyn <illia@yshyn.com> |
| Tested-by: Florian Fainelli <florian.fainelli@broadcom.com> |
| Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> |
| Cc: Al Viro <viro@zeniv.linux.org.uk> |
| Cc: Christian Brauner <brauner@kernel.org> |
| Cc: Jan Kara <jack@suse.cz> |
| Cc: Jan Kiszka <jan.kiszka@siemens.com> |
| Cc: Kieran Bingham <kbingham@kernel.org> |
| Cc: <stable@vger.kernel.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| scripts/gdb/linux/vfs.py | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/scripts/gdb/linux/vfs.py~scripts-gdb-vfs-support-external-dentry-names |
| +++ a/scripts/gdb/linux/vfs.py |
| @@ -22,7 +22,7 @@ def dentry_name(d): |
| if parent == d or parent == 0: |
| return "" |
| p = dentry_name(d['d_parent']) + "/" |
| - return p + d['d_shortname']['string'].string() |
| + return p + d['d_name']['name'].string() |
| |
| class DentryName(gdb.Function): |
| """Return string of the full path of a dentry. |
| _ |