lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 12 Oct 2021 08:42:50 +0000 From: Jiasheng Jiang <jiasheng@...as.ac.cn> To: willy@...radead.org, akpm@...ux-foundation.org Cc: linux-kernel@...r.kernel.org, Jiasheng Jiang <jiasheng@...as.ac.cn> Subject: [PATCH] XArray: Fix xa_to_node by adding xa_is_node Directly using xa_to_node may lead to the compulsory type conversion of unknown type,which is unsafe. So it might be better that adding xa_is_node before. Fixes: 58d6ea3 ("xarray: Add XArray unconditional store operations") Signed-off-by: Jiasheng Jiang <jiasheng@...as.ac.cn> --- lib/test_xarray.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/test_xarray.c b/lib/test_xarray.c index 8b1c318..7ad3d51 100644 --- a/lib/test_xarray.c +++ b/lib/test_xarray.c @@ -606,8 +606,10 @@ static noinline void check_multi_store(struct xarray *xa) XA_BUG_ON(xa, xa_load(xa, 1) != xa_mk_value(0)); XA_BUG_ON(xa, xa_load(xa, 2) != NULL); rcu_read_lock(); - XA_BUG_ON(xa, xa_to_node(xa_head(xa))->count != 2); - XA_BUG_ON(xa, xa_to_node(xa_head(xa))->nr_values != 2); + if (xa_is_node(xa_head(xa))) { + XA_BUG_ON(xa, xa_to_node(xa_head(xa))->count != 2); + XA_BUG_ON(xa, xa_to_node(xa_head(xa))->nr_values != 2); + } rcu_read_unlock(); /* Storing adjacent to the value does not alter the value */ -- 2.7.4
Powered by blists - more mailing lists