]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
IB/ipoib: Expose acl_enable sysfs file as read only
authorYuval Shaia <yuval.shaia@oracle.com>
Sun, 30 Apr 2017 04:13:50 +0000 (00:13 -0400)
committerChuck Anderson <chuck.anderson@oracle.com>
Mon, 29 May 2017 00:13:51 +0000 (17:13 -0700)
This file can be used to determine if ipoib supports IB-ACL.
In debug mode all sysfs files are exposed in full mode.
In non-debug mode only acl_enable is exposed but in real only mode.

Orabug: 25993951

Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
Reviewed-by: Mukesh Kacker <mukesh.kacker@oracle.com>
drivers/infiniband/ulp/ipoib/ipoib_acl.c
drivers/infiniband/ulp/ipoib/ipoib_main.c
drivers/infiniband/ulp/ipoib/ipoib_vlan.c

index 087f0d2e137fc7ed15779f41325008c8624b25df..7b119583959fca329237b39646f8d2624ed691c2 100644 (file)
@@ -312,9 +312,16 @@ int ipoib_create_acl_sysfs(struct net_device *dev)
 {
        int rc = 0;
 
+       if (!ipoib_debug_level)
+               dev_attr_acl_enabled.attr.mode = 0444;
+
        rc = device_create_file(&dev->dev, &dev_attr_acl_enabled);
        if (rc)
                return rc;
+
+       if (!ipoib_debug_level)
+               return 0;
+
        rc = device_create_file(&dev->dev, &dev_attr_add_acl);
        if (rc)
                return rc;
index efa72702038e51b2858272960c5bf1a81b872c16..9d2f5b2f5fa9c28aaa59c7893dcd4ebb86a24acb 100644 (file)
@@ -1904,9 +1904,8 @@ static struct net_device *ipoib_add_port(const char *format,
                goto sysfs_failed;
        if (device_create_file(&priv->dev->dev, &dev_attr_delete_named_child))
                goto sysfs_failed;
-       if (ipoib_debug_level)
-               if (ipoib_create_acl_sysfs(priv->dev))
-                       goto sysfs_failed;
+       if (ipoib_create_acl_sysfs(priv->dev))
+               goto sysfs_failed;
 
        return priv->dev;
 
index b947ef9a8c4f8bbb40bac39b5b27d67bc6240cbf..6017bff91676c5677cb28b93bbb9f51f8df6de7a 100644 (file)
@@ -101,9 +101,8 @@ int __ipoib_vlan_add(struct ipoib_dev_priv *ppriv, struct ipoib_dev_priv *priv,
                if (device_create_file(&priv->dev->dev, &dev_attr_parent))
                        goto sysfs_failed;
 
-               if (ipoib_debug_level)
-                       if (ipoib_create_acl_sysfs(priv->dev))
-                               goto sysfs_failed;
+               if (ipoib_create_acl_sysfs(priv->dev))
+                       goto sysfs_failed;
        }
 
        priv->child_type  = type;