Incorrect binary size after compilation.
I do not knwo if that is the best way to do it but I can tell you what your current linker is trying to do with the buffer ETH_DMADescTypeDef DMARxDscrTabETH_RXBUFNB
That buffer need to be in a fix memory location so in the linker file they created a memory sector Memory_B1(xrw) : ORIGIN = 0x20010000, LENGTH = 0x80 , then almost at the end onf the linker they assing the section .RxDecripSection to sector Memory_B1 and since the previous declaration sets the buffer to the section .RxDecripSection then the buffer is set to address 0x20010000.
basically you are doing the same