version: Print build-id at bootup.

Livepatch expected at some point to be able to print the
build-id during bootup, which it did not.  The reason is
that xen_build_init and livepatch_init are both __initcall
type routines. This meant that when livepatch_init called
xen_build_id, it would return -ENODATA as build_id_len was
not setup yet (b/c xen_build_init would be called later).

The original patch fixed this by calling xen_build_init in
livepatch_init which allows us to print the build-id of
the hypervisor.

However the x86 maintainers pointed out that build-id
is independent of Livepatch and in fact should print
regardless whether Livepatch is enabled or not.

Therefore this patch moves the logic of printing the build-id
to version.c.

Reviewed-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
Konrad Rzeszutek Wilk committed 2016-09-07 21:10:41 -04:00
1 parent 4878878a45
commit f28434d00f
2 files changed
+2 -6

No files matched your search

-6
View File
@@ -1547,12 +1547,6 @@ static void livepatch_printall(unsigned char key)
static int __init livepatch_init(void)
{
const void *binary_id;
unsigned int len;
if ( !xen_build_id(&binary_id, &len) )
printk(XENLOG_INFO LIVEPATCH ": build-id: %*phN\n", len, binary_id);
register_keyhandler('x', livepatch_printall, "print livepatch info", 1);
arch_livepatch_init();
+2
View File
@@ -186,6 +186,8 @@ static int __init xen_build_init(void)
}
}
#endif
if ( !rc )
printk(XENLOG_INFO "build-id: %*phN\n", build_id_len, build_id_p);
return rc;
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.