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 <tambewilliam@xxxxxxxxx> wrote: > > From c630b0aea59c1dced626c9da95fd71033763d606 Mon Sep 17 00:00:00 2001 > From: William Tambe <tambewilliam@xxxxxxxxx> > 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