Skip to content

Commit 686a0f3

Browse files
eparisJames Morris
authored andcommitted
kernel: rounddown helper function
The roundup() helper function will round a given value up to a multiple of another given value. aka roundup(11, 7) would give 14 = 7 * 2. This new function does the opposite. It will round a given number down to the nearest multiple of the second number: rounddown(11, 7) would give 7. I need this in some future SELinux code and can carry the macro myself, but figured I would put it in the core kernel so others might find and use it if need be. Signed-off-by: Eric Paris <[email protected]> Signed-off-by: James Morris <[email protected]>
1 parent 1ae4de0 commit 686a0f3

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

include/linux/kernel.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@ extern const char linux_proc_banner[];
5959
#define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f))
6060
#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
6161
#define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y))
62+
#define rounddown(x, y) ( \
63+
{ \
64+
typeof(x) __x = (x); \
65+
__x - (__x % (y)); \
66+
} \
67+
)
6268
#define DIV_ROUND_CLOSEST(x, divisor)( \
6369
{ \
6470
typeof(divisor) __divisor = divisor; \

0 commit comments

Comments
 (0)