[PATCH] drm/amdkfd: Add curly braces around idr_for_each_entry_continue loop
Kuehling, Felix
Felix.Kuehling at amd.com
Tue Mar 5 21:22:05 UTC 2019
On 2019-03-05 6:20 a.m., Michel Dänzer wrote:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> The compiler pointed out that one if block unintentionally wasn't part
> of the loop:
>
> In file included from ./include/linux/kernfs.h:14,
> from ./include/linux/sysfs.h:16,
> from ./include/linux/kobject.h:20,
> from ./include/linux/device.h:16,
> from ./include/linux/node.h:18,
> from ./include/linux/memory.h:19,
> from drivers/gpu/drm//amd/amdgpu/../amdkfd/kfd_events.c:30:
> drivers/gpu/drm//amd/amdgpu/../amdkfd/kfd_events.c: In function ‘kfd_signal_reset_event’:
> ./include/linux/idr.h:212:2: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
> for ((entry) = idr_get_next((idr), &(id)); \
> ^~~
> drivers/gpu/drm//amd/amdgpu/../amdkfd/kfd_events.c:1038:3: note: in expansion of macro ‘idr_for_each_entry_continue’
> idr_for_each_entry_continue(&p->event_idr, ev, id)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm//amd/amdgpu/../amdkfd/kfd_events.c:1043:4: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
> if (ev->type == KFD_EVENT_TYPE_MEMORY &&
> ^~
>
> Fixes: "drm/amdkfd: add RAS ECC event support"
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com>
> ---
>
> This is one reason why I think it's better to always use curly braces
> around multiple lines, even if it happens to be a single statement.
>
> drivers/gpu/drm/amd/amdkfd/kfd_events.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_events.c b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
> index 97c984684973..6e1d41c5bf86 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_events.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
> @@ -1035,7 +1035,7 @@ void kfd_signal_reset_event(struct kfd_dev *dev)
> hash_for_each_rcu(kfd_processes_table, temp, p, kfd_processes) {
> mutex_lock(&p->event_mutex);
> id = KFD_FIRST_NONSIGNAL_EVENT_ID;
> - idr_for_each_entry_continue(&p->event_idr, ev, id)
> + idr_for_each_entry_continue(&p->event_idr, ev, id) {
> if (ev->type == KFD_EVENT_TYPE_HW_EXCEPTION) {
> ev->hw_exception_data = hw_exception_data;
> set_event(ev);
> @@ -1045,6 +1045,7 @@ void kfd_signal_reset_event(struct kfd_dev *dev)
> ev->memory_exception_data = memory_exception_data;
> set_event(ev);
> }
> + }
> mutex_unlock(&p->event_mutex);
> }
> srcu_read_unlock(&kfd_processes_srcu, idx);
More information about the amd-gfx
mailing list