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] [day] [month] [year] [list]
Date:   Mon, 13 Jul 2020 16:15:42 -0500
From:   Larry Finger <Larry.Finger@...inger.net>
To:     Ivan Safonov <insafonov@...il.com>,
        Dan Carpenter <dan.carpenter@...cle.com>
Cc:     devel@...verdev.osuosl.org,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        linux-kernel@...r.kernel.org,
        Nishka Dasgupta <nishkadg.linux@...il.com>,
        Soumyajit Deb <debsoumyajit100@...il.com>
Subject: Re: [PATCH] staging: r8188eu: remove unused members of struct
 xmit_buf

On 7/13/20 1:28 PM, Ivan Safonov wrote:
> On 7/13/20 5:23 PM, Dan Carpenter wrote:
>> On Mon, Jul 13, 2020 at 04:16:07PM +0300, Dan Carpenter wrote:
>>> On Sun, Jul 12, 2020 at 03:38:21PM +0300, Ivan Safonov wrote:
>>>> Remove unused members of struct xmit_buf: alloc_sz, ff_hwaddr,
>>>> dma_transfer_addr, bpending and last.
>>>>
>>>> Signed-off-by: Ivan Safonov <insafonov@...il.com>
>>>> ---
>>>>   drivers/staging/rtl8188eu/include/rtw_xmit.h  | 5 -----
>>>>   drivers/staging/rtl8188eu/os_dep/xmit_linux.c | 1 -
>>>>   2 files changed, 6 deletions(-)
>>>>
>>>> diff --git a/drivers/staging/rtl8188eu/include/rtw_xmit.h 
>>>> b/drivers/staging/rtl8188eu/include/rtw_xmit.h
>>>> index 12d16e98176a..3c03987c81a1 100644
>>>> --- a/drivers/staging/rtl8188eu/include/rtw_xmit.h
>>>> +++ b/drivers/staging/rtl8188eu/include/rtw_xmit.h
>>>> @@ -193,14 +193,9 @@ struct xmit_buf {
>>>>       void *priv_data;
>>>>       u16 ext_tag; /*  0: Normal xmitbuf, 1: extension xmitbuf. */
>>>>       u16 flags;
>>>> -    u32 alloc_sz;
>>>>       u32  len;
>>>>       struct submit_ctx *sctx;
>>>> -    u32    ff_hwaddr;
>>>>       struct urb *pxmit_urb[8];
>>>> -    dma_addr_t dma_transfer_addr;    /* (in) dma addr for transfer_buffer */
>>>> -    u8 bpending[8];
>>>> -    int last[8];
>>>>   };
>>>>   struct xmit_frame {
>>>> diff --git a/drivers/staging/rtl8188eu/os_dep/xmit_linux.c 
>>>> b/drivers/staging/rtl8188eu/os_dep/xmit_linux.c
>>>> index 017e1d628461..61ced1160951 100644
>>>> --- a/drivers/staging/rtl8188eu/os_dep/xmit_linux.c
>>>> +++ b/drivers/staging/rtl8188eu/os_dep/xmit_linux.c
>>>> @@ -24,7 +24,6 @@ int rtw_os_xmit_resource_alloc(struct adapter *padapter,
>>>>           return _FAIL;
>>>>       pxmitbuf->pbuf = PTR_ALIGN(pxmitbuf->pallocated_buf, XMITBUF_ALIGN_SZ);
>>>
>>> Not related to this patch but kmalloc always returns data which is at
>>> least ARCH_KMALLOC_MINALIGN aligned which is never less than
>>> XMITBUF_ALIGN_SZ (4) so this is a no-op.
> 
> 4-byte alignment for 8-byte pointer (for example void *priv_data) on 64-bit arch 
> is an _error_. It’s good that kmalloc (and vmalloc) is already aligned to 8 bytes.
> 
>>
>> The alignment in the driver is pretty crazy because it's all unnecessary
>> and so complicated.  Every allocation is 4 bytes extra so we can align
>> it later.
>>
>> Also every buffer is called "pbuf" which stands for pointer to buffer.
>> "pallocated_buf" is not really useful either.
>>
>> I tried to look at this to see if we could change the alignment, and
>> it's complicated because of the naming and the alignment.
>>
>> regards,
>> dan carpenter
>>
> 
> I have already fixed 4 places with unnecessary alignment, but, alas, there is no 
> great desire to test them on real hardware.

I have now tested on real hardware and it works fine.

Acked-by: Larry Finger <Larry.Finger@...inger.net>

Larry

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