Message ID | 962223cc9f1cd71814c66f563e35f53cc220f5ce.camel@yandex.ru (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] CIPSO: Fix unaligned memory access in cipso_v4_gentag_hdr | expand |
On Fri, Mar 5, 2021 at 3:05 AM Sergey Nazarov <s-nazarov@yandex.ru> wrote: > > We need to use put_unaligned when writing 32-bit DOI value > in cipso_v4_gentag_hdr to avoid unaligned memory access. > > v2: unneeded type cast removed as Ondrej Mosnacek suggested. > > Signed-off-by: Sergey Nazarov <s-nazarov@yandex.ru> > --- > net/ipv4/cipso_ipv4.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Acked-by: Paul Moore <paul@paul-moore.com> > diff --git a/net/ipv4/cipso_ipv4.c b/net/ipv4/cipso_ipv4.c > index 471d33a..6e59902 100644 > --- a/net/ipv4/cipso_ipv4.c > +++ b/net/ipv4/cipso_ipv4.c > @@ -1162,7 +1162,7 @@ static void cipso_v4_gentag_hdr(const struct > cipso_v4_doi *doi_def, > { > buf[0] = IPOPT_CIPSO; > buf[1] = CIPSO_V4_HDR_LEN + len; > - *(__be32 *)&buf[2] = htonl(doi_def->doi); > + put_unaligned_be32(doi_def->doi, &buf[2]); > } > > /** > -- > 1.8.3.1
diff --git a/net/ipv4/cipso_ipv4.c b/net/ipv4/cipso_ipv4.c index 471d33a..6e59902 100644 --- a/net/ipv4/cipso_ipv4.c +++ b/net/ipv4/cipso_ipv4.c @@ -1162,7 +1162,7 @@ static void cipso_v4_gentag_hdr(const struct cipso_v4_doi *doi_def, { buf[0] = IPOPT_CIPSO; buf[1] = CIPSO_V4_HDR_LEN + len; - *(__be32 *)&buf[2] = htonl(doi_def->doi); + put_unaligned_be32(doi_def->doi, &buf[2]); }
We need to use put_unaligned when writing 32-bit DOI value in cipso_v4_gentag_hdr to avoid unaligned memory access. v2: unneeded type cast removed as Ondrej Mosnacek suggested. Signed-off-by: Sergey Nazarov <s-nazarov@yandex.ru> --- net/ipv4/cipso_ipv4.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) /**