Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
Pull security subsystem update from James Morris: "This is mostly maintenance updates across the subsystem, with a notable update for TPM 2.0, and addition of Jarkko Sakkinen as a maintainer of that" * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (40 commits) apparmor: clarify CRYPTO dependency selinux: Use a kmem_cache for allocation struct file_security_struct selinux: ioctl_has_perm should be static selinux: use sprintf return value selinux: use kstrdup() in security_get_bools() selinux: use kmemdup in security_sid_to_context_core() selinux: remove pointless cast in selinux_inode_setsecurity() selinux: introduce security_context_str_to_sid selinux: do not check open perm on ftruncate call selinux: change CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE default KEYS: Merge the type-specific data with the payload data KEYS: Provide a script to extract a module signature KEYS: Provide a script to extract the sys cert list from a vmlinux file keys: Be more consistent in selection of union members used certs: add .gitignore to stop git nagging about x509_certificate_list KEYS: use kvfree() in add_key Smack: limited capability for changing process label TPM: remove unnecessary little endian conversion vTPM: support little endian guests char: Drop owner assignment from i2c_driver ...
Bu işleme şunda yer alıyor:
@@ -1425,27 +1425,45 @@ static void __init prom_instantiate_sml(void)
|
||||
{
|
||||
phandle ibmvtpm_node;
|
||||
ihandle ibmvtpm_inst;
|
||||
u32 entry = 0, size = 0;
|
||||
u32 entry = 0, size = 0, succ = 0;
|
||||
u64 base;
|
||||
__be32 val;
|
||||
|
||||
prom_debug("prom_instantiate_sml: start...\n");
|
||||
|
||||
ibmvtpm_node = call_prom("finddevice", 1, 1, ADDR("/ibm,vtpm"));
|
||||
ibmvtpm_node = call_prom("finddevice", 1, 1, ADDR("/vdevice/vtpm"));
|
||||
prom_debug("ibmvtpm_node: %x\n", ibmvtpm_node);
|
||||
if (!PHANDLE_VALID(ibmvtpm_node))
|
||||
return;
|
||||
|
||||
ibmvtpm_inst = call_prom("open", 1, 1, ADDR("/ibm,vtpm"));
|
||||
ibmvtpm_inst = call_prom("open", 1, 1, ADDR("/vdevice/vtpm"));
|
||||
if (!IHANDLE_VALID(ibmvtpm_inst)) {
|
||||
prom_printf("opening vtpm package failed (%x)\n", ibmvtpm_inst);
|
||||
return;
|
||||
}
|
||||
|
||||
if (call_prom_ret("call-method", 2, 2, &size,
|
||||
ADDR("sml-get-handover-size"),
|
||||
ibmvtpm_inst) != 0 || size == 0) {
|
||||
prom_printf("SML get handover size failed\n");
|
||||
return;
|
||||
if (prom_getprop(ibmvtpm_node, "ibm,sml-efi-reformat-supported",
|
||||
&val, sizeof(val)) != PROM_ERROR) {
|
||||
if (call_prom_ret("call-method", 2, 2, &succ,
|
||||
ADDR("reformat-sml-to-efi-alignment"),
|
||||
ibmvtpm_inst) != 0 || succ == 0) {
|
||||
prom_printf("Reformat SML to EFI alignment failed\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (call_prom_ret("call-method", 2, 2, &size,
|
||||
ADDR("sml-get-allocated-size"),
|
||||
ibmvtpm_inst) != 0 || size == 0) {
|
||||
prom_printf("SML get allocated size failed\n");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (call_prom_ret("call-method", 2, 2, &size,
|
||||
ADDR("sml-get-handover-size"),
|
||||
ibmvtpm_inst) != 0 || size == 0) {
|
||||
prom_printf("SML get handover size failed\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
base = alloc_down(size, PAGE_SIZE, 0);
|
||||
@@ -1454,6 +1472,8 @@ static void __init prom_instantiate_sml(void)
|
||||
|
||||
prom_printf("instantiating sml at 0x%x...", base);
|
||||
|
||||
memset((void *)base, 0, size);
|
||||
|
||||
if (call_prom_ret("call-method", 4, 2, &entry,
|
||||
ADDR("sml-handover"),
|
||||
ibmvtpm_inst, size, base) != 0 || entry == 0) {
|
||||
@@ -1464,9 +1484,9 @@ static void __init prom_instantiate_sml(void)
|
||||
|
||||
reserve_mem(base, size);
|
||||
|
||||
prom_setprop(ibmvtpm_node, "/ibm,vtpm", "linux,sml-base",
|
||||
prom_setprop(ibmvtpm_node, "/vdevice/vtpm", "linux,sml-base",
|
||||
&base, sizeof(base));
|
||||
prom_setprop(ibmvtpm_node, "/ibm,vtpm", "linux,sml-size",
|
||||
prom_setprop(ibmvtpm_node, "/vdevice/vtpm", "linux,sml-size",
|
||||
&size, sizeof(size));
|
||||
|
||||
prom_debug("sml base = 0x%x\n", base);
|
||||
|
Yeni konuda referans
Bir kullanıcı engelle