KVM: s390: obey kptr_restrict in traces
authorChristian Borntraeger <borntraeger@de.ibm.com>
Tue, 8 Dec 2015 15:55:27 +0000 (16:55 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Tue, 15 Dec 2015 16:06:32 +0000 (17:06 +0100)
The s390dbf and trace events provide a debugfs interface.
If kptr_restrict is active, we should not expose kernel
pointers. We can fence the debugfs output by using %pK
instead of %p.

Cc: Kees Cook <keescook@chromium.org>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/kvm/kvm-s390.c
arch/s390/kvm/trace-s390.h

index 6dec01d6c1c4150441d94f618fc980aa45daecf3..c14845c3a6f8ccfaeab8cfceeffadcf3ced71cf7 100644 (file)
@@ -1185,7 +1185,7 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
        kvm->arch.epoch = 0;
 
        spin_lock_init(&kvm->arch.start_stop_lock);
-       KVM_EVENT(3, "vm 0x%p created by pid %u", kvm, current->pid);
+       KVM_EVENT(3, "vm 0x%pK created by pid %u", kvm, current->pid);
 
        return 0;
 out_err:
@@ -1245,7 +1245,7 @@ void kvm_arch_destroy_vm(struct kvm *kvm)
                gmap_free(kvm->arch.gmap);
        kvm_s390_destroy_adapters(kvm);
        kvm_s390_clear_float_irqs(kvm);
-       KVM_EVENT(3, "vm 0x%p destroyed", kvm);
+       KVM_EVENT(3, "vm 0x%pK destroyed", kvm);
 }
 
 /* Section: vcpu related */
@@ -1349,7 +1349,8 @@ static int sca_switch_to_extended(struct kvm *kvm)
 
        free_page((unsigned long)old_sca);
 
-       VM_EVENT(kvm, 2, "Switched to ESCA (%p -> %p)", old_sca, kvm->arch.sca);
+       VM_EVENT(kvm, 2, "Switched to ESCA (0x%pK -> 0x%pK)",
+                old_sca, kvm->arch.sca);
        return 0;
 }
 
@@ -1624,7 +1625,7 @@ struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm,
        rc = kvm_vcpu_init(vcpu, kvm, id);
        if (rc)
                goto out_free_sie_block;
-       VM_EVENT(kvm, 3, "create cpu %d at %p, sie block at %p", id, vcpu,
+       VM_EVENT(kvm, 3, "create cpu %d at 0x%pK, sie block at 0x%pK", id, vcpu,
                 vcpu->arch.sie_block);
        trace_kvm_s390_create_vcpu(id, vcpu, vcpu->arch.sie_block);
 
index cc1d6c68356fc3ede1cb2dd22cc6781f83c8288b..396485bca191ce46b5a46a8466ecb3af8b67ac23 100644 (file)
@@ -55,8 +55,8 @@ TRACE_EVENT(kvm_s390_create_vcpu,
                    __entry->sie_block = sie_block;
                    ),
 
-           TP_printk("create cpu %d at %p, sie block at %p", __entry->id,
-                     __entry->vcpu, __entry->sie_block)
+           TP_printk("create cpu %d at 0x%pK, sie block at 0x%pK",
+                     __entry->id, __entry->vcpu, __entry->sie_block)
        );
 
 TRACE_EVENT(kvm_s390_destroy_vcpu,
@@ -254,7 +254,7 @@ TRACE_EVENT(kvm_s390_enable_css,
                    __entry->kvm = kvm;
                    ),
 
-           TP_printk("enabling channel I/O support (kvm @ %p)\n",
+           TP_printk("enabling channel I/O support (kvm @ %pK)\n",
                      __entry->kvm)
        );