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

Bug#779926: pu: package intel-microcode/1.20150121.1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: pu

I'd like to update the intel-microcode package in Wheezy to the latest
available public Intel microcode.

This intel-microcode release (20150121) has been tested in unstable and
also Debian jessie for one month, without any error reports.

It updates only the microcode for Intel Desktop/mobile Broadwell E0/F0
processors, such as the Core i7-5500U and a few others.

It also updates the initramfs scripts, to decouple the intel-microcode
and amd64-microcode packages.  I will need this for a future stable
update of amd64-microcode.  These changes have been tested for oven one
year in Debian unstable and Debian jessie, without issues.

I've attached the abridged debdiff, without the upstream microcode
changes.

diffstat:
 changelog                      |   11 
 debian/changelog               |   47 
 debian/initramfs.hook          |    2 
 debian/initramfs.init-premount |   19 
 microcode-20140913.dat         |40694 ----------------------------------------
 microcode-20150121.dat         |41591 +++++++++++++++++++++++++++++++++++++++++
 6 files changed, 41663 insertions(+), 40701 deletions(-)

Thank you.
diff -Nru intel-microcode-1.20140913.1/changelog intel-microcode-1.20150121.1/changelog
--- intel-microcode-1.20140913.1/changelog	2014-10-30 16:14:19.000000000 -0200
+++ intel-microcode-1.20150121.1/changelog	2015-02-11 20:32:44.000000000 -0200
@@ -1,3 +1,14 @@
+2015-01-21:
+  * Downgraded microcodes (to a previously shipped revision):
+    sig 0x000306f2, pf mask 0x6f, 2014-09-03, rev 0x0029, size 28672
+
+2015-01-07:
+  * New Microcodes:
+    sig 0x000306d4, pf mask 0xc0, 2014-12-05, rev 0x0018, size 14336
+
+  * Updated Microcodes (this update is known to cause issues):
+    sig 0x000306f2, pf mask 0x6f, 2014-11-21, rev 0x002d, size 28672
+
 2014-09-13:
   * New Microcodes:
     sig 0x000306f2, pf mask 0x6f, 2014-09-03, rev 0x0029, size 28672
