kernel

How to begin with Windows Kernel Programming? [closed]

浪子不回头ぞ 提交于 2020-07-31 06:22:59
问题 Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 3 years ago . Improve this question I am an application developer mostly work in C#. I have some knowledge of C/C++. I am very much fascinated and interested in windows Kernel Development. I Sketched out a layout to learn this. 1. Understand Windows internals(By books) 2. Try Simple Modules and keep

Jupyter Lab and Notebook Problem: Kernel Error

我只是一个虾纸丫 提交于 2020-07-30 18:51:18
问题 It appears that somehow one of my kernels is deleted. And perhaps that's why I am getting this error. How could I possibly fix it? Can I reinstall something (the kernel in the base environment perhaps)? If no better option is available, I would try reinstalling anaconda altogether as a last resort according to: Default kernel in jupyter notebook (Python3) not working. I have tried using the following: Installation of Jupyter Lab: requirements already satisfied Kernels don't show up when

Jupyter Lab and Notebook Problem: Kernel Error

孤街浪徒 提交于 2020-07-30 18:48:14
问题 It appears that somehow one of my kernels is deleted. And perhaps that's why I am getting this error. How could I possibly fix it? Can I reinstall something (the kernel in the base environment perhaps)? If no better option is available, I would try reinstalling anaconda altogether as a last resort according to: Default kernel in jupyter notebook (Python3) not working. I have tried using the following: Installation of Jupyter Lab: requirements already satisfied Kernels don't show up when

Enlarge Linux Kernel Log Buffer more that 2M

孤街醉人 提交于 2020-07-28 16:53:16
问题 I am in the process of collecting some sort of Linux Kernel activities. I have placed multiple printk statements with in the kernel source code and would like to monitor those during regular kernel activities. Unfortunately, I have realized that the Kernel Log Buffer size ( CONFIG_LOG_BUF_SHIFT ) cannot be more that 2^21 which is essentially equal to 2M entries. Is there any other way to record more than 2M Kernel messages ? 回答1: You can set the kernel log buffer to log_buf_len=4M in your

Enlarge Linux Kernel Log Buffer more that 2M

放肆的年华 提交于 2020-07-28 16:51:57
问题 I am in the process of collecting some sort of Linux Kernel activities. I have placed multiple printk statements with in the kernel source code and would like to monitor those during regular kernel activities. Unfortunately, I have realized that the Kernel Log Buffer size ( CONFIG_LOG_BUF_SHIFT ) cannot be more that 2^21 which is essentially equal to 2M entries. Is there any other way to record more than 2M Kernel messages ? 回答1: You can set the kernel log buffer to log_buf_len=4M in your

what is __clk_of_table symbol in of_clk_init of linux kernel

戏子无情 提交于 2020-07-22 21:36:50
问题 I was going through linux kernel 3.10, which has a function of_clk_init which is as below void __init of_clk_init(const struct of_device_id *matches) { struct device_node *np; if (!matches) matches = __clk_of_table; for_each_matching_node(np, matches) { const struct of_device_id *match = of_match_node(matches, np); of_clk_init_cb_t clk_init_cb = match->data; clk_init_cb(np); } } when i look for the symbol __clk_of_table i did not find any reference but i am very sure that __clk_of_table has

Netlink: sending from kernel to user - EAGAIN and ENOBUFS

我的未来我决定 提交于 2020-07-21 10:26:48
问题 I'm having a lot of trouble sending netlink messages from kernel module to userspace-daemon. They randomly fail. On the kernel side, the genlmsg_unicast fails with EAGAIN while on the user-side, nl_recvmsgs_default (function from libnl ) fails with NLE_NOMEM which is caused by recvmsg syscall failing with ENOBUFS . Netlink messages are small, maximum payload size is ~300B. Here is the code for sending message from kernel: int send_to_daemon(void* msg, int len, int command, int seq, u32 pid) {

Netlink: sending from kernel to user - EAGAIN and ENOBUFS

﹥>﹥吖頭↗ 提交于 2020-07-21 10:22:46
问题 I'm having a lot of trouble sending netlink messages from kernel module to userspace-daemon. They randomly fail. On the kernel side, the genlmsg_unicast fails with EAGAIN while on the user-side, nl_recvmsgs_default (function from libnl ) fails with NLE_NOMEM which is caused by recvmsg syscall failing with ENOBUFS . Netlink messages are small, maximum payload size is ~300B. Here is the code for sending message from kernel: int send_to_daemon(void* msg, int len, int command, int seq, u32 pid) {

Why does pages allocation with order of 10 or 11 using __get_free_pages() usually fail?

不打扰是莪最后的温柔 提交于 2020-07-05 03:16:16
问题 My system memory is plenty (a server with 24GB). In my system, the kernel space is allocated with 320MB and 120MB for crash kernel. The rest of the memory is used for other purposes. However, when I use __get_free_pages() to allocate contiguous pages with order of 11, and the kernel fails to allocate 2^10 pages. Why? According to makelinux The maximum allowed value for order is 10 or 11 (corresponding to 1024 or 2048 pages), depending on the architecture. The chances of an order-10 allocation

stdlib.h alternative in Linux kernel?

放肆的年华 提交于 2020-06-21 11:44:05
问题 When developing a kernel module in Linux, using the C standard library isn't allowed. However, in case I need to use some common functionality like strcat() , where do I need to go to? 回答1: Whatever is not implemented in the Linux kernel, you have to implement yourself or borrow from another open source kernel module. However, you'll find that strcat is implemented in the kernel. See the kernel API documentation. Specifically the Basic C Library Functions section for your general question,