[PATCH] nvmet-tcp: fix data digest pointer calculation
Sagi Grimberg
sagi at grimberg.me
Wed Oct 27 02:49:31 PDT 2021
>>>> diff --git a/drivers/nvme/target/tcp.c b/drivers/nvme/target/tcp.c
>>>> index 07ee347..d641bfa 100644
>>>> --- a/drivers/nvme/target/tcp.c
>>>> +++ b/drivers/nvme/target/tcp.c
>>>> @@ -702,7 +702,7 @@ static int nvmet_try_send_ddgst(struct nvmet_tcp_cmd *cmd, bool last_in_batch)
>>>> struct nvmet_tcp_queue *queue = cmd->queue;
>>>> struct msghdr msg = { .msg_flags = MSG_DONTWAIT };
>>>> struct kvec iov = {
>>>> - .iov_base = &cmd->exp_ddgst + cmd->offset,
>>>> + .iov_base = (u8 *)&cmd->exp_ddgst + cmd->offset,
>>>
>>> Wouldn't be the better fix to divide cmd->offset by 4 instead of the
>>> casts? I can fix this up inline if that is ok.
>>
>> Don't really mind, what makes it a better fix?
>
> I generally prefer to avoid casts as they paper over bugs.
I'm fine either way.
More information about the Linux-nvme
mailing list