export_symbol的使用

export_symbol的使用       问题是这样的,前几天师妹需要在内核模块中使用tasklist_lock来操作保护内核进程链表,由于tasklist_lock如果要在模块中使用就必须把它填充到内核符号表里面,就要使用export_symbol,她在sched.h里面就是tasklist_lock声明的地方,添加export_symbol(tasklist_lock),在编译的时候总是出现undefinedsymb

大家好,又见面了,我是你们的朋友全栈君。        问题是这样的,前几天师妹需要在内核模块中使用tasklist_lock来操作保护内核进程链表,由于tasklist_lock如果要在模块中使用就必须把它填充到内核符号表里面,就要使用export_symbol,她在sched.h里面就是tasklist_lock声明的地方,添加export_symbol(tasklist_lock),在编译的时候总是出现undefined symbols ,在/proc/kallsyms里面也没找到tasklist_lock,说明没有export成功,当时没找到原因,后来仔细想了下,是因为export_symbol的位置错了。由于全局变量在声明的时候没有分配地址,所以在声明的时候肯定不行,后来在tasklist_lock定义的地方添加export_symbol(就是在fork.c中),问题解决,最后还是要提醒下在使用tasklist_lock,在使用的文件里面先对它进行extern声明。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160414.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • shell批量新建文件

    shell批量新建文件shell批量新建文件,文件名依次为a1,a2……a100#!/bin/bashPath=/home/yifan/maying/shell/case2[-d$Path]||mkdir$Pathint=1while(($int<=100))dofilename="a"$int""touch$Path/$filenamelet"int++"do…

    2022年6月22日
    68
  • 在ubuntu20.04中安装clang和make_uos怎么安装软件

    在ubuntu20.04中安装clang和make_uos怎么安装软件申明:由于项目需要用到ros环境,所以在此记录一下ubuntu20.04下的ROSNoetic安装过程,全程顺序执行一次性安装成功,当然执行下一步的时候上一步必须执行成功,在网络不好的时候可以多尝试几次,以下是我亲自实践的过程,现在分享出来与大家一起交流学习,这个过程全部参考官方安装步骤,此处给出官方链接http://wiki.ros.org/noetic/Installation/Ubuntu。系统要求:Ubuntu20.04ROS安装版本:Noetic安装步骤:1、添加source

    2025年10月18日
    2
  • 2020最新版MySQL数据库面试题(一)

    2020最新版MySQL数据库面试题(一)

    2022年2月14日
    41
  • Pytest(8)parametrize参数化[通俗易懂]

    Pytest(8)parametrize参数化[通俗易懂]前言当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。官方示

    2022年7月28日
    25
  • mariadb安装教程linux,CentOS 7下MariaDB10.0.14安装配置步骤详解

    mariadb安装教程linux,CentOS 7下MariaDB10.0.14安装配置步骤详解系统环境:CentOS7MariaDB版本:MariaDB10.0.14下载地址:http://mirrors.neusoft.edu.cn/mariadb/mariadb-10.0.14/source/mariadb-10.0.14.tar.gz其他包地址:https://downloads.mariadb.org/添加一个mysql用户useraddmysql开始编译安装MariaDBw…

    2022年6月11日
    41
  • java三大框架要学多久_新手学习SSH三大框架的几点建议[通俗易懂]

    java三大框架要学多久_新手学习SSH三大框架的几点建议[通俗易懂]说起三大框架,目前人们常用的是SSM,有人会认为SSH框架已经落后被淘汰了,其实这样说也不完全对。它毕竟实现了经典的MVC框架的基本功能,在有些项目还会用到。正因为用得不多,反而会出现很多问题。同时SSH在教学中也会被经常用到,笔者觉得SSH在教学中存在的意义在于能够帮助学习者理解经典MVC框架的原理。下面就简单谈一谈作为新手如何学习SSH。所谓SSH展开来讲包括了struts、spring、hi…

    2022年7月7日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号