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]
Message-ID: <0e064d93-546d-e999-e36a-499d37137ba4@ti.com>
Date:   Fri, 17 Jul 2020 20:39:53 +0300
From:   Grygorii Strashko <grygorii.strashko@...com>
To:     Murali Karicheri <m-karicheri2@...com>, <davem@...emloft.net>,
        <kuba@...nel.org>, <netdev@...r.kernel.org>,
        <linux-kernel@...r.kernel.org>, <nsekhar@...com>,
        <vinicius.gomes@...el.com>
Subject: Re: [PATCH 1/2 v2] net: hsr: fix incorrect lsdu size in the tag of
 HSR frames for small frames



On 17/07/2020 17:55, Murali Karicheri wrote:
> For small Ethernet frames with size less than minimum size 66 for HSR
> vs 60 for regular Ethernet frames, hsr driver currently doesn't pad the
> frame to make it minimum size. This results in incorrect LSDU size being
> populated in the HSR tag for these frames. Fix this by padding the frame
> to the minimum size applicable for HSR.
> 
> Signed-off-by: Murali Karicheri <m-karicheri2@...com>
> ---
>   no change from original version
>   Sending this bug fix ahead of PRP patch series as per comment
>   net/hsr/hsr_forward.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
>   Sending this bug fix ahead of PRP patch series as per comment
> diff --git a/net/hsr/hsr_forward.c b/net/hsr/hsr_forward.c
> index ed13760463de..e42fd356f073 100644
> --- a/net/hsr/hsr_forward.c
> +++ b/net/hsr/hsr_forward.c
> @@ -127,6 +127,9 @@ static void hsr_fill_tag(struct sk_buff *skb, struct hsr_frame_info *frame,
>   	int lane_id;
>   	int lsdu_size;
>   
> +	/* pad to minimum packet size which is 60 + 6 (HSR tag) */
> +	skb_put_padto(skb, ETH_ZLEN + HSR_HLEN);

It may fail.
And i worry that it might be not the right place to do that
(if packet is small it will be called for every copy of the packet).
May be it has to be done once when packet enters LRE device?

> +
>   	if (port->type == HSR_PT_SLAVE_A)
>   		lane_id = 0;
>   	else
> 

-- 
Best regards,
grygorii

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