All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jia He <justin.he@arm.com>
To: linux-kernel@vger.kernel.org
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Christoph Hellwig <hch@infradead.org>,
	nd@arm.com, Jia He <justin.he@arm.com>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	linux-fsdevel@vger.kernel.org
Subject: [PATCH RFC 08/13] fs/coredump: simplify the printing with '%pD' and '%pd' specifier
Date: Thu, 15 Jul 2021 11:15:28 +0800	[thread overview]
Message-ID: <20210715031533.9553-9-justin.he@arm.com> (raw)
In-Reply-To: <20210715031533.9553-1-justin.he@arm.com>

After the behavior of '%pD' is changed to print the full path of file,
the printing of dentry and struct file name can be simplified.

Given the space with proper length would be allocated in vprintk_store(),
it is worthy of dropping kmalloc()/kfree() to avoid additional space
allocation.

Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: linux-fsdevel@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Jia He <justin.he@arm.com>
---
 fs/coredump.c | 26 ++++----------------------
 1 file changed, 4 insertions(+), 22 deletions(-)

diff --git a/fs/coredump.c b/fs/coredump.c
index 07afb5ddb1c4..88063056a801 100644
--- a/fs/coredump.c
+++ b/fs/coredump.c
@@ -156,35 +156,17 @@ int cn_esc_printf(struct core_name *cn, const char *fmt, ...)
 static int cn_print_exe_file(struct core_name *cn, bool name_only)
 {
 	struct file *exe_file;
-	char *pathbuf, *path, *ptr;
 	int ret;
 
 	exe_file = get_mm_exe_file(current->mm);
 	if (!exe_file)
 		return cn_esc_printf(cn, "%s (path unknown)", current->comm);
 
-	pathbuf = kmalloc(PATH_MAX, GFP_KERNEL);
-	if (!pathbuf) {
-		ret = -ENOMEM;
-		goto put_exe_file;
-	}
-
-	path = file_path(exe_file, pathbuf, PATH_MAX);
-	if (IS_ERR(path)) {
-		ret = PTR_ERR(path);
-		goto free_buf;
-	}
-
-	if (name_only) {
-		ptr = strrchr(path, '/');
-		if (ptr)
-			path = ptr + 1;
-	}
-	ret = cn_esc_printf(cn, "%s", path);
+	if (name_only)
+		ret = cn_esc_printf(cn, "%pd", exe_file->f_path.dentry);
+	else
+		ret = cn_esc_printf(cn, "%pD", exe_file);
 
-free_buf:
-	kfree(pathbuf);
-put_exe_file:
 	fput(exe_file);
 	return ret;
 }
-- 
2.17.1


  parent reply	other threads:[~2021-07-15  3:18 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-15  3:15 [PATCH RFC 00/13] Simplify the print format string with new '%pD' Jia He
2021-07-15  3:15 ` [PATCH RFC 01/13] s390/hmcdrv: remove the redundant directory path in format string Jia He
2021-07-15  3:15 ` [PATCH RFC 02/13] afs: Remove the number postfix of '%pD' " Jia He
2021-07-15  3:15 ` [PATCH RFC 03/13] fs: " Jia He
2021-07-15  3:15 ` [PATCH RFC 04/13] NFS: " Jia He
2021-07-15  3:15 ` [PATCH RFC 05/13] NFSD: " Jia He
2021-07-15  3:15 ` [PATCH RFC 06/13] ovl: remove " Jia He
2021-07-15  3:15 ` [PATCH RFC 07/13] iomap: simplify iomap_swapfile_fail() with '%pD' specifier Jia He
2021-07-15 17:11   ` Darrick J. Wong
2021-07-16  6:11   ` Christoph Hellwig
2021-07-16  6:17     ` Justin He
2021-07-15  3:15 ` Jia He [this message]
2021-07-15  3:15 ` [PATCH RFC 09/13] mm/filemap: simplify the printing " Jia He
2021-07-15  3:15 ` [PATCH RFC 10/13] usb: gadget: " Jia He
2021-07-15  7:26   ` Felipe Balbi
2021-07-15  8:10   ` Greg Kroah-Hartman
2021-07-15  3:15 ` [PATCH RFC 11/13] md/bitmap: " Jia He
2021-07-16  9:38   ` Guoqing Jiang
2021-07-23 17:05     ` Song Liu
2021-07-15  3:15 ` [PATCH RFC 12/13] mm: simplify the printing with '%pd' specifier Jia He
2021-07-15  3:15 ` [PATCH RFC 13/13] ext4: simplify the printing with '%pD' specifier Jia He

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210715031533.9553-9-justin.he@arm.com \
    --to=justin.he@arm.com \
    --cc=hch@infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nd@arm.com \
    --cc=torvalds@linux-foundation.org \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.