Re: [PATCH] drivers/net/slip: prevent data alignment fault

William Tambe <[email protected]>
Newsgroups gmane.linux.ppp
Message-ID <CAF8i9mOo2CRy-jt=q_xDtYqQ6UDsBB=K6ZeGRLxdina-aC=a=Q@mail.gmail.com>
Please, disregard patch, as it is incorrect; resending correct patch
shortly with better explanation of the fix.

On Sun, Oct 1, 2023 at 5:19 PM William Tambe <[email protected]> wrote:
>
> From c630b0aea59c1dced626c9da95fd71033763d606 Mon Sep 17 00:00:00 2001
> From: William Tambe <[email protected]>
> Date: Sun, 1 Oct 2023 17:17:03 -0500
> Subject: [PATCH] drivers/net/slip: prevent data alignment fault
>
> ---
>  drivers/net/slip/slhc.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/slip/slhc.c b/drivers/net/slip/slhc.c
> index ba93bab948e0..78b07c46fe08 100644
> --- a/drivers/net/slip/slhc.c
> +++ b/drivers/net/slip/slhc.c
> @@ -459,7 +459,8 @@ slhc_compress(struct slcompress *comp, unsigned
> char *icp, int isize,
>          *cpp = ocp;
>          *cp++ = changes;
>      }
> -    *(__sum16 *)cp = csum;
> +    *cp++ = (char)(csum&0xff);
> +    *cp++ = (char)((csum>>8)&0xff);
>      cp += 2;
>  /* deltaS is now the size of the change section of the compressed header */
>      memcpy(cp,new_seq,deltaS);    /* Write list of deltas */
> @@ -534,7 +535,7 @@ slhc_uncompress(struct slcompress *comp, unsigned
> char *icp, int isize)
>      thp = &cs->cs_tcp;
>      ip = &cs->cs_ip;
>
> -    thp->check = *(__sum16 *)cp;
> +    thp->check = (((__sum16)*cp)|(((__sum16)*(cp+1))<<8));
>      cp += 2;
>
>      thp->psh = (changes & TCP_PUSH_BIT) ? 1 : 0;
> --
> 2.34.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.