Commit Graph

627 Commits

Author SHA1 Message Date
chenwei 101a55d119 fix: codex
1,VFS代码中不修改参数增加const修饰
2,fs_file_mapping.c: 增加安全函数的判空
3,path_cache.c: sizeof改为使用类型
4,fs_syscall.c: 对NULL解引用
5,VnodeLookup:冗余的判空,及不正确的判空

close: I3UMWD
Signed-off-by: yansira <yansira@hotmail.com>
2021-06-07 22:45:40 +08:00
Kiita 09756fe55b refactor: 对toybox侵入式修改进行分离
【背景】当前liteos_a支持的toybox命令与linux存在差别,需要特别实现,为
避免侵入式修改,采用porting的方式将修改分离。

【修改方案】
在third_party/toybox下新增porting目录,以达到分离修改的目的。本次修改
基于porting目录且只涉及liteos目前支持的命令文件。

re #I3UQCK

Signed-off-by: yansira <yansira@hotmail.com>
Change-Id: I15d5835e25d5b5de6e0a6f888c87264c2f886cdf
2021-06-07 21:54:12 +08:00
chenjing 3457c0b11d fix: SysOpenat返回值应该为进程fd,而非系统全局fd。
close #I3TNAK

Signed-off-by: chenjing <chenjing139@huawei.com>
Change-Id: Ie754259ead7fc8f4c3b0fa36ef31969dd728b235
2021-06-07 19:50:33 +08:00
lnlan 0676578aae fix(kernel_test): 内核mem/shm冒烟用例重复运行失败
【背景】内核mem/shm冒烟用例概率性失败门禁中shm冒烟用例失败,经验证
与构建,不符合预期

【修改方案】
原内核用例的源文件是通过框架自带的source_set(一种虚拟静态库)的方式组织的,
不受unittests(自定义的一种方式)控制,修改为文件列表直接加入到unittest中。

【影响】
对现有的产品编译不会有影响。

re #I3TH4W

Signed-off-by: lnlanc <lanleinan@163.com>
Change-Id: If5452adb033c17ee0d7c7f683968fe53013ee289
2021-06-07 18:51:28 +08:00
Far b5370af822 fix: codex clean
1. 修复可能对NULL指针解引用的场景
2. 将不修改内容的指针入参修改为const
3. 对getpgrp的返回值进行校验后再使用
4. 修复了局部变量未初始化的问题

Close #I3UOFN

Signed-off-by: Far <yesiyuan2@huawei.com>
2021-06-07 17:08:02 +08:00
Caoruihong 744b2021b2 chore: add a mini config for qemu arm virt
support turn off as many features as possible.
current only libc and posix and bsd can not be turned off.

Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I1e97570c67593207a56dc11f357eca4b4a018bfd
2021-06-05 17:40:22 +08:00
openharmony_ci c39c10c978 !294 最新1.1版本的代码3516编译报错: Disk full
Merge pull request !294 from zhangfanfan2/master
2021-06-05 17:38:20 +08:00
openharmony_ci efbab200aa !254 memory-based romfs
Merge pull request !254 from LeonChan/lc-master
2021-06-04 23:22:25 +08:00
openharmony_ci a580754751 !295 修复删除/dev目录下的文件但是vnode number没有减小的问题
Merge pull request !295 from LeonChan/lc-bugfix-vnode
2021-06-04 21:50:32 +08:00
openharmony_ci e5bfe19b28 !289 A核proc文件系统在echo模式下新增write的功能
Merge pull request !289 from li_zan/master
2021-06-04 18:10:24 +08:00
chenwei 4f514a16af fix: the total used vnode number not increased after unlink a file under
/dev/

fix #I3TS1Y
Signed-off-by: yansira <yansira@hotmail.com>
2021-06-04 16:49:04 +08:00
chenwei c4595d2504 feat(file system): add memory-based romfs
1, this RomFS's codebase is Nuttx romfs, then it is compatible with
Linux RomFS and you can create such a file system using the tool genromfs.
2, there are two major changes against with the original Nuttx romfs:
    1), it is memory-based: all contents of the fs are stored in the
        memory in the very first stage of "mount".
    2), this version of romfs is altered to be compatible with our new
        version of VFS to take advantage of vnode cache and path cache.

close: #I3S0CP
2021-06-04 16:39:51 +08:00
openharmony_ci eb7d977b3e !290 timer_create支持SIGEV_THREAD
Merge pull request !290 from Kiita/timer_create_0603
2021-06-04 16:34:56 +08:00
li_zan f10dd7c135 feat: A核proc文件系统在echo模式下新增write的功能
close: #I3T6MZ

Signed-off-by: li_zan <371442490@qq.com>
2021-06-04 16:14:18 +08:00
Kiita e5f6bf0556 feat: timer_create支持以SIGEV_THREAD方式创建定时器
【背景】当前timer_create接口不支持以SIGEV_THREAD的方式创建多个定时器

