c
// ... before calling skb_mac_gso_segment ...
skb_reserve(skb, nsh_len); // Reserve space for the NSH header upfront

// ... then proceed with segmentation ...
segs = skb_mac_gso_segment(skb, features);
// ... the rest of the code ...
