Buttons off. With a needle long enough to go all the way through the mattress, thread a strong cord (upholsterer's twine preferably, or the equivalent of fishing line) from the bottom of the mattress to the top. Run cord through button and then thread it back through to other side of mattress. Loop through the bottom button. Have some one compress the mattress as much as possible at that point. Draw ends of string tight and knot them securely.
If you don't have a long needle, you can try doubling a small, stiff wire in two lengths greater than the thickness of the mattress. Make the bend as sharp and pointed as possible. Push the wire through from the top of the mattress to the bottom. Thread cord through the bend and pull the cord back to the top of the mattress. After looping cord through button, insert bent wire from bottom of mattress, secure end of cord and draw it back to the underside.
Holes in fabric. Patch with press-on mending tape.