Received: by 2002:a05:6a10:2785:0:0:0:0 with SMTP id ia5csp274363pxb; Thu, 14 Jan 2021 05:47:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJzMX2rv4RakcELTyJSrgQig9oXLfQq7ViKleHJfntZLT2A+UoMOJdBoiIzKQBYxTwvvlYTI X-Received: by 2002:a05:6402:1383:: with SMTP id b3mr5606742edv.100.1610632051593; Thu, 14 Jan 2021 05:47:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1610632051; cv=none; d=google.com; s=arc-20160816; b=eFHNIGgrompx4nj+VQSqma6yGLnn+mfLF0WPETlBB772FI8kJV48SAVZjT0o9f+Gd/ SBGE1PKjFhDlyLeYaTgF3s7K7Rh2vbW2+LZ4kURlAEVSjvKUaOFlTxYvLTqfIRhJJZOR 0ADFted4iSw2OY3BXeSqdFbqAmL2hdcZcKz8Z8lvLqYzAg8LNP3j6LNriTwk3JP37ioO Ur3Fdqk5WLYLqFPNcbKPsPCvgAfKtUWiWrbHJpt5QOxkwlGKfO8lvU8kDiMjqUHB4NIA g5Ys2JZ9dVtwc7+ggwdouyISEwLAJ+yZo2+UR9qB44idajdUQOClIYbI1Y5/zagVMTqz mz1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=wEM4+eC5FTRQQAz9JZ0V8IgfQO3TbHC+IxWZ4vla7Ho=; b=gqBXRbwQJ4+jHEDBdl33XUSHqXbmuBqRP+BVbnARBIvPSqAL/lfoAJjv5YpEQRY8sC MNQR9kJegpfVS+NwjzJ17r7/iEXTtr2wg2Yed9wW+HiIaAeyBaeV8t3I9u7hFJNPKepZ bzkm/bD/nSV9TmlinhQBBdrpOmPxXs5E4WCEWGVXOtjncC7KhzZw7mW+u3E1gnT2mG+g qYlPpvgFDOCOvxM1qzoSWKoWZe9ONeFfm97VRz6fU5uPQeQYWgEbwuGG5TKr9CsF+6Tq ZcdWgDtwZlG4eYbCTGVU0pFV4hOqkBSP5sC6zbZZzmP2g0YOvOOdHgcpHTAw1dAlNTZc QZYQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id go33si2383511ejc.40.2021.01.14.05.47.06; Thu, 14 Jan 2021 05:47:31 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728005AbhANNpk (ORCPT + 99 others); Thu, 14 Jan 2021 08:45:40 -0500 Received: from youngberry.canonical.com ([91.189.89.112]:57667 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727333AbhANNpj (ORCPT ); Thu, 14 Jan 2021 08:45:39 -0500 Received: from ip5f5af0a0.dynamic.kabel-deutschland.de ([95.90.240.160] helo=wittgenstein) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1l02vn-0003FL-4a; Thu, 14 Jan 2021 13:44:55 +0000 Date: Thu, 14 Jan 2021 14:44:53 +0100 From: Christian Brauner To: Niklas Schnelle , Greg Kroah-Hartman Cc: Bjorn Helgaas , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org, Pierre Morel , Peter Oberparleiter , Viktor Mihajlovski Subject: Re: [RFC 1/1] s390/pci: expose UID checking state in sysfs Message-ID: <20210114134453.bkfik4zjt5ehz6d5@wittgenstein> References: <20210113185500.GA1918216@bjorn-Precision-5520> <675aa466-59ea-cf8a-6eec-caa6478ba4cd@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <675aa466-59ea-cf8a-6eec-caa6478ba4cd@linux.ibm.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 14, 2021 at 02:20:10PM +0100, Niklas Schnelle wrote: > > > On 1/13/21 7:55 PM, Bjorn Helgaas wrote: > > On Wed, Jan 13, 2021 at 08:47:58AM +0100, Niklas Schnelle wrote: > >> On 1/12/21 10:50 PM, Bjorn Helgaas wrote: > >>> On Mon, Jan 11, 2021 at 10:38:57AM +0100, Niklas Schnelle wrote: > >>>> We use the UID of a zPCI adapter, or the UID of the function zero if > >>>> there are multiple functions in an adapter, as PCI domain if and only if > >>>> UID Checking is turned on. > >>>> Otherwise we automatically generate domains as devices appear. > >>>> > >>>> The state of UID Checking is thus essential to know if the PCI domain > >>>> will be stable, yet currently there is no way to access this information > >>>> from userspace. > >>>> So let's solve this by showing the state of UID checking as a sysfs > >>>> attribute in /sys/bus/pci/uid_checking > > > >>>> +/* Global zPCI attributes */ > >>>> +static ssize_t uid_checking_show(struct kobject *kobj, > >>>> + struct kobj_attribute *attr, char *buf) > >>>> +{ > >>>> + return sprintf(buf, "%i\n", zpci_unique_uid); > >>>> +} > >>>> + > >>>> +static struct kobj_attribute sys_zpci_uid_checking_attr = > >>>> + __ATTR(uid_checking, 0444, uid_checking_show, NULL); > >>> > >>> Use DEVICE_ATTR_RO instead of __ATTR. > >> > >> It's my understanding that DEVICE_ATTR_* is only for > >> per device attributes. This one is global for the entire > >> Z PCI. I just tried with BUS_ATTR_RO instead > >> and that works but only if I put the attribute at > >> /sys/bus/pci/uid_checking instead of with a zpci > >> subfolder. This path would work for us too, we > >> currently don't have any other global attributes > >> that we are planning to expose but those could of > >> course come up in the future. > > > > Ah, I missed the fact that this is a kobj_attribute, not a > > device_attribute. Maybe KERNEL_ATTR_RO()? Very few uses so far, but > > seems like it might fit? > > > > Bjorn > > > > KERNEL_ATTR_* is currently not exported in any header. After > adding it to include/linuc/sysfs.h it indeed works perfectly. > Adding Christian Brauner as suggested by get_maintainers for > their opinion. I'm of course willing to provide a patch Hey Niklas et al. :) I think this will need input from Greg. He should be best versed in sysfs attributes. The problem with KERNEL_ATTR_* to me seems that it's supposed to be kernel internal. Now, that might just be a matter of renaming the macro but let's see whether Greg has any better idea or more questions. :) Christian