[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <878sudax95.fsf_-_@xmission.com>
Date: Fri, 07 Jun 2019 16:41:58 -0500
From: ebiederm@...ssion.com (Eric W. Biederman)
To: Oleg Nesterov <oleg@...hat.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Deepa Dinamani <deepa.kernel@...il.com>,
linux-kernel@...r.kernel.org, arnd@...db.de, dbueso@...e.de,
axboe@...nel.dk, dave@...olabs.net, e@...24.org, jbaron@...mai.com,
linux-fsdevel@...r.kernel.org, linux-aio@...ck.org,
omar.kilani@...il.com, tglx@...utronix.de,
Al Viro <viro@...IV.linux.org.uk>,
Linus Torvalds <torvalds@...ux-foundation.org>,
David Laight <David.Laight@...LAB.COM>,
<linux-arch@...r.kernel.org>
Subject: [RFC PATCH 2/5] signal/kvm: Stop using sigprocmask in kvm_sigset_(activate|deactivate)
Instead of jumping through hoops call __set_current_blocked directly.
As well as directly manipulating real_blocked.
This is in preparation for modifying the code to always keep
real_blocked in sync with blocked except in the rare cases when the
kernel needs to override it.
Signed-off-by: "Eric W. Biederman" <ebiederm@...ssion.com>
---
virt/kvm/kvm_main.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index f0d13d9d125d..8575a1010bfc 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -2240,7 +2240,8 @@ void kvm_sigset_activate(struct kvm_vcpu *vcpu)
* ->real_blocked don't care as long ->real_blocked is always a subset
* of ->blocked.
*/
- sigprocmask(SIG_SETMASK, &vcpu->sigset, ¤t->real_blocked);
+ current->real_blocked = current->blocked;
+ __set_current_blocked(&vcpu->sigset);
}
void kvm_sigset_deactivate(struct kvm_vcpu *vcpu)
@@ -2248,7 +2249,7 @@ void kvm_sigset_deactivate(struct kvm_vcpu *vcpu)
if (!vcpu->sigset_active)
return;
- sigprocmask(SIG_SETMASK, ¤t->real_blocked, NULL);
+ __set_current_blocked(¤t->real_blocked);
sigemptyset(¤t->real_blocked);
}
--
2.21.0.dirty
Powered by blists - more mailing lists