lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
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