drivers/block/ublk_drv.c | 8 ++++---- tools/testing/selftests/ublk/kublk.c | 2 +- tools/testing/selftests/ublk/kublk.h | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-)
io_cmd_buf points to an array of ublksrv_io_desc structs but its type is char *. Indexing the array requires an explicit multiplication and cast. The compiler also can't check the pointer types. Change io_cmd_buf's type to struct ublksrv_io_desc * so it can be indexed directly and the compiler can type-check the code. Make the same change to the ublk selftests. Caleb Sander Mateos (2): ublk: specify io_cmd_buf pointer type selftests: ublk: specify io_cmd_buf pointer type drivers/block/ublk_drv.c | 8 ++++---- tools/testing/selftests/ublk/kublk.c | 2 +- tools/testing/selftests/ublk/kublk.h | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) -- 2.45.2
On Fri, 28 Mar 2025 13:42:28 -0600, Caleb Sander Mateos wrote:
> io_cmd_buf points to an array of ublksrv_io_desc structs but its type is
> char *. Indexing the array requires an explicit multiplication and cast.
> The compiler also can't check the pointer types.
>
> Change io_cmd_buf's type to struct ublksrv_io_desc * so it can be
> indexed directly and the compiler can type-check the code.
>
> [...]
Applied, thanks!
[1/2] ublk: specify io_cmd_buf pointer type
commit: 9a45714fc51321ea8f5e5567f70e06753a848f62
[2/2] selftests: ublk: specify io_cmd_buf pointer type
commit: 25aaa81371e7db34ddb42c69ed4f6c5bc8de2afa
Best regards,
--
Jens Axboe
On Fri, Mar 28, 2025 at 01:42:28PM -0600, Caleb Sander Mateos wrote: > io_cmd_buf points to an array of ublksrv_io_desc structs but its type is > char *. Indexing the array requires an explicit multiplication and cast. > The compiler also can't check the pointer types. > > Change io_cmd_buf's type to struct ublksrv_io_desc * so it can be > indexed directly and the compiler can type-check the code. > > Make the same change to the ublk selftests. > > Caleb Sander Mateos (2): > ublk: specify io_cmd_buf pointer type > selftests: ublk: specify io_cmd_buf pointer type > > drivers/block/ublk_drv.c | 8 ++++---- > tools/testing/selftests/ublk/kublk.c | 2 +- > tools/testing/selftests/ublk/kublk.h | 4 ++-- > 3 files changed, 7 insertions(+), 7 deletions(-) Reviewed-by: Ming Lei <ming.lei@redhat.com> Thanks, Ming
On 3/28/25 13:42, Caleb Sander Mateos wrote: > io_cmd_buf points to an array of ublksrv_io_desc structs but its type is > char *. Indexing the array requires an explicit multiplication and cast. > The compiler also can't check the pointer types. > > Change io_cmd_buf's type to struct ublksrv_io_desc * so it can be > indexed directly and the compiler can type-check the code. > > Make the same change to the ublk selftests. > > Caleb Sander Mateos (2): > ublk: specify io_cmd_buf pointer type > selftests: ublk: specify io_cmd_buf pointer type > > drivers/block/ublk_drv.c | 8 ++++---- > tools/testing/selftests/ublk/kublk.c | 2 +- > tools/testing/selftests/ublk/kublk.h | 4 ++-- > 3 files changed, 7 insertions(+), 7 deletions(-) > For selftests changes: Acked-by: Shuah Khan <skhan@linuxfoundation.org> thanks, -- Shuah
On 3/28/25 1:42 PM, Caleb Sander Mateos wrote: > io_cmd_buf points to an array of ublksrv_io_desc structs but its type is > char *. Indexing the array requires an explicit multiplication and cast. > The compiler also can't check the pointer types. > > Change io_cmd_buf's type to struct ublksrv_io_desc * so it can be > indexed directly and the compiler can type-check the code. > > Make the same change to the ublk selftests. Looks good to me, nice cleanup, more readable now. -- Jens Axboe
© 2016 - 2025 Red Hat, Inc.