runtime: avoid stat underflow crash
runtime: avoid stat underflow crash

If the area returned by sysReserve in mheap.sysAlloc is outside the
usable arena, we sysFree it. We pass a fake stat pointer to sysFree
because we haven't added the allocation to any stat at that point.
However, we pass a 0 stat, so sysFree panics when it decrements the
stat because the fake stat underflows.

Fix this by setting the fake stat to the allocation size.

Updates #13143 (this is a prerequisite to fixing that bug).

Change-Id: I61a6c9be19ac1c95863cf6a8435e19790c8bfc9a
Reviewed-on: https://go-review.googlesource.com/16926
Reviewed-by: Ian Lance Taylor <87e9c6d529889242b7e184afb632328636553ab4@golang.org>

nawawi/go,binarycrusader/go,deft-code/go,Endika/go,fjballest/golang,momchil-velikov/go,Endika/go,ImJasonH/go,polyverse-security/go,roth1002/go,akutz/go,roth1002/go,ganboing/go-esx,codestation/go,fjballest/golang,sndnvaps/go,odeke-em/go,CAFxX/go,vsekhar/elastic-go,codestation/go,josharian/go,CAFxX/go,akutz/go,fjballest/golang,CAFxX/go,miolini/go,Cofyc/go,golang/go,odeke-em/go,cyberroadie/go,mwhudson/go,linux-on-ibm-z/go,nawawi/go,derekmarcotte/go,cloudflare/go,miolini/go,vanloswang/go,vsekhar/elastic-go,nawawi/go,momchil-velikov/go,vsekhar/elastic-go,roth1002/go,linux-on-ibm-z/go,ganboing/go-esx,Endika/go,binarycrusader/go,linux-on-ibm-z/go,odeke-em/go,vanloswang/go,kim-racktop/go,Samurais/go,mwhudson/go,akutz/go,mwhudson/go,theif519/go,ImJasonH/go,4ad/go,codestation/go,miolini/go,momchil-velikov/go,josharian/go,vanloswang/go,akutz/go,goodlang/good,Jordanzuo/go,Cofyc/go,roth1002/go,theif519/go,mwhudson/go,deft-code/go,deft-code/go,vsekhar/elastic-go,binarycrusader/go,mwhudson/go,Cofyc/go,vsekhar/elastic-go,cloudflare/go,christopher-henderson/Go,vanloswang/go,fjballest/golang,CAFxX/go,vanloswang/go,goodlang/good,momchil-velikov/go,cloudflare/go,polyverse-security/go,sndnvaps/go,Samurais/go,kim-racktop/go,Jordanzuo/go,golang/go,goodlang/good,Endika/go,4ad/go,Jordanzuo/go,theif519/go,ImJasonH/go,Samurais/go,ImJasonH/go,suncycheng/go,deft-code/go,cyberroadie/go,theif519/go,ImJasonH/go,4ad/go,deft-code/go,linux-on-ibm-z/go,vanloswang/go,suncycheng/go,polyverse-security/go,Cofyc/go,vsekhar/elastic-go,Jordanzuo/go,linux-on-ibm-z/go,Jordanzuo/go,cloudflare/go,derekmarcotte/go,akutz/go,fjballest/golang,binarycrusader/go,miolini/go,odeke-em/go,polyverse-security/go,akutz/go,Endika/go,Samurais/go,vsekhar/elastic-go,odeke-em/go,ImJasonH/go,polyverse-security/go,derekmarcotte/go,kim-racktop/go,nawawi/go,vanloswang/go,ganboing/go-esx,momchil-velikov/go,4ad/go,binarycrusader/go,derekmarcotte/go,codestation/go,goodlang/good,cyberroadie/go,theif519/go,ganboing/go-esx,goodlang/good,cyberroadie/go,4ad/go,roth1002/go,derekmarcotte/go,josharian/go,suncycheng/go,binarycrusader/go,golang/go,derekmarcotte/go,theif519/go,kim-racktop/go,Samurais/go,linux-on-ibm-z/go,mwhudson/go,nawawi/go,cloudflare/go,golang/go,CAFxX/go,theif519/go,Endika/go,kim-racktop/go,fjballest/golang,goodlang/good,kim-racktop/go,binarycrusader/go,binarycrusader/go,Jordanzuo/go,codestation/go,sndnvaps/go,4ad/go,Cofyc/go,sndnvaps/go,miolini/go,cloudflare/go,codestation/go,josharian/go,4ad/go,roth1002/go,mwhudson/go,linux-on-ibm-z/go,vanloswang/go,polyverse-security/go,josharian/go,odeke-em/go,golang/go,momchil-velikov/go,momchil-velikov/go,Samurais/go,cyberroadie/go,ImJasonH/go,cyberroadie/go,miolini/go,goodlang/good,nawawi/go,odeke-em/go,roth1002/go,Endika/go,Cofyc/go,suncycheng/go,suncycheng/go,roth1002/go,polyverse-security/go,Jordanzuo/go,miolini/go,josharian/go,josharian/go,Cofyc/go,fjballest/golang,ganboing/go-esx,nawawi/go,cloudflare/go,ganboing/go-esx,4ad/go,momchil-velikov/go,deft-code/go,mwhudson/go,kim-racktop/go,ganboing/go-esx,josharian/go,sndnvaps/go,akutz/go,goodlang/good,codestation/go,cyberroadie/go,ganboing/go-esx,derekmarcotte/go,suncycheng/go,fjballest/golang,vsekhar/elastic-go,Jordanzuo/go,golang/go,deft-code/go,CAFxX/go,ImJasonH/go,golang/go,odeke-em/go,sndnvaps/go,cloudflare/go,suncycheng/go,cyberroadie/go,kim-racktop/go,Samurais/go,polyverse-security/go,CAFxX/go,Cofyc/go,codestation/go,sndnvaps/go,sndnvaps/go,theif519/go,CAFxX/go,Samurais/go,linux-on-ibm-z/go,suncycheng/go,nawawi/go,deft-code/go,golang/go,Endika/go,derekmarcotte/go,miolini/go,akutz/go