]> git.ipfire.org Git - thirdparty/kernel/linux.git/blobdiff - drivers/scsi/sd.c
block: remove CONFIG_LBDAF
[thirdparty/kernel/linux.git] / drivers / scsi / sd.c
index 2b2bc4b49d78a36c737cd9e70666b900ec0fc2b2..92c34d93e0512726b58093d7524c80701ebc6a6b 100644 (file)
@@ -2256,22 +2256,6 @@ static void read_capacity_error(struct scsi_disk *sdkp, struct scsi_device *sdp,
 
 #define READ_CAPACITY_RETRIES_ON_RESET 10
 
-/*
- * Ensure that we don't overflow sector_t when CONFIG_LBDAF is not set
- * and the reported logical block size is bigger than 512 bytes. Note
- * that last_sector is a u64 and therefore logical_to_sectors() is not
- * applicable.
- */
-static bool sd_addressable_capacity(u64 lba, unsigned int sector_size)
-{
-       u64 last_sector = (lba + 1ULL) << (ilog2(sector_size) - 9);
-
-       if (sizeof(sector_t) == 4 && last_sector > U32_MAX)
-               return false;
-
-       return true;
-}
-
 static int read_capacity_16(struct scsi_disk *sdkp, struct scsi_device *sdp,
                                                unsigned char *buffer)
 {
@@ -2337,14 +2321,6 @@ static int read_capacity_16(struct scsi_disk *sdkp, struct scsi_device *sdp,
                return -ENODEV;
        }
 
-       if (!sd_addressable_capacity(lba, sector_size)) {
-               sd_printk(KERN_ERR, sdkp, "Too big for this kernel. Use a "
-                       "kernel compiled with support for large block "
-                       "devices.\n");
-               sdkp->capacity = 0;
-               return -EOVERFLOW;
-       }
-
        /* Logical blocks per physical block exponent */
        sdkp->physical_block_size = (1 << (buffer[13] & 0xf)) * sector_size;
 
@@ -2426,14 +2402,6 @@ static int read_capacity_10(struct scsi_disk *sdkp, struct scsi_device *sdp,
                return sector_size;
        }
 
-       if (!sd_addressable_capacity(lba, sector_size)) {
-               sd_printk(KERN_ERR, sdkp, "Too big for this kernel. Use a "
-                       "kernel compiled with support for large block "
-                       "devices.\n");
-               sdkp->capacity = 0;
-               return -EOVERFLOW;
-       }
-
        sdkp->capacity = lba + 1;
        sdkp->physical_block_size = sector_size;
        return sector_size;