Message ID | 20220826152931.5835fdf8@gecko |
---|---|
State | Accepted |
Headers | show |
Series | um: Fix compiler warnings on x86 | expand |
On 8/26/22 08:29, Lukas Straub wrote: > arch.tls_array is statically allocated so checking for NULL doesn't > make sense. This causes the compiler warning below. > > Remove the checks to silence these warnings. > > ../arch/x86/um/tls_32.c: In function 'get_free_idx': > ../arch/x86/um/tls_32.c:68:13: warning: the comparison will always evaluate as 'true' for the address of 'tls_array' will never be NULL [-Waddress] > 68 | if (!t->arch.tls_array) > | ^ > In file included from ../arch/x86/um/asm/processor.h:10, > from ../include/linux/rcupdate.h:30, > from ../include/linux/rculist.h:11, > from ../include/linux/pid.h:5, > from ../include/linux/sched.h:14, > from ../arch/x86/um/tls_32.c:7: > ../arch/x86/um/asm/processor_32.h:22:31: note: 'tls_array' declared here > 22 | struct uml_tls_struct tls_array[GDT_ENTRY_TLS_ENTRIES]; > | ^~~~~~~~~ > ../arch/x86/um/tls_32.c: In function 'get_tls_entry': > ../arch/x86/um/tls_32.c:243:13: warning: the comparison will always evaluate as 'true' for the address of 'tls_array' will never be NULL [-Waddress] > 243 | if (!t->arch.tls_array) > | ^ > ../arch/x86/um/asm/processor_32.h:22:31: note: 'tls_array' declared here > 22 | struct uml_tls_struct tls_array[GDT_ENTRY_TLS_ENTRIES]; > | ^~~~~~~~~ > > Signed-off-by: Lukas Straub <lukasstraub2@web.de> Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested Thanks. > --- > arch/x86/um/tls_32.c | 6 ------ > 1 file changed, 6 deletions(-) > > diff --git a/arch/x86/um/tls_32.c b/arch/x86/um/tls_32.c > index ac8eee093f9c..66162eafd8e8 100644 > --- a/arch/x86/um/tls_32.c > +++ b/arch/x86/um/tls_32.c > @@ -65,9 +65,6 @@ static int get_free_idx(struct task_struct* task) > struct thread_struct *t = &task->thread; > int idx; > > - if (!t->arch.tls_array) > - return GDT_ENTRY_TLS_MIN; > - > for (idx = 0; idx < GDT_ENTRY_TLS_ENTRIES; idx++) > if (!t->arch.tls_array[idx].present) > return idx + GDT_ENTRY_TLS_MIN; > @@ -240,9 +237,6 @@ static int get_tls_entry(struct task_struct *task, struct user_desc *info, > { > struct thread_struct *t = &task->thread; > > - if (!t->arch.tls_array) > - goto clear; > - > if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX) > return -EINVAL; >
diff --git a/arch/x86/um/tls_32.c b/arch/x86/um/tls_32.c index ac8eee093f9c..66162eafd8e8 100644 --- a/arch/x86/um/tls_32.c +++ b/arch/x86/um/tls_32.c @@ -65,9 +65,6 @@ static int get_free_idx(struct task_struct* task) struct thread_struct *t = &task->thread; int idx; - if (!t->arch.tls_array) - return GDT_ENTRY_TLS_MIN; - for (idx = 0; idx < GDT_ENTRY_TLS_ENTRIES; idx++) if (!t->arch.tls_array[idx].present) return idx + GDT_ENTRY_TLS_MIN; @@ -240,9 +237,6 @@ static int get_tls_entry(struct task_struct *task, struct user_desc *info, { struct thread_struct *t = &task->thread; - if (!t->arch.tls_array) - goto clear; - if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX) return -EINVAL;
arch.tls_array is statically allocated so checking for NULL doesn't make sense. This causes the compiler warning below. Remove the checks to silence these warnings. ../arch/x86/um/tls_32.c: In function 'get_free_idx': ../arch/x86/um/tls_32.c:68:13: warning: the comparison will always evaluate as 'true' for the address of 'tls_array' will never be NULL [-Waddress] 68 | if (!t->arch.tls_array) | ^ In file included from ../arch/x86/um/asm/processor.h:10, from ../include/linux/rcupdate.h:30, from ../include/linux/rculist.h:11, from ../include/linux/pid.h:5, from ../include/linux/sched.h:14, from ../arch/x86/um/tls_32.c:7: ../arch/x86/um/asm/processor_32.h:22:31: note: 'tls_array' declared here 22 | struct uml_tls_struct tls_array[GDT_ENTRY_TLS_ENTRIES]; | ^~~~~~~~~ ../arch/x86/um/tls_32.c: In function 'get_tls_entry': ../arch/x86/um/tls_32.c:243:13: warning: the comparison will always evaluate as 'true' for the address of 'tls_array' will never be NULL [-Waddress] 243 | if (!t->arch.tls_array) | ^ ../arch/x86/um/asm/processor_32.h:22:31: note: 'tls_array' declared here 22 | struct uml_tls_struct tls_array[GDT_ENTRY_TLS_ENTRIES]; | ^~~~~~~~~ Signed-off-by: Lukas Straub <lukasstraub2@web.de> --- arch/x86/um/tls_32.c | 6 ------ 1 file changed, 6 deletions(-)