First sprinkle over some baking soda to soak up the oil - leave it on for about half an hour. Then pour a bit of white vinegar over the stain, and work in into the fabric by rubbing it together. Then clean the baking soda and vinegar off will water and a cloth. If its quite badly stained you may either need to wash it in the machine if you can, or take it to a dry cleaner.
apparently if you can wash it in the machine it helps to put tennis balls in the machine, and also in the dryer after. Helps keep the down nice or something
Replacing it seems to work really well.