Hi Jason,

kernel test robot noticed the following build errors:

[auto build test ERROR on net/main]

url:    
https://github.com/intel-lab-lkp/linux/commits/Jason-Wang/virtio_net-fix-alignment-for-virtio_net_hdr_v1_hash/20251029-092814
base:   net/main
patch link:    
https://lore.kernel.org/r/20251029012434.75576-1-jasowang%40redhat.com
patch subject: [PATCH net] virtio_net: fix alignment for virtio_net_hdr_v1_hash
config: x86_64-kexec 
(https://download.01.org/0day-ci/archive/20251029/[email protected]/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 
87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20251029/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   In file included from net/packet/af_packet.c:86:
>> include/linux/virtio_net.h:404:24: error: no member named 'hash_value' in 
>> 'struct virtio_net_hdr_v1_hash'
     404 |         vhdr->hash_hdr.hash_value = 0;
         |         ~~~~~~~~~~~~~~ ^
   1 error generated.


vim +404 include/linux/virtio_net.h

a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  376  
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  377  /*
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  378   * vlan_hlen always refers to the 
outermost MAC header. That also
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  379   * means it refers to the only MAC 
header, if the packet does not carry
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  380   * any encapsulation.
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  381   */
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  382  static inline int
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  383  virtio_net_hdr_tnl_from_skb(const 
struct sk_buff *skb,
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  384                          struct 
virtio_net_hdr_v1_hash_tunnel *vhdr,
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  385                          bool 
tnl_hdr_negotiated,
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  386                          bool 
little_endian,
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  387                          int 
vlan_hlen)
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  388  {
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  389      struct virtio_net_hdr *hdr = 
(struct virtio_net_hdr *)vhdr;
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  390      unsigned int inner_nh, outer_th;
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  391      int tnl_gso_type;
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  392      int ret;
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  393  
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  394      tnl_gso_type = 
skb_shinfo(skb)->gso_type & (SKB_GSO_UDP_TUNNEL |
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  395                                      
            SKB_GSO_UDP_TUNNEL_CSUM);
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  396      if (!tnl_gso_type)
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  397              return 
virtio_net_hdr_from_skb(skb, hdr, little_endian, false,
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  398                                      
       vlan_hlen);
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  399  
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  400      /* Tunnel support not 
negotiated but skb ask for it. */
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  401      if (!tnl_hdr_negotiated)
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  402              return -EINVAL;
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  403  
b2284768c6b32a Jason Wang  2025-10-22 @404          vhdr->hash_hdr.hash_value = 
0;
b2284768c6b32a Jason Wang  2025-10-22  405          vhdr->hash_hdr.hash_report 
= 0;
b2284768c6b32a Jason Wang  2025-10-22  406          vhdr->hash_hdr.padding = 0;
b2284768c6b32a Jason Wang  2025-10-22  407  
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  408      /* Let the basic parsing deal 
with plain GSO features. */
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  409      skb_shinfo(skb)->gso_type &= 
~tnl_gso_type;
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  410      ret = 
virtio_net_hdr_from_skb(skb, hdr, true, false, vlan_hlen);
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  411      skb_shinfo(skb)->gso_type |= 
tnl_gso_type;
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  412      if (ret)
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  413              return ret;
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  414  
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  415      if (skb->protocol == 
htons(ETH_P_IPV6))
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  416              hdr->gso_type |= 
VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV6;
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  417      else
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  418              hdr->gso_type |= 
VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV4;
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  419  
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  420      if (skb_shinfo(skb)->gso_type & 
SKB_GSO_UDP_TUNNEL_CSUM)
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  421              hdr->flags |= 
VIRTIO_NET_HDR_F_UDP_TUNNEL_CSUM;
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  422  
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  423      inner_nh = 
skb->inner_network_header - skb_headroom(skb);
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  424      outer_th = 
skb->transport_header - skb_headroom(skb);
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  425      vhdr->inner_nh_offset = 
cpu_to_le16(inner_nh);
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  426      vhdr->outer_th_offset = 
cpu_to_le16(outer_th);
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  427      return 0;
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  428  }
a2fb4bc4e2a6a0 Paolo Abeni 2025-07-08  429  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to