virtio_net: Do not clear memory for struct virtio_net_hdr twice.
virtio_net_hdr_from_skb() clears the memory for the header, so there is no point for the callers to do the same. Signed-off-by: Jarno Rajahalme <jarno@ovn.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
d66016a777
Коммит
9403cd7cbb
|
@ -1360,8 +1360,7 @@ static ssize_t tun_put_user(struct tun_struct *tun,
|
|||
}
|
||||
|
||||
if (vnet_hdr_sz) {
|
||||
struct virtio_net_hdr gso = { 0 }; /* no info leak */
|
||||
int ret;
|
||||
struct virtio_net_hdr gso;
|
||||
|
||||
if (iov_iter_count(iter) < vnet_hdr_sz)
|
||||
return -EINVAL;
|
||||
|
|
|
@ -58,7 +58,7 @@ static inline int virtio_net_hdr_from_skb(const struct sk_buff *skb,
|
|||
struct virtio_net_hdr *hdr,
|
||||
bool little_endian)
|
||||
{
|
||||
memset(hdr, 0, sizeof(*hdr));
|
||||
memset(hdr, 0, sizeof(*hdr)); /* no info leak */
|
||||
|
||||
if (skb_is_gso(skb)) {
|
||||
struct skb_shared_info *sinfo = skb_shinfo(skb);
|
||||
|
|
|
@ -1970,8 +1970,6 @@ static unsigned int run_filter(struct sk_buff *skb,
|
|||
static int __packet_rcv_vnet(const struct sk_buff *skb,
|
||||
struct virtio_net_hdr *vnet_hdr)
|
||||
{
|
||||
*vnet_hdr = (const struct virtio_net_hdr) { 0 };
|
||||
|
||||
if (virtio_net_hdr_from_skb(skb, vnet_hdr, vio_le()))
|
||||
BUG();
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче