+ x86-microcode-dont-check-the-size.patch added to -mm tree

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

 



The patch titled

     x86 microcode: don't check the size

has been added to the -mm tree.  Its filename is

     x86-microcode-dont-check-the-size.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: x86 microcode: don't check the size
From: Shaohua Li <shaohua.li@xxxxxxxxx>

IA32 manual says if micorcode update's size is 0, then the size is
default size (2048 bytes). But this doesn't suggest all microcode
update's size should be above 2048 bytes to me. We actually had a
microcode update whose size is 1024 bytes. The patch just removed the
check.

Signed-off-by: Shaohua Li <shaohua.li@xxxxxxxxx>
Cc: Tigran Aivazian <tigran@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 arch/i386/kernel/microcode.c |   14 +++-----------
 1 files changed, 3 insertions(+), 11 deletions(-)

diff -puN arch/i386/kernel/microcode.c~x86-microcode-dont-check-the-size arch/i386/kernel/microcode.c
--- a/arch/i386/kernel/microcode.c~x86-microcode-dont-check-the-size
+++ a/arch/i386/kernel/microcode.c
@@ -187,8 +187,7 @@ static int microcode_sanity_check(void *
 
 	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, lo
 		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 f
 {
 	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(v
 	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;
 	}
_

Patches currently in -mm which might be from shaohua.li@xxxxxxxxx are

x86-microcode-microcode-driver-cleanup.patch
x86-microcode-microcode-driver-cleanup-tidy.patch
x86-microcode-using-request_firmware-to-pull-microcode.patch
x86-microcode-add-sysfs-and-hotplug-support.patch
x86-microcode-add-sysfs-and-hotplug-support-fix.patch
x86-microcode-add-sysfs-and-hotplug-support-fix-fix-2.patch
x86-microcode-dont-check-the-size.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux