From a2de8d2c5ced8b1b3035783a0307dec001922f57 Mon Sep 17 00:00:00 2001 From: yang1946 Date: Wed, 15 May 2024 09:53:41 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=9E=E5=BC=80=E5=8F=91=E8=80=85=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E4=B8=8B=E5=BC=80=E6=9C=BA=E5=90=8E=E4=B8=8B=E5=8F=91?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E8=80=85=E8=AF=81=E4=B9=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yang1946 --- code_sign/code_sign_ioctl.c | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/code_sign/code_sign_ioctl.c b/code_sign/code_sign_ioctl.c index 18767cb..16e640c 100644 --- a/code_sign/code_sign_ioctl.c +++ b/code_sign/code_sign_ioctl.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later /* - * Copyright (c) 2023 Huawei Device Co., Ltd. + * Copyright (c) 2023-2024 Huawei Device Co., Ltd. */ #include @@ -255,19 +255,11 @@ copy_source_failed: int code_sign_check_code(int code) { - int is_dev_mode = 0; - if (code > RELEASE_CODE_START && code < RELEASE_CODE_END) - return is_dev_mode; - - // developer mode - if (get_developer_mode_state() == STATE_ON) { - code_sign_log_debug("developer mode on"); - is_dev_mode = 1; - } + return 0; - if (is_dev_mode && (code > DEBUG_CODE_START && code < DEBUG_CODE_END)) - return is_dev_mode; + if (code > DEBUG_CODE_START && code < DEBUG_CODE_END) + return 1; code_sign_log_error("cert type %x is invalid", code); return -EINVAL; @@ -294,10 +286,12 @@ long code_sign_ioctl(struct file *filp, unsigned int cmd, unsigned long args) if (ret < 0) return ret; - if (ret) { + if (ret == 1) { // developer cert - code_sign_log_debug("add developer cert"); - ret = cert_chain_insert(&dev_cert_chain_tree, source); + if (get_developer_mode_state() == STATE_ON) { + code_sign_log_debug("add developer cert"); + ret = cert_chain_insert(&dev_cert_chain_tree, source); + } } else { code_sign_log_debug("add release cert"); ret = cert_chain_insert(&cert_chain_tree, source); @@ -318,10 +312,12 @@ long code_sign_ioctl(struct file *filp, unsigned int cmd, unsigned long args) if (ret < 0) return ret; - if (ret) { + if (ret == 1) { // developer cert - code_sign_log_debug("remove developer cert"); - ret = cert_chain_remove(&dev_cert_chain_tree, source); + if (get_developer_mode_state() == STATE_ON) { + code_sign_log_debug("remove developer cert"); + ret = cert_chain_remove(&dev_cert_chain_tree, source); + } } else { code_sign_log_debug("remove release cert"); ret = cert_chain_remove(&cert_chain_tree, source); -- Gitee