McCartney has three children - fashion designer Stella , 31 , Mary , 33 , and James , 25 - by first wife Linda .