mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
xfrm: set err and extack on failure to create pcpu SA
xfrm_state_construct can fail without setting an error if the
requested pcpu_num value is too big. Set err and add an extack message
to avoid confusing userspace.
Fixes: 1ddf9916ac ("xfrm: Add support for per cpu xfrm state handling.")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
This commit is contained in:
committed by
Steffen Klassert
parent
7f02285764
commit
1dcf617bec
@@ -947,8 +947,11 @@ static struct xfrm_state *xfrm_state_construct(struct net *net,
|
|||||||
|
|
||||||
if (attrs[XFRMA_SA_PCPU]) {
|
if (attrs[XFRMA_SA_PCPU]) {
|
||||||
x->pcpu_num = nla_get_u32(attrs[XFRMA_SA_PCPU]);
|
x->pcpu_num = nla_get_u32(attrs[XFRMA_SA_PCPU]);
|
||||||
if (x->pcpu_num >= num_possible_cpus())
|
if (x->pcpu_num >= num_possible_cpus()) {
|
||||||
|
err = -ERANGE;
|
||||||
|
NL_SET_ERR_MSG(extack, "pCPU number too big");
|
||||||
goto error;
|
goto error;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
err = __xfrm_init_state(x, extack);
|
err = __xfrm_init_state(x, extack);
|
||||||
|
|||||||
Reference in New Issue
Block a user