]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/3.18.140/bonding-show-full-hw-address-in-sysfs-for-slave-entr.patch
Linux 5.1.3
[thirdparty/kernel/stable-queue.git] / releases / 3.18.140 / bonding-show-full-hw-address-in-sysfs-for-slave-entr.patch
CommitLineData
92a94851
SL
1From ea69dad3d928d20b692447dd39333920ec30cd0b Mon Sep 17 00:00:00 2001
2From: Konstantin Khorenko <khorenko@virtuozzo.com>
3Date: Thu, 28 Mar 2019 13:29:21 +0300
4Subject: bonding: show full hw address in sysfs for slave entries
5
6[ Upstream commit 18bebc6dd3281955240062655a4df35eef2c46b3 ]
7
8Bond expects ethernet hwaddr for its slave, but it can be longer than 6
9bytes - infiniband interface for example.
10
11 # cat /sys/devices/<skipped>/net/ib0/address
12 80:00:02:08:fe:80:00:00:00:00:00:00:7c:fe:90:03:00:be:5d:e1
13
14 # cat /sys/devices/<skipped>/net/ib0/bonding_slave/perm_hwaddr
15 80:00:02:08:fe:80
16
17So print full hwaddr in sysfs "bonding_slave/perm_hwaddr" as well.
18
19Signed-off-by: Konstantin Khorenko <khorenko@virtuozzo.com>
20Signed-off-by: David S. Miller <davem@davemloft.net>
21Signed-off-by: Sasha Levin <sashal@kernel.org>
22---
23 drivers/net/bonding/bond_sysfs_slave.c | 4 +++-
24 1 file changed, 3 insertions(+), 1 deletion(-)
25
26diff --git a/drivers/net/bonding/bond_sysfs_slave.c b/drivers/net/bonding/bond_sysfs_slave.c
27index b01b0ce4d1be..cf9e9a3d4a48 100644
28--- a/drivers/net/bonding/bond_sysfs_slave.c
29+++ b/drivers/net/bonding/bond_sysfs_slave.c
30@@ -55,7 +55,9 @@ static SLAVE_ATTR_RO(link_failure_count);
31
32 static ssize_t perm_hwaddr_show(struct slave *slave, char *buf)
33 {
34- return sprintf(buf, "%pM\n", slave->perm_hwaddr);
35+ return sprintf(buf, "%*phC\n",
36+ slave->dev->addr_len,
37+ slave->perm_hwaddr);
38 }
39 static SLAVE_ATTR_RO(perm_hwaddr);
40
41--
422.20.1
43