PWM H-Bridge circuit

You're OK on the N-channel MOSFET's but the P-channel MOSFET's need 12V on the gate to turn them off, and your Arduino will only output 5V.

I recommend an H-bridge driver chip like the TC4428 to act as an interface between the Arduino and the MOSFET bridge.

Also, using 12A MOSFET's for a 9A motor means the MOSFET's are probably going to get pretty hot (the "12A" number is the one the manufacturer specifies as an absolute worst-case cook-your-eggs-on-it type of number).