Skip to content

Commit 1ced449

Browse files
ubizjakgregkh
authored andcommitted
ucount: fix atomic_long_inc_below() argument type
[ Upstream commit f8cd919 ] The type of u argument of atomic_long_inc_below() should be long to avoid unwanted truncation to int. The patch fixes the wrong argument type of an internal function to prevent unwanted argument truncation. It fixes an internal locking primitive; it should not have any direct effect on userspace. Mark said : AFAICT there's no problem in practice because atomic_long_inc_below() : is only used by inc_ucount(), and it looks like the value is : constrained between 0 and INT_MAX. : : In inc_ucount() the limit value is taken from : user_namespace::ucount_max[], and AFAICT that's only written by : sysctls, to the table setup by setup_userns_sysctls(), where : UCOUNT_ENTRY() limits the value between 0 and INT_MAX. : : This is certainly a cleanup, but there might be no functional issue in : practice as above. Link: https://lkml.kernel.org/r/[email protected] Fixes: f9c82a4 ("Increase size of ucounts to atomic_long_t") Signed-off-by: Uros Bizjak <[email protected]> Reviewed-by: "Eric W. Biederman" <[email protected]> Cc: Sebastian Andrzej Siewior <[email protected]> Cc: "Paul E. McKenney" <[email protected]> Cc: Alexey Gladkov <[email protected]> Cc: Roman Gushchin <[email protected]> Cc: MengEn Sun <[email protected]> Cc: "Thomas Weißschuh" <[email protected]> Cc: Mark Rutland <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
1 parent 96ae3d8 commit 1ced449

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

kernel/ucount.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ void put_ucounts(struct ucounts *ucounts)
199199
}
200200
}
201201

202-
static inline bool atomic_long_inc_below(atomic_long_t *v, int u)
202+
static inline bool atomic_long_inc_below(atomic_long_t *v, long u)
203203
{
204204
long c, old;
205205
c = atomic_long_read(v);

0 commit comments

Comments
 (0)