forked from torvalds/linux
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
lib/vsprintf.c: make '%pD' print the full path of file
Previously, the specifier '%pD' was for printing dentry name of struct file. It may not be perfect since by default it only prints one component. As suggested by Linus [1]: A dentry has a parent, but at the same time, a dentry really does inherently have "one name" (and given just the dentry pointers, you can't show mount-related parenthood, so in many ways the "show just one name" makes sense for "%pd" in ways it doesn't necessarily for "%pD"). But while a dentry arguably has that "one primary component", a _file_ is certainly not exclusively about that last component. Hence change the behavior of '%pD' to print the full path of that file. It is worthy of noting that %pD uses the entire given buffer as a scratch space. It might write something behind the trailing '\0' but never write beyond the scratch space. Precision specifier is never going to be used with %p (or any of its kernel extensions) if -Wformat is turned on. Link: https://lore.kernel.org/lkml/CAHk-=wimsMqGdzik187YWLb-ru+iktb4MYbMQG1rnZ81dXYFVg@mail.gmail.com/ [1] Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Jia He <justin.he@arm.com>
- Loading branch information
1 parent
988bfb0
commit 1731806
Showing
2 changed files
with
41 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters