当前位置: 首页 > news >正文

城乡规划师证报考条件/广州seo推荐

城乡规划师证报考条件,广州seo推荐,360搜索首页网址是多少,wordpress nginx业务模块使用了内核的crypto API来对报文进行加解密。之前使用的是内核自带的 aes,des加解密方式。一切正常,模块的加载卸载也OK。(基于CentOS 3.10.0-514版本) 最近为了符合国家密码标准,增加了sm4加解密算法。并在业务模块初始化时&#x…

业务模块使用了内核的crypto API来对报文进行加解密。之前使用的是内核自带的 aes,des加解密方式。一切正常,模块的加载卸载也OK。(基于CentOS 3.10.0-514版本)

最近为了符合国家密码标准,增加了sm4加解密算法。并在业务模块初始化时,调用crypto_register_alg将sm4算法注册起来。

然后使用 crypto_alloc_cipher 创建加密cipher,crypto_cipher_setkey设置加密key。调用 crypto_cipher_encrypt_one 和 crypto_cipher_decrypt_one对报文进行加解密操作。

卸载模块时会crypto_free_cipher 释放cipher,并调用 crypto_unregister_alg注销算法。

看起来很合理。但是在卸载模块时出现了问题。模块无法卸载。

查看模块信息,发现索引值为1。

[root@localhost ~]# lsmod | grep bsnmod
bsnmod               3210005  1 
[root@localhost ~]# rmmod bsnmod
rmmod: ERROR: Module bsnmod is in use

内核卸载模块时会检查mod的 refcnt,如果不为0,不允许卸载。

SYSCALL_DEFINE2(delete_module, const char __user *, name_user,unsigned int, flags)
{
//.../* Never wait if forced. */if (!forced && module_refcount(mod) != 0)wait_for_zero_refcount(mod);
//...
}

那这个索引哪里来的呢。 正常情况下是0的。因为是添加了sm4算法后才这样的,我们自然就把怀疑点放在了sm4的相关操作上。

然后就发现
crypto_alloc_cipher–> crypto_alloc_base–>crypto_alg_mod_lookup–>crypto_larval_lookup–>crypto_alg_lookup–>__crypto_alg_lookup–>crypto_mod_get–>try_module_get–>增加模块索引

会增加算法alg所属模块的引用。而我们alg所属模块就是业务模块bsnmod。也就是说bsnmod的索引+1。

就是它导致了模块卸载失败。

究其原因,就是我们实现的sm4算法,crypto_register_alg注册时算法的模块是bsnmod业务模块,这样我们bsnmod模块中使用crypto_alloc_cipher 申请该算法的cipher时,会导致sm4算法模块的引用计数增加,也就是bsnmod的引用计数增加。

卸载模块时,虽然我们在exit函数中有 crypto_free_cipher 释放和crypto_unregister_alg注销操作。但是执行exit之前会有 模块引用计数判断,如果计数不为0,则直接报错退出,导致无法卸载模块。

看来sm4的算法不能放在bsnmod中进行使用,为了规避这个问题,sm4算法必须单独作为一个模块加载。

http://www.lbrq.cn/news/1605709.html

相关文章:

  • 全球疫情防控最新消息/东莞网络优化排名
  • 那个网站都有做莱的图片/企业网站的主要类型有
  • 无锡企业免费建站/2023年5月最新疫情
  • 桂林两江四湖景区/武汉seo网站优化
  • WordPress全站展示/58同城关键词怎么优化
  • 自驾游网站建设/湖南seo博客seo交流
  • 企业网站建设背景/seo网络推广报价
  • 做网站百度云/合肥网络公司
  • 永登网站设计与建设/怎么创建自己的网站
  • 公安备案网站老是通不过/媒体发稿推广
  • 建设自己的淘宝优惠券网站/搜索引擎优化搜索优化
  • 怎样做网站的源代码/成品网站源码
  • 在西部数码做的企业网站不能与阿里巴巴网站相连接/市场营销计划书模板
  • 外贸在线网站建站/网站引流推广
  • 怎么做网站的思维导图/旅游营销推广方案
  • 成都本地推广平台/百度快速seo优化
  • 劳务公司/seo怎么做优化排名
  • 网站阵地建设/seo网络优化公司
  • 襄阳大型网站建设/东莞网站建设做网站
  • 石嘴山网站建设公司/搜索网站关键词
  • 东莞新增确诊名单/seo搜索优化公司排名
  • 深南花园裙楼+网站建设/天津抖音seo
  • 手机建网站花钱吗/西昌seo快速排名
  • 建网站一年要多少钱/重庆seo公司怎么样
  • 旅游类网站建设受众分析/seo有哪些网站
  • 门户网站系统建设清单/黑帽seo论坛
  • 医疗网站搭建/郑州seo网站排名
  • 中文域名注册查询官网/百度搜索推广优化师工作内容
  • 百度网站怎样做/首码项目推广平台
  • 都哪些网站可以做gif/自己做的网站怎么推广
  • io_destroy系统调用及示例
  • 嵌入式学习-(李宏毅)机器学习(5)-day32
  • Transformer模型用于MT信号相关性预测与分析
  • C语言数据结构(7)贪吃蛇项目2.贪吃蛇项目实现
  • 知识点汇集(二)-misc
  • Navicat连接远程服务器上的mysql