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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 27 May 2016 13:03:59 +0200
From:	Alexander Aring <aar@...gutronix.de>
To:	Stefan Schmidt <stefan@....samsung.com>, linux-wpan@...r.kernel.org
Cc:	kernel@...gutronix.de, marcel@...tmann.org,
	jukka.rissanen@...ux.intel.com, hannes@...essinduktion.org,
	mcr@...delman.ca, werner@...esberger.net,
	linux-bluetooth@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [RFC 11/12] 6lowpan: add support for getting short address


Hi,

On 05/27/2016 12:05 PM, Stefan Schmidt wrote:
> Hello.
> 
> On 23/05/16 21:22, Alexander Aring wrote:
>> In case of sending RA messages we need some way to get the short address
>> from an 802.15.4 6LoWPAN interface. This patch will add a temporary
>> debugfs entry for experimental userspace api.
>>
>> Signed-off-by: Alexander Aring<aar@...gutronix.de>
>> ---
>>   net/6lowpan/debugfs.c | 35 +++++++++++++++++++++++++++++++++++
>>   1 file changed, 35 insertions(+)
>>
>> diff --git a/net/6lowpan/debugfs.c b/net/6lowpan/debugfs.c
>> index acbaa3d..638ae59 100644
>> --- a/net/6lowpan/debugfs.c
>> +++ b/net/6lowpan/debugfs.c
>> @@ -245,6 +245,37 @@ static const struct file_operations lowpan_context_fops = {
>>       .release    = single_release,
>>   };
>>   +static int lowpan_short_addr_get(void *data, u64 *val)
>> +{
>> +    struct wpan_dev *wdev = data;
>> +
>> +    rtnl_lock();
>> +    *val = le16_to_cpu(wdev->short_addr);
>> +    rtnl_unlock();
>> +
>> +    return 0;
>> +}
>> +
>> +DEFINE_SIMPLE_ATTRIBUTE(lowpan_short_addr_fops, lowpan_short_addr_get,
>> +            NULL, "0x%04llx\n");
>> +
>> +static int lowpan_dev_debugfs_802154_init(const struct net_device *dev,
>> +                      struct lowpan_dev *ldev)
>> +{
>> +    struct dentry *dentry;
>> +
>> +    if (!lowpan_is_ll(dev, LOWPAN_LLTYPE_IEEE802154))
>> +        return 0;
>> +
>> +    dentry = debugfs_create_file("short_addr", 0444, ldev->iface_debugfs,
>> +                     lowpan_802154_dev(dev)->wdev->ieee802154_ptr,
>> +                     &lowpan_short_addr_fops);
>> +    if (!dentry)
>> +        return -EINVAL;
>> +
>> +    return 0;
>> +}
>> +
>>   int lowpan_dev_debugfs_init(struct net_device *dev)
>>   {
>>       struct lowpan_dev *ldev = lowpan_dev(dev);
>> @@ -272,6 +303,10 @@ int lowpan_dev_debugfs_init(struct net_device *dev)
>>               goto remove_root;
>>       }
>>   +    ret = lowpan_dev_debugfs_802154_init(dev, ldev);
>> +    if (ret < 0)
>> +        goto remove_root;
>> +
>>       return 0;
>>     remove_root:
> 
> Reviewed-by: Stefan Schmidt<stefan@....samsung.com>
> 

grml, I changed this patch now to have an 802154/short_addr directory
inside the root of 6lowpan debugfs entry.

This is because Michael Richardson wrote that other L2 has also
short_addr (any kind of second L2 address type), see [0].

Each of them has their own "constraints" e.g. 802.15.4 2-byte length, or
sometimes 1-byte. This constraint depends on L2, so I added 802154
subdir.

Nevertheless it's debugfs and we can still change it when introduce real
UAPI, but it will remind me to introduce it as setting which has some
kind of L2 dependency naming.

- Alex

[0] http://marc.info/?l=linux-netdev&m=146360758922131&w=4

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