On Mon, Oct 9, 2023 at 10:00 AM Al Viro [off-list ref] wrote:
On Sat, Oct 07, 2023 at 11:44:32AM +0300, Amir Goldstein wrote:
quoted
@@ -93,7 +93,8 @@ static void show_faulting_vma(unsigned long address)
char *nm = "?";
if (vma->vm_file) {
- nm = file_path(vma->vm_file, buf, ARC_PATH_MAX-1);
+ nm = d_path(file_user_path(vma->vm_file), buf,
+ ARC_PATH_MAX-1);
if (IS_ERR(nm))
nm = "?";
Umm... At one point I considered this:
if (vma->vm_file)
pr_info(" @off 0x%lx in [%pD] VMA: 0x%08lx to 0x%08lx\n",
vma->vm_start < TASK_UNMAPPED_BASE ?
address : address - vma->vm_start,
vma->vm_file, vma->vm_start, vma->vm_end);
else
pr_info(" @off 0x%lx in [anon] VMA: 0x%08lx to 0x%08lx\n",
vma->vm_start < TASK_UNMAPPED_BASE ?
address : address - vma->vm_start,
vma->vm_start, vma->vm_end);
and to hell with that 'buf' thing...
It's fine by me.
That would be consistent with print_bad_pte().
I've never had to debug vma/pte faults, so I don't know
how much of the path is really valuable for debugging.
Thanks,
Amir.