Whamcloud - gitweb
LU-17000 utils: interger overflow fixes 88/55588/6
authorShaun Tancheff <shaun.tancheff@hpe.com>
Tue, 2 Jul 2024 07:07:46 +0000 (14:07 +0700)
committerOleg Drokin <green@whamcloud.com>
Thu, 8 Aug 2024 00:16:24 +0000 (00:16 +0000)
commit768c1d65836d5f91c4ac51fbc73ff69ce48a1048
tree4d35e8422662d39002c30e7d4169be1d7f31fa73
parentd3d3325775378a5c2b833950f1d42d148469adfe
LU-17000 utils: interger overflow fixes

CoverityID: 426402 ("Logical vs. bitwise operator")
LIBCFS_ALLOC_PRE()
  Add extra parenthesis to clarify && vs & precedence

CoverityID: 429655 ("Overflowed integer argument")
LIBCFS_FREE()
  Use size_t to avoid integer overflow

CoverityID: 429629 ("Overflowed integer argument")
jobid_interpret_string()
  Prevent joblen from becoming negative, truncate if necessary.

CoverityID: 429557 ("Overflowed constant")
ll_stats_pid_write()
   if len is 0 prevent stack corruption via kernbuf

CoverityID: 429646 ("Overflowed integer argument")
llog_pack_buffer()
  ssize_t read(): prevent int overflow if read() returns > INT_MAX

CoverityID: 429630 ("Overflowed integer argument")
readline() in cacheio.c
  ssize_t read(): prevent int overflow if read() returns > INT_MAX

CoverityID: 429624 ("Overflowed integer argument")
osd_read()
  passes loff_t size to osd_ldiskfs_readlink, update
  osd_ldiskfs_readlink to accept size_t length to avoid a
  theoretical overflow

Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Ica8a5e1ce58e540016e4bc101763f835eed2c2f7
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55588
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
libcfs/include/libcfs/libcfs_private.h
lustre/llite/lproc_llite.c
lustre/obdclass/jobid.c
lustre/osd-ldiskfs/osd_io.c
lustre/utils/gss/cacheio.c
lustre/utils/gss/cacheio.h
lustre/utils/gss/svcgssd_proc.c
lustre/utils/llog_reader.c