| From: Shuah Khan <skhan@linuxfoundation.org> |
| Subject: tools: fix -Wunused-result in linux.c |
| Date: Fri, 11 Oct 2024 16:51:55 -0600 |
| |
| Fix the following -Wunused-result warnings on posix_memalign() |
| return values and add error handling. |
| |
| ./shared/linux.c:100:25: warning: ignoring return value of `posix_memalign' declared with attribute `warn_unused_result' [-Wunused-result] |
| 100 | posix_memalign(&p, cachep->align, cachep->size); |
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| ../shared/linux.c: In function `kmem_cache_alloc_bulk': |
| ../shared/linux.c:198:33: warning: ignoring return value of `posix_memalign' declared with attribute `warn_unused_result' [-Wunused-result] |
| 198 | posix_memalign(&p[i], cachep->align, |
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 199 | cachep->size); |
| | ~~~~~~~~~~~~~ |
| |
| Link: https://lkml.kernel.org/r/20241011225155.27607-1-skhan@linuxfoundation.org |
| Signed-off-by: Shuah Khan <skhan@linuxfoundation.org> |
| Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> |
| Reviewed-by: Liam R. Howlett <Liam.Howlett@Oracle.com> |
| Cc: Sidhartha Kumar <sidhartha.kumar@oracle.com> |
| Cc: Vlastimil Babka <vbabka@suse.cz> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| tools/testing/shared/linux.c | 14 +++++++++----- |
| 1 file changed, 9 insertions(+), 5 deletions(-) |
| |
| --- a/tools/testing/shared/linux.c~tools-fix-wunused-result-in-linuxc |
| +++ a/tools/testing/shared/linux.c |
| @@ -96,10 +96,13 @@ void *kmem_cache_alloc_lru(struct kmem_c |
| p = node; |
| } else { |
| pthread_mutex_unlock(&cachep->lock); |
| - if (cachep->align) |
| - posix_memalign(&p, cachep->align, cachep->size); |
| - else |
| + if (cachep->align) { |
| + if (posix_memalign(&p, cachep->align, cachep->size) < 0) |
| + return NULL; |
| + } else { |
| p = malloc(cachep->size); |
| + } |
| + |
| if (cachep->ctor) |
| cachep->ctor(p); |
| else if (gfp & __GFP_ZERO) |
| @@ -195,8 +198,9 @@ int kmem_cache_alloc_bulk(struct kmem_ca |
| } |
| |
| if (cachep->align) { |
| - posix_memalign(&p[i], cachep->align, |
| - cachep->size); |
| + if (posix_memalign(&p[i], cachep->align, |
| + cachep->size) < 0) |
| + break; |
| } else { |
| p[i] = malloc(cachep->size); |
| if (!p[i]) |
| _ |