查看问题详情

编号项目分类查看权限最后更新
0000076Anolis OS 8- cloud kernel 4.19public2021-06-07 11:23
报告员qwei_007 分派给geliwei-ali  
优先级normal严重性minor出现频率always
状态 assigned处理状况open 
标题0000076: [Anolis 8.2-RC2-4.19-x86/aarch64]shmget系统调用参数匹配错误
描述输入参数:
shmid = shmget(key, memsize, flag);
对应参数值:
key:393241, size: 135168, flag: 896

从tracepoint查看对应参数:
1044154 1044154 test sys_enter_shmget key=0 size=393241 flag=135168

可以看到系统调用得到的参数为:
key =0
size =393241
flag =135168

丢失参数:flag = 896

期望结果:
1172 1172 test sys_enter_shmget key=393241 size=135168 flag=896
问题重现步骤1、运行系统调用
2、通过tracepoint检查系统调用参数

具体步骤:
源文件:
test.c

#include <sys/types.h>
#include <sys/ipc.h>
#include <stdio.h>
#include <sys/shm.h>

int main(void)
{
    int key_id = 0;
    key_t key;
    unsigned long flag;
    unsigned long memsize;
    int shmid;

    key = ftok("/dev/null", key_id);

    flag = IPC_CREAT | SHM_R | SHM_W;
    memsize = 135168;
    printf("key:%lu, size: %lu, flag: %lu\n", key, memsize, flag);
    shmid = shmget(key, memsize, flag);
    if (shmid == -1)
    {
        perror("Error");
    }
    return 0;
}

Makefile:
CFLAGS=-g
test: test.c

bcc工具命令:
/usr/share/bcc/tools/trace 't:syscalls:sys_enter_shmget "key=%lu size=%lu flag=%lu", args->key, args->size, args->shmflg'

安装bcc工具:
yum install -y bcc-tools

标签8.2GA-210611

活动

这个问题没有注释信息

问题历史

日期 用户名 字段 更改
2021-04-23 14:16 qwei_007 新建问题
2021-04-28 14:35 jacobwang 分派给 => geliwei-ali
2021-04-28 14:35 jacobwang 状态 新建 => 已分配
2021-06-07 11:23 cherryliyumei 添加标签: 8.2GA-210611