From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 50715C07542 for ; Mon, 27 May 2019 07:09:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0A7E62075E for ; Mon, 27 May 2019 07:09:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="bz5lv9GX" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726302AbfE0HJF (ORCPT ); Mon, 27 May 2019 03:09:05 -0400 Received: from mail-ed1-f65.google.com ([209.85.208.65]:40165 "EHLO mail-ed1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726073AbfE0HJE (ORCPT ); Mon, 27 May 2019 03:09:04 -0400 Received: by mail-ed1-f65.google.com with SMTP id j12so25200105eds.7 for ; Mon, 27 May 2019 00:09:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=sender:date:from:to:cc:subject:message-id:mail-followup-to :references:mime-version:content-disposition:in-reply-to:user-agent; bh=2OVAiP3AbT5S3JQwppK7lDiLikNBY/Eh8otDHbqTt1I=; b=bz5lv9GXu67K0UZ5ZBo/zLJMbksiMirzuNpLtXHrSjqKldsPiZYCokHawAUTG7XBhk vvh32N/8ZE45r/Bh1+kGhRqt0zER9ouCxR5hYy0VG6lDRpdevZAhvhV+GIQTt1nDkSH0 CqwMtAvHoZ9NHUsp4QbJix5wjmUrCs2L90K+4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :in-reply-to:user-agent; bh=2OVAiP3AbT5S3JQwppK7lDiLikNBY/Eh8otDHbqTt1I=; b=nvByowMVnocj+vclbTg6Csb2Wuv9yMSmc10K8IoPzGSuJ2KVu4ZHWVeO4/VH6wnhWF Nuzf+lvaePA9WcEuItDmcZqRWmhk77W124ohgBB8H0I2ziKV37yMO113KzBchk4AR7BF VYCpn8Mon3mSVBYnUpJPQWURZih7P1ZssX9w9gZGZlf0IzRregGjLsvjpnsfMxfBw2k0 Wuh9xg7uha5veEOd4N1yGI+xKGwa9oHWEtm3OtUI95OnBuTy0z2whVzeRz7hjcG7R4nk Jm0WsVrnJJMRcZaKPQVnDrdOm4KQmw3YOz74dIi1qa0S9f09UYxLiG9F/3WOrozwqpb1 kC/A== X-Gm-Message-State: APjAAAWYYtRn5iIk051qA+yyJW+l5KeZptrNmiDxSeQp3bhUzvhGaVr1 GKa/60sZjxZ9y2IIFf1XxpzqzBmxbD8= X-Google-Smtp-Source: APXvYqyfQKMMUcyTT9MY21mZncZ3r4leh9GCF7kd6VRE2wcGOWT+jU8bj311fhTZFjgSifdSy6nCAg== X-Received: by 2002:a17:906:9145:: with SMTP id y5mr51770439ejw.206.1558940942348; Mon, 27 May 2019 00:09:02 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:569e:0:3106:d637:d723:e855]) by smtp.gmail.com with ESMTPSA id w10sm2984595eds.88.2019.05.27.00.09.00 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 May 2019 00:09:01 -0700 (PDT) Date: Mon, 27 May 2019 09:08:58 +0200 From: Daniel Vetter To: LKML Cc: Intel Graphics Development , DRI Development , Daniel Vetter , Daniel Vetter , Greg Kroah-Hartman , Nicolas Pitre , Martin Hostettler , Adam Borowski , Mikulas Patocka Subject: Re: [PATCH 04/33] vt: More locking checks Message-ID: <20190527070858.GJ21222@phenom.ffwll.local> Mail-Followup-To: LKML , Intel Graphics Development , DRI Development , Daniel Vetter , Greg Kroah-Hartman , Nicolas Pitre , Martin Hostettler , Adam Borowski , Mikulas Patocka References: <20190524085354.27411-1-daniel.vetter@ffwll.ch> <20190524085354.27411-5-daniel.vetter@ffwll.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190524085354.27411-5-daniel.vetter@ffwll.ch> X-Operating-System: Linux phenom 4.14.0-3-amd64 User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, May 24, 2019 at 10:53:25AM +0200, Daniel Vetter wrote: > I honestly have no idea what the subtle differences between > con_is_visible, con_is_fg (internal to vt.c) and con_is_bound are. But > it looks like both vc->vc_display_fg and con_driver_map are protected > by the console_lock, so probably better if we hold that when checking > this. > > To do that I had to deinline the con_is_visible function. > > Signed-off-by: Daniel Vetter > Cc: Greg Kroah-Hartman > Cc: Nicolas Pitre > Cc: Martin Hostettler > Cc: Adam Borowski > Cc: Daniel Vetter > Cc: Mikulas Patocka Hi Greg, Do you want to merge this through your console tree or ack for merging through drm/fbdev? It's part of a bigger series, and I'd like to have more testing with this in our trees, but also ok to merge stand-alone if you prefer that. It's just locking checks and some docs. Same for the preceeding patch in this series here. Thanks, Daniel > --- > drivers/tty/vt/vt.c | 16 ++++++++++++++++ > include/linux/console_struct.h | 5 +---- > 2 files changed, 17 insertions(+), 4 deletions(-) > > diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c > index bc9813b14c58..a8988a085138 100644 > --- a/drivers/tty/vt/vt.c > +++ b/drivers/tty/vt/vt.c > @@ -3815,6 +3815,8 @@ int con_is_bound(const struct consw *csw) > { > int i, bound = 0; > > + WARN_CONSOLE_UNLOCKED(); > + > for (i = 0; i < MAX_NR_CONSOLES; i++) { > if (con_driver_map[i] == csw) { > bound = 1; > @@ -3826,6 +3828,20 @@ int con_is_bound(const struct consw *csw) > } > EXPORT_SYMBOL(con_is_bound); > > +/** > + * con_is_visible - checks whether the current console is visible > + * @vc: virtual console > + * > + * RETURNS: zero if not visible, nonzero if visible > + */ > +bool con_is_visible(const struct vc_data *vc) > +{ > + WARN_CONSOLE_UNLOCKED(); > + > + return *vc->vc_display_fg == vc; > +} > +EXPORT_SYMBOL(con_is_visible); > + > /** > * con_debug_enter - prepare the console for the kernel debugger > * @sw: console driver > diff --git a/include/linux/console_struct.h b/include/linux/console_struct.h > index ed798e114663..24d4c16e3ae0 100644 > --- a/include/linux/console_struct.h > +++ b/include/linux/console_struct.h > @@ -168,9 +168,6 @@ extern void vc_SAK(struct work_struct *work); > > #define CUR_DEFAULT CUR_UNDERLINE > > -static inline bool con_is_visible(const struct vc_data *vc) > -{ > - return *vc->vc_display_fg == vc; > -} > +bool con_is_visible(const struct vc_data *vc); > > #endif /* _LINUX_CONSOLE_STRUCT_H */ > -- > 2.20.1 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 04/33] vt: More locking checks Date: Mon, 27 May 2019 09:08:58 +0200 Message-ID: <20190527070858.GJ21222@phenom.ffwll.local> References: <20190524085354.27411-1-daniel.vetter@ffwll.ch> <20190524085354.27411-5-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com [IPv6:2a00:1450:4864:20::543]) by gabe.freedesktop.org (Postfix) with ESMTPS id C48F589861 for ; Mon, 27 May 2019 07:09:03 +0000 (UTC) Received: by mail-ed1-x543.google.com with SMTP id b8so25167192edm.11 for ; Mon, 27 May 2019 00:09:03 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20190524085354.27411-5-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: LKML Cc: Nicolas Pitre , Adam Borowski , Daniel Vetter , Intel Graphics Development , DRI Development , Martin Hostettler , Mikulas Patocka , Greg Kroah-Hartman , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBNYXkgMjQsIDIwMTkgYXQgMTA6NTM6MjVBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBJIGhvbmVzdGx5IGhhdmUgbm8gaWRlYSB3aGF0IHRoZSBzdWJ0bGUgZGlmZmVyZW5j ZXMgYmV0d2Vlbgo+IGNvbl9pc192aXNpYmxlLCBjb25faXNfZmcgKGludGVybmFsIHRvIHZ0LmMp IGFuZCBjb25faXNfYm91bmQgYXJlLiBCdXQKPiBpdCBsb29rcyBsaWtlIGJvdGggdmMtPnZjX2Rp c3BsYXlfZmcgYW5kIGNvbl9kcml2ZXJfbWFwIGFyZSBwcm90ZWN0ZWQKPiBieSB0aGUgY29uc29s ZV9sb2NrLCBzbyBwcm9iYWJseSBiZXR0ZXIgaWYgd2UgaG9sZCB0aGF0IHdoZW4gY2hlY2tpbmcK PiB0aGlzLgo+IAo+IFRvIGRvIHRoYXQgSSBoYWQgdG8gZGVpbmxpbmUgdGhlIGNvbl9pc192aXNp YmxlIGZ1bmN0aW9uLgo+IAo+IFNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52 ZXR0ZXJAaW50ZWwuY29tPgo+IENjOiBHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdraEBsaW51eGZv dW5kYXRpb24ub3JnPgo+IENjOiBOaWNvbGFzIFBpdHJlIDxuaWNvbGFzLnBpdHJlQGxpbmFyby5v cmc+Cj4gQ2M6IE1hcnRpbiBIb3N0ZXR0bGVyIDx0ZXh0c2hlbGxAdWNodXVqaW4uZGU+Cj4gQ2M6 IEFkYW0gQm9yb3dza2kgPGtpbG9ieXRlQGFuZ2JhbmQucGw+Cj4gQ2M6IERhbmllbCBWZXR0ZXIg PGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gQ2M6IE1pa3VsYXMgUGF0b2NrYSA8bXBhdG9ja2FA cmVkaGF0LmNvbT4KCkhpIEdyZWcsCgpEbyB5b3Ugd2FudCB0byBtZXJnZSB0aGlzIHRocm91Z2gg eW91ciBjb25zb2xlIHRyZWUgb3IgYWNrIGZvciBtZXJnaW5nCnRocm91Z2ggZHJtL2ZiZGV2PyBJ dCdzIHBhcnQgb2YgYSBiaWdnZXIgc2VyaWVzLCBhbmQgSSdkIGxpa2UgdG8gaGF2ZSBtb3JlCnRl c3Rpbmcgd2l0aCB0aGlzIGluIG91ciB0cmVlcywgYnV0IGFsc28gb2sgdG8gbWVyZ2Ugc3RhbmQt YWxvbmUgaWYgeW91CnByZWZlciB0aGF0LiBJdCdzIGp1c3QgbG9ja2luZyBjaGVja3MgYW5kIHNv bWUgZG9jcy4KClNhbWUgZm9yIHRoZSBwcmVjZWVkaW5nIHBhdGNoIGluIHRoaXMgc2VyaWVzIGhl cmUuCgpUaGFua3MsIERhbmllbAoKCj4gLS0tCj4gIGRyaXZlcnMvdHR5L3Z0L3Z0LmMgICAgICAg ICAgICB8IDE2ICsrKysrKysrKysrKysrKysKPiAgaW5jbHVkZS9saW51eC9jb25zb2xlX3N0cnVj dC5oIHwgIDUgKy0tLS0KPiAgMiBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCA0IGRl bGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3R0eS92dC92dC5jIGIvZHJpdmVy cy90dHkvdnQvdnQuYwo+IGluZGV4IGJjOTgxM2IxNGM1OC4uYTg5ODhhMDg1MTM4IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvdHR5L3Z0L3Z0LmMKPiArKysgYi9kcml2ZXJzL3R0eS92dC92dC5jCj4g QEAgLTM4MTUsNiArMzgxNSw4IEBAIGludCBjb25faXNfYm91bmQoY29uc3Qgc3RydWN0IGNvbnN3 ICpjc3cpCj4gIHsKPiAgCWludCBpLCBib3VuZCA9IDA7Cj4gIAo+ICsJV0FSTl9DT05TT0xFX1VO TE9DS0VEKCk7Cj4gKwo+ICAJZm9yIChpID0gMDsgaSA8IE1BWF9OUl9DT05TT0xFUzsgaSsrKSB7 Cj4gIAkJaWYgKGNvbl9kcml2ZXJfbWFwW2ldID09IGNzdykgewo+ICAJCQlib3VuZCA9IDE7Cj4g QEAgLTM4MjYsNiArMzgyOCwyMCBAQCBpbnQgY29uX2lzX2JvdW5kKGNvbnN0IHN0cnVjdCBjb25z dyAqY3N3KQo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woY29uX2lzX2JvdW5kKTsKPiAgCj4gKy8qKgo+ ICsgKiBjb25faXNfdmlzaWJsZSAtIGNoZWNrcyB3aGV0aGVyIHRoZSBjdXJyZW50IGNvbnNvbGUg aXMgdmlzaWJsZQo+ICsgKiBAdmM6IHZpcnR1YWwgY29uc29sZQo+ICsgKgo+ICsgKiBSRVRVUk5T OiB6ZXJvIGlmIG5vdCB2aXNpYmxlLCBub256ZXJvIGlmIHZpc2libGUKPiArICovCj4gK2Jvb2wg Y29uX2lzX3Zpc2libGUoY29uc3Qgc3RydWN0IHZjX2RhdGEgKnZjKQo+ICt7Cj4gKwlXQVJOX0NP TlNPTEVfVU5MT0NLRUQoKTsKPiArCj4gKwlyZXR1cm4gKnZjLT52Y19kaXNwbGF5X2ZnID09IHZj Owo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woY29uX2lzX3Zpc2libGUpOwo+ICsKPiAgLyoqCj4gICAq IGNvbl9kZWJ1Z19lbnRlciAtIHByZXBhcmUgdGhlIGNvbnNvbGUgZm9yIHRoZSBrZXJuZWwgZGVi dWdnZXIKPiAgICogQHN3OiBjb25zb2xlIGRyaXZlcgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xp bnV4L2NvbnNvbGVfc3RydWN0LmggYi9pbmNsdWRlL2xpbnV4L2NvbnNvbGVfc3RydWN0LmgKPiBp bmRleCBlZDc5OGUxMTQ2NjMuLjI0ZDRjMTZlM2FlMCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2xp bnV4L2NvbnNvbGVfc3RydWN0LmgKPiArKysgYi9pbmNsdWRlL2xpbnV4L2NvbnNvbGVfc3RydWN0 LmgKPiBAQCAtMTY4LDkgKzE2OCw2IEBAIGV4dGVybiB2b2lkIHZjX1NBSyhzdHJ1Y3Qgd29ya19z dHJ1Y3QgKndvcmspOwo+ICAKPiAgI2RlZmluZSBDVVJfREVGQVVMVCBDVVJfVU5ERVJMSU5FCj4g IAo+IC1zdGF0aWMgaW5saW5lIGJvb2wgY29uX2lzX3Zpc2libGUoY29uc3Qgc3RydWN0IHZjX2Rh dGEgKnZjKQo+IC17Cj4gLQlyZXR1cm4gKnZjLT52Y19kaXNwbGF5X2ZnID09IHZjOwo+IC19Cj4g K2Jvb2wgY29uX2lzX3Zpc2libGUoY29uc3Qgc3RydWN0IHZjX2RhdGEgKnZjKTsKPiAgCj4gICNl bmRpZiAvKiBfTElOVVhfQ09OU09MRV9TVFJVQ1RfSCAqLwo+IC0tIAo+IDIuMjAuMQo+IAoKLS0g CkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6 Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbA==