Your message dated Sun, 12 Aug 2012 17:22:45 +0200
with message-id <20120812152245.ga12...@spike.0x539.de>
and subject line Re: Bug#683673: unblock: iucode-tool/0.8.2-1
has caused the Debian Bug report #683673,
regarding unblock: iucode-tool/0.8.2-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
683673: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683673
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: freeze-exception

Please unblock package iucode-tool

The package in unstable fixes an annoying oversight that can mislead an
user or scripts into not installing microcodes at all.  It adds an
warning message to tell the user that something is amiss, and changes
the failure mode to have a fail safe fallback.

It also updates some documentation, and adds Vcs-* fields to
debian/control.

Unblocking this package would fix bug #683178 in Wheezy.

Relevant diff attached, the debdiff has a lot of noise because of
autotools so I used git to generate the relevant changes between the two
debian packages (0.8-1 in testing, 0.8.2-1 in unstable).

unblock iucode-tool/0.8.2-1

-- System Information:
Debian Release: 6.0.5
  APT prefers proposed-updates
  APT policy: (990, 'proposed-updates'), (990, 'stable'), (500, 
'stable-updates')
Architecture: amd64 (x86_64)

Kernel: Linux 3.0.38+ (SMP w/8 CPU cores)
Locale: LANG=pt_BR.UTF-8, LC_CTYPE=pt_BR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh
diff --git a/ChangeLog b/ChangeLog
index 2c6fdea..66b7f3c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1 +1,23 @@
-* No entries yet
+2012-07-28, iucode_tool v0.8.2
+
+  * Update documentation and manpages for the new microcode
+    update interface in Linux v3.6.
+  * Fail safe when --scan-system cannot access the cpuid driver:
+    instead of not selecting anything, still select all microcodes
+    if no other microcode selection option was used.
+  * Move NEWS to ChangeLog
+
+2012-07-24, iucode_tool v0.8.1
+
+  * Updates to the iucode_tool(8) manpage, disclosing the
+    need for the cpuid driver for iucode_tool --scan-system,
+    and more details about the sysfs microcode reload
+    interface.
+  * Output an error message if --scan-system could not find
+    any cpuid nodes in sysfs.
+
+2012-06-07, iucode_tool v0.8
+
+  * First release to the general public.  Please refer to
+    the README file for the irrelevant details, and to the
+    manpage for the relevant details.
diff --git a/NEWS b/NEWS
index 5f5e1b9..56b123c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1 @@
-2012-06-07, iucode_tool v0.8
-
-  * First release to the general public.  Please refer to
-    the README file for the irrelevant details, and to the
-    manpage for the relevant details.
+No noteworthy changes since v0.8, the first public release.
diff --git a/README b/README
index 0c2e2fb..8bd4195 100644
--- a/README
+++ b/README
@@ -2,8 +2,8 @@
 
 	iucode_tool - IntelĀ® 64 and IA-32 processor microcode tool
 
-				Version 0.8
-			      June 7th,  2012
+			       Version 0.8.2
+			      July 28th, 2012
 
 
 IntelĀ® 64 and IA-32 processors (x86_64 and i686 processors) are capable of
@@ -91,8 +91,12 @@ kernel boots:
     kernel microcode module, or if it is already loaded, by running the
     shell commands:
 
-    for i in /sys/devices/system/cpu/cpu[0-9]*/microcode/reload ; do \
-	echo 1 > "$i" ; \
+    Linux v3.6 and later:
+    echo 1 > /sys/devices/system/cpu/microcode/reload
+
+    Older versions:
+    for i in /sys/devices/system/cpu/cpu[0-9]*/microcode/reload ; do
+        echo 1 2>/dev/null > "$i" || true
     done
 
     This requires udev (or something else that handles uevents) to be
diff --git a/configure.ac b/configure.ac
index 0c1c003..b5cb9f9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -16,7 +16,7 @@ dnl You should have received a copy of the GNU General Public License
 dnl along with this program; if not, write to the Free Software
 dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-AC_INIT([iucode_tool], [0.8])
+AC_INIT([iucode_tool], [0.8.2])
 
 AC_PREREQ([2.61])
 AC_CONFIG_SRCDIR([iucode_tool.c])
diff --git a/debian/changelog b/debian/changelog
index cb53f64..c479549 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,24 @@
+iucode-tool (0.8.2-1) unstable; urgency=low
+
+  * New upstream release
+    + Update documentation and manpages for the new microcode
+      update interface in Linux v3.6.
+    + Fail safe when --scan-system cannot access the cpuid driver:
+      instead of not selecting anything, still select all microcodes
+      if no other microcode selection option was used (closes: #683178)
+  * debian/control: add X-Vcs-* fields
+
+ -- Henrique de Moraes Holschuh <h...@debian.org>  Sun, 29 Jul 2012 10:06:35 -0300
+
+iucode-tool (0.8.1-1) unstable; urgency=low
+
+  * New upstream release
+    + inform user with an error message if cpuid driver is missing, and
+      --scan-system was requested
+    + manpage updates
+
+ -- Henrique de Moraes Holschuh <h...@debian.org>  Tue, 24 Jul 2012 11:53:05 -0300
+
 iucode-tool (0.8-1) unstable; urgency=low
 
   * Initial public release (closes: #611133)
diff --git a/debian/control b/debian/control
index 69e9749..dbcd3bf 100644
--- a/debian/control
+++ b/debian/control
@@ -4,9 +4,8 @@ Priority: optional
 Maintainer: Henrique de Moraes Holschuh <h...@debian.org>
 Build-Depends: debhelper (>= 7), autotools-dev, automake (>= 1:1.10), autoconf (>= 2.61)
 Standards-Version: 3.9.3
-#Homepage: <insert the upstream URL, if relevant>
-#Vcs-Git: git://git.debian.org/collab-maint/iucode-tool.git
-#Vcs-Browser: http://git.debian.org/?p=collab-maint/iucode-tool.git;a=summary
+Vcs-Git: git://git.debian.org/users/hmh/iucode-tool.git
+Vcs-Browser: http://git.debian.org/?p=users/hmh/iucode-tool.git
 
 Package: iucode-tool
 Architecture: i386 amd64
diff --git a/iucode_tool.8.in b/iucode_tool.8.in
index e0335f1..c5db9be 100644
--- a/iucode_tool.8.in
+++ b/iucode_tool.8.in
@@ -15,7 +15,7 @@
 .\" along with this program; see the file COPYING.  If not, write to
 .\" the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 .\"
-.TH IUCODE_TOOL 8 "May 1, 2011" "IUCODE_TOOL @VERSION@"
+.TH IUCODE_TOOL 8 "July 28, 2012" "IUCODE_TOOL @VERSION@"
 .\" Please update the above date whenever this man page is modified.
 .\"
 .\" Some roff macros, for reference:
@@ -175,6 +175,9 @@ signatures.
 .RI "This option can be combined with the " "-s" " option"
 to select more microcodes.
 
+Should the scan fail, the program will print a warning to the user and
+continue as if \fI--scan-system\fR had not been specified.
+
 .TP
 \fB--date-before\fR=\fIYYYY-MM-DD\fR and \fB--date-after\fR=\fIYYYY-MM-DD\fR
 Limit the selected microcodes by a date range.  The date must be given in
@@ -241,17 +244,26 @@ is active).  It does follow directory symlinks to locate the directory
 to write files into.
 
 .SS Linux Notes
-Each Intel processor microcode must be uploaded through a single write
-syscall, but more than one microcode can be uploaded per write syscall.
+The cpuid kernel driver is required for the \fI--scan-system\fR
+functionality to work.
 
-Writing the microcode to the kernel device will update all system
-processor cores at once.  This method is being deprecated and does not
-work on other system processor types.
-
-The Linux firmware interface for microcode updates needs to be triggered
-on a core-by-core basis.  A way to trigger an update of all cores at
-once has been requested, but is not yet available as of Linux kernel
-v3.3.
+Each Intel processor microcode must be uploaded through a single write
+syscall to \fI/dev/cpu/microcode\fR, but more than one microcode can be
+uploaded per write syscall.  Writing the microcode to the kernel device
+will update all system processor cores at once.  This method is being
+deprecated and does not work on other system processor types.
+
+The old Linux firmware interface for microcode updates needs to be
+triggered on a per-core basis, by writing the number 1 to
+/sys/devices/system/cpu/*/microcode/reload\fR.  Depending on kernel
+version, you must either trigger it on every core to avoid a dangerous
+situation where some cores are using outdated microcode, or the kernel will
+accept the request only for the boot processor and use it to trigger an
+update on all system processor cores.
+
+Since Linux v3.6, the per-core interface has been replaced with a new
+interface that explicitly triggers an update for every core at once when
+the number 1 is written to \fI/sys/devices/system/cpu/microcode/reload\fR.
 
 The microcode driver should not be unloaded unless you are sure it is not
 going to be needed.  The driver needs to be loaded in order for the kernel
diff --git a/iucode_tool.c b/iucode_tool.c
index e1adbd1..bcc32cf 100644
--- a/iucode_tool.c
+++ b/iucode_tool.c
@@ -1526,8 +1526,6 @@ static int scan_system_processors(void)
 	unsigned int i = 0;
 	int rc = 0;
 
-	filter_list_allow = 0;
-
 	while (1) {
 		if (cpuid_fd != -1)
 			close(cpuid_fd);
@@ -1595,11 +1593,25 @@ static int scan_system_processors(void)
 		i++;
 	};
 
-	/* tie linked lists */
-	add_filter_list_to_list(&uc_filter_list, uc_cpu);
-	uc_cpu = NULL;
+	/*
+	 * Be helpful: tell user why we're not doing what he explicitly
+	 * requested if we cannot get any cpuids at all.
+	 *
+	 * fail-safe: we only switch away from "select all microcodes by default"
+	 * if we managed to scan, so we will include all microcodes if cpuid is not
+	 * available, and no other microcode selection option was used
+	 */
+	if (uc_cpu) {
+		filter_list_allow = 0;
 
-	print_msg(2, "checked the signature of %u processor(s)", i);
+		/* tie linked lists */
+		add_filter_list_to_list(&uc_filter_list, uc_cpu);
+		uc_cpu = NULL;
+
+		print_msg(2, "checked the signature of %u processor(s)", i);
+	} else {
+		print_err("cpuid kernel driver unavailable, cannot scan system processor signatures");
+	}
 
 err_out:
 	if (cpuid_fd != -1)

--- End Message ---
--- Begin Message ---
On Thu, Aug 02, 2012 at 02:45:52PM -0300, Henrique de Moraes Holschuh wrote:
> unblock iucode-tool/0.8.2-1

Done, thanks.

Kind regards
Philipp Kern

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply via email to