From: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Parav Pandit <parav-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Subject: [PATCH rdma-next v1 3/6] IB/core: Fix unable to change lifespan entry for hw_counters
Date: Mon, 16 Oct 2017 08:45:14 +0300 [thread overview]
Message-ID: <20171016054517.30643-4-leon@kernel.org> (raw)
In-Reply-To: <20171016054517.30643-1-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
From: Parav Pandit <parav-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
This patch fixes the case where 'lifespan' entry of the hw_counters
is not writable. Currently write callback is not exposed for for
the hw_counters sysfs operation. Due to this, modifying lifespan
value results into permission denied error in below example.
echo 10 > /sys/class/infiniband/mlx5_0/ports/1/hw_counters/lifespan
-bash: /sys/class/infiniband/mlx5_0/ports/1/hw_counters/lifespan:
Permission denied
This patch adds the hook to modify any attribute which implements
store() operation.
Fixes: b40f4757daa1 ("IB/core: Make device counter infrastructure dynamic")
Signed-off-by: Parav Pandit <parav-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Reviewed-by: Mark Bloch <markb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Signed-off-by: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
---
drivers/infiniband/core/sysfs.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c
index abc5ab581f82..e30d86fa1855 100644
--- a/drivers/infiniband/core/sysfs.c
+++ b/drivers/infiniband/core/sysfs.c
@@ -108,8 +108,22 @@ static ssize_t port_attr_show(struct kobject *kobj,
return port_attr->show(p, port_attr, buf);
}
+static ssize_t port_attr_store(struct kobject *kobj,
+ struct attribute *attr,
+ const char *buf, size_t count)
+{
+ struct port_attribute *port_attr =
+ container_of(attr, struct port_attribute, attr);
+ struct ib_port *p = container_of(kobj, struct ib_port, kobj);
+
+ if (!port_attr->store)
+ return -EIO;
+ return port_attr->store(p, port_attr, buf, count);
+}
+
static const struct sysfs_ops port_sysfs_ops = {
- .show = port_attr_show
+ .show = port_attr_show,
+ .store = port_attr_store
};
static ssize_t gid_attr_show(struct kobject *kobj,
--
2.14.2
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2017-10-16 5:45 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-16 5:45 [PATCH rdma-next v1 0/6] RDMA core and mlx5 fixes and refactoring for 4.15 Leon Romanovsky
[not found] ` <20171016054517.30643-1-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-10-16 5:45 ` [PATCH rdma-next v1 1/6] IB/core: Introduce and use rdma_create_user_ah Leon Romanovsky
2017-10-16 5:45 ` [PATCH rdma-next v1 2/6] IB: Let ib_core resolve destination mac address Leon Romanovsky
2017-10-16 5:45 ` Leon Romanovsky [this message]
2017-10-16 5:45 ` [PATCH rdma-next v1 4/6] IB/core: Fix use workqueue without WQ_MEM_RECLAIM Leon Romanovsky
[not found] ` <20171016054517.30643-5-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-10-16 17:24 ` Jonathan Toppins
[not found] ` <4f08314e-fd5d-c108-438a-d9e83821e4b3-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-10-16 18:32 ` Leon Romanovsky
2017-10-18 9:58 ` Sagi Grimberg
[not found] ` <3c717580-d1fe-943d-8df2-5d4858244e9b-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2017-10-18 14:21 ` Leon Romanovsky
2017-10-16 5:45 ` [PATCH rdma-next v1 5/6] IB/core: Take into account optional UDR, XRC headers and mandatory ICRC for RoCE MTU Leon Romanovsky
[not found] ` <20171016054517.30643-6-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-10-17 11:12 ` Leon Romanovsky
[not found] ` <20171017111228.GO2106-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-10-18 15:13 ` Doug Ledford
2017-10-16 5:45 ` [PATCH rdma-next v1 6/6] IB/mlx5: Use ARRAY_SIZE Leon Romanovsky
2017-10-18 15:25 ` [PATCH rdma-next v1 0/6] RDMA core and mlx5 fixes and refactoring for 4.15 Doug Ledford
[not found] ` <1508340309.46071.76.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-10-18 15:40 ` Leon Romanovsky
[not found] ` <20171018154006.GS2106-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-10-18 16:20 ` Doug Ledford
[not found] ` <1508343627.2951.4.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-10-18 16:35 ` Parav Pandit
2017-10-18 20:41 ` Leon Romanovsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171016054517.30643-4-leon@kernel.org \
--to=leon-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=parav-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.