You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
skbuff: struct ubuf_info callback type safety
The skb struct ubuf_info callback gets passed struct ubuf_info itself, not the arg value as the field name and the function signature seem to imply. Rename the arg field to ctx to match usage, add documentation and change the callback argument type to make usage clear and to have compiler check correctness. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
9a5d2bd99e
commit
ca8f4fb21d
+1
-1
@@ -238,7 +238,7 @@ static void handle_tx(struct vhost_net *net)
|
||||
|
||||
vq->heads[vq->upend_idx].len = len;
|
||||
ubuf->callback = vhost_zerocopy_callback;
|
||||
ubuf->arg = vq->ubufs;
|
||||
ubuf->ctx = vq->ubufs;
|
||||
ubuf->desc = vq->upend_idx;
|
||||
msg.msg_control = ubuf;
|
||||
msg.msg_controllen = sizeof(ubuf);
|
||||
|
||||
@@ -1598,10 +1598,9 @@ void vhost_ubuf_put_and_wait(struct vhost_ubuf_ref *ubufs)
|
||||
kfree(ubufs);
|
||||
}
|
||||
|
||||
void vhost_zerocopy_callback(void *arg)
|
||||
void vhost_zerocopy_callback(struct ubuf_info *ubuf)
|
||||
{
|
||||
struct ubuf_info *ubuf = arg;
|
||||
struct vhost_ubuf_ref *ubufs = ubuf->arg;
|
||||
struct vhost_ubuf_ref *ubufs = ubuf->ctx;
|
||||
struct vhost_virtqueue *vq = ubufs->vq;
|
||||
|
||||
/* set len = 1 to mark this desc buffers done DMA */
|
||||
|
||||
@@ -188,7 +188,7 @@ bool vhost_enable_notify(struct vhost_dev *, struct vhost_virtqueue *);
|
||||
|
||||
int vhost_log_write(struct vhost_virtqueue *vq, struct vhost_log *log,
|
||||
unsigned int log_num, u64 len);
|
||||
void vhost_zerocopy_callback(void *arg);
|
||||
void vhost_zerocopy_callback(struct ubuf_info *);
|
||||
int vhost_zerocopy_signal_used(struct vhost_virtqueue *vq);
|
||||
|
||||
#define vq_err(vq, fmt, ...) do { \
|
||||
|
||||
Reference in New Issue
Block a user