Re: [PATCH 1/4] xfs: xfs_rtword_t should be unsigned, not signed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 31, 2018 at 09:33:50AM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> 
> xfs_rtword_t is used for bit manipulations in the realtime bitmap file.
> Since we're performing bit shifts with this type, we don't want sign
> extension and we don't want to be left shifting negative quantities
> because that's undefined behavior.
> 
> This also shuts up these UBSAN warnings:
> UBSAN: Undefined behaviour in fs/xfs/libxfs/xfs_rtbitmap.c:833:48
> signed integer overflow:
> -2147483648 - 1 cannot be represented in type 'int'
> 
> Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>

looks fine.
Reviewed-by: Bill O'Donnell <billodo@xxxxxxxxxx>


> ---
>  fs/xfs/libxfs/xfs_types.h |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> 
> diff --git a/fs/xfs/libxfs/xfs_types.h b/fs/xfs/libxfs/xfs_types.h
> index 3c560695c546..ea18449bd732 100644
> --- a/fs/xfs/libxfs/xfs_types.h
> +++ b/fs/xfs/libxfs/xfs_types.h
> @@ -30,7 +30,7 @@ typedef int64_t		xfs_fsize_t;	/* bytes in a file */
>  typedef uint64_t	xfs_ufsize_t;	/* unsigned bytes in a file */
>  
>  typedef int32_t		xfs_suminfo_t;	/* type of bitmap summary info */
> -typedef int32_t		xfs_rtword_t;	/* word type for bitmap manipulations */
> +typedef uint32_t	xfs_rtword_t;	/* word type for bitmap manipulations */
>  
>  typedef int64_t		xfs_lsn_t;	/* log sequence number */
>  typedef int32_t		xfs_tid_t;	/* transaction identifier */
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux