On 2021-03-09 9:53 a.m., Martin Liška wrote:
On 3/9/21 3:12 PM, Vladimir Makarov via Gcc-patches wrote:
The patch was successfully bootstrapped and tested on x86-64,
ppc64le, and arm64. Unfortunately, I did not manage to reduce the
test (whose size is 5MB).
I've just reduced test-case from it:
$ cat a.c
struct skb_shared_info {
short gso_size;
};
enum { NETDEV_TX_OK };
struct iphdr {
short tot_len;
int daddr;
};
int tg3_tso_bug();
int netdev_priv();
int skb_cow_head();
int tcp_hdrlen__builtin_expect();
struct iphdr *ip_hdr();
int _tg3_flag();
int tg3_tso_bug_gso_check();
int
tg3_start_xmit() {
int *tp = netdev_priv();
int mss, tnapi;
struct iphdr *iph;
tnapi = mss = ((struct skb_shared_info *)0)->gso_size;
if (mss) {
int hdr_len;
if (skb_cow_head())
iph = ip_hdr();
hdr_len = tcp_hdrlen__builtin_expect() && _tg3_flag();
if (tg3_tso_bug_gso_check())
return tg3_tso_bug(tp, tnapi);
iph->tot_len = mss + hdr_len;
if (_tg3_flag(tp) || tp)
;
else
asm("" : : "g"(iph->daddr));
}
return 0;
}
Please add it into test-suite.
Thank you. Will do.