Contributing to Linux Kernel 6.16! Recently I has a opportunity to send a patch that improve the way how the KASAN handle the hardware tags (HW_TAGS) on the ARM MTE. Until now, each HW_TAGS and SW_TAGS was use 8 bits for store tags. But, due to the design of MTE (Memory Tagging Extension), we only need 4 bits for HW_TAGS. This change optimize the use of bits in the flags pages, improving the efficiente of code. This patch born from suggestion of Andrey Konovalov, and was a great opportunity to learn more about internal details of KASAN and memory management in the Kernel. I Writed on my blog the technical background of this contributing, explaning the change and the though behind this. #Linux #Kernel #OpenSource #C #Rust #LowLevelEngineering https://lnkd.in/dQYTgtWK
Improved KASAN with ARM MTE patch for Linux Kernel 6.16
More Relevant Posts
-
Have you ever wondered what happens between pressing the power button and seeing the login prompt on your Linux machine? Here’s a quick breakdown of the journey: 1.Power On – System receives power 2. BIOS/UEFI – Hardware check & POST 3. Device Detection – Identifies bootable devices 4. Boot Loader (GRUB) – Loads kernel & config 5. Kernel Initialization – Prepares hardware + mounts root FS 6. Systems – First process in user space 7. Targets & Services – Runs .target files & startup scripts 8. Login Ready – System is up and running -> Why it matters? Helps in debugging boot issues Essential for Embedded/Linux engineers Builds a strong foundation in OS internals -> Next time your Linux system starts, remember it went through this fascinating journey before letting you log in! #Linux #EmbeddedSystems #SystemProgramming #OperatingSystems #BootProcess #LinuxKernel
To view or add a comment, sign in
-
-
📢 The floppy disk controller code in Linux receives a new improvement in 2025! 💾 Although floppy disks seem like technology from the past, the Linux kernel continues to maintain its support. Recently, kernel developer Jiri Kosina introduced a significant improvement to the floppy driver. 🔧 The update allows the driver to be compiled as a loadable module, rather than having to be integrated directly into the kernel. This optimizes resource usage in systems where this driver is not needed. 🛠️ Despite the hardware being obsolete, this type of maintenance demonstrates the open-source community's commitment to backward compatibility and system efficiency. 💡 The improvement not only benefits legacy environments but also reflects Linux's philosophy of maintaining historical functionalities without sacrificing modern performance. For more information visit: https://enigmasecurity.cl Are you surprised that code for floppy disks is still being maintained in 2025? Share your opinion! #Linux #Kernel #OpenSource #RetroComputing #Development #Technology #FreeSoftware #LegacySystems Let's connect on LinkedIn: https://lnkd.in/ej-vFb7f 📅 Wed, 27 Aug 2025 17:43:11 +0200 🔗Subscribe to the Membership: https://lnkd.in/eh_rNRyt
To view or add a comment, sign in
-
-
📌 Concept Breakdown: User Space vs Kernel Space 💡 Let’s learn together! Subscribe to my YouTube channel for more tech content: https://lnkd.in/dFzawQZK • Kernel Space Runs with full privileges (ring 0). Contains the Linux kernel, device drivers, scheduler, memory management, etc. Directly accesses hardware and system resources. A bug here can crash the whole system. • User Space Where applications run (your C programs, Linux commands, daemons, etc). Has limited privileges (ring 3). Cannot directly access hardware; must use system calls to request services from the kernel. If an app crashes, the OS keeps running. 📌 Why Separation is Needed 1. Stability → If user apps crash, kernel stays safe. 2. Security → Prevents user programs from directly manipulating hardware/memory. 3. Portability → Applications can run on top of kernel APIs without hardware-specific code. ✅ Conclusion "In Embedded Linux, kernel space is where the kernel and device drivers run with full access to hardware. User space is where applications run with restricted privileges. This separation ensures stability, because if an app crashes, the kernel is safe, and also provides security and controlled access to hardware through system calls." #Linux #EmbeddedSystems #CProgramming #MemoryManagement #StackVsHeap #EmbeddedC #FirmwareDevelopment #SystemCrash #Debugging #LowLevelProgramming #InterviewPrep
To view or add a comment, sign in
-
-
Title 1: Linux Boot Process – A Basic Interview Question Post: This is a basic Linux interview question, but understanding it well helps a lot..! I’ve attached a document covering the Linux boot process. 1. BIOS / UEFI – Initialize hardware, select boot device 2. MBR (Master Boot Record) – Bootloader code & partition info, hand over to GRUB 3. GRUB (Bootloader) – Load Linux kernel and initramfs 4. Kernel Initialization – Load drivers, mount root filesystem, start PID 1 5. systemd / Init – Start services, mount filesystems, set target/runlevel 6. User Login – Authenticate user and start session I think this resource is useful for everyone, and I’d love to hear your thoughts and suggestions so we can learn together. #Linux #InterviewPrep #SysAdmin #DevOps #LinuxBoot #LearnTogether
To view or add a comment, sign in
-
Today I was exploring Linux and running some commands. Out of curiosity, I typed 'ps aux' and noticed something interesting — the process with PID 1. That made me wonder: what exactly is PID 1, and how does it get there? This question took me down a rabbit hole into the Linux boot process, and here’s what I discovered: 1. When you power on, BIOS/UEFI checks and initializes the hardware. 2. The bootloader (GRUB) loads the Linux kernel into memory. 3. The kernel initializes hardware and mounts the root filesystem. 4. Then comes init/systemd, which is the very first process (PID 1) — it starts all essential services. 5. Finally, the system brings you to a login screen or desktop. So, that mysterious PID 1 I saw? It’s the process that begins the user space journey after the kernel hands over control. From a single command, I ended up uncovering how Linux transforms from raw hardware into a working system. #Linux #DevOps #SysAdmin #OpenSource #SystemDesign #TechLearning #CareerInTech
To view or add a comment, sign in
-
🚀 Seamless OTA Upgrades for Forlinx OKMX8MP-C We’ve implemented a robust OTA upgrade process for the Forlinx Embedded OKMX8MP-C development board running Linux 5.4.70. Using RAUC, our approach ensures: Lossless upgrades: Dual-system partitions prevent downtime during updates. Flexible deployment: Upgrade packages can be applied via network, SD card, or USB. Rollback capability: If an update fails, the system safely reverts to the previous version. Highlights include: ✅ Environment setup with Ubuntu 22.04 and GCC 7.x ✅ Partition and rootfs configuration for A/B system upgrade ✅ RAUC-based bundle creation and deployment ✅ Safe system upgrade and boot partition switching This solution guarantees reliable system updates for industrial embedded devices, reducing risk and maximizing uptime. https://lnkd.in/e7egn5nr #EmbeddedSystems #Linux #OTA #RAUC #IndustrialIoT #Forlinx
To view or add a comment, sign in
-
🚀 Demystifying the Linux Boot Flow on ARM with Trusted Firmware & OP-TEE I created a diagram that walks through the Linux boot process on ARM platforms — from Trusted Firmware-A (TF-A) all the way to user space: 🔹 Bootloader stages (BLs) – BL1 : SoC’s first code in on-chip ROM , runs at EL3 BL2 : Initializes DRAM, loads the next images i.e BL31,BL32 and BL33, runs at EL3 BL31: The Secure Monitor, routes SMC calls, runs at EL3 BL32: OP-TEE OS, runs at S-EL1 managing Trusted Applications which runs at S-EL0 . BL33: Non-secure world bootloader (U-Boot) or directly Linux, runs at EL1. 🔹 Kernel bring-up – The kernel unpacks the initramfs, applies the Device Tree Blob (DTB), and transitions into the root filesystem (RFS). 🔹 Multicore state – The primary core drives the boot process, while secondary cores stay in a holding pattern until the kernel brings them online. 🔹 Trusted Applications – User space requests flow via Linux → OP-TEE driver → BL31 (EL3 dispatcher) → OP-TEE Core (S-EL1), which runs TAs securely in S-EL0. This end-to-end view ties storage, execution levels, multicore handling, and secure services into one picture of how Linux really boots on ARM.
To view or add a comment, sign in
-
-
🚨 Disk space – the silent culprit behind VM & service failures! Recently, I ran into an issue where a VM refused to restart services, throwing the error: 👉 “No space left on device” At first, running du -sh * showed normal usage… but the real problem was elsewhere. Here’s what helped me troubleshoot ⬇️ 🔎 Essential Disk Checks in Linux: 💽 Check overall disk usage: df -h 📊 Check inode usage (often overlooked): df -i 📂 Find the biggest directories: sudo du -sh /* | sort -h 🗑️ Detect deleted files still eating space: lsof | grep deleted ⚡ Takeaway: Disk space is not just about “storage”. It directly impacts: ✔️ Service restarts ✔️ VM stability ✔️ Uptime & reliability ✅ Lesson: Always include disk utilization checks (both space & inodes) in your troubleshooting checklist. 💬 What’s your go-to Linux command for catching disk issues quickly? #Linux #DevOps #CloudEngineering #Troubleshooting #SRE
To view or add a comment, sign in
-
Want to learn Linux on a deeper level? Today I started installing Arch Linux from scratch. It ships with almost nothing you set up everything yourself. From disk layout and LVM to the bootloader and networking, it’s all in your hands. Why this is useful? you don’t just memorize commnds you learn how Linux fits together: why things are configured a certain way, where they live, and how components connect. That understanding makes you a far better debugger and gives you a real edge over engineers who haven’t gone this deep. Want to try it yourself? If you can, install Arch Linux on bare metal rather than in a VM. You’ll get the full experience: real disk partitioning, device naming (NVMe/SATA), and bootloader quirks behave more realistically on hardware. (A VM is fine to practice, but you’ll miss some storage/boot nuances.) Are you up for the challenge? #Linux #ArchLinux #DevOps #SRE #PlatformEngineering #Homelab #LearningInPublic
To view or add a comment, sign in
-
-
💡 Swap Memory – How It Works & Why It Matters When physical RAM is exhausted, the OS moves inactive memory pages to swap space (on disk/SSD). This process, known as paging, frees up RAM for active tasks. 🔹 How it works: Kernel identifies less-used memory pages Pages are written to swap (disk acts as virtual RAM) Active processes continue running smoothly 🔹 Why it helps: ✅ Prevents system crashes under heavy load ✅ Enables stable multitasking with limited RAM ✅ Supports memory-intensive workloads (databases, containers, analytics) ⚠️ Note: Swap is much slower than RAM. It’s a safety net, not a substitute. Frequent swapping = a sign to upgrade physical memory. #SystemDesign #Linux #PerformanceEngineering #TechTips
To view or add a comment, sign in