Unverified Commit 0c199624 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!800 Backport CVEs

Merge Pull Request from: @zhangjialin11 
 
Pull new CVEs:
CVE-2023-32233
CVE-2023-2124 
 
Link:https://gitee.com/openeuler/kernel/pulls/800

 

Reviewed-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parents 1b5e968d da481a4f
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -943,6 +943,16 @@ xlog_recover_buf_commit_pass2(
	if (lsn && lsn != -1 && XFS_LSN_CMP(lsn, current_lsn) >= 0) {
		trace_xfs_log_recover_buf_skip(log, buf_f);
		xlog_recover_validate_buf_type(mp, bp, buf_f, NULLCOMMITLSN);

		/*
		 * We're skipping replay of this buffer log item due to the log
		 * item LSN being behind the ondisk buffer.  Verify the buffer
		 * contents since we aren't going to run the write verifier.
		 */
		if (bp->b_ops) {
			bp->b_ops->verify_read(bp);
			error = bp->b_error;
		}
		goto out_release;
	}

+1 −0
Original line number Diff line number Diff line
@@ -507,6 +507,7 @@ struct nft_set_binding {
};

enum nft_trans_phase;
void nf_tables_activate_set(const struct nft_ctx *ctx, struct nft_set *set);
void nf_tables_deactivate_set(const struct nft_ctx *ctx, struct nft_set *set,
			      struct nft_set_binding *binding,
			      enum nft_trans_phase phase);
+12 −0
Original line number Diff line number Diff line
@@ -4477,12 +4477,24 @@ static void nf_tables_unbind_set(const struct nft_ctx *ctx, struct nft_set *set,
	}
}

void nf_tables_activate_set(const struct nft_ctx *ctx, struct nft_set *set)
{
	if (nft_set_is_anonymous(set))
		nft_clear(ctx->net, set);

	set->use++;
}
EXPORT_SYMBOL_GPL(nf_tables_activate_set);

void nf_tables_deactivate_set(const struct nft_ctx *ctx, struct nft_set *set,
			      struct nft_set_binding *binding,
			      enum nft_trans_phase phase)
{
	switch (phase) {
	case NFT_TRANS_PREPARE:
		if (nft_set_is_anonymous(set))
			nft_deactivate_next(ctx->net, set);

		set->use--;
		return;
	case NFT_TRANS_ABORT:
+1 −1
Original line number Diff line number Diff line
@@ -233,7 +233,7 @@ static void nft_dynset_activate(const struct nft_ctx *ctx,
{
	struct nft_dynset *priv = nft_expr_priv(expr);

	priv->set->use++;
	nf_tables_activate_set(ctx, priv->set);
}

static void nft_dynset_destroy(const struct nft_ctx *ctx,
+1 −1
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@ static void nft_lookup_activate(const struct nft_ctx *ctx,
{
	struct nft_lookup *priv = nft_expr_priv(expr);

	priv->set->use++;
	nf_tables_activate_set(ctx, priv->set);
}

static void nft_lookup_destroy(const struct nft_ctx *ctx,
Loading