lkml.org 
[lkml]   [2015]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH net-next v2 1/2] hisilicon net: removes the once HANDEL_TX_MSG macro
Date
On Monday 12 October 2015 11:23:44 huangdaode wrote:
> + s += sprintf(s,
> + "\t\ttx_ring on %p:%u,%u,%u,%u,%u,%llu,%llu\n",
> + h->qs[i]->tx_ring.io_base,
> + h->qs[i]->tx_ring.buf_size,
> + h->qs[i]->tx_ring.desc_num,
> + h->qs[i]->tx_ring.max_desc_num_per_pkt,
> + h->qs[i]->tx_ring.max_raw_data_sz_per_desc,
> + h->qs[i]->tx_ring.max_pkt_size,
> + h->qs[i]->tx_ring.stats.sw_err_cnt,
> + h->qs[i]->tx_ring.stats.io_err_cnt);

There is actually a more significant problem with this code, which I
failed to notice when doing the original bugfix:

You have a sysfs interface here that exports internal data of the
device that should not be visible like this. One problem is that
the io_base is a kernel pointer that must not be visible to non-root
users (so we don't easily create an attack surface for exploits).
Another problem is that the format is not documented in Documentation/ABI/
and that you have multiple values in one sysfs file here.

It would probably be better to completely remove that sysfs interface, and
to use the ethtool netlink interface to export them.

Arnd


\
 
 \ /
  Last update: 2015-10-12 14:21    [W:0.108 / U:0.276 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site