Re: [PATCH net,v3] net/smc: prevent NULL pointer dereference in txopt_get
From: Jeongjun Park
Date: Tue Aug 13 2024 - 23:58:44 EST
Because clcsk_*, like clcsock, is initialized during the smc init process,
the code was moved to prevent clcsk_* from having an address like
inet_sk(sk)->pinet6, thereby preventing the previously initialized values
from being tampered with.
Additionally, if you don't need alignment in smc_inet6_prot , I'll modify
the patch to only add the necessary code without alignment.
Regards,
Jeongjun Park
>
>
> >
> > Also, regarding alignment, it's okay for me whether it's aligned or
> > not,But I checked the styles of other types of
> > structures and did not strictly require alignment, so I now feel that
> > there is no need to
> > modify so much to do alignment.
> >
> > D. Wythe
>
>
>
> >
> >>
> >>>> +
> >>>> static struct proto smc_inet6_prot = {
> >>>> - .name = "INET6_SMC",
> >>>> - .owner = THIS_MODULE,
> >>>> - .init = smc_inet_init_sock,
> >>>> - .hash = smc_hash_sk,
> >>>> - .unhash = smc_unhash_sk,
> >>>> - .release_cb = smc_release_cb,
> >>>> - .obj_size = sizeof(struct smc_sock),
> >>>> - .h.smc_hash = &smc_v6_hashinfo,
> >>>> - .slab_flags = SLAB_TYPESAFE_BY_RCU,
> >>>> + .name = "INET6_SMC",
> >>>> + .owner = THIS_MODULE,
> >>>> + .init = smc_inet_init_sock,
> >>>> + .hash = smc_hash_sk,
> >>>> + .unhash = smc_unhash_sk,
> >>>> + .release_cb = smc_release_cb,
> >>>> + .obj_size = sizeof(struct smc6_sock),
> >>>> + .h.smc_hash = &smc_v6_hashinfo,
> >>>> + .slab_flags = SLAB_TYPESAFE_BY_RCU,
> >>>> + .ipv6_pinfo_offset = offsetof(struct smc6_sock,
> >>>> np),
> >>>> };
> >>>>
> >>>> static const struct proto_ops smc_inet6_stream_ops = {
> >>>> --
> >
>