We show that for every closed convex set C in a separable Banach space X there is a C-infinity-smooth convex function f : X--> [0, infinity) so that f(-1) (0) = C. We also deduce some interesting consequences concerning smooth approximation of closed convex sets and continuous convex functions.