【修改方案】
1、内核timer_create接口在创建software timers相应的线程时,使用线程
taskCB所携带的信息识别各个线程的信号并依据该信息分别派发出信号。
2、关于用户任务操作许可验证的修改,现在允许同一用户线程向其自身派发信
号,软件定时器计时结束,向用户态发送相应的信号,完成用户态线程的回调。

【影响】
对现有的产品暂无影响。

re #I3SRFI

Signed-off-by: yansira <yansira@hotmail.com>
Change-Id: Ia23f5ef01975bf867dd7f5db797a30c264c50501
2021-06-04 15:29:44 +08:00
YOUR_NAME c54879b548 fix: 解决不同环境下计算的rootfs的size偏小,导致mcopy造成的disk full错误
构建环境的分区文件系统格式不同,会引起du命令计算文件夹size不同,当制作fat格式
的rootfs时,计算的rootfs文件夹的size比fat格式下的小, 则会导致mcopy过程出现
disk full错误。当前通过修正du计算的rootfs文件夹size的方式处理该问题。

close: #I3IA06

Signed-off-by: YOUR_NAME <zhangfanfan2@huawei.com>
Change-Id: I19c66e35c4382d768e020531a869e1e9186032a7
2021-06-04 14:53:09 +08:00
openharmony_ci e93c52c091 !273 修复timer用例引起用户态挂死
Merge pull request !273 from lnlan/master0524
2021-06-04 13:56:11 +08:00
openharmony_ci 042f06e2b1 !260 【轻量级 PR】:fix: fix stored typo
Merge pull request !260 from jmxl/N/A
2021-06-04 13:54:53 +08:00
lnlan 0db43f24f5 fix(kernel_test):内核门禁稳定性调整,失败用例移除
【背景】
timer两条用例会导致测试进程异常退出

【修改方案】
将TIME_TEST_TZSET_001和TIME_TEST_TZSET_002两条用例从门禁中去掉

【影响】
对现有的产品编译不会有影响

re #I3SP0J

Signed-off-by: lnlanc <lanleinan@163.com>
Change-Id: Iad89b8ef4260a8d3202c496a39f3a185aec6744e
2021-06-03 19:42:08 +08:00
openharmony_ci 2067b2f648 !256 fix: 解决kill进程时无法保证进程持有的系统资源合理释放
Merge pull request !256 from zhushengle/Sig
2021-06-03 17:00:00 +08:00
openharmony_ci e59693e7fa !278 修复开机概率挂死
Merge pull request !278 from Zhaotianyu/0603initframework_fix
2021-06-03 14:50:39 +08:00
openharmony_ci 4d07d2e954 !274 优化内核用例架构
Merge pull request !274 from lnlan/notest_nobuild
2021-06-03 14:39:07 +08:00
openharmony_ci db38464778 !282 fix: 修复MagicKey数组越界访问
Merge pull request !282 from MGY917/master
2021-06-03 11:52:17 +08:00
Guangyao Ma 071cd6268a fix: 修复MagicKey数组越界访问
closes #I3U4N9

Signed-off-by: Guangyao Ma <guangyao.ma@outlook.com>
Change-Id: Ic4c4c7442cd381d03d2e40a51655a17299c4c250
2021-06-03 11:11:21 +08:00
arvinzzz 2e82c361f7 fix: 修复开机概率挂死
close:#I3SWY2

Change-Id: Ied2a5828ffb682903e291dab4088020033d79230
Signed-off-by: arvinzzz <fcykztyu@163.com>
2021-06-03 09:43:27 +08:00
zhangyanxian a00cce8128 README_zh.md: update the correct links
当前链接点进去后会提示:你所访问的页面不存在!
更新正确的链接信息

Signed-off-by: zhang yanxian <zhangyanxianmail@163.com>
2021-06-03 09:24:50 +08:00
openharmony_ci 25f1051d7a !269 修复启动框架debug模式编译问题
Merge pull request !269 from Zhaotianyu/0526initframework_fix
2021-06-02 16:50:35 +08:00
arvinzzz 4c024159a9 fix: 修复启动框架debug模式下-Werror=maybe-uninitialized告警以及符号链接不进镜像的隐患
close: #I3T5HR
Change-Id: I2e2452d59c82726614fb78d1177d3f0f03d6e315
Signed-off-by: arvinzzz <fcykztyu@163.com>

Change-Id: I7f0b44c15a296bd8d15f0bf1fbdde60f67bb0a6c
2021-06-02 09:31:51 +08:00
lnlan 9bdf716407 feat(build): 使用xts -notest选项时,内核用例不参与编译构建和用例编译配置方式调整
【背景】
1.编译新增-notest选项为了排除用例参与构建,使用该选项时内核用例仍会参与构建,不符合预期
2.用例编译配置选项太多,需调整优化
【修改方案】
1.原内核用例的源文件是通过框架自带的source_set(一种虚拟静态库)的方式组织的,
不受unittests(自定义的一种方式)控制,修改为文件列表直接加入到unittest中。
2.编译配置通过level控制
【影响】
对现有的产品编译不会有影响。

