zfs/lib/libspl
chenqiuhao1997 41ae864b69
Replace P2ALIGN with P2ALIGN_TYPED and delete P2ALIGN.
In P2ALIGN, the result would be incorrect when align is unsigned
integer and x is larger than max value of the type of align.
In that case, -(align) would be a positive integer, which means
high bits would be zero and finally stay zero after '&' when
align is converted to a larger integer type.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Youzhong Yang <yyang@mathworks.com>
Signed-off-by: Qiuhao Chen <chenqiuhao1997@gmail.com>
Closes #15940
2024-05-10 08:47:21 -07:00
..
include Replace P2ALIGN with P2ALIGN_TYPED and delete P2ALIGN. 2024-05-10 08:47:21 -07:00
os libzfs: use zfs_strerror() in place of strerror() 2024-01-29 09:54:57 -08:00
Makefile.am libspl_assert: always link -lpthread on FreeBSD 2024-05-09 07:43:48 -07:00
assert.c Unbreak FreeBSD cross-build on MacOS broken in 051460b8b 2024-05-09 07:42:51 -07:00
atomic.c Add membar_sync 2022-09-20 15:32:44 -07:00
getexecname.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
libspl_impl.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
list.c Remove list_size struct member from list implementation 2024-01-26 14:46:42 -08:00
mkdirp.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
page.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
strlcat.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
strlcpy.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
timestamp.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00