diff -Nru intel-microcode-1.20140913.1/debian/changelog intel-microcode-1.20150121.1/debian/changelog
--- intel-microcode-1.20140913.1/debian/changelog	2014-12-18 16:31:28.000000000 -0200
+++ intel-microcode-1.20150121.1/debian/changelog	2015-03-01 23:33:19.000000000 -0300
@@ -1,3 +1,50 @@
+intel-microcode (1.20150121.1) stable; urgency=high
+
+  * New upstream microcode data file 20150121
+    + Downgraded microcodes (to a previously shipped revision):
+      sig 0x000306f2, pf mask 0x6f, 2014-09-03, rev 0x0029, size 28672
+    * The microcode downgrade fixes a very nasty regression on Xeon E5v3
+      processors (closes: #776431)
+  * critical urgency: the broken sig 0x306f2, rev 0x2b microcode shipped
+    in release 20150107 caused CPU core hangs and Linux boot failures.
+    The upstream fix was to downgrade it to the same microcode revision
+    that was shipped in release 20140913
+  * source: remove superseded upstream data file: 20150107.
+
+ -- Henrique de Moraes Holschuh <hmh@debian.org>  Fri, 30 Jan 2015 08:41:20 -0200
+
+intel-microcode (1.20150107.1) stable; urgency=high
+
+  * New upstream microcode data file 20150107
+    + New Microcodes:
+      sig 0x000306d4, pf mask 0xc0, 2014-12-05, rev 0x0018, size 14336
+    + Updated Microcodes:
+      sig 0x000306f2, pf mask 0x6f, 2014-11-21, rev 0x002d, size 28672
+    + High urgency: there are fast-tracked microcode updates in this
+      release which imply that critical errata are being fixed
+      (Broadwell Core i3/i5/i7 5th gen, Core M-5Y, Pentium 3805U,
+       Celeron 3755U, maybe others)
+  * source: remove superseded upstream data file: 20140913
+  * initramfs: decouple from amd64-microcode:
+    Update the initramfs init-premount boot script to the script used in
+    intel-microcode 1.20130222.6 to 1.20130808.2, as well as all
+    intel-microcode 2.x packages.  It has been throughoutly tested for
+    more than one year in unstable, testing (jessie), and
+    wheezy-backports.  This new version of the boot script decouples
+    intel-microcode from amd64-microcode's boot script, and will trigger
+    a microcode update only when an Intel processor is installed.
+    amd64-microcode's boot script runs earlier, so this change will at
+    most cause a microcode update to be triggered twice (the kernel will
+    ignore the second attempt).  Therefore, it is compatible with any
+    version of the amd64-microcode package. This change allows
+    amd64-microcode's boot script to also be updated to decouple itself
+    from intel-microcode.
+  * initramfs.hook: do not mix arrays and lists.
+    Avoid echo "foo $@", use echo "foo $*" instead.  This is unlikely
+    to be expĺoitable, but it makes ShellCheck happier.
+
+ -- Henrique de Moraes Holschuh <hmh@debian.org>  Sun, 18 Jan 2015 19:17:01 -0200
+
 intel-microcode (1.20140913.1) stable; urgency=low
 
   * New upstream microcode data file 20140913
diff -Nru intel-microcode-1.20140913.1/debian/initramfs.hook intel-microcode-1.20150121.1/debian/initramfs.hook
--- intel-microcode-1.20140913.1/debian/initramfs.hook	2014-12-18 16:31:28.000000000 -0200
+++ intel-microcode-1.20150121.1/debian/initramfs.hook	2015-03-01 23:33:19.000000000 -0300
@@ -27,7 +27,7 @@
 verbose()
 {
 	if [ "${verbose}" = "y" ] ; then
-		echo "intel-microcode: $@"
+		echo "intel-microcode: $*"
 	fi
 	:
 }
diff -Nru intel-microcode-1.20140913.1/debian/initramfs.init-premount intel-microcode-1.20150121.1/debian/initramfs.init-premount
--- intel-microcode-1.20140913.1/debian/initramfs.init-premount	2014-12-18 16:31:28.000000000 -0200
+++ intel-microcode-1.20150121.1/debian/initramfs.init-premount	2015-03-01 23:33:19.000000000 -0300
@@ -23,15 +23,22 @@
    ;;
 esac
 
-# Only continue if we do possibly have firmware to install
-[ -d /lib/firmware/intel-ucode -o -d /lib/firmware/amd-ucode ] || exit 0
+# hack to strip spaces
+is_intel()
+{
+    [ "x$1" = "xvendor_id" ] && [ "x$2" = "xGenuineIntel" ] && HAS_INTL=1
+}
 
-# we don't need to run twice
-[ -e ${0%/*}/amd64-microcode ] && exit 0
-[ -e ${0%/*}/amd64_microcode ] && exit 0
+# Only continue if we do possibly have firmware to install
+[ -d /lib/firmware/intel-ucode ] || exit 0
 
 # module load will already have caused the microcode to be fetched
-{ while read -r module trash ; do [ "x$module" = "xmicrocode" ] && exit 0 ; done } < /proc/modules
+{ while read -r module trash ; do [ "x$module" = "xmicrocode" ] && exit 0 ; done ; } < /proc/modules
+
+# don't run on non-Intel
+HAS_INTL=0
+{ while IFS=: read -r field value ; do is_intel $field $value ; done ; } < /proc/cpuinfo
+[ $HAS_INTL -eq 0 ] && exit 0;
 
 . /scripts/functions
 
diff -Nru intel-microcode-1.20140913.1/microcode-20140913.dat intel-microcode-1.20150121.1/microcode-20140913.dat
diff -Nru intel-microcode-1.20140913.1/microcode-20150121.dat intel-microcode-1.20150121.1/microcode-20150121.dat

Reply to: