Exact meaning of "film exposure" in blender cycles
Based on the code on gitHub (kernel_film.h), it looks like the exposure is indeed a simple multiplication, applied on the linear space before gamma correction:

ccl_device float4 film_map(KernelGlobals *kg, float4 irradiance, float scale)
{
    float exposure = kernel_data.film.exposure;
    float4 result = irradiance*scale;

    /* conversion to srgb */
    result.x = color_scene_linear_to_srgb(result.x*exposure);
    result.y = color_scene_linear_to_srgb(result.y*exposure);
    result.z = color_scene_linear_to_srgb(result.z*exposure);

    /* clamp since alpha might be &gt; 1.0 due to russian roulette */
    result.w = clamp(result.w, 0.0f, 1.0f);

    return result;
}