[PATCH] misc/pti: give 'comm' function scope inpti_control_frame_built_and_sent()

From: Jesper Juhl
Date: Tue Sep 06 2011 - 17:19:33 EST


In drivers/misc/pti.c::pti_control_frame_built_and_sent() we assign
'comm' to 'thread_name_p' if (!thread_name). The problem is that 'comm'
then goes out of scope and later we use 'thread_name_p' which now
refers to an out-of-scope variable.
To fix that, simply move 'comm' up to have function scope.

Signed-off-by: Jesper Juhl <jj@xxxxxxxxxxxxx>
---
drivers/misc/pti.c | 12 +++++-------
1 files changed, 5 insertions(+), 7 deletions(-)

Only compile tested.

diff --git a/drivers/misc/pti.c b/drivers/misc/pti.c
index 06df187..0b56e3f 100644
--- a/drivers/misc/pti.c
+++ b/drivers/misc/pti.c
@@ -165,6 +165,11 @@ static void pti_write_to_aperture(struct pti_masterchannel *mc,
static void pti_control_frame_built_and_sent(struct pti_masterchannel *mc,
const char *thread_name)
{
+ /*
+ * Since we access the comm member in current's task_struct, we only
+ * need to be as large as what 'comm' in that structure is.
+ */
+ char comm[TASK_COMM_LEN];
struct pti_masterchannel mccontrol = {.master = CONTROL_ID,
.channel = 0};
const char *thread_name_p;
@@ -172,13 +177,6 @@ static void pti_control_frame_built_and_sent(struct pti_masterchannel *mc,
u8 control_frame[CONTROL_FRAME_LEN];

if (!thread_name) {
- /*
- * Since we access the comm member in current's task_struct,
- * we only need to be as large as what 'comm' in that
- * structure is.
- */
- char comm[TASK_COMM_LEN];
-
if (!in_interrupt())
get_task_comm(comm, current);
else
--
1.7.6.1


--
Jesper Juhl <jj@xxxxxxxxxxxxx> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/