• Dan Carpenter's avatar
    pstore/zone: cleanup "rcnt" type · 2c09d144
    Dan Carpenter authored
    The info->read() function returns ssize_t.  That means that info->read()
    either returns either negative error codes or a positive number
    representing the bytes read.
    
    The "rcnt" variable should be declared as ssize_t as well.  Most places
    do this correctly but psz_kmsg_recover_meta() needed to be fixed.
    
    This code casts the "rcnt" to int.  That is unnecessary when "rcnt"
    is already signed.  It's also slightly wrong because if info->read()
    returned a very high (more than INT_MAX) number of bytes then this might
    treat that as an error.  This bug cannot happen in real life, so it
    doesn't affect run time, but static checkers correctly complain that it
    is wrong.
    
    fs/pstore/zone.c:366 psz_kmsg_recover_data() warn: casting 'rcnt' truncates high bits
    Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: default avatarKees Cook <keescook@chromium.org>
    Link: https://lore.kernel.org/r/YrRtPSFHDVJzV6d+@kili
    2c09d144
zone.c 35.4 KB