Change-Id: I2c6a96e7276346de96f222b725d417418ff0e537
2021-05-29 17:58:39 +08:00
zhushengle cf89f016e9 fix: 解决kill进程时无法保证进程的已持有的内核资源合理释放.
背景: 当前信号实现原理是在系统调用结束和中断结束时检查是否有信号处理,
      如果有信号处理就切去处理信号,信号处理结束后回来继续按原来流程执行。
问题:当用户态线程在执行系统调用或缺页异常时,运行在内核态,如果此时有信
      号需要处理,且该线程已经持有了部分内核资源(如:锁,内存等), 此时如
      果有中断发生,则在中断结束时,就会去处理该信号,此时用户态线程持有
      了内核未释放的资源跑到了用户态去运行,如果该线程在用户态出现问题,
      那么它持有的内核资源就无法被释放了。
方案:用户态线程在执行系统调用和缺页异常时暂时屏蔽信号,防止此时有中断去
      处理信号,等系统调用结束或缺页异常结束时再去处理信号。
解决的问题:
  1. 执行系统调用或缺页异常时屏蔽信号,防止中断去处理信号
  2.解决无法kill 因为用户态的锁、ipc等阻塞的用户态线程
  3.进程退出方式转变为: 依次通过kill去杀死该进程的所有线程

Close #I3S0N0

Change-Id: I0c48b9c89382826191b8a9326c71b57ba84124c2
2021-05-24 14:29:37 +08:00
openharmony_ci 3f16f1684a !248 fix: fix length typo
Merge pull request !248 from kenneth/los_queue.h
2021-05-22 09:13:46 +08:00
openharmony_ci bfc788e27b !267 关闭jffs和fat后,rootfs配置也被相应关闭,导致nand介质的rootfs不可用
Merge pull request !267 from zhangfanfan2/master
2021-05-21 23:26:15 +08:00
zhangfanfan2 0ea476b974 fix: 关闭jffs和fat后,rootfs配置也被相应关闭,导致nand介质的rootfs不可用。
close: #I3SBYN
2021-05-21 17:41:30 +08:00
openharmony_ci f5c5a69162 !265 删除exc interaction残留宏以及无用函数声明
Merge pull request !265 from Zhaotianyu/0521
2021-05-21 16:21:16 +08:00
openharmony_ci a3cef3f176 !264 补充TODOList
Merge pull request !264 from Denny/DennyShen-master-patch-73167
2021-05-21 15:17:08 +08:00
arvinzzz d2f2679071 fix: Delete useless 'exc interaction' macros and function declarations.
close: #I3SDKY

Change-Id: I5ed9356ce2b55b6e07c3f192cdbc4a4f6fbfaa58
2021-05-21 15:10:05 +08:00
Denny 2a3e6b6d12 update TODOList.md. 2021-05-21 15:01:20 +08:00
Denny 7388c746a8 update todolist 2021-05-21 15:00:44 +08:00
Denny 5e3b50497a add todolist 2021-05-21 14:21:15 +08:00
SimonLi 471de3663e fix(build): 去除冗余单板相关的宏配置
编译工具链的选项不应该依赖单板的宏,否则每增加一块单板都需要去新增配置。

NULL_ADDRESS_PROTECT这个宏配置没有地方使用,去掉冗余宏,内存是一一映射,可以
访问0地址,且不会立马报错,需要这个功能,现在不是一一映射,而且访问空指针会
立马报错,所以不存在这个问题。
2021-05-21 12:30:51 +08:00
SimonLi 73223ae7e6 fix(build): clang10.0.1支持lto,去掉冗余判断 2021-05-21 11:21:19 +08:00
jmxl d25560f8ac fix: fix stored typo 2021-05-21 10:16:04 +08:00
openharmony_ci 9b364500ad !252 删除冗余宏定义OFFSET_OF_FIELD
Merge pull request !252 from JerryH/list
2021-05-21 09:54:18 +08:00
openharmony_ci 04ecd87a23 !229 内核启动重构,新增启动框架
Merge pull request !229 from Zhaotianyu/0510init_framework
2021-05-20 19:33:23 +08:00
openharmony_ci 419f467df1 !259 删除问题冒烟用例
Merge pull request !259 from give-me-five/master
2021-05-20 19:14:23 +08:00
openharmony_ci 61f2c55476 !259 删除问题冒烟用例
Merge pull request !259 from give-me-five/master
2021-05-20 19:14:22 +08:00
give-me-five 21fca7c546 update testsuites/unittest/process/mutex/process_mutex_test.cpp. 2021-05-20 18:54:14 +08:00
arvinzzz 8cde768588 refactor: Refactored the kernel boot process and added a init framework
close: #I3I768

Change-Id: I4f801df4abe1a9afdf43391c28276e96a5e81513
2021-05-20 16:45:43 +08:00
openharmony_ci 8a48f4926a !249 kernel/extended/trace/los_trace.c中可能存在空指针访问
Merge pull request !249 from boxi/upload
2021-05-19 14:46:18 +08:00
kenneth 2b643b04c1 fix:fix queuePosition typo 2021-05-19 14:05:28 +08:00