File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -5870,8 +5870,10 @@ static int virtnet_xsk_pool_enable(struct net_device *dev,
58705870
58715871 hdr_dma = virtqueue_dma_map_single_attrs (sq -> vq , & xsk_hdr , vi -> hdr_len ,
58725872 DMA_TO_DEVICE , 0 );
5873- if (virtqueue_dma_mapping_error (sq -> vq , hdr_dma ))
5874- return - ENOMEM ;
5873+ if (virtqueue_dma_mapping_error (sq -> vq , hdr_dma )) {
5874+ err = - ENOMEM ;
5875+ goto err_free_buffs ;
5876+ }
58755877
58765878 err = xsk_pool_dma_map (pool , dma_dev , 0 );
58775879 if (err )
@@ -5899,6 +5901,8 @@ static int virtnet_xsk_pool_enable(struct net_device *dev,
58995901err_xsk_map :
59005902 virtqueue_dma_unmap_single_attrs (rq -> vq , hdr_dma , vi -> hdr_len ,
59015903 DMA_TO_DEVICE , 0 );
5904+ err_free_buffs :
5905+ kvfree (rq -> xsk_buffs );
59025906 return err ;
59035907}
59045908
You can’t perform that action at this time.
0 commit comments