• Will Deacon's avatar
    locking/refcount: Move saturation warnings out of line · 1eb085d9
    Will Deacon authored
    Having the refcount saturation and warnings inline bloats the text,
    despite the fact that these paths should never be executed in normal
    operation.
    
    Move the refcount saturation and warnings out of line to reduce the
    image size when refcount_t checking is enabled. Relative to an x86_64
    defconfig, the sizes reported by bloat-o-meter are:
    
     # defconfig+REFCOUNT_FULL, inline saturation (i.e. before this patch)
     Total: Before=14762076, After=14915442, chg +1.04%
    
     # defconfig+REFCOUNT_FULL, out-of-line saturation (i.e. after this patch)
     Total: Before=14762076, After=14835497, chg +0.50%
    
    A side-effect of this change is that we now only get one warning per
    refcount saturation type, rather than one per problematic call-site.
    Signed-off-by: default avatarWill Deacon <will@kernel.org>
    Reviewed-by: default avatarArd Biesheuvel <ardb@kernel.org>
    Reviewed-by: default avatarKees Cook <keescook@chromium.org>
    Tested-by: default avatarHanjun Guo <guohanjun@huawei.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Elena Reshetova <elena.reshetova@intel.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lkml.kernel.org/r/20191121115902.2551-7-will@kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    1eb085d9
refcount.c 4.81 KB