]> git.baikalelectronics.ru Git - kernel.git/commit
locking/refcount: Move saturation warnings out of line
authorWill Deacon <will@kernel.org>
Thu, 21 Nov 2019 11:58:58 +0000 (11:58 +0000)
committerIngo Molnar <mingo@kernel.org>
Mon, 25 Nov 2019 08:15:21 +0000 (09:15 +0100)
commit85718400dedcddead1de0c72d9a116b7167f380d
tree33510b14c7d093cbedf09d156e8dc6899004846d
parent8709fa89f292171a89619e379309b657cff609e2
locking/refcount: Move saturation warnings out of line

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: Will Deacon <will@kernel.org>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Tested-by: Hanjun 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.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
include/linux/refcount.h
lib/refcount.c