From: John Stultz <john.stultz@linaro.org> To: LKML <linux-kernel@vger.kernel.org> Cc: John Stultz <john.stultz@linaro.org>, KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>, David Rientjes <rientjes@google.com>, Dave Hansen <dave@linux.vnet.ibm.com>, Andrew Morton <akpm@linux-foundation.org>, linux-mm@kvack.org Subject: [PATCH 3/3] comm: ext4: Protect task->comm access by using get_task_comm() Date: Wed, 27 Apr 2011 21:03:31 -0700 [thread overview] Message-ID: <1303963411-2064-4-git-send-email-john.stultz@linaro.org> (raw) In-Reply-To: <1303963411-2064-1-git-send-email-john.stultz@linaro.org> Converts ext4 comm access to use the safe get_task_comm accessor. CC: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> CC: David Rientjes <rientjes@google.com> CC: Dave Hansen <dave@linux.vnet.ibm.com> CC: Andrew Morton <akpm@linux-foundation.org> CC: linux-mm@kvack.org Signed-off-by: John Stultz <john.stultz@linaro.org> --- fs/ext4/file.c | 8 ++++++-- fs/ext4/super.c | 13 ++++++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/fs/ext4/file.c b/fs/ext4/file.c index 7b80d54..d37414e 100644 --- a/fs/ext4/file.c +++ b/fs/ext4/file.c @@ -124,11 +124,15 @@ ext4_file_write(struct kiocb *iocb, const struct iovec *iov, static unsigned long unaligned_warn_time; /* Warn about this once per day */ - if (printk_timed_ratelimit(&unaligned_warn_time, 60*60*24*HZ)) + if (printk_timed_ratelimit(&unaligned_warn_time, 60*60*24*HZ)) { + char comm[TASK_COMM_LEN]; + + get_task_comm(comm, current); ext4_msg(inode->i_sb, KERN_WARNING, "Unaligned AIO/DIO on inode %ld by %s; " "performance will be poor.", - inode->i_ino, current->comm); + inode->i_ino, comm); + } mutex_lock(ext4_aio_mutex(inode)); ext4_aiodio_wait(inode); } diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 8553dfb..6c9151f 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -409,12 +409,15 @@ void __ext4_error(struct super_block *sb, const char *function, { struct va_format vaf; va_list args; + char comm[TASK_COMM_LEN]; va_start(args, fmt); vaf.fmt = fmt; vaf.va = &args; + + get_task_comm(comm, current); printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: comm %s: %pV\n", - sb->s_id, function, line, current->comm, &vaf); + sb->s_id, function, line, comm, &vaf); va_end(args); ext4_handle_error(sb); @@ -427,6 +430,7 @@ void ext4_error_inode(struct inode *inode, const char *function, va_list args; struct va_format vaf; struct ext4_super_block *es = EXT4_SB(inode->i_sb)->s_es; + char comm[TASK_COMM_LEN]; es->s_last_error_ino = cpu_to_le32(inode->i_ino); es->s_last_error_block = cpu_to_le64(block); @@ -438,7 +442,8 @@ void ext4_error_inode(struct inode *inode, const char *function, inode->i_sb->s_id, function, line, inode->i_ino); if (block) printk(KERN_CONT "block %llu: ", block); - printk(KERN_CONT "comm %s: %pV\n", current->comm, &vaf); + get_task_comm(comm, current); + printk(KERN_CONT "comm %s: %pV\n", comm, &vaf); va_end(args); ext4_handle_error(inode->i_sb); @@ -453,6 +458,7 @@ void ext4_error_file(struct file *file, const char *function, struct ext4_super_block *es; struct inode *inode = file->f_dentry->d_inode; char pathname[80], *path; + char comm[TASK_COMM_LEN]; es = EXT4_SB(inode->i_sb)->s_es; es->s_last_error_ino = cpu_to_le32(inode->i_ino); @@ -468,7 +474,8 @@ void ext4_error_file(struct file *file, const char *function, va_start(args, fmt); vaf.fmt = fmt; vaf.va = &args; - printk(KERN_CONT "comm %s: path %s: %pV\n", current->comm, path, &vaf); + get_task_comm(comm, current); + printk(KERN_CONT "comm %s: path %s: %pV\n", comm, path, &vaf); va_end(args); ext4_handle_error(inode->i_sb); -- 1.7.3.2.146.gca209
WARNING: multiple messages have this Message-ID (diff)
From: John Stultz <john.stultz@linaro.org> To: LKML <linux-kernel@vger.kernel.org> Cc: John Stultz <john.stultz@linaro.org>, KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>, David Rientjes <rientjes@google.com>, Dave Hansen <dave@linux.vnet.ibm.com>, Andrew Morton <akpm@linux-foundation.org>, linux-mm@kvack.org Subject: [PATCH 3/3] comm: ext4: Protect task->comm access by using get_task_comm() Date: Wed, 27 Apr 2011 21:03:31 -0700 [thread overview] Message-ID: <1303963411-2064-4-git-send-email-john.stultz@linaro.org> (raw) In-Reply-To: <1303963411-2064-1-git-send-email-john.stultz@linaro.org> Converts ext4 comm access to use the safe get_task_comm accessor. CC: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> CC: David Rientjes <rientjes@google.com> CC: Dave Hansen <dave@linux.vnet.ibm.com> CC: Andrew Morton <akpm@linux-foundation.org> CC: linux-mm@kvack.org Signed-off-by: John Stultz <john.stultz@linaro.org> --- fs/ext4/file.c | 8 ++++++-- fs/ext4/super.c | 13 ++++++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/fs/ext4/file.c b/fs/ext4/file.c index 7b80d54..d37414e 100644 --- a/fs/ext4/file.c +++ b/fs/ext4/file.c @@ -124,11 +124,15 @@ ext4_file_write(struct kiocb *iocb, const struct iovec *iov, static unsigned long unaligned_warn_time; /* Warn about this once per day */ - if (printk_timed_ratelimit(&unaligned_warn_time, 60*60*24*HZ)) + if (printk_timed_ratelimit(&unaligned_warn_time, 60*60*24*HZ)) { + char comm[TASK_COMM_LEN]; + + get_task_comm(comm, current); ext4_msg(inode->i_sb, KERN_WARNING, "Unaligned AIO/DIO on inode %ld by %s; " "performance will be poor.", - inode->i_ino, current->comm); + inode->i_ino, comm); + } mutex_lock(ext4_aio_mutex(inode)); ext4_aiodio_wait(inode); } diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 8553dfb..6c9151f 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -409,12 +409,15 @@ void __ext4_error(struct super_block *sb, const char *function, { struct va_format vaf; va_list args; + char comm[TASK_COMM_LEN]; va_start(args, fmt); vaf.fmt = fmt; vaf.va = &args; + + get_task_comm(comm, current); printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: comm %s: %pV\n", - sb->s_id, function, line, current->comm, &vaf); + sb->s_id, function, line, comm, &vaf); va_end(args); ext4_handle_error(sb); @@ -427,6 +430,7 @@ void ext4_error_inode(struct inode *inode, const char *function, va_list args; struct va_format vaf; struct ext4_super_block *es = EXT4_SB(inode->i_sb)->s_es; + char comm[TASK_COMM_LEN]; es->s_last_error_ino = cpu_to_le32(inode->i_ino); es->s_last_error_block = cpu_to_le64(block); @@ -438,7 +442,8 @@ void ext4_error_inode(struct inode *inode, const char *function, inode->i_sb->s_id, function, line, inode->i_ino); if (block) printk(KERN_CONT "block %llu: ", block); - printk(KERN_CONT "comm %s: %pV\n", current->comm, &vaf); + get_task_comm(comm, current); + printk(KERN_CONT "comm %s: %pV\n", comm, &vaf); va_end(args); ext4_handle_error(inode->i_sb); @@ -453,6 +458,7 @@ void ext4_error_file(struct file *file, const char *function, struct ext4_super_block *es; struct inode *inode = file->f_dentry->d_inode; char pathname[80], *path; + char comm[TASK_COMM_LEN]; es = EXT4_SB(inode->i_sb)->s_es; es->s_last_error_ino = cpu_to_le32(inode->i_ino); @@ -468,7 +474,8 @@ void ext4_error_file(struct file *file, const char *function, va_start(args, fmt); vaf.fmt = fmt; vaf.va = &args; - printk(KERN_CONT "comm %s: path %s: %pV\n", current->comm, path, &vaf); + get_task_comm(comm, current); + printk(KERN_CONT "comm %s: path %s: %pV\n", comm, path, &vaf); va_end(args); ext4_handle_error(inode->i_sb); -- 1.7.3.2.146.gca209 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-04-28 4:04 UTC|newest] Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-04-28 4:03 [RFC][PATCH 0/3] Improve task->comm locking situation John Stultz 2011-04-28 4:03 ` John Stultz 2011-04-28 4:03 ` [PATCH 1/3] comm: Introduce comm_lock seqlock to protect task->comm access John Stultz 2011-04-28 4:03 ` John Stultz 2011-04-28 4:03 ` [PATCH 2/3] comm: timerstats: Protect task->comm access by using get_task_comm() John Stultz 2011-04-28 4:03 ` John Stultz 2011-04-28 4:03 ` John Stultz [this message] 2011-04-28 4:03 ` [PATCH 3/3] comm: ext4: " John Stultz 2011-04-28 21:35 ` David Rientjes 2011-04-28 21:35 ` David Rientjes 2011-05-04 23:36 ` Andrew Morton 2011-05-04 23:36 ` Andrew Morton 2011-05-04 23:42 ` Andrew Morton 2011-05-04 23:42 ` Andrew Morton 2011-05-04 23:55 ` John Stultz 2011-05-04 23:55 ` John Stultz 2011-05-07 16:30 ` Ted Ts'o 2011-05-07 16:30 ` Ted Ts'o
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=1303963411-2064-4-git-send-email-john.stultz@linaro.org \ --to=john.stultz@linaro.org \ --cc=akpm@linux-foundation.org \ --cc=dave@linux.vnet.ibm.com \ --cc=kosaki.motohiro@jp.fujitsu.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=rientjes@google.com \ /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: linkBe 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.