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
| ||
|
Message-ID: <1f599b97-9242-3844-4372-1610948f4baf@quicinc.com> Date: Sun, 2 Oct 2022 16:30:30 -0700 From: Jeff Johnson <quic_jjohnson@...cinc.com> To: Joe Perches <joe@...ches.com>, Elliot Berman <quic_eberman@...cinc.com>, Bjorn Andersson <quic_bjorande@...cinc.com> CC: Murali Nalajala <quic_mnalajal@...cinc.com>, Trilok Soni <quic_tsoni@...cinc.com>, Srivatsa Vaddagiri <quic_svaddagi@...cinc.com>, Carl van Schaik <quic_cvanscha@...cinc.com>, Andy Gross <agross@...nel.org>, Dmitry Baryshkov <dmitry.baryshkov@...aro.org>, Jassi Brar <jassisinghbrar@...il.com>, <linux-arm-kernel@...ts.infradead.org>, "Mark Rutland" <mark.rutland@....com>, Lorenzo Pieralisi <lorenzo.pieralisi@....com>, Sudeep Holla <sudeep.holla@....com>, "Marc Zyngier" <maz@...nel.org>, Rob Herring <robh+dt@...nel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@...aro.org>, Jonathan Corbet <corbet@....net>, Will Deacon <will@...nel.org>, Catalin Marinas <catalin.marinas@....com>, Arnd Bergmann <arnd@...db.de>, Greg Kroah-Hartman <gregkh@...uxfoundation.org>, <devicetree@...r.kernel.org>, <linux-doc@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>, <linux-kernel@...r.kernel.org> Subject: Re: [PATCH v4 10/14] gunyah: sysfs: Add node to describe supported features On 9/29/2022 12:36 AM, Joe Perches wrote: > On Wed, 2022-09-28 at 12:56 -0700, Elliot Berman wrote: >> Add a sysfs node to list the features that the Gunyah hypervisor and >> Linux supports. For now, Linux support cspace (capability IDs) and >> message queues, so only report those.. > [] >> diff --git a/drivers/virt/gunyah/sysfs.c b/drivers/virt/gunyah/sysfs.c > [] >> @@ -25,9 +25,24 @@ static ssize_t variant_show(struct kobject *kobj, struct kobj_attribute *attr, c >> } >> static struct kobj_attribute variant_attr = __ATTR_RO(variant); >> >> +static ssize_t features_show(struct kobject *kobj, struct kobj_attribute *attr, char *buffer) >> +{ >> + int len = 0; >> + >> + if (GH_IDENTIFY_PARTITION_CSPACE(gunyah_api.flags)) >> + len += sysfs_emit_at(buffer, len, "cspace "); >> + if (GH_IDENTIFY_MSGQUEUE(gunyah_api.flags)) >> + len += sysfs_emit_at(buffer, len, "message-queue "); >> + >> + len += sysfs_emit_at(buffer, len, "\n"); >> + return len; >> +} > > It's generally nicer to avoid unnecessary output spaces. > > Perhaps: > > { > int len = 0; > > if (GH_IDENTIFY_PARTITION_CSPACE(gunyah_api.flags)) > len += sysfs_emit_at(buffer, len, "cspace"); > if (GH_IDENTIFY_MSGQUEUE(gunyah_api.flags)) { > if (len) > len += sysfs_emit_at(buffer, len, " "); > len += sysfs_emit_at(buffer, len, "message-queue"); > } > > len += sysfs_emit_at(buffer, len, "\n"); > > return len; > } > that approach seems ok for 2 features, but imo doesn't scale for more. I like the original code with one exception: if (GH_IDENTIFY_PARTITION_CSPACE(gunyah_api.flags)) len += sysfs_emit_at(buffer, len, "cspace "); if (GH_IDENTIFY_MSGQUEUE(gunyah_api.flags)) len += sysfs_emit_at(buffer, len, "message-queue "); /* overwrite last trailing space */ if (len) len--; len += sysfs_emit_at(buffer, len, "\n"); return len;
Powered by blists - more mailing lists