How is the Linux kernel tested ?
How do the Linux kernel developers test their code locally and after they have it committed? Do they use some kind of unit testing, build automation? test plans?
View ArticleCan I get information from other filesystems from overlayfs?
Can you solve the problem of not knowing the inode information when modifying the path of upperdir in overlayfs?After changing the upperdir path:root@bcd0d4e391f8:~/myDir# ls -i ls: cannot access...
View ArticleHow to add remoteproc node into device tree of Zynq-7000 Based RedPitaya board
I am trying to run the RedPitaya in AMP mode.I didn't find much information on the remoteproc driver and what kind of entries it need in the device tree source. I found this document and added it to...
View ArticleDocker daemon service crash very often on worker node
Docker service stops very often on one of my remote worker node. I am not able to figure out why this is happening?OS: Ubuntu 19.04** Log: journelctl -xe**Mar 12 10:43:44 machine1...
View Articlehooking on Centos 8 filed and rebooting the system
I wrote a simple hook that changes the pointer of the sys_call_table and points the execve function to my function the hook work just fine on ubuntu in kernel 4.15 but when I tried it on centos 8...
View ArticleHow to send custom size payload in PCIe TLP?
In my PCIe driver, after pci_ioremap_bar() to map BARs to memory spaces, I can use: unsigned int ioread8(void __iomem *addr); unsigned int ioread16(void __iomem *addr); unsigned int ioread32(void...
View ArticleHow to allocate large contiguous, memory regions in Linux
Yes, I will ultimately be using this for DMA but lets leave coherency aside for the moment. I have 64 bit BAR registers, therefore, AFAIK, all of RAM (e.g. higher than 4G) is available for DMA.I am...
View ArticleImplementing LSM hook bprm_check_security
Recently, I am working on developing an Application Whitelisting solution for embedded linux based on the Linux Security Framework. The main focus of my LSM is implementing the bprm_check_security...
View ArticleUnexpected result when using container_of macro (Linux kernel)
I have a problem with using of container_of macro in the Linux kernel. I have the following code#define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member) *__mptr = (ptr); \...
View Articlegpiod - use labels in devicetree
I want to use libgpiod to control a few gpios via userspace on a custom board. I have an i.MX6UL processor, which has hundreds of pins, I'll use only 8 of them (as gpios). I read about the libgpiod as...
View ArticleHow are percpu pointers implemented in the Linux kernel?
On multiprocessor, each core can have its own variables. I thought they are different variables in different addresses, although they are in same process and have the same name.But I am wondering, how...
View ArticleClone a file in linux kernel module
I'm having some problem with a linux module, I want to clone a file from a file descriptor. I tried usingvfs_clone_file_range but i receive EOPNOTSUPP error. So I tried to use vfs_copy_file_range, and...
View ArticleChanging thread real time scheduling policy fails: CONFIG_RT_GROUP_SCHED=y
My apologies if I'm posting this here instead of super user.I was trying to run docker inside real-time group and I came across enabling cgroups - CONFIG_RT_GROUP_SCHED in the kernel to run real-time...
View Articlehow to change kernel optimization level?
I use kgdb for kernel debugging and I have a problem with printing values.I wanted to get information about parameters of function. (ex (gdb) p *page) But all I got was optimized outI found that it...
View ArticleError: conflicting types when trying to make a simple syscall
I'm brand new to Linux programming and I'm trying to implement a simple system call loosely following this guide:...
View ArticleThe postinstall intercept hook 'update_gio_module_cache' failed
I am building core-image-minimal for warrior branch. My device has atom processor so I have changed nehalem to atom in tune-corei7.inc file. My machine is set to intel-corei7-64. While generating...
View ArticleRegister multiple SPI ports (devices) to single SPI Platform Driver?
I'm developing a Linux spi driver to handle communication via SPI port. My SoC offers three spi modules (which I understand it as ports) called ecspi1/ecspi2/ecspi3. I have needs to send two kinds of...
View ArticleWhat is the difference between kmemdup_nul() and kstrndup() in Linux?
They are similar functions. But what is the exact difference between them? The Linux documents Note: Use kmemdup_nul() instead if the size is known exactly.
View ArticleWhy the SCHED_NORMAL process can affect the latency of RT process?
I have tested the rt process's latency by cyclictest. And found that when I launch dozens of disturbing processes(SCHED_NORMAL) the rt process's latency will get bigger. I can't explain this.The test...
View ArticleCorrect way to join two double linked list
In the Linux kernel source, the list_splice is implemented with __list_splice:static inline void __list_splice(const struct list_head *list, struct list_head *prev, struct list_head *next) { struct...
View Article