Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SoC2020] Support upgrading the existing D-Bus daemon without reboot #10

Open
josephhz opened this issue May 21, 2020 · 7 comments
Open

Comments

@josephhz
Copy link
Contributor

项目名称/Project Title

D-Bus: 支持热升级
Support upgrading the existing D-Bus daemon without reboot

项目描述/Project Description

D-Bus 是一个用于进程间通信的轻量级的消息总线系统,其官网链接:https://www.freedesktop.org/wiki/Software/dbus/
D-Bus 除了应用于桌面环境,现在也应用于服务器环境中。服务器作为信息时代的基石,需要 7*24 小时不间断运行,D-Bus 作为 systemd 的一个服务,也需要能够长期稳定运行。但是目前 D-Bus 不支持热升级,即升级 D-Bus 软件包之后,需要重启服务器。社区在这方面也有一些讨论:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=805449
本项目计划添加对 D-Bus 热升级的支持。

D-Bus is a lightweight message bus system for inter-process communication, and its official website link: https://www.freedesktop.org/wiki/Software/dbus/
D-Bus is used not only in the desktop environment, but also in the server environment. As the cornerstone of the information age, the server needs 7 * 24 hours of uninterrupted operation. As a service of systemd, D-Bus also needs to be able to run stably for a long time.
However, after upgrading the D-Bus software package, we need to restart the server.
The community also has some discussions:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=805449
This project plans to support upgrading the existing D-Bus daemon without reboot.

预期成果/Expected Outcomes

D-Bus支持热升级之后,修复 D-Bus 的 CVE 漏洞或者 BUG 后,不用重启系统,有助于 Alibaba Cloud Linux 2 成为运行时间最长、最稳定的系统。

After supporting the upgrade of the existing dbus daemon without reboot, we can fix some D-Bus cve vulnerabilities or bugs online, which will help Alibaba Cloud Linux 2 become the longest running and most stable system.

需要的技能/Required Skills

  • 熟悉 C/C++ 语言编程
  • D-Bus 的背景知识

  • Familiar with C
  • D-Bus related background knowledge
@RonnieGandhi
Copy link

RonnieGandhi commented Jun 7, 2020

Hello sir,

I am Ronnie Gandhi, a Computer Science undergraduate student from IIT Roorkee enrolled in my pre-final year.

I am interested in working on this project.
I had the chance to learn DBus(IPC) and its associated fundamentals and Linux in general as an academic curriculum. Also, I have been using C/C++ for 3 years now, my GSoC'19 also was purely C/C++ based.

A brief introduction about me, I have interned at Microsoft, Hyderabad in 2019 and I am currently interning there(remotely) as well in 2020 also I have done GSoC2019 under CGAL. I am really enthusiastic about contributing to the open-source community.

@josephhz
Copy link
Contributor Author

josephhz commented Jun 8, 2020

Details for how to apply are already sent through the replying email, please check.

@fwensen
Copy link

fwensen commented Jun 8, 2020

Hello sir, I am a sophomore from BUPT. I did many course projects/exercise with C/C++. But not familiar with operating system and new to open source. I have a strong desire to join in ASoC, so could you guide me to go further, or just advise me to learn more things and prepare for the next year?

me too....

@josephhz
Copy link
Contributor Author

josephhz commented Jun 8, 2020

Hi, for participating in this project, please follow the description and timeline in #8, which can also be found on our official website.
You need submit a proposal once clicking 'Apply Now' on the official website.

@RonnieGandhi
Copy link

Details for how to apply are already sent through the replying email, please check.

Thanks a lot

@taskset
Copy link
Contributor

taskset commented Jun 24, 2020

Hello sir, I am a sophomore from BUPT. I did many course projects/exercise with C/C++. But not familiar with operating system and new to open source. I have a strong desire to join in ASoC, so could you guide me to go further, or just advise me to learn more things and prepare for the next year?

me too....
Hi, for participating in this project, please follow the description and timeline in #8, which can also be found on our official website.
You need submit a proposal once clicking 'Apply Now' on the official website.

@josephhz
Copy link
Contributor Author

Please note that the deadline of submitting proposal is Jun 30th.

shiloong pushed a commit that referenced this issue Apr 2, 2022
ANBZ: #28

commit e69012400b0cb42b2070748322cb72f9effec00f upstream.

When we added KFENCE support for arm64, we intended that it would
force the entire linear map to be mapped at page granularity, but we
only enforced this in arch_add_memory() and not in map_mem(), so
memory mapped at boot time can be mapped at a larger granularity.

When booting a kernel with KFENCE=y and RODATA_FULL=n, this results in
the following WARNING at boot:

[    0.000000] ------------[ cut here ]------------
[    0.000000] WARNING: CPU: 0 PID: 0 at mm/memory.c:2462 apply_to_pmd_range+0xec/0x190
[    0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.13.0-rc1+ #10
[    0.000000] Hardware name: linux,dummy-virt (DT)
[    0.000000] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO BTYPE=--)
[    0.000000] pc : apply_to_pmd_range+0xec/0x190
[    0.000000] lr : __apply_to_page_range+0x94/0x170
[    0.000000] sp : ffffffc010573e20
[    0.000000] x29: ffffffc010573e20 x28: ffffff801f400000 x27: ffffff801f401000
[    0.000000] x26: 0000000000000001 x25: ffffff801f400fff x24: ffffffc010573f28
[    0.000000] x23: ffffffc01002b710 x22: ffffffc0105fa450 x21: ffffffc010573ee4
[    0.000000] x20: ffffff801fffb7d0 x19: ffffff801f401000 x18: 00000000fffffffe
[    0.000000] x17: 000000000000003f x16: 000000000000000a x15: ffffffc01060b940
[    0.000000] x14: 0000000000000000 x13: 0098968000000000 x12: 0000000098968000
[    0.000000] x11: 0000000000000000 x10: 0000000098968000 x9 : 0000000000000001
[    0.000000] x8 : 0000000000000000 x7 : ffffffc010573ee4 x6 : 0000000000000001
[    0.000000] x5 : ffffffc010573f28 x4 : ffffffc01002b710 x3 : 0000000040000000
[    0.000000] x2 : ffffff801f5fffff x1 : 0000000000000001 x0 : 007800005f400705
[    0.000000] Call trace:
[    0.000000]  apply_to_pmd_range+0xec/0x190
[    0.000000]  __apply_to_page_range+0x94/0x170
[    0.000000]  apply_to_page_range+0x10/0x20
[    0.000000]  __change_memory_common+0x50/0xdc
[    0.000000]  set_memory_valid+0x30/0x40
[    0.000000]  kfence_init_pool+0x9c/0x16c
[    0.000000]  kfence_init+0x20/0x98
[    0.000000]  start_kernel+0x284/0x3f8

Fixes: 840b23986344 ("arm64, kfence: enable KFENCE for ARM64")
Cc: <[email protected]> # 5.12.x
Signed-off-by: Jisheng Zhang <[email protected]>
Acked-by: Mark Rutland <[email protected]>
Acked-by: Marco Elver <[email protected]>
Tested-by: Marco Elver <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Catalin Marinas <[email protected]>
Signed-off-by: Tianchen Ding <[email protected]>
Reviewed-by: Xunlei Pang <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants