diff --git a/sys/fs/msdosfs/denode.h b/sys/fs/msdosfs/denode.h index 2f785466d7ca..2aaa1a374bd7 100644 --- a/sys/fs/msdosfs/denode.h +++ b/sys/fs/msdosfs/denode.h @@ -174,6 +174,8 @@ struct denode { #define DE_MODIFIED 0x0020 /* Denode has been modified */ #define DE_RENAME 0x0040 /* Denode is in the process of being renamed */ +/* Maximum size of a file on a FAT filesystem */ +#define MSDOSFS_FILESIZE_MAX 0xFFFFFFFFLL /* * Transfer directory entries between internal and external form. diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index 2641dde2d9e5..f2c8456b7805 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -79,8 +79,6 @@ #include #include -#define DOS_FILESIZE_MAX 0xffffffff - /* * Prototypes for MSDOSFS vnode operations */ @@ -548,7 +546,7 @@ msdosfs_read(struct vop_read_args *ap) * The caller is supposed to ensure that * uio->uio_offset >= 0 and uio->uio_resid >= 0. * We don't need to check for large offsets as in ffs because - * dep->de_FileSize <= DOS_FILESIZE_MAX < OFF_MAX, so large + * dep->de_FileSize <= MSDOSFS_FILESIZE_MAX < OFF_MAX, so large * offsets cannot cause overflow even in theory. */ @@ -663,7 +661,7 @@ msdosfs_write(struct vop_write_args *ap) * The caller is supposed to ensure that * uio->uio_offset >= 0 and uio->uio_resid >= 0. */ - if ((uoff_t)uio->uio_offset + uio->uio_resid > DOS_FILESIZE_MAX) + if ((uoff_t)uio->uio_offset + uio->uio_resid > MSDOSFS_FILESIZE_MAX) return (EFBIG); /*