Use proper size for task_struct->flags
PATCH v3 1/3 Use proper size for task_struct->flags
task_struct->flags was once defined as a long, but is currently an int.
Signed-off-by Dave Kleikamp <[email protected]>
--- defs.h | 1 + task.c | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-)
defs.h +1 -0
@@ -2093,6 +2093,7 @@ struct size_table { /* stash of commonly-used sizes */long hrtimer_base;long tnt;long trace_print_flags; +long task_struct_flags; };struct array_table {
task.c +10 -2
@@ -249,6 +249,7 @@ task_init(void)MEMBER_OFFSET_INIT (task_struct_active_mm,"task_struct" ,"active_mm" );MEMBER_OFFSET_INIT (task_struct_next_run,"task_struct" ,"next_run" );MEMBER_OFFSET_INIT (task_struct_flags,"task_struct" ,"flags" ); +MEMBER_SIZE_INIT (task_struct_flags,"task_struct" ,"flags" );MEMBER_OFFSET_INIT (task_struct_pidhash_next,"task_struct" ,"pidhash_next" );MEMBER_OFFSET_INIT (task_struct_pgrp,"task_struct" ,"pgrp" );
@@ -5266,8 +5267,15 @@ task_flags(ulong task)fill_task_struct (task); - flags = tt->last_task_read ? -ULONG (tt->task_struct +OFFSET (task_struct_flags)) :0 ; +if (tt->last_task_read) { +if (SIZE (task_struct_flags) =sizeof (unsigned int )) + flags =UINT (tt->task_struct + +OFFSET (task_struct_flags)); +else + flags =ULONG (tt->task_struct + +OFFSET (task_struct_flags)); + }else + flags =0 ;return flags; }
Signature · 1 line
1.7.1
Quoted 3 lines · Dave Kleikamp
task_struct->flagswas once defined as a long, but is currently an int.Signed-off-by Dave Kleikamp <[email protected]>
Acked-by Sam Ravnborg <[email protected]>