diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/i386/kernel/microcode.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/arch/i386/kernel/microcode.c b/arch/i386/kernel/microcode.c index 467901ebb99..9b9479768d5 100644 --- a/arch/i386/kernel/microcode.c +++ b/arch/i386/kernel/microcode.c @@ -187,8 +187,7 @@ static int microcode_sanity_check(void *mc) total_size = get_totalsize(mc_header); data_size = get_datasize(mc_header); - if ((data_size + MC_HEADER_SIZE > total_size) - || (data_size < DEFAULT_UCODE_DATASIZE)) { + if (data_size + MC_HEADER_SIZE > total_size) { printk(KERN_ERR "microcode: error! " "Bad data size in microcode data file\n"); return -EINVAL; @@ -365,8 +364,7 @@ static long get_next_ucode(void **mc, long offset) return -EFAULT; } total_size = get_totalsize(&mc_header); - if ((offset + total_size > user_buffer_size) - || (total_size < DEFAULT_UCODE_TOTALSIZE)) { + if (offset + total_size > user_buffer_size) { printk(KERN_ERR "microcode: error! Bad total size in microcode " "data file\n"); return -EINVAL; @@ -432,11 +430,6 @@ static ssize_t microcode_write (struct file *file, const char __user *buf, size_ { ssize_t ret; - if (len < DEFAULT_UCODE_TOTALSIZE) { - printk(KERN_ERR "microcode: not enough data\n"); - return -EINVAL; - } - if ((len >> PAGE_SHIFT) > num_physpages) { printk(KERN_ERR "microcode: too much data (max %ld pages)\n", num_physpages); return -EINVAL; @@ -508,8 +501,7 @@ static long get_next_ucode_from_buffer(void **mc, void *buf, mc_header = (microcode_header_t *)(buf + offset); total_size = get_totalsize(mc_header); - if ((offset + total_size > size) - || (total_size < DEFAULT_UCODE_TOTALSIZE)) { + if (offset + total_size > size) { printk(KERN_ERR "microcode: error! Bad data in microcode data file\n"); return -EINVAL; } |