Subject: Re: Fwd: Re: [PATCH net-next v2 1/2] hisilicon net: removes the once HANDEL_TX_MSG macro

From: Kenneth Lee <[email-masked]>
Date: Tue, 13 Oct 2015 21:27:12 +0800

On Tue, Oct 13, 2015 at 03:06:21PM +0800, huangdaode wrote:
> Date: Tue, 13 Oct 2015 15:06:21 +0800
> From: huangdaode <[email-masked]>
> To: Kenneth Lee <[email-masked]>
> Subject: Fwd: Re: [PATCH net-next v2 1/2] hisilicon net: removes the once
>  HANDEL_TX_MSG macro
> Message-ID: <[email-masked]>
> 
>    -------- Forwarded Message --------
> 
>     Subject: Re: [PATCH net-next v2 1/2] hisilicon net: removes the once      
>              HANDEL_TX_MSG macro                                              
>        Date: Mon, 12 Oct 2015 13:59:39 +0200                                  
>        From: Arnd Bergmann <[email-masked]>                                    
>          To: huangdaode <[email-masked]>                            
>          CC: [email-masked], [email-masked], [email-masked],    
>              [email-masked], [email-masked],                 
>              [email-masked], [email-masked],                     
>              [email-masked], [email-masked],              
>              [email-masked], [email-masked]              
> 
>  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
> 
>  .

Hi, Arnd,

Thank you for the comment. Yes, the io_base is a security problem, we
will fix it in coming patch soon.

But can we keep the sysfs? The interface from hnae is not used only by
ethernet driver but also by Open Data Plane driver. If we more it to
upper layers. Both drivers will have the same logic. 

So how about we just add documents to Documention/ABI?

Thanks
-- 
			-Kenneth Lee (Hisilicon)