Skip to content

Commit 3c13725

Browse files
committed
netfilter: nf_tables: bail out if stateful expression provides no .clone
All existing NFT_EXPR_STATEFUL provide a .clone interface, remove fallback to copy content of stateful expression since this is never exercised and bail out if .clone interface is not defined. Signed-off-by: Pablo Neira Ayuso <[email protected]>
1 parent 65b3bd6 commit 3c13725

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

net/netfilter/nf_tables_api.c

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3274,14 +3274,13 @@ int nft_expr_clone(struct nft_expr *dst, struct nft_expr *src)
32743274
{
32753275
int err;
32763276

3277-
if (src->ops->clone) {
3278-
dst->ops = src->ops;
3279-
err = src->ops->clone(dst, src);
3280-
if (err < 0)
3281-
return err;
3282-
} else {
3283-
memcpy(dst, src, src->ops->size);
3284-
}
3277+
if (WARN_ON_ONCE(!src->ops->clone))
3278+
return -EINVAL;
3279+
3280+
dst->ops = src->ops;
3281+
err = src->ops->clone(dst, src);
3282+
if (err < 0)
3283+
return err;
32853284

32863285
__module_get(src->ops->type->owner);
32873286

0 commit comments

Comments
 (0)