4

vmalloc is a kernel allocator, it doesn’t (necessarily) relate to processes. The kernel also sees virtual memory, not linear memory, most of the time. The particularity of vmalloc is that it only allocates contiguous virtual memory, not physical memory; kmalloc allocates contiguous virtual and physical memory. Both return virtual addresses. vmalloc, unlike ...


4

The first step is to determine what configuration options you need to set in order for the module to build. I use make menuconfig for that; / followed by the configuration option you want will tell you where to find it and what its dependencies are. For ECHAINIV, you need to enable CRYPTO and then enable ECHAINIV (as a module since that’s what you’re after ...


3

No part of the Linux kernel can be paged out, even parts that come from modules. A kernel module can be loaded and (if the module supports it) can be unloaded. This always happens from an explicit request from a userland process with the init_module and delete_module system calls (normally, via the insmod or modprobe utilities for loading, and via rmmod for ...


3

Memory pages swapping (you call it "paging") and Linux kernel modules loading/unloading are two completely different functionalities. A Linux kernel module can be loaded into the kernel - after that it becomes a part of the kernel. The goal here is to adjust the kernel to a given hardware. For example, there are hundreds of types of network cards, and there ...


2

Your trick with grub.conf is working solution. Also you can apply one of the next approaches: Download kernel rpm package with yumdownloader and install kernel package with --noscripts parameter to ignore scripts which configure package by running prerun, postrun ... scripts during package are being configured. There is no way to tell --noscripts to yum ...


2

What do you mean by "latest"? You are using a Linux distribution which comes with a pre-compiled kernel. CentOS is derived from Redhat. Redhat backport security and bug fixes, so you don't need to be too caught up in the package versions when compared to upstream sources. If you run 'yum update' it is getting you the best packages including the kernel ...


2

Syscalls are not different from normal function calls, except for the calling mechanism. Just as with normal C function calls, you need to know that parameters and of which type the called function expects, and what the return value is. As an example, look at the stat system call which takes as a parameter a pointer to a struct stat. The kernel and user ...


2

By simply setting it to 0 again: sudo sysctl -w kernel.unprivileged_userns_clone=0


2

The dummy interface is really a little exotic, but rather useful nevertheless. Its main benefit is with standalone hosts, and machines whose only IP network connection is a dial-up link. In fact, the latter are standalone hosts most of the time, too. The dilemma with standalone hosts is that they only have a single network device active, the loopback device,...


1

I was able to find at least one scenario that can lead to swapping pages out of main memory while free memory is well above any zone watermarks. The scenario has to do with zone compaction, one of algorithms for VM defragmentation. The basic idea behind the process is to move pages around to create large continuous chunks of virtual addresses. "Moving ...


1

It depends on exactly how the break-out is done. If you're talking about breaking out of a chroot() jail, the PID of the process won't change and something like strace should have no problem producing a trace of it. If the break-out happens by exploiting a kernel or hardware weakness, attempts to trace the jailed process across the exploit might produce ...


1

One thing that I noticed when running strace that the Futex usage exploded by the factor of 8-10. Could the LWP's be a major the cause of that? [...], but I thought that LWP share the same memory space, so there should not be an explosion in the Futex usage. Yes, using LWPs will likely increase the usage of Futexes, since they're actually meant for this ...


1

Because the other 20% of CPU time is accounted to interrupts :-D. Run smallhog on a specific CPU, using taskset -c 0 ./smallhog. Inside top, press the 1 key. Here is the result: %Cpu0 : 22.6 us, 56.1 sy, 0.0 ni, 0.0 id, 0.0 wa, 21.3 hi, 0.0 si, 0.0 st hi means "hardware interrupt".


1

You have seen that your new kernel Arch Linux, with Linux 5.2.0-rc7-test is the third entry in submenu Advanced options for Arch Linux? If it's still not showing, then try the following: Press c in the grub menu for the command line Enter echo $prefix Enter, this should show your partition and path to /boot/grub. Verify that this is the correct partition. ...


1

echo and cd are shell builtin commands, which is why they still "run". To fix fstab, run the command while read x; do echo "$x"; done < /etc/fstab which will display the contents of /etc/fstab, then run while read x; do echo "$x"; done > /etc/fstab which will clobber /etc/fstab (a very bad thing) but will allow you to replace it with what you type ...


1

Okay, I found this page which guides me through the basic troubleshooting steps. This was what I was looking for. If you care for our problem itself: Obviously, muxing the pins as MMC (as described in our user's guide) is not sufficient, the bus needs to be declared as being SDIO in the device-tree. Now I can continue to find out how to enable SDIO ...


1

The datatype of vruntime is an UNSIGHNED 64 bit integer. If you are reading negative numbers, then i think you need to cast the variable to the right type in your system call implementation


1

You said the smallhog process shows 80% CPU time. The remaining 20% of the time on that CPU is accounted to interrupts! Why does smallhog.c show less than 100% CPU usage on my system? smallhog is doing something very interrupt-intensive. Its specific tactic is clearly defeated by IRQ_TIME_ACCOUNTING. See below. I suspect there is still a way to dodge ...


1

The kernel option that produces /proc/config.gz is IKCONFIG_PROC, not just IKCONFIG. And IKCONFIG_PROC cannot be a module. Also, note that there are kernel/configs/android-base.config and kernel/configs/android-recommended.config. These may be used to override some kernel configuration settings, see https://lore.kernel.org/linux-arm-kernel/1466708235-...


1

A #include <linux/interrupt.h> looks headers by default in /usr/include. This time, it would look for /usr/include/linux/interrupt.h. This file does not exist, because in Linux, by default you are developing a user space application. These have very limited access to any system-wide interrupts. The file in your /usr/src/linux*/include/linux, is a ...


1

The context can make it somewhat clearer (emphasis mine): This allowed architectures with few registers, such as x86, to calculate the location of the process descriptor via the stack pointer without using an extra register to store the location.With the process descriptor now dynamically created via the slab allocator, a new structure, struct ...


Only top voted, non community-wiki answers of a minimum length are eligible